Skip to content

BMCLI dbc

DBC-specific inspection and signal conversion. dbc load is the typed shortcut for database load and registers the same persistent resource object. It is not an alias for the entire database category.

Terminal window
bmcli dbc load --file=network.dbc --name=vehicle

Decode raw CAN data into signal values. Select a registered resource by name, or pass a DBC path directly. If exactly one DBC is registered it is selected automatically; multiple registered DBCs require an explicit selector.

Terminal window
bmcli dbc decode --database=vehicle --message=EngineStatus --data="00 10 5C 00"
bmcli dbc decode --dbc=network.dbc --message=0x200 --data="00 10 5C 00"
Option Description
--database Registered DBC name or direct DBC path
--dbc Direct DBC path for this invocation
--message Message name or CAN ID (required)
--data Raw hex data bytes (required)

Encode signal values into raw CAN bytes.

Terminal window
# Preferred: --signal=Name=Value (consistent with 'message send')
bmcli dbc encode --database=vehicle --message=EngineStatus --signal=EngineSpeed=1500 --signal=EngineTemp=85
# Auto-load DBC
bmcli dbc encode --dbc=network.dbc --message=EngineStatus --signal=EngineSpeed=1500 --signal=EngineTemp=85
# Positional assignments are also accepted
bmcli dbc encode --database=vehicle --message=EngineStatus EngineSpeed=1500 EngineTemp=85

Signal values may be given as --signal=Name=Value (preferred) or as positional Name=Value pairs. --signal= is the canonical form and matches message send. JSON output includes extended, fd, and brs. BMCLI preserves DBC VFrameFormat and CANFD_BRS; message send uses those values as the default IDE/FDF/BRS flags unless --flags is explicitly supplied.

Inspect normalized DBC metadata without touching hardware.

Terminal window
bmcli dbc message list --database=vehicle --format=json
bmcli dbc message list Engine --database=vehicle
bmcli dbc message show EngineStatus --database=vehicle --format=json
bmcli dbc signal list --message=EngineStatus --database=vehicle --format=json
bmcli dbc signal show --message=EngineStatus EngineSpeed --database=vehicle --format=json

Message output includes extended-ID, CAN FD, and BRS attributes. Signal output includes bit layout, endianness, signedness, scaling, range, unit, and multiplexing metadata. database decode, database encode, and unscoped dbc list are intentionally not commands: use the typed DBC operations above.


Source of truth: bmcli_reference.md in the BMCLI repository. Run bmcli help <category> <action> --format=json for the exact contract of the installed version.