ChibiOS/HAL 9.0.0
hal_can_lld.h File Reference

PLATFORM CAN subsystem low level driver header. More...

Go to the source code of this file.

Data Structures

struct  CANTxFrame
 CAN transmission frame. More...
struct  CANRxFrame
 CAN received frame. More...
struct  hal_can_config
 Type of a CAN configuration structure. More...
struct  hal_can_driver
 Structure representing an CAN driver. More...

Macros

#define CAN_TX_MAILBOXES   1
 Number of transmit mailboxes.
#define CAN_RX_MAILBOXES   1
 Number of receive mailboxes.
PLATFORM configuration options
#define PLATFORM_CAN_USE_CAN1   FALSE
 CAN1 driver enable switch.

Typedefs

typedef struct hal_can_driver CANDriver
 Type of a structure representing an CAN driver.
typedef uint32_t canmbx_t
 Type of a transmission mailbox index.
typedef void(* can_callback_t) (CANDriver *canp, uint32_t flags)
 Type of a CAN notification callback.
typedef struct hal_can_config CANConfig
 Type of a CAN configuration structure.

Functions

void can_lld_init (void)
 Low level CAN driver initialization.
void can_lld_start (CANDriver *canp)
 Configures and activates the CAN peripheral.
void can_lld_stop (CANDriver *canp)
 Deactivates the CAN peripheral.
bool can_lld_is_tx_empty (CANDriver *canp, canmbx_t mailbox)
 Determines whether a frame can be transmitted.
void can_lld_transmit (CANDriver *canp, canmbx_t mailbox, const CANTxFrame *ctfp)
 Inserts a frame into the transmit queue.
bool can_lld_is_rx_nonempty (CANDriver *canp, canmbx_t mailbox)
 Determines whether a frame has been received.
void can_lld_receive (CANDriver *canp, canmbx_t mailbox, CANRxFrame *crfp)
 Receives a frame from the input queue.
void can_lld_abort (CANDriver *canp, canmbx_t mailbox)
 Tries to abort an ongoing transmission.
void can_lld_sleep (CANDriver *canp)
 Enters the sleep mode.
void can_lld_wakeup (CANDriver *canp)
 Enforces leaving the sleep mode.

Detailed Description

PLATFORM CAN subsystem low level driver header.

Definition in file hal_can_lld.h.