332 #ifndef ti_drivers_can__include 333 #define ti_drivers_can__include 339 #include <ti/devices/DeviceFamily.h> 357 #define CAN_STATUS_SUCCESS ((int_fast16_t)0) 365 #define CAN_STATUS_ERROR ((int_fast16_t)-1) 373 #define CAN_STATUS_NOT_SUPPORTED ((int_fast16_t)-2) 380 #define CAN_STATUS_TX_BUF_FULL ((int_fast16_t)-3) 388 #define CAN_STATUS_NO_RX_MSG_AVAIL ((int_fast16_t)-4) 396 #define CAN_STATUS_NO_TX_EVENT_AVAIL ((int_fast16_t)-5) 413 #define CAN_EVENT_SPI_XFER_ERROR (0x800U) 421 #define CAN_EVENT_BIT_ERR_UNCORRECTED (0x400U) 431 #define CAN_EVENT_RX_RING_BUFFER_FULL (0x200U) 438 #define CAN_EVENT_RX_FIFO_MSG_LOST (0x100U) 443 #define CAN_EVENT_ERR_PASSIVE (0x80U) 448 #define CAN_EVENT_ERR_ACTIVE (0x40U) 453 #define CAN_EVENT_BUS_OFF (0x20U) 458 #define CAN_EVENT_BUS_ON (0x10U) 466 #define CAN_EVENT_TX_EVENT_LOST (0x08U) 475 #define CAN_EVENT_TX_EVENT_AVAIL (0x04U) 480 #define CAN_EVENT_TX_FINISHED (0x02U) 488 #define CAN_EVENT_RX_DATA_AVAIL (0x01U) 497 #define CAN_DLC_0B ((uint32_t)0U) 498 #define CAN_DLC_1B ((uint32_t)1U) 499 #define CAN_DLC_2B ((uint32_t)2U) 500 #define CAN_DLC_3B ((uint32_t)3U) 501 #define CAN_DLC_4B ((uint32_t)4U) 502 #define CAN_DLC_5B ((uint32_t)5U) 503 #define CAN_DLC_6B ((uint32_t)6U) 504 #define CAN_DLC_7B ((uint32_t)7U) 505 #define CAN_DLC_8B ((uint32_t)8U) 506 #define CAN_DLC_12B ((uint32_t)9U) 507 #define CAN_DLC_16B ((uint32_t)10U) 508 #define CAN_DLC_20B ((uint32_t)11U) 509 #define CAN_DLC_24B ((uint32_t)12U) 510 #define CAN_DLC_32B ((uint32_t)13U) 511 #define CAN_DLC_48B ((uint32_t)14U) 512 #define CAN_DLC_64B ((uint32_t)15U) 531 #define CAN_FEC_DISABLE_FILTER ((uint32_t)0U) 532 #define CAN_FEC_STORE_RXFIFO0 ((uint32_t)1U) 533 #define CAN_FEC_STORE_RXFIFO1 ((uint32_t)2U) 534 #define CAN_FEC_REJECT_ID ((uint32_t)3U) 535 #define CAN_FEC_SET_PRIO ((uint32_t)4U) 536 #define CAN_FEC_SET_PRIO_STORE_RXFIFO0 ((uint32_t)5U) 537 #define CAN_FEC_SET_PRIO_STORE_RXFIFO1 ((uint32_t)6U) 538 #define CAN_FEC_STORE_RXBUF ((uint32_t)7U) 550 #define CAN_FILTER_RANGE ((uint32_t)0U) 551 #define CAN_FILTER_DUAL_ID ((uint32_t)1U) 552 #define CAN_FILTER_WITH_MASK ((uint32_t)2U) 553 #define CAN_FILTER_DISABLE ((uint32_t)3U) 606 typedef void (*
CAN_EventCbk)(CAN_Handle handle, uint32_t event, uint32_t data,
void *userArg);
635 uint32_t rxFifoNum[2];
760 uint32_t rxFifoNum[2];
787 #if (DeviceFamily_PARENT == DeviceFamily_PARENT_CC27XX) 899 int_fast16_t
CAN_read(CAN_Handle handle, CAN_RxBufElement *elem);
913 int_fast16_t
CAN_write(CAN_Handle handle,
const CAN_TxBufElement *elem);
941 int_fast16_t
CAN_writeBuffer(CAN_Handle handle, uint32_t bufIdx,
const CAN_TxBufElement *elem);
955 int_fast16_t
CAN_readTxEvent(CAN_Handle handle, CAN_TxEventElement *elem);
968 void CAN_getBitTiming(CAN_Handle handle, CAN_BitTimingParams *bitTiming, uint32_t *clkFreq);
ADC_Params params
Definition: Driver_Init.h:11
uint32_t nbrp
Definition: CAN.h:701
MCAN_TxEventFifoElement CAN_TxEventElement
A CAN Tx Event element struct for CAN_readTxEvent().
Definition: CAN.h:569
void(* CAN_EventCbk)(CAN_Handle handle, uint32_t event, uint32_t data, void *userArg)
The definition of a callback function used by the CAN driver.
Definition: CAN.h:606
CAN Object.
Definition: CAN.h:749
bool isOpen
Definition: CAN.h:765
uint32_t rxBufNum
Definition: CAN.h:759
void * userArg
Definition: CAN.h:753
Structure for MCAN Standard Message ID Filter Element.
Definition: MCAN.h:1158
CAN hardware attributes.
Definition: CAN.h:775
uint_least8_t rxPin
Definition: CAN.h:791
uint32_t eventMask
Definition: CAN.h:752
uint32_t txFifoQNum
Definition: CAN.h:642
void CAN_init(void)
This function initializes the CAN module.
int_fast16_t CAN_enableLoopbackInt(CAN_Handle handle)
Enables internal loopback test mode.
uint32_t intPriority
Definition: CAN.h:788
struct CAN_Config_ * CAN_Handle
A handle that is returned from a CAN_open() call.
Definition: CAN.h:579
uint32_t nsjw
Definition: CAN.h:714
MCAN_StdMsgIDFilterElement * stdMsgIDFilterList
Definition: CAN.h:625
uint32_t txPinMux
Definition: CAN.h:790
uint32_t dtSeg1
Definition: CAN.h:665
Structure for MCAN Extended Message ID Filter Element.
Definition: MCAN.h:1213
uint32_t tsPrescaler
Definition: CAN.h:738
bool enableCANFD
Definition: CAN.h:777
StructRingBuf_Object txStructRingBuf
Definition: CAN.h:763
uint32_t dbrp
Definition: CAN.h:659
int_fast16_t CAN_write(CAN_Handle handle, const CAN_TxBufElement *elem)
Sends CAN message using the Tx FIFO/Queue.
uint32_t dtSeg2
Definition: CAN.h:669
size_t txRingBufSize
Definition: CAN.h:786
CAN Message RAM configuration.
Definition: CAN.h:619
struct CAN_Config_ CAN_Config
CAN Global configuration.
CAN_Object * object
Definition: CAN.h:806
CAN_Handle CAN_open(uint_least8_t index, CAN_Params *params)
Initializes a CAN driver instance and returns a handle.
uint32_t txEventFifoNum
Definition: CAN.h:647
const CAN_DataBitRateTimingRaw * dataTiming
Definition: CAN.h:720
uint32_t tdcFilterWinLen
Definition: CAN.h:683
CAN Global configuration.
Definition: CAN.h:803
uint32_t txFifoQNum
Definition: CAN.h:757
Structure for bit timing parameters.
Definition: MCAN.h:441
uint32_t ntSeg2
Definition: CAN.h:710
uint32_t extFilterNum
Definition: CAN.h:623
MCAN_TxBufElement CAN_TxBufElement
A CAN Tx buffer element struct for CAN_write() and CAN_writeBuffer().
Definition: CAN.h:564
CAN_EventCbk eventCbk
Definition: CAN.h:739
MCAN_RxBufElement CAN_RxBufElement
A CAN Rx buffer element struct for CAN_read().
Definition: CAN.h:559
Structure for MCAN Tx Event FIFO element.
Definition: MCAN.h:1106
Structure defining the raw MCAN CAN FD data phase bit rate configuration.
Definition: CAN.h:657
uint32_t txFifoQMode
Definition: CAN.h:644
int_fast16_t CAN_enableLoopbackExt(CAN_Handle handle)
Enables external loopback test mode.
const CAN_BitRateTimingRaw * bitTiming
Definition: CAN.h:737
uint32_t dsjw
Definition: CAN.h:673
uint32_t dataBitRate
Definition: CAN.h:781
uint32_t intMask
Definition: CAN.h:754
uint_least8_t txPin
Definition: CAN.h:792
Definition: StructRingBuf.h:45
const CAN_MsgRamConfig * msgRamConfig
Definition: CAN.h:736
void * rxRingBufPtr
Definition: CAN.h:783
const uint_least8_t CAN_count
size_t rxRingBufSize
Definition: CAN.h:785
MCAN_BitTimingParams CAN_BitTimingParams
A CAN bit timing struct for CAN_getBitTiming().
Definition: CAN.h:574
bool enableBRS
Definition: CAN.h:778
uint32_t txBufNum
Definition: CAN.h:756
uint32_t rxPinMux
Definition: CAN.h:789
void CAN_Params_init(CAN_Params *params)
Initializes the CAN_Params struct to its default values.
MCAN_ExtMsgIDFilterElement * extMsgIDFilterList
Definition: CAN.h:627
bool rejectNonMatchingMsgs
Definition: CAN.h:779
void * txRingBufPtr
Definition: CAN.h:784
uint32_t stdFilterNum
Definition: CAN.h:621
int_fast16_t CAN_read(CAN_Handle handle, CAN_RxBufElement *elem)
Reads a received CAN message.
uint32_t nominalBitRate
Definition: CAN.h:780
Structure for MCAN Tx Buffer element.
Definition: MCAN.h:896
uint32_t ntSeg1
Definition: CAN.h:706
uint32_t eventMask
Definition: CAN.h:740
uint32_t txBufNum
Definition: CAN.h:640
uint32_t txEventFifoNum
Definition: CAN.h:758
int_fast16_t CAN_writeBuffer(CAN_Handle handle, uint32_t bufIdx, const CAN_TxBufElement *elem)
Sends CAN message using a dedicated Tx Buffer.
void * userArg
Definition: CAN.h:741
StructRingBuf_Object rxStructRingBuf
Definition: CAN.h:762
Structure defining the raw MCAN bit rate configuration.
Definition: CAN.h:699
void CAN_close(CAN_Handle handle)
Closes a CAN peripheral specified by handle.
int_fast16_t CAN_readTxEvent(CAN_Handle handle, CAN_TxEventElement *elem)
Reads the next available CAN Tx Event FIFO element.
void CAN_getBitTiming(CAN_Handle handle, CAN_BitTimingParams *bitTiming, uint32_t *clkFreq)
Get the CAN bit timings and functional clock frequency.
Structure for MCAN Rx Buffer element.
Definition: MCAN.h:998
Hardware abstraction layer for M_CAN Controller v3.2.1.
int_fast16_t CAN_disableLoopback(CAN_Handle handle)
Disables loopback test mode.
uint32_t tdcOffset
Definition: CAN.h:677
CAN_EventCbk eventCbk
Definition: CAN.h:751
const CAN_Config CAN_config[]
const CAN_HWAttrs * hwAttrs
Definition: CAN.h:809
uint32_t rxBufNum
Definition: CAN.h:637
CAN Parameters.
Definition: CAN.h:734