Add battery min/max voltage parameter support
This commit is contained in:
@@ -103,8 +103,14 @@ class HomeScreen : public UIScreen {
|
|||||||
|
|
||||||
void renderBatteryIndicator(DisplayDriver& display, uint16_t batteryMilliVolts) {
|
void renderBatteryIndicator(DisplayDriver& display, uint16_t batteryMilliVolts) {
|
||||||
// Convert millivolts to percentage
|
// Convert millivolts to percentage
|
||||||
const int minMilliVolts = 3000; // Minimum voltage (e.g., 3.0V)
|
#ifndef BATT_MIN_MILLIVOLTS
|
||||||
const int maxMilliVolts = 4200; // Maximum voltage (e.g., 4.2V)
|
#define BATT_MIN_MILLIVOLTS 3000
|
||||||
|
#endif
|
||||||
|
#ifndef BATT_MAX_MILLIVOLTS
|
||||||
|
#define BATT_MAX_MILLIVOLTS 4200
|
||||||
|
#endif
|
||||||
|
const int minMilliVolts = BATT_MIN_MILLIVOLTS;
|
||||||
|
const int maxMilliVolts = BATT_MAX_MILLIVOLTS;
|
||||||
int batteryPercentage = ((batteryMilliVolts - minMilliVolts) * 100) / (maxMilliVolts - minMilliVolts);
|
int batteryPercentage = ((batteryMilliVolts - minMilliVolts) * 100) / (maxMilliVolts - minMilliVolts);
|
||||||
if (batteryPercentage < 0) batteryPercentage = 0; // Clamp to 0%
|
if (batteryPercentage < 0) batteryPercentage = 0; // Clamp to 0%
|
||||||
if (batteryPercentage > 100) batteryPercentage = 100; // Clamp to 100%
|
if (batteryPercentage > 100) batteryPercentage = 100; // Clamp to 100%
|
||||||
|
|||||||
@@ -149,8 +149,14 @@ void UITask::newMsg(uint8_t path_len, const char* from_name, const char* text, i
|
|||||||
|
|
||||||
void UITask::renderBatteryIndicator(uint16_t batteryMilliVolts) {
|
void UITask::renderBatteryIndicator(uint16_t batteryMilliVolts) {
|
||||||
// Convert millivolts to percentage
|
// Convert millivolts to percentage
|
||||||
const int minMilliVolts = 3000; // Minimum voltage (e.g., 3.0V)
|
#ifndef BATT_MIN_MILLIVOLTS
|
||||||
const int maxMilliVolts = 4200; // Maximum voltage (e.g., 4.2V)
|
#define BATT_MIN_MILLIVOLTS 3000
|
||||||
|
#endif
|
||||||
|
#ifndef BATT_MAX_MILLIVOLTS
|
||||||
|
#define BATT_MAX_MILLIVOLTS 4200
|
||||||
|
#endif
|
||||||
|
const int minMilliVolts = BATT_MIN_MILLIVOLTS;
|
||||||
|
const int maxMilliVolts = BATT_MAX_MILLIVOLTS;
|
||||||
int batteryPercentage = ((batteryMilliVolts - minMilliVolts) * 100) / (maxMilliVolts - minMilliVolts);
|
int batteryPercentage = ((batteryMilliVolts - minMilliVolts) * 100) / (maxMilliVolts - minMilliVolts);
|
||||||
if (batteryPercentage < 0) batteryPercentage = 0; // Clamp to 0%
|
if (batteryPercentage < 0) batteryPercentage = 0; // Clamp to 0%
|
||||||
if (batteryPercentage > 100) batteryPercentage = 100; // Clamp to 100%
|
if (batteryPercentage > 100) batteryPercentage = 100; // Clamp to 100%
|
||||||
|
|||||||
@@ -31,6 +31,10 @@ build_flags =
|
|||||||
; TX power: 22dBm to SX1262, PA module adds ~10dB for 32dBm total
|
; TX power: 22dBm to SX1262, PA module adds ~10dB for 32dBm total
|
||||||
-D LORA_TX_POWER=22
|
-D LORA_TX_POWER=22
|
||||||
|
|
||||||
|
; Battery - 2S 7.4V LiPo (6.0V min, 8.4V max)
|
||||||
|
-D BATT_MIN_MILLIVOLTS=6000
|
||||||
|
-D BATT_MAX_MILLIVOLTS=8400
|
||||||
|
|
||||||
; Display - SH1106 OLED at 0x3C
|
; Display - SH1106 OLED at 0x3C
|
||||||
-D DISPLAY_CLASS=SH1106Display
|
-D DISPLAY_CLASS=SH1106Display
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user