Skip to content

PoC: pack motor RPM into 0xFF service packet - #256

Open
350d wants to merge 1 commit into
hd-zero:mainfrom
350d:poc/synthetic-motor-audio
Open

350d wants to merge 1 commit into
hd-zero:mainfrom
350d:poc/synthetic-motor-audio

Conversation

@350d

@350d 350d commented Oct 6, 2026 •

Copy link
Copy Markdown

Summary

  • Request Betaflight MSP_MOTOR_TELEMETRY (139) after FC init and keep mechanical RPM for motors 0..3 (quad only).
  • Extend the existing 0xFF service payload from 15 to 21 bytes with four 12-bit quantized RPMs (6 bytes). No new RF opcodes; MSP RX buffer stays 64 bytes.
  • Document the wire format in docs/synthetic-motor-audio.md. Pair with the matching goggle PR for decode/synth.

Packet

  • Quantize: q = min((rpm + 16) >> 5, 4095) (32 RPM steps, max 131040).
  • Legacy fields unchanged; old goggles that honor length accept the longer frame and ignore the unknown tail.

Test plan

  • Flash VTX with BF FC that exposes motor telemetry; confirm MSP 139 is requested only for BTFL.
  • Verify 0xFF service length is 21 and CRC still validates on current goggle firmware.
  • Pair with goggle PoC branch and confirm RPM updates ~8 Hz / audio reacts.

Request MSP_MOTOR_TELEMETRY from Betaflight and append four 12-bit RPM values so goggles can synthesize motor audio without new RF opcodes.
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.

1 participant