mirror of
https://github.com/richonguzman/LoRa_APRS_iGate.git
synced 2026-07-13 21:31:14 +02:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 400b77c2d3 | |||
| 31daddf917 | |||
| 529a44018f | |||
| 5ba9c5b382 | |||
| c7a0e3773b | |||
| a5f9e5b844 | |||
| 24f407d51c | |||
| 2c6665b557 | |||
| 38f52564f1 | |||
| 49e92c622f | |||
| 5370850ae1 |
@@ -12,7 +12,7 @@ ____________________________________________________
|
|||||||
# <a href="https://richonguzman.github.io/lora-igate-web-flasher/installer.html" target="_blank">WEB FLASHER/INSTALLER</a>
|
# <a href="https://richonguzman.github.io/lora-igate-web-flasher/installer.html" target="_blank">WEB FLASHER/INSTALLER</a>
|
||||||
|
|
||||||
|
|
||||||
# <a href="https://drive.google.com/file/d/1-jafzOWis_qOaNUl4WGVcFKjh_uCJtB6/view?usp=share_link" target="_blank">LoRa APRS iGate CA2RXU Firmware Manual</a>
|
# <a href="https://drive.google.com/file/d/1Hff_Szd7ks8RC7_RiV6POxPJlclbO05M/view?usp=sharing" target="_blank">LoRa APRS iGate CA2RXU Firmware Manual</a>
|
||||||
|
|
||||||
____________________________________________________
|
____________________________________________________
|
||||||
|
|
||||||
@@ -51,6 +51,7 @@ ____________________________________________________
|
|||||||
<br />
|
<br />
|
||||||
|
|
||||||
# Timeline (Versions):
|
# Timeline (Versions):
|
||||||
|
- 2025-12-18 TCXO and packet decoding updates.
|
||||||
- 2025-12-01 APRSPacketLib updates, AHT20 sensor added, INA219 support added.
|
- 2025-12-01 APRSPacketLib updates, AHT20 sensor added, INA219 support added.
|
||||||
- 2025-10-15 APRS Bridge for TNC added.
|
- 2025-10-15 APRS Bridge for TNC added.
|
||||||
- 2025-10-13 Rx and Tx Frequencies are now with fully configurable.
|
- 2025-10-13 Rx and Tx Frequencies are now with fully configurable.
|
||||||
|
|||||||
+1
-1
@@ -38,7 +38,7 @@ lib_deps =
|
|||||||
mathieucarbou/AsyncTCP @ 3.2.5
|
mathieucarbou/AsyncTCP @ 3.2.5
|
||||||
mathieucarbou/ESPAsyncWebServer @ 3.2.3
|
mathieucarbou/ESPAsyncWebServer @ 3.2.3
|
||||||
mikalhart/TinyGPSPlus @ 1.0.3
|
mikalhart/TinyGPSPlus @ 1.0.3
|
||||||
richonguzman/APRSPacketLib @1.0.4
|
richonguzman/APRSPacketLib @ 1.0.4
|
||||||
display_libs =
|
display_libs =
|
||||||
adafruit/Adafruit GFX Library @ 1.11.9
|
adafruit/Adafruit GFX Library @ 1.11.9
|
||||||
adafruit/Adafruit SSD1306 @ 2.5.10
|
adafruit/Adafruit SSD1306 @ 2.5.10
|
||||||
|
|||||||
@@ -67,8 +67,8 @@ ___________________________________________________________________*/
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
String versionDate = "2025-12-01";
|
String versionDate = "2025-12-22";
|
||||||
String versionNumber = "3.1.5";
|
String versionNumber = "3.1.6.1";
|
||||||
Configuration Config;
|
Configuration Config;
|
||||||
WiFiClient aprsIsClient;
|
WiFiClient aprsIsClient;
|
||||||
WiFiClient mqttClient;
|
WiFiClient mqttClient;
|
||||||
|
|||||||
@@ -278,8 +278,9 @@ namespace APRS_IS_Utils {
|
|||||||
if (!passcodeValid && packet.indexOf(Config.callsign) != -1) {
|
if (!passcodeValid && packet.indexOf(Config.callsign) != -1) {
|
||||||
if (packet.indexOf("unverified") != -1 ) {
|
if (packet.indexOf("unverified") != -1 ) {
|
||||||
Serial.println("\n****APRS PASSCODE NOT VALID****\n");
|
Serial.println("\n****APRS PASSCODE NOT VALID****\n");
|
||||||
displayShow(firstLine, "", " APRS PASSCODE", " NOT VALID !!!", "", "", "", 0);
|
displayShow(firstLine, "", " APRS PASSCODE", " NOT VALID !!!", "", "", "", 3000);
|
||||||
while (1) {};
|
aprsIsClient.stop();
|
||||||
|
Config.aprs_is.active = false;
|
||||||
} else if (packet.indexOf("verified") != -1 ) {
|
} else if (packet.indexOf("verified") != -1 ) {
|
||||||
passcodeValid = true;
|
passcodeValid = true;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -153,7 +153,7 @@ namespace GPS_Utils {
|
|||||||
|
|
||||||
if (encodedBytePosition != 0) {
|
if (encodedBytePosition != 0) {
|
||||||
char currentChar = packet[encodedBytePosition];
|
char currentChar = packet[encodedBytePosition];
|
||||||
if (currentChar == 'G' || currentChar == 'Q' || currentChar == '[' || currentChar == 'H' || currentChar == 'X') {
|
if (currentChar == 'G' || currentChar == 'Q' || currentChar == '[' || currentChar == 'H' || currentChar == 'X' || currentChar == '3') {
|
||||||
return decodeEncodedGPS(packet); // If valid encoded data position is found, decode it
|
return decodeEncodedGPS(packet); // If valid encoded data position is found, decode it
|
||||||
} else {
|
} else {
|
||||||
return getReceivedGPS(packet);
|
return getReceivedGPS(packet);
|
||||||
|
|||||||
@@ -135,6 +135,13 @@ namespace LoRa_Utils {
|
|||||||
radio.setRxBoostedGainMode(true);
|
radio.setRxBoostedGainMode(true);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(HAS_TCXO) && !defined(HAS_1W_LORA)
|
||||||
|
radio.setDio2AsRfSwitch();
|
||||||
|
#endif
|
||||||
|
#ifdef HAS_TCXO
|
||||||
|
radio.setTCXO(1.8);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (state == RADIOLIB_ERR_NONE) {
|
if (state == RADIOLIB_ERR_NONE) {
|
||||||
Utils::println("init : LoRa Module ... done!");
|
Utils::println("init : LoRa Module ... done!");
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+1
-1
@@ -45,7 +45,7 @@ namespace NTP_Utils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String getFormatedTime() {
|
String getFormatedTime() {
|
||||||
if (Config.digi.ecoMode == 0) return timeClient->getFormattedTime();
|
if (WiFi.status() == WL_CONNECTED && Config.digi.ecoMode == 0) return timeClient->getFormattedTime();
|
||||||
return "DigiEcoMode Active";
|
return "DigiEcoMode Active";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-3
@@ -158,6 +158,8 @@ namespace Utils {
|
|||||||
|
|
||||||
showActiveStations();
|
showActiveStations();
|
||||||
|
|
||||||
|
beaconPacket = iGateBeaconPacket;
|
||||||
|
secondaryBeaconPacket = iGateLoRaBeaconPacket;
|
||||||
#ifdef HAS_GPS
|
#ifdef HAS_GPS
|
||||||
if (Config.beacon.gpsActive && Config.digi.ecoMode == 0) {
|
if (Config.beacon.gpsActive && Config.digi.ecoMode == 0) {
|
||||||
GPS_Utils::getData();
|
GPS_Utils::getData();
|
||||||
@@ -176,9 +178,6 @@ namespace Utils {
|
|||||||
secondaryBeaconPacket += encodedGPS;
|
secondaryBeaconPacket += encodedGPS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
beaconPacket = iGateBeaconPacket;
|
|
||||||
secondaryBeaconPacket = iGateLoRaBeaconPacket;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (Config.wxsensor.active) {
|
if (Config.wxsensor.active) {
|
||||||
|
|||||||
+1
-1
@@ -126,7 +126,7 @@ namespace WX_Utils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (wxModuleAddress == 0x40) {
|
} else if (wxModuleAddress == 0x40 && Config.battery.useExternalI2CSensor == false) {
|
||||||
if(si7021.begin()) {
|
if(si7021.begin()) {
|
||||||
Serial.println("Si7021 sensor found");
|
Serial.println("Si7021 sensor found");
|
||||||
wxModuleType = 4;
|
wxModuleType = 4;
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1268
|
#define HAS_SX1268
|
||||||
#define HAS_1W_LORA
|
#define HAS_1W_LORA
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 18
|
#define RADIO_SCLK_PIN 18
|
||||||
#define RADIO_MISO_PIN 19
|
#define RADIO_MISO_PIN 19
|
||||||
#define RADIO_MOSI_PIN 23
|
#define RADIO_MOSI_PIN 23
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1262
|
#define HAS_SX1262
|
||||||
#define HAS_1W_LORA
|
#define HAS_1W_LORA
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 18
|
#define RADIO_SCLK_PIN 18
|
||||||
#define RADIO_MISO_PIN 19
|
#define RADIO_MISO_PIN 19
|
||||||
#define RADIO_MOSI_PIN 23
|
#define RADIO_MOSI_PIN 23
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1268
|
#define HAS_SX1268
|
||||||
#define HAS_1W_LORA
|
#define HAS_1W_LORA
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 18
|
#define RADIO_SCLK_PIN 18
|
||||||
#define RADIO_MISO_PIN 19
|
#define RADIO_MISO_PIN 19
|
||||||
#define RADIO_MOSI_PIN 23
|
#define RADIO_MOSI_PIN 23
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1268
|
#define HAS_SX1268
|
||||||
#define HAS_1W_LORA
|
#define HAS_1W_LORA
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_VCC_PIN 21
|
#define RADIO_VCC_PIN 21
|
||||||
#define RADIO_SCLK_PIN 12
|
#define RADIO_SCLK_PIN 12
|
||||||
#define RADIO_MISO_PIN 13
|
#define RADIO_MISO_PIN 13
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1262
|
#define HAS_SX1262
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 7
|
#define RADIO_SCLK_PIN 7
|
||||||
#define RADIO_MISO_PIN 8
|
#define RADIO_MISO_PIN 8
|
||||||
#define RADIO_MOSI_PIN 9
|
#define RADIO_MOSI_PIN 9
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1268
|
#define HAS_SX1268
|
||||||
#define HAS_1W_LORA
|
#define HAS_1W_LORA
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 8
|
#define RADIO_SCLK_PIN 8
|
||||||
#define RADIO_MISO_PIN 9
|
#define RADIO_MISO_PIN 9
|
||||||
#define RADIO_MOSI_PIN 10
|
#define RADIO_MOSI_PIN 10
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1262
|
#define HAS_SX1262
|
||||||
#define HAS_1W_LORA
|
#define HAS_1W_LORA
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 8
|
#define RADIO_SCLK_PIN 8
|
||||||
#define RADIO_MISO_PIN 9
|
#define RADIO_MISO_PIN 9
|
||||||
#define RADIO_MOSI_PIN 10
|
#define RADIO_MOSI_PIN 10
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1262
|
#define HAS_SX1262
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 10
|
#define RADIO_SCLK_PIN 10
|
||||||
#define RADIO_MISO_PIN 6
|
#define RADIO_MISO_PIN 6
|
||||||
#define RADIO_MOSI_PIN 7
|
#define RADIO_MOSI_PIN 7
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1262
|
#define HAS_SX1262
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 9
|
#define RADIO_SCLK_PIN 9
|
||||||
#define RADIO_MISO_PIN 11
|
#define RADIO_MISO_PIN 11
|
||||||
#define RADIO_MOSI_PIN 10
|
#define RADIO_MOSI_PIN 10
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1262
|
#define HAS_SX1262
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 9
|
#define RADIO_SCLK_PIN 9
|
||||||
#define RADIO_MISO_PIN 11
|
#define RADIO_MISO_PIN 11
|
||||||
#define RADIO_MOSI_PIN 10
|
#define RADIO_MOSI_PIN 10
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1262
|
#define HAS_SX1262
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 9
|
#define RADIO_SCLK_PIN 9
|
||||||
#define RADIO_MISO_PIN 11
|
#define RADIO_MISO_PIN 11
|
||||||
#define RADIO_MOSI_PIN 10
|
#define RADIO_MOSI_PIN 10
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1262
|
#define HAS_SX1262
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 9
|
#define RADIO_SCLK_PIN 9
|
||||||
#define RADIO_MISO_PIN 11
|
#define RADIO_MISO_PIN 11
|
||||||
#define RADIO_MOSI_PIN 10
|
#define RADIO_MOSI_PIN 10
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1262
|
#define HAS_SX1262
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 9
|
#define RADIO_SCLK_PIN 9
|
||||||
#define RADIO_MISO_PIN 11
|
#define RADIO_MISO_PIN 11
|
||||||
#define RADIO_MOSI_PIN 10
|
#define RADIO_MOSI_PIN 10
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1262
|
#define HAS_SX1262
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 9
|
#define RADIO_SCLK_PIN 9
|
||||||
#define RADIO_MISO_PIN 11
|
#define RADIO_MISO_PIN 11
|
||||||
#define RADIO_MOSI_PIN 10
|
#define RADIO_MOSI_PIN 10
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1262
|
#define HAS_SX1262
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 9 // SX1262 SCK
|
#define RADIO_SCLK_PIN 9 // SX1262 SCK
|
||||||
#define RADIO_MISO_PIN 11 // SX1262 MISO
|
#define RADIO_MISO_PIN 11 // SX1262 MISO
|
||||||
#define RADIO_MOSI_PIN 10 // SX1262 MOSI
|
#define RADIO_MOSI_PIN 10 // SX1262 MOSI
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1262
|
#define HAS_SX1262
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 5
|
#define RADIO_SCLK_PIN 5
|
||||||
#define RADIO_MISO_PIN 19
|
#define RADIO_MISO_PIN 19
|
||||||
#define RADIO_MOSI_PIN 27
|
#define RADIO_MOSI_PIN 27
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1262
|
#define HAS_SX1262
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 5
|
#define RADIO_SCLK_PIN 5
|
||||||
#define RADIO_MISO_PIN 3
|
#define RADIO_MISO_PIN 3
|
||||||
#define RADIO_MOSI_PIN 6
|
#define RADIO_MOSI_PIN 6
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1262
|
#define HAS_SX1262
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 12
|
#define RADIO_SCLK_PIN 12
|
||||||
#define RADIO_MISO_PIN 13
|
#define RADIO_MISO_PIN 13
|
||||||
#define RADIO_MOSI_PIN 11
|
#define RADIO_MOSI_PIN 11
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1262
|
#define HAS_SX1262
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 40
|
#define RADIO_SCLK_PIN 40
|
||||||
#define RADIO_MISO_PIN 38
|
#define RADIO_MISO_PIN 38
|
||||||
#define RADIO_MOSI_PIN 41
|
#define RADIO_MOSI_PIN 41
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
// LoRa Radio
|
// LoRa Radio
|
||||||
#define HAS_SX1262
|
#define HAS_SX1262
|
||||||
|
#define HAS_TCXO
|
||||||
#define RADIO_SCLK_PIN 40
|
#define RADIO_SCLK_PIN 40
|
||||||
#define RADIO_MISO_PIN 38
|
#define RADIO_MISO_PIN 38
|
||||||
#define RADIO_MOSI_PIN 41
|
#define RADIO_MOSI_PIN 41
|
||||||
|
|||||||
Reference in New Issue
Block a user