xWRL6432 MMWAVE-L-SDK  05.04.00.01
canfd_lld.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2022 Texas Instruments Incorporated
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *
11  * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the
14  * distribution.
15  *
16  * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
33 
86 #ifndef CANFD_LLD_H_
87 #define CANFD_LLD_H_
88 
89 #ifdef __cplusplus
90 extern "C" {
91 #endif
92 
93 /* ========================================================================== */
94 /* Include Files */
95 /* ========================================================================== */
96 
97 #include <stdint.h>
98 #include <stddef.h>
99 #include <drivers/mcan/v0/lld/mcan_lld.h>
100 #include <drivers/hw_include/cslr_soc.h>
101 
102 /* ========================================================================== */
103 /* Macros & Typedefs */
104 /* ========================================================================== */
105 
106 #define ATTRIBUTE_WEAK __attribute__((weak))
107 
111 #define MCAN_MAX_TX_MSG_OBJECTS (32U)
112 
116 #define MCAN_MAX_RX_MSG_OBJECTS (32U)
117 
121 #define MCAN_MAX_MSG_OBJECTS (MCAN_MAX_TX_MSG_OBJECTS + MCAN_MAX_RX_MSG_OBJECTS)
122 
124 #define MCAN_MSG_RAM_STD_ELEM_SIZE (1U)
125 
127 #define MCAN_MSG_RAM_EXT_ELEM_SIZE (2U)
128 
130 #define MCAN_MSG_HEADER_SIZE (8U)
131 
134 #define MCAN_MSG_RAM_TX_RX_ELEM_SIZE (18U)
135 
137 #define XTD_MSGID_MASK (0x1fffffffU)
138 #define STD_MSGID_MASK (0x7ffU)
139 #define STD_MSGID_SHIFT (18U)
140 
142 #define MCAN_MAX_PAYLOAD_BYTES (64U)
143 
145 #define MCAN_MAX_RX_BUFFERS (64U)
146 
148 #define MCAN_MAX_TX_BUFFERS (32U)
149 
151 #define CANFD_UTILS_ARRAYSIZE(x) (sizeof(x) / sizeof(x[0]))
152 
154 #define CANFD_UTILS_GETARRAYINDEX(member, array) (member - &array[0])
155 
157 #define CANFD_UTILS_ARRAYISMEMBER(member, array) \
158  (((((uint32)member - (uint32) & array[0]) % sizeof(array[0])) == 0) \
159  && (member >= &array[0]) \
160  && (CANFD_UTILS_GETARRAYINDEX(member, array) < CANFD_UTILS_ARRAYSIZE(array)))
161 
165 #define MCAN_INTR_MASK ((uint32_t)MCAN_INTR_SRC_RX_FIFO0_NEW_MSG | \
166  (uint32_t)MCAN_INTR_SRC_RX_FIFO0_MSG_LOST | \
167  (uint32_t)MCAN_INTR_SRC_RX_FIFO1_NEW_MSG | \
168  (uint32_t)MCAN_INTR_SRC_TRANS_COMPLETE | \
169  (uint32_t)MCAN_INTR_SRC_TRANS_CANCEL_FINISH | \
170  (uint32_t)MCAN_INTR_SRC_DEDICATED_RX_BUFF_MSG | \
171  (uint32_t)MCAN_INTR_SRC_PROTOCOL_ERR_ARB | \
172  (uint32_t)MCAN_INTR_SRC_PROTOCOL_ERR_DATA | \
173  (uint32_t)MCAN_INTR_SRC_BUS_OFF_STATUS)
174 
176 #define CANFD_DMA_TX_COMPLETION_INTERMEDIATE (1U)
177 
178 #define CANFD_DMA_TX_COMPLETION_FINAL (2U)
179 
180 #define CANFD_DMA_RX_COMPLETION_INTERMEDIATE (1U)
181 
182 #define CANFD_DMA_RX_COMPLETION_FINAL (2U)
183 
190 typedef enum CANFDLLD_MCANElemSize_t
191 {
194 
197 
200 
203 
206 
209 
212 
216 
220 typedef enum CANFDLLD_DriverState_t
221 {
224 
227 
230 
234 
243 typedef enum CANFDLLD_MCANOperationMode_t
244 {
247 
251 
255 typedef enum CANFDLLD_Direction_t
256 {
259 
263 
267 typedef enum CANFDLLD_MCANXidType_t
268 {
271 
275 
279 typedef enum CANFDLLD_MCANFrameType_t
280 {
283 
287 
291 typedef enum CANFDLLD_MCANTimeOutSelect_t
292 {
295 
298 
301 
305 
309 typedef enum CANFDLLD_MCANECCErrType_t
310 {
313 
317 
321 typedef enum CANFDLLD_MCANLoopBackMode_t
322 {
325 
332 
336 typedef enum CANFDLLD_MCANCommState_t
337 {
340 
343 
346 
350 
354 typedef enum CANFDLLD_MCANErrCode_t
355 {
360 
365 
368 
371 
378 
389 
395 
402 
407 typedef enum CANFDLLD_Reason_t
408 {
413 
418 
423 
428 
433 
438 
444 
451 typedef enum CANFDLLD_Option_t
452 {
459 
466 
475 
483 
491 
503 
504 typedef void *CANFDLLD_DmaHandle;
505 
506 typedef void *CANFDLLD_DmaChConfig;
507 
511 typedef struct CANFDLLD_MCANLoopbackCfgParams_t
512 {
518  uint32_t enable;
519 
523 
529 typedef struct CANFDLLD_MCANBitTimingParams_t
530 {
532  uint32_t nomBrp;
533 
535  uint32_t nomPropSeg;
536 
538  uint32_t nomPseg1;
539 
541  uint32_t nomPseg2;
542 
544  uint32_t nomSjw;
545 
547  uint32_t dataBrp;
548 
550  uint32_t dataPropSeg;
551 
553  uint32_t dataPseg1;
554 
556  uint32_t dataPseg2;
557 
559  uint32_t dataSjw;
561 
565 typedef struct CANFDLLD_MCANTdcConfig_t
566 {
570  uint32_t tdcf;
571 
575  uint32_t tdco;
577 
581 typedef struct CANFDLLD_MCANGlobalFiltConfig_t
582 {
587  uint32_t rrfe;
588 
593  uint32_t rrfs;
594 
600  uint32_t anfe;
601 
607  uint32_t anfs;
609 
619 typedef struct CANFDLLD_MCANMsgRAMCfgParams_t
620 {
626  uint32_t lss;
627 
633  uint32_t lse;
634 
640  uint32_t txBufNum;
641 
647  uint32_t txFIFOSize;
648 
653  uint32_t txBufMode;
654 
660  uint32_t txEventFIFOSize;
661 
668 
674  uint32_t rxFIFO0size;
675 
682 
687  uint32_t rxFIFO0OpMode;
688 
694  uint32_t rxFIFO1size;
695 
702 
707  uint32_t rxFIFO1OpMode;
709 
713 typedef struct CANFDLLD_MCANECCConfigParams_t
714 {
719  uint32_t enable;
720 
725  uint32_t enableChk;
726 
731  uint32_t enableRdModWr;
733 
737 typedef struct CANFDLLD_MCANErrCntStatus_t
738 {
740  uint32_t transErrLogCnt;
741 
743  uint32_t recErrCnt;
744 
749  uint32_t rpStatus;
750 
752  uint32_t canErrLogCnt;
754 
758 typedef struct CANFDLLD_MCANProtocolStatus_t
759 {
763  uint32_t lastErrCode;
764 
768  uint32_t act;
769 
774  uint32_t errPassive;
775 
781  uint32_t warningStatus;
782 
787  uint32_t busOffStatus;
788 
792  uint32_t dlec;
793 
798  uint32_t resi;
799 
804  uint32_t rbrs;
805 
811  uint32_t rfdf;
812 
817  uint32_t pxe;
818 
820  uint32_t tdcv;
822 
826 typedef struct CANFDLLD_MCANECCErrForceParams_t
827 {
831  uint32_t errType;
832 
834  uint32_t rowNum;
835 
839  uint32_t bit1;
840 
842  uint32_t bit2;
843 
847  uint32_t errOnce;
848 
850  uint32_t errForce;
852 
856 typedef struct CANFDLLD_MCANECCErrStatus_t
857 {
862  uint32_t secErr;
863 
868  uint32_t dedErr;
869 
873  uint32_t row;
874 
877  uint32_t bit1;
878 
882  uint32_t bit2;
884 
889 typedef struct CANFDLLD_ErrStatusResp_t
890 {
891  union
892  {
895 
898  }u;
900 
904 typedef struct CANFDLLD_MCANInitParams_t
905 {
910  uint32_t fdMode;
911 
917  uint32_t brsEnable;
918 
923  uint32_t txpEnable;
924 
930  uint32_t efbi;
931 
936  uint32_t pxhddisable;
937 
943  uint32_t darEnable;
944 
949  uint32_t wkupReqEnable;
950 
955  uint32_t autoWkupEnable;
956 
961  uint32_t emulationEnable;
962 
967  uint32_t emulationFAck;
968 
973  uint32_t clkStopFAck;
974 
978  uint32_t wdcPreload;
979 
984  uint32_t tdcEnable;
985 
990 
995  uint32_t monEnable;
996 
1002  uint32_t asmEnable;
1003 
1007  uint32_t tsPrescalar;
1008 
1015  uint32_t tsSelect;
1016 
1021 
1027  uint32_t timeoutPreload;
1028 
1034 
1039 
1044 
1049 
1053 
1058 
1066 typedef struct CANFDLLD_OptionTLV_t
1067 {
1072 
1076  int32_t length;
1077 
1081  void* value;
1083 
1092 typedef struct CANFDLLD_Object_t
1093 {
1097  uint32_t regBaseAddress;
1098 
1103 
1108 
1112  uint8_t mcanDataSize[16];
1113 
1117  struct CANFDLLD_MessageObject_t* msgObjectHandle[MCAN_MAX_MSG_OBJECTS];
1118 
1122  struct CANFDLLD_MessageObject_t* txMapping[MCAN_MAX_TX_MSG_OBJECTS];
1123 
1127  struct CANFDLLD_MessageObject_t* rxMapping[MCAN_MAX_RX_MSG_OBJECTS];
1128 
1133 
1137  uint32_t interrupts;
1138 
1142  uint32_t eccInterrupts;
1143 
1148 
1153 
1158 
1162  uint8_t txStatus[MCAN_MAX_TX_MSG_OBJECTS];
1163 
1167  uint32_t useFifoNum;
1168 
1173 
1178 
1183 
1187  void* args;
1189 
1194 typedef struct CANFDLLD_DmaMsgConfig_s
1195 {
1203  uint32_t numMsgs;
1207  const void *data;
1211  uint32_t currentMsgNum;
1213 
1223 typedef struct CANFDLLD_DmaRxBuf_s
1224 {
1225  /* Header word 1 in Rx buffer in message ram */
1226  uint32_t header1;
1227  /* Header word 2 in Rx buffer in message ram */
1228  uint32_t header2;
1229  /* Data Bytes Rx buffer in message ram */
1230  uint8_t data[64];
1232 
1240 typedef struct CANFDLLD_MessageObject_t
1241 {
1246  uint32_t startMsgId;
1247 
1252  uint32_t endMsgId;
1253 
1258 
1263 
1268 
1272  uint32_t messageObjNum;
1273 
1277  uint32_t txElement;
1278 
1282  uint32_t rxElement;
1283 
1288 
1292  uint32_t interruptsRxed;
1293 
1298 
1302  uint32_t enableDmaMode;
1303 
1307  uint32_t dmaEventNo;
1308 
1313 
1315 
1320 
1325 
1329 typedef struct CANFDLLD_MCANMsgObjectStats_t
1330 {
1333 
1335  uint32_t direction;
1336 
1340 
1344 
1346  uint32_t interruptsRxed;
1347 
1351 
1372 
1388 
1405 
1426 
1446 
1461 
1484 int32_t CANFD_lld_write(CANFDLLD_MsgObjHandle handle, uint32_t id, CANFDLLD_MCANFrameType frameType, uint32_t dataLength, const uint8_t* data);
1485 
1500 
1530 int32_t CANFD_lld_writeDma(CANFDLLD_MsgObjHandle handle, uint32_t id, CANFDLLD_MCANFrameType frameType, uint32_t dataLengthPerMsg, uint32_t numMsgs, void* data);
1531 
1549 
1561 uint32_t CANFD_lld_getFilterEventConfig(uint32_t eventNum);
1562 
1588 int32_t CANFD_lld_read(CANFDLLD_MsgObjHandle handle, uint32_t* id, CANFDLLD_MCANFrameType* ptrFrameType, CANFDLLD_MCANXidType* idType, uint32_t* ptrDataLength, uint8_t* data);
1589 
1611 int32_t CANFD_lld_readDmaConfig(CANFDLLD_MsgObjHandle handle, void* data, uint32_t numDmaRxBuf);
1612 
1629 
1645 int32_t CANFD_lld_setOptions(CANFDLLD_Handle handle, const CANFDLLD_OptionTLV* ptrOptInfo);
1646 
1659 
1672 
1686 
1700 
1712 
1721 
1731 
1741 
1753 int32_t CANFD_lld_configureDmaTx(CANFDLLD_Object *ptrCanFdObj, CANFDLLD_MessageObject* ptrCanMsgObj, uint32_t dataLengthPerMsg, uint32_t numMsgs, const void* data);
1754 
1763 int32_t CANFD_lld_cancelDmaTx(CANFDLLD_Object *ptrCanFdObj, CANFDLLD_MessageObject* ptrCanMsgObj);
1764 
1777 ATTRIBUTE_WEAK void CANFD_dmaTxCompletionCallback(CANFDLLD_MessageObject* ptrCanMsgObj, void *data, uint32_t completionType);
1778 
1788 
1798 
1810 int32_t CANFD_lld_configureDmaRx(CANFDLLD_Object *ptrCanFdObj, CANFDLLD_MessageObject* ptrCanMsgObj, uint32_t dataLengthPerMsg, uint32_t numMsgs, const void* data);
1811 
1824 ATTRIBUTE_WEAK void CANFD_dmaRxCompletionCallback(CANFDLLD_MessageObject* ptrCanMsgObj, void *data, uint32_t completionType);
1825 
1828 #ifdef __cplusplus
1829 }
1830 #endif
1831 
1832 #endif /* #ifndef CANFD_LLD_H_ */
1833 
CANFDLLD_MCANErrCntStatus::transErrLogCnt
uint32_t transErrLogCnt
Definition: canfd_lld.h:740
CANFDLLD_MCANMsgRAMCfgParams::txEventFIFOWaterMark
uint32_t txEventFIFOWaterMark
Definition: canfd_lld.h:667
CANFDLLD_MessageObject::rxElement
uint32_t rxElement
Rx buffer number used to receive data.
Definition: canfd_lld.h:1282
CANFDLLD_DmaHandle
void * CANFDLLD_DmaHandle
Definition: canfd_lld.h:504
CANFDLLD_MsgObjHandle
CANFDLLD_MessageObject * CANFDLLD_MsgObjHandle
CANFD message object handle returned by the CANFD_lld_createMsgObject() API call.
Definition: canfd_lld.h:1324
CANFDLLD_MessageObject::txElement
uint32_t txElement
Tx buffer number used to send data.
Definition: canfd_lld.h:1277
CANFD_lld_int1Isr
void CANFD_lld_int1Isr(CANFDLLD_Object *ptrCanFdObj)
CANFDLLD_MCANInitParams::autoWkupEnable
uint32_t autoWkupEnable
Definition: canfd_lld.h:955
CANFDLLD_MCANBitTimingParams
Data structure defines the parameters for bit timing calculation. Bit timing related to data phase wi...
Definition: canfd_lld.h:530
CANFDLLD_MCANMsgRAMCfgParams::rxFIFO1waterMark
uint32_t rxFIFO1waterMark
Definition: canfd_lld.h:701
CANFDLLD_MCANElemSize
CANFDLLD_MCANElemSize
This enumeration defines the MCAN FIFO/Buffer element Size.
Definition: canfd_lld.h:191
CANFDLLD_MCANECCErrStatus
Data structure defines the ECC Error Status.
Definition: canfd_lld.h:857
CANFDLLD_MCANInitParams::tsSelect
uint32_t tsSelect
Definition: canfd_lld.h:1015
CANFDLLD_Direction_TX
@ CANFDLLD_Direction_TX
Definition: canfd_lld.h:261
CANFDLLD_MCANMsgObjectStats::messageProcessed
uint32_t messageProcessed
Definition: canfd_lld.h:1349
CANFDLLD_MCANGlobalFiltConfig::rrfe
uint32_t rrfe
Definition: canfd_lld.h:587
CANFDLLD_Option_MCAN_POWER_DOWN
@ CANFDLLD_Option_MCAN_POWER_DOWN
Definition: canfd_lld.h:501
CANFD_lld_deInit
int32_t CANFD_lld_deInit(CANFDLLD_Handle handle)
CANFDLLD_MCANTdcConfig
Data structure defines the MCAN Transmitter Delay Compensation parameters.
Definition: canfd_lld.h:566
CANFDLLD_DriverState_SLEEP
@ CANFDLLD_DriverState_SLEEP
Definition: canfd_lld.h:232
CANFDLLD_MCANECCConfigParams
Data structure defines the MCAN ECC configuration parameters.
Definition: canfd_lld.h:714
CANFD_dmaRxCompletionCallback
ATTRIBUTE_WEAK void CANFD_dmaRxCompletionCallback(CANFDLLD_MessageObject *ptrCanMsgObj, void *data, uint32_t completionType)
Callback function for the Rx completion. This is called for each message in the array of msgs provide...
CANFDLLD_MCANInitParams::wdcPreload
uint32_t wdcPreload
Definition: canfd_lld.h:978
CANFDLLD_Object::interrupts
uint32_t interrupts
Number of interrupts received for message Tx or Rx.
Definition: canfd_lld.h:1137
CANFDLLD_MCANCommState_RECEIVER
@ CANFDLLD_MCANCommState_RECEIVER
Definition: canfd_lld.h:345
CANFD_lld_deleteDmaRxMsgObject
int32_t CANFD_lld_deleteDmaRxMsgObject(CANFDLLD_Object *ptrCanFdObj, CANFDLLD_MessageObject *ptrCanMsgObj)
API to delete dma configuration for the Rx message object. Called from the CANFD_lld_deleteMsgObject.
CANFDLLD_MCANProtocolStatus::act
uint32_t act
Definition: canfd_lld.h:768
CANFDLLD_Object
CANFD Master Control Block.
Definition: canfd_lld.h:1093
CANFDLLD_MCANCommState_IDLE
@ CANFDLLD_MCANCommState_IDLE
Definition: canfd_lld.h:342
CANFDLLD_MCANProtocolStatus::busOffStatus
uint32_t busOffStatus
Definition: canfd_lld.h:787
CANFDLLD_OptionTLV::length
int32_t length
Option Length.
Definition: canfd_lld.h:1076
CANFD_lld_createRxRangeMsgObject
int32_t CANFD_lld_createRxRangeMsgObject(CANFDLLD_Handle handle, CANFDLLD_MessageObject *ptrCanMsgObj)
MCAN_RxBufElement
Structure for MCAN Rx Buffer element.
Definition: mcan/v0/mcan.h:1381
CANFDLLD_Option_MCAN_ERROR_COUNTER
@ CANFDLLD_Option_MCAN_ERROR_COUNTER
Definition: canfd_lld.h:458
CANFDLLD_MCANECCErrForceParams::bit2
uint32_t bit2
Definition: canfd_lld.h:842
CANFDLLD_MCANInitParams::errInterruptEnable
uint32_t errInterruptEnable
Definition: canfd_lld.h:1052
CANFDLLD_MCANECCConfigParams::enableRdModWr
uint32_t enableRdModWr
Definition: canfd_lld.h:731
CANFDLLD_MCANInitParams::asmEnable
uint32_t asmEnable
Definition: canfd_lld.h:1002
CANFD_lld_readDmaConfig
int32_t CANFD_lld_readDmaConfig(CANFDLLD_MsgObjHandle handle, void *data, uint32_t numDmaRxBuf)
CANFDLLD_MCANBitTimingParams::nomPseg2
uint32_t nomPseg2
Definition: canfd_lld.h:541
CANFDLLD_DriverState_UNINIT
@ CANFDLLD_DriverState_UNINIT
Definition: canfd_lld.h:223
CANFDLLD_Option
CANFDLLD_Option
This enumeration defines the values used to represent the GET/SET options.
Definition: canfd_lld.h:452
CANFDLLD_MCANMsgObjectStats
Data structure defines the software maintained message object statistics.
Definition: canfd_lld.h:1330
CANFDLLD_OptionTLV
Options TLV data structure.
Definition: canfd_lld.h:1067
CANFDLLD_Reason_TX_COMPLETION
@ CANFDLLD_Reason_TX_COMPLETION
Data has been succesfully transmitted.
Definition: canfd_lld.h:417
CANFDLLD_MessageObject::ptrCanFdObj
CANFDLLD_Object * ptrCanFdObj
Pointer to the CANFD driver object.
Definition: canfd_lld.h:1257
CANFDLLD_MCANECCErrForceParams::errForce
uint32_t errForce
Definition: canfd_lld.h:850
CANFDLLD_MCANProtocolStatus::tdcv
uint32_t tdcv
Definition: canfd_lld.h:820
CANFDLLD_ErrStatusResp
Response structure definition for Error and status information.
Definition: canfd_lld.h:890
CANFDLLD_MCANMsgRAMCfgParams::txFIFOSize
uint32_t txFIFOSize
Definition: canfd_lld.h:647
CANFDLLD_MCANFrameType_CLASSIC
@ CANFDLLD_MCANFrameType_CLASSIC
Definition: canfd_lld.h:282
CANFDLLD_MessageObject::dmaEventNo
uint32_t dmaEventNo
Dma Event number allocated for this message object.
Definition: canfd_lld.h:1307
CANFDLLD_Object::errStatusInterrupts
uint32_t errStatusInterrupts
Number of error and status interrupts received.
Definition: canfd_lld.h:1132
CANFDLLD_MessageObject::enableDmaMode
uint32_t enableDmaMode
Enable dma mode for this message object.
Definition: canfd_lld.h:1302
CANFDLLD_Object::rxBuffElem
MCAN_RxBufElement rxBuffElem
Buffer used to read message RAM.
Definition: canfd_lld.h:1172
CANFD_lld_getFilterEventConfig
uint32_t CANFD_lld_getFilterEventConfig(uint32_t eventNum)
CANFDLLD_MCANMsgObjectStats::interruptsRxed
uint32_t interruptsRxed
Definition: canfd_lld.h:1346
CANFDLLD_MCANErrCntStatus::recErrCnt
uint32_t recErrCnt
Definition: canfd_lld.h:743
MCAN_MAX_MSG_OBJECTS
#define MCAN_MAX_MSG_OBJECTS
Maximum number of message objects that can be supported by CANFD.
Definition: canfd_lld.h:121
CANFDLLD_MCANMsgObjectStats::direction
uint32_t direction
Definition: canfd_lld.h:1335
CANFDLLD_MCANErrCode_STUFF_ERROR
@ CANFDLLD_MCANErrCode_STUFF_ERROR
Definition: canfd_lld.h:364
CANFDLLD_MCANElemSize_12BYTES
@ CANFDLLD_MCANElemSize_12BYTES
Definition: canfd_lld.h:196
CANFDLLD_MCANErrCode_BIT0_ERROR
@ CANFDLLD_MCANErrCode_BIT0_ERROR
Definition: canfd_lld.h:388
CANFDLLD_Option_MCAN_PROTOCOL_STATUS
@ CANFDLLD_Option_MCAN_PROTOCOL_STATUS
Definition: canfd_lld.h:465
CANFDLLD_DriverState
CANFDLLD_DriverState
This enumeration defines the values used to represent the CANFD driver state.
Definition: canfd_lld.h:221
CANFDLLD_MCANProtocolStatus::errPassive
uint32_t errPassive
Definition: canfd_lld.h:774
CANFDLLD_MCANErrCntStatus
Data structure defines the MCAN error logging counters status.
Definition: canfd_lld.h:738
CANFDLLD_MessageObject::messageObjNum
uint32_t messageObjNum
Allocated message object number.
Definition: canfd_lld.h:1272
CANFD_lld_deleteDmaTxMsgObject
int32_t CANFD_lld_deleteDmaTxMsgObject(CANFDLLD_Object *ptrCanFdObj, CANFDLLD_MessageObject *ptrCanMsgObj)
API to delete dma configuration for the Tx message object. Called from the API CANFD_lld_deleteMsgObj...
CANFDLLD_MCANMsgRAMCfgParams::lse
uint32_t lse
Definition: canfd_lld.h:633
MCAN_MAX_RX_MSG_OBJECTS
#define MCAN_MAX_RX_MSG_OBJECTS
Maximum number of Rx message objects that can be supported by CANFD.
Definition: canfd_lld.h:116
CANFDLLD_MCANMsgRAMCfgParams
Data structure defines the MCAN Message RAM Configuration Parameters. Message RAM can contain followi...
Definition: canfd_lld.h:620
CANFDLLD_MCANXidType_29_BIT
@ CANFDLLD_MCANXidType_29_BIT
Definition: canfd_lld.h:273
CANFDLLD_MCANErrCode_NO_ERROR
@ CANFDLLD_MCANErrCode_NO_ERROR
Definition: canfd_lld.h:359
CANFDLLD_MCANBitTimingParams::dataSjw
uint32_t dataSjw
Definition: canfd_lld.h:559
CANFDLLD_MCANOperationMode_NORMAL
@ CANFDLLD_MCANOperationMode_NORMAL
Definition: canfd_lld.h:246
CANFDLLD_MCANProtocolStatus::rfdf
uint32_t rfdf
Definition: canfd_lld.h:811
CANFDLLD_MCANOperationMode_SW_INIT
@ CANFDLLD_MCANOperationMode_SW_INIT
Definition: canfd_lld.h:249
CANFD_lld_writeCancel
int32_t CANFD_lld_writeCancel(CANFDLLD_MsgObjHandle handle)
CANFDLLD_MCANInitParams::tsPrescalar
uint32_t tsPrescalar
Definition: canfd_lld.h:1007
CANFDLLD_MCANElemSize_64BYTES
@ CANFDLLD_MCANElemSize_64BYTES
Definition: canfd_lld.h:214
CANFDLLD_MCANInitParams::timeoutPreload
uint32_t timeoutPreload
Definition: canfd_lld.h:1027
CANFDLLD_MCANElemSize_24BYTES
@ CANFDLLD_MCANElemSize_24BYTES
Definition: canfd_lld.h:205
CANFD_lld_cancelDmaTx
int32_t CANFD_lld_cancelDmaTx(CANFDLLD_Object *ptrCanFdObj, CANFDLLD_MessageObject *ptrCanMsgObj)
API to disbale dma event transfer for the Tx to cancel the transfer.
CANFD_lld_read
int32_t CANFD_lld_read(CANFDLLD_MsgObjHandle handle, uint32_t *id, CANFDLLD_MCANFrameType *ptrFrameType, CANFDLLD_MCANXidType *idType, uint32_t *ptrDataLength, uint8_t *data)
CANFD_lld_getOptions
int32_t CANFD_lld_getOptions(CANFDLLD_Handle handle, CANFDLLD_OptionTLV *ptrOptInfo)
CANFDLLD_MCANMsgRAMCfgParams::rxFIFO1size
uint32_t rxFIFO1size
Definition: canfd_lld.h:694
CANFDLLD_DmaMsgConfig::data
const void * data
pointer to the data buffer. This should a 2d array of uint8[numMsgs][dataLengthPerMsg]
Definition: canfd_lld.h:1207
CANFDLLD_MCANProtocolStatus::pxe
uint32_t pxe
Definition: canfd_lld.h:817
CANFD_lld_int0Isr
void CANFD_lld_int0Isr(CANFDLLD_Object *ptrCanFdObj)
CANFDLLD_MCANGlobalFiltConfig
Data structure defines the MCAN Global Filter Configuration parameters.
Definition: canfd_lld.h:582
CANFDLLD_MCANErrCode_CRC_ERROR
@ CANFDLLD_MCANErrCode_CRC_ERROR
Definition: canfd_lld.h:394
CANFDLLD_MCANBitTimingParams::dataPseg1
uint32_t dataPseg1
Definition: canfd_lld.h:553
CANFDLLD_MCANXidType_11_BIT
@ CANFDLLD_MCANXidType_11_BIT
Definition: canfd_lld.h:270
CANFDLLD_MCANECCErrForceParams::errOnce
uint32_t errOnce
Definition: canfd_lld.h:847
CANFDLLD_MCANBitTimingParams::nomSjw
uint32_t nomSjw
Definition: canfd_lld.h:544
CANFDLLD_MCANInitParams::txpEnable
uint32_t txpEnable
Definition: canfd_lld.h:923
CANFDLLD_MessageObject::direction
CANFDLLD_Direction direction
Message object direction.
Definition: canfd_lld.h:1262
CANFDLLD_MCANMsgRAMCfgParams::rxFIFO0OpMode
uint32_t rxFIFO0OpMode
Definition: canfd_lld.h:687
CANFDLLD_DmaRxBuf::header1
uint32_t header1
Definition: canfd_lld.h:1226
CANFDLLD_MCANBitTimingParams::nomPropSeg
uint32_t nomPropSeg
Definition: canfd_lld.h:535
CANFDLLD_Object::args
void * args
Pointer to be used by application to store miscellaneous data.
Definition: canfd_lld.h:1187
CANFDLLD_Reason
CANFDLLD_Reason
This enumeration describes a list of all the reasons for which the driver will invoke application cal...
Definition: canfd_lld.h:408
CANFDLLD_MCANElemSize_32BYTES
@ CANFDLLD_MCANElemSize_32BYTES
Definition: canfd_lld.h:208
CANFDLLD_MCANBitTimingParams::dataPseg2
uint32_t dataPseg2
Definition: canfd_lld.h:556
CANFDLLD_MCANProtocolStatus::resi
uint32_t resi
Definition: canfd_lld.h:798
CANFDLLD_Reason_PROTOCOL_ERR_DATA_PHASE
@ CANFDLLD_Reason_PROTOCOL_ERR_DATA_PHASE
Protocol error in data phase detected.
Definition: canfd_lld.h:437
CANFDLLD_MCANElemSize_48BYTES
@ CANFDLLD_MCANElemSize_48BYTES
Definition: canfd_lld.h:211
CANFDLLD_MCANInitParams::timeoutCntEnable
uint32_t timeoutCntEnable
Definition: canfd_lld.h:1033
CANFDLLD_MCANLoopbackCfgParams::enable
uint32_t enable
Definition: canfd_lld.h:518
CANFDLLD_MCANMsgRAMCfgParams::txBufMode
uint32_t txBufMode
Definition: canfd_lld.h:653
CANFDLLD_DmaRxBuf
CANFD Rx Buffer used in DMA mode.
Definition: canfd_lld.h:1224
CANFDLLD_MCANMsgObjectStats::handle
CANFDLLD_MsgObjHandle handle
Definition: canfd_lld.h:1332
CANFDLLD_Handle
CANFDLLD_Object * CANFDLLD_Handle
CANFD module handle returned by the CANFD_lld_init() API call.
Definition: canfd_lld.h:1319
CANFDLLD_MCANMsgRAMCfgParams::lss
uint32_t lss
Definition: canfd_lld.h:626
CANFDLLD_MCANECCErrStatus::row
uint32_t row
Definition: canfd_lld.h:873
CANFDLLD_MessageObject::interruptsRxed
uint32_t interruptsRxed
Number of interrupts received.
Definition: canfd_lld.h:1292
CANFDLLD_MCANTdcConfig::tdco
uint32_t tdco
Definition: canfd_lld.h:575
CANFD_lld_setOptions
int32_t CANFD_lld_setOptions(CANFDLLD_Handle handle, const CANFDLLD_OptionTLV *ptrOptInfo)
CANFDLLD_Object::useFifoNum
uint32_t useFifoNum
Flag to toggle the usage of FIFO 0 and FIFO 1. Valid values are 0 and 1.
Definition: canfd_lld.h:1167
CANFDLLD_MCANMsgRAMCfgParams::txBufNum
uint32_t txBufNum
Definition: canfd_lld.h:640
CANFDLLD_MCANLoopBackMode
CANFDLLD_MCANLoopBackMode
This enumeration defines the MCAN Loopback mode.
Definition: canfd_lld.h:322
CANFDLLD_ErrStatusResp::eccErrStatus
CANFDLLD_MCANECCErrStatus eccErrStatus
Definition: canfd_lld.h:894
CANFDLLD_DriverState_STOPPED
@ CANFDLLD_DriverState_STOPPED
Definition: canfd_lld.h:229
CANFDLLD_OptionTLV::type
CANFDLLD_Option type
Option Name.
Definition: canfd_lld.h:1071
CANFDLLD_DmaMsgConfig
CANFD DMA message configuration used for Tx.
Definition: canfd_lld.h:1195
CANFDLLD_MCANECCErrType_SEC
@ CANFDLLD_MCANECCErrType_SEC
Definition: canfd_lld.h:312
CANFDLLD_OptionTLV::value
void * value
Option Value.
Definition: canfd_lld.h:1081
CANFD_lld_writeDma
int32_t CANFD_lld_writeDma(CANFDLLD_MsgObjHandle handle, uint32_t id, CANFDLLD_MCANFrameType frameType, uint32_t dataLengthPerMsg, uint32_t numMsgs, void *data)
CANFDLLD_MCANInitParams::tdcConfig
CANFDLLD_MCANTdcConfig tdcConfig
Definition: canfd_lld.h:989
CANFDLLD_MCANErrCntStatus::canErrLogCnt
uint32_t canErrLogCnt
Definition: canfd_lld.h:752
CANFDLLD_MCANECCErrStatus::dedErr
uint32_t dedErr
Definition: canfd_lld.h:868
CANFDLLD_MCANInitParams::brsEnable
uint32_t brsEnable
Definition: canfd_lld.h:917
CANFD_lld_createDmaTxMsgObject
int32_t CANFD_lld_createDmaTxMsgObject(CANFDLLD_Object *ptrCanFdObj, CANFDLLD_MessageObject *ptrCanMsgObj)
API to configure dma for the Tx message object. Called from the API CANFD_lld_createMsgObject.
CANFDLLD_Object::busOffInterrupts
uint32_t busOffInterrupts
Number of Bus-Off interrupts received.
Definition: canfd_lld.h:1147
CANFDLLD_MCANECCErrForceParams::errType
uint32_t errType
Definition: canfd_lld.h:831
CANFDLLD_DmaMsgConfig::currentMsgNum
uint32_t currentMsgNum
Used by driver to store current message count out of the numMsgs already processed.
Definition: canfd_lld.h:1211
CANFDLLD_Object::eccInterrupts
uint32_t eccInterrupts
Number of ECC interrupts received.
Definition: canfd_lld.h:1142
CANFDLLD_MCANTimeOutSelect_RX_FIFO0
@ CANFDLLD_MCANTimeOutSelect_RX_FIFO0
Definition: canfd_lld.h:300
CANFDLLD_DriverState_STARTED
@ CANFDLLD_DriverState_STARTED
Definition: canfd_lld.h:226
CANFDLLD_MCANBitTimingParams::dataPropSeg
uint32_t dataPropSeg
Definition: canfd_lld.h:550
CANFDLLD_MCANECCErrStatus::bit1
uint32_t bit1
Definition: canfd_lld.h:877
CANFDLLD_MCANInitParams::emulationEnable
uint32_t emulationEnable
Definition: canfd_lld.h:961
CANFDLLD_MCANInitParams::timeoutSelect
CANFDLLD_MCANTimeOutSelect timeoutSelect
Definition: canfd_lld.h:1020
CANFDLLD_MCANGlobalFiltConfig::rrfs
uint32_t rrfs
Definition: canfd_lld.h:593
CANFDLLD_MCANLoopBackMode_INTERNAL
@ CANFDLLD_MCANLoopBackMode_INTERNAL
Definition: canfd_lld.h:324
CANFDLLD_MCANElemSize_20BYTES
@ CANFDLLD_MCANElemSize_20BYTES
Definition: canfd_lld.h:202
CANFDLLD_Direction_RX
@ CANFDLLD_Direction_RX
Definition: canfd_lld.h:258
CANFDLLD_Object::initParams
CANFDLLD_MCANInitParams initParams
CANFD driver init parameters.
Definition: canfd_lld.h:1107
CANFDLLD_MCANTimeOutSelect
CANFDLLD_MCANTimeOutSelect
This enumeration defines the MCAN timeout counter configuration.
Definition: canfd_lld.h:292
CANFDLLD_MCANInitParams::wkupReqEnable
uint32_t wkupReqEnable
Definition: canfd_lld.h:949
CANFD_lld_init
int32_t CANFD_lld_init(CANFDLLD_Handle hCanfd)
CANFDLLD_MCANECCConfigParams::enable
uint32_t enable
Definition: canfd_lld.h:719
MCAN_MemType
uint32_t MCAN_MemType
Enum to represent the MCAN Message RAM type.
Definition: mcan/v0/mcan.h:341
CANFD_lld_dmaClose
int32_t CANFD_lld_dmaClose(CANFDLLD_Handle canfdHandle)
API to close an CANFD DMA channel.
CANFD_lld_createDmaRxMsgObject
int32_t CANFD_lld_createDmaRxMsgObject(CANFDLLD_Object *ptrCanFdObj, CANFDLLD_MessageObject *ptrCanMsgObj)
API to configure dma for the Rx message object. Called from the CANFD_lld_createMsgObject.
CANFD_lld_errStatusAppCallBack
ATTRIBUTE_WEAK void CANFD_lld_errStatusAppCallBack(CANFDLLD_Handle handle, CANFDLLD_Reason reason, CANFDLLD_ErrStatusResp *errStatusResp)
Application specified callback function which is invoked by the CANFD driver on error or status chang...
MCAN_MAX_TX_MSG_OBJECTS
#define MCAN_MAX_TX_MSG_OBJECTS
Maximum number of Tx message objects that can be supported by CANFD.
Definition: canfd_lld.h:111
CANFDLLD_MCANElemSize_16BYTES
@ CANFDLLD_MCANElemSize_16BYTES
Definition: canfd_lld.h:199
CANFDLLD_MessageObject
CAN message object block.
Definition: canfd_lld.h:1241
CANFDLLD_MCANInitParams::tdcEnable
uint32_t tdcEnable
Definition: canfd_lld.h:984
CANFDLLD_MCANErrCode_NO_CHANGE
@ CANFDLLD_MCANErrCode_NO_CHANGE
Definition: canfd_lld.h:400
CANFDLLD_MCANBitTimingParams::nomBrp
uint32_t nomBrp
Definition: canfd_lld.h:532
CANFDLLD_MCANECCErrForceParams::bit1
uint32_t bit1
Definition: canfd_lld.h:839
CANFD_lld_configBitTime
int32_t CANFD_lld_configBitTime(CANFDLLD_Handle handle, const CANFDLLD_MCANBitTimingParams *bitTimeParams)
CANFDLLD_MCANErrCode
CANFDLLD_MCANErrCode
This enumeration defines the MCAN's Error Code.
Definition: canfd_lld.h:355
CANFDLLD_MCANCommState
CANFDLLD_MCANCommState
This enumeration defines the MCAN's communication state.
Definition: canfd_lld.h:337
CANFD_lld_dataAppCallBack
ATTRIBUTE_WEAK void CANFD_lld_dataAppCallBack(CANFDLLD_MsgObjHandle handle, CANFDLLD_Reason reason)
Application specified callback function which is invoked by the CANFD driver once transmit is complet...
CANFDLLD_DmaChConfig
void * CANFDLLD_DmaChConfig
Definition: canfd_lld.h:506
CANFDLLD_Object::regBaseAddress
uint32_t regBaseAddress
Base address of the register address space to be used.
Definition: canfd_lld.h:1097
CANFDLLD_Option_MCAN_MSG_OBJECT_STATS
@ CANFDLLD_Option_MCAN_MSG_OBJECT_STATS
Definition: canfd_lld.h:474
CANFDLLD_MCANErrCode_ACK_ERROR
@ CANFDLLD_MCANErrCode_ACK_ERROR
Definition: canfd_lld.h:370
CANFDLLD_MCANInitParams::dataInterruptEnable
uint32_t dataInterruptEnable
Definition: canfd_lld.h:1056
CANFDLLD_MessageObject::dmaMsgConfig
CANFDLLD_DmaMsgConfig dmaMsgConfig
Dma message configuration.
Definition: canfd_lld.h:1312
CANFDLLD_MCANTimeOutSelect_CONT
@ CANFDLLD_MCANTimeOutSelect_CONT
Definition: canfd_lld.h:294
CANFDLLD_Option_MCAN_LOOPBACK
@ CANFDLLD_Option_MCAN_LOOPBACK
Definition: canfd_lld.h:490
CANFDLLD_MCANFrameType
CANFDLLD_MCANFrameType
This enumeration defines the CAN frame type.
Definition: canfd_lld.h:280
CANFDLLD_MCANInitParams::monEnable
uint32_t monEnable
Definition: canfd_lld.h:995
CANFDLLD_MCANGlobalFiltConfig::anfs
uint32_t anfs
Definition: canfd_lld.h:607
CANFDLLD_MCANLoopBackMode_EXTERNAL
@ CANFDLLD_MCANLoopBackMode_EXTERNAL
Definition: canfd_lld.h:330
CANFDLLD_MCANLoopbackCfgParams::mode
CANFDLLD_MCANLoopBackMode mode
Definition: canfd_lld.h:521
CANFDLLD_MCANInitParams::fdMode
uint32_t fdMode
Definition: canfd_lld.h:910
CANFDLLD_MCANInitParams::darEnable
uint32_t darEnable
Definition: canfd_lld.h:943
CANFDLLD_MCANProtocolStatus
Data structure defines the MCAN protocol status.
Definition: canfd_lld.h:759
CANFDLLD_ErrStatusResp::protocolStatus
CANFDLLD_MCANProtocolStatus protocolStatus
Definition: canfd_lld.h:897
CANFDLLD_MCANMsgRAMCfgParams::rxFIFO0waterMark
uint32_t rxFIFO0waterMark
Definition: canfd_lld.h:681
CANFDLLD_MCANMsgObjectStats::endMsgIdentifier
uint32_t endMsgIdentifier
Definition: canfd_lld.h:1343
CANFDLLD_MCANInitParams::clkStopFAck
uint32_t clkStopFAck
Definition: canfd_lld.h:973
CANFDLLD_MCANBitTimingParams::nomPseg1
uint32_t nomPseg1
Definition: canfd_lld.h:538
CANFDLLD_MCANProtocolStatus::rbrs
uint32_t rbrs
Definition: canfd_lld.h:804
CANFDLLD_Object::protoDataErrInterrupts
uint32_t protoDataErrInterrupts
Number of Protocol error in data phase interrupts received.
Definition: canfd_lld.h:1152
CANFDLLD_MCANECCErrForceParams::rowNum
uint32_t rowNum
Definition: canfd_lld.h:834
CANFDLLD_MessageObject::messageProcessed
uint32_t messageProcessed
Number of messages processed.
Definition: canfd_lld.h:1297
CANFDLLD_MCANECCConfigParams::enableChk
uint32_t enableChk
Definition: canfd_lld.h:725
CANFDLLD_MessageObject::msgIdType
CANFDLLD_MCANXidType msgIdType
Message object type.
Definition: canfd_lld.h:1267
CANFDLLD_MCANECCErrStatus::secErr
uint32_t secErr
Definition: canfd_lld.h:862
CANFDLLD_MCANMsgRAMCfgParams::rxFIFO0size
uint32_t rxFIFO0size
Definition: canfd_lld.h:674
CANFDLLD_MCANInitParams
Data structure defines the MCAN initialization parameters.
Definition: canfd_lld.h:905
CANFDLLD_MCANInitParams::pxhddisable
uint32_t pxhddisable
Definition: canfd_lld.h:936
CANFDLLD_MCANProtocolStatus::warningStatus
uint32_t warningStatus
Definition: canfd_lld.h:781
CANFDLLD_MCANErrCode_FORM_ERROR
@ CANFDLLD_MCANErrCode_FORM_ERROR
Definition: canfd_lld.h:367
CANFD_lld_createMsgObject
int32_t CANFD_lld_createMsgObject(CANFDLLD_Handle handle, CANFDLLD_MessageObject *ptrCanMsgObj)
CANFDLLD_MCANTimeOutSelect_TX_EVENT_FIFO
@ CANFDLLD_MCANTimeOutSelect_TX_EVENT_FIFO
Definition: canfd_lld.h:297
CANFDLLD_MCANGlobalFiltConfig::anfe
uint32_t anfe
Definition: canfd_lld.h:600
CANFDLLD_MCANMsgRAMCfgParams::txEventFIFOSize
uint32_t txEventFIFOSize
Definition: canfd_lld.h:660
CANFDLLD_DmaMsgConfig::numMsgs
uint32_t numMsgs
Number of messages.
Definition: canfd_lld.h:1203
CANFDLLD_Reason_TX_CANCELED
@ CANFDLLD_Reason_TX_CANCELED
Data transmission is succesfully canceled.
Definition: canfd_lld.h:422
CANFD_lld_dmaOpen
int32_t CANFD_lld_dmaOpen(CANFDLLD_Handle canfdHandle, CANFDLLD_DmaChConfig dmaChCfg)
API to open an CANFD DMA channel.
CANFDLLD_MCANErrCntStatus::rpStatus
uint32_t rpStatus
Definition: canfd_lld.h:749
CANFDLLD_Object::state
CANFDLLD_DriverState state
CANFD driver internal state.
Definition: canfd_lld.h:1102
CANFD_lld_write
int32_t CANFD_lld_write(CANFDLLD_MsgObjHandle handle, uint32_t id, CANFDLLD_MCANFrameType frameType, uint32_t dataLength, const uint8_t *data)
CANFD_lld_deleteMsgObject
int32_t CANFD_lld_deleteMsgObject(CANFDLLD_MsgObjHandle handle)
CANFDLLD_Option_MCAN_MODE
@ CANFDLLD_Option_MCAN_MODE
Definition: canfd_lld.h:482
CANFDLLD_MCANCommState_TRANSMITTER
@ CANFDLLD_MCANCommState_TRANSMITTER
Definition: canfd_lld.h:348
CANFDLLD_Object::protoArbErrInterrupts
uint32_t protoArbErrInterrupts
Number of Protocol error in arbitration phase interrupts received.
Definition: canfd_lld.h:1157
CANFD_lld_configureDmaRx
int32_t CANFD_lld_configureDmaRx(CANFDLLD_Object *ptrCanFdObj, CANFDLLD_MessageObject *ptrCanMsgObj, uint32_t dataLengthPerMsg, uint32_t numMsgs, const void *data)
API to enable dma event transfer for the Rx. Called from the API CANFD_lld_readDma.
CANFDLLD_MCANBitTimingParams::dataBrp
uint32_t dataBrp
Definition: canfd_lld.h:547
CANFDLLD_MessageObject::startMsgId
uint32_t startMsgId
Starting range of the Message Id to which the configuration belongs. For Tx and single Message Id obj...
Definition: canfd_lld.h:1246
CANFDLLD_MessageObject::memType
MCAN_MemType memType
Part of message ram to accessed by this message object. Refer enum MCAN_MemType.
Definition: canfd_lld.h:1287
CANFDLLD_Reason_BUSOFF
@ CANFDLLD_Reason_BUSOFF
Bus Off condition detected.
Definition: canfd_lld.h:432
CANFDLLD_MCANTimeOutSelect_RX_FIFO1
@ CANFDLLD_MCANTimeOutSelect_RX_FIFO1
Definition: canfd_lld.h:303
CANFDLLD_MCANECCErrForceParams
Data structure defines the ECC Error forcing.
Definition: canfd_lld.h:827
CANFDLLD_MCANMsgObjectStats::startMsgIdentifier
uint32_t startMsgIdentifier
Definition: canfd_lld.h:1339
CANFDLLD_MCANECCErrType_DED
@ CANFDLLD_MCANECCErrType_DED
Definition: canfd_lld.h:315
CANFDLLD_Reason_RX
@ CANFDLLD_Reason_RX
Data has been received and the application is required to read and process the data.
Definition: canfd_lld.h:412
CANFDLLD_MCANInitParams::emulationFAck
uint32_t emulationFAck
Definition: canfd_lld.h:967
CANFDLLD_MCANXidType
CANFDLLD_MCANXidType
This enumeration defines the values used to represent the CAN Identifier Type.
Definition: canfd_lld.h:268
CANFDLLD_MCANECCErrType
CANFDLLD_MCANECCErrType
This enumeration defines the MCAN ECC Error Types.
Definition: canfd_lld.h:310
CANFD_lld_writeDmaTriggerNext
int32_t CANFD_lld_writeDmaTriggerNext(CANFDLLD_MsgObjHandle handle)
CANFDLLD_MCANProtocolStatus::dlec
uint32_t dlec
Definition: canfd_lld.h:792
CANFDLLD_MCANProtocolStatus::lastErrCode
uint32_t lastErrCode
Definition: canfd_lld.h:763
CANFDLLD_Object::canfdDmaChCfg
CANFDLLD_DmaChConfig canfdDmaChCfg
Pointer to Dma channel configuration.
Definition: canfd_lld.h:1182
CANFDLLD_Object::canfdDmaHandle
CANFDLLD_DmaHandle canfdDmaHandle
Dma driver handle.
Definition: canfd_lld.h:1177
CANFDLLD_Reason_PROTOCOL_ERR_ARB_PHASE
@ CANFDLLD_Reason_PROTOCOL_ERR_ARB_PHASE
Protocol error in arbitration phase detected.
Definition: canfd_lld.h:442
CANFDLLD_MessageObject::endMsgId
uint32_t endMsgId
Ending range of the Message Id to which the configuration belongs For Tx and single Message Id object...
Definition: canfd_lld.h:1252
CANFDLLD_MCANElemSize_8BYTES
@ CANFDLLD_MCANElemSize_8BYTES
Definition: canfd_lld.h:193
CANFDLLD_DmaRxBuf::header2
uint32_t header2
Definition: canfd_lld.h:1228
ATTRIBUTE_WEAK
#define ATTRIBUTE_WEAK
Definition: canfd_lld.h:106
CANFDLLD_DmaMsgConfig::dataLengthPerMsg
uint32_t dataLengthPerMsg
data length in Bytes for every message.
Definition: canfd_lld.h:1199
CANFDLLD_MCANInitParams::msgRAMConfig
CANFDLLD_MCANMsgRAMCfgParams msgRAMConfig
Definition: canfd_lld.h:1043
CANFD_lld_configureDmaTx
int32_t CANFD_lld_configureDmaTx(CANFDLLD_Object *ptrCanFdObj, CANFDLLD_MessageObject *ptrCanMsgObj, uint32_t dataLengthPerMsg, uint32_t numMsgs, const void *data)
API to enable dma event transfer for the Tx. Called from the API CANFD_lld_writeDma.
CANFDLLD_Direction
CANFDLLD_Direction
This enumeration defines the values used to set the direction of message object.
Definition: canfd_lld.h:256
CANFDLLD_MCANCommState_SYNCHRONIZING
@ CANFDLLD_MCANCommState_SYNCHRONIZING
Definition: canfd_lld.h:339
CANFDLLD_MCANLoopbackCfgParams
Data structure defines the MCAN Loopback parameters.
Definition: canfd_lld.h:512
CANFDLLD_Reason_ECC_ERROR
@ CANFDLLD_Reason_ECC_ERROR
Data has been succesfully transmitted.
Definition: canfd_lld.h:427
CANFDLLD_MCANECCErrStatus::bit2
uint32_t bit2
Definition: canfd_lld.h:882
CANFDLLD_MCANTdcConfig::tdcf
uint32_t tdcf
Definition: canfd_lld.h:570
CANFD_dmaTxCompletionCallback
ATTRIBUTE_WEAK void CANFD_dmaTxCompletionCallback(CANFDLLD_MessageObject *ptrCanMsgObj, void *data, uint32_t completionType)
Callback function for the Tx completion. This is called for each message in the array of msgs provide...
CANFDLLD_MCANInitParams::filterConfig
CANFDLLD_MCANGlobalFiltConfig filterConfig
Definition: canfd_lld.h:1038
CANFDLLD_MCANFrameType_FD
@ CANFDLLD_MCANFrameType_FD
Definition: canfd_lld.h:285
CANFDLLD_MCANOperationMode
CANFDLLD_MCANOperationMode
Enumerates the values used to represent the MCAN mode of operation.
Definition: canfd_lld.h:244
CANFDLLD_MCANInitParams::efbi
uint32_t efbi
Definition: canfd_lld.h:930
CANFDLLD_MCANMsgRAMCfgParams::rxFIFO1OpMode
uint32_t rxFIFO1OpMode
Definition: canfd_lld.h:707
CANFDLLD_MCANInitParams::eccConfig
CANFDLLD_MCANECCConfigParams eccConfig
Definition: canfd_lld.h:1048
CANFDLLD_MCANErrCode_BIT1_ERROR
@ CANFDLLD_MCANErrCode_BIT1_ERROR
Definition: canfd_lld.h:377