Compare commits

...

12 Commits

Author SHA1 Message Date
richonguzman 5cda9a2285 HT_CT62 fixed 2025-05-18 12:22:49 -04:00
richonguzman 194ae94a43 kill white spaces 2025-05-18 08:44:46 -04:00
richonguzman 9baf066386 date update 2025-05-18 00:13:11 -04:00
richonguzman 7595da21cd fix for other boards 2025-05-18 00:12:29 -04:00
richonguzman 6be28b47ce return 2025-05-17 11:52:48 -04:00
richonguzman 3ea1a19a06 update 2025-05-17 11:52:24 -04:00
richonguzman 35cafac601 si7021 clean code update 2025-05-17 11:49:29 -04:00
richonguzman b59153d8df wx sensor added 2025-05-17 11:43:54 -04:00
richonguzman 79b967034f working basics 2025-05-17 10:00:53 -04:00
richonguzman a40502344f version number update 2025-05-12 18:47:00 -04:00
richonguzman af1b623f7f newDate 2025-05-12 11:30:30 -04:00
richonguzman 0c7d13cf7d lowpowerchange 2025-05-08 14:01:25 -04:00
31 changed files with 156 additions and 80 deletions
-1
View File
@@ -13,7 +13,6 @@ namespace LoRa_Utils {
void changeFreqTx(); void changeFreqTx();
void changeFreqRx(); void changeFreqRx();
void wakeRadio(); void wakeRadio();
//void startReceive();
void sleepRadio(); void sleepRadio();
} }
+1
View File
@@ -203,4 +203,5 @@
delay(1); delay(1);
} }
} }
#endif #endif
+1 -1
View File
@@ -48,7 +48,7 @@ ___________________________________________________________________*/
#endif #endif
String versionDate = "2025-05-08"; String versionDate = "2025-05-18";
Configuration Config; Configuration Config;
WiFiClient espClient; WiFiClient espClient;
#ifdef HAS_GPS #ifdef HAS_GPS
+2 -2
View File
@@ -28,7 +28,7 @@ uint32_t lastRxTime = millis();
bool passcodeValid = false; bool passcodeValid = false;
#ifdef HAS_A7670 #ifdef HAS_A7670
extern bool stationBeacon; extern bool stationBeacon;
#endif #endif
@@ -60,7 +60,7 @@ namespace APRS_IS_Utils {
aprsAuth += Config.callsign; aprsAuth += Config.callsign;
aprsAuth += " pass "; aprsAuth += " pass ";
aprsAuth += Config.aprs_is.passcode; aprsAuth += Config.aprs_is.passcode;
aprsAuth += " vers CA2RXU_iGate 2.3 filter "; aprsAuth += " vers CA2RXU_iGate 3.0 filter ";
aprsAuth += Config.aprs_is.filter; aprsAuth += Config.aprs_is.filter;
upload(aprsAuth); upload(aprsAuth);
} }
+7 -4
View File
@@ -157,7 +157,12 @@ namespace BATTERY_Utils {
return (2 * (sampleSum/100) * adcReadingTransformation) + voltageDividerCorrection; // raw voltage without mapping return (2 * (sampleSum/100) * adcReadingTransformation) + voltageDividerCorrection; // raw voltage without mapping
} }
#else #else
return (2 * (sampleSum/100) * adcReadingTransformation) + voltageDividerCorrection; // raw voltage without mapping #ifdef LIGHTGATEWAY_PLUS_1_0
double inputDivider = (1.0 / (560.0 + 100.0)) * 100.0; // The voltage divider is a 560k + 100k resistor in series, 100k on the low side.
return (((sampleSum/100) * adcReadingTransformation) / inputDivider) + 0.41;
#else
return (2 * (sampleSum/100) * adcReadingTransformation) + voltageDividerCorrection; // raw voltage without mapping
#endif
#endif #endif
#endif #endif
// return mapVoltage(voltage, 3.34, 4.71, 3.0, 4.2); // mapped voltage // return mapVoltage(voltage, 3.34, 4.71, 3.0, 4.2); // mapped voltage
@@ -246,9 +251,7 @@ namespace BATTERY_Utils {
String telemetry = "|"; String telemetry = "|";
telemetry += generateEncodedTelemetryBytes(telemetryCounter, true, 0); telemetry += generateEncodedTelemetryBytes(telemetryCounter, true, 0);
telemetryCounter++; telemetryCounter++;
if (telemetryCounter == 1000) { if (telemetryCounter == 1000) telemetryCounter = 0;
telemetryCounter = 0;
}
if (Config.battery.sendInternalVoltage) telemetry += generateEncodedTelemetryBytes(checkInternalVoltage(), false, 0); if (Config.battery.sendInternalVoltage) telemetry += generateEncodedTelemetryBytes(checkInternalVoltage(), false, 0);
if (Config.battery.sendExternalVoltage) telemetry += generateEncodedTelemetryBytes(checkExternalVoltage(), false, 1); if (Config.battery.sendExternalVoltage) telemetry += generateEncodedTelemetryBytes(checkExternalVoltage(), false, 1);
telemetry += "|"; telemetry += "|";
+3 -7
View File
@@ -22,7 +22,7 @@ bool transmitFlag = true;
SX1262 radio = new Module(RADIO_CS_PIN, RADIO_DIO1_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN); SX1262 radio = new Module(RADIO_CS_PIN, RADIO_DIO1_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN);
#endif #endif
#ifdef HAS_SX1268 #ifdef HAS_SX1268
#if defined(LIGHTGATEWAY_1_0) #if defined(LIGHTGATEWAY_1_0) || defined(LIGHTGATEWAY_PLUS_1_0)
SPIClass loraSPI(FSPI); SPIClass loraSPI(FSPI);
SX1268 radio = new Module(RADIO_CS_PIN, RADIO_DIO1_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN, loraSPI); SX1268 radio = new Module(RADIO_CS_PIN, RADIO_DIO1_PIN, RADIO_RST_PIN, RADIO_BUSY_PIN, loraSPI);
#else #else
@@ -50,7 +50,7 @@ namespace LoRa_Utils {
} }
void setup() { void setup() {
#ifdef LIGHTGATEWAY_1_0 #if defined (LIGHTGATEWAY_1_0) || defined(LIGHTGATEWAY_PLUS_1_0)
pinMode(RADIO_VCC_PIN,OUTPUT); pinMode(RADIO_VCC_PIN,OUTPUT);
digitalWrite(RADIO_VCC_PIN,HIGH); digitalWrite(RADIO_VCC_PIN,HIGH);
loraSPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN, RADIO_CS_PIN); loraSPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN, RADIO_CS_PIN);
@@ -69,11 +69,7 @@ namespace LoRa_Utils {
while (true); while (true);
} }
#if defined(HAS_SX1262) || defined(HAS_SX1268) || defined(HAS_LLCC68) #if defined(HAS_SX1262) || defined(HAS_SX1268) || defined(HAS_LLCC68)
//if (!Config.lowPowerMode) {
radio.setDio1Action(setFlag); radio.setDio1Action(setFlag);
/*} else {
radio.setDIOMapping(1, RADIOLIB_SX126X_IRQ_RX_DONE);
}*/
#endif #endif
#if defined(HAS_SX1278) || defined(HAS_SX1276) #if defined(HAS_SX1278) || defined(HAS_SX1276)
radio.setDio0Action(setFlag, RISING); radio.setDio0Action(setFlag, RISING);
@@ -84,7 +80,7 @@ namespace LoRa_Utils {
radio.setCodingRate(Config.loramodule.codingRate4); radio.setCodingRate(Config.loramodule.codingRate4);
radio.setCRC(true); 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); radio.setRfSwitchPins(RADIO_RXEN, RADIO_TXEN);
#endif #endif
+1 -1
View File
@@ -251,7 +251,7 @@ namespace POWER_Utils {
Wire.begin(BOARD_I2C_SDA, BOARD_I2C_SCL); Wire.begin(BOARD_I2C_SDA, BOARD_I2C_SCL);
#endif #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); Wire.begin(OLED_SDA, OLED_SCL);
#endif #endif
+1 -1
View File
@@ -24,7 +24,7 @@ namespace QUERY_Utils {
if (queryQuestion == "?APRS?" || queryQuestion == "H" || queryQuestion == "HELP" || queryQuestion=="?") { if (queryQuestion == "?APRS?" || queryQuestion == "H" || queryQuestion == "HELP" || queryQuestion=="?") {
answer.concat("?APRSV ?APRSP ?APRSL ?APRSSSR ?EM=? ?TX=? "); // ?APRSH ?WHERE callsign answer.concat("?APRSV ?APRSP ?APRSL ?APRSSSR ?EM=? ?TX=? "); // ?APRSH ?WHERE callsign
} else if (queryQuestion == "?APRSV") { } else if (queryQuestion == "?APRSV") {
answer.concat("CA2RXU_LoRa_iGate 2.3 v"); answer.concat("CA2RXU_LoRa_iGate 3.0 v");
answer.concat(versionDate); answer.concat(versionDate);
} else if (queryQuestion == "?APRSP") { } else if (queryQuestion == "?APRSP") {
answer.concat("iGate QTH: "); answer.concat("iGate QTH: ");
+1 -2
View File
@@ -32,7 +32,7 @@ namespace SLEEP_Utils {
if (Config.digi.ecoMode == 1) { if (Config.digi.ecoMode == 1) {
pinMode(RADIO_WAKEUP_PIN, INPUT); pinMode(RADIO_WAKEUP_PIN, INPUT);
attachInterrupt(digitalPinToInterrupt(RADIO_WAKEUP_PIN), wakeUpLoRaPacketReceived, RISING); 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); esp_sleep_enable_ext1_wakeup(GPIO_WAKEUP_PIN, ESP_EXT1_WAKEUP_ANY_HIGH);
#endif #endif
#if defined(HELTEC_HTCT62) || defined(ESP32C3_DIY_1W_LoRa) || defined(ESP32C3_DIY_1W_LoRa_915) || defined(ESP32_C3_OctopusLab_LoRa) #if defined(HELTEC_HTCT62) || defined(ESP32C3_DIY_1W_LoRa) || defined(ESP32C3_DIY_1W_LoRa_915) || defined(ESP32_C3_OctopusLab_LoRa)
@@ -56,7 +56,6 @@ namespace SLEEP_Utils {
LoRa_Utils::wakeRadio(); LoRa_Utils::wakeRadio();
esp_light_sleep_start(); esp_light_sleep_start();
} }
} }
void checkSerial() { void checkSerial() {
+1 -1
View File
@@ -16,7 +16,7 @@ namespace SYSLOG_Utils {
if (Config.syslog.active && WiFi.status() == WL_CONNECTED) { if (Config.syslog.active && WiFi.status() == WL_CONNECTED) {
String syslogPacket = "<165>1 - "; String syslogPacket = "<165>1 - ";
syslogPacket.concat(Config.callsign); 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]; char signalData[35];
snprintf(signalData, sizeof(signalData), " / %ddBm / %.2fdB / %dHz", rssi, snr, freqError); snprintf(signalData, sizeof(signalData), " / %ddBm / %.2fdB / %dHz", rssi, snr, freqError);
+1 -1
View File
@@ -229,7 +229,7 @@ namespace Utils {
#endif #endif
if (Config.wxsensor.active) { if (Config.wxsensor.active) {
const char* sensorData = (wxModuleType == 0) ? ".../...g...t..." : WX_Utils::readDataSensor().c_str(); String sensorData = (wxModuleType == 0) ? ".../...g...t..." : WX_Utils::readDataSensor();
beaconPacket += sensorData; beaconPacket += sensorData;
secondaryBeaconPacket += sensorData; secondaryBeaconPacket += sensorData;
} }
+52 -21
View File
@@ -1,4 +1,7 @@
#include <TinyGPS++.h> #include <TinyGPS++.h>
#ifdef LIGHTGATEWAY_PLUS_1_0
#include "Adafruit_SHTC3.h"
#endif
#include "configuration.h" #include "configuration.h"
#include "board_pinout.h" #include "board_pinout.h"
#include "wx_utils.h" #include "wx_utils.h"
@@ -23,11 +26,14 @@ float newHum, newTemp, newPress, newGas;
Adafruit_BME280 bme280; Adafruit_BME280 bme280;
#if defined(HELTEC_V3) || defined(HELTEC_V3_2) #if defined(HELTEC_V3) || defined(HELTEC_V3_2)
Adafruit_BMP280 bmp280(&Wire1); Adafruit_BMP280 bmp280(&Wire1);
Adafruit_Si7021 sensor = Adafruit_Si7021(); Adafruit_Si7021 sensor = Adafruit_Si7021();
#else #else
Adafruit_BMP280 bmp280; Adafruit_BMP280 bmp280;
Adafruit_BME680 bme680; Adafruit_BME680 bme680;
Adafruit_Si7021 sensor = Adafruit_Si7021(); Adafruit_Si7021 si7021 = Adafruit_Si7021();
#endif
#ifdef LIGHTGATEWAY_PLUS_1_0
Adafruit_SHTC3 shtc3 = Adafruit_SHTC3();
#endif #endif
@@ -41,16 +47,23 @@ namespace WX_Utils {
err = Wire1.endTransmission(); err = Wire1.endTransmission();
#else #else
Wire.beginTransmission(addr); Wire.beginTransmission(addr);
#ifdef LIGHTGATEWAY_PLUS_1_0
Wire.write(0x35);
Wire.write(0x17);
#endif
err = Wire.endTransmission(); err = Wire.endTransmission();
#endif #endif
if (err == 0) { if (err == 0) {
//Serial.println(addr); this shows any connected board to I2C //Serial.println(addr); //this shows any connected board to I2C
if (addr == 0x76 || addr == 0x77) { // BME/BMP if (addr == 0x76 || addr == 0x77) { // BME or BMP
wxModuleAddress = addr; wxModuleAddress = addr;
return; return;
} else if (addr == 0x40) { // Si7011 } else if (addr == 0x40) { // Si7011
wxModuleAddress = addr; wxModuleAddress = addr;
return; return;
} else if (addr == 0x70) { // SHTC3
wxModuleAddress = addr;
return;
} }
} }
} }
@@ -65,40 +78,49 @@ namespace WX_Utils {
#if defined(HELTEC_V3) || defined(HELTEC_V3_2) || 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)) { if (bme280.begin(wxModuleAddress, &Wire1)) {
Serial.println("BME280 sensor found"); Serial.println("BME280 sensor found");
wxModuleType = 1; wxModuleType = 1;
wxModuleFound = true; wxModuleFound = true;
} }
#else #else
if (bme280.begin(wxModuleAddress)) { if (bme280.begin(wxModuleAddress)) {
Serial.println("BME280 sensor found"); Serial.println("BME280 sensor found");
wxModuleType = 1; wxModuleType = 1;
wxModuleFound = true; wxModuleFound = true;
} }
if (!wxModuleFound) { if (!wxModuleFound) {
if (bme680.begin(wxModuleAddress)) { if (bme680.begin(wxModuleAddress)) {
Serial.println("BME680 sensor found"); Serial.println("BME680 sensor found");
wxModuleType = 3; wxModuleType = 3;
wxModuleFound = true; wxModuleFound = true;
} }
} }
#endif #endif
if (!wxModuleFound) { if (!wxModuleFound) {
if (bmp280.begin(wxModuleAddress)) { if (bmp280.begin(wxModuleAddress)) {
Serial.println("BMP280 sensor found"); Serial.println("BMP280 sensor found");
wxModuleType = 2; wxModuleType = 2;
wxModuleFound = true; wxModuleFound = true;
} }
} }
} else if (wxModuleAddress == 0x40) { } else if (wxModuleAddress == 0x40) {
if(sensor.begin()) { if(si7021.begin()) {
Serial.println("Si7021 sensor found"); Serial.println("Si7021 sensor found");
wxModuleType = 4; wxModuleType = 4;
wxModuleFound = true; wxModuleFound = true;
} }
} }
#ifdef LIGHTGATEWAY_PLUS_1_0
else if (wxModuleAddress == 0x70) {
if (shtc3.begin()) {
Serial.println("SHTC3 sensor found");
wxModuleType = 5;
wxModuleFound = true;
}
}
#endif
if (!wxModuleFound) { if (!wxModuleFound) {
displayShow("ERROR", "", "BME/BMP/Si7021 sensor active", "but no sensor found...", 2000); displayShow("ERROR", "", "BME/BMP/Si7021/SHTC3 sensor active", "but no sensor found...", 2000);
Serial.println("BME/BMP/Si7021 sensor Active in config but not found! Check Wiring"); Serial.println("BME/BMP/Si7021/SHTC3 sensor Active in config but not found! Check Wiring");
} else { } else {
switch (wxModuleType) { switch (wxModuleType) {
case 1: case 1:
@@ -211,9 +233,18 @@ namespace WX_Utils {
#endif #endif
break; break;
case 4: // Si7021 case 4: // Si7021
newTemp = sensor.readTemperature(); newTemp = si7021.readTemperature();
newHum = si7021.readHumidity();
newPress = 0; newPress = 0;
newHum = sensor.readHumidity(); break;
case 5: // SHTC3
#ifdef LIGHTGATEWAY_PLUS_1_0
sensors_event_t humidity, temp;
shtc3.getEvent(&humidity, &temp);
newTemp = temp.temperature;
newHum = humidity.relative_humidity;
newPress = 0;
#endif
break; break;
} }
@@ -225,13 +256,13 @@ namespace WX_Utils {
String tempStr = generateTempString(((newTemp + Config.wxsensor.temperatureCorrection) * 1.8) + 32); String tempStr = generateTempString(((newTemp + Config.wxsensor.temperatureCorrection) * 1.8) + 32);
String humStr; String humStr;
if (wxModuleType == 1 || wxModuleType == 3 || wxModuleType == 4) { if (wxModuleType == 1 || wxModuleType == 3 || wxModuleType == 4 || wxModuleType == 5) {
humStr = generateHumString(newHum); humStr = generateHumString(newHum);
} else if (wxModuleType == 2) { } else if (wxModuleType == 2) {
humStr = ".."; humStr = "..";
} }
String presStr = (wxModuleAddress == 4) String presStr = (wxModuleType == 4 || wxModuleType == 5)
? "....." ? "....."
#ifdef HAS_GPS #ifdef HAS_GPS
: generatePresString(newPress + (gps.altitude.meters() / CORRECTION_FACTOR)); : generatePresString(newPress + (gps.altitude.meters() / CORRECTION_FACTOR));
@@ -12,7 +12,7 @@
#define RADIO_RST_PIN -1 #define RADIO_RST_PIN -1
#define RADIO_BUSY_PIN 8 #define RADIO_BUSY_PIN 8
#define RADIO_WAKEUP_PIN RADIO_DIO1_PIN #define RADIO_WAKEUP_PIN RADIO_DIO1_PIN
#define GPIO_WAKEUP_PIN RADIO_DIO1_PIN #define GPIO_WAKEUP_PIN GPIO_NUM_3
// Display // Display
#define HAS_DISPLAY #define HAS_DISPLAY
@@ -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
@@ -0,0 +1,11 @@
[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}
adafruit/Adafruit SHTC3 Library @ 1.0.1
+1 -1
View File
@@ -14,6 +14,6 @@
#define RADIO_RXEN 6 #define RADIO_RXEN 6
#define RADIO_TXEN 7 #define RADIO_TXEN 7
#define RADIO_WAKEUP_PIN RADIO_DIO1_PIN #define RADIO_WAKEUP_PIN RADIO_DIO1_PIN
#define GPIO_WAKEUP_PIN RADIO_DIO1_PIN #define GPIO_WAKEUP_PIN GPIO_NUM_2
#endif #endif
@@ -14,6 +14,6 @@
#define RADIO_RXEN 6 #define RADIO_RXEN 6
#define RADIO_TXEN 7 #define RADIO_TXEN 7
#define RADIO_WAKEUP_PIN RADIO_DIO1_PIN #define RADIO_WAKEUP_PIN RADIO_DIO1_PIN
#define GPIO_WAKEUP_PIN RADIO_DIO1_PIN #define GPIO_WAKEUP_PIN GPIO_NUM_2
#endif #endif
+1 -1
View File
@@ -11,7 +11,7 @@
#define RADIO_DIO1_PIN 3 #define RADIO_DIO1_PIN 3
#define RADIO_BUSY_PIN 4 #define RADIO_BUSY_PIN 4
#define RADIO_WAKEUP_PIN RADIO_DIO1_PIN #define RADIO_WAKEUP_PIN RADIO_DIO1_PIN
#define GPIO_WAKEUP_PIN RADIO_DIO1_PIN #define GPIO_WAKEUP_PIN GPIO_NUM_3
// Aditional Config // Aditional Config
#define BATTERY_PIN 1 #define BATTERY_PIN 1
+1 -1
View File
@@ -1,5 +1,5 @@
[env:heltec_ht-ct62] [env:heltec_ht-ct62]
board = heltec_wireless_stick_lite board = esp32-c3-devkitm-1
board_build.mcu = esp32c3 board_build.mcu = esp32c3
build_flags = build_flags =
${common.build_flags} ${common.build_flags}