From ed5e6a6ba9872da8af126d5b642bd6c5245e47cf Mon Sep 17 00:00:00 2001 From: Peter Buchegger Date: Thu, 24 Dec 2020 21:50:36 +0100 Subject: [PATCH] remove digi --- data/is-cfg.json | 7 --- src/LoRa_APRS_iGate.cpp | 89 +---------------------------------- src/project_configuration.cpp | 8 ---- src/project_configuration.h | 12 ----- 4 files changed, 2 insertions(+), 114 deletions(-) diff --git a/data/is-cfg.json b/data/is-cfg.json index 0fdfdb5..7a24d5e 100644 --- a/data/is-cfg.json +++ b/data/is-cfg.json @@ -25,13 +25,6 @@ "beacon":true, "beacon_timeout":15 }, - "digi": - { - "active":false, - "forward_timeout":5, - "beacon":true, - "beacon_timeout":30 - }, "lora": { "frequency_rx":433775000, diff --git a/src/LoRa_APRS_iGate.cpp b/src/LoRa_APRS_iGate.cpp index 431337e..f01ac92 100644 --- a/src/LoRa_APRS_iGate.cpp +++ b/src/LoRa_APRS_iGate.cpp @@ -29,7 +29,6 @@ PowerManagement powerManagement; portMUX_TYPE timerMux = portMUX_INITIALIZER_UNLOCKED; hw_timer_t * timer = NULL; volatile uint secondsSinceLastAPRSISBeacon = 0; -volatile uint secondsSinceLastDigiBeacon = 0; volatile uint secondsSinceStartup = 0; volatile uint secondsSinceDisplay = 0; @@ -110,10 +109,10 @@ void setup() powerManagement.deactivateGPS(); } - logPrintlnW("LoRa APRS iGate & Digi by OE5BPA (Peter Buchegger)"); + logPrintlnW("LoRa APRS iGate by OE5BPA (Peter Buchegger)"); logPrintlnW("Version: 20.49.0-dev"); setup_display(boardConfig); - show_display("OE5BPA", "LoRa APRS iGate & Digi", "by Peter Buchegger", "20.49.0-dev", 3000); + show_display("OE5BPA", "LoRa APRS iGate", "by Peter Buchegger", "20.49.0-dev", 3000); load_config(); setup_lora(); @@ -173,7 +172,6 @@ void loop() } static bool beacon_aprs_is = Config->aprs_is.active && Config->aprs_is.beacon; - static bool beacon_digi = Config->digi.active && Config->digi.beacon; if(Config->aprs_is.active && Config->aprs_is.beacon && secondsSinceLastAPRSISBeacon >= (Config->aprs_is.beaconTimeout*60)) { @@ -182,13 +180,6 @@ void loop() portEXIT_CRITICAL(&timerMux); beacon_aprs_is = true; } - if(Config->digi.active && Config->digi.beacon && secondsSinceLastDigiBeacon >= (Config->digi.beaconTimeout*60)) - { - portENTER_CRITICAL(&timerMux); - secondsSinceLastDigiBeacon -= (Config->digi.beaconTimeout*60); - portEXIT_CRITICAL(&timerMux); - beacon_digi = true; - } if(Config->ftp.active) { @@ -257,81 +248,6 @@ void loop() { aprs_is->sendMessage(msg->encode()); } - if(Config->digi.active) - { - if(msg->getSource().indexOf(Config->callsign) != -1) - { - logPrintD("Message already received as repeater: '"); - logPrintD(msg->toString()); - logPrintD("' with RSSI "); - logPrintD(String(lora_aprs->packetRssi())); - logPrintD(" and SNR "); - logPrintlnD(String(lora_aprs->packetSnr())); - return; - } - - // lets try not to flood the LoRa frequency in limiting the same messages: - std::map>::iterator foundMsg = std::find_if(lastMessages.begin(), lastMessages.end(), [&](std::pair > & old_msg) - { - if(msg->getSource() == old_msg.second->getSource() && - msg->getDestination() == old_msg.second->getDestination() && - msg->getAPRSBody()->getData() == old_msg.second->getAPRSBody()->getData()) - { - return true; - } - return false; - }); - - if(foundMsg == lastMessages.end()) - { - setup_display(boardConfig); secondsSinceDisplay = 0; display_is_on = true; - show_display(Config->callsign, "RSSI: " + String(lora_aprs->packetRssi()) + ", SNR: " + String(lora_aprs->packetSnr()), msg->toString(), 0); - logPrintD("Received packet '"); - logPrintD(msg->toString()); - logPrintD("' with RSSI "); - logPrintD(String(lora_aprs->packetRssi())); - logPrintD(" and SNR "); - logPrintlnD(String(lora_aprs->packetSnr())); - msg->setPath(String(Config->callsign) + "*"); - lora_aprs->sendMessage(msg); - lastMessages.insert({secondsSinceStartup, msg}); - } - else - { - logPrintD("Message already received (timeout): '"); - logPrintD(msg->toString()); - logPrintD("' with RSSI "); - logPrintD(String(lora_aprs->packetRssi())); - logPrintD(" and SNR "); - logPrintlnD(String(lora_aprs->packetSnr())); - } - return; - } - } - if(Config->digi.active) - { - for(std::map>::iterator iter = lastMessages.begin(); iter != lastMessages.end(); ) - { - if(secondsSinceStartup >= iter->first + Config->digi.forwardTimeout*60) - { - iter = lastMessages.erase(iter); - } - else - { - ++iter; - } - } - } - if(beacon_digi) - { - beacon_digi = false; - setup_display(boardConfig); secondsSinceDisplay = 0; display_is_on = true; - show_display(Config->callsign, "Beacon to HF..."); - logPrintD("[" + timeClient->getFormattedTime() + "] "); - logPrintlnD(BeaconMsg->encode()); - lora_aprs->sendMessage(BeaconMsg); - logPrintlnD("finished TXing..."); - show_display(Config->callsign, "Standby..."); } if(beacon_aprs_is) { @@ -548,7 +464,6 @@ void IRAM_ATTR onTimer() { portENTER_CRITICAL_ISR(&timerMux); secondsSinceLastAPRSISBeacon++; - secondsSinceLastDigiBeacon++; secondsSinceStartup++; secondsSinceDisplay++; portEXIT_CRITICAL_ISR(&timerMux); diff --git a/src/project_configuration.cpp b/src/project_configuration.cpp index 4adc06d..93e3b9a 100644 --- a/src/project_configuration.cpp +++ b/src/project_configuration.cpp @@ -30,10 +30,6 @@ Configuration * ProjectConfigurationManagement::readProjectConfiguration(Dynamic conf->aprs_is.port = data["aprs_is"]["port"] | 14580; conf->aprs_is.beacon = data["aprs_is"]["beacon"] | true; conf->aprs_is.beaconTimeout = data["aprs_is"]["beacon_timeout"] | 15; - conf->digi.active = data["digi"]["active"] | false; - conf->digi.forwardTimeout = data["digi"]["forward_timeout"] | 5; - conf->digi.beacon = data["digi"]["beacon"] | true; - conf->digi.beaconTimeout = data["digi"]["beacon_timeout"] | 30; conf->lora.frequencyRx = data["lora"]["frequency_rx"] | 433775000; conf->lora.frequencyTx = data["lora"]["frequency_tx"] | 433775000; @@ -90,10 +86,6 @@ void ProjectConfigurationManagement::writeProjectConfiguration(Configuration * c data["aprs_is"]["port"] = conf->aprs_is.port; data["aprs_is"]["beacon"] = conf->aprs_is.beacon; data["aprs_is"]["beacon_timeout"] = conf->aprs_is.beaconTimeout; - data["digi"]["active"] = conf->digi.active; - data["digi"]["forward_timeout"] = conf->digi.forwardTimeout; - data["digi"]["beacon"] = conf->digi.beacon; - data["digi"]["beacon_timeout"] = conf->digi.beaconTimeout; 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 65cd6bb..b9c4d5d 100644 --- a/src/project_configuration.h +++ b/src/project_configuration.h @@ -45,17 +45,6 @@ public: int beaconTimeout; }; - class Digi - { - public: - Digi() : active(false), forwardTimeout(5), beacon(true), beaconTimeout(30) {} - - bool active; - int forwardTimeout; - bool beacon; - int beaconTimeout; - }; - class LoRa { public: @@ -101,7 +90,6 @@ public: Wifi wifi; Beacon beacon; APRS_IS aprs_is; - Digi digi; LoRa lora; Display display; Ftp ftp;