battery status
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user