Skip to content

DBC format specifications and rules

Andrea Galbiati edited this page Sep 2, 2024 · 1 revision

Reference documentation

When starting this project we had a very hard time finding full dbc specifications. The most complete resource we could find is this one which provides quite clear (and strict) rules for fomatting the most common dbc keywords.

Beside the spec document we also use CANdb++ the official Vector software. This software sometimes allows behaviors that the specifications do not allow. As an example, the specs state that a message transmitter should be explicitly listed among nodes or should have the special value Vector__XXX. CANdb++ allora for messages having unlisted nodes. The behavior is that the node list is dynamically updated

The following should be incorrect

BU_: 
BO_ 1160 MessageName: 4 NodeName

but works with no exceptios in CANdb++, which will show NodeName among nodes.

When possible we tried to adhere to the strict standard, but with some pragmatism we usually have a look to CANDdb++ and mimic it if reasonable

Important

Sometimes we can't mimic CANdb++ because we have some more limitations based on the fect that we are not a UI based software, but a library and we can't provide visual tips, we sometimes have to decide if we have to fail or not with no in between solutions

Currently supported keywords

  • BU_
  • BO_
  • SG_
  • BA_DEF_, BA_DEF_DEF_, BA_
  • CM_
  • EV_
  • VAL_
  • VAL_TABLE_
  • SIG_VALTYPE_
Clone this wiki locally