36#ifndef CAN_MAX_RATE_ERROR
41#define CAN_MAX_RATE_ERROR (50)
48#define CAN_DLL_NUMOF (1)
56#if defined(MODULE_CAN_TRX) || defined(DOXYGEN)
59#if defined(MODULE_FDCAN)
62#if defined(MODULE_CAN_PM) || defined(DOXYGEN)
76#if defined(MODULE_CAN_TRX) || defined(DOXYGEN)
79#if defined(MODULE_FDCAN)
82#if defined(MODULE_CAN_PM) || defined(DOXYGEN)
CAN generic transceiver interface.
Definitions for low-level CAN driver interface.
int16_t kernel_pid_t
Unique process identifier.
struct can_trx can_trx_t
Generic transceiver descriptor.
struct candev candev_t
Forward declaration for candev struct.
Scheduler API definition.
CAN hardware-dependent bit-timing constant.
CAN bit-timing parameters.
candev descriptor to pass to the device thread
int ifnum
interface number
uint32_t last_pm_update
time when the pm was updated
const char * name
device name
uint32_t last_pm_value
last pm timer value set
uint32_t tx_wakeup_timeout
Min timeout loaded when a frame is sent.
ztimer_t pm_timer
timer for power management
uint32_t rx_inactivity_timeout
Min timeout loaded when a frame is received.
can_trx_t * trx
transceiver attached to the device
Parameters to initialize a candev.
uint32_t tx_wakeup_timeout
power management tx wake up value
uint32_t rx_inactivity_timeout
power management rx timeout value
can_trx_t * trx
transceiver to set
const char * name
candev name to set
kernel_pid_t can_device_init(char *stack, int stacksize, char priority, const char *name, candev_dev_t *params)
Initialize a CAN device thread.
int can_device_calc_bittiming(uint32_t clock, const struct can_bittiming_const *timing_const, struct can_bittiming *bittiming)
Fill in a bittiming structure from bittiming->bitrate and timing_const.
struct candev_params candev_params_t
Parameters to initialize a candev.
struct candev_dev candev_dev_t
candev descriptor to pass to the device thread