Merge pull request #4 from TheBlueMatt/patch-1
Fix RSSI offset for pre-msg RSSI notification
This commit is contained in:
		
						commit
						454de10ee9
					
				
							
								
								
									
										6
									
								
								LoRa.cpp
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								LoRa.cpp
									
									
									
									
									
								
							@ -219,6 +219,12 @@ uint8_t LoRaClass::packetRssiRaw() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
int LoRaClass::packetRssi() {
 | 
					int LoRaClass::packetRssi() {
 | 
				
			||||||
  int pkt_rssi = (int)readRegister(REG_PKT_RSSI_VALUE);
 | 
					  int pkt_rssi = (int)readRegister(REG_PKT_RSSI_VALUE);
 | 
				
			||||||
 | 
					  int8_t pkt_snr = ((int8_t)readRegister(REG_PKT_SNR_VALUE));
 | 
				
			||||||
 | 
					  if pkt_snr < 0 {
 | 
				
			||||||
 | 
					    pkt_rssi = pkt_rssi * 16 / 15;
 | 
				
			||||||
 | 
					  } else {
 | 
				
			||||||
 | 
					    pkt_rssi += pkt_snr / 4;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
  // TODO: change this to look at the actual model code
 | 
					  // TODO: change this to look at the actual model code
 | 
				
			||||||
  if (_frequency < 820E6) pkt_rssi -= 7;
 | 
					  if (_frequency < 820E6) pkt_rssi -= 7;
 | 
				
			||||||
  pkt_rssi -= 157;
 | 
					  pkt_rssi -= 157;
 | 
				
			||||||
 | 
				
			|||||||
@ -144,7 +144,7 @@ void receiveCallback(int packet_size) {
 | 
				
			|||||||
      // recieved packet to the host.
 | 
					      // recieved packet to the host.
 | 
				
			||||||
      Serial.write(FEND);
 | 
					      Serial.write(FEND);
 | 
				
			||||||
      Serial.write(CMD_STAT_RSSI);
 | 
					      Serial.write(CMD_STAT_RSSI);
 | 
				
			||||||
      Serial.write((uint8_t)(last_rssi-rssi_offset));
 | 
					      Serial.write((uint8_t)(last_rssi+rssi_offset));
 | 
				
			||||||
      Serial.write(FEND);
 | 
					      Serial.write(FEND);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      // And then write the entire packet
 | 
					      // And then write the entire packet
 | 
				
			||||||
@ -170,7 +170,7 @@ void receiveCallback(int packet_size) {
 | 
				
			|||||||
    // recieved packet to the host.
 | 
					    // recieved packet to the host.
 | 
				
			||||||
    Serial.write(FEND);
 | 
					    Serial.write(FEND);
 | 
				
			||||||
    Serial.write(CMD_STAT_RSSI);
 | 
					    Serial.write(CMD_STAT_RSSI);
 | 
				
			||||||
    Serial.write((uint8_t)(last_rssi-rssi_offset));
 | 
					    Serial.write((uint8_t)(last_rssi+rssi_offset));
 | 
				
			||||||
    Serial.write(FEND);
 | 
					    Serial.write(FEND);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // And then write the entire packet
 | 
					    // And then write the entire packet
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user