From 7eb231c41eae0904c093d7f7dab77e8d7e6b19a6 Mon Sep 17 00:00:00 2001 From: Florian <1technophile@users.noreply.github.com> Date: Wed, 27 Feb 2019 20:40:39 +0100 Subject: [PATCH] add LORA gateway parameters following lora api library def https://github.com/sandeepmistry/arduino-LoRa/blob/master/API.md --- ZgatewayLORA.ino | 18 ++++++++++++++++++ config_LORA.h | 11 ++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/ZgatewayLORA.ino b/ZgatewayLORA.ino index 67303e7..090aeae 100644 --- a/ZgatewayLORA.ino +++ b/ZgatewayLORA.ino @@ -71,6 +71,8 @@ void LORAtoMQTT(){ packet =""; for (int i = 0; i < packetSize; i++) { packet += (char) LoRa.read(); } LORAdata.set("rssi", (int)LoRa.packetRssi()); + LORAdata.set("snr",(float)LoRa.packetSnr()); + LORAdata.set("pferror",(float)LoRa.packetFrequencyError()); LORAdata.set("packetSize", (int)packetSize); LORAdata.set("message", (char *)packet.c_str()); pub(subjectLORAtoMQTT,LORAdata); @@ -82,7 +84,23 @@ void LORAtoMQTT(){ if (strcmp(topicOri,subjectMQTTtoLORA) == 0){ trc(F("MQTTtoLORA json")); const char * message = LORAdata["message"]; + int txPower = LORAdata["txpower"]|LORA_TX_POWER; + int spreadingFactor = LORAdata["spreadingfactor"]|LORA_SPREADING_FACTOR; + long int frequency = LORAdata["frequency "]|LORA_BAND; + long int signalBandwidth = LORAdata["signalbandwidth"]|LORA_SIGNAL_BANDWIDTH; + int codingRateDenominator = LORAdata["codingrate"]|LORA_CODING_RATE; + int preambleLength = LORAdata["preamblelength"]|LORA_PREAMBLE_LENGTH; + byte syncWord = LORAdata["syncword"]|LORA_SYNC_WORD; + bool Crc = LORAdata["enablecrc"]; if (message) { + LoRa.setTxPower(txPower); + LoRa.setFrequency(frequency); + LoRa.setSpreadingFactor(spreadingFactor); + LoRa.setSignalBandwidth(signalBandwidth); + LoRa.setCodingRate4(codingRateDenominator); + LoRa.setPreambleLength(preambleLength); + LoRa.setSyncWord(syncWord); + if (Crc) LoRa.enableCrc(); LoRa.beginPacket(); LoRa.print(message); LoRa.endPacket(); diff --git a/config_LORA.h b/config_LORA.h index 0ec6edf..343edf0 100644 --- a/config_LORA.h +++ b/config_LORA.h @@ -27,7 +27,16 @@ #define subjectLORAtoMQTT Base_Topic Gateway_Name "/LORAtoMQTT" #define subjectMQTTtoLORA Base_Topic Gateway_Name "/commands/MQTTtoLORA" #define subjectGTWLORAtoMQTT Base_Topic Gateway_Name "/LORAtoMQTT" -#define LORA_BAND 868E6 + +//Default parameters used when the parameters are not set in the json data +#define LORA_BAND 868E6 +#define LORA_SIGNAL_BANDWIDTH 125E3 +#define LORA_TX_POWER 17 +#define LORA_SPREADING_FACTOR 7 +#define LORA_CODING_RATE 5 +#define LORA_PREAMBLE_LENGTH 8 +#define LORA_SYNC_WORD 0x12 + /*-------------------PIN DEFINITIONS----------------------*/ //TTGO LORA BOARD ESP32 PIN DEFINITION