There are two I2C slaves attached to the same I2C bus on a Q2686RD based design.
From within my OpenAT application, I am using adl_busSubscribe(ADL_BUS_ID_I2C, 1, …) to obtain a handle to communicate with them.
As long as I am only issuing one adl_busSubscribe() for one of the two slave addresses, I can use adl_busRead() and adl_busWrite() to communicate with the slaves.
However, if I use adl_busSubscribe() twice, one for each of the I2C slave adresses, the second one fails, and subsequent adl_busRead/Write only work for the I2C slave that I specified in the first adl_busSubscribe().
Given that I2C is a bus and many slaves on one bus are frequent, this seems strange to me. There is no hardware/electrical limitation in talking to multiple slaves, so there shouldn’t be any limitations in OpenAT / ADL either. Did anyone succeed talking to multiple slaves from and OpenAT application? Any help is appreciated.
My environment is Q2686RD with Firmware 220.127.116.11108091301 and OpenAT OS 18.104.22.168108111228.