xWRL6432 MMWAVE-L-SDK  05.04.00.01
CANFD_DRIVER_EXTERNAL_DATA_STRUCTURE

Introduction

Data Structures

struct  CANFDLLD_MCANLoopbackCfgParams
 Data structure defines the MCAN Loopback parameters. More...
 
struct  CANFDLLD_MCANBitTimingParams
 Data structure defines the parameters for bit timing calculation. Bit timing related to data phase will be valid only in case where MCAN is put in CANFD mode and will be '0' otherwise. More...
 
struct  CANFDLLD_MCANTdcConfig
 Data structure defines the MCAN Transmitter Delay Compensation parameters. More...
 
struct  CANFDLLD_MCANGlobalFiltConfig
 Data structure defines the MCAN Global Filter Configuration parameters. More...
 
struct  CANFDLLD_MCANMsgRAMCfgParams
 Data structure defines the MCAN Message RAM Configuration Parameters. Message RAM can contain following sections: Standard ID filters, Extended ID filters, TX FIFO(or TX Q), TX Buffers, TX EventFIFO, RX FIFO0, RX FIFO1, RX Buffer. Note: If particular section in the RAM is not used then it's size should be initialized to '0' (Number of buffers in case of Tx/Rx buffer). More...
 
struct  CANFDLLD_MCANECCConfigParams
 Data structure defines the MCAN ECC configuration parameters. More...
 
struct  CANFDLLD_MCANErrCntStatus
 Data structure defines the MCAN error logging counters status. More...
 
struct  CANFDLLD_MCANProtocolStatus
 Data structure defines the MCAN protocol status. More...
 
struct  CANFDLLD_MCANECCErrForceParams
 Data structure defines the ECC Error forcing. More...
 
struct  CANFDLLD_MCANECCErrStatus
 Data structure defines the ECC Error Status. More...
 
struct  CANFDLLD_ErrStatusResp
 Response structure definition for Error and status information. More...
 
struct  CANFDLLD_MCANInitParams
 Data structure defines the MCAN initialization parameters. More...
 
struct  CANFDLLD_OptionTLV
 Options TLV data structure. More...
 
struct  CANFDLLD_Object
 CANFD Master Control Block. More...
 
struct  CANFDLLD_DmaMsgConfig
 CANFD DMA message configuration used for Tx. More...
 
struct  CANFDLLD_DmaRxBuf
 CANFD Rx Buffer used in DMA mode. More...
 
struct  CANFDLLD_MessageObject
 CAN message object block. More...
 
struct  CANFDLLD_MCANMsgObjectStats
 Data structure defines the software maintained message object statistics. More...
 

Typedefs

typedef void * CANFDLLD_DmaHandle
 
typedef void * CANFDLLD_DmaChConfig
 
typedef CANFDLLD_ObjectCANFDLLD_Handle
 CANFD module handle returned by the CANFD_lld_init() API call. More...
 
typedef CANFDLLD_MessageObjectCANFDLLD_MsgObjHandle
 CANFD message object handle returned by the CANFD_lld_createMsgObject() API call. More...
 

Enumerations

enum  CANFDLLD_MCANOperationMode { CANFDLLD_MCANOperationMode_NORMAL = 0U, CANFDLLD_MCANOperationMode_SW_INIT = 1U }
 Enumerates the values used to represent the MCAN mode of operation. More...
 
enum  CANFDLLD_Direction { CANFDLLD_Direction_RX, CANFDLLD_Direction_TX }
 This enumeration defines the values used to set the direction of message object. More...
 
enum  CANFDLLD_MCANXidType { CANFDLLD_MCANXidType_11_BIT, CANFDLLD_MCANXidType_29_BIT }
 This enumeration defines the values used to represent the CAN Identifier Type. More...
 
enum  CANFDLLD_MCANFrameType { CANFDLLD_MCANFrameType_CLASSIC, CANFDLLD_MCANFrameType_FD }
 This enumeration defines the CAN frame type. More...
 
enum  CANFDLLD_MCANTimeOutSelect { CANFDLLD_MCANTimeOutSelect_CONT = 0U, CANFDLLD_MCANTimeOutSelect_TX_EVENT_FIFO = 1U, CANFDLLD_MCANTimeOutSelect_RX_FIFO0 = 2U, CANFDLLD_MCANTimeOutSelect_RX_FIFO1 = 3U }
 This enumeration defines the MCAN timeout counter configuration. More...
 
enum  CANFDLLD_MCANECCErrType { CANFDLLD_MCANECCErrType_SEC = 0U, CANFDLLD_MCANECCErrType_DED = 1U }
 This enumeration defines the MCAN ECC Error Types. More...
 
enum  CANFDLLD_MCANLoopBackMode { CANFDLLD_MCANLoopBackMode_INTERNAL = 0U, CANFDLLD_MCANLoopBackMode_EXTERNAL = 1U }
 This enumeration defines the MCAN Loopback mode. More...
 
enum  CANFDLLD_MCANCommState { CANFDLLD_MCANCommState_SYNCHRONIZING = 0U, CANFDLLD_MCANCommState_IDLE = 1U, CANFDLLD_MCANCommState_RECEIVER = 2U, CANFDLLD_MCANCommState_TRANSMITTER = 3U }
 This enumeration defines the MCAN's communication state. More...
 
enum  CANFDLLD_MCANErrCode {
  CANFDLLD_MCANErrCode_NO_ERROR = 0U, CANFDLLD_MCANErrCode_STUFF_ERROR = 1U, CANFDLLD_MCANErrCode_FORM_ERROR = 2U, CANFDLLD_MCANErrCode_ACK_ERROR = 3U,
  CANFDLLD_MCANErrCode_BIT1_ERROR = 4U, CANFDLLD_MCANErrCode_BIT0_ERROR = 5U, CANFDLLD_MCANErrCode_CRC_ERROR = 6U, CANFDLLD_MCANErrCode_NO_CHANGE = 7U
}
 This enumeration defines the MCAN's Error Code. More...
 
enum  CANFDLLD_Reason {
  CANFDLLD_Reason_RX = 0x1, CANFDLLD_Reason_TX_COMPLETION = 0x2, CANFDLLD_Reason_TX_CANCELED = 0x3, CANFDLLD_Reason_ECC_ERROR = 0x4,
  CANFDLLD_Reason_BUSOFF = 0x5, CANFDLLD_Reason_PROTOCOL_ERR_DATA_PHASE = 0x6, CANFDLLD_Reason_PROTOCOL_ERR_ARB_PHASE = 0x7
}
 This enumeration describes a list of all the reasons for which the driver will invoke application callback functions. More...
 
enum  CANFDLLD_Option {
  CANFDLLD_Option_MCAN_ERROR_COUNTER, CANFDLLD_Option_MCAN_PROTOCOL_STATUS, CANFDLLD_Option_MCAN_MSG_OBJECT_STATS, CANFDLLD_Option_MCAN_MODE,
  CANFDLLD_Option_MCAN_LOOPBACK, CANFDLLD_Option_MCAN_POWER_DOWN
}
 This enumeration defines the values used to represent the GET/SET options. More...
 

Typedef Documentation

◆ CANFDLLD_DmaHandle

typedef void* CANFDLLD_DmaHandle

◆ CANFDLLD_DmaChConfig

typedef void* CANFDLLD_DmaChConfig

◆ CANFDLLD_Handle

CANFD module handle returned by the CANFD_lld_init() API call.

◆ CANFDLLD_MsgObjHandle

CANFD message object handle returned by the CANFD_lld_createMsgObject() API call.

Enumeration Type Documentation

◆ CANFDLLD_MCANOperationMode

Enumerates the values used to represent the MCAN mode of operation.

Enumerator
CANFDLLD_MCANOperationMode_NORMAL 

MCAN normal mode

CANFDLLD_MCANOperationMode_SW_INIT 

MCAN SW initialization mode

◆ CANFDLLD_Direction

This enumeration defines the values used to set the direction of message object.

Enumerator
CANFDLLD_Direction_RX 

Message object used to receive data

CANFDLLD_Direction_TX 

Message object used to transmit data

◆ CANFDLLD_MCANXidType

This enumeration defines the values used to represent the CAN Identifier Type.

Enumerator
CANFDLLD_MCANXidType_11_BIT 

11bit MCAN Identifier

CANFDLLD_MCANXidType_29_BIT 

29bit MCAN Identifier

◆ CANFDLLD_MCANFrameType

This enumeration defines the CAN frame type.

Enumerator
CANFDLLD_MCANFrameType_CLASSIC 

Classic Frame

CANFDLLD_MCANFrameType_FD 

FD Frame

◆ CANFDLLD_MCANTimeOutSelect

This enumeration defines the MCAN timeout counter configuration.

Enumerator
CANFDLLD_MCANTimeOutSelect_CONT 

Continuous operation Mode

CANFDLLD_MCANTimeOutSelect_TX_EVENT_FIFO 

Timeout controlled by Tx Event FIFO

CANFDLLD_MCANTimeOutSelect_RX_FIFO0 

Timeout controlled by Rx FIFO 0

CANFDLLD_MCANTimeOutSelect_RX_FIFO1 

Timeout controlled by Rx FIFO 1

◆ CANFDLLD_MCANECCErrType

This enumeration defines the MCAN ECC Error Types.

Enumerator
CANFDLLD_MCANECCErrType_SEC 

ECC Single Error Correction

CANFDLLD_MCANECCErrType_DED 

ECC Single Error Detection

◆ CANFDLLD_MCANLoopBackMode

This enumeration defines the MCAN Loopback mode.

Enumerator
CANFDLLD_MCANLoopBackMode_INTERNAL 

This mode can be used for hot self-test and this mode will not affect bus state.

CANFDLLD_MCANLoopBackMode_EXTERNAL 

In this mode, MCAN the MCAN treats its own transmitted messages as received messages and stores them (if they pass acceptance filtering) into an Rx Buffer or an Rx FIFO. This mode will affect bus state.

◆ CANFDLLD_MCANCommState

This enumeration defines the MCAN's communication state.

Enumerator
CANFDLLD_MCANCommState_SYNCHRONIZING 

MCAN is synchronizing on CANFD communication

CANFDLLD_MCANCommState_IDLE 

MCAN is neither receiver nor transmitter

CANFDLLD_MCANCommState_RECEIVER 

MCAN is operating as receiver

CANFDLLD_MCANCommState_TRANSMITTER 

MCAN is operating as transmitter

◆ CANFDLLD_MCANErrCode

This enumeration defines the MCAN's Error Code.

Enumerator
CANFDLLD_MCANErrCode_NO_ERROR 

No error occurred since LEC has been reset by successful reception or transmission.

CANFDLLD_MCANErrCode_STUFF_ERROR 

More than 5 equal bits in a sequence have occurred in a part of a received message where this is not allowed.

CANFDLLD_MCANErrCode_FORM_ERROR 

A fixed format part of a received frame has the wrong format.

CANFDLLD_MCANErrCode_ACK_ERROR 

The message transmitted by the MCAN was not acknowledged by another node.

CANFDLLD_MCANErrCode_BIT1_ERROR 

During the transmission of a message (with the exception of the arbitration field), the device wanted to send a recessive level (bit of logical value 1), but the monitored bus value was dominant.

CANFDLLD_MCANErrCode_BIT0_ERROR 

During the transmission of a message (or acknowledge bit, or active error flag, or overload flag), the device wanted to send a dominant level (data or identifier bit logical value 0), but the monitored bus value was recessive. During Bus_Off recovery this status is set each time a sequence of 11 recessive bits has been monitored. This enables the CPU to monitor the proceeding of the Bus_Off recovery sequence (indicating the bus is not stuck at dominant or continuously disturbed).

CANFDLLD_MCANErrCode_CRC_ERROR 

The CRC check sum of a received message was incorrect. The CRC of an incoming message does not match with the CRC calculated from the received data.

CANFDLLD_MCANErrCode_NO_CHANGE 

Any read access to the Protocol Status Register re-initializes the LEC to 7. When the LEC shows the value 7, no CANFD bus event was detected since the last CPU read access to the Protocol Status Register.

◆ CANFDLLD_Reason

This enumeration describes a list of all the reasons for which the driver will invoke application callback functions.

Enumerator
CANFDLLD_Reason_RX 

Data has been received and the application is required to read and process the data.

CANFDLLD_Reason_TX_COMPLETION 

Data has been succesfully transmitted.

CANFDLLD_Reason_TX_CANCELED 

Data transmission is succesfully canceled.

CANFDLLD_Reason_ECC_ERROR 

Data has been succesfully transmitted.

CANFDLLD_Reason_BUSOFF 

Bus Off condition detected.

CANFDLLD_Reason_PROTOCOL_ERR_DATA_PHASE 

Protocol error in data phase detected.

CANFDLLD_Reason_PROTOCOL_ERR_ARB_PHASE 

Protocol error in arbitration phase detected.

◆ CANFDLLD_Option

This enumeration defines the values used to represent the GET/SET options.

See also
CANFDLLD_OptionTLV
Enumerator
CANFDLLD_Option_MCAN_ERROR_COUNTER 

Used to get the MCAN Tx and Rx error counters

See also
CANFD_lld_getOptions

NOTE: The length in the TLV should be sizeof(CANFDLLD_MCANErrCntStatus) for this option.

CANFDLLD_Option_MCAN_PROTOCOL_STATUS 

Used to get the MCAN protocol status

See also
CANFD_lld_getOptions

NOTE: The length in the TLV should be sizeof(CANFDLLD_MCANProtocolStatus) for this option.

CANFDLLD_Option_MCAN_MSG_OBJECT_STATS 

Used to get the MCAN message object software maintained statistics

See also
CANFD_lld_getOptions

NOTE: The length in the TLV should be sizeof(CANFDLLD_MCANMsgObjectStats) for this option. Application must fill in the message object handle for which the statistics is requested.

CANFDLLD_Option_MCAN_MODE 

Used to put the MCAN module in init or operational state

See also
CANFD_lld_setOptions

NOTE: The length in the TLV should be 1 byte for this option. Valid values: Refer to (CANFDLLD_MCANOperationMode)

CANFDLLD_Option_MCAN_LOOPBACK 

Used to enable or disable internal/external loopback mode

See also
CANFD_lld_setOptions

NOTE: The length in the TLV should be sizeof(CANFDLLD_MCANLoopbackCfgParams) for this option.

CANFDLLD_Option_MCAN_POWER_DOWN 

Used to request a local power down or wakeup from a local power down

See also
CANFD_lld_setOptions

NOTE: The length in the TLV should be 1 byte for this option. Valid values are 1 - MCAN Sleep 0 - MCAN Wakeup