Astra MCU SDK Peripheral Driver Library
Loading...
Searching...
No Matches

Functions for CAN driver. More...

Functions

can_status_en can_init (can_instance_en id)
can_status_en can_configure (can_instance_en id, const can_config_t *config)
can_status_en can_deinit (can_instance_en id)
can_status_en can_enable (can_instance_en id)
can_status_en can_disable (can_instance_en id)
can_status_en can_tx (can_instance_en id, bool high_priority, const can_tx_frame_t *frame, const can_tx_schedule_time_t *time, can_tx_handler_t callback, void *callback_param)
can_status_en can_rx_subscribe (can_instance_en id, const can_rx_filter_t *filter, can_rx_handler_t callback, void *callback_param, int *subid)
can_status_en can_rx_unsubscribe (can_instance_en id, int sub_id)
can_status_en can_set_speed (can_instance_en id, int cl, int fd, int cl_sample, int fd_sample)
can_status_en can_set_timestamp_sample_handler (can_instance_en id, can_timestamp_handler_t callback, void *callback_param)
can_status_en can_get_timestamp (can_instance_en id, uint32_t *ts_l, uint32_t *ts_h, uint32_t *ts_res_ns)
can_status_en can_set_driver_buffer (can_instance_en id, void *buffer, size_t size)
can_status_en can_enable_interrupt (can_instance_en id, uint32_t mask)
can_status_en can_enable_all_interrupts (can_instance_en id)
can_status_en can_disable_interrupt (can_instance_en id, uint32_t mask)
can_status_en can_disable_all_interrupts (can_instance_en id)
can_status_en can_clear_interrupt (can_instance_en id, uint32_t mask)
can_status_en can_clear_all_interrupts (can_instance_en id)

Detailed Description

Functions for CAN driver.

Function Documentation

◆ can_init()

Initialize a CAN instance and reset its software context.

Parameters
idCAN controller identifier.
Returns
can_status_en Status code indicating success or reason for failure.

◆ can_configure()

can_status_en can_configure ( can_instance_en id,
const can_config_t * config )

Configure driver-owned resources and controller runtime state.

Parameters
idCAN controller identifier.
configOptional runtime configuration, or NULL to reuse current defaults.
Returns
can_status_en Status code indicating success or reason for failure.

◆ can_deinit()

can_status_en can_deinit ( can_instance_en id)

Deinitialize a CAN instance and release driver-owned resources.

Parameters
idCAN controller identifier.
Returns
can_status_en Status code indicating success or reason for failure.

◆ can_enable()

can_status_en can_enable ( can_instance_en id)

Enable CAN controller operation.

Parameters
idCAN controller identifier.
Returns
can_status_en Status code indicating success or reason for failure.

◆ can_disable()

can_status_en can_disable ( can_instance_en id)

Disable CAN controller operation.

Parameters
idCAN controller identifier.
Returns
can_status_en Status code indicating success or reason for failure.

◆ can_tx()

can_status_en can_tx ( can_instance_en id,
bool high_priority,
const can_tx_frame_t * frame,
const can_tx_schedule_time_t * time,
can_tx_handler_t callback,
void * callback_param )

Queue a CAN or CAN FD frame for transmission.

Parameters
idCAN controller identifier.
high_prioritytrue to use the high-priority TX FIFO, false to use the low-priority TX FIFO.
framePointer to transmit frame descriptor.
timeOptional scheduled transmit timestamp, or NULL for immediate transmission.
callbackOptional completion callback.
callback_paramApplication callback context.
Note
CAN FD payload lengths must be one of 0-8, 12, 16, 20, 24, 32, 48, or 64 bytes. Applications must provide legal descriptor combinations. Completion callbacks execute in CAN ISR context.
Returns
can_status_en Status code indicating success or reason for failure.

◆ can_rx_subscribe()

can_status_en can_rx_subscribe ( can_instance_en id,
const can_rx_filter_t * filter,
can_rx_handler_t callback,
void * callback_param,
int * subid )

Install an RX filter and subscribe a callback for matching frames.

Parameters
idCAN controller identifier.
filterPointer to the RX filter definition.
callbackCallback invoked for matching received frames.
callback_paramApplication callback context.
subidOutput subscription identifier on success.
Returns
can_status_en Status code indicating success or reason for failure.

◆ can_rx_unsubscribe()

can_status_en can_rx_unsubscribe ( can_instance_en id,
int sub_id )

Remove a previously installed RX subscription.

Parameters
idCAN controller identifier.
sub_idSubscription identifier returned by can_rx_subscribe.
Returns
can_status_en Status code indicating success or reason for failure.

◆ can_set_speed()

can_status_en can_set_speed ( can_instance_en id,
int cl,
int fd,
int cl_sample,
int fd_sample )

Update Classical CAN/CAN FD bitrates and sample points.

Parameters
idCAN controller identifier.
clClassical CAN bitrate in bits per second.
fdCAN FD bitrate in bits per second.
cl_sampleClassical CAN sample point percentage.
fd_sampleCAN FD sample point percentage.
Returns
can_status_en Status code indicating success or reason for failure.

◆ can_set_timestamp_sample_handler()

can_status_en can_set_timestamp_sample_handler ( can_instance_en id,
can_timestamp_handler_t callback,
void * callback_param )

Register a callback for sampled timestamp capture events.

Parameters
idCAN controller identifier.
callbackTimestamp callback function.
callback_paramApplication callback context.
Returns
can_status_en Status code indicating success or reason for failure.

◆ can_get_timestamp()

can_status_en can_get_timestamp ( can_instance_en id,
uint32_t * ts_l,
uint32_t * ts_h,
uint32_t * ts_res_ns )

Read the current timestamp counter and its resolution.

Parameters
idCAN controller identifier.
ts_lOptional output pointer for the lower 32 bits of timestamp.
ts_hOptional output pointer for the upper 32 bits of timestamp.
ts_res_nsOptional output pointer for the timestamp resolution in nanoseconds.
Returns
can_status_en Status code indicating success or reason for failure.

◆ can_set_driver_buffer()

can_status_en can_set_driver_buffer ( can_instance_en id,
void * buffer,
size_t size )

Provide an externally allocated driver buffer block.

Parameters
idCAN controller identifier.
bufferBase address of a 32-byte aligned can_data_t storage block. The memory must be accessible by the CAN hardware and compatible with the platform cache-maintenance policy.
sizeSize of the supplied storage block in bytes.
Returns
can_status_en Status code indicating success or reason for failure.

◆ can_enable_interrupt()

can_status_en can_enable_interrupt ( can_instance_en id,
uint32_t mask )

Enable selected hardware interrupt sources.

Parameters
idCAN controller identifier.
maskInterrupt mask composed from can_interrupt_en values.
Returns
can_status_en Status code indicating success or reason for failure.

◆ can_enable_all_interrupts()

can_status_en can_enable_all_interrupts ( can_instance_en id)

Enable all hardware interrupt sources.

Parameters
idCAN controller identifier.
Returns
can_status_en Status code indicating success or reason for failure.

◆ can_disable_interrupt()

can_status_en can_disable_interrupt ( can_instance_en id,
uint32_t mask )

Disable selected hardware interrupt sources.

Parameters
idCAN controller identifier.
maskInterrupt mask composed from can_interrupt_en values.
Returns
can_status_en Status code indicating success or reason for failure.

◆ can_disable_all_interrupts()

can_status_en can_disable_all_interrupts ( can_instance_en id)

Disable all hardware interrupt sources.

Parameters
idCAN controller identifier.
Returns
can_status_en Status code indicating success or reason for failure.

◆ can_clear_interrupt()

can_status_en can_clear_interrupt ( can_instance_en id,
uint32_t mask )

Clear selected pending hardware interrupt sources.

Parameters
idCAN controller identifier.
maskInterrupt mask composed from can_interrupt_en values.
Returns
can_status_en Status code indicating success or reason for failure.

◆ can_clear_all_interrupts()

can_status_en can_clear_all_interrupts ( can_instance_en id)

Clear all pending hardware interrupt sources.

Parameters
idCAN controller identifier.
Returns
can_status_en Status code indicating success or reason for failure.