From 10798d2c9a3cf1156c8e54e1853fa86f2003baed Mon Sep 17 00:00:00 2001 From: richonguzman Date: Thu, 8 May 2025 12:53:55 -0400 Subject: [PATCH] 8.45mA --- include/sleep_utils.h | 1 + src/LoRa_APRS_iGate.cpp | 3 ++- src/power_utils.cpp | 23 ++++++++++++++--------- src/sleep_utils.cpp | 5 ++++- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/include/sleep_utils.h b/include/sleep_utils.h index 52e8ba5..1c6f8b5 100644 --- a/include/sleep_utils.h +++ b/include/sleep_utils.h @@ -8,6 +8,7 @@ namespace SLEEP_Utils { void setup(); void checkWakeUpFlag(); void startSleeping(); + void checkSerial(); } diff --git a/src/LoRa_APRS_iGate.cpp b/src/LoRa_APRS_iGate.cpp index 1c498d6..3a9732f 100644 --- a/src/LoRa_APRS_iGate.cpp +++ b/src/LoRa_APRS_iGate.cpp @@ -48,7 +48,7 @@ ___________________________________________________________________*/ #endif -String versionDate = "2025-04-25"; +String versionDate = "2025-05-08"; Configuration Config; WiFiClient espClient; #ifdef HAS_GPS @@ -105,6 +105,7 @@ void setup() { #endif Utils::checkRebootMode(); APRS_IS_Utils::firstConnection(); + SLEEP_Utils::checkSerial(); } void loop() { diff --git a/src/power_utils.cpp b/src/power_utils.cpp index 314066f..07ba4cd 100644 --- a/src/power_utils.cpp +++ b/src/power_utils.cpp @@ -216,6 +216,7 @@ namespace POWER_Utils { #ifdef INTERNAL_LED_PIN pinMode(INTERNAL_LED_PIN, OUTPUT); + digitalWrite(INTERNAL_LED_PIN, LOW); #endif if (Config.battery.sendExternalVoltage || Config.battery.monitorExternalVoltage) { @@ -223,15 +224,13 @@ namespace POWER_Utils { } #ifdef VEXT_CTRL - if (Config.digi.ecoMode != 1) { - pinMode(VEXT_CTRL,OUTPUT); // GPS + TFT on HELTEC Wireless_Tracker and only for Oled in HELTEC V3 - #if defined(HELTEC_WIRELESS_TRACKER) || defined(HELTEC_V3) - digitalWrite(VEXT_CTRL, HIGH); - #endif - #if defined(HELTEC_WP) || defined(HELTEC_WS) || defined(HELTEC_V3_2) - digitalWrite(VEXT_CTRL, LOW); - #endif - } + pinMode(VEXT_CTRL,OUTPUT); // GPS + TFT on HELTEC Wireless_Tracker and only for Oled in HELTEC V3 + #if defined(HELTEC_WIRELESS_TRACKER) || defined(HELTEC_V3) + digitalWrite(VEXT_CTRL, Config.digi.ecoMode == 1 ? LOW : HIGH); + #endif + #if defined(HELTEC_WP) || defined(HELTEC_WS) || defined(HELTEC_V3_2) || defined(HELTEC_WSL_V3) + digitalWrite(VEXT_CTRL, Config.digi.ecoMode == 1 ? HIGH : LOW); + #endif #endif #ifdef HAS_GPS @@ -240,6 +239,12 @@ namespace POWER_Utils { #ifdef ADC_CTRL pinMode(ADC_CTRL, OUTPUT); + #if defined(HELTEC_WIRELESS_TRACKER) || defined(HELTEC_V3_2) + digitalWrite(ADC_CTRL, LOW); + #endif + #if defined(HELTEC_V3) || defined(HELTEC_V2) || defined(HELTEC_WSL_V3) || defined(HELTEC_WP) + digitalWrite(ADC_CTRL, HIGH); + #endif #endif #if defined(HELTEC_WIRELESS_TRACKER) diff --git a/src/sleep_utils.cpp b/src/sleep_utils.cpp index 5081958..a6c2970 100644 --- a/src/sleep_utils.cpp +++ b/src/sleep_utils.cpp @@ -32,7 +32,6 @@ namespace SLEEP_Utils { if (Config.digi.ecoMode == 1) { pinMode(RADIO_WAKEUP_PIN, INPUT); attachInterrupt(digitalPinToInterrupt(RADIO_WAKEUP_PIN), wakeUpLoRaPacketReceived, RISING); - LoRa_Utils::wakeRadio(); #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); #endif @@ -60,4 +59,8 @@ namespace SLEEP_Utils { } + void checkSerial() { + if (Config.digi.ecoMode == 1) Serial.end(); + } + } \ No newline at end of file