12 #include "hpm_can_regs.h"
13 #include "hpm_soc_feature.h"
48 #define CAN_EVENT_RECEIVE (CAN_RTIF_RIF_MASK)
49 #define CAN_EVENT_RX_BUF_OVERRUN (CAN_RTIF_ROIF_MASK)
50 #define CAN_EVENT_RX_BUF_FULL (CAN_RTIF_RFIF_MASK)
51 #define CAN_EVENT_RX_BUF_ALMOST_FULL (CAN_RTIF_RAFIF_MASK)
52 #define CAN_EVENT_TX_PRIMARY_BUF (CAN_RTIF_TPIF_MASK)
53 #define CAN_EVENT_TX_SECONDARY_BUF (CAN_RTIF_TSIF_MASK)
54 #define CAN_EVENT_ERROR (CAN_RTIF_EIF_MASK)
55 #define CAN_EVENT_ABORT (CAN_RTIF_AIF_MASK)
60 #define CAN_STB_IS_EMPTY (0U)
61 #define CAN_STB_LESS_EQUAL_HALF_FULL (1U)
62 #define CAN_STB_MORE_THAN_HALF_FULL (2U)
63 #define CAN_STB_IS_FULL (3U)
68 #define CAN_RXBUF_IS_EMPTY (0U)
69 #define CAN_RXBUF_HAS_DATA (1U)
70 #define CAN_RXBUF_ALMOST_FULL (2U)
71 #define CAN_RXBUF_IS_FULL (3U)
77 #define CAN_ERROR_WARNING_LIMIT_FLAG (CAN_ERRINT_EWARN_MASK)
78 #define CAN_ERROR_PASSIVE_MODE_ACTIVE_FLAG (CAN_ERRINT_EPASS_MASK)
79 #define CAN_ERROR_PASSIVE_INT_ENABLE (CAN_ERRINT_EPIE_MASK)
80 #define CAN_ERROR_PASSIVE_INT_FLAG (CAN_ERRINT_EPIF_MASK)
81 #define CAN_ERROR_ARBITRATION_LOST_INT_ENABLE (CAN_ERRINT_ALIE_MASK)
82 #define CAN_ERROR_ARBITRATION_LOST_INT_FLAG (CAN_ERRINT_ALIE_MASK)
83 #define CAN_ERROR_BUS_ERROR_INT_ENABLE (CAN_ERRINT_BEIE_MASK)
84 #define CAN_ERROR_BUS_ERROR_INT_FLAG (CAN_ERRINT_BEIF_MASK)
90 #define CAN_KIND_OF_ERROR_NO_ERROR (0U)
91 #define CAN_KIND_OF_ERROR_BIT_ERROR (1U)
92 #define CAN_KIND_OF_ERROR_FORM_ERROR (2U)
93 #define CAN_KIND_OF_ERROR_STUFF_ERROR (3U)
94 #define CAN_KIND_OF_ERROR_ACK_ERROR (4U)
95 #define CAN_KIND_OF_ERROR_CRC_ERROR (5U)
96 #define CAN_KIND_OF_ERROR_OTHER_ERROR (6U)
97 #define CAN_KIND_OF_ERROR_BUS_OFF (7U)
102 typedef enum _can_mode {
112 typedef enum _can_bit_timing_option {
154 typedef union _can_rx_buf {
160 uint32_t error_state_indicator: 1;
164 uint32_t bitrate_switch: 1;
165 uint32_t canfd_frame: 1;
166 uint32_t remote_frame: 1;
167 uint32_t extend_id: 1;
169 uint32_t loopback_message: 1;
170 uint32_t error_type: 3;
171 uint32_t cycle_time: 16;
180 typedef union _can_tx_buf {
186 uint32_t transmit_timestamp_enable: 1;
190 uint32_t bitrate_switch: 1;
191 uint32_t canfd_frame: 1;
192 uint32_t remote_frame: 1;
193 uint32_t extend_id: 1;
203 typedef enum _can_filter_id_mode {
413 if (select_secondary_buffer) {
484 if (enable_priority_decision) {
558 if (override_enable) {
746 #if defined(CAN_SOC_CANFD_TDC_REQUIRE_STUFF_EXCEPTION_WORKAROUND) && (CAN_SOC_CANFD_TDC_REQUIRE_STUFF_EXCEPTION_WORKAROUND == 1)
794 base->
ACF_EN |= (uint16_t) (1U << index);
805 base->
ACF_EN &= (uint16_t) ~(1U << index);
864 uint32_t src_clk_freq, uint32_t baudrate,
865 uint16_t samplepoint_min, uint16_t samplepoint_max);
879 uint16_t samplepoint_min, uint16_t samplepoint_max,
#define CAN_S_PRESC_S_SEG_2_SET(x)
Definition: hpm_can_regs.h:846
#define CAN_CMD_STA_CMD_CTRL_RSTAT_GET(x)
Definition: hpm_can_regs.h:148
#define CAN_S_PRESC_S_PRESC_SET(x)
Definition: hpm_can_regs.h:824
#define CAN_CMD_STA_CMD_CTRL_TPA_MASK
Definition: hpm_can_regs.h:333
#define CAN_S_PRESC_S_SJW_SET(x)
Definition: hpm_can_regs.h:835
#define CAN_CMD_STA_CMD_CTRL_RREL_MASK
Definition: hpm_can_regs.h:120
#define CAN_F_PRESC_F_SEG_1_SET(x)
Definition: hpm_can_regs.h:902
#define CAN_TDC_TDCEN_SET(x)
Definition: hpm_can_regs.h:942
#define CAN_S_PRESC_S_SEG_1_SET(x)
Definition: hpm_can_regs.h:857
#define CAN_CMD_STA_CMD_CTRL_SACK_MASK
Definition: hpm_can_regs.h:81
#define CAN_EALCAP_ALC_GET(x)
Definition: hpm_can_regs.h:931
#define CAN_CMD_STA_CMD_CTRL_TPSS_MASK
Definition: hpm_can_regs.h:453
#define CAN_CMD_STA_CMD_CTRL_TSALL_MASK
Definition: hpm_can_regs.h:379
#define CAN_CMD_STA_CMD_CTRL_ROV_MASK
Definition: hpm_can_regs.h:107
#define CAN_LIMIT_AFWL_SET(x)
Definition: hpm_can_regs.h:801
#define CAN_CMD_STA_CMD_CTRL_TSSS_MASK
Definition: hpm_can_regs.h:465
#define CAN_F_PRESC_F_PRESC_SET(x)
Definition: hpm_can_regs.h:869
#define CAN_CMD_STA_CMD_CTRL_FD_ISO_MASK
Definition: hpm_can_regs.h:161
#define CAN_CMD_STA_CMD_CTRL_STBY_MASK
Definition: hpm_can_regs.h:292
#define CAN_CMD_STA_CMD_CTRL_LBMI_MASK
Definition: hpm_can_regs.h:441
#define CAN_ERRINT_BEIE_MASK
Definition: hpm_can_regs.h:773
#define CAN_CMD_STA_CMD_CTRL_ROM_MASK
Definition: hpm_can_regs.h:94
#define CAN_CMD_STA_CMD_CTRL_TSSTAT_GET(x)
Definition: hpm_can_regs.h:245
#define CAN_CMD_STA_CMD_CTRL_BUSOFF_MASK
Definition: hpm_can_regs.h:501
#define CAN_ERRINT_EPIE_MASK
Definition: hpm_can_regs.h:732
#define CAN_F_PRESC_F_SEG_2_SET(x)
Definition: hpm_can_regs.h:891
#define CAN_CMD_STA_CMD_CTRL_TSMODE_MASK
Definition: hpm_can_regs.h:202
#define CAN_LIMIT_EWL_SET(x)
Definition: hpm_can_regs.h:812
#define CAN_CMD_STA_CMD_CTRL_TPE_MASK
Definition: hpm_can_regs.h:313
#define CAN_EALCAP_KOER_GET(x)
Definition: hpm_can_regs.h:922
#define CAN_CMD_STA_CMD_CTRL_TSONE_MASK
Definition: hpm_can_regs.h:356
#define CAN_CMD_STA_CMD_CTRL_LBME_MASK
Definition: hpm_can_regs.h:430
#define CAN_CMD_STA_CMD_CTRL_TSNEXT_MASK
Definition: hpm_can_regs.h:184
#define CAN_CMD_STA_CMD_CTRL_LOM_MASK
Definition: hpm_can_regs.h:275
#define CAN_TDC_SSPOFF_SET(x)
Definition: hpm_can_regs.h:954
#define CAN_F_PRESC_F_SJW_SET(x)
Definition: hpm_can_regs.h:880
#define CAN_CMD_STA_CMD_CTRL_RBALL_MASK
Definition: hpm_can_regs.h:132
#define CAN_CMD_STA_CMD_CTRL_TSA_MASK
Definition: hpm_can_regs.h:401
#define CAN_ERRINT_ALIE_MASK
Definition: hpm_can_regs.h:753
#define CAN_CMD_STA_CMD_CTRL_TBSEL_MASK
Definition: hpm_can_regs.h:258
#define CAN_CMD_STA_CMD_CTRL_RESET_MASK
Definition: hpm_can_regs.h:418
static void can_set_node_mode(CAN_Type *base, can_node_mode_t mode)
Set CAN mode.
Definition: hpm_can_drv.h:302
hpm_stat_t can_read_received_message(CAN_Type *base, can_receive_buf_t *message)
Read Received CAN message.
Definition: hpm_can_drv.c:566
static void can_enable_listen_only_mode(CAN_Type *base, bool enable)
Enable CAN listen-only mode.
Definition: hpm_can_drv.h:324
static void can_force_bus_off(CAN_Type *base)
Force CAN controller to Bus-off mode.
Definition: hpm_can_drv.h:287
hpm_stat_t can_send_message_blocking(CAN_Type *base, const can_transmit_buf_t *message)
Send CAN message using blocking transfer.
Definition: hpm_can_drv.c:388
static void can_disable_filter(CAN_Type *base, uint32_t index)
Disable a specified CAN filter.
Definition: hpm_can_drv.h:803
hpm_stat_t can_receive_message_blocking(CAN_Type *base, can_receive_buf_t *message)
Receive CAN message using blocking transfer.
Definition: hpm_can_drv.c:510
static void can_release_receive_buffer(CAN_Type *base)
Release CAN receive buffer.
Definition: hpm_can_drv.h:580
static bool can_is_in_bus_off_mode(CAN_Type *base)
Check whether the CAN is in BUS off mode.
Definition: hpm_can_drv.h:529
static void can_start_message_transmit(CAN_Type *base)
Start CAN message transmit.
Definition: hpm_can_drv.h:443
enum _can_bit_timing_option can_bit_timing_option_t
CAN bit timing options.
static void can_set_warning_limits(CAN_Type *base, uint8_t almost_full_limit, uint8_t error_warning_limit)
Set CAN warning limits.
Definition: hpm_can_drv.h:761
#define CAN_RXBUF_IS_EMPTY
CAN Receive Buffer States.
Definition: hpm_can_drv.h:68
static void can_start_all_message_transmit(CAN_Type *base)
Start CAN all messages transmit.
Definition: hpm_can_drv.h:452
hpm_stat_t can_calculate_bit_timing(uint32_t src_clk_freq, can_bit_timing_option_t option, uint32_t baudrate, uint16_t samplepoint_min, uint16_t samplepoint_max, can_bit_timing_param_t *timing_param)
Calculate the CAN bit timing for CAN BUS.
Definition: hpm_can_drv.c:169
static void can_allow_store_all_data_in_receive_buffer(CAN_Type *base, bool allow)
Allow can store all date in receive buffer.
Definition: hpm_can_drv.h:590
hpm_stat_t can_send_message_nonblocking(CAN_Type *base, const can_transmit_buf_t *message)
Send CAN message using non-blocking transfer.
Definition: hpm_can_drv.c:460
static void can_disable_ptb_retransmission(CAN_Type *base, bool enable)
Disable the re-transmission for the primary transmission buffer.
Definition: hpm_can_drv.h:355
static void can_set_slow_speed_timing(CAN_Type *base, const can_bit_timing_param_t *param)
Configure the Slow Speed Bit timing using low-level interface.
Definition: hpm_can_drv.h:836
hpm_stat_t can_init(CAN_Type *base, can_config_t *config, uint32_t src_clk_freq)
Initialize the CAN controller.
Definition: hpm_can_drv.c:655
static void can_clear_tx_rx_flags(CAN_Type *base, uint8_t flags)
Clear CAN TX/RX flags.
Definition: hpm_can_drv.h:659
hpm_stat_t can_send_high_priority_message_blocking(CAN_Type *base, const can_transmit_buf_t *message)
Send high-priority message using blocking transfer.
Definition: hpm_can_drv.c:431
static void can_enter_standby_mode(CAN_Type *base, bool enable)
Enter CAN standby mode.
Definition: hpm_can_drv.h:340
enum _can_mode can_node_mode_t
CAN loopback types.
static uint8_t can_get_tx_rx_flags(CAN_Type *base)
Get CAN TX/RX flags.
Definition: hpm_can_drv.h:670
static uint8_t can_get_secondary_transmit_buffer_status(CAN_Type *base)
Get CAN secondary transmit buffer status.
Definition: hpm_can_drv.h:497
void can_deinit(CAN_Type *base)
De-initialize the CAN controller.
Definition: hpm_can_drv.c:778
static uint8_t can_get_transmit_error_count(CAN_Type *base)
Get CAN transmit error count.
Definition: hpm_can_drv.h:781
static void can_disable_error_irq(CAN_Type *base, uint8_t mask)
Disable CAN error interrupt.
Definition: hpm_can_drv.h:691
static uint8_t can_get_receive_buffer_status(CAN_Type *base)
Get CAN receive buffer status.
Definition: hpm_can_drv.h:604
static void can_start_high_priority_message_transmit(CAN_Type *base)
Start CAN high priority message transmit.
Definition: hpm_can_drv.h:425
static void can_enable_self_ack(CAN_Type *base, bool enable)
Enable can self ack.
Definition: hpm_can_drv.h:540
static uint8_t can_get_receive_error_count(CAN_Type *base)
Get CAN receive error count.
Definition: hpm_can_drv.h:771
static void can_enable_can_fd_iso_mode(CAN_Type *base, bool enable)
Enable CAN FD ISO mode.
Definition: hpm_can_drv.h:625
static uint8_t can_get_last_error_kind(CAN_Type *base)
Get last CAN error kind.
Definition: hpm_can_drv.h:722
static void can_set_fast_speed_timing(CAN_Type *base, const can_bit_timing_param_t *param)
Configure the Fast Speed Bit timing using low-level interface.
Definition: hpm_can_drv.h:847
static void can_enable_error_irq(CAN_Type *base, uint8_t mask)
Enable CAN error interrupt.
Definition: hpm_can_drv.h:680
static void can_enable_filter(CAN_Type *base, uint32_t index)
Enable a specified CAN filter.
Definition: hpm_can_drv.h:792
static bool can_is_stb_retransmission_disabled(CAN_Type *base)
Check whether re-transmission is disabled for STB or not.
Definition: hpm_can_drv.h:398
static void can_switch_to_next_tx_buffer(CAN_Type *base)
Switch to next CAN tx buffer.
Definition: hpm_can_drv.h:470
hpm_stat_t can_send_high_priority_message_nonblocking(CAN_Type *base, const can_transmit_buf_t *message)
Send high-priority message using non-blocking transfer.
Definition: hpm_can_drv.c:486
static uint8_t can_get_last_arbitration_lost_position(CAN_Type *base)
Get CAN last arbitrary lost position.
Definition: hpm_can_drv.h:732
static void can_abort_high_priority_message_transmit(CAN_Type *base)
Abort CAN high priority message transmit.
Definition: hpm_can_drv.h:434
static void can_reset(CAN_Type *base, bool enable)
Reset CAN controller.
Definition: hpm_can_drv.h:274
static void can_set_transmitter_delay_compensation(CAN_Type *base, uint8_t sample_point, bool enable)
Set CAN transmitter delay compensation.
Definition: hpm_can_drv.h:744
hpm_stat_t can_get_default_config(can_config_t *config)
Get default CAN configuration parameters.
Definition: hpm_can_drv.c:618
static void can_select_tx_buffer(CAN_Type *base, bool select_secondary_buffer)
Select CAN TX buffer.
Definition: hpm_can_drv.h:411
static uint8_t can_get_error_interrupt_flags(CAN_Type *base)
Get CAN error interrupt flags.
Definition: hpm_can_drv.h:701
static bool can_is_receive_buffer_overflow(CAN_Type *base)
Check whether CAN receive buffer is overflow.
Definition: hpm_can_drv.h:570
static void can_enable_tx_rx_irq(CAN_Type *base, uint8_t mask)
Enable CAN TX/RX interrupt.
Definition: hpm_can_drv.h:639
hpm_stat_t can_set_bit_timing(CAN_Type *base, can_bit_timing_option_t option, uint32_t src_clk_freq, uint32_t baudrate, uint16_t samplepoint_min, uint16_t samplepoint_max)
Configure the CAN bit timing for CAN BUS.
Definition: hpm_can_drv.c:265
static void can_select_tx_buffer_priority_mode(CAN_Type *base, bool enable_priority_decision)
Select CAN tx buffer priority mode.
Definition: hpm_can_drv.h:482
#define CAN_STB_IS_FULL
Definition: hpm_can_drv.h:63
static void can_clear_error_interrupt_flags(CAN_Type *base, uint8_t flags)
Get CAN clear interrupt flags.
Definition: hpm_can_drv.h:711
static bool can_is_ptb_retransmission_disabled(CAN_Type *base)
Check whether re-transmission is disabled for PTB or not.
Definition: hpm_can_drv.h:371
hpm_stat_t can_set_filter(CAN_Type *base, const can_filter_config_t *config)
Configure the acceptable filter.
Definition: hpm_can_drv.c:296
static bool can_is_data_available_in_receive_buffer(CAN_Type *base)
Check whether there are data available in receive buffer.
Definition: hpm_can_drv.h:614
static void can_disable_tx_rx_irq(CAN_Type *base, uint8_t mask)
Disable CAN TX/RX interrupt.
Definition: hpm_can_drv.h:649
static void can_disable_stb_retransmission(CAN_Type *base, bool enable)
Disable the re-transmission for the secondary transmission buffer.
Definition: hpm_can_drv.h:382
static void can_abort_message_transmit(CAN_Type *base)
Abort CAN message transmit.
Definition: hpm_can_drv.h:461
union _can_rx_buf can_receive_buf_t
CAN receive buffer data structure.
static bool can_is_primary_transmit_buffer_full(CAN_Type *base)
Check whether the primary transmit buffer is full.
Definition: hpm_can_drv.h:507
static bool can_is_secondary_transmit_buffer_full(CAN_Type *base)
Check whether the secondary transmit buffer is full.
Definition: hpm_can_drv.h:517
union _can_tx_buf can_transmit_buf_t
CAN transmit buffer data structure.
static void can_set_receive_buffer_overflow_mode(CAN_Type *base, bool override_enable)
Set CAN receive buffer overflow mode.
Definition: hpm_can_drv.h:556
enum _can_filter_id_mode can_filter_id_mode_t
CAN acceptance filter modes.
@ status_can_crc_error
Definition: hpm_can_drv.h:37
@ status_can_form_error
Definition: hpm_can_drv.h:34
@ status_can_filter_index_invalid
Definition: hpm_can_drv.h:40
@ status_can_ack_error
Definition: hpm_can_drv.h:36
@ status_can_stuff_error
Definition: hpm_can_drv.h:35
@ status_can_tx_fifo_full
Definition: hpm_can_drv.h:39
@ status_can_invalid_bit_timing
Definition: hpm_can_drv.h:42
@ status_can_filter_num_invalid
Definition: hpm_can_drv.h:41
@ status_can_bit_error
Definition: hpm_can_drv.h:33
@ status_can_other_error
Definition: hpm_can_drv.h:38
@ can_payload_size_32
Definition: hpm_can_drv.h:135
@ can_payload_size_8
Definition: hpm_can_drv.h:130
@ can_payload_size_4
Definition: hpm_can_drv.h:126
@ can_payload_size_48
Definition: hpm_can_drv.h:136
@ can_payload_size_64
Definition: hpm_can_drv.h:137
@ can_payload_size_2
Definition: hpm_can_drv.h:124
@ can_payload_size_20
Definition: hpm_can_drv.h:133
@ can_payload_size_5
Definition: hpm_can_drv.h:127
@ can_payload_size_24
Definition: hpm_can_drv.h:134
@ can_payload_size_1
Definition: hpm_can_drv.h:123
@ can_payload_size_16
Definition: hpm_can_drv.h:132
@ can_payload_size_6
Definition: hpm_can_drv.h:128
@ can_payload_size_7
Definition: hpm_can_drv.h:129
@ can_payload_size_3
Definition: hpm_can_drv.h:125
@ can_payload_size_max
Definition: hpm_can_drv.h:138
@ can_payload_size_0
Definition: hpm_can_drv.h:122
@ can_payload_size_12
Definition: hpm_can_drv.h:131
uint32_t hpm_stat_t
Definition: hpm_common.h:126
#define MAKE_STATUS(group, code)
Definition: hpm_common.h:135
#define IS_HPM_BITMASK_SET(val, mask)
Definition: hpm_common.h:61
@ status_group_can
Definition: hpm_common.h:157
@ can_filter_id_mode_standard_frames
Definition: hpm_can_drv.h:205
@ can_mode_loopback_external
Definition: hpm_can_drv.h:105
@ can_mode_normal
Definition: hpm_can_drv.h:103
@ can_bit_timing_canfd_nominal
Definition: hpm_can_drv.h:114
@ can_mode_listen_only
Definition: hpm_can_drv.h:106
@ can_filter_id_mode_both_frames
Definition: hpm_can_drv.h:204
@ can_mode_loopback_internal
Definition: hpm_can_drv.h:104
@ can_filter_id_mode_extended_frames
Definition: hpm_can_drv.h:206
@ can_bit_timing_canfd_data
Definition: hpm_can_drv.h:115
@ can_bit_timing_can2_0
Definition: hpm_can_drv.h:113
Definition: hpm_can_regs.h:12
__RW uint32_t S_PRESC
Definition: hpm_can_regs.h:21
__RW uint32_t F_PRESC
Definition: hpm_can_regs.h:22
__R uint8_t EALCAP
Definition: hpm_can_regs.h:23
__RW uint8_t LIMIT
Definition: hpm_can_regs.h:20
__RW uint32_t CMD_STA_CMD_CTRL
Definition: hpm_can_regs.h:16
__R uint8_t TECNT
Definition: hpm_can_regs.h:26
__RW uint16_t ACF_EN
Definition: hpm_can_regs.h:29
__W uint8_t RTIF
Definition: hpm_can_regs.h:18
__R uint8_t RECNT
Definition: hpm_can_regs.h:25
__RW uint8_t RTIE
Definition: hpm_can_regs.h:17
__RW uint8_t TDC
Definition: hpm_can_regs.h:24
__RW uint8_t ERRINT
Definition: hpm_can_regs.h:19
CAN Bit timing parameters.
Definition: hpm_can_drv.h:144
uint16_t prescaler
Definition: hpm_can_drv.h:145
uint16_t num_sjw
Definition: hpm_can_drv.h:148
uint16_t num_seg2
Definition: hpm_can_drv.h:147
uint16_t num_seg1
Definition: hpm_can_drv.h:146
CAN configuration.
Definition: hpm_can_drv.h:223
bool enable_tdc
Definition: hpm_can_drv.h:249
uint8_t irq_error_enable_mask
Definition: hpm_can_drv.h:255
bool enable_canfd
Definition: hpm_can_drv.h:245
uint32_t baudrate
Definition: hpm_can_drv.h:226
can_filter_config_t * filter_list
Definition: hpm_can_drv.h:252
uint16_t can20_samplepoint_max
Definition: hpm_can_drv.h:231
uint8_t irq_txrx_enable_mask
Definition: hpm_can_drv.h:254
bool enable_can_fd_iso_mode
Definition: hpm_can_drv.h:257
can_bit_timing_param_t can_timing
Definition: hpm_can_drv.h:238
bool enable_self_ack
Definition: hpm_can_drv.h:246
uint16_t canfd_samplepoint_min
Definition: hpm_can_drv.h:233
bool disable_ptb_retransmission
Definition: hpm_can_drv.h:247
uint32_t baudrate_fd
Definition: hpm_can_drv.h:227
bool use_lowlevel_timing_setting
Definition: hpm_can_drv.h:244
can_node_mode_t mode
Definition: hpm_can_drv.h:243
uint16_t can20_samplepoint_min
Definition: hpm_can_drv.h:229
bool enable_tx_buffer_priority_mode
Definition: hpm_can_drv.h:256
can_bit_timing_param_t canfd_timing
Definition: hpm_can_drv.h:239
uint16_t canfd_samplepoint_max
Definition: hpm_can_drv.h:235
bool disable_stb_retransmission
Definition: hpm_can_drv.h:248
uint8_t filter_list_num
Definition: hpm_can_drv.h:251
CAN acceptance filter configuration.
Definition: hpm_can_drv.h:212
bool enable
Definition: hpm_can_drv.h:215
can_filter_id_mode_t id_mode
Definition: hpm_can_drv.h:214
uint16_t index
Definition: hpm_can_drv.h:213
uint32_t code
Definition: hpm_can_drv.h:216
uint32_t mask
Definition: hpm_can_drv.h:217