make APRS-IS connection optional

pull/90/head
Christoph Kottke 2021-05-24 14:22:16 +02:00
rodzic d6083df174
commit 6eb82b78bf
5 zmienionych plików z 17 dodań i 4 usunięć

Wyświetl plik

@ -17,6 +17,7 @@
"timeout": 15
},
"aprs_is": {
"active": true,
"passcode": "",
"server": "euro.aprs2.net",
"port": 14580

Wyświetl plik

@ -105,7 +105,9 @@ void setup() {
if (userConfig.ftp.active) {
LoRaSystem.getTaskManager().addTask(&ftpTask);
}
LoRaSystem.getTaskManager().addTask(&aprsIsTask);
if (userConfig.aprs_is.active) {
LoRaSystem.getTaskManager().addTask(&aprsIsTask);
}
LoRaSystem.getTaskManager().addTask(&routerTask);
LoRaSystem.getTaskManager().setup(LoRaSystem);

Wyświetl plik

@ -40,7 +40,8 @@ bool RouterTask::loop(System &system) {
}
msg->setPath(path + "qAR," + system.getUserConfig()->callsign);
_toAprsIs.addElement(msg);
if (system.getUserConfig()->aprs_is.active)
_toAprsIs.addElement(msg);
}
}
@ -48,11 +49,17 @@ bool RouterTask::loop(System &system) {
if (_beacon_timer.check()) {
logPrintD("[" + timeString() + "] ");
logPrintlnD(_beaconMsg->encode());
_toAprsIs.addElement(_beaconMsg);
if (system.getUserConfig()->aprs_is.active)
_toAprsIs.addElement(_beaconMsg);
system.getDisplay().addFrame(std::shared_ptr<DisplayFrame>(new TextFrame("BEACON", _beaconMsg->toString())));
_beacon_timer.start();
}
uint32_t diff = _beacon_timer.getTriggerTimeInSec();
_stateInfo = "beacon " + String(uint32_t(diff / 60)) + ":" + String(uint32_t(diff % 60));
return true;
}

Wyświetl plik

@ -20,6 +20,7 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen
conf.beacon.positionLatitude = data["beacon"]["position"]["latitude"] | 0.0;
conf.beacon.positionLongitude = data["beacon"]["position"]["longitude"] | 0.0;
conf.beacon.timeout = data["beacon"]["timeout"] | 15;
conf.aprs_is.active = data["aprs_is"]["active"] | true;
if (data.containsKey("aprs_is") && data["aprs_is"].containsKey("passcode"))
conf.aprs_is.passcode = data["aprs_is"]["passcode"].as<String>();
if (data.containsKey("aprs_is") && data["aprs_is"].containsKey("server"))
@ -73,6 +74,7 @@ void ProjectConfigurationManagement::writeProjectConfiguration(Configuration &co
data["beacon"]["position"]["latitude"] = conf.beacon.positionLatitude;
data["beacon"]["position"]["longitude"] = conf.beacon.positionLongitude;
data["beacon"]["timeout"] = conf.beacon.timeout;
data["aprs_is"]["active"] = conf.aprs_is.active;
data["aprs_is"]["passcode"] = conf.aprs_is.passcode;
data["aprs_is"]["server"] = conf.aprs_is.server;
data["aprs_is"]["port"] = conf.aprs_is.port;

Wyświetl plik

@ -33,9 +33,10 @@ public:
class APRS_IS {
public:
APRS_IS() : server("euro.aprs2.net"), port(14580) {
APRS_IS() : active(true), server("euro.aprs2.net"), port(14580) {
}
bool active;
String passcode;
String server;
int port;