Solaar/lib/logitech_receiver
Ken Sanislo ca500f80bb Tighten Centurion probe and silence FeaturesArray query spam
Three cleanup fixes after field testing confirmed the brute-force probe
finds device_addr=0x23 on the G522 (no special addresses at 0x00/0xFF):

1. Short-circuit the probe on first hit instead of sweeping all 256. The
   diagnostic full-sweep served its purpose — only 0x23 responds.
2. Drop per-candidate read timeout from 20ms to 5ms. USB round-trip is
   <1ms, so 5ms is 5x margin. Worst case: 1.3s. Typical: 180ms.
3. Short-circuit FeaturesArray.__getitem__ for Centurion devices. All
   parent + sub-device features are enumerated upfront by
   _check_centurion(). If a feature isn't in the dict after _check(),
   it genuinely doesn't exist — skip the raw ROOT.GetFeature query that
   the dongle rejects with LOGITECH_ERROR. Eliminates cycling
   {0002}..{000F} error log spam during settings init and speeds up
   check_feature_settings() by ~225 round trips per device.
2026-04-16 22:46:10 -07:00
..
__init__.py
base.py Tighten Centurion probe and silence FeaturesArray query spam 2026-04-16 22:46:10 -07:00
base_usb.py
centurion.py
centurion_constants.py
common.py
descriptors.py
desktop_notifications.py
device.py
diversion.py
exceptions.py
hidpp10.py
hidpp10_constants.py
hidpp20.py Tighten Centurion probe and silence FeaturesArray query spam 2026-04-16 22:46:10 -07:00
hidpp20_constants.py
i18n.py
listener.py
notifications.py
onboard_eq.py
receiver.py
settings.py
settings_new.py
settings_templates.py
settings_validator.py
special_keys.py