From e432d037732c3e73382f02a0d15135ad8098db5a Mon Sep 17 00:00:00 2001 From: richonguzman Date: Tue, 30 Jul 2024 19:15:00 -0400 Subject: [PATCH] Heltec v3 TNC added --- platformio.ini | 17 ++++++++++++++++- src/LoRa_APRS_Tracker.cpp | 2 +- src/boards_pinout.h | 2 +- src/menu_utils.cpp | 2 +- src/power_utils.cpp | 10 +++++----- 5 files changed, 24 insertions(+), 9 deletions(-) diff --git a/platformio.ini b/platformio.ini index 0874b16..b0a18fd 100644 --- a/platformio.ini +++ b/platformio.ini @@ -238,7 +238,22 @@ lib_deps = ${common.lib_deps} adafruit/Adafruit GFX Library @ 1.11.9 adafruit/Adafruit SSD1306 @ 2.5.10 - adafruit/Adafruit SH110X @ 2.1.10 + +[env:heltec_wifi_lora_32_v3_TNC] +extends = env:esp32 +board = heltec_wifi_lora_32_V3 +board_build.mcu = esp32s3 +build_flags = + -Werror -Wall + -DHELTEC_V3_TNC + -DHAS_SX1262 + -DHAS_NO_GPS + -DARDUINO_USB_MODE=1 + -DARDUINO_USB_CDC_ON_BOOT=1 +lib_deps = + ${common.lib_deps} + adafruit/Adafruit GFX Library @ 1.11.9 + adafruit/Adafruit SSD1306 @ 2.5.10 [env:heltec_wireless_tracker] diff --git a/src/LoRa_APRS_Tracker.cpp b/src/LoRa_APRS_Tracker.cpp index 80730fc..fff214b 100644 --- a/src/LoRa_APRS_Tracker.cpp +++ b/src/LoRa_APRS_Tracker.cpp @@ -46,7 +46,7 @@ TinyGPSPlus gps; OneButton userButton = OneButton(BUTTON_PIN, true, true); #endif -String versionDate = "2024.07.25"; +String versionDate = "2024.07.30"; uint8_t myBeaconsIndex = 0; int myBeaconsSize = Config.beacons.size(); diff --git a/src/boards_pinout.h b/src/boards_pinout.h index 832259d..15ca85f 100644 --- a/src/boards_pinout.h +++ b/src/boards_pinout.h @@ -78,7 +78,7 @@ #endif -#ifdef HELTEC_V3_GPS +#if defined(HELTEC_V3_GPS) || defined(HELTEC_V3_TNC) #define OLED_SDA 17 #define OLED_SCL 18 #define OLED_RST 21 diff --git a/src/menu_utils.cpp b/src/menu_utils.cpp index f254dcb..0cec0b8 100644 --- a/src/menu_utils.cpp +++ b/src/menu_utils.cpp @@ -607,7 +607,7 @@ namespace MENU_Utils { if (POWER_Utils::getBatteryInfoIsConnected()) { String batteryVoltage = POWER_Utils::getBatteryInfoVoltage(); String batteryCharge = POWER_Utils::getBatteryInfoCurrent(); - #if defined(TTGO_T_Beam_V0_7) || defined(TTGO_T_LORA32_V2_1_GPS) || defined(TTGO_T_LORA32_V2_1_GPS_915) || defined(TTGO_T_LORA32_V2_1_TNC) || defined(TTGO_T_LORA32_V2_1_TNC_915) || defined(HELTEC_V3_GPS) || defined(HELTEC_WIRELESS_TRACKER) || defined(TTGO_T_DECK_GPS) + #if defined(TTGO_T_Beam_V0_7) || defined(TTGO_T_LORA32_V2_1_GPS) || defined(TTGO_T_LORA32_V2_1_GPS_915) || defined(TTGO_T_LORA32_V2_1_TNC) || defined(TTGO_T_LORA32_V2_1_TNC_915) || defined(HELTEC_V3_GPS) || defined(HELTEC_V3_TNC) || defined(HELTEC_WIRELESS_TRACKER) || defined(TTGO_T_DECK_GPS) sixthRowMainMenu = "Bat: "; sixthRowMainMenu += batteryVoltage; sixthRowMainMenu += "V"; diff --git a/src/power_utils.cpp b/src/power_utils.cpp index d97e235..de1265c 100644 --- a/src/power_utils.cpp +++ b/src/power_utils.cpp @@ -59,7 +59,7 @@ namespace POWER_Utils { #ifdef HELTEC_WIRELESS_TRACKER digitalWrite(ADC_CTRL, HIGH); #endif - #if defined(HELTEC_V3_GPS) || defined(HELTEC_V2_GPS) || defined(HELTEC_V2_GPS_915) + #if defined(HELTEC_V3_GPS) || defined(HELTEC_V3_TNC)|| defined(HELTEC_V2_GPS) || defined(HELTEC_V2_GPS_915) digitalWrite(ADC_CTRL, LOW); #endif #endif @@ -68,7 +68,7 @@ namespace POWER_Utils { #ifdef HELTEC_WIRELESS_TRACKER digitalWrite(ADC_CTRL, LOW); #endif - #if defined(HELTEC_V3_GPS) || defined(HELTEC_V2_GPS) || defined(HELTEC_V2_GPS_915) + #if defined(HELTEC_V3_GPS) || defined(HELTEC_V3_TNC) || defined(HELTEC_V2_GPS) || defined(HELTEC_V2_GPS_915) digitalWrite(ADC_CTRL, HIGH); #endif batteryMeasurmentTime = millis(); @@ -77,7 +77,7 @@ namespace POWER_Utils { #if defined(TTGO_T_Beam_V0_7) || defined(TTGO_T_LORA32_V2_1_GPS) || defined(TTGO_T_LORA32_V2_1_GPS_915) || defined(TTGO_T_LORA32_V2_1_TNC) || defined(TTGO_T_LORA32_V2_1_TNC_915) || defined(ESP32_DIY_LoRa_GPS) || defined(ESP32_DIY_LoRa_GPS_915) || defined(ESP32_DIY_1W_LoRa_GPS) || defined(ESP32_DIY_1W_LoRa_GPS_915) || defined(OE5HWN_MeshCom) || defined(TTGO_T_DECK_GPS) return (2 * (voltage + 0.1)) * (1 + (lora32BatReadingCorr/100)); // (2 x 100k voltage divider) 2 x voltage divider/+0.1 because ESP32 nonlinearity ~100mV ADC offset/extra correction #endif - #if defined(HELTEC_V3_GPS) || defined(HELTEC_WIRELESS_TRACKER) || defined(ESP32_C3_DIY_LoRa_GPS) || defined(ESP32_C3_DIY_LoRa_GPS_915) || defined(WEMOS_ESP32_Bat_LoRa_GPS) + #if defined(HELTEC_V3_GPS) || defined(HELTEC_V3_TNC)|| defined(HELTEC_WIRELESS_TRACKER) || defined(ESP32_C3_DIY_LoRa_GPS) || defined(ESP32_C3_DIY_LoRa_GPS_915) || defined(WEMOS_ESP32_Bat_LoRa_GPS) double inputDivider = (1.0 / (390.0 + 100.0)) * 100.0; // The voltage divider is a 390k + 100k resistor in series, 100k on the low side. return (voltage / inputDivider) + 0.285; // Yes, this offset is excessive, but the ADC on the ESP32s3 is quite inaccurate and noisy. Adjust to own measurements. #endif @@ -427,7 +427,7 @@ namespace POWER_Utils { Wire.begin(BOARD_I2C_SDA, BOARD_I2C_SCL); #endif - #ifdef HELTEC_V3_GPS + #if defined(HELTEC_V3_GPS) || defined(HELTEC_V3_TNC) Wire1.begin(BOARD_I2C_SDA, BOARD_I2C_SCL); #endif @@ -485,7 +485,7 @@ namespace POWER_Utils { #ifdef HELTEC_WIRELESS_TRACKER digitalWrite(ADC_CTRL, LOW); #endif - #ifdef HELTEC_V3_GPS + #if defined(HELTEC_V3_GPS) || defined(HELTEC_V3_TNC) digitalWrite(ADC_CTRL, HIGH); #endif #endif