28#if (HAL_USE_CAN == TRUE) || defined(__DOXYGEN__)
37#define CAN_TX_MAILBOXES 1
42#define CAN_RX_MAILBOXES 1
57#if !defined(PLATFORM_CAN_USE_CAN1) || defined(__DOXYGEN__)
58#define PLATFORM_CAN_USE_CAN1 FALSE
80#if defined(CAN_ENFORCE_USE_CALLBACKS) || defined(__DOXYGEN__)
167#if (CAN_ENFORCE_USE_CALLBACKS == FALSE) || defined (__DOXYGEN__)
193#if (CAN_USE_SLEEP_MODE == TRUE) || defined (__DOXYGEN__)
225#if (CAN_USE_SLEEP_MODE == TRUE) || defined (__DOXYGEN__)
243#if (PLATFORM_CAN_USE_CAN1 == TRUE) && !defined(__DOXYGEN__)
263#if CAN_USE_SLEEP_MODE == TRUE
void can_lld_receive(CANDriver *canp, canmbx_t mailbox, CANRxFrame *crfp)
Receives a frame from the input queue.
uint32_t canmbx_t
Type of a transmission mailbox index.
CANDriver CAND1
CAN1 driver identifier.
void can_lld_transmit(CANDriver *canp, canmbx_t mailbox, const CANTxFrame *ctfp)
Inserts a frame into the transmit queue.
void(* can_callback_t)(CANDriver *canp, uint32_t flags)
Type of a CAN notification callback.
void can_lld_abort(CANDriver *canp, canmbx_t mailbox)
Tries to abort an ongoing transmission.
void can_lld_wakeup(CANDriver *canp)
Enforces leaving the sleep mode.
void can_lld_sleep(CANDriver *canp)
Enters the sleep mode.
struct hal_can_config CANConfig
Type of a CAN configuration structure.
void can_lld_init(void)
Low level CAN driver initialization.
struct hal_can_driver CANDriver
Type of a structure representing an CAN driver.
canstate_t
Driver state machine possible states.
void can_lld_stop(CANDriver *canp)
Deactivates the CAN peripheral.
bool can_lld_is_rx_nonempty(CANDriver *canp, canmbx_t mailbox)
Determines whether a frame has been received.
bool can_lld_is_tx_empty(CANDriver *canp, canmbx_t mailbox)
Determines whether a frame can be transmitted.
void can_lld_start(CANDriver *canp)
Configures and activates the CAN peripheral.
struct event_source event_source_t
Type of an event flags object.
uint32_t SID
Standard identifier.
uint8_t IDE
Identifier type.
uint32_t EID
Extended identifier.
uint8_t data8[8]
Frame data.
uint32_t data32[2]
Frame data.
uint16_t data16[4]
Frame data.
uint8_t data8[8]
Frame data.
uint32_t SID
Standard identifier.
uint16_t data16[4]
Frame data.
uint32_t data32[2]
Frame data.
uint32_t EID
Extended identifier.
uint8_t IDE
Identifier type.
Type of a CAN configuration structure.
Structure representing an CAN driver.
const CANConfig * config
Current configuration data.
canstate_t state
Driver state.
event_source_t sleep_event
Entering sleep state event.
event_source_t wakeup_event
Exiting sleep state event.
threads_queue_t txqueue
Transmission threads queue.
event_source_t error_event
A CAN bus error happened.
event_source_t rxfull_event
One or more frames become available.
event_source_t txempty_event
One or more transmission mailbox become available.
threads_queue_t rxqueue
Receive threads queue.