We have a device that uses the BQ35100 in accumulator mode. It spends the majority of its time asleep in the general use case and will wake up, grab some data from its sensors, and then report that data (including accumulated capacity) to our server. We have seen one case where the reported accumulated capacity jumps up very quickly, more than would be physically possible. The values shown on our server are positive but the values we get from the BQ35100 are negative. Converting to negative here:
Value before jump (uAh) - hex | Value after jump (uAh) - hex |
-248189 - 0xFFFC3683 | -32768812 - 0xFE0BFCD4 |
The device in question was operating in a special mode where it would check in to our server every minute so these values were reported 1 min apart. The batteries we are using have a 2.1Ah capacity so we somehow went from ~.248Ah counted to ~32.8Ah. The fact that the value after the jump is something like 2^15 (32768) just like the referenced post is pretty interesting.
Even more interesting is that after the jump the value started to go down before jumping back up again! I'm not sure why the value would go down as I think that would happen during charging, but our system is not rechargeable.
Value before second jump (uAh) - hex | Value after second jump (uAh) - hex |
-32293468 - 0xFE133DA4 | -32768800 - 0xFE0BFCE0 |
Similarly, post-jump the accumulated capacity seems to be around -32768000 uAh. This type of jump happened again a few times before the batteries died.
Below is a screenshot of a visualization of the first jump:
A screenshot of the second jump:
And the subsequent jumps:
Is there any fix or workaround that you are aware of?