mirror of
https://github.com/airgradienthq/arduino.git
synced 2025-07-03 03:16:30 +02:00
Correct OTA update process show message on display
This commit is contained in:
@ -519,6 +519,26 @@ static void displayExecuteOta(OtaState state, String msg, int processing) {
|
|||||||
delay(2500);
|
delay(2500);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case OtaState::OTA_STATE_SKIP: {
|
||||||
|
if (ag->isOne()) {
|
||||||
|
oledDisplay.showNewFirmwareSkipped();
|
||||||
|
} else {
|
||||||
|
Serial.println("Firmware update: Skipped");
|
||||||
|
}
|
||||||
|
|
||||||
|
delay(2500);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case OtaState::OTA_STATE_UP_TO_DATE: {
|
||||||
|
if (ag->isOne()) {
|
||||||
|
oledDisplay.showNewFirmwareUpToDate();
|
||||||
|
} else {
|
||||||
|
Serial.println("Firmware update: up to date");
|
||||||
|
}
|
||||||
|
|
||||||
|
delay(2500);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case OtaState::OTA_STATE_PROCESSING: {
|
case OtaState::OTA_STATE_PROCESSING: {
|
||||||
if (ag->isOne()) {
|
if (ag->isOne()) {
|
||||||
oledDisplay.showNewFirmwareUpdating(String(processing));
|
oledDisplay.showNewFirmwareUpdating(String(processing));
|
||||||
|
@ -18,6 +18,8 @@ enum OtaUpdateOutcome {
|
|||||||
enum OtaState {
|
enum OtaState {
|
||||||
OTA_STATE_BEGIN,
|
OTA_STATE_BEGIN,
|
||||||
OTA_STATE_FAIL,
|
OTA_STATE_FAIL,
|
||||||
|
OTA_STATE_SKIP,
|
||||||
|
OTA_STATE_UP_TO_DATE,
|
||||||
OTA_STATE_PROCESSING,
|
OTA_STATE_PROCESSING,
|
||||||
OTA_STATE_SUCCESS
|
OTA_STATE_SUCCESS
|
||||||
};
|
};
|
||||||
@ -40,13 +42,22 @@ public:
|
|||||||
config.url = urlAsChar;
|
config.url = urlAsChar;
|
||||||
OtaUpdateOutcome ret = attemptToPerformOta(&config);
|
OtaUpdateOutcome ret = attemptToPerformOta(&config);
|
||||||
Serial.println(ret);
|
Serial.println(ret);
|
||||||
if (ret == OtaUpdateOutcome::UPDATE_PERFORMED) {
|
|
||||||
if (this->callback) {
|
if (this->callback) {
|
||||||
|
switch (ret) {
|
||||||
|
case OtaUpdateOutcome::UPDATE_PERFORMED:
|
||||||
this->callback(OtaState::OTA_STATE_SUCCESS, "");
|
this->callback(OtaState::OTA_STATE_SUCCESS, "");
|
||||||
}
|
break;
|
||||||
} else {
|
case OtaUpdateOutcome::UDPATE_SKIPPED:
|
||||||
if(this->callback) {
|
this->callback(OtaState::OTA_STATE_SKIP, "");
|
||||||
|
break;
|
||||||
|
case OtaUpdateOutcome::ALREADY_UP_TO_DATE:
|
||||||
|
this->callback(OtaState::OTA_STATE_UP_TO_DATE, "");
|
||||||
|
break;
|
||||||
|
case OtaUpdateOutcome::UPDATE_FAILED:
|
||||||
this->callback(OtaState::OTA_STATE_FAIL, "");
|
this->callback(OtaState::OTA_STATE_FAIL, "");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -381,6 +381,31 @@ void OledDisplay::showNewFirmwareFailed(void) {
|
|||||||
DISP()->setFont(u8g2_font_t0_16_tf);
|
DISP()->setFont(u8g2_font_t0_16_tf);
|
||||||
setCentralText(20, "Firmware Update");
|
setCentralText(20, "Firmware Update");
|
||||||
setCentralText(40, "Failed");
|
setCentralText(40, "Failed");
|
||||||
setCentralText(60, String("Retry after 24h"));
|
} while (DISP()->nextPage());
|
||||||
|
}
|
||||||
|
|
||||||
|
void OledDisplay::showNewFirmwareSkipped(void) {
|
||||||
|
if (isDisplayOff) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
DISP()->firstPage();
|
||||||
|
do {
|
||||||
|
DISP()->setFont(u8g2_font_t0_16_tf);
|
||||||
|
setCentralText(20, "Firmware Update");
|
||||||
|
setCentralText(40, "skipped");
|
||||||
|
} while (DISP()->nextPage());
|
||||||
|
}
|
||||||
|
|
||||||
|
void OledDisplay::showNewFirmwareUpToDate(void) {
|
||||||
|
if (isDisplayOff) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
DISP()->firstPage();
|
||||||
|
do {
|
||||||
|
DISP()->setFont(u8g2_font_t0_16_tf);
|
||||||
|
setCentralText(20, "Firmware Update");
|
||||||
|
setCentralText(40, "up to date");
|
||||||
} while (DISP()->nextPage());
|
} while (DISP()->nextPage());
|
||||||
}
|
}
|
||||||
|
@ -40,6 +40,8 @@ public:
|
|||||||
void showNewFirmwareUpdating(String percent);
|
void showNewFirmwareUpdating(String percent);
|
||||||
void showNewFirmwareSuccess(String count);
|
void showNewFirmwareSuccess(String count);
|
||||||
void showNewFirmwareFailed(void);
|
void showNewFirmwareFailed(void);
|
||||||
|
void showNewFirmwareSkipped(void);
|
||||||
|
void showNewFirmwareUpToDate(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /** _AG_OLED_DISPLAY_H_ */
|
#endif /** _AG_OLED_DISPLAY_H_ */
|
||||||
|
Reference in New Issue
Block a user