I understand that I have to implement the I2C functions in the hostController file of the SDK based on the hardware I'm using. I have two questions:
1. What is the uint32_t parameter that I am supposed to read or write? How do I interpret that? I know each OPT3101 register contains a 24 bit value, but how does that correspond to a uint32_t?
2. It seems like whoever wrote this SDK did not take into account opening a I2C port, and support for several OPT3101's at the same time. The hostController object is declared in the global scope, and the i2cWrite/read functions are members of each deviceRegister object (and only take in regsiter address and value parameters), so in order to do an i2c operation, the device address/port file descriptor must be passed into each deviceRegister. Is this the recommended way to do this? It seems like I am having to reverse engineer this SDK a lot more than I should to get this working.