From 79b967034fa23fa8b502e6a787b24d748fa1cce0 Mon Sep 17 00:00:00 2001 From: richonguzman Date: Sat, 17 May 2025 10:00:53 -0400 Subject: [PATCH] working basics --- src/LoRa_APRS_iGate.cpp | 2 +- src/lora_utils.cpp | 6 ++-- src/power_utils.cpp | 2 +- src/sleep_utils.cpp | 2 +- src/syslog_utils.cpp | 2 +- .../board_pinout.h | 36 +++++++++++++++++++ .../platformio.ini | 10 ++++++ 7 files changed, 53 insertions(+), 7 deletions(-) create mode 100644 variants/QRPLabs_LightGateway_Plus_1_0/board_pinout.h create mode 100644 variants/QRPLabs_LightGateway_Plus_1_0/platformio.ini diff --git a/src/LoRa_APRS_iGate.cpp b/src/LoRa_APRS_iGate.cpp index 932593f..c8ae5c2 100644 --- a/src/LoRa_APRS_iGate.cpp +++ b/src/LoRa_APRS_iGate.cpp @@ -48,7 +48,7 @@ ___________________________________________________________________*/ #endif -String versionDate = "2025-05-12"; +String versionDate = "2025-05-17"; Configuration Config; WiFiClient espClient; #ifdef HAS_GPS diff --git a/src/lora_utils.cpp b/src/lora_utils.cpp index 4c9c182..ffe0fc5 100644 --- a/src/lora_utils.cpp +++ b/src/lora_utils.cpp @@ -22,7 +22,7 @@ bool transmitFlag = true; SX1262 radio = new Module(RADIO_CS_PIN, RADIO_DIO1_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN); #endif #ifdef HAS_SX1268 - #if defined(LIGHTGATEWAY_1_0) + #if defined(LIGHTGATEWAY_1_0) || defined(LIGHTGATEWAY_PLUS_1_0) SPIClass loraSPI(FSPI); SX1268 radio = new Module(RADIO_CS_PIN, RADIO_DIO1_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN, loraSPI); #else @@ -50,7 +50,7 @@ namespace LoRa_Utils { } void setup() { - #ifdef LIGHTGATEWAY_1_0 + #if defined (LIGHTGATEWAY_1_0) || defined(LIGHTGATEWAY_PLUS_1_0) pinMode(RADIO_VCC_PIN,OUTPUT); digitalWrite(RADIO_VCC_PIN,HIGH); loraSPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN, RADIO_CS_PIN); @@ -80,7 +80,7 @@ namespace LoRa_Utils { radio.setCodingRate(Config.loramodule.codingRate4); radio.setCRC(true); - #if (defined(RADIO_RXEN) && defined(RADIO_TXEN)) || defined(LIGHTGATEWAY_1_0) // QRP Labs LightGateway has 400M22S (SX1268) + #if (defined(RADIO_RXEN) && defined(RADIO_TXEN)) // QRP Labs LightGateway has 400M22S (SX1268) radio.setRfSwitchPins(RADIO_RXEN, RADIO_TXEN); #endif diff --git a/src/power_utils.cpp b/src/power_utils.cpp index 07ba4cd..2c66331 100644 --- a/src/power_utils.cpp +++ b/src/power_utils.cpp @@ -251,7 +251,7 @@ namespace POWER_Utils { Wire.begin(BOARD_I2C_SDA, BOARD_I2C_SCL); #endif - #if defined(HELTEC_V3) || defined(HELTEC_V3_2) || 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(LIGHTGATEWAY_PLUS_1_0) || defined(TTGO_LORA32_T3S3_V1_2) || defined(HELTEC_V2) Wire.begin(OLED_SDA, OLED_SCL); #endif diff --git a/src/sleep_utils.cpp b/src/sleep_utils.cpp index a6c2970..06c8671 100644 --- a/src/sleep_utils.cpp +++ b/src/sleep_utils.cpp @@ -32,7 +32,7 @@ namespace SLEEP_Utils { if (Config.digi.ecoMode == 1) { pinMode(RADIO_WAKEUP_PIN, INPUT); attachInterrupt(digitalPinToInterrupt(RADIO_WAKEUP_PIN), wakeUpLoRaPacketReceived, RISING); - #if defined(TTGO_LORA32_V2_1) || defined(TTGO_LORA32_V2_1_915) || defined(TTGO_LORA32_T3S3_V1_2) || defined(TTGO_T_BEAM_V1_0) || defined(TTGO_T_BEAM_V1_0_915) || defined(TTGO_T_BEAM_V1_0_SX1268) || defined(TTGO_T_BEAM_V1_2) || defined(TTGO_T_BEAM_V1_2_915) || defined(TTGO_T_BEAM_V1_2_SX1262) || defined(TTGO_T_DECK_PLUS) || defined(TTGO_T_DECK_GPS) || defined(TTGO_T_Beam_S3_SUPREME_V3) || defined(HELTEC_V3) || defined(HELTEC_V3_2) || defined(HELTEC_WP) || defined(HELTEC_WS) || defined(HELTEC_WSL_V3) || defined(HELTEC_WSL_V3_DISPLAY) || defined(HELTEC_WIRELESS_TRACKER) || defined(HELTEC_V2) || defined(XIAO_ESP32S3_LORA) || defined(LIGHTGATEWAY_1_0) || defined(TROY_LoRa_APRS) || defined(OE5HWN_MeshCom) || defined(ESP32_DIY_LoRa) || defined(ESP32_DIY_LoRa_915) || defined(ESP32_DIY_1W_LoRa) || defined(ESP32_DIY_1W_LoRa_915) || defined(ESP32_DIY_1W_LoRa_LLCC68) || defined(ESP32_DIY_1W_LoRa_Mesh_V1_2) || defined(WEMOS_S2_MINI_DIY_LoRa) || defined(WEMOS_D1_R32_RA02) || defined(WEMOS_LOLIN32_OLED_DIY_LoRa) + #if defined(TTGO_LORA32_V2_1) || defined(TTGO_LORA32_V2_1_915) || defined(TTGO_LORA32_T3S3_V1_2) || defined(TTGO_T_BEAM_V1_0) || defined(TTGO_T_BEAM_V1_0_915) || defined(TTGO_T_BEAM_V1_0_SX1268) || defined(TTGO_T_BEAM_V1_2) || defined(TTGO_T_BEAM_V1_2_915) || defined(TTGO_T_BEAM_V1_2_SX1262) || defined(TTGO_T_DECK_PLUS) || defined(TTGO_T_DECK_GPS) || defined(TTGO_T_Beam_S3_SUPREME_V3) || defined(HELTEC_V3) || defined(HELTEC_V3_2) || defined(HELTEC_WP) || defined(HELTEC_WS) || defined(HELTEC_WSL_V3) || defined(HELTEC_WSL_V3_DISPLAY) || defined(HELTEC_WIRELESS_TRACKER) || defined(HELTEC_V2) || defined(XIAO_ESP32S3_LORA) || defined(LIGHTGATEWAY_1_0) || defined(LIGHTGATEWAY_PLUS_1_0) || defined(TROY_LoRa_APRS) || defined(OE5HWN_MeshCom) || defined(ESP32_DIY_LoRa) || defined(ESP32_DIY_LoRa_915) || defined(ESP32_DIY_1W_LoRa) || defined(ESP32_DIY_1W_LoRa_915) || defined(ESP32_DIY_1W_LoRa_LLCC68) || defined(ESP32_DIY_1W_LoRa_Mesh_V1_2) || defined(WEMOS_S2_MINI_DIY_LoRa) || defined(WEMOS_D1_R32_RA02) || defined(WEMOS_LOLIN32_OLED_DIY_LoRa) esp_sleep_enable_ext1_wakeup(GPIO_WAKEUP_PIN, ESP_EXT1_WAKEUP_ANY_HIGH); #endif #if defined(HELTEC_HTCT62) || defined(ESP32C3_DIY_1W_LoRa) || defined(ESP32C3_DIY_1W_LoRa_915) || defined(ESP32_C3_OctopusLab_LoRa) diff --git a/src/syslog_utils.cpp b/src/syslog_utils.cpp index f13ec55..9c09be3 100644 --- a/src/syslog_utils.cpp +++ b/src/syslog_utils.cpp @@ -16,7 +16,7 @@ namespace SYSLOG_Utils { if (Config.syslog.active && WiFi.status() == WL_CONNECTED) { String syslogPacket = "<165>1 - "; syslogPacket.concat(Config.callsign); - syslogPacket.concat(" CA2RXU_LoRa_iGate_1.3 - - - "); //RFC5424 The Syslog Protocol + syslogPacket.concat(" CA2RXU_LoRa_iGate_3.0 - - - "); //RFC5424 The Syslog Protocol char signalData[35]; snprintf(signalData, sizeof(signalData), " / %ddBm / %.2fdB / %dHz", rssi, snr, freqError); diff --git a/variants/QRPLabs_LightGateway_Plus_1_0/board_pinout.h b/variants/QRPLabs_LightGateway_Plus_1_0/board_pinout.h new file mode 100644 index 0000000..8396cb0 --- /dev/null +++ b/variants/QRPLabs_LightGateway_Plus_1_0/board_pinout.h @@ -0,0 +1,36 @@ +#ifndef BOARD_PINOUT_H_ +#define BOARD_PINOUT_H_ + + // LoRa Radio + #define HAS_SX1268 + #define HAS_1W_LORA + #define RADIO_VCC_PIN 21 + #define RADIO_SCLK_PIN 12 + #define RADIO_MISO_PIN 13 + #define RADIO_MOSI_PIN 11 + #define RADIO_CS_PIN 10 + #define RADIO_RST_PIN 9 + #define RADIO_DIO1_PIN 5 + #define RADIO_BUSY_PIN 6 + #define RADIO_RXEN 42 + #define RADIO_TXEN 14 + #define RADIO_WAKEUP_PIN RADIO_DIO1_PIN + #define GPIO_WAKEUP_PIN GPIO_SEL_5 + + // Display + #define HAS_DISPLAY + + #undef OLED_SDA + #undef OLED_SCL + #undef OLED_RST + + #define OLED_SDA 3 + #define OLED_SCL 4 + #define OLED_RST -1 // Reset pin # (or -1 if sharing Arduino reset pin) + + // Aditional Config + #define INTERNAL_LED_PIN 16 + #define BATTERY_PIN 1 + #define BUTTON_PIN 0 + +#endif \ No newline at end of file diff --git a/variants/QRPLabs_LightGateway_Plus_1_0/platformio.ini b/variants/QRPLabs_LightGateway_Plus_1_0/platformio.ini new file mode 100644 index 0000000..9e6277d --- /dev/null +++ b/variants/QRPLabs_LightGateway_Plus_1_0/platformio.ini @@ -0,0 +1,10 @@ +[env:QRPLabs_LightGateway_Plus_1_0] +board = esp32-s3-devkitc-1 +board_build.mcu = esp32s3 +build_flags = + ${common.build_flags} + ${common.usb_flags} + -D LIGHTGATEWAY_PLUS_1_0 +lib_deps = + ${common.lib_deps} + ${common.display_libs} \ No newline at end of file