From 3f62feff97a59ff7cb2731a530e1352af48fcfdb Mon Sep 17 00:00:00 2001 From: Slavey Karadzhov Date: Wed, 26 May 2021 09:56:13 +0200 Subject: [PATCH] Polishing. --- README.md | 4 ++-- .../Ota/src/Arch/Esp32/IdfUpgrader.cpp | 2 +- .../Ota/src/Arch/Esp8266/RbootUpgrader.cpp | 3 +-- .../Arch/Esp8266/include/Ota/RbootUpgrader.h | 3 +++ .../Components/OtaNetwork/src/HttpUpgrader.cpp | 7 +------ .../src/include/Ota/Network/HttpUpgrader.h | 2 +- .../samples/Upgrade/component.mk | 2 +- .../OtaUpgradeMqtt/samples/Upgrade/ota.hw | 18 +++++++++--------- samples/Basic_Ota/ota.hw | 18 +++++++++--------- 9 files changed, 28 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 6d5c61f120..74afea59b8 100644 --- a/README.md +++ b/README.md @@ -238,7 +238,7 @@ For more examples take a look at the [HttpClient](samples/HttpClient/app/applica ### OTA Application Update ```c++ -void OtaUpdate() +void doUpgrade() { // need a clean object, otherwise if run before and failed will not run again if(otaUpdater) { @@ -253,7 +253,7 @@ void OtaUpdate()   otaUpdater->addItem(ROM_0_URL, part);   // and/or set a callback (called on failure or success without switching requested) -  otaUpdater->setCallback(OtaUpdate_CallBack); +  otaUpdater->setCallback(upgradeCallback);   // start update   otaUpdater->start(); diff --git a/Sming/Components/Ota/src/Arch/Esp32/IdfUpgrader.cpp b/Sming/Components/Ota/src/Arch/Esp32/IdfUpgrader.cpp index 3b2af6d886..39af014010 100644 --- a/Sming/Components/Ota/src/Arch/Esp32/IdfUpgrader.cpp +++ b/Sming/Components/Ota/src/Arch/Esp32/IdfUpgrader.cpp @@ -21,7 +21,7 @@ bool IdfUpgrader::begin(Partition partition, size_t size) writtenSoFar = 0; maxSize = size ?: partition.size(); - esp_err_t result = esp_ota_begin(convertToIdfPartition(partition), size ?: partition.size(), &handle); + esp_err_t result = esp_ota_begin(convertToIdfPartition(partition), maxSize, &handle); return result == ESP_OK; } diff --git a/Sming/Components/Ota/src/Arch/Esp8266/RbootUpgrader.cpp b/Sming/Components/Ota/src/Arch/Esp8266/RbootUpgrader.cpp index bcd0dbfd29..a760f6223a 100644 --- a/Sming/Components/Ota/src/Arch/Esp8266/RbootUpgrader.cpp +++ b/Sming/Components/Ota/src/Arch/Esp8266/RbootUpgrader.cpp @@ -51,8 +51,7 @@ Partition RbootUpgrader::getRunningPartition() uint8_t slot = rboot_get_current_rom(); #ifdef RBOOT_ENABLE_RTC rboot_rtc_data rtc; - rboot_get_rtc_data(&rtc); - if(rtc.last_mode == MODE_TEMP_ROM) { + if(rboot_get_rtc_data(&rtc) && rtc.last_mode == MODE_TEMP_ROM) { slot = rtc.last_rom; } #endif diff --git a/Sming/Components/Ota/src/Arch/Esp8266/include/Ota/RbootUpgrader.h b/Sming/Components/Ota/src/Arch/Esp8266/include/Ota/RbootUpgrader.h index 8bf8901039..dbf693acb9 100644 --- a/Sming/Components/Ota/src/Arch/Esp8266/include/Ota/RbootUpgrader.h +++ b/Sming/Components/Ota/src/Arch/Esp8266/include/Ota/RbootUpgrader.h @@ -45,6 +45,9 @@ class RbootUpgrader : public UpgraderBase Partition getNextBootPartition(Partition startFrom = {}) override { uint8_t currentSlot = rboot_get_current_rom(); + if(startFrom) { + currentSlot = getSlotForPartition(startFrom); + } return getPartitionForSlot(currentSlot ? 0 : 1); } diff --git a/Sming/Components/OtaNetwork/src/HttpUpgrader.cpp b/Sming/Components/OtaNetwork/src/HttpUpgrader.cpp index ea9e440818..90b893391f 100644 --- a/Sming/Components/OtaNetwork/src/HttpUpgrader.cpp +++ b/Sming/Components/OtaNetwork/src/HttpUpgrader.cpp @@ -4,12 +4,7 @@ * http://github.com/SmingHub/Sming * All files of the Sming Core are provided under the LGPL v3 license. * - * RbootHttpUpdater.cpp - * - * Created on: 2015/09/03. - * Author: Richard A Burton & Anakod - * - * Modified: 2017 - Slavey Karadzhov + * HttpUpdater.cpp * */ diff --git a/Sming/Components/OtaNetwork/src/include/Ota/Network/HttpUpgrader.h b/Sming/Components/OtaNetwork/src/include/Ota/Network/HttpUpgrader.h index 3fb528cc5d..40816b6491 100644 --- a/Sming/Components/OtaNetwork/src/include/Ota/Network/HttpUpgrader.h +++ b/Sming/Components/OtaNetwork/src/include/Ota/Network/HttpUpgrader.h @@ -9,7 +9,7 @@ * Created on: 2015/09/03. * Author: Richard A Burton & Anakod * - * Modified: 2017 - Slavey Karadzhov + * Modified: 2017, 2021 - Slavey Karadzhov * ****/ diff --git a/Sming/Libraries/OtaUpgradeMqtt/samples/Upgrade/component.mk b/Sming/Libraries/OtaUpgradeMqtt/samples/Upgrade/component.mk index cb3b098df4..7b087c1768 100644 --- a/Sming/Libraries/OtaUpgradeMqtt/samples/Upgrade/component.mk +++ b/Sming/Libraries/OtaUpgradeMqtt/samples/Upgrade/component.mk @@ -48,7 +48,7 @@ COMPONENT_DEPENDS := OtaUpgradeMqtt RBOOT_ENABLED := 1 ## Use standard hardware config with two ROM slots and two SPIFFS partitions -HWCONFIG := ota +HWCONFIG := ota APP_CFLAGS = -DMQTT_URL="\"$(MQTT_URL)"\" \ -DMQTT_FINGERPRINT_SHA1=$(MQTT_FINGERPRINT_SHA1) \ diff --git a/Sming/Libraries/OtaUpgradeMqtt/samples/Upgrade/ota.hw b/Sming/Libraries/OtaUpgradeMqtt/samples/Upgrade/ota.hw index aceea30053..c5d71daa72 100644 --- a/Sming/Libraries/OtaUpgradeMqtt/samples/Upgrade/ota.hw +++ b/Sming/Libraries/OtaUpgradeMqtt/samples/Upgrade/ota.hw @@ -1,11 +1,11 @@ { - "base_config": "spiffs-two-roms", - "partitions": { - "rom0": { - "subtype": "ota_0" - }, - "rom1": { - "subtype": "ota_1" - } - } + "base_config": "spiffs-two-roms", + "partitions": { + "rom0": { + "subtype": "ota_0" + }, + "rom1": { + "subtype": "ota_1" + } + } } \ No newline at end of file diff --git a/samples/Basic_Ota/ota.hw b/samples/Basic_Ota/ota.hw index aceea30053..c5d71daa72 100644 --- a/samples/Basic_Ota/ota.hw +++ b/samples/Basic_Ota/ota.hw @@ -1,11 +1,11 @@ { - "base_config": "spiffs-two-roms", - "partitions": { - "rom0": { - "subtype": "ota_0" - }, - "rom1": { - "subtype": "ota_1" - } - } + "base_config": "spiffs-two-roms", + "partitions": { + "rom0": { + "subtype": "ota_0" + }, + "rom1": { + "subtype": "ota_1" + } + } } \ No newline at end of file