From 820c5dc8c5a9cd300e15a2fd9aa9e3a5c35d09af Mon Sep 17 00:00:00 2001 From: S5NC <145265251+S5NC@users.noreply.github.com> Date: Sun, 21 Apr 2024 13:24:39 +0100 Subject: [PATCH 1/3] Update architecture.h (#3688) --- src/platform/esp32/architecture.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/platform/esp32/architecture.h b/src/platform/esp32/architecture.h index 15e437bb5..c6d90970f 100644 --- a/src/platform/esp32/architecture.h +++ b/src/platform/esp32/architecture.h @@ -117,8 +117,8 @@ #define HW_VENDOR meshtastic_HardwareModel_HELTEC_WIRELESS_PAPER #elif defined(TLORA_T3S3_V1) #define HW_VENDOR meshtastic_HardwareModel_TLORA_T3_S3 -#elif defined(CDEBYTE_ELORA_S3) -#define HW_VENDOR meshtastic_HardwareModel_CDEBYTE_ELORA_S3 +#elif defined(CDEBYTE_EORA_S3) +#define HW_VENDOR meshtastic_HardwareModel_CDEBYTE_EORA_S3 #elif defined(BETAFPV_2400_TX) #define HW_VENDOR meshtastic_HardwareModel_BETAFPV_2400_TX #elif defined(NANO_G1_EXPLORER) From f6cfdfe881871ccae66017d9421cd8ea1a730f48 Mon Sep 17 00:00:00 2001 From: todd-herbert Date: Mon, 22 Apr 2024 00:25:12 +1200 Subject: [PATCH 2/3] (ESP-32S) Fix "critical error 3" after deep-sleep (#3685) --- src/sleep.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/sleep.cpp b/src/sleep.cpp index a2a221d79..548ef2c54 100644 --- a/src/sleep.cpp +++ b/src/sleep.cpp @@ -157,6 +157,10 @@ void initDeepSleep() for (uint8_t i = 0; i <= GPIO_NUM_MAX; i++) { if (rtc_gpio_is_valid_gpio((gpio_num_t)i)) rtc_gpio_hold_dis((gpio_num_t)i); + + // ESP32 (original) + else if (GPIO_IS_VALID_OUTPUT_GPIO((gpio_num_t)i)) + gpio_hold_dis((gpio_num_t)i); } } #endif @@ -258,14 +262,17 @@ void doDeepSleep(uint32_t msecToWake, bool skipPreflight = false) } #ifdef BUTTON_PIN // Avoid leakage through button pin - pinMode(BUTTON_PIN, INPUT); - gpio_hold_en((gpio_num_t)BUTTON_PIN); + if (GPIO_IS_VALID_OUTPUT_GPIO(BUTTON_PIN)) { + pinMode(BUTTON_PIN, INPUT); + gpio_hold_en((gpio_num_t)BUTTON_PIN); + } #endif - - // LoRa CS (RADIO_NSS) needs to stay HIGH, even during deep sleep - pinMode(LORA_CS, OUTPUT); - digitalWrite(LORA_CS, HIGH); - gpio_hold_en((gpio_num_t)LORA_CS); + if (GPIO_IS_VALID_OUTPUT_GPIO(LORA_CS)) { + // LoRa CS (RADIO_NSS) needs to stay HIGH, even during deep sleep + pinMode(LORA_CS, OUTPUT); + digitalWrite(LORA_CS, HIGH); + gpio_hold_en((gpio_num_t)LORA_CS); + } #endif #ifdef HAS_PMU From dfc43bae1859d677c0f1580ce1b44f6d0ae2f435 Mon Sep 17 00:00:00 2001 From: todd-herbert Date: Mon, 22 Apr 2024 00:25:58 +1200 Subject: [PATCH 3/3] Fix crash on shutdown, if Bluetooth not enabled (#3686) Previously attempted to call deinit method for a nullptr --- src/sleep.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/sleep.cpp b/src/sleep.cpp index 548ef2c54..e58c3872a 100644 --- a/src/sleep.cpp +++ b/src/sleep.cpp @@ -213,7 +213,8 @@ void doDeepSleep(uint32_t msecToWake, bool skipPreflight = false) #ifdef ARCH_ESP32 // Full shutdown of bluetooth hardware - nimbleBluetooth->deinit(); + if (nimbleBluetooth) + nimbleBluetooth->deinit(); #endif #ifdef ARCH_ESP32