Fix RSSI miscalculation and TX power not being set correctly

This commit is contained in:
jacob.eva 2024-01-29 20:36:14 +00:00
parent 98ee2f6d32
commit c21d8dcb2b
No known key found for this signature in database
GPG Key ID: 0B92E083BBCCAA1E
3 changed files with 4 additions and 4 deletions

View File

@ -775,7 +775,7 @@ int ISR_VECT LoRaClass::packetRssi() {
// may need more calculations here // may need more calculations here
uint8_t buf[3] = {0}; uint8_t buf[3] = {0};
executeOpcodeRead(OP_PACKET_STATUS, buf, 3); executeOpcodeRead(OP_PACKET_STATUS, buf, 3);
int pkt_rssi = -(int(buf[2])) / 2; int pkt_rssi = -buf[0] / 2;
return pkt_rssi; return pkt_rssi;
#endif #endif
} }
@ -796,7 +796,7 @@ float ISR_VECT LoRaClass::packetSnr() {
#elif MODEM == SX1262 #elif MODEM == SX1262
uint8_t buf[3] = {0}; uint8_t buf[3] = {0};
executeOpcodeRead(OP_PACKET_STATUS, buf, 3); executeOpcodeRead(OP_PACKET_STATUS, buf, 3);
return float(buf[1]) / 4.0; return float(buf[1]) * 0.25;
#endif #endif
} }

View File

@ -620,7 +620,7 @@ void serialCallback(uint8_t sbyte) {
kiss_indicate_txpower(); kiss_indicate_txpower();
} else { } else {
int txp = sbyte; int txp = sbyte;
if (txp > 17) txp = 17; if (txp > 22) txp = 22;
lora_txp = txp; lora_txp = txp;
if (op_mode == MODE_HOST) setTXPower(); if (op_mode == MODE_HOST) setTXPower();

View File

@ -658,7 +658,7 @@ void kiss_indicate_stat_rssi() {
#if MODEM == SX1276 || MODEM == SX1278 #if MODEM == SX1276 || MODEM == SX1278
uint8_t packet_rssi_val = (uint8_t)(last_rssi+rssi_offset); uint8_t packet_rssi_val = (uint8_t)(last_rssi+rssi_offset);
#elif MODEM == SX1262 #elif MODEM == SX1262
uint8_t packet_rssi_val = (uint8_t)(last_rssi); int8_t packet_rssi_val = (int8_t)(last_rssi+rssi_offset);
#endif #endif
serial_write(FEND); serial_write(FEND);
serial_write(CMD_STAT_RSSI); serial_write(CMD_STAT_RSSI);