Closed

Description
Hi guys!
How can I get the firmware upgrade progress?
ESP8285
1M/128K
80MHz
void updateESP() {
flagUpdateESP = false;
sendUART("SYS", "updateESP", "Start"); // Сообщаем о начале прошивки ESP
if (_updateFW(true)) { // Обновляем FS
saveConfig(); // Сохраняем текущие настройки в новую FS
if (_updateFW(false)) { // Обновляем прошивку модуля
sendUART("SYS", "updateESP", "End"); // Прошивка ESP завершена
}
}
}
bool _updateFW(bool updTarget) {
HTTPClient httpClient;
httpClient.useHTTP10(true);
httpClient.setTimeout(5000);
char url[65];
sprintf(url, "http://%s/%s-%d-%s.bin", OTA_HOST, DEVICE_MODEL, latVer, updTarget ? "ffs" : "esp");
httpClient.begin(url);
if (httpClient.GET() != HTTP_CODE_OK) {
sendUART("ER!", "updateESP", "Unable to Fetch");
return false;
}
if (!Update.setMD5(updTarget ? ffsMD5 : espMD5)) {
sendUART("ER!", "updateESP", "MD5");
Update.printError(Serial);
return false;
}
if (!Update.begin(httpClient.getSize(), updTarget ? U_SPIFFS : U_FLASH)) {
sendUART("ER!", "updateESP", "Begin");
Update.printError(Serial);
return false;
}
if (!Update.writeStream(*httpClient.getStreamPtr())) {
sendUART("ER!", "updateESP", "Write Stream");
Update.printError(Serial);
return false;
}
if (!Update.end()) {
sendUART("ER!", "updateESP", "End");
Update.printError(Serial);
return false;
}
httpClient.end();
return true;
}
The update is going well, but I want to know how much is completed.
Help.
Metadata
Metadata
Assignees
Labels
No labels