diff --git a/data/igate_conf.json b/data/igate_conf.json index b41a5d3..87f161a 100644 --- a/data/igate_conf.json +++ b/data/igate_conf.json @@ -1,6 +1,7 @@ { "callsign": "CD2RXU-11", "comment": "LoRa_APRS_iGate https://github.com/richonguzman/LoRa_APRS_iGate", + "beacon_interval": 15, "wifi": { "active": true, "AP": [ @@ -20,7 +21,10 @@ "active": true, "passcode": "23201", "server": "radioaficion.pro", - "port": 14580 + "port": 14580, + "software_name" : "ESP32_LoRa_iGate", + "software_version" : "0.0.9", + "reporting_distance" : 30 }, "lora": { "frequency": 433775000, @@ -31,6 +35,6 @@ }, "display": { "always_on": true, - "timeout": 5 + "timeout": 2 } } diff --git a/src/LoRa_APRS_iGate.cpp b/src/LoRa_APRS_iGate.cpp index 3a03ff4..df4514d 100644 --- a/src/LoRa_APRS_iGate.cpp +++ b/src/LoRa_APRS_iGate.cpp @@ -77,7 +77,7 @@ void APRS_IS_connect(){ Serial.println("Tried: " + String(count) + " FAILED!"); } else { Serial.println("Connected with Server: '" + String(Config.aprs_is.server) + "' (port: " + String(Config.aprs_is.port)+ ")"); - aprsauth = "user " + Config.callsign + " pass " + Config.aprs_is.passcode + " vers " + AprsSoftwareName + " " + AprsSoftwareVersion + " filter " + AprsFilter + "\n\r"; + aprsauth = "user " + Config.callsign + " pass " + Config.aprs_is.passcode + " vers " + Config.aprs_is.software_name + " " + Config.aprs_is.software_version + " filter t/m/" + Config.callsign + "/" + (String)Config.aprs_is.reporting_distance + "\n\r"; espClient.write(aprsauth.c_str()); delay(200); } @@ -88,7 +88,7 @@ String createAPRSPacket(String unprocessedPacket) { int two_dots_position = unprocessedPacket.indexOf(':'); callsign_and_path_tracker = unprocessedPacket.substring(3, two_dots_position); payload_tracker = unprocessedPacket.substring(two_dots_position); - processedPacket = callsign_and_path_tracker + ",qAO," + Config.callsign + payload_tracker; + processedPacket = callsign_and_path_tracker + ",qAO," + Config.callsign + payload_tracker + "\n"; return processedPacket; } @@ -201,7 +201,7 @@ void loop() { show_display(firstLine, secondLine, thirdLine, fourthLine, 0); uint32_t lastTx = millis() - lastTxTime; - if (lastTx >= BeaconInterval) { + if (lastTx >= Config.beacon_interval*60*1000) { beacon_update = true; } if (beacon_update) { diff --git a/src/iGate_config.h b/src/iGate_config.h index d916497..412a43f 100644 --- a/src/iGate_config.h +++ b/src/iGate_config.h @@ -21,6 +21,9 @@ public: int passcode; String server; int port; + String software_name; + String software_version; + int reporting_distance; }; class LoraModule { @@ -43,6 +46,7 @@ public: String callsign; String comment; + int beacon_interval; std::vector wifiAPs; APRS_IS aprs_is; LoraModule loramodule; @@ -81,12 +85,16 @@ private: callsign = data["callsign"].as(); comment = data["comment"].as(); + beacon_interval = data["beacon_interval"].as(); aprs_is.active = data["aprs_is"]["active"].as(); aprs_is.passcode = data["aprs_is"]["passcode"].as(); aprs_is.server = data["aprs_is"]["server"].as(); aprs_is.port = data["aprs_is"]["port"].as(); - + aprs_is.software_name = data["aprs_is"]["software_name"].as(); + aprs_is.software_version = data["aprs_is"]["software_version"].as(); + aprs_is.reporting_distance = data["aprs_is"]["reporting_distance"].as(); + loramodule.frequency = data["lora"]["frequency"].as(); loramodule.spreading_factor = data["lora"]["spreading_factor"].as(); loramodule.signal_bandwidth = data["lora"]["signal_bandwidth"].as(); diff --git a/src/iGate_config_OLD.h b/src/iGate_config_OLD.h index 685dca3..dbb92c0 100644 --- a/src/iGate_config_OLD.h +++ b/src/iGate_config_OLD.h @@ -3,17 +3,17 @@ #include -#define VERSION "V.0.0.1" //MEGA BETA +//#define VERSION "V.0.0.1" //MEGA BETA -#define BeaconInterval 900000 // 15 minutes = 900000 seg +//#define BeaconInterval 900000 // 15 minutes = 900000 seg #define WifiCheckInterval 60000 // wificheck after one minute -const String AprsSoftwareName = "ESP32_LoRa_iGate"; -const String AprsSoftwareVersion = "0.0.9"; +//const String AprsSoftwareName = "ESP32_LoRa_iGate"; +//const String AprsSoftwareVersion = "0.0.9"; -const String iGateCallsign = "CD2RXU-11"; // use your own iGate Callsign -const int AprsReportingDistance = 20; // kms -const String AprsFilter = "t/m/" + iGateCallsign + "/" + (String)AprsReportingDistance; +//const String iGateCallsign = "CD2RXU-11"; // use your own iGate Callsign +//const int AprsReportingDistance = 20; // kms +//const String AprsFilter = "t/m/" + iGateCallsign + "/" + (String)AprsReportingDistance; const String Latitude = "3302.02S"; // write your own iGate latitude and longitude const String Longitude = "07134.42W";