# Scope This document doesn't claim to specifiy the complete [Vector DBC standard](http://vector.com/vi_candb_en.html) # Format description `<...>`: Required field `[...]`: Optional field `|`: Or (eg. ) # Supported Keywords ## VERSION Version identifier of the DBC file. Format: `VERSION ""` ## NS_ Names used throughout the DBC file. Format:: ``` NS_: BS_ CM_ ... ``` ## BS_ Bus configuration. Format:: `BS_: ` Speed in kBit/s ## BU_ List of all CAN-Nodes, seperated by whitespaces. ## BO_ Message definition. Format: `BO_ : ` MessageLength in bytes. ## SG_ Signal definition. Format: `SG_ [M|m] : |@ (,) [|] "[Unit]" [ReceivingNodes]` Length in bits. Signed: + = unsigned; - = signed Endianness: 1 = little-endian, Intel; 0 = big-endian, Motorola M: If M than this signals contains a multiplexer identifier. MultiplexerIdentifier: Signal definition is only used if the value of the multiplexer signal equals to this value. ## CM_ Description field. Format: `CM_ [ [CAN-ID] [SignalName]] "";` ## BA_DEF_ Attribute definition. Format: `BA_DEF_ [BU_|BO_|SG_] "" [Config];` DataType | Description | Config format ---------|---------------------|---------------- INT | integer | ` ` FLOAT | floating point | ` ` STRING | string | ENUM | enumeration | `"",""...` ## BA_DEF_DEF_ Attribute default value Format: `BA_DEF_DEF_ "" ["]["];` ## BA_ Attribute Format: `BA_ "" [BU_|BO_|SG_] [Node|CAN-ID] [SignalName] ;` ## VAL_ Value definitions for signals. Format: `VAL_ ;` ## VAL_TABLE_ Value table definition for signals. Format: `VAL_TABLE_ ;` ValueTableDefinition: List of `IntValue "StringValue"` Pairs, seperated by whitespaces ## BO_TX_BU_ Transmitter for signals. Format: `BO_TX_BU_ : [BU_ seperated by commas]` ## SIG_GROUP_ Group signals assigned to one can-id. I guess it makes it easier to parse and assign the correct signals like this. Format: `SIG_GROUP_ : [Signal];` # Attributes In this sections are standard attributes used by [CANpy](https://github.com/stefanhoelzl/CANpy) defined. The attributes can be overwritten within a DBC file. ## Message Attributes ### GenMsgSendType Defines the send type of a message. Supported types: * cyclic * triggered * cyclicIfActive * cyclicAndTriggered * cyclicIfActiveAndTriggered * none Definition: `BA_DEF BO_ "GenMsgSendType" ENUM "cyclic","triggered","cyclicIfActive","cyclicAndTriggered","cyclicIfActiveAndTriggered","none"` Default: none Definition: `BA_DEF_DEF "GenMsgSendType" "none"` ### GenMsgCycleTime Defines the cycle time of a message in ms. Definition: `BA_DEF BO_ "GenMsgCycleTime" INT 0 0` Default: 0 Definition: `BA_DEF_DEF "GenMsgCycleTime" 0` ### GenMsgStartDelayTime Defines the allowed delay after startup this message must occure the first time in ms. Definition: `BA_DEF BO_ "GenMsgStartDelayTime" INT 0 0` Default: 0 (=GenMsgCycleTime) Definition: `BA_DEF_DEF "GenMsgStartDelayTime" 0` ### GenMsgDelayTime Defines the allowed delay for a message in ms. Definition: `BA_DEF BO_ "GenMsgDelayTime" INT 0 0` Default: 0 Definition: `BA_DEF_DEF "GenMsgDelayTime" 0` ## Signal Attributes ### GenSigStartValue Defines the value as long as no value is set/received for this signal. Definition: `BA_DEF SG_ "GenSigStartValue" INT 0 0` Default: 0 Definition: `BA_DEF_DEF "GenSigStartValue" 0` # Sources