update confg + ota

This commit is contained in:
2022-01-03 17:14:48 +01:00
parent c340ab9d2a
commit f2eeba9b73
12 changed files with 170 additions and 48 deletions

View File

@@ -7,6 +7,7 @@ uint32_t PowerOtaLongPressTime = 0;
uint64_t measure_timer = 0;
POWERSTATES powerstate = off;
POWERSTATES lastState = off;
Button buttonPower(PWR_BTN, 250UL, 1U, 0);
extern OtaProcess_class ota;
@@ -116,14 +117,14 @@ void handlePowerState(void)
break;
case poweringOn2:
{
if (!buttonread)
if (buttonPower.releasedFor(200))
{
powerstate = powerinit;
powerOn();
// if (measureBattery())
// {
// log_w("poweringOn: Lowbat");
// powerstate = lowBatt;
// //powerstate = lowBatt;
// }
}
else
@@ -148,13 +149,14 @@ void handlePowerState(void)
{
if (buttonPower.pressedFor(100))
{
lastState = on;
powerstate = poweringOff;
break;
}
// if (handleBattery())
// {
// log_w("on: Lowbat");
// powerstate = lowBatt;
// //powerstate = lowBatt;
// break;
// }
}
@@ -181,13 +183,13 @@ void handlePowerState(void)
}
else
{
powerstate = on;
powerstate = lastState;
}
}
break;
case poweringOff2:
{
if (!buttonread)
if (!buttonPower.releasedFor(200))
{
powerstate = off;
SetLedColor(CRGB::Red, true);
@@ -211,19 +213,32 @@ void handlePowerState(void)
log_w("lowbatt");
}
}
break;
case overTheAir:
{
if (!buttonread)
if (buttonPower.releasedFor(200))
{
powerstate = overTheAir2;
otaEnable();
SetLedColor(CRGB::Blue);
SetLedColor(CRGB::Blue, true);
powerOn();
}
log_i("ota state active, release powerbutton");
else
{
SetLedColor(CRGB::Blue, false);
log_i("ota state active, release powerbutton");
}
}
break;
case overTheAir2:
{
if(buttonPower.pressedFor(200))
{
log_i("ota poweroff");
lastState = overTheAir2;
powerstate = poweringOff;
}
if (getOtaState() == OTASTATES::otaBusy)
{
SetLedColor(CRGB::Blue, true);
@@ -234,9 +249,14 @@ void handlePowerState(void)
{
log_i("ota state active, ota Done ==> On");
powerstate = POWERSTATES::on;
powerstate = POWERSTATES::off;
SetLedColor(CRGB::Green, true);
}
if (getOtaState() == OTASTATES::otaError)
{
powerstate = POWERSTATES::off;
SetLedColor(CRGB::Red, true);
}
}
break;
}