diff --git a/data/is-cfg.json b/data/is-cfg.json index 7f1c696..66a8a09 100644 --- a/data/is-cfg.json +++ b/data/is-cfg.json @@ -35,15 +35,16 @@ "beacon": false }, "lora": { - "frequency_rx": 433775000, - "frequency_tx": 433775000, - "power": 20, - "spreading_factor_rx": 12, - "signal_bandwidth_rx": 125000, - "coding_rate4_rx": 5, - "spreading_factor_tx": 12, - "signal_bandwidth_tx": 125000, - "coding_rate4_tx": 5 + "rxFrequency": 433775000, + "rxSpreadingFactor": 12, + "rxSignalBandwidth": 125000, + "rxCodingRate4": 5, + "rxGain": 1, + "txFrequency": 433900000, + "txSpreadingFactor": 11, + "txSignalBandwidth": 125000, + "txCodingRate4": 5, + "txPower": 20 }, "display": { "always_on": true, diff --git a/lib/LoRa_APRS/LoRa_APRS.cpp b/lib/LoRa_APRS/LoRa_APRS.cpp index eac6a4f..d790d77 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), _TxFrequency(433775000), _RxSpreadingFactor(12), _RxSignalBandwidth(125000), _RxCodingRate4(5), _TxSpreadingFactor(12), _TxSignalBandwidth(125000), _TxCodingRate4(5) { +LoRa_APRS::LoRa_APRS() : _rxFrequency(433775000), _rxSpreadingFactor(12), _rxSignalBandwidth(125000), _rxCodingRate4(5), _txFrequency(433775000), _txSpreadingFactor(12), _txSignalBandwidth(125000), _txCodingRate4(5) { } bool LoRa_APRS::checkMessage() { @@ -32,10 +32,10 @@ std::shared_ptr LoRa_APRS::getMessage() { } void LoRa_APRS::sendMessage(const std::shared_ptr msg) { - setSpreadingFactor(_TxSpreadingFactor); - setSignalBandwidth(_TxSignalBandwidth); - setCodingRate4(_TxCodingRate4); - setFrequency(_TxFrequency); + setSpreadingFactor(_txSpreadingFactor); + setSignalBandwidth(_txSignalBandwidth); + setCodingRate4(_txCodingRate4); + setFrequency(_txFrequency); String data = msg->encode(); beginPacket(); // Header: @@ -45,84 +45,84 @@ 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); + setSpreadingFactor(_rxSpreadingFactor); + setSignalBandwidth(_rxSignalBandwidth); + setCodingRate4(_rxCodingRate4); + 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; + return _txFrequency; } void LoRa_APRS::setRxSpreadingFactor(int spreadingFactor) { - _RxSpreadingFactor = spreadingFactor; - setSpreadingFactor(_RxSpreadingFactor); + _rxSpreadingFactor = spreadingFactor; + setSpreadingFactor(_rxSpreadingFactor); } // cppcheck-suppress unusedFunction long LoRa_APRS::getRxSpreadingFactor() const { - return _RxSpreadingFactor; + return _rxSpreadingFactor; } void LoRa_APRS::setRxSignalBandwidth(long signalBandwidth) { - _RxSignalBandwidth = signalBandwidth; - setSignalBandwidth(_RxSignalBandwidth); + _rxSignalBandwidth = signalBandwidth; + setSignalBandwidth(_rxSignalBandwidth); } // cppcheck-suppress unusedFunction long LoRa_APRS::getRxSignalBandwidth() const { - return _RxSignalBandwidth; + return _rxSignalBandwidth; } void LoRa_APRS::setRxCodingRate4(int codingRate) { - _RxCodingRate4 = codingRate; - setCodingRate4(_RxCodingRate4); + _rxCodingRate4 = codingRate; + setCodingRate4(_rxCodingRate4); } // cppcheck-suppress unusedFunction long LoRa_APRS::getRxCodingRate4() const { - return _RxCodingRate4; + return _rxCodingRate4; } void LoRa_APRS::setTxSpreadingFactor(int spreadingFactor) { - _TxSpreadingFactor = spreadingFactor; + _txSpreadingFactor = spreadingFactor; } // cppcheck-suppress unusedFunction long LoRa_APRS::getTxSpreadingFactor() const { - return _TxSpreadingFactor; + return _txSpreadingFactor; } void LoRa_APRS::setTxSignalBandwidth(long signalBandwidth) { - _TxSignalBandwidth = signalBandwidth; + _txSignalBandwidth = signalBandwidth; } // cppcheck-suppress unusedFunction long LoRa_APRS::getTxSignalBandwidth() const { - return _TxSignalBandwidth; + return _txSignalBandwidth; } void LoRa_APRS::setTxCodingRate4(int codingRate) { - _TxCodingRate4 = codingRate; + _txCodingRate4 = codingRate; } // cppcheck-suppress unusedFunction long LoRa_APRS::getTxCodingRate4() const { - return _TxCodingRate4; + return _txCodingRate4; } diff --git a/lib/LoRa_APRS/LoRa_APRS.h b/lib/LoRa_APRS/LoRa_APRS.h index 854a733..6e92229 100644 --- a/lib/LoRa_APRS/LoRa_APRS.h +++ b/lib/LoRa_APRS/LoRa_APRS.h @@ -42,14 +42,14 @@ public: private: std::shared_ptr _LastReceivedMsg; - long _RxFrequency; - long _TxFrequency; - int _RxSpreadingFactor; - long _RxSignalBandwidth; - int _RxCodingRate4; - int _TxSpreadingFactor; - long _TxSignalBandwidth; - int _TxCodingRate4; + long _rxFrequency; + int _rxSpreadingFactor; + long _rxSignalBandwidth; + int _rxCodingRate4; + long _txFrequency; + int _txSpreadingFactor; + long _txSignalBandwidth; + int _txCodingRate4; }; #endif diff --git a/src/TaskModem.cpp b/src/TaskModem.cpp index 6fbc1b2..ffb8cb2 100644 --- a/src/TaskModem.cpp +++ b/src/TaskModem.cpp @@ -16,22 +16,24 @@ 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.frequencyRx)) { + if (!_lora_aprs.begin(system.getUserConfig()->lora.rxFrequency)) { logPrintlnE("Starting LoRa failed!"); _stateInfo = "LoRa-Modem failed"; _state = Error; while (true) ; } - _lora_aprs.setRxFrequency(system.getUserConfig()->lora.frequencyRx); - _lora_aprs.setTxFrequency(system.getUserConfig()->lora.frequencyTx); - _lora_aprs.setTxPower(system.getUserConfig()->lora.power); - _lora_aprs.setRxSpreadingFactor(system.getUserConfig()->lora.spreadingFactorRx); - _lora_aprs.setRxSignalBandwidth(system.getUserConfig()->lora.signalBandwidthRx); - _lora_aprs.setRxCodingRate4(system.getUserConfig()->lora.codingRate4Rx); - _lora_aprs.setTxSpreadingFactor(system.getUserConfig()->lora.spreadingFactorTx); - _lora_aprs.setTxSignalBandwidth(system.getUserConfig()->lora.signalBandwidthTx); - _lora_aprs.setTxCodingRate4(system.getUserConfig()->lora.codingRate4Tx); + _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.enableCrc(); _stateInfo = ""; diff --git a/src/project_configuration.cpp b/src/project_configuration.cpp index 8a46f1a..2157b59 100644 --- a/src/project_configuration.cpp +++ b/src/project_configuration.cpp @@ -38,15 +38,19 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen 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.spreadingFactorRx = data["lora"]["spreading_factor_rx"] | 12; - conf.lora.signalBandwidthRx = data["lora"]["signal_bandwidth_rx"] | 125000; - conf.lora.codingRate4Rx = data["lora"]["coding_rate4_rx"] | 5; - conf.lora.spreadingFactorTx = data["lora"]["spreading_factor_tx"] | 12; - conf.lora.signalBandwidthTx = data["lora"]["signal_bandwidth_tx"] | 125000; - conf.lora.codingRate4Tx = data["lora"]["coding_rate4_tx"] | 5; + + 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.display.alwaysOn = data["display"]["always_on"] | true; conf.display.timeout = data["display"]["timeout"] | 10; conf.display.overwritePin = data["display"]["overwrite_pin"] | 0; @@ -101,15 +105,16 @@ 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"]["frequency_rx"] = conf.lora.frequencyRx; - data["lora"]["frequency_tx"] = conf.lora.frequencyTx; - data["lora"]["power"] = conf.lora.power; - data["lora"]["spreading_factor_rx"] = conf.lora.spreadingFactorRx; - data["lora"]["signal_bandwidth_rx"] = conf.lora.signalBandwidthRx; - data["lora"]["coding_rate4_rx"] = conf.lora.codingRate4Rx; - data["lora"]["spreading_factor_tx"] = conf.lora.spreadingFactorTx; - data["lora"]["signal_bandwidth_tx"] = conf.lora.signalBandwidthTx; - data["lora"]["coding_rate4_tx"] = conf.lora.codingRate4Tx; + 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["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 ff3ae9b..9628451 100644 --- a/src/project_configuration.h +++ b/src/project_configuration.h @@ -66,18 +66,19 @@ public: class LoRa { public: - LoRa() : frequencyRx(433775000), frequencyTx(433775000), power(20), spreadingFactorRx(12), signalBandwidthRx(125000), codingRate4Rx(5), spreadingFactorTx(12), signalBandwidthTx(125000), codingRate4Tx(5) { + LoRa() : rxFrequency(433775000), rxSpreadingFactor(12), rxSignalBandwidth(125000), rxCodingRate4(5), rxGain(1), txFrequency(433775000), txSpreadingFactor(12), txSignalBandwidth(125000), txCodingRate4(5), txPower(20) { } - long frequencyRx; - long frequencyTx; - int power; - int spreadingFactorRx; - long signalBandwidthRx; - int codingRate4Rx; - int spreadingFactorTx; - long signalBandwidthTx; - int codingRate4Tx; + long rxFrequency; + int rxSpreadingFactor; + long rxSignalBandwidth; + int rxCodingRate4; + int rxGain; + long txFrequency; + int txSpreadingFactor; + long txSignalBandwidth; + int txCodingRate4; + int txPower; }; class Display {