More of a caution than an explicit fix. Dong's S77 branch has some of the changes that are reflected here. He also has the more recent commit. Be careful when both of you merge your branches.
OK, I see what you wanted. I have a couple of questions: Is logging of the 3 values (remaining charge, battery status, charger status) in a separate message every 750 ms correct? If so, could that be done by calling the publishBatteryStatusData function when the 3rd value (charger status) is read?
We can get to this but bloodPumpOcclusionAfterCartridgeInstall will be set to 0. Therefore, bpOccl will need to be <= 5500 for the alarm to clear. Im unsure if it would be a problem. We use isAlarmTriggered() to clear it only if has been raised previously.
Somewhere around line 450 there is a separator between normal and Dialin test support functions. These new functions are normal so should be above that separator. Looks like there's a few more normal functions down here too that should be moved.