diff --git a/LoRa.cpp b/LoRa.cpp index 71e1ab4..3a9667c 100644 --- a/LoRa.cpp +++ b/LoRa.cpp @@ -786,7 +786,7 @@ int ISR_VECT LoRaClass::packetRssi() { // may need more calculations here uint8_t buf[3] = {0}; executeOpcodeRead(OP_PACKET_STATUS, buf, 3); - int pkt_rssi = -(int(buf[2])) / 2; + int pkt_rssi = -buf[0] / 2; return pkt_rssi; #endif } @@ -807,7 +807,7 @@ float ISR_VECT LoRaClass::packetSnr() { #elif MODEM == SX1262 uint8_t buf[3] = {0}; executeOpcodeRead(OP_PACKET_STATUS, buf, 3); - return float(buf[1]) / 4.0; + return float(buf[1]) * 0.25; #endif } diff --git a/RNode_Firmware.ino b/RNode_Firmware.ino index 05acd1a..54e06e2 100644 --- a/RNode_Firmware.ino +++ b/RNode_Firmware.ino @@ -620,7 +620,7 @@ void serialCallback(uint8_t sbyte) { kiss_indicate_txpower(); } else { int txp = sbyte; - if (txp > 17) txp = 17; + if (txp > 22) txp = 22; lora_txp = txp; if (op_mode == MODE_HOST) setTXPower(); diff --git a/Utilities.h b/Utilities.h index 5b71b27..a360f47 100644 --- a/Utilities.h +++ b/Utilities.h @@ -660,7 +660,7 @@ void kiss_indicate_stat_rssi() { #if MODEM == SX1276 || MODEM == SX1278 uint8_t packet_rssi_val = (uint8_t)(last_rssi+rssi_offset); #elif MODEM == SX1262 - uint8_t packet_rssi_val = (uint8_t)(last_rssi); + int8_t packet_rssi_val = (int8_t)(last_rssi+rssi_offset); #endif serial_write(FEND); serial_write(CMD_STAT_RSSI);