From d3992277df1de30752e8b02e0c1b37715d21b0f2 Mon Sep 17 00:00:00 2001 From: willem Date: Mon, 10 May 2021 19:36:14 +0200 Subject: [PATCH] battery status --- src/board.h | 2 +- src/power.cpp | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/board.h b/src/board.h index ffd3c32..a980245 100644 --- a/src/board.h +++ b/src/board.h @@ -2,7 +2,7 @@ #define BOARDH #define IDLESHUTDOWN 900000 // 15min* 60 sec * 1000ms -#define VBATTMIN 3200 +#define VBATTMIN 3000 #define VBATTMAX 4180 #define VBATTREF 3300 diff --git a/src/power.cpp b/src/power.cpp index 59bf1de..c89f542 100644 --- a/src/power.cpp +++ b/src/power.cpp @@ -18,6 +18,8 @@ void initBattery(void) #ifdef VBATTPIN #ifdef MEAS_EN battery.onDemand(MEAS_EN, LOW); + //pinMode(MEAS_EN, OUTPUT); + //digitalWrite(MEAS_EN, HIGH); battery.begin(VBATTREF, (R12 + R13) / R13); //R1 = 220K, R2 = 100K, factor = (R1+R2)/R2 #else @@ -63,15 +65,11 @@ bool handleBattery(void) uint64_t currentmillis = millis(); if (currentmillis - delay_timer > BATTERYMEASUREDELAY) { - uint16_t vbatt = battery.voltage(); + uint32_t vbatt = battery.voltage(); if (vbatt < VBATTMIN) { - //turnOnAllLed(); + return true; } - - delay_timer = currentmillis; - // delay(5000); - // shutdown(); } #endif @@ -150,6 +148,10 @@ void handlePowerState(void) powerstate = on; powerOn(); turnOffAllLed(); + delay(500); + batterydisplay(); + delay(1000); + turnOffAllLed(); } } break; @@ -160,11 +162,11 @@ void handlePowerState(void) powerstate = poweringOff; turnOnAllLed(); } - if (HandleTimeOut()) + else if (HandleTimeOut()) { powerstate = timeOut; } - if (handleBattery()) + else if (handleBattery()) { powerstate = lowBatt; }