ELIOT1 HAL
Загрузка...
Поиск...
Не найдено
hal_can.h
См. документацию.
1
20#ifndef HAL_CAN_H
21#define HAL_CAN_H
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27#include "hal_common.h"
28
32#define HAL_CAN_DRIVER_VERSION (MAKE_VERSION(1, 1, 0))
33
47
65
95
104
112
134
135#if defined(__CC_ARM)
136#pragma anon_unions
137#endif
138
142typedef struct _can_tx_buffer_frame {
143 struct {
144 uint32_t id : 29;
145 uint32_t : 2;
146 bool ttsen : 1;
147 };
148 struct {
150 bool brs : 1;
151 bool fdf : 1;
152 bool rtr : 1;
153 bool ide : 1;
154 uint32_t : 24;
155 };
156 uint8_t data[64];
158
162typedef struct _can_rx_buffer_frame {
163 struct {
164 uint32_t id : 29;
165 uint32_t : 2;
166 bool esi : 1;
167 };
168 struct {
170 bool brs : 1;
171 bool fdf : 1;
172 bool rtr : 1;
173 bool ide : 1;
174 uint32_t : 4;
175 bool tx : 1;
177 uint32_t cycle_time : 16;
178 };
179 uint8_t data[64];
180 uint64_t rts;
182
186typedef struct _can_frame_filter {
187 uint32_t id : 29;
188 uint32_t : 3;
189 uint32_t mask : 29;
190 uint32_t accepted_ide : 1;
191 uint32_t enable_ide_check : 1;
192 uint32_t : 1;
194
198#define CAN_NB_OF_FILTERS 4
199
207
217
228
244
260
267
275
284
299
308
316
321
325typedef void (*can_transfer_callback_t)(CAN_Type *base, can_handle_t *handle,
326 can_status_t status, can_flag_t interrupt_flag, void *user_data);
327
347
362can_status_t CAN_Init(CAN_Type *base, const can_config_t *config);
363
371void CAN_Deinit(CAN_Type *base);
372
379void CAN_GetDefaultConfig(can_config_t *config, uint32_t source_clock_hz);
380
389void CAN_EnterNormalMode(CAN_Type *base);
390
396void CAN_EnterStandbyMode(CAN_Type *base);
397
421 uint32_t baudrate_data, uint32_t source_clock_hz,
422 can_timing_config_t *pconfig);
423
431 const can_timing_config_t *config);
432
441 const can_ptb_config_t *config);
442
450 const can_stb_config_t *config);
451
458void CAN_SetRxBufferConfig(CAN_Type *base, const can_rxb_config_t *config);
459
466void CAN_SetFilterConfig(CAN_Type *base,
467 const can_frame_filter_config_t *config);
468
475void CAN_SetTTCANConfig(CAN_Type *base, const ttcan_config_t *config);
476
498bool CAN_GetStatusFlag(CAN_Type *base, can_flag_t idx, can_status_t *status);
499
507uint32_t CAN_GetStatusFlagMask(CAN_Type *base);
508
519
529void CAN_ClearStatusFlagMask(CAN_Type *base, uint32_t mask);
530
550
557void CAN_EnableInterruptMask(CAN_Type *base, uint32_t mask);
558
570bool CAN_IsInterruptEnabled(CAN_Type *base, can_flag_t idx,
571 can_status_t *status);
572
584uint32_t CAN_GetEnabledInterruptMask(CAN_Type *base);
585
596
603void CAN_DisableInterruptMask(CAN_Type *base, uint32_t mask);
604
626
640
651bool CAN_IsSecondaryTxBufferEmpty(CAN_Type *base);
652
665
676bool CAN_IsSecondaryTxBufferFull(CAN_Type *base);
677
694 const can_tx_buffer_frame_t *ptxframe);
695
710 const can_tx_buffer_frame_t *ptxframe);
711
717void CAN_AbortPrimaryTxBuffer(CAN_Type *base);
718
731void CAN_AbortSecondaryTxBuffer(CAN_Type *base);
732
743bool CAN_IsRxBufferEmpty(CAN_Type *base);
744
756bool CAN_IsRxBufferAlmostFull(CAN_Type *base);
757
768bool CAN_IsRxBufferFull(CAN_Type *base);
769
783
807 can_tx_buffer_frame_t *ptxframe, size_t nb_frames);
808
823 can_tx_buffer_frame_t *ptxframe, size_t nb_frames);
824
839 can_rx_buffer_frame_t *prxframe, size_t nb_frames);
840
853 can_transfer_callback_t callback, void *user_data);
854
871 can_handle_t *handle, can_tx_transfer_t *xfer);
872
888 can_handle_t *handle, uint32_t *nb_frames);
889
896void CAN_TransferAbortSendPrimary(CAN_Type *base, can_handle_t *handle);
897
914 can_handle_t *handle, can_tx_transfer_t *xfer);
915
931 can_handle_t *handle, uint32_t *nb_frames);
932
939void CAN_TransferAbortSendSecondary(CAN_Type *base, can_handle_t *handle);
940
957 can_handle_t *handle, can_rx_transfer_t *xfer);
958
970 can_handle_t *handle, uint32_t *nb_frames);
971
978void CAN_TransferAbortReceive(CAN_Type *base, can_handle_t *handle);
979
987void CAN_TransferHandleIRQ(CAN_Type *base, can_handle_t *handle);
988
993#ifdef __cplusplus
994}
995#endif
996
997#endif /* HAL_CAN_H */
998
bool CAN_IsPrimaryTransmitRequestPending(CAN_Type *base)
Получение признака требования выдачи для высокоприоритетного буфера
_canfd_mode
Режимы работы по протоколу CAN FD (есть отличия в расчете контрольной суммы и формировании битов стаф...
Definition hal_can.h:100
_can_bytes_in_datafield
Размер данных кадра CAN, указываемый в поле DLC.
Definition hal_can.h:116
void CAN_TransferHandleIRQ(CAN_Type *base, can_handle_t *handle)
Установка обработчика на прерывания от CAN, не связанные с приемом/выдачей
can_status_t CAN_TransferReceiveFifoBlocking(CAN_Type *base, can_rx_buffer_frame_t *prxframe, size_t nb_frames)
Блокирующий прием кадра
can_status_t CAN_TransferGetReceivedCount(CAN_Type *base, can_handle_t *handle, uint32_t *nb_frames)
Возвращает количество принятых кадров по прерыванию
enum _ttcan_trigger_type ttcan_trigger_type_t
Тип триггера TTCAN.
void CAN_EnableInterruptMask(CAN_Type *base, uint32_t mask)
Разрешение прерываний по маске
void(* can_transfer_callback_t)(CAN_Type *base, can_handle_t *handle, can_status_t status, can_flag_t interrupt_flag, void *user_data)
Функция обратного вызова CAN.
Definition hal_can.h:325
enum _can_bytes_in_datafield can_bytes_in_datafield_t
Размер данных кадра CAN, указываемый в поле DLC.
void CAN_SetRxBufferConfig(CAN_Type *base, const can_rxb_config_t *config)
Установка параметров буфера приема
void CAN_EnterStandbyMode(CAN_Type *base)
Переключение контроллера CAN в режим ожидания
void CAN_ClearStatusFlagMask(CAN_Type *base, uint32_t mask)
Сброс флагов прерываний по маске
void CAN_DisableInterruptMask(CAN_Type *base, uint32_t mask)
Запрет прерываний по маске
struct _can_frame_filter_config can_frame_filter_config_t
Конфигурация фильтрации принятых кадров CAN.
void CAN_EnterNormalMode(CAN_Type *base)
Переключение контроллера CAN в рабочий режим
bool CAN_IsSecondaryTransmitRequestPending(CAN_Type *base)
Получение признака требования выдачи для низкоприоритетного буфера
_ttcan_timer_prescaler
Символьные константы значений делителя блока TTCAN.
Definition hal_can.h:211
can_status_t CAN_TransferGetSentPrimaryCount(CAN_Type *base, can_handle_t *handle, uint32_t *nb_frames)
Возвращает количество кадров, отправленных в шину данных через высокоприоритетный буфер
void CAN_AbortSecondaryTxBuffer(CAN_Type *base)
Отмена выдачи кадров из низкоприоритетного буфера
bool CAN_IsRxBufferEmpty(CAN_Type *base)
Получение признака опустошения буфера приема
enum _ttcan_timer_prescaler ttcan_timer_prescaler_t
Символьные константы значений делителя блока TTCAN.
struct _can_config can_config_t
Структура конфигурации контроллера CAN.
can_status_t CAN_WritePrimaryTxBuffer(CAN_Type *base, const can_tx_buffer_frame_t *ptxframe)
Запись кадра в высокоприоритетный буфер передачи.
_can_stb_discipline
Дисциплина выдачи из низкоприоритетного буфера
Definition hal_can.h:108
#define CAN_NB_OF_FILTERS
Количество входных фильтров CAN.
Definition hal_can.h:198
bool CAN_IsRxBufferAlmostFull(CAN_Type *base)
Получение признака заполнения буфера приема до границы "почти полный".
struct _can_ptb_config can_ptb_config_t
Параметры высокоприоритетного буфера выдачи
can_status_t CAN_TransferGetSentSecondaryCount(CAN_Type *base, can_handle_t *handle, uint32_t *nb_frames)
Возвращает количество кадров, отправленных в шину данных через низкоприоритетный буфер
void CAN_TransferAbortReceive(CAN_Type *base, can_handle_t *handle)
Отмена приема
void CAN_GetDefaultConfig(can_config_t *config, uint32_t source_clock_hz)
Получение параметров драйвера CAN по умолчанию
void CAN_SetSecondaryTxBufferConfig(CAN_Type *base, const can_stb_config_t *config)
Установка параметров низкоприоритетного буфера выдачи
can_status_t CAN_TransferCreateHandle(CAN_Type *base, can_handle_t *handle, can_transfer_callback_t callback, void *user_data)
Инициализация обработчика событий CAN.
can_status_t CAN_ReadRxBuffer(CAN_Type *base, can_rx_buffer_frame_t *prxframe)
Чтение принятого кадра из приемной очереди
uint32_t CAN_GetEnabledInterruptMask(CAN_Type *base)
Запрос маски разрешенных прерываний CAN.
void CAN_AbortPrimaryTxBuffer(CAN_Type *base)
Отмена выдачи кадра из высокоприоритетного буфера
void CAN_SetArbitrationTimingConfig(CAN_Type *base, const can_timing_config_t *config)
Установка временных параметров (битовых таймингов) CAN.
bool CAN_IsInterruptEnabled(CAN_Type *base, can_flag_t idx, can_status_t *status)
Запрос - разрешено ли прерывание CAN.
_can_kind_of_error
Виды ошибок на линии CAN.
Definition hal_can.h:55
struct _can_timing_config can_timing_config_t
Временные параметры передачи битов CAN.
struct _ttcan_config ttcan_config_t
Временные параметры передачи битов CAN.
bool CAN_GetStatusFlag(CAN_Type *base, can_flag_t idx, can_status_t *status)
Получение состояния флага состояния/прерывания
void CAN_SetPrimaryTxBufferConfig(CAN_Type *base, const can_ptb_config_t *config)
Установка параметров высокоприоритетного буфера выдачи
bool CAN_IsRxBufferFull(CAN_Type *base)
Получение признака заполнения буфера приема
void CAN_SetFilterConfig(CAN_Type *base, const can_frame_filter_config_t *config)
Установка параметров фильтрации кадров при приеме
struct _can_frame_filter can_frame_filter_t
Фильтр принятых кадров CAN.
void CAN_SetTTCANConfig(CAN_Type *base, const ttcan_config_t *config)
Установка параметров работы контроллера в режиме TTCAN.
can_status_t CAN_TransferReceiveFifoNonBlocking(CAN_Type *base, can_handle_t *handle, can_rx_transfer_t *xfer)
Неблокирующий прием
can_status_t CAN_ClearStatusFlag(CAN_Type *base, can_flag_t idx)
Сброс флага состояния/прерывания
uint32_t CAN_GetStatusFlagMask(CAN_Type *base)
Получение маски активных прерываний
bool CAN_IsSecondaryTxBufferEmpty(CAN_Type *base)
Получение признака опустошения низкоприоритетного буфера
_ttcan_trigger_type
Тип триггера TTCAN.
Definition hal_can.h:221
can_status_t CAN_TransferSendSecondaryBlocking(CAN_Type *base, can_tx_buffer_frame_t *ptxframe, size_t nb_frames)
Блокирующая выдача кадра через низкоприоритетный буфер выдачи
void CAN_Deinit(CAN_Type *base)
Деинициализация драйвера CAN.
enum _can_stb_discipline can_stb_discipline_t
Дисциплина выдачи из низкоприоритетного буфера
void CAN_TransferAbortSendSecondary(CAN_Type *base, can_handle_t *handle)
Отмена выдачи из низкоприоритетного буфера
bool CAN_IsSecondaryTxBufferMoreThanHalfFull(CAN_Type *base)
Получение признака заполнения низкоприоритетного буфера выше середины
struct _can_stb_config can_stb_config_t
Параметры низкоприоритетного буфера выдачи
enum _canfd_mode canfd_mode_t
Режимы работы по протоколу CAN FD (есть отличия в расчете контрольной суммы и формировании битов стаф...
can_status_t CAN_EnableInterrupt(CAN_Type *base, can_flag_t idx)
Разрешение прерывания
bool CAN_IsSecondaryTxBufferFull(CAN_Type *base)
Получение признака заполнения низкоприоритетного буфера.
enum _can_kind_of_error can_kind_of_error_t
Виды ошибок на линии CAN.
bool CAN_CalculateImprovedTimingValues(uint32_t baudrate, uint32_t baudrate_data, uint32_t source_clock_hz, can_timing_config_t *pconfig)
Расчет рекомендуемых временных параметров (битовых таймингов) для указанных скоростей обмена в сегмен...
enum _can_status can_status_t
Коды возврата функций драйвера CAN.
can_status_t CAN_DisableInterrupt(CAN_Type *base, can_flag_t idx)
Запрет прерывания
can_status_t CAN_TransferSendSecondaryNonBlocking(CAN_Type *base, can_handle_t *handle, can_tx_transfer_t *xfer)
Неблокирующая выдача через низкоприоритетный буфер
struct _can_rx_buffer_frame can_rx_buffer_frame_t
Структура буфера приема кадра CAN.
enum _can_flag can_flag_t
Флаги прерываний и состояний CAN.
struct _can_rx_transfer can_rx_transfer_t
Структура для приема кадра CAN в неблокирующем режиме (по прерыванию)
struct _can_tx_buffer_frame can_tx_buffer_frame_t
Структура буфера передачи кадра CAN.
can_status_t CAN_Init(CAN_Type *base, const can_config_t *config)
Инициализация драйвера CAN.
can_status_t CAN_TransferSendPrimaryBlocking(CAN_Type *base, can_tx_buffer_frame_t *ptxframe, size_t nb_frames)
Блокирующая выдача кадра через высокоприоритетный буфер выдачи
_can_flag
Флаги прерываний и состояний CAN.
Definition hal_can.h:75
void CAN_TransferAbortSendPrimary(CAN_Type *base, can_handle_t *handle)
Отмена выдачи из высокоприоритетного буфера
can_status_t CAN_TransferSendPrimaryNonBlocking(CAN_Type *base, can_handle_t *handle, can_tx_transfer_t *xfer)
Неблокирующая выдача через высокоприоритетный буфер
can_status_t CAN_WriteSecondaryTxBuffer(CAN_Type *base, const can_tx_buffer_frame_t *ptxframe)
Запись кадра в низкоприоритетный буфер передачи
_can_status
Коды возврата функций драйвера CAN.
Definition hal_can.h:37
struct _can_rxb_config can_rxb_config_t
Параметры буфера приема
struct _can_tx_transfer can_tx_transfer_t
Структура для передачи кадра CAN в неблокирующем режиме (по прерыванию)
@ CAN_IsoFd
Definition hal_can.h:102
@ CAN_BoschFd
Definition hal_can.h:101
@ CAN_24ByteDatafield
Definition hal_can.h:129
@ CAN_2ByteDatafield
Definition hal_can.h:119
@ CAN_3ByteDatafield
Definition hal_can.h:120
@ CAN_16ByteDatafield
Definition hal_can.h:127
@ CAN_4ByteDatafield
Definition hal_can.h:121
@ CAN_5ByteDatafield
Definition hal_can.h:122
@ CAN_7ByteDatafield
Definition hal_can.h:124
@ CAN_48ByteDatafield
Definition hal_can.h:131
@ CAN_8ByteDatafield
Definition hal_can.h:125
@ CAN_6ByteDatafield
Definition hal_can.h:123
@ CAN_20ByteDatafield
Definition hal_can.h:128
@ CAN_32ByteDatafield
Definition hal_can.h:130
@ CAN_64ByteDatafield
Definition hal_can.h:132
@ CAN_1ByteDatafield
Definition hal_can.h:118
@ CAN_12ByteDatafield
Definition hal_can.h:126
@ CAN_0ByteDatafield
Definition hal_can.h:117
@ CAN_TTCANDiv4
Definition hal_can.h:214
@ CAN_TTCANDiv1
Definition hal_can.h:212
@ CAN_TTCANDiv8
Definition hal_can.h:215
@ CAN_TTCANDiv2
Definition hal_can.h:213
@ CAN_Fifo
Definition hal_can.h:109
@ CAN_Priority
Definition hal_can.h:110
@ CAN_ErrorCrcError
Definition hal_can.h:61
@ CAN_ErrorFormError
Definition hal_can.h:58
@ CAN_ErrorBitError
Definition hal_can.h:57
@ CAN_ErrorAckError
Definition hal_can.h:60
@ CAN_ErrorNone
Definition hal_can.h:56
@ CAN_ErrorOtherError
Definition hal_can.h:62
@ CAN_ErrorReserved
Definition hal_can.h:63
@ CAN_ErrorStuffError
Definition hal_can.h:59
@ CAN_TriggerTime
Definition hal_can.h:223
@ CAN_TriggerTransmitStop
Definition hal_can.h:226
@ CAN_TriggerImmediate
Definition hal_can.h:222
@ CAN_TriggerSingleShotTransmit
Definition hal_can.h:224
@ CAN_TriggerTransmitStart
Definition hal_can.h:225
@ CAN_FlagTransmitBufferFull
Definition hal_can.h:80
@ CAN_FlagsNumber
Definition hal_can.h:93
@ CAN_FlagTimeTriggered
Definition hal_can.h:90
@ CAN_FlagError
Definition hal_can.h:77
@ CAN_FlagRBOverrun
Definition hal_can.h:83
@ CAN_FlagAbortState
Definition hal_can.h:76
@ CAN_FlagTransmissionPrimary
Definition hal_can.h:79
@ CAN_FlagErrorPassiveInterrupt
Definition hal_can.h:87
@ CAN_FlagReceive
Definition hal_can.h:84
@ CAN_FlagWatchTriggerError
Definition hal_can.h:92
@ CAN_FlagRBAlmostFull
Definition hal_can.h:81
@ CAN_FlagTransmissionSecondary
Definition hal_can.h:78
@ CAN_FlagArbitrationLost
Definition hal_can.h:86
@ CAN_FlagRBFull
Definition hal_can.h:82
@ CAN_FlagErrorPassiveState
Definition hal_can.h:88
@ CAN_FlagErrorWarningState
Definition hal_can.h:89
@ CAN_FlagBusError
Definition hal_can.h:85
@ CAN_FlagTriggerError
Definition hal_can.h:91
@ CAN_Status_RxIdle
Definition hal_can.h:44
@ CAN_Status_Ok
Definition hal_can.h:38
@ CAN_Status_RxEmpty
Definition hal_can.h:42
@ CAN_Status_InvalidArgument
Definition hal_can.h:40
@ CAN_Status_RxBusy
Definition hal_can.h:45
@ CAN_Status_TxIdle
Definition hal_can.h:43
@ CAN_Status_Fail
Definition hal_can.h:39
@ CAN_Status_TxBusy
Definition hal_can.h:41
Структура конфигурации контроллера CAN.
Definition hal_can.h:288
bool enable_listen_only
Definition hal_can.h:289
can_timing_config_t timing_config
Definition hal_can.h:295
canfd_mode_t can_fd_mode
Definition hal_can.h:296
can_stb_config_t stb_config
Definition hal_can.h:293
can_frame_filter_config_t filter_config
Definition hal_can.h:297
bool enable_loopback_ext
Definition hal_can.h:291
can_rxb_config_t rxb_config
Definition hal_can.h:294
bool enable_loopback_int
Definition hal_can.h:290
can_ptb_config_t ptb_config
Definition hal_can.h:292
Конфигурация фильтрации принятых кадров CAN.
Definition hal_can.h:203
can_frame_filter_t filter[CAN_NB_OF_FILTERS]
Definition hal_can.h:204
uint8_t nb_filters_used
Definition hal_can.h:205
Фильтр принятых кадров CAN.
Definition hal_can.h:186
uint32_t id
Definition hal_can.h:187
uint32_t accepted_ide
Definition hal_can.h:190
uint32_t enable_ide_check
Definition hal_can.h:191
uint32_t mask
Definition hal_can.h:189
Структура дескриптора драйвера CAN.
Definition hal_can.h:331
void * user_data
Definition hal_can.h:345
volatile size_t tx_nb_frames_rest_prim
Definition hal_can.h:333
size_t tx_nb_frames_all_prim
Definition hal_can.h:334
size_t rx_nb_frames_all
Definition hal_can.h:342
volatile size_t tx_nb_frames_rest_sec
Definition hal_can.h:337
volatile const can_tx_buffer_frame_t * tx_frames_sec
Definition hal_can.h:336
volatile size_t rx_nb_frames_rest
Definition hal_can.h:341
volatile const can_tx_buffer_frame_t * tx_frames_prim
Definition hal_can.h:332
can_transfer_callback_t callback
Definition hal_can.h:344
size_t tx_nb_frames_all_sec
Definition hal_can.h:338
volatile can_rx_buffer_frame_t * rx_frames
Definition hal_can.h:340
Параметры высокоприоритетного буфера выдачи
Definition hal_can.h:264
bool tx_single_shot
Definition hal_can.h:265
Структура буфера приема кадра CAN.
Definition hal_can.h:162
uint32_t cycle_time
Definition hal_can.h:177
uint64_t rts
Definition hal_can.h:180
bool ide
Definition hal_can.h:173
uint32_t id
Definition hal_can.h:164
bool brs
Definition hal_can.h:170
bool rtr
Definition hal_can.h:172
uint8_t data[64]
Definition hal_can.h:179
bool tx
Definition hal_can.h:175
bool esi
Definition hal_can.h:166
can_kind_of_error_t koer
Definition hal_can.h:176
bool fdf
Definition hal_can.h:171
can_bytes_in_datafield_t dlc
Definition hal_can.h:169
Структура для приема кадра CAN в неблокирующем режиме (по прерыванию)
Definition hal_can.h:312
can_rx_buffer_frame_t * frames
Definition hal_can.h:313
size_t nb_frames
Definition hal_can.h:314
Параметры буфера приема
Definition hal_can.h:279
bool self_acknowledge
Definition hal_can.h:281
uint32_t almost_full_level
Definition hal_can.h:280
bool prohibit_overflow
Definition hal_can.h:282
Параметры низкоприоритетного буфера выдачи
Definition hal_can.h:271
can_stb_discipline_t tx_discipline
Definition hal_can.h:273
bool tx_single_shot
Definition hal_can.h:272
Временные параметры передачи битов CAN.
Definition hal_can.h:248
uint8_t sjw
Definition hal_can.h:250
uint8_t data_sjw
Definition hal_can.h:254
uint8_t delay_compensation_enable
Definition hal_can.h:257
uint8_t seg2
Definition hal_can.h:252
uint8_t prescaler
Definition hal_can.h:249
uint8_t seg1
Definition hal_can.h:251
uint8_t data_seg2
Definition hal_can.h:256
uint8_t secondary_sample_point_offset
Definition hal_can.h:258
uint8_t data_prescaler
Definition hal_can.h:253
uint8_t data_seg1
Definition hal_can.h:255
Структура буфера передачи кадра CAN.
Definition hal_can.h:142
bool rtr
Definition hal_can.h:152
bool ide
Definition hal_can.h:153
uint32_t id
Definition hal_can.h:144
bool ttsen
Definition hal_can.h:146
bool brs
Definition hal_can.h:150
can_bytes_in_datafield_t dlc
Definition hal_can.h:149
uint8_t data[64]
Definition hal_can.h:156
bool fdf
Definition hal_can.h:151
Структура для передачи кадра CAN в неблокирующем режиме (по прерыванию)
Definition hal_can.h:304
size_t nb_frames
Definition hal_can.h:306
can_tx_buffer_frame_t * frames
Definition hal_can.h:305
Временные параметры передачи битов CAN.
Definition hal_can.h:232
uint8_t watch_trigger_time0
Definition hal_can.h:239
uint8_t transmit_enable_window
Definition hal_can.h:236
bool reference_ide
Definition hal_can.h:242
uint8_t trigger_time0
Definition hal_can.h:237
uint8_t watch_trigger_time1
Definition hal_can.h:240
ttcan_timer_prescaler_t prescaler
Definition hal_can.h:233
uint32_t reference_id
Definition hal_can.h:241
ttcan_trigger_type_t trigger_type
Definition hal_can.h:235
uint8_t trigger_time1
Definition hal_can.h:238
uint8_t transmit_trigger_pointer
Definition hal_can.h:234