ChibiOS/HAL  6.1.0
hal_can.h File Reference

CAN Driver macros and structures. More...

#include "hal_can_lld.h"

Go to the source code of this file.

Macros

#define CAN_ANY_MAILBOX   0U
 Special mailbox identifier. More...
 
CAN status flags
#define CAN_LIMIT_WARNING   1U
 Errors rate warning. More...
 
#define CAN_LIMIT_ERROR   2U
 Errors rate error. More...
 
#define CAN_BUS_OFF_ERROR   4U
 Bus off condition reached. More...
 
#define CAN_FRAMING_ERROR   8U
 Framing error of some kind on the CAN bus. More...
 
#define CAN_OVERFLOW_ERROR   16U
 Overflow in receive queue. More...
 
CAN configuration options
#define CAN_USE_SLEEP_MODE   TRUE
 Sleep mode related APIs inclusion switch. More...
 
#define CAN_ENFORCE_USE_CALLBACKS   FALSE
 Enforces the driver to use direct callbacks rather than OSAL events. More...
 
Macro Functions
#define CAN_MAILBOX_TO_MASK(mbx)   (1U << ((mbx) - 1U))
 Converts a mailbox index to a bit mask. More...
 
#define canTransmit(canp, mailbox, ctfp, timeout)   canTransmitTimeout(canp, mailbox, ctfp, timeout)
 Legacy name for canTransmitTimeout(). More...
 
#define canReceive(canp, mailbox, crfp, timeout)   canReceiveTimeout(canp, mailbox, crfp, timeout)
 Legacy name for canReceiveTimeout(). More...
 
Low level driver helper macros
#define _can_tx_empty_isr(canp, flags)
 TX mailbox empty event. More...
 
#define _can_rx_full_isr(canp, flags)
 RX mailbox empty full event. More...
 
#define _can_wakeup_isr(canp)
 Error event. More...
 
#define _can_error_isr(canp, flags)
 Error event. More...
 

Enumerations

Functions

void canInit (void)
 CAN Driver initialization. More...
 
void canObjectInit (CANDriver *canp)
 Initializes the standard part of a CANDriver structure. More...
 
void canStart (CANDriver *canp, const CANConfig *config)
 Configures and activates the CAN peripheral. More...
 
void canStop (CANDriver *canp)
 Deactivates the CAN peripheral. More...
 
bool canTryTransmitI (CANDriver *canp, canmbx_t mailbox, const CANTxFrame *ctfp)
 Can frame transmission attempt. More...
 
bool canTryReceiveI (CANDriver *canp, canmbx_t mailbox, CANRxFrame *crfp)
 Can frame receive attempt. More...
 
msg_t canTransmitTimeout (CANDriver *canp, canmbx_t mailbox, const CANTxFrame *ctfp, sysinterval_t timeout)
 Can frame transmission. More...
 
msg_t canReceiveTimeout (CANDriver *canp, canmbx_t mailbox, CANRxFrame *crfp, sysinterval_t timeout)
 Can frame receive. More...
 

Detailed Description

CAN Driver macros and structures.

Definition in file hal_can.h.