More I2CS failures

Now that I have Parametered devices, I can switch back to working with I2CS.

First thing is to determine which device is an I2CS device versus which is I2. This is accomplished by sending a GetEngineVersion command to the device and examining the response. If Command2 in the reply is 0x01 then we have an I2 device, if Command2 is either 0x02 or 0xff then we are looking at an I2CS device. Once the determination is made, then the protocol is stored in the device for future reference.

Once this determination is made, the correct commands are sent to the device to get it to do what I want. An extra hiccup with I2CS is that the device will not respond to controllers that are not linked to it. Which makes programmatic linking confusing. There might be the need to press the linking button on the device by hand. I hope this is not the case, as I would rather do fully automatic linking if possible.

Regardless, it appears that there are still issues surrounding linking I2CS devices.

Hopefully once the device is linked, it should behave in the same fashion as the older I2 devices.

Subject: