From f8dfdc124626ea29720bec3e2d6c7cbe77ceabdb Mon Sep 17 00:00:00 2001 From: Peter Buchegger Date: Sun, 19 Sep 2021 21:36:51 +0200 Subject: [PATCH] Revert "Digipeater - Different LoRa Settings for RX and TX" --- data/is-cfg.json | 16 +++---- lib/LoRa_APRS/LoRa_APRS.cpp | 79 ++++------------------------------- lib/LoRa_APRS/LoRa_APRS.h | 28 +------------ src/TaskModem.cpp | 19 ++++----- src/project_configuration.cpp | 39 +++++++---------- src/project_configuration.h | 18 ++++---- 6 files changed, 44 insertions(+), 155 deletions(-) diff --git a/data/is-cfg.json b/data/is-cfg.json index 66a8a09..736d44c 100644 --- a/data/is-cfg.json +++ b/data/is-cfg.json @@ -35,16 +35,12 @@ "beacon": false }, "lora": { - "rxFrequency": 433775000, - "rxSpreadingFactor": 12, - "rxSignalBandwidth": 125000, - "rxCodingRate4": 5, - "rxGain": 1, - "txFrequency": 433900000, - "txSpreadingFactor": 11, - "txSignalBandwidth": 125000, - "txCodingRate4": 5, - "txPower": 20 + "frequency_rx": 433775000, + "frequency_tx": 433775000, + "power": 20, + "spreading_factor": 12, + "signal_bandwidth": 125000, + "coding_rate4": 5 }, "display": { "always_on": true, diff --git a/lib/LoRa_APRS/LoRa_APRS.cpp b/lib/LoRa_APRS/LoRa_APRS.cpp index d790d77..ea28f8b 100644 --- a/lib/LoRa_APRS/LoRa_APRS.cpp +++ b/lib/LoRa_APRS/LoRa_APRS.cpp @@ -1,6 +1,6 @@ #include "LoRa_APRS.h" -LoRa_APRS::LoRa_APRS() : _rxFrequency(433775000), _rxSpreadingFactor(12), _rxSignalBandwidth(125000), _rxCodingRate4(5), _txFrequency(433775000), _txSpreadingFactor(12), _txSignalBandwidth(125000), _txCodingRate4(5) { +LoRa_APRS::LoRa_APRS() : _RxFrequency(433775000), _TxFrequency(433775000) { } bool LoRa_APRS::checkMessage() { @@ -32,10 +32,7 @@ std::shared_ptr LoRa_APRS::getMessage() { } void LoRa_APRS::sendMessage(const std::shared_ptr msg) { - setSpreadingFactor(_txSpreadingFactor); - setSignalBandwidth(_txSignalBandwidth); - setCodingRate4(_txCodingRate4); - setFrequency(_txFrequency); + setFrequency(_TxFrequency); String data = msg->encode(); beginPacket(); // Header: @@ -45,84 +42,24 @@ void LoRa_APRS::sendMessage(const std::shared_ptr msg) { // APRS Data: write((const uint8_t *)data.c_str(), data.length()); endPacket(); - setSpreadingFactor(_rxSpreadingFactor); - setSignalBandwidth(_rxSignalBandwidth); - setCodingRate4(_rxCodingRate4); - setFrequency(_rxFrequency); + setFrequency(_RxFrequency); } void LoRa_APRS::setRxFrequency(long frequency) { - _rxFrequency = frequency; - setFrequency(_rxFrequency); + _RxFrequency = frequency; + setFrequency(_RxFrequency); } // cppcheck-suppress unusedFunction long LoRa_APRS::getRxFrequency() const { - return _rxFrequency; + return _RxFrequency; } void LoRa_APRS::setTxFrequency(long frequency) { - _txFrequency = frequency; + _TxFrequency = frequency; } // cppcheck-suppress unusedFunction long LoRa_APRS::getTxFrequency() const { - return _txFrequency; -} - -void LoRa_APRS::setRxSpreadingFactor(int spreadingFactor) { - _rxSpreadingFactor = spreadingFactor; - setSpreadingFactor(_rxSpreadingFactor); -} - -// cppcheck-suppress unusedFunction -long LoRa_APRS::getRxSpreadingFactor() const { - return _rxSpreadingFactor; -} - -void LoRa_APRS::setRxSignalBandwidth(long signalBandwidth) { - _rxSignalBandwidth = signalBandwidth; - setSignalBandwidth(_rxSignalBandwidth); -} - -// cppcheck-suppress unusedFunction -long LoRa_APRS::getRxSignalBandwidth() const { - return _rxSignalBandwidth; -} - -void LoRa_APRS::setRxCodingRate4(int codingRate) { - _rxCodingRate4 = codingRate; - setCodingRate4(_rxCodingRate4); -} - -// cppcheck-suppress unusedFunction -long LoRa_APRS::getRxCodingRate4() const { - return _rxCodingRate4; -} - -void LoRa_APRS::setTxSpreadingFactor(int spreadingFactor) { - _txSpreadingFactor = spreadingFactor; -} - -// cppcheck-suppress unusedFunction -long LoRa_APRS::getTxSpreadingFactor() const { - return _txSpreadingFactor; -} - -void LoRa_APRS::setTxSignalBandwidth(long signalBandwidth) { - _txSignalBandwidth = signalBandwidth; -} - -// cppcheck-suppress unusedFunction -long LoRa_APRS::getTxSignalBandwidth() const { - return _txSignalBandwidth; -} - -void LoRa_APRS::setTxCodingRate4(int codingRate) { - _txCodingRate4 = codingRate; -} - -// cppcheck-suppress unusedFunction -long LoRa_APRS::getTxCodingRate4() const { - return _txCodingRate4; + return _TxFrequency; } diff --git a/lib/LoRa_APRS/LoRa_APRS.h b/lib/LoRa_APRS/LoRa_APRS.h index 6e92229..cacd0fe 100644 --- a/lib/LoRa_APRS/LoRa_APRS.h +++ b/lib/LoRa_APRS/LoRa_APRS.h @@ -22,34 +22,10 @@ public: void setTxFrequency(long frequency); long getTxFrequency() const; - void setRxSpreadingFactor(int spreadingFactor); - long getRxSpreadingFactor() const; - - void setRxSignalBandwidth(long signalBandwidth); - long getRxSignalBandwidth() const; - - void setRxCodingRate4(int codingRate); - long getRxCodingRate4() const; - - void setTxSpreadingFactor(int spreadingFactor); - long getTxSpreadingFactor() const; - - void setTxSignalBandwidth(long signalBandwidth); - long getTxSignalBandwidth() const; - - void setTxCodingRate4(int codingRate); - long getTxCodingRate4() const; - private: std::shared_ptr _LastReceivedMsg; - long _rxFrequency; - int _rxSpreadingFactor; - long _rxSignalBandwidth; - int _rxCodingRate4; - long _txFrequency; - int _txSpreadingFactor; - long _txSignalBandwidth; - int _txCodingRate4; + long _RxFrequency; + long _TxFrequency; }; #endif diff --git a/src/TaskModem.cpp b/src/TaskModem.cpp index ffb8cb2..7dad353 100644 --- a/src/TaskModem.cpp +++ b/src/TaskModem.cpp @@ -16,24 +16,19 @@ ModemTask::~ModemTask() { bool ModemTask::setup(System &system) { SPI.begin(system.getBoardConfig()->LoraSck, system.getBoardConfig()->LoraMiso, system.getBoardConfig()->LoraMosi, system.getBoardConfig()->LoraCS); _lora_aprs.setPins(system.getBoardConfig()->LoraCS, system.getBoardConfig()->LoraReset, system.getBoardConfig()->LoraIRQ); - if (!_lora_aprs.begin(system.getUserConfig()->lora.rxFrequency)) { + if (!_lora_aprs.begin(system.getUserConfig()->lora.frequencyRx)) { logPrintlnE("Starting LoRa failed!"); _stateInfo = "LoRa-Modem failed"; _state = Error; while (true) ; } - _lora_aprs.setRxFrequency(system.getUserConfig()->lora.rxFrequency); - _lora_aprs.setRxSpreadingFactor(system.getUserConfig()->lora.rxSpreadingFactor); - _lora_aprs.setRxSignalBandwidth(system.getUserConfig()->lora.rxSignalBandwidth); - _lora_aprs.setRxCodingRate4(system.getUserConfig()->lora.rxCodingRate4); - _lora_aprs.setGain(system.getUserConfig()->lora.rxGain); - - _lora_aprs.setTxFrequency(system.getUserConfig()->lora.txFrequency); - _lora_aprs.setTxSpreadingFactor(system.getUserConfig()->lora.txSpreadingFactor); - _lora_aprs.setTxSignalBandwidth(system.getUserConfig()->lora.txSignalBandwidth); - _lora_aprs.setTxCodingRate4(system.getUserConfig()->lora.txCodingRate4); - _lora_aprs.setTxPower(system.getUserConfig()->lora.txPower); + _lora_aprs.setRxFrequency(system.getUserConfig()->lora.frequencyRx); + _lora_aprs.setTxFrequency(system.getUserConfig()->lora.frequencyTx); + _lora_aprs.setTxPower(system.getUserConfig()->lora.power); + _lora_aprs.setSpreadingFactor(system.getUserConfig()->lora.spreadingFactor); + _lora_aprs.setSignalBandwidth(system.getUserConfig()->lora.signalBandwidth); + _lora_aprs.setCodingRate4(system.getUserConfig()->lora.codingRate4); _lora_aprs.enableCrc(); _stateInfo = ""; diff --git a/src/project_configuration.cpp b/src/project_configuration.cpp index eeb0ff2..656d284 100644 --- a/src/project_configuration.cpp +++ b/src/project_configuration.cpp @@ -36,21 +36,14 @@ 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.beacon = data["digi"]["beacon"] | false; - - conf.lora.rxFrequency = data["lora"]["rxFrequency"] | 433775000; - conf.lora.rxSpreadingFactor = data["lora"]["rxSpreadingFactor"] | 12; - conf.lora.rxSignalBandwidth = data["lora"]["rxSignalBandwidth"] | 125000; - conf.lora.rxCodingRate4 = data["lora"]["rxCodingRate4"] | 5; - conf.lora.rxGain = data["lora"]["rxGain"] | 1; - - conf.lora.txFrequency = data["lora"]["txFrequency"] | 433775000; - conf.lora.txSpreadingFactor = data["lora"]["txSpreadingFactor"] | 12; - conf.lora.txSignalBandwidth = data["lora"]["txSignalBandwidth"] | 125000; - conf.lora.txCodingRate4 = data["lora"]["txCodingRate4"] | 5; - conf.lora.txPower = data["lora"]["txPower"] | 20; - + conf.digi.active = data["digi"]["active"] | false; + 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; + conf.lora.spreadingFactor = data["lora"]["spreading_factor"] | 12; + conf.lora.signalBandwidth = data["lora"]["signal_bandwidth"] | 125000; + conf.lora.codingRate4 = data["lora"]["coding_rate4"] | 5; conf.display.alwaysOn = data["display"]["always_on"] | true; conf.display.timeout = data["display"]["timeout"] | 10; conf.display.overwritePin = data["display"]["overwrite_pin"] | 0; @@ -105,16 +98,12 @@ void ProjectConfigurationManagement::writeProjectConfiguration(Configuration &co data["aprs_is"]["port"] = conf.aprs_is.port; data["digi"]["active"] = conf.digi.active; data["digi"]["beacon"] = conf.digi.beacon; - data["lora"]["rxFrequency"] = conf.lora.rxFrequency; - data["lora"]["rxSpreadingFactor"] = conf.lora.rxSpreadingFactor; - data["lora"]["rxSignalBandwidth"] = conf.lora.rxSignalBandwidth; - data["lora"]["rxCodingRate4"] = conf.lora.rxCodingRate4; - data["lora"]["rxGain"] = conf.lora.rxGain; - data["lora"]["txFrequency"] = conf.lora.txFrequency; - data["lora"]["txSpreadingFactor"] = conf.lora.txSpreadingFactor; - data["lora"]["txSignalBandwidth"] = conf.lora.txSignalBandwidth; - data["lora"]["txCodingRate4"] = conf.lora.txCodingRate4; - data["lora"]["txPower"] = conf.lora.txPower; + data["lora"]["frequency_rx"] = conf.lora.frequencyRx; + data["lora"]["frequency_tx"] = conf.lora.frequencyTx; + data["lora"]["power"] = conf.lora.power; + data["lora"]["spreading_factor"] = conf.lora.spreadingFactor; + data["lora"]["signal_bandwidth"] = conf.lora.signalBandwidth; + data["lora"]["coding_rate4"] = conf.lora.codingRate4; data["display"]["always_on"] = conf.display.alwaysOn; data["display"]["timeout"] = conf.display.timeout; data["display"]["overwrite_pin"] = conf.display.overwritePin; diff --git a/src/project_configuration.h b/src/project_configuration.h index 9628451..b2ba0bc 100644 --- a/src/project_configuration.h +++ b/src/project_configuration.h @@ -66,19 +66,15 @@ public: class LoRa { public: - LoRa() : rxFrequency(433775000), rxSpreadingFactor(12), rxSignalBandwidth(125000), rxCodingRate4(5), rxGain(1), txFrequency(433775000), txSpreadingFactor(12), txSignalBandwidth(125000), txCodingRate4(5), txPower(20) { + LoRa() : frequencyRx(433775000), frequencyTx(433775000), power(20), spreadingFactor(12), signalBandwidth(125000), codingRate4(5) { } - long rxFrequency; - int rxSpreadingFactor; - long rxSignalBandwidth; - int rxCodingRate4; - int rxGain; - long txFrequency; - int txSpreadingFactor; - long txSignalBandwidth; - int txCodingRate4; - int txPower; + long frequencyRx; + long frequencyTx; + int power; + int spreadingFactor; + long signalBandwidth; + int codingRate4; }; class Display {