17 #include "simpletools.h" 18 #include "simplei2c.h" 20 HUBTEXT
int i2c_in(
i2c *busID,
int i2cAddr,
21 int memAddr,
int memAddrCount,
22 unsigned char *data,
int dataCount)
28 if(i2c_writeByte(busID, i2cAddr))
return n;
else n++;
36 endianSwap(&m, &memAddr, memAddrCount);
41 memAddrCount = - memAddrCount;
43 n += i2c_writeData(busID, (
unsigned char*) &m, memAddrCount);
48 if(i2c_writeByte(busID, i2cAddr))
return n;
else n++;
49 n += i2c_readData(busID, data, abs(dataCount));
53 dataCount = -dataCount;
55 memcpy(temp, data, dataCount);
56 endianSwap(data, temp, dataCount);