From 76cc49cc1425deea706ff9547baa7241d5a04c7c Mon Sep 17 00:00:00 2001 From: richonguzman Date: Sat, 27 Jan 2024 22:08:18 -0300 Subject: [PATCH] elegantOTA and HAS_PMU_Mods --- src/lora_utils.cpp | 24 +++++++++++++----------- src/pins_config.h | 15 +++++++++++++++ src/power_utils.cpp | 24 ++++++++++++------------ 3 files changed, 40 insertions(+), 23 deletions(-) diff --git a/src/lora_utils.cpp b/src/lora_utils.cpp index 9ebc868..36e534c 100644 --- a/src/lora_utils.cpp +++ b/src/lora_utils.cpp @@ -27,13 +27,13 @@ float snr; namespace LoRa_Utils { void setFlag(void) { - #if defined(HELTEC_V3) || defined(ESP32_DIY_1W_LoRa) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(TTGO_T_Beam_V1_2_SX1262) + #ifdef HAS_SX126X transmissionFlag = true; #endif } void setup() { - #if defined(TTGO_T_LORA32_V2_1) || defined(HELTEC_V2) || defined(ESP32_DIY_LoRa) || defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_2) + #ifdef HAS_SX127X SPI.begin(LORA_SCK, LORA_MISO, LORA_MOSI, LORA_CS); LoRa.setPins(LORA_CS, LORA_RST, LORA_IRQ); long freq; @@ -56,7 +56,7 @@ namespace LoRa_Utils { LoRa.setTxPower(Config.loramodule.power); Serial.print("init : LoRa Module ... done!"); #endif - #if defined(HELTEC_V3) || defined(ESP32_DIY_1W_LoRa) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(TTGO_T_Beam_V1_2_SX1262) + #ifdef HAS_SX126X SPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN); float freq = (float)Config.loramodule.iGateFreq/1000000; int state = radio.begin(freq); @@ -92,7 +92,7 @@ namespace LoRa_Utils { #if defined(TTGO_T_LORA32_V2_1) || defined(HELTEC_V2) || defined(HELTEC_V3) || defined(ESP32_DIY_LoRa) || defined(ESP32_DIY_1W_LoRa) digitalWrite(internalLedPin,HIGH); #endif - #if defined(TTGO_T_LORA32_V2_1) || defined(HELTEC_V2) || defined(ESP32_DIY_LoRa) || defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_2) + #ifdef HAS_SX127X LoRa.beginPacket(); LoRa.write('<'); if (typeOfMessage == "APRS") { @@ -104,7 +104,7 @@ namespace LoRa_Utils { LoRa.write((const uint8_t *)newPacket.c_str(), newPacket.length()); LoRa.endPacket(); #endif - #if defined(HELTEC_V3) || defined(ESP32_DIY_1W_LoRa) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(TTGO_T_Beam_V1_2_SX1262) + #ifdef HAS_SX126X int state = radio.transmit("\x3c\xff\x01" + newPacket); if (state == RADIOLIB_ERR_NONE) { //Serial.println(F("success!")); @@ -149,7 +149,7 @@ namespace LoRa_Utils { String receivePacket() { String loraPacket = ""; - #if defined(TTGO_T_LORA32_V2_1) || defined(HELTEC_V2) || defined(ESP32_DIY_LoRa) || defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_2) + #ifdef HAS_SX127X int packetSize = LoRa.parsePacket(); if (packetSize) { while (LoRa.available()) { @@ -161,7 +161,7 @@ namespace LoRa_Utils { freqError = LoRa.packetFrequencyError(); } #endif - #if defined(HELTEC_V3) || defined(ESP32_DIY_1W_LoRa) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(TTGO_T_Beam_V1_2_SX1262) + #ifdef HAS_SX126X if (transmissionFlag) { transmissionFlag = false; radio.startReceive(); @@ -181,9 +181,11 @@ namespace LoRa_Utils { } } #endif + // // // // // // if ((loraPacket.indexOf("\0")!=-1) || (loraPacket.indexOf("\r")!=-1) || (loraPacket.indexOf("\n")!=-1)) { loraPacket = packetSanitization(loraPacket); } + // // // // // // #ifndef TextSerialOutputForApp if (loraPacket!="") { Serial.println("(RSSI:" +String(rssi) + " / SNR:" + String(snr) + " / FreqErr:" + String(freqError) + ")"); @@ -197,10 +199,10 @@ namespace LoRa_Utils { void changeFreqTx() { delay(500); - #if defined(TTGO_T_LORA32_V2_1) || defined(HELTEC_V2) || defined(ESP32_DIY_LoRa) || defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_2) + #ifdef HAS_SX127X LoRa.setFrequency(Config.loramodule.digirepeaterTxFreq); #endif - #if defined(HELTEC_V3) || defined(ESP32_DIY_1W_LoRa) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(TTGO_T_Beam_V1_2_SX1262) + #ifdef HAS_SX126X float freq = (float)Config.loramodule.digirepeaterTxFreq/1000000; radio.setFrequency(freq); #endif @@ -208,10 +210,10 @@ namespace LoRa_Utils { void changeFreqRx() { delay(500); - #if defined(TTGO_T_LORA32_V2_1) || defined(HELTEC_V2) || defined(ESP32_DIY_LoRa) || defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_2) + #ifdef HAS_SX127X LoRa.setFrequency(Config.loramodule.digirepeaterRxFreq); #endif - #if defined(HELTEC_V3) || defined(ESP32_DIY_1W_LoRa) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(TTGO_T_Beam_V1_2_SX1262) + #ifdef HAS_SX126X float freq = (float)Config.loramodule.digirepeaterRxFreq/1000000; radio.setFrequency(freq); #endif diff --git a/src/pins_config.h b/src/pins_config.h index 53fce25..681066d 100644 --- a/src/pins_config.h +++ b/src/pins_config.h @@ -7,6 +7,21 @@ #undef OLED_SCL #undef OLED_RST +#if defined(HELTEC_V3) || defined(ESP32_DIY_1W_LoRa) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(TTGO_T_Beam_V1_2_SX1262) +#define HAS_SX126X +#endif + +#if defined(TTGO_T_LORA32_V2_1) || defined(HELTEC_V2) || defined(ESP32_DIY_LoRa) || defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_2) +#define HAS_SX127X +#endif + +#if defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_0_SX1268) +#define HAS_AXP192 +#endif + +#if defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_2_SX1262) +#define HAS_AXP2101 +#endif // LORA MODULES #if defined(TTGO_T_LORA32_V2_1) || defined(HELTEC_V2) || defined(ESP32_DIY_LoRa) diff --git a/src/power_utils.cpp b/src/power_utils.cpp index 5d0e35c..c682702 100644 --- a/src/power_utils.cpp +++ b/src/power_utils.cpp @@ -2,16 +2,16 @@ #include "power_utils.h" #include "pins_config.h" -#if defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_2_SX1262) +#if defined(HAS_AXP192) || defined(HAS_AXP2101) #define I2C_SDA 21 #define I2C_SCL 22 #define IRQ_PIN 35 #endif -#if defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_0_SX1268) +#ifdef HAS_AXP192 XPowersAXP192 PMU; #endif -#if defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_2_SX1262) +#ifdef HAS_AXP2101 XPowersAXP2101 PMU; #endif @@ -25,7 +25,7 @@ namespace POWER_Utils { String batteryChargeDischargeCurrent = ""; void activateMeasurement() { - #if defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_0_SX1268) || defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_2_SX1262) + #if defined(HAS_AXP192) || defined(HAS_AXP2101) PMU.disableTSPinMeasure(); PMU.enableBattDetection(); PMU.enableVbusVoltageMeasure(); @@ -35,21 +35,21 @@ namespace POWER_Utils { } void activateLoRa() { - #if defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_0_SX1268) + #ifdef HAS_AXP192 PMU.setLDO2Voltage(3300); PMU.enableLDO2(); #endif - #if defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_2_SX1262) + #ifdef HAS_AXP2101 PMU.setALDO2Voltage(3300); PMU.enableALDO2(); #endif } void deactivateLoRa() { - #if defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_0_SX1268) + #ifdef HAS_AXP192 PMU.disableLDO2(); #endif - #if defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_2_SX1262) + #ifdef HAS_AXP2101 PMU.disableALDO2(); #endif } @@ -59,7 +59,7 @@ namespace POWER_Utils { return true; #endif - #if defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_0_SX1268) + #ifdef HAS_AXP192 bool result = PMU.begin(Wire, AXP192_SLAVE_ADDRESS, I2C_SDA, I2C_SCL); if (result) { PMU.disableDC2(); @@ -73,7 +73,7 @@ namespace POWER_Utils { return result; #endif - #if defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_2_SX1262) + #ifdef HAS_AXP2101 bool result = PMU.begin(Wire, AXP2101_SLAVE_ADDRESS, I2C_SDA, I2C_SCL); if (result) { PMU.disableDC2(); @@ -98,7 +98,7 @@ namespace POWER_Utils { void setup() { Wire.end(); - #if defined(TTGO_T_Beam_V1_0) || defined(TTGO_T_Beam_V1_0_SX1268) + #ifdef HAS_AXP192 Wire.begin(SDA, SCL); if (begin(Wire)) { Serial.println("AXP192 init done!"); @@ -113,7 +113,7 @@ namespace POWER_Utils { PMU.setSysPowerDownVoltage(2600); #endif - #if defined(TTGO_T_Beam_V1_2) || defined(TTGO_T_Beam_V1_2_SX1262) + #ifdef HAS_AXP2101 Wire.begin(SDA, SCL); if (begin(Wire)) { Serial.println("AXP2101 init done!");