mirror of
				https://github.com/liberatedsystems/RNode_Firmware_CE.git
				synced 2024-07-02 14:34:13 +02:00 
			
		
		
		
	Fixed RSSI indication
This commit is contained in:
		
							parent
							
								
									03e655b3ff
								
							
						
					
					
						commit
						beb17d0922
					
				
							
								
								
									
										7
									
								
								Config.h
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								Config.h
									
									
									
									
									
								
							@ -4,7 +4,7 @@
 | 
			
		||||
	#define CONFIG_H
 | 
			
		||||
 | 
			
		||||
	#define MAJ_VERS  0x01
 | 
			
		||||
	#define MIN_VERS  0x05
 | 
			
		||||
	#define MIN_VERS  0x06
 | 
			
		||||
 | 
			
		||||
	#define MCU_328P  0x90
 | 
			
		||||
	#define MCU_1284P 0x91
 | 
			
		||||
@ -62,7 +62,7 @@
 | 
			
		||||
 | 
			
		||||
	// MCU independent configuration parameters
 | 
			
		||||
	const long serial_baudrate  = 115200;
 | 
			
		||||
	const int  rssi_offset      = 164;
 | 
			
		||||
	const int  rssi_offset      = 292;
 | 
			
		||||
 | 
			
		||||
	const int lora_rx_turnaround_ms = 50;
 | 
			
		||||
 | 
			
		||||
@ -83,7 +83,8 @@
 | 
			
		||||
	uint8_t model     = 0x00;
 | 
			
		||||
	uint8_t hwrev     = 0x00;
 | 
			
		||||
	
 | 
			
		||||
	int		last_rssi		= -164;
 | 
			
		||||
	int		last_rssi		= -292;
 | 
			
		||||
	uint8_t last_rssi_raw   = 0x00;
 | 
			
		||||
	size_t	read_len		= 0;
 | 
			
		||||
	uint8_t seq				= 0xFF;
 | 
			
		||||
	uint8_t pbuf[MTU];
 | 
			
		||||
 | 
			
		||||
@ -66,6 +66,8 @@ class RNodeInterface():
 | 
			
		||||
	LOG_DEBUG    = 6
 | 
			
		||||
	LOG_EXTREME  = 7
 | 
			
		||||
 | 
			
		||||
	RSSI_OFFSET  = 292
 | 
			
		||||
 | 
			
		||||
	def __init__(self, callback, name, port, frequency = None, bandwidth = None, txpower = None, sf = None, cr = None, loglevel = -1, flow_control = True):
 | 
			
		||||
		self.serial      = None
 | 
			
		||||
		self.loglevel    = loglevel
 | 
			
		||||
@ -410,7 +412,7 @@ class RNodeInterface():
 | 
			
		||||
									self.r_stat_tx = ord(command_buffer[0]) << 24 | ord(command_buffer[1]) << 16 | ord(command_buffer[2]) << 8 | ord(command_buffer[3])
 | 
			
		||||
 | 
			
		||||
						elif (command == KISS.CMD_STAT_RSSI):
 | 
			
		||||
							self.r_stat_rssi = ord(byte)
 | 
			
		||||
							self.r_stat_rssi = ord(byte)-RSSI_OFFSET
 | 
			
		||||
						elif (command == KISS.CMD_RANDOM):
 | 
			
		||||
							self.r_random = ord(byte)
 | 
			
		||||
						elif (command == KISS.CMD_ERROR):
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										15
									
								
								LoRa.cpp
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								LoRa.cpp
									
									
									
									
									
								
							@ -212,9 +212,18 @@ uint8_t LoRaClass::modemStatus() {
 | 
			
		||||
  return readRegister(REG_MODEM_STAT);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int LoRaClass::packetRssi()
 | 
			
		||||
{
 | 
			
		||||
  return (readRegister(REG_PKT_RSSI_VALUE) - (_frequency < 868E6 ? 164 : 157));
 | 
			
		||||
uint8_t LoRaClass::packetRssiRaw() {
 | 
			
		||||
  uint8_t pkt_rssi_value = readRegister(REG_PKT_RSSI_VALUE);
 | 
			
		||||
  return pkt_rssi_value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int LoRaClass::packetRssi() {
 | 
			
		||||
  int pkt_rssi = (int)readRegister(REG_PKT_RSSI_VALUE);
 | 
			
		||||
  // TODO: change this to look at the actual model code
 | 
			
		||||
  if (_frequency < 820E6) pkt_rssi -= 7;
 | 
			
		||||
  pkt_rssi -= 157;
 | 
			
		||||
 | 
			
		||||
  return pkt_rssi;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
float LoRaClass::packetSnr()
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1
									
								
								LoRa.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								LoRa.h
									
									
									
									
									
								
							@ -26,6 +26,7 @@ public:
 | 
			
		||||
 | 
			
		||||
  int parsePacket(int size = 0);
 | 
			
		||||
  int packetRssi();
 | 
			
		||||
  uint8_t packetRssiRaw();
 | 
			
		||||
  float packetSnr();
 | 
			
		||||
  long packetFrequencyError();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -131,9 +131,10 @@ void kiss_indicate_stat_tx() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void kiss_indicate_stat_rssi() {
 | 
			
		||||
	uint8_t packet_rssi_val = (uint8_t)(last_rssi+rssi_offset);
 | 
			
		||||
	Serial.write(FEND);
 | 
			
		||||
	Serial.write(CMD_STAT_RSSI);
 | 
			
		||||
	Serial.write((uint8_t)last_rssi+rssi_offset);
 | 
			
		||||
	Serial.write(packet_rssi_val);
 | 
			
		||||
	Serial.write(FEND);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user