readWordReg method
Reads a word from register
of the I2C device with the address
with the bit order
.
The bit order depends on the I2C device.
Implementation
int readWordReg(int address, int register,
[BitOrder order = BitOrder.msbLast]) {
var data = <I2Cmsg>[];
data.add(I2Cmsg.buffer(address, [], [register]));
data.add(I2Cmsg(address, [I2CmsgFlags.i2c_m_rd], 2));
var result = transfer(data);
try {
var ptr = result._messages[0].buf;
var value = (ptr[(order == BitOrder.msbLast ? 0 : 1)] & 0xff) |
(ptr[(order == BitOrder.msbLast ? 1 : 0)] & 0xff) << 8;
return value;
} finally {
result.dispose();
}
}