Interface for CAN peripheral.
More...
|
| enum | can_event_t {
CAN_EVENT_RX_COMPLETE,
CAN_EVENT_TX_COMPLETE,
CAN_EVENT_ERR_BUS_OFF,
CAN_EVENT_BUS_RECOVERY,
CAN_EVENT_ERR_PASSIVE,
CAN_EVENT_ERR_WARNING,
CAN_EVENT_MAILBOX_OVERWRITE_OVERRUN = 6,
CAN_EVENT_MAILBOX_OVERRUN = 6
} |
| |
| enum | can_mode_t {
CAN_MODE_NORMAL,
CAN_MODE_HALT,
CAN_MODE_SLEEP,
CAN_MODE_EXIT_SLEEP,
CAN_MODE_RESET,
CAN_MODE_LISTEN,
CAN_MODE_LOOPBACK_INTERNAL,
CAN_MODE_LOOPBACK_EXTERNAL
} |
| |
| enum | can_id_mode_t { CAN_ID_MODE_STANDARD,
CAN_ID_MODE_EXTENDED
} |
| |
| enum | can_frame_type_t { CAN_FRAME_TYPE_DATA,
CAN_FRAME_TYPE_REMOTE
} |
| |
| enum | can_message_mode_t { CAN_MESSAGE_MODE_OVERWRITE,
CAN_MESSAGE_MODE_OVERRUN
} |
| |
| enum | can_clock_source_t { CAN_CLOCK_SOURCE_PCLKB,
CAN_CLOCK_SOURCE_CANMCLK
} |
| |
| enum | can_time_segment1_t {
CAN_TIME_SEGMENT1_TQ4 = 3,
CAN_TIME_SEGMENT1_TQ5,
CAN_TIME_SEGMENT1_TQ6,
CAN_TIME_SEGMENT1_TQ7,
CAN_TIME_SEGMENT1_TQ8,
CAN_TIME_SEGMENT1_TQ9,
CAN_TIME_SEGMENT1_TQ10,
CAN_TIME_SEGMENT1_TQ11,
CAN_TIME_SEGMENT1_TQ12,
CAN_TIME_SEGMENT1_TQ13,
CAN_TIME_SEGMENT1_TQ14,
CAN_TIME_SEGMENT1_TQ15,
CAN_TIME_SEGMENT1_TQ16
} |
| |
| enum | can_time_segment2_t {
CAN_TIME_SEGMENT2_TQ2 = 1,
CAN_TIME_SEGMENT2_TQ3,
CAN_TIME_SEGMENT2_TQ4,
CAN_TIME_SEGMENT2_TQ5,
CAN_TIME_SEGMENT2_TQ6,
CAN_TIME_SEGMENT2_TQ7,
CAN_TIME_SEGMENT2_TQ8
} |
| |
| enum | can_sync_jump_width_t { CAN_SYNC_JUMP_WIDTH_TQ1 = 0,
CAN_SYNC_JUMP_WIDTH_TQ2,
CAN_SYNC_JUMP_WIDTH_TQ3,
CAN_SYNC_JUMP_WIDTH_TQ4
} |
| |
| enum | can_mailbox_send_receive_t { CAN_MAILBOX_RECEIVE,
CAN_MAILBOX_TRANSMIT
} |
| |
| enum | can_command_t { CAN_COMMAND_MODE_SWITCH = 1
} |
| |
Interface for CAN peripheral.
Summary
The CAN interface provides common APIs for CAN HAL drivers. CAN interface supports following features.
- Full-duplex CAN communication
- Generic CAN parameter setting
- Interrupt driven transmit/receive processing
- Callback function support with returning event code
- Hardware resource locking during a transaction
◆ can_ctrl_t
CAN control block. Allocate an instance specific control block to pass into the CAN API calls.
- Implemented as
-
◆ can_id_t
◆ can_clock_source_t
CAN Source Clock
| Enumerator |
|---|
| CAN_CLOCK_SOURCE_PCLKB | PCLB is the source of the CAN Clock.
|
| CAN_CLOCK_SOURCE_CANMCLK | CANMCLK is the source of the CAN Clock.
|
◆ can_command_t
CAN control commands.
| Enumerator |
|---|
| CAN_COMMAND_MODE_SWITCH | Switch CAN operating mode..
|
◆ can_event_t
CAN event codes
| Enumerator |
|---|
| CAN_EVENT_RX_COMPLETE | Receive complete event.
|
| CAN_EVENT_TX_COMPLETE | Transmit complete event.
|
| CAN_EVENT_ERR_BUS_OFF | Bus Off event.
|
| CAN_EVENT_BUS_RECOVERY | Bus Off Recovery event.
|
| CAN_EVENT_ERR_PASSIVE | Error Passive event.
|
| CAN_EVENT_ERR_WARNING | Error Warning event.
|
| CAN_EVENT_MAILBOX_OVERWRITE_OVERRUN | DEPRECATED, Mailbox has been overrun. This event is not used when the mailbox is overwritten.
|
| CAN_EVENT_MAILBOX_OVERRUN | Mailbox has been overrun.
|
◆ can_frame_type_t
CAN frame types
| Enumerator |
|---|
| CAN_FRAME_TYPE_DATA | Data frame type.
|
| CAN_FRAME_TYPE_REMOTE | Remote frame type.
|
◆ can_id_mode_t
CAN ID modes
| Enumerator |
|---|
| CAN_ID_MODE_STANDARD | Standard IDs of 11 bits used.
|
| CAN_ID_MODE_EXTENDED | Extended IDs of 29 bits used.
|
◆ can_mailbox_send_receive_t
CAN Mailbox type
| Enumerator |
|---|
| CAN_MAILBOX_RECEIVE | Mailbox is for receiving.
|
| CAN_MAILBOX_TRANSMIT | Mailbox is for sending.
|
◆ can_message_mode_t
CAN Message Modes
| Enumerator |
|---|
| CAN_MESSAGE_MODE_OVERWRITE | Receive data will be overwritten if not read before the next frame.
|
| CAN_MESSAGE_MODE_OVERRUN | Receive data will be retained until it is read.
|
◆ can_mode_t
CAN Operation modes
| Enumerator |
|---|
| CAN_MODE_NORMAL | CAN Normal Mode.
|
| CAN_MODE_HALT | CAN Halt Mode.
|
| CAN_MODE_SLEEP | CAN SLEEP Mode.
|
| CAN_MODE_EXIT_SLEEP | CAN Exit SLEEP Mode.
|
| CAN_MODE_RESET | CAN Reset Mode.
|
| CAN_MODE_LISTEN | CAN Listen Mode.
|
| CAN_MODE_LOOPBACK_INTERNAL | CAN Internal Loopback Mode.
|
| CAN_MODE_LOOPBACK_EXTERNAL | CAN External Loopback Mode.
|
◆ can_sync_jump_width_t
CAN Synchronization Jump Width Time Quanta
| Enumerator |
|---|
| CAN_SYNC_JUMP_WIDTH_TQ1 | Synchronization Jump Width setting for 1 Time Quanta.
|
| CAN_SYNC_JUMP_WIDTH_TQ2 | Synchronization Jump Width setting for 2 Time Quanta.
|
| CAN_SYNC_JUMP_WIDTH_TQ3 | Synchronization Jump Width setting for 3 Time Quanta.
|
| CAN_SYNC_JUMP_WIDTH_TQ4 | Synchronization Jump Width setting for 4 Time Quanta.
|
◆ can_time_segment1_t
CAN Time Segment 1 Time Quanta
| Enumerator |
|---|
| CAN_TIME_SEGMENT1_TQ4 | Time Segment 1 setting for 4 Time Quanta.
|
| CAN_TIME_SEGMENT1_TQ5 | Time Segment 1 setting for 5 Time Quanta.
|
| CAN_TIME_SEGMENT1_TQ6 | Time Segment 1 setting for 6 Time Quanta.
|
| CAN_TIME_SEGMENT1_TQ7 | Time Segment 1 setting for 7 Time Quanta.
|
| CAN_TIME_SEGMENT1_TQ8 | Time Segment 1 setting for 8 Time Quanta.
|
| CAN_TIME_SEGMENT1_TQ9 | Time Segment 1 setting for 9 Time Quanta.
|
| CAN_TIME_SEGMENT1_TQ10 | Time Segment 1 setting for 10 Time Quanta.
|
| CAN_TIME_SEGMENT1_TQ11 | Time Segment 1 setting for 11 Time Quanta.
|
| CAN_TIME_SEGMENT1_TQ12 | Time Segment 1 setting for 12 Time Quanta.
|
| CAN_TIME_SEGMENT1_TQ13 | Time Segment 1 setting for 13 Time Quanta.
|
| CAN_TIME_SEGMENT1_TQ14 | Time Segment 1 setting for 14 Time Quanta.
|
| CAN_TIME_SEGMENT1_TQ15 | Time Segment 1 setting for 15 Time Quanta.
|
| CAN_TIME_SEGMENT1_TQ16 | Time Segment 1 setting for 16 Time Quanta.
|
◆ can_time_segment2_t
CAN Time Segment 2 Time Quanta
| Enumerator |
|---|
| CAN_TIME_SEGMENT2_TQ2 | Time Segment 2 setting for 2 Time Quanta.
|
| CAN_TIME_SEGMENT2_TQ3 | Time Segment 2 setting for 3 Time Quanta.
|
| CAN_TIME_SEGMENT2_TQ4 | Time Segment 2 setting for 4 Time Quanta.
|
| CAN_TIME_SEGMENT2_TQ5 | Time Segment 2 setting for 5 Time Quanta.
|
| CAN_TIME_SEGMENT2_TQ6 | Time Segment 2 setting for 6 Time Quanta.
|
| CAN_TIME_SEGMENT2_TQ7 | Time Segment 2 setting for 7 Time Quanta.
|
| CAN_TIME_SEGMENT2_TQ8 | Time Segment 2 setting for 8 Time Quanta.
|