We have been having connection problems with the encoders. Rebooting or turning off and waiting a minute or two usually solves the problem. We get a solid orange light on the last encoder and the two others are fast-blinking green (single blink if I recall: wiki says I2C communications lost, initialized and in neutral).
Is there a way to check the link state (i.e. is the sensor connected/disconnected) of an I2C Integrated Motor Encoder? I searched the wiki and found the [tSensors sensor] variable for NXT bricks. Apparently, that does not work on the Cortex (tried: nI2CStatus[I2C_1], got an out-of-bound exception). Is there another way to check whether an encoder is connected? Is it possible to fix this in software, i.e. with direct reads/writes to the I2C chain? I am using a VEX Cortex with latest firmware and master code, not sure about Cortex revision.
This problem typically occurs immediately at boot, even before the VEXnet link is established. The IMEs will occasionally malfunction during a run, but it is rare.
Random thought: Could you manually set addresses in the Motors and Sensors setup to solve this? Will try tomorrow morning and update.