Compare commits

...

4 Commits
UEM1 ... UEM2

Author SHA1 Message Date
richonguzman
d2b7c063f7 hwt not ready 2025-04-24 18:02:29 -04:00
richonguzman
eaced15265 pruebas3 2025-04-24 18:01:00 -04:00
richonguzman
af4bc20ac2 t-beam ok 2025-04-24 16:32:58 -04:00
richonguzman
14473cb7c7 Sleep fix when saving Config 2025-04-24 16:17:29 -04:00
7 changed files with 39 additions and 22 deletions

View File

@@ -203,4 +203,11 @@ void loop() {
Utils::checkRebootTime();
Utils::checkSleepByLowBatteryVoltage(1);
}
}
}
// HWT not sleeping!
// ESP32C3 :
// - HT-CT62 ??
// - and others?

View File

@@ -2,6 +2,7 @@
#include "configuration.h"
#include "aprs_is_utils.h"
#include "station_utils.h"
#include "board_pinout.h"
#include "syslog_utils.h"
#include "query_utils.h"
#include "A7670_utils.h"
@@ -370,7 +371,17 @@ namespace APRS_IS_Utils {
listenAPRSIS();
}
}
if (Config.digi.ecoMode == 1) displayToggle(false);
if (Config.digi.ecoMode == 1) {
displayToggle(false);
#ifdef VEXT_CTRL
#if defined(HELTEC_WIRELESS_TRACKER) || defined(HELTEC_V3)
digitalWrite(VEXT_CTRL, LOW);
#endif
#if defined(HELTEC_WP) || defined(HELTEC_WS) || defined(HELTEC_V3_2)
digitalWrite(VEXT_CTRL, HIGH);
#endif
#endif
}
}
}

View File

@@ -4,6 +4,9 @@
#include "display.h"
bool shouldSleepStop = true;
void Configuration::writeFile() {
Serial.println("Saving config...");
@@ -166,6 +169,7 @@ bool Configuration::readFile() {
digi.mode = data["digi"]["mode"] | 0;
digi.ecoMode = data["digi"]["ecoMode"] | 0;
if (digi.ecoMode == 1) shouldSleepStop = false;
loramodule.txFreq = data["lora"]["txFreq"] | 433775000;
loramodule.rxFreq = data["lora"]["rxFreq"] | 433775000;

View File

@@ -225,7 +225,7 @@ namespace GPS_Utils {
void setup() {
#ifdef HAS_GPS
if (Config.beacon.gpsActive) {
if (Config.beacon.gpsActive && Config.digi.ecoMode != 1) {
gpsSerial.begin(GPS_BAUD, SERIAL_8N1, GPS_TX, GPS_RX);
}
#endif

View File

@@ -133,8 +133,7 @@ namespace LoRa_Utils {
}
#ifdef INTERNAL_LED_PIN
//if (Config.digi.ecoMode != 1)
digitalWrite(INTERNAL_LED_PIN, HIGH); // disabled in Ultra Eco Mode
if (Config.digi.ecoMode != 1) digitalWrite(INTERNAL_LED_PIN, HIGH); // disabled in Ultra Eco Mode
#endif
int state = radio.transmit("\x3c\xff\x01" + newPacket);
transmitFlag = true;
@@ -149,18 +148,13 @@ namespace LoRa_Utils {
Utils::println(String(state));
}
#ifdef INTERNAL_LED_PIN
//if (Config.digi.ecoMode != 1)
digitalWrite(INTERNAL_LED_PIN, LOW); // disabled in Ultra Eco Mode
if (Config.digi.ecoMode != 1) digitalWrite(INTERNAL_LED_PIN, LOW); // disabled in Ultra Eco Mode
#endif
if (Config.loramodule.txFreq != Config.loramodule.rxFreq) {
changeFreqRx();
}
}
/*void startReceive() {
radio.startReceive();
}*/
String receivePacketFromSleep() {
String packet = "";
int state = radio.readData(packet);

View File

@@ -224,7 +224,7 @@ namespace POWER_Utils {
#ifdef VEXT_CTRL
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)
#if defined(HELTEC_WIRELESS_TRACKER) || defined(HELTEC_V3)
digitalWrite(VEXT_CTRL, HIGH);
#endif
#if defined(HELTEC_WP) || defined(HELTEC_WS) || defined(HELTEC_V3_2)
@@ -233,7 +233,7 @@ namespace POWER_Utils {
#endif
#ifdef HAS_GPS
if (Config.beacon.gpsActive) activateGPS();
if (Config.beacon.gpsActive && Config.digi.ecoMode != 1) activateGPS();
#endif
#ifdef ADC_CTRL

View File

@@ -6,6 +6,7 @@
extern Configuration Config;
extern bool shouldSleepStop;
extern uint32_t lastBeaconTx;
bool wakeUpFlag = false;
@@ -48,15 +49,15 @@ namespace SLEEP_Utils {
}
void startSleeping() {
uint32_t timeToSleep = getSecondsToSleep();
esp_sleep_enable_timer_wakeup(timeToSleep * 1000000); // 1 min = 60sec
Serial.print("(Sleeping : "); Serial.print(timeToSleep); Serial.println("seconds)");
//esp_sleep_enable_timer_wakeup(getSecondsToSleep() * 1000000); // 1 min = 60sec
delay(100);
LoRa_Utils::wakeRadio();
esp_light_sleep_start();
if (!shouldSleepStop) {
uint32_t timeToSleep = getSecondsToSleep();
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();
}
}
}