Repository navigation
Conversation
…vior when setting timers, now respect the previous settings of the multiple timers "time until inactive" and "time until off"
|
I have the "G PRO X 2". |
|
Let me also post a more detailed description with the changes and explanations: Changes madeThe Logitech G522 LIGHTSPEED ( 1. Port to the Centurion protocol (no new features)
2. Lights, voice prompts, sidetone read-back,
3. Equalizer presets, custom EQ and parametric EQ
Behavior changes for G522 users
G PRO X 2Nothing changes on the wire. All new behavior is opt-in, and unit tests check that the G PRO X 2 frames are byte-identical with the default options (including the length byte of 65 on direct requests, and power events still being skipped). The G PRO X 2 would probably benefit from the same options, but I have no way to test that, so I left it to an owner of that headset. Not included
Testing
|
|
I tested the changes locally on my side - work like a charm (enabled the 4 flags) |
Sapd
left a comment
There was a problem hiding this comment.
Verified the G PRO X 2 path: it overrides neither centurionFramePrefix() nor centurionOptions(), so it keeps the {0x51} prefix and all four flags off - the shipped traffic is master's. Its diff is format reflow plus parseCenturionBatteryResponse moved verbatim. Nothing else inherits Centurion. Build, tests, clang-format 18 and the README generator are clean.
@ChrisLauinger77 to be clear: "enabled the 4 flags" means you ran the PRO X 2 with the options on, which isn't what this PR ships by default. Did you also run it unmodified, and which commands - -b, -s, -i, -p, -e, --parametric-equalizer, and -b with the headset off?
Keeping the flags off here is right, it's what makes "PRO X 2 untouched" checkable. If all four work on the PRO X 2 I'd take a follow-up that turns them on there and deletes CenturionOptions - exact_direct_length=false only exists to preserve a wrong length byte (0x41 in a 64-byte frame).
Nits: sort the CenturionFeature enum numerically, HeadsetMicMuteLed 0x0601 went in before 0x060b while 0x0604 stays last. Wire tests for G522 setSidetone and the mic-mute LED would pin the bytes that moved from hardcoded indexes to discovery.
For the release notes: battery state 1 now counts as charging, -i no longer zeroes the lighting timers, headset off returns DeviceOffline instead of a timeout.
Changes made
Checklist
Related to #488