Initial add RX TX Parameters

This commit is contained in:
dj1an 2021-08-25 20:07:13 +02:00
parent fda1e37c8c
commit 9acfce8ee2
5 changed files with 104 additions and 26 deletions

View file

@ -38,9 +38,12 @@
"frequency_rx": 433775000, "frequency_rx": 433775000,
"frequency_tx": 433775000, "frequency_tx": 433775000,
"power": 20, "power": 20,
"spreading_factor": 12, "spreading_factor_rx": 12,
"signal_bandwidth": 125000, "signal_bandwidth_rx": 125000,
"coding_rate4": 5 "coding_rate4_rx": 5,
"spreading_factor_tx": 12,
"signal_bandwidth_tx": 125000,
"coding_rate4_tx": 5
}, },
"display": { "display": {
"always_on": true, "always_on": true,

View file

@ -1,6 +1,6 @@
#include "LoRa_APRS.h" #include "LoRa_APRS.h"
LoRa_APRS::LoRa_APRS() : _RxFrequency(433775000), _TxFrequency(433775000) { LoRa_APRS::LoRa_APRS() : _RxFrequency(433775000), _TxFrequency(433775000), _RxSpreadingFactor(12), _RxSignalBandwidth(125000), _RxCodingRate4(5), _TxSpreadingFactor(12), _TxSignalBandwidth(125000), _TxCodingRate4(5) {
} }
bool LoRa_APRS::checkMessage() { bool LoRa_APRS::checkMessage() {
@ -32,6 +32,9 @@ std::shared_ptr<APRSMessage> LoRa_APRS::getMessage() {
} }
void LoRa_APRS::sendMessage(const std::shared_ptr<APRSMessage> msg) { void LoRa_APRS::sendMessage(const std::shared_ptr<APRSMessage> msg) {
setSpreadingFactor(_TxSpreadingFactor);
setSignalBandwidth(_TxSignalBandwidth);
setCodingRate4(_TxCodingRate4);
setFrequency(_TxFrequency); setFrequency(_TxFrequency);
String data = msg->encode(); String data = msg->encode();
beginPacket(); beginPacket();
@ -42,6 +45,9 @@ void LoRa_APRS::sendMessage(const std::shared_ptr<APRSMessage> msg) {
// APRS Data: // APRS Data:
write((const uint8_t *)data.c_str(), data.length()); write((const uint8_t *)data.c_str(), data.length());
endPacket(); endPacket();
setSpreadingFactor(_RxSpreadingFactor);
setSignalBandwidth(_RxSignalBandwidth);
setCodingRate4(_RxCodingRate4);
setFrequency(_RxFrequency); setFrequency(_RxFrequency);
} }
@ -63,3 +69,60 @@ void LoRa_APRS::setTxFrequency(long frequency) {
long LoRa_APRS::getTxFrequency() const { long LoRa_APRS::getTxFrequency() const {
return _TxFrequency; 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;
}

View file

@ -26,9 +26,12 @@ bool ModemTask::setup(System &system) {
_lora_aprs.setRxFrequency(system.getUserConfig()->lora.frequencyRx); _lora_aprs.setRxFrequency(system.getUserConfig()->lora.frequencyRx);
_lora_aprs.setTxFrequency(system.getUserConfig()->lora.frequencyTx); _lora_aprs.setTxFrequency(system.getUserConfig()->lora.frequencyTx);
_lora_aprs.setTxPower(system.getUserConfig()->lora.power); _lora_aprs.setTxPower(system.getUserConfig()->lora.power);
_lora_aprs.setSpreadingFactor(system.getUserConfig()->lora.spreadingFactor); _lora_aprs.setRxSpreadingFactor(system.getUserConfig()->lora.spreadingFactorRx);
_lora_aprs.setSignalBandwidth(system.getUserConfig()->lora.signalBandwidth); _lora_aprs.setRxSignalBandwidth(system.getUserConfig()->lora.signalBandwidthRx);
_lora_aprs.setCodingRate4(system.getUserConfig()->lora.codingRate4); _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.enableCrc(); _lora_aprs.enableCrc();
_stateInfo = ""; _stateInfo = "";

View file

@ -36,18 +36,21 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen
conf.aprs_is.server = data["aprs_is"]["server"].as<String>(); conf.aprs_is.server = data["aprs_is"]["server"].as<String>();
conf.aprs_is.port = data["aprs_is"]["port"] | 14580; conf.aprs_is.port = data["aprs_is"]["port"] | 14580;
conf.digi.active = data["digi"]["active"] | false; conf.digi.active = data["digi"]["active"] | false;
conf.digi.beacon = data["digi"]["beacon"] | false; conf.digi.beacon = data["digi"]["beacon"] | false;
conf.lora.frequencyRx = data["lora"]["frequency_rx"] | 433775000; conf.lora.frequencyRx = data["lora"]["frequency_rx"] | 433775000;
conf.lora.frequencyTx = data["lora"]["frequency_tx"] | 433775000; conf.lora.frequencyTx = data["lora"]["frequency_tx"] | 433775000;
conf.lora.power = data["lora"]["power"] | 20; conf.lora.power = data["lora"]["power"] | 20;
conf.lora.spreadingFactor = data["lora"]["spreading_factor"] | 12; conf.lora.spreadingFactorRx = data["lora"]["spreading_factor_rx"] | 12;
conf.lora.signalBandwidth = data["lora"]["signal_bandwidth"] | 125000; conf.lora.signalBandwidthRx = data["lora"]["signal_bandwidth_rx"] | 125000;
conf.lora.codingRate4 = data["lora"]["coding_rate4"] | 5; conf.lora.codingRate4Rx = data["lora"]["coding_rate4_rx"] | 5;
conf.display.alwaysOn = data["display"]["always_on"] | true; conf.lora.spreadingFactorTx = data["lora"]["spreading_factor_tx"] | 12;
conf.display.timeout = data["display"]["timeout"] | 10; conf.lora.signalBandwidthTx = data["lora"]["signal_bandwidth_tx"] | 125000;
conf.display.overwritePin = data["display"]["overwrite_pin"] | 0; conf.lora.codingRate4Tx = data["lora"]["coding_rate4_tx"] | 5;
conf.display.turn180 = data["display"]["turn180"] | true; conf.display.alwaysOn = data["display"]["always_on"] | true;
conf.display.timeout = data["display"]["timeout"] | 10;
conf.display.overwritePin = data["display"]["overwrite_pin"] | 0;
conf.display.turn180 = data["display"]["turn180"] | true;
conf.ftp.active = data["ftp"]["active"] | false; conf.ftp.active = data["ftp"]["active"] | false;
JsonArray users = data["ftp"]["user"].as<JsonArray>(); JsonArray users = data["ftp"]["user"].as<JsonArray>();
@ -101,9 +104,12 @@ void ProjectConfigurationManagement::writeProjectConfiguration(Configuration &co
data["lora"]["frequency_rx"] = conf.lora.frequencyRx; data["lora"]["frequency_rx"] = conf.lora.frequencyRx;
data["lora"]["frequency_tx"] = conf.lora.frequencyTx; data["lora"]["frequency_tx"] = conf.lora.frequencyTx;
data["lora"]["power"] = conf.lora.power; data["lora"]["power"] = conf.lora.power;
data["lora"]["spreading_factor"] = conf.lora.spreadingFactor; data["lora"]["spreading_factor_rx"] = conf.lora.spreadingFactorRx;
data["lora"]["signal_bandwidth"] = conf.lora.signalBandwidth; data["lora"]["signal_bandwidth_rx"] = conf.lora.signalBandwidthRx;
data["lora"]["coding_rate4"] = conf.lora.codingRate4; 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["display"]["always_on"] = conf.display.alwaysOn; data["display"]["always_on"] = conf.display.alwaysOn;
data["display"]["timeout"] = conf.display.timeout; data["display"]["timeout"] = conf.display.timeout;
data["display"]["overwrite_pin"] = conf.display.overwritePin; data["display"]["overwrite_pin"] = conf.display.overwritePin;

View file

@ -66,15 +66,18 @@ public:
class LoRa { class LoRa {
public: public:
LoRa() : frequencyRx(433775000), frequencyTx(433775000), power(20), spreadingFactor(12), signalBandwidth(125000), codingRate4(5) { LoRa() : frequencyRx(433775000), frequencyTx(433775000), power(20), spreadingFactorRx(12), signalBandwidthRx(125000), codingRate4Rx(5), spreadingFactorTx(12), signalBandwidthTx(125000), codingRate4Tx(5) {
} }
long frequencyRx; long frequencyRx;
long frequencyTx; long frequencyTx;
int power; int power;
int spreadingFactor; int spreadingFactorRx;
long signalBandwidth; long signalBandwidthRx;
int codingRate4; int codingRate4Rx;
int spreadingFactorTx;
long signalBandwidthTx;
int codingRate4Tx;
}; };
class Display { class Display {