Skip to content

Merge protocol reference into API spec; fix all verified errors#2

Merged
lkasso merged 2 commits into
mainfrom
lkasso/merge-protocol-reference
Jun 12, 2026
Merged

Merge protocol reference into API spec; fix all verified errors#2
lkasso merged 2 commits into
mainfrom
lkasso/merge-protocol-reference

Conversation

@lkasso

@lkasso lkasso commented Jun 12, 2026

Copy link
Copy Markdown
Member

Summary

  • Combine docs/protocol-reference.md into docs/api-specification.md as per-module Wire-Level Reference sections — one complete protocol spec
  • Resolve every known contradiction, verified against MetaWear-SDK-Cpp source and the MMRL/MMS product datasheets:
    • Math ops are firmware enum values (Add=1…Constant=11); no Negate/Floor/Ceil/Round
    • Log readout entries are 9 bytes on BLE (uint32 tick); 8 bytes is flash-only
    • I2C id byte precedes length; Settings revision gates corrected (disconnect/MAC=2, battery=3, whitelist=6)
    • MAC read is 6 bytes; device name max 26 ASCII bytes; buzzer duty always 0x7F; M4G mag at 25 Hz
    • Fusion wire units: corrected acc = mg, gravity/linear acc = m/s²
    • BMI270 Feature Config writes one bank per command (banks 0–9)
    • MMRL has no barometer (fixed in two tables); accel ODR 0.78–1600 Hz; gyro 25–3200 Hz; per-mode fusion rates; nRF52832/nRF52840 specified
  • Document the per-register notification subscribe mechanism
  • Add MMS 1.8 V vs MMRL 3 V logic-level warnings (GPIO + Serial Passthrough)
  • Deprecate iBeacon; remove MMA8452Q and the nonexistent Peak Detector; LiPo wording
  • Link sensor datasheets at chip mentions

mkdocs build --strict passes.

🤖 Generated with Claude Code

lkasso and others added 2 commits June 11, 2026 18:12
Combine docs/protocol-reference.md into docs/api-specification.md as
per-module Wire-Level Reference sections, making it the single complete
protocol spec. Resolve all known contradictions against MetaWear-SDK-Cpp
source and the MMRL/MMS product datasheets:

- Math processor ops are firmware enum values (Add=1..Constant=11);
  Negate/Floor/Ceil/Round do not exist
- Log readout entries are 9 bytes on BLE (uint32 tick), 8 bytes in flash
- I2C id byte precedes the length byte in reads and writes
- Settings revision gates: disconnect/MAC=2, battery=3, whitelist=6
- MAC read returns 6 bytes (no address-type byte); device name max is
  26 ASCII bytes, not 8
- Buzzer duty is always 0x7F; M4G drives the mag at 25 Hz
- Fusion wire units: corrected acc in mg, gravity/linear acc in m/s2
- BMI270 Feature Config writes one bank per command (banks 0-9)
- MMRL has no barometer; accel ODR 0.78-1600 Hz, gyro 25-3200 Hz;
  per-mode fusion output rates; nRF52832/nRF52840 specified per board
- Document the per-register notification subscribe mechanism
- Add MMS 1.8V vs MMRL 3V logic-level warnings (GPIO, Serial Passthrough)
- Deprecate iBeacon, remove MMA8452Q and the nonexistent Peak Detector
- Boards are LiPo, not lithium ion

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…re table

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@lkasso lkasso merged commit 6d3a191 into main Jun 12, 2026
2 checks passed
@lkasso lkasso deleted the lkasso/merge-protocol-reference branch June 14, 2026 03:54
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