From c9b2010b295b920f64cbd1aa9e1e933c293192ff Mon Sep 17 00:00:00 2001 From: cyberman54 Date: Sat, 26 Dec 2020 16:15:26 +0100 Subject: [PATCH 1/4] removed libalgosec.a (now external) --- lib/Bosch-BSEC/src/esp32/libalgobsec.a | Bin 189176 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lib/Bosch-BSEC/src/esp32/libalgobsec.a diff --git a/lib/Bosch-BSEC/src/esp32/libalgobsec.a b/lib/Bosch-BSEC/src/esp32/libalgobsec.a deleted file mode 100644 index e9e4ae2331153f5a59560498f416e64519b189b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189176 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 Tz_vcr9)pijXqYHNEc*TzaEcsP From a243aae5bbd133375963f8f2890847d26d3e0c75 Mon Sep 17 00:00:00 2001 From: cyberman54 Date: Sat, 26 Dec 2020 18:14:59 +0100 Subject: [PATCH 2/4] Update Bintrayclient to ArduinoJson 6.x --- lib/BintrayClient/src/BintrayClient.cpp | 20 +++++++++++--------- platformio_orig.ini | 2 +- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/lib/BintrayClient/src/BintrayClient.cpp b/lib/BintrayClient/src/BintrayClient.cpp index 955bca20..34fa357f 100644 --- a/lib/BintrayClient/src/BintrayClient.cpp +++ b/lib/BintrayClient/src/BintrayClient.cpp @@ -113,16 +113,17 @@ String BintrayClient::getLatestVersion() const ESP_LOGE(TAG, "Error: Firmware version data invalid."); return version; } - StaticJsonBuffer jsonBuffer; + StaticJsonDocument doc; + + DeserializationError err = deserializeJson(doc, jsonResult.c_str()); - JsonObject &root = jsonBuffer.parseObject(jsonResult.c_str()); // Check for errors in parsing - if (!root.success()) + if (err) { ESP_LOGE(TAG, "Error: Firmware version data not found."); return version; } - return root.get("name"); + return doc["name"].as(); } String BintrayClient::getBinaryPath(const String &version) const @@ -137,14 +138,15 @@ String BintrayClient::getBinaryPath(const String &version) const ESP_LOGE(TAG, "Error: Firmware download path data invalid."); return path; } - StaticJsonBuffer jsonBuffer; + StaticJsonDocument doc; - JsonArray &root = jsonBuffer.parseArray(jsonResult.c_str()); - JsonObject &firstItem = root[0]; - if (!root.success()) + DeserializationError err = deserializeJson(doc, jsonResult.c_str()); + + JsonObject firstItem = doc[0]; + if (err) { //Check for errors in parsing ESP_LOGE(TAG, "Error: Firmware download path not found."); return path; } - return "/" + getUser() + "/" + getRepository() + "/" + firstItem.get("path"); + return "/" + getUser() + "/" + getRepository() + "/" + firstItem["path"].as(); } diff --git a/platformio_orig.ini b/platformio_orig.ini index 3e6a6b9d..3b013c97 100644 --- a/platformio_orig.ini +++ b/platformio_orig.ini @@ -79,7 +79,7 @@ lib_deps_sensors = boschsensortec/BSEC Software Library @ 1.6.1480 https://github.com/ricki-z/SDS011.git lib_deps_basic = - bblanchon/ArduinoJson @ <6 + bblanchon/ArduinoJson @ ^6 jchristensen/Timezone @ ^1.2.4 makuna/RTC @ ^2.3.5 spacehuhn/SimpleButton From ea24958b50edc1c1a5e9724d68785efcab779a81 Mon Sep 17 00:00:00 2001 From: cyberman54 Date: Sat, 26 Dec 2020 18:15:56 +0100 Subject: [PATCH 3/4] repair OTA for battery devices without battery --- src/power.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/power.cpp b/src/power.cpp index a1fbea58..a3ec4869 100644 --- a/src/power.cpp +++ b/src/power.cpp @@ -251,10 +251,11 @@ uint8_t read_battlevel(mapFn_t mapFunction) { bool batt_sufficient() { #if (defined HAS_PMU || defined BAT_MEASURE_ADC || defined HAS_IP5306) - return (batt_level > OTA_MIN_BATT); -#else - return true; // we don't know batt level + if (batt_level) // we have a battery voltage + return (batt_level > OTA_MIN_BATT); + else #endif + return true; // we don't know batt level } #ifdef HAS_IP5306 From 866d0bd730f23e29d159dc424ae5c5b8adfc5cff Mon Sep 17 00:00:00 2001 From: cyberman54 Date: Sat, 26 Dec 2020 18:29:10 +0100 Subject: [PATCH 4/4] reset.cpp: repair OTA --- src/reset.cpp | 47 ++++++++++++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/src/reset.cpp b/src/reset.cpp index 472ed02c..89720993 100644 --- a/src/reset.cpp +++ b/src/reset.cpp @@ -9,7 +9,7 @@ static const char TAG[] = __FILE__; #define uS_TO_S_FACTOR 1000000ULL // variables keep its values after a wakeup from sleep -RTC_DATA_ATTR runmode_t RTC_runmode = RUNMODE_POWERCYCLE; +RTC_NOINIT_ATTR runmode_t RTC_runmode = RUNMODE_POWERCYCLE; RTC_DATA_ATTR struct timeval RTC_sleep_start_time; RTC_DATA_ATTR unsigned long long RTC_millis = 0; timeval sleep_stop_time; @@ -36,14 +36,20 @@ void do_after_reset(void) { struct timeval sleep_stop_time; uint64_t sleep_time_ms; - switch (esp_sleep_get_wakeup_cause()) { - case ESP_SLEEP_WAKEUP_EXT0: // Wakeup caused by external signal using RTC_IO - case ESP_SLEEP_WAKEUP_EXT1: // Wakeup caused by external signal using - // RTC_CNTL - case ESP_SLEEP_WAKEUP_TIMER: // Wakeup caused by timer - case ESP_SLEEP_WAKEUP_TOUCHPAD: // Wakeup caused by touchpad - case ESP_SLEEP_WAKEUP_ULP: // Wakeup caused by ULP program + switch (rtc_get_reset_reason(0)) { + case POWERON_RESET: // 0x01 Vbat power on reset + case RTCWDT_BROWN_OUT_RESET: // 0x0f Reset when the vdd voltage is not + // stable + RTC_runmode = RUNMODE_POWERCYCLE; + break; + + case SW_CPU_RESET: // 0x0c Software reset CPU + // keep previous runmode (could be RUNMODE_UPDATE) + break; + + case DEEPSLEEP_RESET: // 0x05 Deep Sleep reset digital core + RTC_runmode = RUNMODE_WAKEUP; // calculate time spent in deep sleep gettimeofday(&sleep_stop_time, NULL); sleep_time_ms = @@ -51,19 +57,23 @@ void do_after_reset(void) { (sleep_stop_time.tv_usec - RTC_sleep_start_time.tv_usec) / 1000; ESP_LOGI(TAG, "Time spent in deep sleep: %d ms", sleep_time_ms); RTC_millis += sleep_time_ms; // increment system monotonic time - - RTC_runmode = RUNMODE_WAKEUP; break; - case ESP_SLEEP_WAKEUP_ALL: - case ESP_SLEEP_WAKEUP_GPIO: - case ESP_SLEEP_WAKEUP_UART: - case ESP_SLEEP_WAKEUP_UNDEFINED: + case SW_RESET: // 0x03 Software reset digital core + case OWDT_RESET: // 0x04 Legacy watch dog reset digital core + case SDIO_RESET: // 0x06 Reset by SLC module, reset digital core + case TG0WDT_SYS_RESET: // 0x07 Timer Group0 Watch dog reset digital core + case TG1WDT_SYS_RESET: // 0x08 Timer Group1 Watch dog reset digital core + case RTCWDT_SYS_RESET: // 0x09 RTC Watch dog Reset digital core + case INTRUSION_RESET: // 0x0a Instrusion tested to reset CPU + case TGWDT_CPU_RESET: // 0x0b Time Group reset CPU + case RTCWDT_CPU_RESET: // 0x0d RTC Watch dog Reset CPU + case EXT_CPU_RESET: // 0x0e for APP CPU, reseted by PRO CPU + case RTCWDT_RTC_RESET: // 0x10 RTC Watch dog reset digital core and rtc mode default: - // not a deep sleep reset RTC_runmode = RUNMODE_POWERCYCLE; break; - } // switch + } ESP_LOGI(TAG, "Starting Software v%s, runmode %s", PROGVERSION, runmode[RTC_runmode]); @@ -72,6 +82,7 @@ void do_after_reset(void) { void enter_deepsleep(const uint64_t wakeup_sec = 60, gpio_num_t wakeup_gpio = GPIO_NUM_MAX) { + // don't go to sleep while unjoined #if (HAS_LORA) if (!LMIC.devaddr) { ESP_LOGI(TAG, "Can't go to sleep while joining"); @@ -162,9 +173,11 @@ void enter_deepsleep(const uint64_t wakeup_sec = 60, dp_shutdown(); #endif -// reduce power if has PMU +// reduce power if has PMU or VEXT #ifdef HAS_PMU AXP192_power(pmu_power_sleep); +#elif EXT_POWER_SW + digitalWrite(EXT_POWER_SW, EXT_POWER_OFF); #endif // shutdown i2c bus