From c4c7148d619fd2034cd009b69629b91a955167ea Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Mon, 18 Sep 2023 14:31:14 +0100 Subject: [PATCH] On-screen battery level when charging --- README.md | 2 ++ firmware | Bin 165344 -> 165376 bytes firmware.bin | Bin 49208 -> 49336 bytes firmware.packed.bin | Bin 49226 -> 49354 bytes helper/battery.c | 14 ++++++++++---- ui/main.c | 39 ++++++++++++++++++++++++++++++--------- 6 files changed, 42 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 4089615..b59f2f9 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,8 @@ To compile directly in windows without the need of a linux virtual machine: Then you can run 'win_make.bat' from the directory you saved this source code too. You may need to edit the bat file (path to make.exe) depending on where you installed the above two packages too. +I've left some notes in the win_make.bat file to maybe help with stuff. + # Credits Many thanks to various people on Telegram for putting up with me during this effort and helping: diff --git a/firmware b/firmware index 9df4dd5cd0a44bc104eca82af280bbc5c97c8d69..baa9e74c5058eacbab39aef31658b8c9f1b8c3d3 100644 GIT binary patch delta 10484 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 delta 10156 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 ZTQ(>zW$?18M8w6}AG8_4-mBfH_;3D_r!oKl delta 6073 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 Iku3@T0}GC&1^@s6 diff --git a/helper/battery.c b/helper/battery.c index ebef8cc..4fc8482 100644 --- a/helper/battery.c +++ b/helper/battery.c @@ -68,23 +68,29 @@ void BATTERY_GetReadings(bool bDisplayBatteryLevel) if (gBatteryCurrent < 501) { if (gChargingWithTypeC) - gUpdateStatus = true; - gChargingWithTypeC = 0; + { + gUpdateStatus = true; + gUpdateDisplay = true; + } + gChargingWithTypeC = false; } else { if (!gChargingWithTypeC) { - gUpdateStatus = true; + gUpdateStatus = true; + gUpdateDisplay = true; BACKLIGHT_TurnOn(); } - gChargingWithTypeC = 1; + gChargingWithTypeC = true; } if (PreviousBatteryLevel != gBatteryDisplayLevel) { if (gBatteryDisplayLevel < 2) + { gLowBattery = true; + } else { gLowBattery = false; diff --git a/ui/main.c b/ui/main.c index 265e225..1321592 100644 --- a/ui/main.c +++ b/ui/main.c @@ -21,6 +21,7 @@ #include "driver/st7565.h" #include "external/printf/printf.h" #include "functions.h" +#include "helper/battery.h" #include "misc.h" #include "radio.h" #include "settings.h" @@ -55,7 +56,7 @@ void UI_DisplayMain(void) // #endif #ifdef ENABLE_DTMF_DECODER - bool show_dtmf_rx = true; + bool center_line_is_free = true; #endif for (vfo_num = 0; vfo_num < 2; vfo_num++) @@ -102,7 +103,7 @@ void UI_DisplayMain(void) sprintf(String, ">%s", gDTMF_InputBox); #ifdef ENABLE_DTMF_DECODER - show_dtmf_rx = false; + center_line_is_free = false; #endif } UI_PrintString(String, 2, 0, vfo_num * 3, 8); @@ -123,13 +124,13 @@ void UI_DisplayMain(void) else { #ifdef ENABLE_DTMF_DECODER - show_dtmf_rx = false; + center_line_is_free = false; #endif } UI_PrintString(String, 2, 0, 2 + (vfo_num * 3), 8); #ifdef ENABLE_DTMF_DECODER - show_dtmf_rx = false; + center_line_is_free = false; #endif continue; @@ -239,7 +240,7 @@ void UI_DisplayMain(void) UI_DisplayFrequency(gInputBox, 31, Line, true, false); #ifdef ENABLE_DTMF_DECODER - show_dtmf_rx = false; + center_line_is_free = false; #endif } else @@ -453,11 +454,31 @@ void UI_DisplayMain(void) } #ifdef ENABLE_DTMF_DECODER - if (show_dtmf_rx && gDTMF_ReceivedSaved[0] >= 32) - { // show the incoming DTMF live on-screen - UI_PrintStringSmall(gDTMF_ReceivedSaved, 8, 0, 3); - } + if (center_line_is_free) + { + if (gDTMF_ReceivedSaved[0] >= 32) + { // show the on-screen live DTMF decode + UI_PrintStringSmall(gDTMF_ReceivedSaved, 8, 0, 3); + } + else + #else + if (center_line_is_free) + { #endif + if (gChargingWithTypeC) + { // charging .. show the battery state + const uint16_t volts = (gBatteryVoltageAverage < gMin_bat_v) ? gMin_bat_v : + (gBatteryVoltageAverage > gMax_bat_v) ? gMax_bat_v : + gBatteryVoltageAverage; + + sprintf(String, "Charge %u.%02uV %u%%", + gBatteryVoltageAverage / 100, + gBatteryVoltageAverage % 100, + (100 * (volts - gMin_bat_v)) / (gMax_bat_v - gMin_bat_v)); + + UI_PrintStringSmall(String, 2, 0, 3); + } + } ST7565_BlitFullScreen(); }