Alban Browaeys
7066ec40c9
device: Fix listing hidpp10 devices - bytes vs string concatenation ( #2856 )
...
* Fix listing hidpp10 devices - bytes vs string concatenation
Fix error concatenating a bytes with a string.
Closes #2855 .
Fixes: 5e0c85a6
receiver: Refactor extraction of serial and max. devices
* Update lib/logitech_receiver/receiver.py
---------
Co-authored-by: Peter F. Patel-Schneider <pfpschneider@gmail.com>
2025-04-22 08:47:26 -04:00
Peter F. Patel-Schneider
9b5e416755
receiver: Handle unknown power switch locations again
...
Ensure functionality via unit test.
2025-02-22 15:29:35 -05:00
MattHag
5e0c85a6d7
receiver: Refactor extraction of serial and max. devices
...
Related #2273
2025-01-01 12:52:33 -05:00
some_developer
96364d2df3
Refactor InfoSubRegisters: Use IntEnum in favour of NamedInts
2025-01-01 10:46:04 -05:00
MattHag
72c9dfc50c
Remove NamedInts: Convert NotificationFlag to flag
...
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
96c9cc2aa4
Remove NamedInts: Convert PowerSwitchLocation to flag
...
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
41768d9616
Test receiver notification info
2025-01-01 10:14:10 -05:00
Pierre Carru
8b0904ead0
receiver: fix BoltReceiver, Ex100Receiver __init__ ( #2661 )
2024-11-10 17:44:40 -05:00
MattHag
1afcfe4b57
refactor: use IntEnum for firmware and cidgroup constances
...
* Refactor: test_named_ints_flag_names
Shorten test and clarify behavior using binary numbers.
* Introduce plain flag_names function
This replicates the NamedInts functionality as plain function.
* Refactor FeatureFlag to use IntFlag
Replace NamedInts implementation with IntFlag enum and plain flag_names
function.
Related #2273
* Refactor FirmwareKind to use IntEnum
- Move general FirmwareKind to common module.
- Replace NamedInts implementation with IntEnum.
- Harden related HIDPP 1.0 get_firmware test.
Related #2273
* Refactor CID_GROUP, CID_GROUP_BIT to use IntEnum
Related #2273
2024-10-23 16:25:35 -04:00
MattHag
cba3533869
Remove factory wrapper classes
...
A module level function is sufficient, no wrapper needed.
2024-10-11 07:42:38 -04:00
MattHag
ef6b7dec2c
receiver: Remove hard dependency on base
...
With this test all receiver tests are macOS compatible again. The low
level interface supports passing a fake API for unit tests.
2024-10-11 07:42:38 -04:00
MattHag
1729189981
base: Add find_paired_node functions
...
Avoid direct access to hidapi and use the base module as low-level API
instead. This change replaces the remaining calls to find_paired_node
and find_paired_node_wpid by exposing them via base module.
2024-10-11 07:42:38 -04:00
MattHag
99fc9c6fcb
receiver: Remove hard dependency on hidapi
2024-10-11 07:42:38 -04:00
MattHag
2442299539
base: Simplify receiver info retrieval
...
- Remove comments with unused receivers
- Simplify receiver hardcoded info
2024-10-08 14:35:16 -04:00
MattHag
d67466298b
Introduce Enum for notification types
2024-06-03 08:37:02 -04:00
MattHag
be83dac209
hid: Convert definition of HID registers to enum
...
* Refactor HID Register definitions
Use enums for distinct type hints, easy discovery of registers.
Make constants uppercase and benefit from enum auto-completion.
Related #2273
* Improve type hints: Registers
2024-06-02 10:34:00 -04:00
MattHag
c29231bc6b
refactor: Creation of devices ( #2493 )
...
* Refine interfaces for testability
* Reenable fixed device tests
2024-05-27 11:58:16 -04:00
MattHag
815dce07be
Unify imports in logitech package
...
Related #2273
2024-05-23 16:42:18 -04:00
Matthias Hagmann
c9dc232951
Refactor: Use dataclasses and enums
...
Replace unnecessary NamedInts in favour of default data types.
Simplify interfaces by reducing possible input from strings to members
of an enum.
2024-05-22 21:14:41 -04:00
Matthias Hagmann
469c04faaf
Introduce Device protocol and type hints
2024-05-22 21:14:41 -04:00
Matthias Hagmann
193dbfda21
hidpp10: Move independent functions to module level
2024-05-22 21:14:41 -04:00
MistificaT0r
4225fce8d7
po: update Russion translation and have all strings translated
...
* update Russian translation
* Fixed translation display in GUI
* fix checks / Fixed translation display in GUI
2024-04-21 11:36:39 -04:00
Peter F. Patel-Schneider
86bab897d1
receiver: introduce small delay in getting pairing information to let receiver settle after pairing
2024-04-15 14:40:50 -04:00
Peter F. Patel-Schneider
bd437b548b
ui: refactor pair_window
2024-03-25 09:13:22 -04:00
Matthias Hagmann
4e6361429e
refactor: Use f-strings for more exceptions and log message
...
Semi manually convert remaining strings with no translation to f-string.
2024-03-24 07:01:56 -04:00
Peter F. Patel-Schneider
480badbe8c
device: align init methods for all receiver classes
2024-03-16 16:24:33 -04:00
Matthias Hagmann
5b09ace1f5
ruff: Apply single line import format
...
# Usage
pre-commit run --all-files
Related #2295
2024-03-13 15:41:21 -04:00
Matthias Hagmann
e92f1a8a0b
Automatically upgrade strings to f-string
...
Used flynt to convert strings to f-strings, where safely possible.
Usage:
flynt .
Related #2372
2024-03-13 11:02:50 -04:00
Peter F. Patel-Schneider
b957217ea8
receiver: delay device sending first messages
2024-03-13 08:34:28 -04:00
Peter F. Patel-Schneider
9c5ba6445e
device: remove status from Device and Receiver
2024-03-11 08:23:27 -04:00
Peter F. Patel-Schneider
a1418cd834
device: move changed method from status to Device and Receiver
2024-03-11 08:23:27 -04:00
Peter F. Patel-Schneider
0805ecb511
device: move status string function to Device and Receiver
2024-03-11 08:23:27 -04:00
Peter F. Patel-Schneider
87285faf7f
receiver: move pairing status to new dataclass attached to receiver
2024-03-11 08:23:27 -04:00
Matthias Hagmann
7ec3eddccc
test: Extract get_kind_from_index function and test it
...
Pull get_kind_from_index from class to module level and add tests.
Related #1097
2024-03-10 09:20:39 -04:00
Peter F. Patel-Schneider
3916c189be
receiver: move more method code to subclasses
2024-03-08 15:39:12 -05:00
Matthias Hagmann
4eb5a83326
receiver: create subclasses of receiver for different variants
...
Related #2350
2024-03-08 15:39:12 -05:00
Matthias Hagmann
c3b6802373
refactor: Get receiver product info before instantiation
...
Related #2350
2024-03-03 10:38:46 -05:00
Matthias Hagmann
51e44052b0
Refactor: Move Receiver instantiation to factory class
...
Related #2350
2024-03-03 09:32:42 -05:00
Matthias Hagmann
a29f2b8614
tests: Add hidpp10 tests
...
Related #1097
2024-03-02 10:56:41 -05:00
Peter F. Patel-Schneider
ce2de71b1b
device: clean up device and receiver code
2024-02-22 09:57:02 -05:00
Peter F. Patel-Schneider
4b33c119f6
device: move pairing information gathering to receiver
2024-02-22 09:57:02 -05:00
Matthias Hagmann
7774569971
Apply ruff format
...
Run ruff auto formatting using:
ruff format .
Related #2295
2024-02-20 15:41:10 -05:00
Peter F. Patel-Schneider
ed248c62b9
device: add callback to call when changing a setting
2024-02-20 06:19:23 -05:00
Matthias Hagmann
2fcab65486
logitech_receiver: Move hidpp10 constants into new module
...
Related #1097
2024-02-20 05:58:33 -05:00
Matthias Hagmann
e8fdbeee8e
logitech_receiver: Move exceptions into own module
...
Related #1097
2024-02-20 05:58:33 -05:00
Peter F. Patel-Schneider
31d795fcb8
device: improve imports in logitech_receiver
...
device: move some imports to top of modules
device: break up imports loop with device descriptors
device: break up imports loop by moving a function from notifications.py to setting_templates.py
device: break import loop between device.py and diversion.py by using device to access method
2024-02-18 06:21:35 -05:00
MattHag
87658fb189
logging: Simplify logger instantiation
...
* logging: Simplify logger instantiation
Relates #2254
* logging: Remove aliases
Relates #2254
* logging: Replace deprecated warn with warning
Related #2254
* logging: Fix mistake
Related #2257
2024-02-10 13:55:27 -05:00
Peter F. Patel-Schneider
db4e40e3ac
device: add extended report rate setting
2024-02-01 10:13:03 -05:00
Peter F. Patel-Schneider
d9e5e33947
device: correctly enumerate devices on receiver
2023-11-23 11:18:08 -05:00
Peter F. Patel-Schneider
d41c607188
receiver: fix bug in determining kind of devices for 27Mz receivers
2023-02-11 12:28:01 -05:00