ChibiOS/HAL  6.1.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  CANConfig
 Driver configuration structure. More...
 
struct  CANDriver
 Structure representing an CAN driver. More...
 

Macros

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

Typedefs

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

Functions

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

Detailed Description

PLATFORM CAN subsystem low level driver header.

Definition in file hal_can_lld.h.