Back to Serial Studio

CAN Signal Map (DBC)

app/rcc/scripts/native/can_signal_map.md

4.0.11.4 KB
Original Source

CAN Signal Map (DBC)

Decodes CAN frames through a DBC-style signal map: per-message bit layouts, physical scaling and simple multiplexing. Values latch between frames. This template is generated by the DBC importer; re-import the DBC file to change it.

Wire Format

[id hi][id lo][DLC][data ...]

One frame per CAN message as delivered by the CAN Bus driver: a 16-bit big-endian frame id, the data length code, then the payload.

Parameters

ParameterTypeDescription
Signal mapmapCAN messages with their signal bit layouts and scaling. Written by the importer.

Each message holds its frame id and the signals in channel order:

json
{"messages": [{"id": 256, "signals": [
  {"startBit": 0, "length": 16, "bigEndian": true, "signed": false,
   "factor": 1, "offset": 0}
]}]}

A signal flagged with "selector": true is the message's multiplexor switch; signals carrying "mux": N only update when the selector's raw value equals N. Big-endian signals walk MSB-first from the start bit; little-endian signals accumulate LSB-first (Intel layout).

Output Channels

Channels follow the map order: messages first, signals within each message next (selector, plain signals, then multiplexed signals). Physical values are computed as raw * factor + offset.

Pipeline Notes

Select the Binary (raw bytes) decoder with no frame delimiters; the CAN Bus driver delivers one frame per message.