From ba96bb135e47cad204bbf219fce3c4877e2df15e Mon Sep 17 00:00:00 2001 From: "Ricardo Guzman (Richonguzman)" Date: Mon, 20 Apr 2026 12:37:52 -0400 Subject: [PATCH] test new screen --- src/LoRa_APRS_iGate.cpp | 4 +- src/display.cpp | 15 +++++- variants/RPC_LoRa_DigiGate_1W/board_pinout.h | 56 ++++++++++++++++++++ variants/RPC_LoRa_DigiGate_1W/platformio.ini | 11 ++++ 4 files changed, 82 insertions(+), 4 deletions(-) create mode 100644 variants/RPC_LoRa_DigiGate_1W/board_pinout.h create mode 100644 variants/RPC_LoRa_DigiGate_1W/platformio.ini diff --git a/src/LoRa_APRS_iGate.cpp b/src/LoRa_APRS_iGate.cpp index f79cdc8..a2a40a9 100644 --- a/src/LoRa_APRS_iGate.cpp +++ b/src/LoRa_APRS_iGate.cpp @@ -68,8 +68,8 @@ ___________________________________________________________________*/ #endif -String versionDate = "2026-03-25"; -String versionNumber = "3.2.3"; +String versionDate = "2026-04-20"; +String versionNumber = "3.2.3.1"; Configuration Config; WiFiClient aprsIsClient; WiFiClient mqttClient; diff --git a/src/display.cpp b/src/display.cpp index 79e77ef..73dc68e 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -65,7 +65,12 @@ #ifdef HELTEC_WSL_V3_DISPLAY Adafruit_SSD1306 display(128, 64, &Wire1, OLED_RST); #else - Adafruit_SSD1306 display(128, 64, &Wire, OLED_RST); + #if defined RPC_LORA_DIGIGATE_1W + #define SCREEN_HEIGHT 32 + #else + #define SCREEN HEIGHT 64 + #endif + Adafruit_SSD1306 display(128, SCREEN_HEIGHT, &Wire, OLED_RST); #endif #endif #endif @@ -75,6 +80,7 @@ extern Configuration Config; bool displayFound = false; +int maxLines; void displaySetup() { #ifdef HAS_DISPLAY @@ -97,6 +103,11 @@ void displaySetup() { sprite.createSprite(160, 80); #endif #else + #if (SCREEN_HEIGHT == 64) + maxLines = 6; + #elif (SCREEN_HEIGHT == 32) + maxLines = 3; + #endif #ifdef HAS_EPAPER display.landscape(); display.printCenter("LoRa APRS iGate Initialising..."); @@ -297,7 +308,7 @@ void displayShow(const String& header, const String& line1, const String& line2, display.setCursor(0, 0); display.println(header); display.setTextSize(1); - for (int i = 0; i < 6; i++) { + for (int i = 0; i < maxLines; i++) { display.setCursor(0, 16 + (8 * i)); display.println(*lines[i]); } diff --git a/variants/RPC_LoRa_DigiGate_1W/board_pinout.h b/variants/RPC_LoRa_DigiGate_1W/board_pinout.h new file mode 100644 index 0000000..b48bd2d --- /dev/null +++ b/variants/RPC_LoRa_DigiGate_1W/board_pinout.h @@ -0,0 +1,56 @@ +/* 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 + + #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) + + // Aditional Config + #define INTERNAL_LED_PIN 2 + #define BATTERY_PIN 35 + +#endif \ No newline at end of file diff --git a/variants/RPC_LoRa_DigiGate_1W/platformio.ini b/variants/RPC_LoRa_DigiGate_1W/platformio.ini new file mode 100644 index 0000000..81018bc --- /dev/null +++ b/variants/RPC_LoRa_DigiGate_1W/platformio.ini @@ -0,0 +1,11 @@ +[env:RPC_LORA_DIGIGATE_1W] +board = esp32dev +build_flags = + ${common.build_flags} + -D RADIOLIB_EXCLUDE_LR11X0=1 + -D RADIOLIB_EXCLUDE_SX127X=1 + -D RADIOLIB_EXCLUDE_SX128X=1 + -D RPC_LORA_DIGIGATE_1W +lib_deps = + ${common.lib_deps} + ${common.display_libs} \ No newline at end of file