61 voltageCheckCounter++;
62 if (voltageCheckCounter >= 4) {
63 int32_t voltageDiff = batteryMV - lastBatteryMV;
66 isCharging = (voltageDiff > 5);
67 lastBatteryMV = batteryMV;
68 voltageCheckCounter = 0;
72 uiTimerManager.setTimer(TimerName::UI_SPECIFIC, 500);
73 return ActionResult::DEALT_WITH;
90 const uint16_t minVoltage = 2600;
91 const uint16_t maxVoltage = 4200;
93 int32_t percentage = 0;
94 if (batteryMV > minVoltage) {
95 percentage = ((int32_t)(batteryMV - minVoltage) * 100) / (maxVoltage - minVoltage);
103 const char* status =
"";
104 if (percentage >= 99) {
107 else if (isCharging) {
112 sprintf(buffer,
"%d%% (%dmV)%s", percentage, batteryMV, status);