Catalog
| Address | ECU | Fields | File |
|---|---|---|---|
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.