diff --git a/data/is-cfg.json b/data/is-cfg.json index 190ad2c..04aae81 100644 --- a/data/is-cfg.json +++ b/data/is-cfg.json @@ -48,7 +48,8 @@ "power": 20, "spreading_factor": 12, "signal_bandwidth": 125000, - "coding_rate4": 5 + "coding_rate4": 5, + "txok": true }, "display": { "always_on": true, diff --git a/src/LoRa_APRS_iGate.cpp b/src/LoRa_APRS_iGate.cpp index 0352a6b..afaa3f0 100644 --- a/src/LoRa_APRS_iGate.cpp +++ b/src/LoRa_APRS_iGate.cpp @@ -19,7 +19,7 @@ #include "TaskWifi.h" #include "project_configuration.h" -#define VERSION "22.8.0" +#define VERSION "22.11.0" String create_lat_aprs(double lat); String create_long_aprs(double lng); diff --git a/src/TaskModem.cpp b/src/TaskModem.cpp index d3908bc..50b9035 100644 --- a/src/TaskModem.cpp +++ b/src/TaskModem.cpp @@ -54,7 +54,17 @@ bool ModemTask::loop(System &system) { if (!_toModem.empty()) { std::shared_ptr msg = _toModem.getElement(); - _lora_aprs.sendMessage(msg); + logPrintD("[" + timeString() + "] "); + if (system.getUserConfig()->lora.txok) { + logPrintD("Transmitting packet '"); + logPrintD(msg->toString()); + _lora_aprs.sendMessage(msg); + logPrintlnD(String(" TXDone")); + } else { + logPrintD("NOT Transmitting packet '"); + logPrintD(msg->toString()); + logPrintlnD(String(" TXNG")); + } } return true; diff --git a/src/project_configuration.cpp b/src/project_configuration.cpp index 061c531..eaf27dd 100644 --- a/src/project_configuration.cpp +++ b/src/project_configuration.cpp @@ -58,6 +58,7 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen 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.lora.txok = data["lora"]["txok"] | false; conf.display.alwaysOn = data["display"]["always_on"] | true; conf.display.timeout = data["display"]["timeout"] | 10; conf.display.overwritePin = data["display"]["overwrite_pin"] | 0; @@ -130,6 +131,7 @@ void ProjectConfigurationManagement::writeProjectConfiguration(Configuration &co data["lora"]["spreading_factor"] = conf.lora.spreadingFactor; data["lora"]["signal_bandwidth"] = conf.lora.signalBandwidth; data["lora"]["coding_rate4"] = conf.lora.codingRate4; + data["lora"]["txok"] = conf.lora.txok; 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 5fe2fb3..854d450 100644 --- a/src/project_configuration.h +++ b/src/project_configuration.h @@ -79,7 +79,7 @@ public: class LoRa { public: - LoRa() : frequencyRx(433775000), frequencyTx(433775000), power(20), spreadingFactor(12), signalBandwidth(125000), codingRate4(5) { + LoRa() : frequencyRx(433775000), frequencyTx(433775000), power(20), spreadingFactor(12), signalBandwidth(125000), codingRate4(5), txok(false) { } long frequencyRx; @@ -89,6 +89,7 @@ public: int spreadingFactor; long signalBandwidth; int codingRate4; + bool txok; }; class Display {