From d6083df1740d0827934075899f444af5a4d95eb3 Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Sun, 9 May 2021 14:21:24 +0200 Subject: [PATCH 01/17] Revert "remove digi" partly This reverts commit ed5e6a6ba9872da8af126d5b642bd6c5245e47cf. --- data/is-cfg.json | 5 +++++ src/project_configuration.cpp | 6 ++++++ src/project_configuration.h | 11 +++++++++++ 3 files changed, 22 insertions(+) diff --git a/data/is-cfg.json b/data/is-cfg.json index c84a3f5..df180eb 100644 --- a/data/is-cfg.json +++ b/data/is-cfg.json @@ -21,6 +21,11 @@ "server": "euro.aprs2.net", "port": 14580 }, + "digi": { + "active": false, + "forward_timeout": 5, + "beacon": true, + }, "lora": { "frequency_rx": 433775000, "frequency_tx": 433775000, diff --git a/src/project_configuration.cpp b/src/project_configuration.cpp index 1a68b74..3514a97 100644 --- a/src/project_configuration.cpp +++ b/src/project_configuration.cpp @@ -26,6 +26,9 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen conf.aprs_is.server = data["aprs_is"]["server"].as(); conf.aprs_is.port = data["aprs_is"]["port"] | 14580; + conf.digi.active = data["digi"]["active"] | false; + conf.digi.forwardTimeout = data["digi"]["forward_timeout"] | 5; + conf.digi.beacon = data["digi"]["beacon"] | true; conf.lora.frequencyRx = data["lora"]["frequency_rx"] | 433775000; conf.lora.frequencyTx = data["lora"]["frequency_tx"] | 433775000; conf.lora.power = data["lora"]["power"] | 20; @@ -73,6 +76,9 @@ 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["digi"]["active"] = conf.digi.active; + data["digi"]["forward_timeout"] = conf.digi.forwardTimeout; + data["digi"]["beacon"] = conf.digi.beacon; data["lora"]["frequency_rx"] = conf.lora.frequencyRx; data["lora"]["frequency_tx"] = conf.lora.frequencyTx; data["lora"]["power"] = conf.lora.power; diff --git a/src/project_configuration.h b/src/project_configuration.h index 90af324..e63e1f1 100644 --- a/src/project_configuration.h +++ b/src/project_configuration.h @@ -41,6 +41,16 @@ public: int port; }; + class Digi { + public: + Digi() : active(false), forwardTimeout(5), beacon(true) { + } + + bool active; + int forwardTimeout; + bool beacon; + }; + class LoRa { public: LoRa() : frequencyRx(433775000), frequencyTx(433775000), power(20), spreadingFactor(12), signalBandwidth(125000), codingRate4(5) { @@ -86,6 +96,7 @@ public: Wifi wifi; Beacon beacon; APRS_IS aprs_is; + Digi digi; LoRa lora; Display display; Ftp ftp; From 6eb82b78bf8d1c7ababa9b18e37be61c7e22deec Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Mon, 24 May 2021 14:22:16 +0200 Subject: [PATCH 02/17] make APRS-IS connection optional --- data/is-cfg.json | 1 + src/LoRa_APRS_iGate.cpp | 4 +++- src/TaskRouter.cpp | 11 +++++++++-- src/project_configuration.cpp | 2 ++ src/project_configuration.h | 3 ++- 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/data/is-cfg.json b/data/is-cfg.json index df180eb..1a685b0 100644 --- a/data/is-cfg.json +++ b/data/is-cfg.json @@ -17,6 +17,7 @@ "timeout": 15 }, "aprs_is": { + "active": true, "passcode": "", "server": "euro.aprs2.net", "port": 14580 diff --git a/src/LoRa_APRS_iGate.cpp b/src/LoRa_APRS_iGate.cpp index 01d62ba..36d254e 100644 --- a/src/LoRa_APRS_iGate.cpp +++ b/src/LoRa_APRS_iGate.cpp @@ -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); diff --git a/src/TaskRouter.cpp b/src/TaskRouter.cpp index 73f5ba3..9b4218d 100644 --- a/src/TaskRouter.cpp +++ b/src/TaskRouter.cpp @@ -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(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; } diff --git a/src/project_configuration.cpp b/src/project_configuration.cpp index 3514a97..56b3f25 100644 --- a/src/project_configuration.cpp +++ b/src/project_configuration.cpp @@ -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(); 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; diff --git a/src/project_configuration.h b/src/project_configuration.h index e63e1f1..2bbbe35 100644 --- a/src/project_configuration.h +++ b/src/project_configuration.h @@ -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; From d82db93801018e9b3fad09f35384a8203fffdf19 Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Mon, 24 May 2021 15:12:31 +0200 Subject: [PATCH 03/17] add RF Bake --- src/LoRa_APRS_iGate.cpp | 5 +++-- src/TaskModem.cpp | 8 +++++++- src/TaskModem.h | 4 +++- src/TaskRouter.cpp | 12 +++++++++++- src/TaskRouter.h | 5 ++++- 5 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/LoRa_APRS_iGate.cpp b/src/LoRa_APRS_iGate.cpp index 36d254e..c8433aa 100644 --- a/src/LoRa_APRS_iGate.cpp +++ b/src/LoRa_APRS_iGate.cpp @@ -25,19 +25,20 @@ String create_long_aprs(double lng); TaskQueue> toAprsIs; TaskQueue> fromModem; +TaskQueue> toModem; System LoRaSystem; Configuration userConfig; DisplayTask displayTask; -ModemTask modemTask(fromModem); +ModemTask modemTask(fromModem, toModem); EthTask ethTask; WifiTask wifiTask; OTATask otaTask; NTPTask ntpTask; FTPTask ftpTask; AprsIsTask aprsIsTask(toAprsIs); -RouterTask routerTask(fromModem, toAprsIs); +RouterTask routerTask(fromModem, toModem, toAprsIs); // cppcheck-suppress unusedFunction void setup() { diff --git a/src/TaskModem.cpp b/src/TaskModem.cpp index 336b06e..095df1e 100644 --- a/src/TaskModem.cpp +++ b/src/TaskModem.cpp @@ -7,7 +7,8 @@ #include "TaskModem.h" #include "project_configuration.h" -ModemTask::ModemTask(TaskQueue> &fromModem) : Task(TASK_MODEM, TaskModem), _fromModem(fromModem) { +ModemTask::ModemTask(TaskQueue> &fromModem, TaskQueue> &toModem) + : Task(TASK_MODEM, TaskModem), _fromModem(fromModem), _toModem(toModem) { } ModemTask::~ModemTask() { @@ -51,5 +52,10 @@ bool ModemTask::loop(System &system) { system.getDisplay().addFrame(std::shared_ptr(new TextFrame("LoRa", msg->toString()))); } + if (!_toModem.empty()) { + std::shared_ptr msg = _toModem.getElement(); + _lora_aprs.sendMessage(msg); + } + return true; } diff --git a/src/TaskModem.h b/src/TaskModem.h index a11dfd3..a5aad06 100644 --- a/src/TaskModem.h +++ b/src/TaskModem.h @@ -7,7 +7,7 @@ class ModemTask : public Task { public: - explicit ModemTask(TaskQueue> &fromModem); + explicit ModemTask(TaskQueue> &fromModem, TaskQueue> &_toModem); virtual ~ModemTask(); virtual bool setup(System &system) override; @@ -15,7 +15,9 @@ public: private: LoRa_APRS _lora_aprs; + TaskQueue> &_fromModem; + TaskQueue> &_toModem; }; #endif diff --git a/src/TaskRouter.cpp b/src/TaskRouter.cpp index 9b4218d..06fd14d 100644 --- a/src/TaskRouter.cpp +++ b/src/TaskRouter.cpp @@ -9,7 +9,10 @@ String create_lat_aprs(double lat); String create_long_aprs(double lng); -RouterTask::RouterTask(TaskQueue> &fromModem, TaskQueue> &toAprsIs) : Task(TASK_ROUTER, TaskRouter), _fromModem(fromModem), _toAprsIs(toAprsIs) { +RouterTask::RouterTask(TaskQueue> &fromModem + , TaskQueue> &toModem + , TaskQueue> &toAprsIs) + : Task(TASK_ROUTER, TaskRouter), _fromModem(fromModem), _toModem(toModem), _toAprsIs(toAprsIs) { } RouterTask::~RouterTask() { @@ -53,6 +56,13 @@ bool RouterTask::loop(System &system) { if (system.getUserConfig()->aprs_is.active) _toAprsIs.addElement(_beaconMsg); + if (system.getUserConfig()->digi.beacon) { + std::shared_ptr msg = _beaconMsg; + msg->setPath("WIDE1-1"); + + _toModem.addElement(msg); + } + system.getDisplay().addFrame(std::shared_ptr(new TextFrame("BEACON", _beaconMsg->toString()))); _beacon_timer.start(); diff --git a/src/TaskRouter.h b/src/TaskRouter.h index b6e4289..043104f 100644 --- a/src/TaskRouter.h +++ b/src/TaskRouter.h @@ -6,7 +6,9 @@ class RouterTask : public Task { public: - RouterTask(TaskQueue> &fromModem, TaskQueue> &toAprsIs); + RouterTask(TaskQueue> &fromModem + , TaskQueue> &toModem + , TaskQueue> &toAprsIs); virtual ~RouterTask(); virtual bool setup(System &system) override; @@ -14,6 +16,7 @@ public: private: TaskQueue> &_fromModem; + TaskQueue> &_toModem; TaskQueue> &_toAprsIs; std::shared_ptr _beaconMsg; From 34f794aac2c9f213bd97d1e267a47e1b52ba51b3 Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Mon, 24 May 2021 15:50:01 +0200 Subject: [PATCH 04/17] move setPath(WIDE1-1) global --- src/TaskRouter.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/TaskRouter.cpp b/src/TaskRouter.cpp index 06fd14d..db3b811 100644 --- a/src/TaskRouter.cpp +++ b/src/TaskRouter.cpp @@ -24,6 +24,7 @@ bool RouterTask::setup(System &system) { _beaconMsg = std::shared_ptr(new APRSMessage()); _beaconMsg->setSource(system.getUserConfig()->callsign); _beaconMsg->setDestination("APLG01"); + _beaconMsg->setPath("WIDE1-1"); String lat = create_lat_aprs(system.getUserConfig()->beacon.positionLatitude); String lng = create_long_aprs(system.getUserConfig()->beacon.positionLongitude); _beaconMsg->getBody()->setData(String("=") + lat + "L" + lng + "&" + system.getUserConfig()->beacon.message); @@ -56,12 +57,8 @@ bool RouterTask::loop(System &system) { if (system.getUserConfig()->aprs_is.active) _toAprsIs.addElement(_beaconMsg); - if (system.getUserConfig()->digi.beacon) { - std::shared_ptr msg = _beaconMsg; - msg->setPath("WIDE1-1"); - - _toModem.addElement(msg); - } + if (system.getUserConfig()->digi.beacon) + _toModem.addElement(_beaconMsg); system.getDisplay().addFrame(std::shared_ptr(new TextFrame("BEACON", _beaconMsg->toString()))); From ccfc0ceb120c16f455c8233a5cdec3d736e29019 Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Mon, 24 May 2021 15:50:30 +0100 Subject: [PATCH 05/17] update routing to APRS-IS --- src/TaskRouter.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/TaskRouter.cpp b/src/TaskRouter.cpp index db3b811..09afb91 100644 --- a/src/TaskRouter.cpp +++ b/src/TaskRouter.cpp @@ -35,17 +35,20 @@ bool RouterTask::setup(System &system) { bool RouterTask::loop(System &system) { // do routing if (!_fromModem.empty()) { - std::shared_ptr msg = _fromModem.getElement(); - String path = msg->getPath(); + std::shared_ptr modemMsg = _fromModem.getElement(); - if (!(path.indexOf("RFONLY") != -1 || path.indexOf("NOGATE") != -1 || path.indexOf("TCPIP") != -1)) { - if (!path.isEmpty()) { - path += ","; - } - msg->setPath(path + "qAR," + system.getUserConfig()->callsign); + if (system.getUserConfig()->aprs_is.active && modemMsg->getSource() != system.getUserConfig()->callsign) { + std::shared_ptr msg = std::make_shared(*modemMsg); + String path = msg->getPath(); - if (system.getUserConfig()->aprs_is.active) + if (!(path.indexOf("RFONLY") != -1 || path.indexOf("NOGATE") != -1 || path.indexOf("TCPIP") != -1)) { + if (!path.isEmpty()) { + path += ","; + } + + msg->setPath(path + "qAR," + system.getUserConfig()->callsign); _toAprsIs.addElement(msg); + } } } From 7d2ad244b053081d7f15f05c4c454b00b6c284a5 Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Mon, 24 May 2021 16:10:20 +0100 Subject: [PATCH 06/17] add debug msg into aprs-is routing part --- src/TaskRouter.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/TaskRouter.cpp b/src/TaskRouter.cpp index 09afb91..be8a370 100644 --- a/src/TaskRouter.cpp +++ b/src/TaskRouter.cpp @@ -38,17 +38,28 @@ bool RouterTask::loop(System &system) { std::shared_ptr modemMsg = _fromModem.getElement(); if (system.getUserConfig()->aprs_is.active && modemMsg->getSource() != system.getUserConfig()->callsign) { - std::shared_ptr msg = std::make_shared(*modemMsg); - String path = msg->getPath(); + std::shared_ptr aprsIsMsg = std::make_shared(*modemMsg); + String path = aprsIsMsg->getPath(); if (!(path.indexOf("RFONLY") != -1 || path.indexOf("NOGATE") != -1 || path.indexOf("TCPIP") != -1)) { if (!path.isEmpty()) { path += ","; } - msg->setPath(path + "qAR," + system.getUserConfig()->callsign); - _toAprsIs.addElement(msg); + aprsIsMsg->setPath(path + "qAR," + system.getUserConfig()->callsign); + + logPrintD("APRS-IS: "); + logPrintlnD(aprsIsMsg->toString()); + _toAprsIs.addElement(aprsIsMsg); + } else { + logPrintlnD("APRS-IS: no forward => RFonly"); } + } else { + if (!system.getUserConfig()->aprs_is.active) + logPrintlnD("APRS-IS: disabled"); + + if (modemMsg->getSource() == system.getUserConfig()->callsign) + logPrintlnD("APRS-IS: no forward => own paket erceived"); } } From 61f42f3d9a60e2b3b890569f93996c9f81f86439 Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Mon, 24 May 2021 16:24:50 +0100 Subject: [PATCH 07/17] more debug for wifi --- src/TaskEth.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/TaskEth.cpp b/src/TaskEth.cpp index 55ee653..fdad5a2 100644 --- a/src/TaskEth.cpp +++ b/src/TaskEth.cpp @@ -39,6 +39,8 @@ void WiFiEvent(WiFiEvent_t event) { logPrintI(ETH.macAddress()); logPrintI(", IPv4: "); logPrintI(ETH.localIP().toString()); + logPrintI(", DNS: "); + logPrintI(ETH.dnsIP().toString()); if (ETH.fullDuplex()) { logPrintI(", FULL_DUPLEX"); } From 4e1e818c4dbc51c3f53d36e5980fbf99070a7b53 Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Mon, 24 May 2021 17:48:39 +0100 Subject: [PATCH 08/17] first digi function --- src/TaskRouter.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/TaskRouter.cpp b/src/TaskRouter.cpp index be8a370..ebaf38b 100644 --- a/src/TaskRouter.cpp +++ b/src/TaskRouter.cpp @@ -36,10 +36,11 @@ bool RouterTask::loop(System &system) { // do routing if (!_fromModem.empty()) { std::shared_ptr modemMsg = _fromModem.getElement(); + String path; if (system.getUserConfig()->aprs_is.active && modemMsg->getSource() != system.getUserConfig()->callsign) { std::shared_ptr aprsIsMsg = std::make_shared(*modemMsg); - String path = aprsIsMsg->getPath(); + path = aprsIsMsg->getPath(); if (!(path.indexOf("RFONLY") != -1 || path.indexOf("NOGATE") != -1 || path.indexOf("TCPIP") != -1)) { if (!path.isEmpty()) { @@ -61,6 +62,22 @@ bool RouterTask::loop(System &system) { if (modemMsg->getSource() == system.getUserConfig()->callsign) logPrintlnD("APRS-IS: no forward => own paket erceived"); } + + if (system.getUserConfig()->digi.active && modemMsg->getSource() != system.getUserConfig()->callsign) { + std::shared_ptr digiMsg = std::make_shared(*modemMsg); + path = digiMsg->getPath(); + + // simple loop check + if (path.indexOf("WIDE1-1") >= 0 || path.indexOf(system.getUserConfig()->callsign) == -1) { + // fixme + digiMsg->setPath(system.getUserConfig()->callsign + "*"); + + logPrintD("DIGI: "); + logPrintlnD(digiMsg->toString()); + + _toModem.addElement(digiMsg); + } + } } // check for beacon From 95ee0eca10bd9fd344c8d9f8e7d56f7e4d04c03d Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Mon, 24 May 2021 18:40:35 +0100 Subject: [PATCH 09/17] set RF Bake default off --- data/is-cfg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/is-cfg.json b/data/is-cfg.json index 1a685b0..e838666 100644 --- a/data/is-cfg.json +++ b/data/is-cfg.json @@ -25,7 +25,7 @@ "digi": { "active": false, "forward_timeout": 5, - "beacon": true, + "beacon": false, }, "lora": { "frequency_rx": 433775000, From c843084e7193ed36c16d23b3e92be2338657ecb5 Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Mon, 24 May 2021 22:22:07 +0200 Subject: [PATCH 10/17] set RF Bake default off --- src/project_configuration.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/project_configuration.cpp b/src/project_configuration.cpp index 56b3f25..67938d1 100644 --- a/src/project_configuration.cpp +++ b/src/project_configuration.cpp @@ -29,7 +29,7 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen conf.digi.active = data["digi"]["active"] | false; conf.digi.forwardTimeout = data["digi"]["forward_timeout"] | 5; - conf.digi.beacon = data["digi"]["beacon"] | true; + conf.digi.beacon = data["digi"]["beacon"] | false; conf.lora.frequencyRx = data["lora"]["frequency_rx"] | 433775000; conf.lora.frequencyTx = data["lora"]["frequency_tx"] | 433775000; conf.lora.power = data["lora"]["power"] | 20; From 63abe791cd2d4f89f566c056609d5dd95322cfac Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Tue, 25 May 2021 11:15:01 +0200 Subject: [PATCH 11/17] move WIDE1-1 Path to Digi Msg --- src/TaskRouter.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/TaskRouter.cpp b/src/TaskRouter.cpp index ebaf38b..4e7eee5 100644 --- a/src/TaskRouter.cpp +++ b/src/TaskRouter.cpp @@ -21,10 +21,10 @@ RouterTask::~RouterTask() { bool RouterTask::setup(System &system) { // setup beacon _beacon_timer.setTimeout(system.getUserConfig()->beacon.timeout * 60 * 1000); + _beaconMsg = std::shared_ptr(new APRSMessage()); _beaconMsg->setSource(system.getUserConfig()->callsign); _beaconMsg->setDestination("APLG01"); - _beaconMsg->setPath("WIDE1-1"); String lat = create_lat_aprs(system.getUserConfig()->beacon.positionLatitude); String lng = create_long_aprs(system.getUserConfig()->beacon.positionLongitude); _beaconMsg->getBody()->setData(String("=") + lat + "L" + lng + "&" + system.getUserConfig()->beacon.message); @@ -88,8 +88,11 @@ bool RouterTask::loop(System &system) { if (system.getUserConfig()->aprs_is.active) _toAprsIs.addElement(_beaconMsg); - if (system.getUserConfig()->digi.beacon) - _toModem.addElement(_beaconMsg); + if (system.getUserConfig()->digi.beacon) { + std::shared_ptr digiBeaconMsg = std::make_shared(*_beaconMsg); + digiBeaconMsg->setPath("WIDE1-1"); + _toModem.addElement(digiBeaconMsg); + } system.getDisplay().addFrame(std::shared_ptr(new TextFrame("BEACON", _beaconMsg->toString()))); From 86c2e46fcd3242b07f5379ac2051846213df6150 Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Tue, 25 May 2021 11:41:15 +0200 Subject: [PATCH 12/17] fix typo --- src/TaskRouter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/TaskRouter.cpp b/src/TaskRouter.cpp index 4e7eee5..91eba46 100644 --- a/src/TaskRouter.cpp +++ b/src/TaskRouter.cpp @@ -60,7 +60,7 @@ bool RouterTask::loop(System &system) { logPrintlnD("APRS-IS: disabled"); if (modemMsg->getSource() == system.getUserConfig()->callsign) - logPrintlnD("APRS-IS: no forward => own paket erceived"); + logPrintlnD("APRS-IS: no forward => own packet received"); } if (system.getUserConfig()->digi.active && modemMsg->getSource() != system.getUserConfig()->callsign) { From da1be0cc6e9d8d7283d997177ed8e67511b621a5 Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Tue, 25 May 2021 13:00:44 +0200 Subject: [PATCH 13/17] clang format --- src/TaskModem.cpp | 3 +-- src/TaskModem.h | 2 +- src/TaskRouter.cpp | 13 +++++-------- src/TaskRouter.h | 4 +--- src/project_configuration.h | 4 ++-- 5 files changed, 10 insertions(+), 16 deletions(-) diff --git a/src/TaskModem.cpp b/src/TaskModem.cpp index 095df1e..1056c39 100644 --- a/src/TaskModem.cpp +++ b/src/TaskModem.cpp @@ -7,8 +7,7 @@ #include "TaskModem.h" #include "project_configuration.h" -ModemTask::ModemTask(TaskQueue> &fromModem, TaskQueue> &toModem) - : Task(TASK_MODEM, TaskModem), _fromModem(fromModem), _toModem(toModem) { +ModemTask::ModemTask(TaskQueue> &fromModem, TaskQueue> &toModem) : Task(TASK_MODEM, TaskModem), _fromModem(fromModem), _toModem(toModem) { } ModemTask::~ModemTask() { diff --git a/src/TaskModem.h b/src/TaskModem.h index a5aad06..6087b67 100644 --- a/src/TaskModem.h +++ b/src/TaskModem.h @@ -14,7 +14,7 @@ public: virtual bool loop(System &system) override; private: - LoRa_APRS _lora_aprs; + LoRa_APRS _lora_aprs; TaskQueue> &_fromModem; TaskQueue> &_toModem; diff --git a/src/TaskRouter.cpp b/src/TaskRouter.cpp index 91eba46..df54ec6 100644 --- a/src/TaskRouter.cpp +++ b/src/TaskRouter.cpp @@ -9,10 +9,7 @@ String create_lat_aprs(double lat); String create_long_aprs(double lng); -RouterTask::RouterTask(TaskQueue> &fromModem - , TaskQueue> &toModem - , TaskQueue> &toAprsIs) - : Task(TASK_ROUTER, TaskRouter), _fromModem(fromModem), _toModem(toModem), _toAprsIs(toAprsIs) { +RouterTask::RouterTask(TaskQueue> &fromModem, TaskQueue> &toModem, TaskQueue> &toAprsIs) : Task(TASK_ROUTER, TaskRouter), _fromModem(fromModem), _toModem(toModem), _toAprsIs(toAprsIs) { } RouterTask::~RouterTask() { @@ -35,12 +32,12 @@ bool RouterTask::setup(System &system) { bool RouterTask::loop(System &system) { // do routing if (!_fromModem.empty()) { - std::shared_ptr modemMsg = _fromModem.getElement(); - String path; + std::shared_ptr modemMsg = _fromModem.getElement(); + String path; if (system.getUserConfig()->aprs_is.active && modemMsg->getSource() != system.getUserConfig()->callsign) { std::shared_ptr aprsIsMsg = std::make_shared(*modemMsg); - path = aprsIsMsg->getPath(); + path = aprsIsMsg->getPath(); if (!(path.indexOf("RFONLY") != -1 || path.indexOf("NOGATE") != -1 || path.indexOf("TCPIP") != -1)) { if (!path.isEmpty()) { @@ -65,7 +62,7 @@ bool RouterTask::loop(System &system) { if (system.getUserConfig()->digi.active && modemMsg->getSource() != system.getUserConfig()->callsign) { std::shared_ptr digiMsg = std::make_shared(*modemMsg); - path = digiMsg->getPath(); + path = digiMsg->getPath(); // simple loop check if (path.indexOf("WIDE1-1") >= 0 || path.indexOf(system.getUserConfig()->callsign) == -1) { diff --git a/src/TaskRouter.h b/src/TaskRouter.h index 043104f..8d8d1ac 100644 --- a/src/TaskRouter.h +++ b/src/TaskRouter.h @@ -6,9 +6,7 @@ class RouterTask : public Task { public: - RouterTask(TaskQueue> &fromModem - , TaskQueue> &toModem - , TaskQueue> &toAprsIs); + RouterTask(TaskQueue> &fromModem, TaskQueue> &toModem, TaskQueue> &toAprsIs); virtual ~RouterTask(); virtual bool setup(System &system) override; diff --git a/src/project_configuration.h b/src/project_configuration.h index 2bbbe35..fbc785c 100644 --- a/src/project_configuration.h +++ b/src/project_configuration.h @@ -36,7 +36,7 @@ public: APRS_IS() : active(true), server("euro.aprs2.net"), port(14580) { } - bool active; + bool active; String passcode; String server; int port; @@ -48,7 +48,7 @@ public: } bool active; - int forwardTimeout; + int forwardTimeout; bool beacon; }; From 0880428184a5a48711d5c38813ca8903c9adea7e Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Tue, 25 May 2021 12:21:55 +0100 Subject: [PATCH 14/17] avoid global vars --- src/TaskRouter.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/TaskRouter.cpp b/src/TaskRouter.cpp index df54ec6..a975691 100644 --- a/src/TaskRouter.cpp +++ b/src/TaskRouter.cpp @@ -33,11 +33,10 @@ bool RouterTask::loop(System &system) { // do routing if (!_fromModem.empty()) { std::shared_ptr modemMsg = _fromModem.getElement(); - String path; if (system.getUserConfig()->aprs_is.active && modemMsg->getSource() != system.getUserConfig()->callsign) { std::shared_ptr aprsIsMsg = std::make_shared(*modemMsg); - path = aprsIsMsg->getPath(); + String path = aprsIsMsg->getPath(); if (!(path.indexOf("RFONLY") != -1 || path.indexOf("NOGATE") != -1 || path.indexOf("TCPIP") != -1)) { if (!path.isEmpty()) { @@ -62,7 +61,7 @@ bool RouterTask::loop(System &system) { if (system.getUserConfig()->digi.active && modemMsg->getSource() != system.getUserConfig()->callsign) { std::shared_ptr digiMsg = std::make_shared(*modemMsg); - path = digiMsg->getPath(); + String path = digiMsg->getPath(); // simple loop check if (path.indexOf("WIDE1-1") >= 0 || path.indexOf(system.getUserConfig()->callsign) == -1) { From cc0e014d2eb0b7fba68af2fa9ed7110a3de798dc Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Tue, 25 May 2021 20:21:08 +0200 Subject: [PATCH 15/17] remove WIDE1-1 from digi beacon path --- src/TaskRouter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/TaskRouter.cpp b/src/TaskRouter.cpp index a975691..22ae2cf 100644 --- a/src/TaskRouter.cpp +++ b/src/TaskRouter.cpp @@ -86,7 +86,7 @@ bool RouterTask::loop(System &system) { if (system.getUserConfig()->digi.beacon) { std::shared_ptr digiBeaconMsg = std::make_shared(*_beaconMsg); - digiBeaconMsg->setPath("WIDE1-1"); + //digiBeaconMsg->setPath("WIDE1-1"); _toModem.addElement(digiBeaconMsg); } From ee2f14bac1568c7510ab11978a1f7173fd05ed66 Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Tue, 25 May 2021 21:33:55 +0200 Subject: [PATCH 16/17] no commented code! --- src/TaskRouter.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/TaskRouter.cpp b/src/TaskRouter.cpp index 22ae2cf..210ed7e 100644 --- a/src/TaskRouter.cpp +++ b/src/TaskRouter.cpp @@ -85,9 +85,7 @@ bool RouterTask::loop(System &system) { _toAprsIs.addElement(_beaconMsg); if (system.getUserConfig()->digi.beacon) { - std::shared_ptr digiBeaconMsg = std::make_shared(*_beaconMsg); - //digiBeaconMsg->setPath("WIDE1-1"); - _toModem.addElement(digiBeaconMsg); + _toModem.addElement(_beaconMsg); } system.getDisplay().addFrame(std::shared_ptr(new TextFrame("BEACON", _beaconMsg->toString()))); From f5793ae040627f42c36b0e7003f9d3863c17727f Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Tue, 25 May 2021 21:57:18 +0200 Subject: [PATCH 17/17] remove not implemented features --- data/is-cfg.json | 3 +-- src/project_configuration.cpp | 2 -- src/project_configuration.h | 3 +-- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/data/is-cfg.json b/data/is-cfg.json index e838666..3d536bb 100644 --- a/data/is-cfg.json +++ b/data/is-cfg.json @@ -24,8 +24,7 @@ }, "digi": { "active": false, - "forward_timeout": 5, - "beacon": false, + "beacon": false }, "lora": { "frequency_rx": 433775000, diff --git a/src/project_configuration.cpp b/src/project_configuration.cpp index 67938d1..4bce038 100644 --- a/src/project_configuration.cpp +++ b/src/project_configuration.cpp @@ -28,7 +28,6 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen conf.aprs_is.port = data["aprs_is"]["port"] | 14580; conf.digi.active = data["digi"]["active"] | false; - conf.digi.forwardTimeout = data["digi"]["forward_timeout"] | 5; conf.digi.beacon = data["digi"]["beacon"] | false; conf.lora.frequencyRx = data["lora"]["frequency_rx"] | 433775000; conf.lora.frequencyTx = data["lora"]["frequency_tx"] | 433775000; @@ -79,7 +78,6 @@ void ProjectConfigurationManagement::writeProjectConfiguration(Configuration &co data["aprs_is"]["server"] = conf.aprs_is.server; data["aprs_is"]["port"] = conf.aprs_is.port; data["digi"]["active"] = conf.digi.active; - data["digi"]["forward_timeout"] = conf.digi.forwardTimeout; data["digi"]["beacon"] = conf.digi.beacon; data["lora"]["frequency_rx"] = conf.lora.frequencyRx; data["lora"]["frequency_tx"] = conf.lora.frequencyTx; diff --git a/src/project_configuration.h b/src/project_configuration.h index fbc785c..e1e1686 100644 --- a/src/project_configuration.h +++ b/src/project_configuration.h @@ -44,11 +44,10 @@ public: class Digi { public: - Digi() : active(false), forwardTimeout(5), beacon(true) { + Digi() : active(false), beacon(true) { } bool active; - int forwardTimeout; bool beacon; };