Device is a bq4050. Attempting to use ManufacturerBlockRead (0x44) does not work while pretty much everything else does.
Above is a successful read from a single byte command.
Above is a failed read – it looks like I2C stops writing after the first byte.
data[0] = 0x44; data[1] = 0x54; data[2] = 0x00;
i2c.write(addr, data, 3, true);
i2c.read( addr, data, 12);
This device expects the start/stop bits so I must use that argument in i2c.write
. But this seems like a separate issue. It does not clock out the third byte due to receiving a NAK. Would this be a device side issue?
What is not included in the picture is the device clocking out 54 00 before many zeros. I get no data from the command, but it seems to echo back the ManufacturerBlockRead command I gave it.
(In this case the command 0x54 and 0x44 54 00 are basically equivalent, save the 44 version starts 54 00 … as opposed to a normal block read.)