Update OTA processing message. Fix always retry of bootCount = 0

This commit is contained in:
Phat Nguyen
2024-05-17 10:32:20 +07:00
parent ed02f66ca2
commit c04ab90fd2
3 changed files with 12 additions and 4 deletions

View File

@ -549,6 +549,11 @@ static void displayExecuteOta(OtaState state, String msg, int processing) {
break;
}
case OtaState::OTA_STATE_SUCCESS: {
if (ag->isOne()) {
oledDisplay.showNewFirmwareUpdating(String(100));
delay(250);
}
int i = 6;
while(i != 0) {
i = i - 1;
@ -564,6 +569,7 @@ static void displayExecuteOta(OtaState state, String msg, int processing) {
delay(1000);
}
oledDisplay.setBrightness(0);
esp_restart();
}
break;
@ -877,11 +883,12 @@ static void configUpdateHandle() {
fwNewVersion = configuration.newFirmwareVersion();
if (fwNewVersion.length()) {
bool doOta = false;
if (measurements.otaBootCount == 0) {
if (measurements.otaBootCount < 0) {
doOta = true;
Serial.println("First OTA");
} else {
if ((measurements.bootCount - measurements.otaBootCount) >= 30) {
int bootDiff = measurements.bootCount - measurements.otaBootCount;
if (bootDiff >= 30) {
doOta = true;
} else {
Serial.println(

View File

@ -380,7 +380,8 @@ void OledDisplay::showNewFirmwareFailed(void) {
do {
DISP()->setFont(u8g2_font_t0_16_tf);
setCentralText(20, "Firmware Update");
setCentralText(40, "Failed");
setCentralText(40, "fail, will retry");
// setCentralText(60, "will retry");
} while (DISP()->nextPage());
}

View File

@ -69,7 +69,7 @@ public:
int countPosition;
const int targetCount = 20;
int bootCount;
int otaBootCount;
int otaBootCount = -1;
String toString(bool isLocal, AgFirmwareMode fwMode, int rssi, void* _ag, void* _config);
};