diff --git a/src/display.cpp b/src/display.cpp index ba5c577..79e77ef 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -57,7 +57,7 @@ String lastEpaperText; #else #include - #if defined(TTGO_T_Beam_S3_SUPREME_V3) + #ifdef HAS_SH1106 #include Adafruit_SH1106G display(128, 64, &Wire, OLED_RST); #else @@ -117,7 +117,7 @@ void displaySetup() { digitalWrite(OLED_RST, HIGH); #endif - #if defined(TTGO_T_Beam_S3_SUPREME_V3) + #ifdef HAS_SH1106 if (display.begin(0x3c, false)) { displayFound = true; if (Config.display.turn180) display.setRotation(2); @@ -157,7 +157,7 @@ void displayToggle(bool toggle) { display.printCenter("EPAPER Display Disabled by toggle..."); display.update(); #else - #if defined(TTGO_T_Beam_S3_SUPREME_V3) + #ifdef HAS_SH1106 if (displayFound) display.oled_command(SH110X_DISPLAYON); #else if (displayFound) display.ssd1306_command(SSD1306_DISPLAYON); @@ -171,7 +171,7 @@ void displayToggle(bool toggle) { #ifdef HAS_EPAPER display.update(); #else - #if defined(TTGO_T_Beam_S3_SUPREME_V3) + #ifdef HAS_SH1106 if (displayFound) display.oled_command(SH110X_DISPLAYOFF); #else if (displayFound) display.ssd1306_command(SSD1306_DISPLAYOFF); @@ -222,7 +222,7 @@ void displayShow(const String& header, const String& line1, const String& line2, #else if (displayFound) { display.clearDisplay(); - #if defined(TTGO_T_Beam_S3_SUPREME_V3) + #ifdef HAS_SH1106 display.setTextColor(SH110X_WHITE); #else display.setTextColor(WHITE); @@ -234,7 +234,7 @@ void displayShow(const String& header, const String& line1, const String& line2, display.setCursor(0, 8 + (8 * i)); display.println(*lines[i]); } - #if defined(TTGO_T_Beam_S3_SUPREME_V3) + #ifdef HAS_SH1106 display.setContrast(1); #else display.ssd1306_command(SSD1306_SETCONTRAST); @@ -288,7 +288,7 @@ void displayShow(const String& header, const String& line1, const String& line2, #else if (displayFound) { display.clearDisplay(); - #if defined(TTGO_T_Beam_S3_SUPREME_V3) + #ifdef HAS_SH1106 display.setTextColor(SH110X_WHITE); #else display.setTextColor(WHITE); @@ -301,7 +301,7 @@ void displayShow(const String& header, const String& line1, const String& line2, display.setCursor(0, 16 + (8 * i)); display.println(*lines[i]); } - #if defined(TTGO_T_Beam_S3_SUPREME_V3) + #ifdef HAS_SH1106 display.setContrast(1); #else display.ssd1306_command(SSD1306_SETCONTRAST); diff --git a/variants/ESP32_9M2IBR_1W_LoRa_GPS/board_pinout.h b/variants/ESP32_9M2IBR_1W_LoRa_GPS/board_pinout.h new file mode 100644 index 0000000..f45886a --- /dev/null +++ b/variants/ESP32_9M2IBR_1W_LoRa_GPS/board_pinout.h @@ -0,0 +1,63 @@ +/* Copyright (C) 2025 Ricardo Guzman - CA2RXU + * + * This file is part of LoRa APRS iGate. + * + * LoRa APRS iGate is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * LoRa APRS iGate is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with LoRa APRS iGate. If not, see . + */ + +#ifndef BOARD_PINOUT_H_ +#define BOARD_PINOUT_H_ + + // LoRa Radio + #define HAS_SX1268 + #define HAS_1W_LORA + #define HAS_TCXO + #define RADIO_SCLK_PIN 18 + #define RADIO_MISO_PIN 19 + #define RADIO_MOSI_PIN 23 + #define RADIO_CS_PIN 5 + #define RADIO_RST_PIN 27 + #define RADIO_DIO1_PIN 12 + #define RADIO_BUSY_PIN 14 + #define RADIO_RXEN 32 + #define RADIO_TXEN 25 + #define RADIO_WAKEUP_PIN RADIO_DIO1_PIN + #define GPIO_WAKEUP_PIN GPIO_SEL_12 + + // I2C + #define USE_WIRE_WITH_OLED_PINS + + // Display + #define HAS_DISPLAY + #define HAS_SH1106 + + #undef OLED_SDA + #undef OLED_SCL + #undef OLED_RST + + #define OLED_SDA 21 + #define OLED_SCL 22 + #define OLED_RST -1 // Reset pin # (or -1 if sharing Arduino reset pin) + + // GPS + #define HAS_GPS + #define GPS_BAUDRATE 9600 + #define GPS_RX 17 + #define GPS_TX 16 + + // Aditional Config + #define INTERNAL_LED_PIN 2 + #define BATTERY_PIN 35 + +#endif \ No newline at end of file diff --git a/variants/ESP32_9M2IBR_1W_LoRa_GPS/platformio.ini b/variants/ESP32_9M2IBR_1W_LoRa_GPS/platformio.ini new file mode 100644 index 0000000..c1b081d --- /dev/null +++ b/variants/ESP32_9M2IBR_1W_LoRa_GPS/platformio.ini @@ -0,0 +1,12 @@ +[env:ESP32_9M2IBR_1W_LoRa_GPS] +board = esp32dev +build_flags = + ${common.build_flags} + -D RADIOLIB_EXCLUDE_LR11X0=1 + -D RADIOLIB_EXCLUDE_SX127X=1 + -D RADIOLIB_EXCLUDE_SX128X=1 + -D ESP32_9M2IBR_1W_LoRa_GPS +lib_deps = + ${common.lib_deps} + ${common.display_libs} + adafruit/Adafruit SH110X @ 2.1.10 \ No newline at end of file diff --git a/variants/ttgo_t_beam_s3_SUPREME_v3/board_pinout.h b/variants/ttgo_t_beam_s3_SUPREME_v3/board_pinout.h index e557091..f095150 100644 --- a/variants/ttgo_t_beam_s3_SUPREME_v3/board_pinout.h +++ b/variants/ttgo_t_beam_s3_SUPREME_v3/board_pinout.h @@ -35,6 +35,7 @@ // Display #define HAS_DISPLAY + #define HAS_SH1106 #undef OLED_SDA #undef OLED_SCL