mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2026-01-26 16:49:11 +03:00
updated logic on fresh firmware install
This commit is contained in:
@@ -371,19 +371,25 @@ void System::get_partition_info() {
|
|||||||
void System::set_partition_install_date(bool override) {
|
void System::set_partition_install_date(bool override) {
|
||||||
#ifndef EMSESP_STANDALONE
|
#ifndef EMSESP_STANDALONE
|
||||||
auto current_partition = (const char *)esp_ota_get_running_partition()->label;
|
auto current_partition = (const char *)esp_ota_get_running_partition()->label;
|
||||||
auto is_fresh_firmware = EMSESP::nvs_.getBool(EMSESP_NVS_BOOT_NEW_FIRMWARE);
|
if (current_partition == nullptr) {
|
||||||
|
return; // fail-safe
|
||||||
|
}
|
||||||
|
|
||||||
// reset flag after setting the install date
|
// skip if it already has an install date, unless override is true
|
||||||
EMSESP::nvs_.putBool(EMSESP_NVS_BOOT_NEW_FIRMWARE, false);
|
if (!partition_info_[current_partition].install_date.empty() && !override) {
|
||||||
|
|
||||||
// skip if it already has an install date, unless override is true or the firmware is new
|
|
||||||
// EMSESP_NVS_BOOT_NEW_FIRMWARE is set in UploadFileService::uploadComplete()
|
|
||||||
if (!partition_info_[current_partition].install_date.empty() && !override && !is_fresh_firmware) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// EMSESP_NVS_BOOT_NEW_FIRMWARE is set in UploadFileService::uploadComplete()
|
||||||
|
auto is_fresh_firmware = EMSESP::nvs_.getBool(EMSESP_NVS_BOOT_NEW_FIRMWARE);
|
||||||
|
// always reset flag after setting the install date
|
||||||
|
EMSESP::nvs_.putBool(EMSESP_NVS_BOOT_NEW_FIRMWARE, false);
|
||||||
|
|
||||||
|
// check if the firmware is a new upload
|
||||||
if (is_fresh_firmware) {
|
if (is_fresh_firmware) {
|
||||||
LOG_DEBUG("Firmware is fresh, setting the new install date");
|
LOG_DEBUG("Firmware is fresh, setting the new install date in partition %s", current_partition);
|
||||||
|
} else {
|
||||||
|
return; // skip, not new
|
||||||
}
|
}
|
||||||
|
|
||||||
// set current date/time from NTP
|
// set current date/time from NTP
|
||||||
|
|||||||
Reference in New Issue
Block a user