Bring your own car¶
The bundled Ioniq profile is just an example. canair's tooling is vehicle-agnostic — this journey takes you from nothing to decoded, verified diagnostic signals for your car, stored in a profile you can share.
You don't need to know your car's PIDs in advance. The discovery and scan commands are a write path: they populate the profile as they find things, so the profile grows itself as you work.
The arc¶
flowchart LR
A["1. create profile"] --> B["2. discover ECUs"]
B --> C["3. read identity"]
C --> D["4. scan for data"]
D --> E["5. capture<br/>(while driving/charging)"]
E --> F["6. analyze"]
F --> G["7. define & verify"]
G --> H["8. share"]
F -.->|more data needed| E
| Step | You do | Result |
|---|---|---|
| 1. Create a profile | canair profile create |
An empty, valid profile bundle |
| 2. Discover ECUs | canair discover --register |
Every responding ECU written into ecus/ |
| 3. Read identity | canair identity / discover --identify |
Part numbers, versions, VIN |
| 4. Scan for data | canair scan |
Which PIDs/DIDs each ECU answers |
| 5. Capture | canair read … --save |
Real payloads with driving/charging context |
| 6. Analyze | decode / correlate / hunt / investigate |
Which byte is which signal |
| 7. Define & verify | canair pids upsert-param, coverage |
Named parameters in ecus/ |
| 8. Share | canair wican autopid write |
WiCAN AutoPID JSON; a profile to contribute |
Optional side-journey: 9. Broadcast CAN frames decodes signals that are broadcast on the internal bus (drive mode, regen, wheel speeds) rather than answered on request — a parallel import → analyze → define arc for when you have a raw frame log. See also Broadcast CAN frames.
It's a loop, not a line¶
Reverse-engineering is iterative. You'll often capture some data, analyze it, realize you need different conditions (accelerating vs. coasting, plugged vs. charging), and go capture again. That's expected — the dashed arrow above.
The rule of thumb: read and capture freely, define conservatively. Mark new
parameters --unverified until you've confirmed them against a known reference
or across enough captures, then promote them. See
Define & verify.
Before you start¶
Make sure you've done Getting started — canair
installed, your dongle configured, and canair status reporting a reachable
device. Everything below assumes that works.
Next: 1. Create a profile →