Skip to content

Implement SRAM AXS encrypted drivetrain support - #4943

Draft
cagnulein wants to merge 1 commit into
masterfrom
codex/sram-axs-support
Draft

Implement SRAM AXS encrypted drivetrain support#4943
cagnulein wants to merge 1 commit into
masterfrom
codex/sram-axs-support

Conversation

@cagnulein

Copy link
Copy Markdown
Owner

Summary

  • add SRAM AXS BLE discovery and encrypted SRAMBond v1 pairing
  • persist per-device keys and decrypt authenticated AES-128 EAX drivetrain packets
  • decode rear-derailleur position and map gear changes to QZ virtual gearing
  • add SRAM AXS settings and deterministic protocol tests

Context

Fixes #2768: #2768

The SRAM AXS protocol implementation was taken from and cross-checked against GaborWnuk/sram-axs, including the documented SRAMBond v1 exchange, AES-EAX behavior, fixtures, and drivetrain status decoding. The implementation is adapted to QZ's Qt/C++ architecture.

Validation

  • git diff --cached --check
  • python3 -m json.tool src/settings-catalog.json
  • clang syntax checks for the new Qt/C++ translation units
  • deterministic DH, AES-EAX, and protobuf protocol tests added
  • full qmake/gtest runtime was not run because the installed Qt qmake binaries are x86-only on this ARM host

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SRAM AXS Controller for Virtual Gearing

1 participant