Fix RSSI miscalculation and TX power not being set correctly
This commit is contained in:
		
							
								
								
									
										4
									
								
								LoRa.cpp
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								LoRa.cpp
									
									
									
									
									
								
							@@ -775,7 +775,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
 | 
			
		||||
}
 | 
			
		||||
@@ -796,7 +796,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
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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();
 | 
			
		||||
 
 | 
			
		||||
@@ -658,7 +658,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);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user