(hopefully) better serial read-out for devices
This commit is contained in:
		
							parent
							
								
									94464a40b8
								
							
						
					
					
						commit
						5ebc2634ae
					
				|  | @ -183,22 +183,6 @@ def parse_battery_reply_07(level, battery_status): | ||||||
| 	return charge, status | 	return charge, status | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def get_serial(device): |  | ||||||
| 	assert device |  | ||||||
| 
 |  | ||||||
| 	if device.kind is None: |  | ||||||
| 		dev_id = 0x03 |  | ||||||
| 		receiver = device |  | ||||||
| 	else: |  | ||||||
| 		dev_id = 0x30 + device.number - 1 |  | ||||||
| 		receiver = device.receiver |  | ||||||
| 		assert receiver.unifying_supported |  | ||||||
| 
 |  | ||||||
| 	serial = read_register(receiver, 0x2B5, dev_id) |  | ||||||
| 	if serial is not None: |  | ||||||
| 		return _strhex(serial[1:5]) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| def get_firmware(device): | def get_firmware(device): | ||||||
| 	assert device | 	assert device | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -199,9 +199,18 @@ class PairedDevice(object): | ||||||
| 	@property | 	@property | ||||||
| 	def serial(self): | 	def serial(self): | ||||||
| 		if self._serial is None: | 		if self._serial is None: | ||||||
| 			if self.receiver.unifying_supported: | 			serial = self.receiver.read_register(0x2B5, 0x30 + self.number - 1) | ||||||
| 				self._serial = _hidpp10.get_serial(self) | 			if serial: | ||||||
|  | 				ps = ord(serial[9:10]) & 0x0F | ||||||
|  | 				self._power_switch = _hidpp10.POWER_SWITCH_LOCATION[ps] | ||||||
| 			else: | 			else: | ||||||
|  | 				# some Nano receivers? | ||||||
|  | 				serial = self.receiver.read_register(0x2D5) | ||||||
|  | 
 | ||||||
|  | 			if serial: | ||||||
|  | 				self._serial = _strhex(serial[1:5]) | ||||||
|  | 			else: | ||||||
|  | 				# fallback... | ||||||
| 				self._serial = self.receiver.serial | 				self._serial = self.receiver.serial | ||||||
| 		return self._serial or '?' | 		return self._serial or '?' | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue