diff --git a/src/lora_utils.cpp b/src/lora_utils.cpp index ffe0fc5..3d9e8b0 100644 --- a/src/lora_utils.cpp +++ b/src/lora_utils.cpp @@ -23,8 +23,9 @@ bool transmitFlag = true; #endif #ifdef HAS_SX1268 #if defined(LIGHTGATEWAY_1_0) || defined(LIGHTGATEWAY_PLUS_1_0) - SPIClass loraSPI(FSPI); - SX1268 radio = new Module(RADIO_CS_PIN, RADIO_DIO1_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN, loraSPI); + //SPIClass loraSPI(FSPI); + //SX1268 radio = new Module(RADIO_CS_PIN, RADIO_DIO1_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN, loraSPI); + SX1268 radio = new Module(RADIO_CS_PIN, RADIO_DIO1_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN); #else SX1268 radio = new Module(RADIO_CS_PIN, RADIO_DIO1_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN); #endif @@ -53,7 +54,8 @@ namespace LoRa_Utils { #if defined (LIGHTGATEWAY_1_0) || defined(LIGHTGATEWAY_PLUS_1_0) pinMode(RADIO_VCC_PIN,OUTPUT); digitalWrite(RADIO_VCC_PIN,HIGH); - loraSPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN, RADIO_CS_PIN); + //loraSPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN, RADIO_CS_PIN); + SPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN); #else SPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN); #endif diff --git a/src/sleep_utils.cpp b/src/sleep_utils.cpp index 06c8671..aa5a5b6 100644 --- a/src/sleep_utils.cpp +++ b/src/sleep_utils.cpp @@ -32,11 +32,31 @@ namespace SLEEP_Utils { if (Config.digi.ecoMode == 1) { pinMode(RADIO_WAKEUP_PIN, INPUT); attachInterrupt(digitalPinToInterrupt(RADIO_WAKEUP_PIN), wakeUpLoRaPacketReceived, RISING); - #if defined(TTGO_LORA32_V2_1) || defined(TTGO_LORA32_V2_1_915) || defined(TTGO_LORA32_T3S3_V1_2) || defined(TTGO_T_BEAM_V1_0) || defined(TTGO_T_BEAM_V1_0_915) || defined(TTGO_T_BEAM_V1_0_SX1268) || defined(TTGO_T_BEAM_V1_2) || defined(TTGO_T_BEAM_V1_2_915) || defined(TTGO_T_BEAM_V1_2_SX1262) || defined(TTGO_T_DECK_PLUS) || defined(TTGO_T_DECK_GPS) || defined(TTGO_T_Beam_S3_SUPREME_V3) || defined(HELTEC_V3) || defined(HELTEC_V3_2) || defined(HELTEC_WP) || defined(HELTEC_WS) || defined(HELTEC_WSL_V3) || defined(HELTEC_WSL_V3_DISPLAY) || defined(HELTEC_WIRELESS_TRACKER) || defined(HELTEC_V2) || defined(XIAO_ESP32S3_LORA) || defined(LIGHTGATEWAY_1_0) || defined(LIGHTGATEWAY_PLUS_1_0) || defined(TROY_LoRa_APRS) || defined(OE5HWN_MeshCom) || defined(ESP32_DIY_LoRa) || defined(ESP32_DIY_LoRa_915) || defined(ESP32_DIY_1W_LoRa) || defined(ESP32_DIY_1W_LoRa_915) || defined(ESP32_DIY_1W_LoRa_LLCC68) || defined(ESP32_DIY_1W_LoRa_Mesh_V1_2) || defined(WEMOS_S2_MINI_DIY_LoRa) || defined(WEMOS_D1_R32_RA02) || defined(WEMOS_LOLIN32_OLED_DIY_LoRa) + #if defined(TTGO_LORA32_V2_1) || defined(TTGO_LORA32_V2_1_915) || defined(TTGO_LORA32_T3S3_V1_2) || defined(TTGO_T_BEAM_V1_0) || defined(TTGO_T_BEAM_V1_0_915) || defined(TTGO_T_BEAM_V1_0_SX1268) || defined(TTGO_T_BEAM_V1_2) || defined(TTGO_T_BEAM_V1_2_915) || defined(TTGO_T_BEAM_V1_2_SX1262) || defined(TTGO_T_DECK_PLUS) || defined(TTGO_T_DECK_GPS) || defined(TTGO_T_Beam_S3_SUPREME_V3) || defined(HELTEC_V3) || defined(HELTEC_V3_2) || defined(HELTEC_WP) || defined(HELTEC_WS) || defined(HELTEC_WSL_V3) || defined(HELTEC_WSL_V3_DISPLAY) || defined(HELTEC_WIRELESS_TRACKER) || defined(HELTEC_V2) || defined(XIAO_ESP32S3_LORA) || defined(LIGHTGATEWAY_1_0) || defined(TROY_LoRa_APRS) || defined(OE5HWN_MeshCom) || defined(ESP32_DIY_LoRa) || defined(ESP32_DIY_LoRa_915) || defined(ESP32_DIY_1W_LoRa) || defined(ESP32_DIY_1W_LoRa_915) || defined(ESP32_DIY_1W_LoRa_LLCC68) || defined(ESP32_DIY_1W_LoRa_Mesh_V1_2) || defined(WEMOS_S2_MINI_DIY_LoRa) || defined(WEMOS_D1_R32_RA02) || defined(WEMOS_LOLIN32_OLED_DIY_LoRa) esp_sleep_enable_ext1_wakeup(GPIO_WAKEUP_PIN, ESP_EXT1_WAKEUP_ANY_HIGH); + + + //esp_sleep_enable_ext1_wakeup(1ULL << GPIO_WAKEUP_PIN, ESP_EXT1_WAKEUP_ANY_HIGH); + //gpio_wakeup_enable((gpio_num_t)RADIO_WAKEUP_PIN, GPIO_INTR_HIGH_LEVEL); // ????? #endif #if defined(HELTEC_HTCT62) || defined(ESP32C3_DIY_1W_LoRa) || defined(ESP32C3_DIY_1W_LoRa_915) || defined(ESP32_C3_OctopusLab_LoRa) esp_deep_sleep_enable_gpio_wakeup(1ULL << GPIO_WAKEUP_PIN, ESP_GPIO_WAKEUP_GPIO_HIGH); + + //gpio_wakeup_enable(GPIO_WAKEUP_PIN, GPIO_INTR_HIGH_LEVEL); + //esp_sleep_enable_gpio_wakeup(); + #endif + #if defined(LIGHTGATEWAY_PLUS_1_0) + //esp_sleep_enable_ext1_wakeup(GPIO_WAKEUP_PIN, ESP_EXT1_WAKEUP_ANY_HIGH); + esp_sleep_enable_ext1_wakeup(1ULL << GPIO_WAKEUP_PIN, ESP_EXT1_WAKEUP_ANY_HIGH); + + // Configure the GPIO wakeup source + //esp_sleep_enable_gpio_wakeup(); + + // Set wakeup condition on GPIO5: high level + //gpio_wakeup_enable(GPIO_NUM_5, GPIO_INTR_HIGH_LEVEL); + //gpio_wakeup_enable(GPIO_WAKEUP_PIN, GPIO_INTR_HIGH_LEVEL); + + #endif } } @@ -53,8 +73,13 @@ namespace SLEEP_Utils { esp_sleep_enable_timer_wakeup(timeToSleep * 1000000); // 1 min = 60sec Serial.print("(Sleeping : "); Serial.print(timeToSleep); Serial.println("seconds)"); delay(100); - LoRa_Utils::wakeRadio(); - esp_light_sleep_start(); + //LoRa_Utils::wakeRadio(); + LoRa_Utils::sleepRadio(); + //esp_light_sleep_start(); + delay(500); + digitalWrite(RADIO_VCC_PIN,LOW); + delay(500); + esp_deep_sleep_start(); } } diff --git a/variants/QRPLabs_LightGateway_Plus_1_0/board_pinout.h b/variants/QRPLabs_LightGateway_Plus_1_0/board_pinout.h index 8396cb0..96c01f3 100644 --- a/variants/QRPLabs_LightGateway_Plus_1_0/board_pinout.h +++ b/variants/QRPLabs_LightGateway_Plus_1_0/board_pinout.h @@ -16,6 +16,7 @@ #define RADIO_TXEN 14 #define RADIO_WAKEUP_PIN RADIO_DIO1_PIN #define GPIO_WAKEUP_PIN GPIO_SEL_5 + //#define GPIO_WAKEUP_PIN GPIO_NUM_5 // Display #define HAS_DISPLAY diff --git a/variants/heltec_ht-ct62/board_pinout.h b/variants/heltec_ht-ct62/board_pinout.h index 9faa1d9..d4984b0 100644 --- a/variants/heltec_ht-ct62/board_pinout.h +++ b/variants/heltec_ht-ct62/board_pinout.h @@ -11,7 +11,7 @@ #define RADIO_DIO1_PIN 3 #define RADIO_BUSY_PIN 4 #define RADIO_WAKEUP_PIN RADIO_DIO1_PIN - #define GPIO_WAKEUP_PIN RADIO_DIO1_PIN + #define GPIO_WAKEUP_PIN GPIO_NUM_3 // Aditional Config #define BATTERY_PIN 1