I'm working on reading and writing values to the BQ data memory and subcommands over I2C, working primarily from the SLUUBY2B TRM and the code example provided on the part page. I have a few questions:
1 Is there a way to check the subcommand and data memory checksum on reads? 13.1 of SLUUBY2B describes a method for doing it, but there's no code that performs the checksum for reads in the example, and I have so far not gotten the same result from my locally computed checksum as the one reported by the BQ, though the data appears to be coming back correctly, and the subcommand and data memory writes seem to be successful.
2. Are the write-only subcommands not expected to be read back from the 0x3E/0x3F register before writing data to them? Are they included in the "messages which don't return data to be read back" note in section 3.1?
3. On a related note to #3, I don't see a status register related to the Reg12Control status. Is there a way to read that status back?
4. I have found that the OTP check does not actually measure VBAT; it seems to be measuring the stack voltage via pin 16. Am I missing something there, or is the documentation just misleading?