add aprs is filter

pull/289/head
Peter Buchegger 2023-04-20 17:55:30 +02:00
rodzic 1bda129947
commit 8474d83799
4 zmienionych plików z 13 dodań i 3 usunięć

Wyświetl plik

@ -36,7 +36,8 @@
"active": true,
"passcode": "",
"server": "euro.aprs2.net",
"port": 14580
"port": 14580,
"filter": ""
},
"digi": {
"active": false,

Wyświetl plik

@ -44,8 +44,13 @@ bool AprsIsTask::loop(System &system) {
}
bool AprsIsTask::connect(System &system) {
system.getLogger().log(logging::LoggerLevel::LOGGER_LEVEL_INFO, getName(), "connecting to APRS-IS server: %s on port: %d", system.getUserConfig()->aprs_is.server.c_str(), system.getUserConfig()->aprs_is.port);
APRS_IS::ConnectionStatus status = _aprs_is.connect(system.getUserConfig()->aprs_is.server, system.getUserConfig()->aprs_is.port);
system.getLogger().log(logging::LoggerLevel::LOGGER_LEVEL_INFO, getName(), "connecting to APRS-IS server: %s on port: %d, with filter: '%s'", system.getUserConfig()->aprs_is.server.c_str(), system.getUserConfig()->aprs_is.port, system.getUserConfig()->aprs_is.filter);
APRS_IS::ConnectionStatus status = APRS_IS::ConnectionStatus::ERROR_CONNECTION;
if (system.getUserConfig()->aprs_is.filter.isEmpty()) {
status = _aprs_is.connect(system.getUserConfig()->aprs_is.server, system.getUserConfig()->aprs_is.port);
} else {
status = _aprs_is.connect(system.getUserConfig()->aprs_is.server, system.getUserConfig()->aprs_is.port, system.getUserConfig()->aprs_is.filter);
}
if (status == APRS_IS::ERROR_CONNECTION) {
system.getLogger().log(logging::LoggerLevel::LOGGER_LEVEL_ERROR, getName(), "Something went wrong on connecting! Is the server reachable?");
system.getLogger().log(logging::LoggerLevel::LOGGER_LEVEL_ERROR, getName(), "Connection failed.");

Wyświetl plik

@ -52,6 +52,8 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen
if (data.containsKey("aprs_is") && data["aprs_is"].containsKey("server"))
conf.aprs_is.server = data["aprs_is"]["server"].as<String>();
conf.aprs_is.port = data["aprs_is"]["port"] | 14580;
if (data.containsKey("aprs_is") && data["aprs_is"].containsKey("filter"))
conf.aprs_is.filter = data["aprs_is"]["filter"].as<String>();
conf.digi.active = data["digi"]["active"] | false;
conf.digi.beacon = data["digi"]["beacon"] | false;
@ -147,6 +149,7 @@ void ProjectConfigurationManagement::writeProjectConfiguration(Configuration &co
data["aprs_is"]["passcode"] = conf.aprs_is.passcode;
data["aprs_is"]["server"] = conf.aprs_is.server;
data["aprs_is"]["port"] = conf.aprs_is.port;
data["aprs_is"]["filter"] = conf.aprs_is.filter;
data["digi"]["active"] = conf.digi.active;
data["digi"]["beacon"] = conf.digi.beacon;
data["lora"]["frequency_rx"] = conf.lora.frequencyRx;

Wyświetl plik

@ -67,6 +67,7 @@ public:
String passcode;
String server;
int port;
String filter;
};
class Digi {