Added RSSI and SNR reporting

pull/139/head
Willi 2022-01-02 11:13:26 +01:00
rodzic 72fe5527f5
commit ae83db3fd6
5 zmienionych plików z 27 dodań i 12 usunięć

Wyświetl plik

@ -1,5 +1,5 @@
{
"callsign": "NOCALL-10",
"callsign": "OK1FWG-11",
"network": {
"DHCP": true,
"static": {
@ -11,29 +11,29 @@
},
"hostname": {
"overwrite": false,
"name": "NOCALL-10"
"name": "OK1FWG-11"
}
},
"wifi": {
"active": true,
"AP": [
{
"SSID": "YOURSSID",
"password": "YOURPASSWORD"
"SSID": "FWG2",
"password": "K8I/0N8c"
}
]
},
"beacon": {
"message": "LoRa iGATE & Digi, Info: github.com/lora-aprs/LoRa_APRS_iGate",
"message": "LoRa iGATE & Digi, ",
"position": {
"latitude": 0.000000,
"longitude": 0.000000
"latitude": 50.033687,
"longitude": 15.798107
},
"timeout": 15
},
"aprs_is": {
"active": true,
"passcode": "",
"passcode": "23208",
"server": "euro.aprs2.net",
"port": 14580
},
@ -48,12 +48,13 @@
"power": 20,
"spreading_factor": 12,
"signal_bandwidth": 125000,
"coding_rate4": 5
"coding_rate4": 5,
"signal_info": true
},
"display": {
"always_on": true,
"always_on": false,
"timeout": 10,
"overwrite_pin": 0,
"overwrite_pin": 17,
"turn180": true
},
"ftp": {

Wyświetl plik

@ -2,7 +2,7 @@
default_envs = lora_board
[env]
platform = espressif32 @ 3.1.1
platform = espressif32 @ 3.4.0
framework = arduino
lib_ldf_mode = deep+
monitor_speed = 115200

Wyświetl plik

@ -40,6 +40,17 @@ bool ModemTask::loop(System &system) {
if (_lora_aprs.checkMessage()) {
std::shared_ptr<APRSMessage> msg = _lora_aprs.getMessage();
// msg->getAPRSBody()->setData(msg->getAPRSBody()->getData() + " 123");
// Added for reporting additional information like RSSI&SNR
if (system.getUserConfig()->lora.signalInfo) {
String addSigInfo = msg->getBody()->getData();
int lastIndex = addSigInfo.lastIndexOf("!");
int index = addSigInfo.substring(0, lastIndex).lastIndexOf("!");
addSigInfo.replace("\n", "");
String rssi_snr = String(" RSSI: " + String(_lora_aprs.packetRssi()) + " dBm SNR: " + String(_lora_aprs.packetSnr()) + " dB ");
addSigInfo = String(addSigInfo.substring(0, index - 1) + rssi_snr + addSigInfo.substring(index) + "\n");
msg->getBody()->setData(addSigInfo);
}
logPrintD("[" + timeString() + "] ");
logPrintD("Received packet '");
logPrintD(msg->toString());

Wyświetl plik

@ -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.signalInfo = data["lora"]["signal_info"] | true;
conf.display.alwaysOn = data["display"]["always_on"] | true;
conf.display.timeout = data["display"]["timeout"] | 10;
conf.display.overwritePin = data["display"]["overwrite_pin"] | 0;
@ -122,6 +123,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"]["signal_info"] = conf.lora.signalInfo;
data["display"]["always_on"] = conf.display.alwaysOn;
data["display"]["timeout"] = conf.display.timeout;
data["display"]["overwrite_pin"] = conf.display.overwritePin;

Wyświetl plik

@ -89,6 +89,7 @@ public:
int spreadingFactor;
long signalBandwidth;
int codingRate4;
bool signalInfo;
};
class Display {