CANPF Command - CAN bus profiler
When installing on an unfamiliar vehicle, the first question is what is actually on the bus. The profiler listens to the CAN for a set period and builds an inventory of what went by: which identifiers appeared, how often, and with what content.
It exists so you do not have to work blind: instead of assuming which messages the vehicle emits, you measure them.
Starting the profiler
>SCANPF60< listen for 60 seconds
>SCANPF60;@LOG< listen for 60 seconds and store the result in the logThe destination is optional. If omitted, the result stays available to be queried by command.
| Destination | Where the result goes |
|---|---|
;@LOG | To the internal log |
;@GP | Over mobile data |
;@WI | Over WiFi |
;@BT | Over Bluetooth |
;@TR | To the terminal |
;@BACK, ;@BGP, ;@BWI | Backup channels |
;@ALL | To all of them |
Possible replies:
RCANPF OK 60s profiling under way
RCANPF ERR NOMEM no memory available right now
RCANPF NA the device has no CAN interfaceStopping
>SCANPF0< → RCANPF OFFStops the profiler and frees the memory it was using.
The profiler reserves memory while it works. Stop it once you have what you were after rather than leaving it running.
Reading the result
>QCANPF< summary of what was collected
>QCANPF03< detail of the identifier at position 3If nothing has been collected yet, it replies RCANPF NODATA.
The detail of an identifier includes:
| Item | What it is |
|---|---|
| Identifier | The CAN message ID, in hexadecimal |
| Count | How many times it appeared during the listen |
| Interval | How many milliseconds apart it appears, on average |
| Length | How many data bytes it carries |
| Type | S standard · E extended |
| Data | The observed content |
The interval is an average over the listening window. A message that arrives in bursts and one that arrives evenly can yield the same number: listen long enough for the average to mean something.
Using it during an installation
- With the vehicle running, start a 60-second listen.
- Query the summary to see which identifiers showed up.
- Request the detail of the interesting ones and look at their frequency and content.
- Repeat under other conditions (stopped, accelerating) to see what changes.
- Stop the profiler with
>SCANPF0<.
A message whose content changes with what you do to the vehicle is the candidate for the signal you are looking for.