Configuration Reference
Normative
The minimum configuration items a conformant CAN driver MUST support (CHI-CAN-MUST-26). This does not fix the configuration toolchain, data structure, or file schema — those are implementation-defined. Vendor-specific extensions are allowed. For a worked example, see Configuration. Ranges marked implementation-defined are bounded by the target hardware.
General
Property |
Type |
Description |
|---|---|---|
|
bool |
If true, development error checking and reporting is enabled (see Errors). |
|
bool |
If true, |
Configuration set and channel
Property |
Type |
Description |
|---|---|---|
|
str |
Name of the configuration set; must be a valid C identifier. |
|
List[Channel] |
Per-channel configurations. Size ≥ 1; maximum is implementation-defined. |
Property |
Type |
Description |
|---|---|---|
|
int |
Logical channel id. Starts at 0, unique within a ConfigSet. |
|
impl-defined |
Hardware channel assigned to this logical channel (typically an integer or HW enum). |
|
EventHandlingMode |
|
|
EventHandlingMode |
|
|
EventHandlingMode |
|
|
int |
CAN channel input clock frequency in Hz (range implementation-defined). |
|
BaudRateConfig | BaudRateConfigFd |
Baudrate configuration for the channel. |
|
List[TxMailbox | RxMailbox] |
Mailbox configurations (size implementation-defined). |
Baudrate configuration
Property |
Type |
Description |
Range |
|---|---|---|---|
|
int |
Identifies this baudrate set (used by |
[0, 65535] |
|
int |
Channel baudrate in kbps. |
[1, 2000] |
|
int |
Propagation delay in time quanta. |
[0, 255] |
|
int |
Phase segment 1 in time quanta. |
[0, 255] |
|
int |
Phase segment 2 in time quanta. |
[0, 255] |
|
int |
Synchronization jump width in time quanta. |
[0, 255] |
|
Literal[‘CAN’] |
Selects classic CAN mode. |
— |
As BaudRateConfig (baud_rate_config_id, baud_rate, prop_seg, seg_1,
seg_2, sync_jump_width), plus:
Property |
Type |
Description |
|---|---|---|
|
FdBaudRateConfig |
CAN FD data-phase baudrate settings. |
|
Literal[‘CANFD’] |
Selects CAN FD mode. |
Property |
Type |
Description |
Range |
|---|---|---|---|
|
int |
Data-phase baudrate in kbps. |
[1, 16000] |
|
bool |
Enable bitrate switching for transmit. |
— |
|
int |
Data-phase bit timing in time quanta. |
[0, 255] |
|
int | null |
Transmitter delay-compensation offset in min. time quanta (optional; for fast bit rates). |
[0, 255] |
Mailboxes and filters
Property |
Type |
Description |
Range |
|---|---|---|---|
|
int |
Mailbox id; starts at 0, consecutive within a ConfigSet. |
[0, impl] |
|
IdType |
Identifier type. |
Standard | Extended | Mixed |
|
int |
Number of hardware objects implementing this TX mailbox. |
[1, 65535] |
|
ObjectPayloadLength |
Payload length of the object. |
8…64 bytes |
|
int | null |
Padding for CAN FD frames > 8 bytes (required when payload > 8 bytes). |
[0, 255] |
|
Literal[‘Transmit’] |
Marks the mailbox as transmit. |
— |
Property |
Type |
Description |
Range |
|---|---|---|---|
|
int |
Mailbox id; starts at 0, consecutive within a ConfigSet. |
[0, impl] |
|
IdType |
Identifier type. |
Standard | Extended | Mixed |
|
int |
Number of hardware objects implementing this RX mailbox. |
[1, 65535] |
|
ObjectPayloadLength |
Payload length of the object. |
8…64 bytes |
|
Literal[‘Receive’] |
Marks the mailbox as receive. |
— |
|
List[HwFilter] |
Acceptance filter configuration (size ≥ 1; maximum implementation-defined). |
— |
Filter types other than BasicHwFilter are allowed as extensions; an extended class must
carry a filter_type literal distinct from Basic.
Property |
Type |
Description |
Range |
|---|---|---|---|
|
int |
Identifier range that passes the filter (with the mask). |
[0, 4294967295] |
|
int |
Mask for hardware-based CAN identifier filtering. |
[0, 4294967295] |
|
Literal[‘Basic’] |
Filter type represented by the class. |
— |