]> git.tnoah.ca Git - lora-radio.git/commitdiff
Seeed ESP32S3 - enable button sleep, stopRadio at sleep
authorKevin Brosius <cobra@compuserve.com>
Sun, 23 Feb 2025 23:52:17 +0000 (18:52 -0500)
committerKevin Brosius <cobra@compuserve.com>
Sun, 23 Feb 2025 23:52:17 +0000 (18:52 -0500)
to sleep sx1262 also.

Boards.h
RNode_Firmware.ino
sx126x.cpp

index 112d2c9c6efa9b8c4bfd3374fc02e12c27b40cf7..f93790f178a0df404e0b305ea6596b23d472b99c 100644 (file)
--- a/Boards.h
+++ b/Boards.h
       #define HAS_EEPROM true
 
       #define HAS_INPUT true
-      #define HAS_SLEEP false
-      
+      #define HAS_SLEEP true
+      #define PIN_WAKEUP GPIO_NUM_21
+      #define WAKEUP_LEVEL 0
+
 //      #define PMU_IRQ 40
 //      #define I2C_SCL 41
 //      #define I2C_SDA 42
index c2b98862516afe3aa929eba7d85beb23cd5b784a..79bff2fe28a628968ebcd0fca1b091be0e717deb 100644 (file)
@@ -1612,7 +1612,7 @@ void loop() {
 void sleep_now() {
   #if HAS_SLEEP == true
     #if PLATFORM == PLATFORM_ESP32
-      #if BOARD_MODEL == BOARD_T3S3
+      #if BOARD_MODEL == BOARD_T3S3 || BOARD_MODEL == BOARD_SEEED_XIAO_ESP32S3
         display_intensity = 0;
         update_display(true);
       #endif
@@ -1626,6 +1626,7 @@ void sleep_now() {
           delay(100);
         }
       #endif
+      stopRadio();
       esp_sleep_enable_ext0_wakeup(PIN_WAKEUP, WAKEUP_LEVEL);
       esp_deep_sleep_start();
     #elif PLATFORM == PLATFORM_NRF52
index ebbde43a5bed67b71f86b82585e30fb43e01f7c8..68bf7b15424192681c8f04c03c68475cce73e7fe 100644 (file)
@@ -122,17 +122,19 @@ sx126x::sx126x() :
 { setTimeout(0); }
 
 bool sx126x::preInit() {
-//        delay(300);
-        //LoRa->reset();
-//        reset();
-//        delay(100);
+  #if BOARD_MODEL == BOARD_SEEED_XIAO_ESP32S3
+    // Improve wakeup from sleep
+    delay(300);
+    reset();
+    delay(100);
+  #endif
 
   pinMode(_ss, OUTPUT);
   digitalWrite(_ss, HIGH);
   
   #if BOARD_MODEL == BOARD_T3S3 || BOARD_MODEL == BOARD_HELTEC32_V3 || BOARD_MODEL == BOARD_TDECK
     SPI.begin(pin_sclk, pin_miso, pin_mosi, pin_cs);
-  #elif BOARD_MODEL == BOARD_TECHO  // || BOARD_MODEL == BOARD_SEEED_XIAO_ESP32S3
+  #elif BOARD_MODEL == BOARD_TECHO
     SPI.setPins(pin_miso, pin_sclk, pin_mosi);
     SPI.begin();
   #else