Community contributions

Freeze-frame schemas.

Per-ECU byte-layout schemas. Define which fields the module records when a code triggers and how to decode the bytes into engineering units. The schemas are TOML files in community/freeze/ in the project repo.

3 schemasTOMLSimulator-verified

Catalog

AddressECUFieldsFile
0x12 DME (engine control module) 2 source
0x29 DSC (stability control module) 2 source
0x72 IHKA / climate control 2 source

Schema

Each freeze-schema TOML has a list of [[field]] entries. The fields per field:

  • label — human-readable name (Engine speed, Coolant temp, etc.).
  • unit — rpm, °C, kPa, V, etc.
  • offset — byte offset within the freeze-frame payload.
  • width — "u8", "u16", "i16" — the byte width and signedness.
  • scale — multiplier to convert raw bytes to engineering units.
  • bias — additive bias (often used to encode signed values).
  • decimals — how many decimal places to display.

Verification status

The current freeze-frame schemas are simulator-verified only. The byte layouts match the simulator in src-tauri/src/transport/sim.rs::SimEcu.freeze. They are NOT verified against any real BMW DME, DSC, IHKA, or KOMBI. Real-car verification is documented in docs/validation/freeze-frame.md (TODO v0.14.1).

Until a real-car harness report lands, treat these schemas as best-effort approximations. Beemuu renders the bytes; the meaning past offset 2 is unverified for every schema.

Contribute

Adding a freeze-frame schema is a Tier A contribution. Open a PR with a new TOML file in community/freeze/<addr>.toml. The schema is parsed by the simulator and used to render the freeze-frame in the desktop UI.

Add your freeze schema.

Every Beemuu freeze schema is community-contributed. Add yours.

Contributing guidecommunity/freeze/ on GitHub

Last updated: 2026-08-02 ยท Beemuu contributors