receiver: rationalize receiver information structure

This commit is contained in:
Peter F. Patel-Schneider 2022-10-11 08:45:06 -04:00
parent d1572b0c02
commit 51ec36fef4
3 changed files with 4 additions and 7 deletions

View File

@ -35,7 +35,6 @@ from .i18n import _
## should this last be changed so that may_unpair is used for all receivers? writing to _R.receiver_pairing doesn't seem right
# re_pairs determines whether a receiver pairs by replacing existing pairings, default to False
## currently only one receiver is so marked - should there be more?
# ex100_27mhz_wpid_fix enable workarounds for EX100 and possible other old 27Mhz receivers
_DRIVER = ('hid-generic', 'generic-usb', 'logitech-djreceiver')
@ -135,8 +134,7 @@ _ex100_receiver = lambda product_id: {
'receiver_kind': '27Mhz',
'max_devices': 4,
'may_unpair': False,
're_pairs': True,
'ex100_27mhz_wpid_fix': True
're_pairs': True
}
# Receivers added here should also be listed in

View File

@ -116,7 +116,7 @@ class Device:
# assert link_notification.address == (0x04 if unifying else 0x03)
kind = ord(link_notification.data[0:1]) & 0x0F
# get 27Mhz wpid and set kind based on index
if receiver.ex100_27mhz_wpid_fix: # 27 Mhz receiver
if receiver.receiver_kind == '27Mhz': # 27 Mhz receiver
self.wpid = '00' + _strhex(link_notification.data[2:3])
kind = self.get_kind_from_index(number, receiver)
self._kind = _hidpp10.DEVICE_KIND[kind]

View File

@ -83,12 +83,11 @@ class Receiver:
self.may_unpair = product_info.get('may_unpair', False)
self.last_id = self.last_id if self.last_id else self.max_devices
self.name = product_info.get('name', '')
self.name = product_info.get('name', 'Receiver')
self.re_pairs = product_info.get('re_pairs', False)
self._str = '<%s(%s,%s%s)>' % (
self.name.replace(' ', ''), self.path, '' if isinstance(self.handle, int) else 'T', self.handle
)
self.ex100_27mhz_wpid_fix = product_info.get('ex100_27mhz_wpid_fix', False)
self._firmware = None
self._devices = {}
@ -174,7 +173,7 @@ class Receiver:
wpid = _strhex(pair_info[3:5])
kind = _hidpp10.DEVICE_KIND[ord(pair_info[7:8]) & 0x0F]
polling_rate = ord(pair_info[2:3])
elif self.ex100_27mhz_wpid_fix: # 27Mhz receiver, fill extracting WPID from udev path
elif self.receiver_kind == '27Mz': # 27Mhz receiver, fill extracting WPID from udev path
wpid = _hid.find_paired_node_wpid(self.path, n)
if not wpid:
_log.error('Unable to get wpid from udev for device %d of %s', n, self)