From d6bc7e9788c556f4e2bceb1594c61d96d7a81f76 Mon Sep 17 00:00:00 2001 From: Peter Buchegger Date: Sun, 20 Mar 2022 12:16:37 +0100 Subject: [PATCH] add syslog config --- data/is-cfg.json | 7 ++++++- src/LoRa_APRS_iGate.cpp | 5 +++++ src/project_configuration.cpp | 8 ++++++++ src/project_configuration.h | 19 +++++++++++++++++-- 4 files changed, 36 insertions(+), 3 deletions(-) diff --git a/data/is-cfg.json b/data/is-cfg.json index f278166..942f750 100644 --- a/data/is-cfg.json +++ b/data/is-cfg.json @@ -49,7 +49,7 @@ "spreading_factor": 12, "signal_bandwidth": 125000, "coding_rate4": 5, - "tx_enable": true + "tx_enable": false }, "display": { "always_on": true, @@ -74,5 +74,10 @@ "password": "", "topic": "LoraAPRS/Data" }, + "syslog": { + "active": true, + "server": "syslog.lora-aprs.info", + "port": 514 + }, "ntp_server": "pool.ntp.org" } diff --git a/src/LoRa_APRS_iGate.cpp b/src/LoRa_APRS_iGate.cpp index 74a313d..8f7b8c9 100644 --- a/src/LoRa_APRS_iGate.cpp +++ b/src/LoRa_APRS_iGate.cpp @@ -149,6 +149,11 @@ void setup() { void loop() { LoRaSystem.getTaskManager().loop(LoRaSystem); + if (LoRaSystem.isWifiEthConnected()) { + if (LoRaSystem.getUserConfig()->syslog.active) { + LoRaSystem.getLogger().setSyslogServer(LoRaSystem.getUserConfig()->syslog.server, LoRaSystem.getUserConfig()->syslog.port, LoRaSystem.getUserConfig()->callsign); + } + } } String create_lat_aprs(double lat) { diff --git a/src/project_configuration.cpp b/src/project_configuration.cpp index a462c5b..6deebf5 100644 --- a/src/project_configuration.cpp +++ b/src/project_configuration.cpp @@ -86,6 +86,11 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen conf.mqtt.password = data["mqtt"]["password"].as(); conf.mqtt.topic = data["mqtt"]["topic"].as(); } + if (data.containsKey("syslog")) { + conf.syslog.active = data["syslog"]["active"] | true; + conf.syslog.server = data["syslog"]["server"].as(); + conf.syslog.port = data["syslog"]["port"] | 514; + } if (data.containsKey("ntp_server")) conf.ntpServer = data["ntp_server"].as(); @@ -149,6 +154,9 @@ void ProjectConfigurationManagement::writeProjectConfiguration(Configuration &co data["mqtt"]["name"] = conf.mqtt.name; data["mqtt"]["password"] = conf.mqtt.password; data["mqtt"]["topic"] = conf.mqtt.topic; + data["syslog"]["active"] = conf.syslog.active; + data["syslog"]["server"] = conf.syslog.server; + data["syslog"]["port"] = conf.syslog.port; data["ntp_server"] = conf.ntpServer; data["board"] = conf.board; diff --git a/src/project_configuration.h b/src/project_configuration.h index 4fe78bd..234a83a 100644 --- a/src/project_configuration.h +++ b/src/project_configuration.h @@ -120,6 +120,9 @@ public: class MQTT { public: + MQTT() : active(false), server(""), port(1883), name(""), password(""), topic("LoraAPRS/Data") { + } + bool active; String server; uint16_t port; @@ -128,7 +131,18 @@ public: String topic; }; - Configuration() : callsign("NOCALL-10"), board(""), ntpServer("pool.ntp.org"){}; + class Syslog { + public: + Syslog() : active(true), server("syslog.lora-aprs.info"), port(514) { + } + + bool active; + String server; + int port; + }; + + Configuration() : callsign("NOCALL-10"), ntpServer("pool.ntp.org"), board("") { + } String callsign; Network network; @@ -140,8 +154,9 @@ public: Display display; Ftp ftp; MQTT mqtt; - String board; + Syslog syslog; String ntpServer; + String board; }; class ProjectConfigurationManagement : public ConfigurationManagement {