Skip to content

Add support for XCX bike (proprietary FFF6 telemetry) with parser, device integration and tests - #4911

Closed
cagnulein wants to merge 1 commit into
masterfrom
codex/add-support-for-xcx-001048-bike-qo8xjd
Closed

Add support for XCX bike (proprietary FFF6 telemetry) with parser, device integration and tests#4911
cagnulein wants to merge 1 commit into
masterfrom
codex/add-support-for-xcx-001048-bike-qo8xjd

Conversation

@cagnulein

Copy link
Copy Markdown
Owner

Motivation

  • Support XCX bikes which expose FTMS/CSC/Cycling Power but use a proprietary FFF6 telemetry stream that must be handled specially.
  • Ensure the XCX-specific detection runs before the generic FTMS detection to avoid misclassification.
  • Provide a tested parser for captured FFF6 frames and integrate the device into the test harness and build system.

Description

  • Add a new xcxbike device implementation with xcxbike.h and xcxbike.cpp that parses proprietary FFF6 telemetry and exposes metrics via the existing bike interface.
  • Implement xcxbike::parseTelemetry to decode the captured 20-byte telemetry frame and update speed, cadence, power, distance, resistance and related state.
  • Integrate XCX detection into bluetooth::deviceDiscovered so devices whose name starts with "XCX-" are instantiated as xcxbike before falling back to generic FTMS handling.
  • Wire the new device into the project by adding includes and a member pointer in bluetooth.h, update qdomyos-zwift.pri to compile the new sources/headers, and register the device in the test device indices.
  • Add unit tests: tst/Devices/TestXcxBikeParser{.h,.cpp} validate decoding of captured packets, and include the test in the test project tst/qdomyos-zwift-tests.pro.

Testing

  • Built the project with the new sources and headers (qdomyos-zwift build) which completed successfully.
  • Ran the new parser unit tests TestXcxBikeParser which executed the parseTelemetry cases and all assertions passed.
  • Ran the test suite including qdomyos-zwift-tests which completed with the updated device index and new tests included (tests passed).

Codex Task

@cagnulein cagnulein closed this Aug 11, 2026
@cagnulein
cagnulein deleted the codex/add-support-for-xcx-001048-bike-qo8xjd branch August 11, 2026 14:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant