From ad6aed7f0d260d848446dd0d3e9a81039360a1df Mon Sep 17 00:00:00 2001 From: richonguzman Date: Fri, 10 Jan 2025 11:53:52 -0300 Subject: [PATCH] starting with Heltec V3_2 --- src/LoRa_APRS_iGate.cpp | 2 +- src/battery_utils.cpp | 4 +-- src/power_utils.cpp | 14 ++++---- src/wx_utils.cpp | 10 +++--- .../heltec_wifi_lora_32_V3_2/board_pinout.h | 34 +++++++++++++++++++ .../heltec_wifi_lora_32_V3_2/platformio.ini | 9 +++++ 6 files changed, 58 insertions(+), 15 deletions(-) create mode 100644 variants/heltec_wifi_lora_32_V3_2/board_pinout.h create mode 100644 variants/heltec_wifi_lora_32_V3_2/platformio.ini diff --git a/src/LoRa_APRS_iGate.cpp b/src/LoRa_APRS_iGate.cpp index 3a158ec..12c8f72 100644 --- a/src/LoRa_APRS_iGate.cpp +++ b/src/LoRa_APRS_iGate.cpp @@ -48,7 +48,7 @@ ___________________________________________________________________*/ #include "A7670_utils.h" #endif -String versionDate = "2025.01.08"; +String versionDate = "2025.01.10"; Configuration Config; WiFiClient espClient; #ifdef HAS_GPS diff --git a/src/battery_utils.cpp b/src/battery_utils.cpp index dab9823..9fd7c61 100644 --- a/src/battery_utils.cpp +++ b/src/battery_utils.cpp @@ -101,7 +101,7 @@ namespace BATTERY_Utils { int sample; int sampleSum = 0; #ifdef ADC_CTRL - #if defined(HELTEC_WIRELESS_TRACKER) + #if defined(HELTEC_WIRELESS_TRACKER) || defined(HELTEC_V3_2) digitalWrite(ADC_CTRL, HIGH); #endif #if defined(HELTEC_V3) || defined(HELTEC_V2) || defined(HELTEC_WSL_V3) || defined(HELTEC_WP) @@ -132,7 +132,7 @@ namespace BATTERY_Utils { } #ifdef ADC_CTRL - #if defined(HELTEC_WIRELESS_TRACKER) + #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) diff --git a/src/power_utils.cpp b/src/power_utils.cpp index 7e5ade5..804ad44 100644 --- a/src/power_utils.cpp +++ b/src/power_utils.cpp @@ -181,10 +181,10 @@ 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) + #if defined(HELTEC_WP) || defined(HELTEC_WS) || defined(HELTEC_V3_2) digitalWrite(VEXT_CTRL, LOW); #endif #endif @@ -201,13 +201,13 @@ namespace POWER_Utils { Wire.begin(BOARD_I2C_SDA, BOARD_I2C_SCL); #endif - #if defined(HELTEC_V3) || defined(HELTEC_WP) || defined(HELTEC_WSL_V3) || defined(HELTEC_WSL_V3_DISPLAY) - Wire1.begin(BOARD_I2C_SDA, BOARD_I2C_SCL); - #endif - - #if defined(HELTEC_V3) || defined(HELTEC_WS) || defined(LIGHTGATEWAY_1_0) || defined(TTGO_LORA32_T3S3_V1_2) || defined(HELTEC_V2) + #if defined(HELTEC_V3) || defined(HELTEC_V3_2) || defined(HELTEC_WS) || defined(LIGHTGATEWAY_1_0) || defined(TTGO_LORA32_T3S3_V1_2) || defined(HELTEC_V2) Wire.begin(OLED_SDA, OLED_SCL); #endif + + #if defined(HELTEC_V3) || defined(HELTEC_V3_2) || defined(HELTEC_WP) || defined(HELTEC_WSL_V3) || defined(HELTEC_WSL_V3_DISPLAY) + Wire1.begin(BOARD_I2C_SDA, BOARD_I2C_SCL); + #endif delay(1000); BATTERY_Utils::setup(); diff --git a/src/wx_utils.cpp b/src/wx_utils.cpp index f48e23d..afd7b0f 100644 --- a/src/wx_utils.cpp +++ b/src/wx_utils.cpp @@ -16,7 +16,7 @@ float newHum, newTemp, newPress, newGas; Adafruit_BME280 bme280; -#ifdef HELTEC_V3 +#if defined(HELTEC_V3) || defined(HELTEC_V3_2) Adafruit_BMP280 bmp280(&Wire1); Adafruit_Si7021 sensor = Adafruit_Si7021(); #else @@ -32,7 +32,7 @@ namespace WX_Utils { void getWxModuleAddres() { uint8_t err, addr; for(addr = 1; addr < 0x7F; addr++) { - #if defined(HELTEC_V3) || defined(HELTEC_WSL_V3) || defined(HELTEC_WSL_V3_DISPLAY) + #if defined(HELTEC_V3) || defined(HELTEC_V3_2) || defined(HELTEC_WSL_V3) || defined(HELTEC_WSL_V3_DISPLAY) Wire1.beginTransmission(addr); err = Wire1.endTransmission(); #else @@ -58,7 +58,7 @@ namespace WX_Utils { if (wxModuleAddress != 0x00) { bool wxModuleFound = false; if (wxModuleAddress == 0x76 || wxModuleAddress == 0x77) { - #if defined(HELTEC_V3) || defined(HELTEC_WSL_V3) || defined(HELTEC_WSL_V3_DISPLAY) + #if defined(HELTEC_V3) || defined(HELTEC_V3_2) || defined(HELTEC_WSL_V3) || defined(HELTEC_WSL_V3_DISPLAY) if (bme280.begin(wxModuleAddress, &Wire1)) { Serial.println("BME280 sensor found"); wxModuleType = 1; @@ -115,7 +115,7 @@ namespace WX_Utils { Serial.println("BMP280 Module init done!"); break; case 3: - #ifndef HELTEC_V3 + #if !defined(HELTEC_V3) && !defined(HELTEC_V3_2) bme680.setTemperatureOversampling(BME680_OS_1X); bme680.setHumidityOversampling(BME680_OS_1X); bme680.setPressureOversampling(BME680_OS_1X); @@ -195,7 +195,7 @@ namespace WX_Utils { newHum = 0; break; case 3: // BME680 - #ifndef HELTEC_V3 + #if !defined(HELTEC_V3) && !defined(HELTEC_V3_2) bme680.performReading(); delay(50); if (bme680.endReading()) { diff --git a/variants/heltec_wifi_lora_32_V3_2/board_pinout.h b/variants/heltec_wifi_lora_32_V3_2/board_pinout.h new file mode 100644 index 0000000..4746646 --- /dev/null +++ b/variants/heltec_wifi_lora_32_V3_2/board_pinout.h @@ -0,0 +1,34 @@ +#ifndef BOARD_PINOUT_H_ +#define BOARD_PINOUT_H_ + + // LoRa Radio + #define HAS_SX1262 + #define RADIO_SCLK_PIN 9 + #define RADIO_MISO_PIN 11 + #define RADIO_MOSI_PIN 10 + #define RADIO_CS_PIN 8 + #define RADIO_RST_PIN 12 + #define RADIO_DIO1_PIN 14 + #define RADIO_BUSY_PIN 13 + + // Display + #define HAS_DISPLAY + + #undef OLED_SDA + #undef OLED_SCL + #undef OLED_RST + + #define OLED_SDA 17 + #define OLED_SCL 18 + #define OLED_RST 21 + #define OLED_DISPLAY_HAS_RST_PIN + + // Aditional Config + #define INTERNAL_LED_PIN 35 + #define BATTERY_PIN 1 + #define VEXT_CTRL 36 + #define ADC_CTRL 37 + #define BOARD_I2C_SDA 41 + #define BOARD_I2C_SCL 42 + +#endif \ No newline at end of file diff --git a/variants/heltec_wifi_lora_32_V3_2/platformio.ini b/variants/heltec_wifi_lora_32_V3_2/platformio.ini new file mode 100644 index 0000000..dbe52ef --- /dev/null +++ b/variants/heltec_wifi_lora_32_V3_2/platformio.ini @@ -0,0 +1,9 @@ +[env:heltec_wifi_lora_32_V3_2] +board = heltec_wifi_lora_32_V3 +board_build.mcu = esp32s3 +build_flags = + ${common.build_flags} + -D HELTEC_V3_2 +lib_deps = + ${common.lib_deps} + ${common.display_libs} \ No newline at end of file