Other Parts Discussed in Thread: BQ40Z50, BQSTUDIO
Hello,
I noticed some odd behavior when trying to read data from the fuel gauge.
Following the SMBus specification, a read word operation has no stop between the write and the read i2c operations. If I use this protocol, the fuel gauge returns bad data often. Sometimes the data makes sense but other times it is garbage.
NO STOP - READ WORD - FAIL (Bad data)
However, if I break the protocol and insert a stop between the write and the read operation, then the fuel gauge consistently returns the correct value.
Is there a bug in the bq40z50 implementation of the SMBus protocol?