readByteReg method
int
readByteReg(
- int address,
- int register, [
- BitOrder order = BitOrder.msbLast,
- RegisterWidth width = RegisterWidth.bits8,
Reads a byte from register of the I2C device with the address.
The optional register parameters bit order/width enables
16-bit register.
The bit order depends on the I2C device.
Implementation
int readByteReg(int address, int register,
[BitOrder order = BitOrder.msbLast,
RegisterWidth width = RegisterWidth.bits8]) {
var data = <I2Cmsg>[];
data.add(I2Cmsg.buffer(
address, [], [..._adjustRegister(register, order, width)]));
data.add(I2Cmsg(address, [I2CmsgFlags.i2c_m_rd], 1));
var result = transfer(data);
try {
var ptr = result._messages[1].buf;
var value = ptr[0];
return value;
} finally {
result.dispose();
}
}