Repository navigation
feat: support the Logitech G Pro X 2 Lightspeed - #31
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Adds the Logitech G Pro X 2 Lightspeed headset (receiver
0AF7) on a new protocol,LogitechCenturionProtocol. It speaks Logitech's "Centurion" framing instead of HID++. Closes #25.FFA0:0001, 64-byte reports, report id0x51. A frame is51 <len> <flags> <payload>. The receiver answers its own features directly and reaches the headset through its bridge feature0x0003. It acknowledges each bridge send before the headset answers, so only the headset's answer is accepted.0x0104on the headset, through the bridge.0discharging,1/2charging,3complete).LogitechCenturionProtocolTestsrun against a fake receiver with the real feature layout. It acknowledges first and sends unrelated reports. The request frames match HeadsetControl's fixed battery request byte for byte, apart from the software id.Lists_the_centurion_features_of_the_logitech_headsetprints both feature tables and the raw battery answer.0af7, plus its copy indocs/linux-setup.md.Not implemented: HeadsetControl's fixed request for firmware without
0x0104.Checklist
dotnet buildanddotnet testpass locally (0 warnings, 353 tests).Device/hardware tested against (if applicable)
The headset's owner (@ReqwiemG) tested it in #25 on Windows, through the
0AF7receiver, with G HUB running:59 59 00= 89% Discharging; G HUB showed 89%.5B 5B 02= 91% Charging; G HUB showed 89% charging just before.0000 0001 0100 0003 010A, headset via bridge 30000 0001 0101 0100 0104 010A 0108 0604 0602 0636.