device: use 0xFF instead of 0 for direct-connected devices

This commit is contained in:
Peter F. Patel-Schneider 2021-08-21 22:01:38 -04:00
parent 4b97ebd649
commit 30f56a1c0f
3 changed files with 6 additions and 11 deletions

View File

@ -513,10 +513,6 @@ def ping(handle, devnumber, long_message=False):
# import inspect as _inspect
# print ('\n '.join(str(s) for s in _inspect.stack()))
assert devnumber != 0xFF
assert devnumber >= 0x00
assert devnumber < 0x0F
with acquire_timeout(handle_lock(handle), handle, 10.):
# randomize the SoftwareId and mark byte to be able to identify the ping

View File

@ -40,11 +40,14 @@ class Device(object):
self.receiver = receiver
self.may_unpair = False
self.isDevice = True # some devices act as receiver so we need a property to distinguish them
self.handle = None
self.path = None
self.product_id = None
if receiver:
assert number > 0 and number <= receiver.max_devices
else:
assert number == 0
assert number == 0xFF
# Device number, 1..6 for unifying devices, 1 otherwise.
self.number = number
# 'device active' flag; requires manual management.
@ -89,10 +92,6 @@ class Device(object):
# See `add_notification_handler`
self._notification_handlers = {}
self.handle = None
self.path = None
self.product_id = None
# if _log.isEnabledFor(_DEBUG):
# _log.debug("new Device(%s, %s, %s)", receiver, number, link_notification)
@ -493,7 +492,7 @@ class Device(object):
try:
handle = _base.open_path(device_info.path)
if handle:
return Device(None, 0, info=device_info)
return Device(None, 0xFF, info=device_info)
except OSError as e:
_log.exception('open %s', device_info)
if e.errno == _errno.EACCES:

View File

@ -441,7 +441,7 @@ def _device_row(receiver_path, device_number, device=None):
receiver_row = _receiver_row(receiver_path, None if device is None else device.receiver)
if device_number == 0: # direct-connected device, receiver row is device row
if device_number == 0xFF or device_number == 0x0: # direct-connected device, receiver row is device row
if receiver_row:
return receiver_row
item = None