MCUSW
Loading...
Searching...
No Matches
CDD UART Driver API

Introduction

This module implements a CDD driver in ANSI C programming language to centralize the configuration of ports and pins which are used by more than one driver module. This driver can:

This file defines CDD UART data structures

See also
CDD Uart Configuration

Macros

#define UART_FIFO_SIZE   (64U)
 Uart FIFO Size.
 
#define UART_TRANSMITEMPTY_TRIALCOUNT   (3000U)
 Timeout in ms used for TX FIFO empty at the time of delete. Three seconds is more than sufficient to transfer 64 bytes (FIFO size) at the lowest baud rate of 2400.
 
#define UART_STATE_RX_DISABLED   (0x0U)
 
#define UART_STATE_RX_ENABLED   (0x1U)
 
#define IS_DATA_LENGTH_VALID(dataLength)
 Macro to check if the Data length is valid.
 
#define IS_STOP_BITS_VALID(stopBits)
 Macro to check if the Number of stop bits is valid.
 
#define IS_PARITY_TYPE_VALID(parityType)
 Macro to check if the Parity type is valid.
 
#define IS_OPER_MODE_VALID(operMode)
 Macro to check if the Operation mode is valid.
 
#define IS_RXTRIG_LVL_VALID(rxTrigLvl)
 Macro to check if the RX Trigger level is valid.
 
#define IS_TXTRIG_LVL_VALID(txTrigLvl)
 Macro to check if the TX Trigger level is valid.
 

MCAL Driver states

typedef uint8 CddUartDataBufferType
 Typedef for the data buffer elements.
 
typedef uint8_least CddUartDataDirectionType
 Type for defining the direction of data transfer, i.e., sending or receival.
 
void Cdd_Uart_GetVersionInfo (Std_VersionInfoType *VersionInfoPtr)
 Service for getting CDD UART version.
 
Std_ReturnType Cdd_Uart_RegisterReadback (uint8 ChannelID, CddUart_RegisterReadbackType *RegisterSetPtr)
 Service for reading HW IP registers of a CDD UART instance.
 
void Cdd_Uart_Init (const Cdd_Uart_CfgType *ConfigurationPtr)
 Service for CDD UART Initialization.
 
void Cdd_Uart_DeInit (void)
 Service for deinitializing CDD UART.
 
Std_ReturnType Cdd_Uart_Write (uint8 ChannelID, CddUartDataBufferType *SrcBufferPtr, uint32 Count, uint32 Timeout)
 Service to transmit message using UART.
 
Std_ReturnType Cdd_Uart_Read (uint8 ChannelID, CddUartDataBufferType *DestBufferPtr, uint32 Count, uint32 Timeout)
 Service to read message or command from the UART.
 
boolean Cdd_Uart_Cancel (uint8 ChannelID, CddUartDataDirectionType TransferType)
 Service to cancel an ongoing transaction with UART.
 
uint32 Cdd_Uart_GetRemainingWords (uint8 ChannelID, CddUartDataDirectionType TransferType)
 Service to get remaining words to be transmitted from the UART for any ongoing transaction.
 
#define MCAL_STATE_RESET   (0U)
 
#define MCAL_STATE_READY   (1U)
 
#define MCAL_STATE_BUSY   (2U)
 
#define MCAL_STATE_ERROR   (3U)
 

CDD UART Driver ID Info

name CDD UART Driver ID Info

#define CDD_UART_MODULE_ID   255U
 CDD Module ID.
 
#define CDD_UART_VENDOR_ID   44U
 Texas Instruments Vendor ID.
 
#define CDD_UART_INSTANCE_ID   0U
 Texas Instruments Vendor ID.
 

CDD UART Driver Module Version Info

Defines for CDD Driver version used for compatibility checks

#define CDD_UART_SW_MAJOR_VERSION   CDD_UART_MAJOR_VERSION
 Driver Implementation Major Version.
 
#define CDD_UART_SW_MINOR_VERSION   CDD_UART_MINOR_VERSION
 Driver Implementation Minor Version.
 
#define CDD_UART_SW_PATCH_VERSION   CDD_UART_CFG_PATCH_VERSION
 Driver Implementation patch Version.
 

CDD UART Driver Module AUTOSAR Version Info

Defines for CDD Driver AUTOSAR version used for compatibility checks

#define CDD_UART_AR_RELEASE_MAJOR_VERSION   4U
 AUTOSAR Major version specification implemented by CDD Driver.
 
#define CDD_UART_AR_RELEASE_MINOR_VERSION   3U
 AUTOSAR Minor version specification implemented by CDD Driver.
 
#define CDD_UART_AR_RELEASE_REVISION_VERSION   1U
 AUTOSAR Patch version specification implemented by CDD Driver.
 

CDD UART API Service ID

#define CDD_UART_INIT_SERVICE_ID   0x01U
 API Service ID for initialization.
 
#define CDD_UART_GETVERSIONINFO_SERVICE_ID   0x02U
 API Service ID for get version info.
 
#define CDD_UART_REGISTERREADBACK_SERVICE_ID   0x0DU
 API Service ID for Register Readback service ID.
 
#define CDD_UART_READDATA_SERVICE_ID   0x03U
 API Service ID for read API.
 
#define CDD_UART_WRITEDATA_SERVICE_ID   0x04U
 API Service ID for write API.
 
#define CDD_UART_ERROR_SERVICE_ID   0x05U
 API Service ID for error API.
 
#define CDD_UART_CANCEL_SERVICE_ID   0x06U
 API Service ID for cancel API.
 
#define CDD_UART_GETREMAININGWORDS_SERVICE_ID   0x07U
 API Service ID for get remaining words API.
 
#define CDD_UART_READNOTIF_SERVICE_ID   0x08U
 API Service ID for read notification handler.
 
#define CDD_UART_WRITENOTIF_SERVICE_ID   0x09U
 API Service ID for write notification handler.
 
#define CDD_UART_ERRORNOTIF_SERVICE_ID   0x0AU
 API Service ID for error notification handler.
 
#define CDD_UART_DEINIT_SERVICE_ID   0x0BU
 API Service ID for deinitialization.
 
#define CDD_UART_INTERNAL_ISR_ID   0x0CU
 API Service ID for ISR.
 

CDD UART Error Codes

#define CDD_UART_E_UNINIT   0x01U
 Error code indicating the UART is uninitialized.
 
#define CDD_UART_E_INVALID_EVENT   0x02U
 Error code indicating an invalid event.
 
#define CDD_UART_E_READ_LOCKED   0x03U
 Error code indicating UART reading mode ongoing.
 
#define CDD_UART_E_WRITE_LOCKED   0x04U
 Error code indicating UART writing mode ongoing.
 
#define CDD_UART_E_PARAM_POINTER   0x05U
 Error code indicating invalid parameter pointer.
 
#define CDD_UART_E_ALREADY_INITIALIZED   0x06U
 Error code indicating UART is already initialized.
 
#define CDD_UART_E_PARAM_VALUE   0x07U
 Error code indicating Service called with wrong param.
 
#define CDD_UART_E_PARAM_LENGTH   0x08U
 Error code indicating Service called with invalid length.
 
#define CDD_UART_E_INVALID_CHANNEL   0x09U
 Error code indicating invalid UART channel.
 
#define CDD_UART_E_INVALID_CONFIG   0x0AU
 Error code indicating invalid UART configuration.
 

Values indicating the filled status of TX FIFO

Note: The values should not be changed since it represents the actual register configuration values used to configure the UART

#define UART_TX_FIFO_NOT_FULL
 
#define UART_TX_FIFO_FULL
 

Values related to status of Interrupt souces.

#define UART_INTID_MODEM_STAT
 Values pertaining to status of UART Interrupt sources.
 
#define UART_INTID_TX_THRES_REACH
 
#define UART_INTID_RX_THRES_REACH
 
#define UART_INTID_RX_LINE_STAT_ERROR
 
#define UART_INTID_CHAR_TIMEOUT
 
#define UART_INTID_XOFF_SPEC_CHAR_DETECT
 
#define UART_INTID_MODEM_SIG_STATE_CHANGE
 
#define UART_INTR_PENDING   (0U)
 Values indicating the UART Interrupt pending status.
 
#define UART_NO_INTR_PENDING   (1U)
 

Values related to enabling/disabling of Interrupts.

#define UART_INTR_CTS   (UART_IER_CTS_IT_MASK)
 Values for enabling/disabling the interrupts of UART.
 
#define UART_INTR_RTS   (UART_IER_RTS_IT_MASK)
 
#define UART_INTR_XOFF   (UART_IER_XOFF_IT_MASK)
 
#define UART_INTR_SLEEPMODE   (UART_IER_SLEEP_MODE_MASK)
 
#define UART_INTR_MODEM_STAT   (UART_IER_MODEM_STS_IT_MASK)
 
#define UART_INTR_LINE_STAT   (UART_IER_LINE_STS_IT_MASK)
 
#define UART_INTR_THR   (UART_IER_THR_IT_MASK)
 
#define UART_INTR_RHR_CTI   (UART_IER_RHR_IT_MASK)
 
#define UART_INTR2_RX_EMPTY   (UART_IER2_EN_RXFIFO_EMPTY_MASK)
 
#define UART_INTR2_TX_EMPTY   (UART_IER2_EN_TXFIFO_EMPTY_MASK)
 

Values related to Line Status information.

#define UART_FIFO_PE_FE_BI_DETECTED   (UART_LSR_RX_FIFO_STS_MASK)
 Values pertaining to UART Line Status information.
 
#define UART_BREAK_DETECTED_ERROR   (UART_LSR_RX_BI_MASK)
 
#define UART_FRAMING_ERROR   (UART_LSR_RX_FE_MASK)
 
#define UART_PARITY_ERROR   (UART_LSR_RX_PE_MASK)
 
#define UART_OVERRUN_ERROR   (UART_LSR_RX_OE_MASK)
 

Macro Definition Documentation

◆ UART_FIFO_SIZE

#define UART_FIFO_SIZE   (64U)

Uart FIFO Size.

◆ UART_TRANSMITEMPTY_TRIALCOUNT

#define UART_TRANSMITEMPTY_TRIALCOUNT   (3000U)

Timeout in ms used for TX FIFO empty at the time of delete. Three seconds is more than sufficient to transfer 64 bytes (FIFO size) at the lowest baud rate of 2400.

◆ CDD_UART_MODULE_ID

#define CDD_UART_MODULE_ID   255U

CDD Module ID.

◆ CDD_UART_VENDOR_ID

#define CDD_UART_VENDOR_ID   44U

Texas Instruments Vendor ID.

◆ CDD_UART_INSTANCE_ID

#define CDD_UART_INSTANCE_ID   0U

Texas Instruments Vendor ID.

◆ CDD_UART_SW_MAJOR_VERSION

#define CDD_UART_SW_MAJOR_VERSION   CDD_UART_MAJOR_VERSION

Driver Implementation Major Version.

◆ CDD_UART_SW_MINOR_VERSION

#define CDD_UART_SW_MINOR_VERSION   CDD_UART_MINOR_VERSION

Driver Implementation Minor Version.

◆ CDD_UART_SW_PATCH_VERSION

#define CDD_UART_SW_PATCH_VERSION   CDD_UART_CFG_PATCH_VERSION

Driver Implementation patch Version.

◆ CDD_UART_AR_RELEASE_MAJOR_VERSION

#define CDD_UART_AR_RELEASE_MAJOR_VERSION   4U

AUTOSAR Major version specification implemented by CDD Driver.

◆ CDD_UART_AR_RELEASE_MINOR_VERSION

#define CDD_UART_AR_RELEASE_MINOR_VERSION   3U

AUTOSAR Minor version specification implemented by CDD Driver.

◆ CDD_UART_AR_RELEASE_REVISION_VERSION

#define CDD_UART_AR_RELEASE_REVISION_VERSION   1U

AUTOSAR Patch version specification implemented by CDD Driver.

◆ CDD_UART_INIT_SERVICE_ID

#define CDD_UART_INIT_SERVICE_ID   0x01U

API Service ID for initialization.

◆ CDD_UART_GETVERSIONINFO_SERVICE_ID

#define CDD_UART_GETVERSIONINFO_SERVICE_ID   0x02U

API Service ID for get version info.

◆ CDD_UART_REGISTERREADBACK_SERVICE_ID

#define CDD_UART_REGISTERREADBACK_SERVICE_ID   0x0DU

API Service ID for Register Readback service ID.

◆ CDD_UART_READDATA_SERVICE_ID

#define CDD_UART_READDATA_SERVICE_ID   0x03U

API Service ID for read API.

◆ CDD_UART_WRITEDATA_SERVICE_ID

#define CDD_UART_WRITEDATA_SERVICE_ID   0x04U

API Service ID for write API.

◆ CDD_UART_ERROR_SERVICE_ID

#define CDD_UART_ERROR_SERVICE_ID   0x05U

API Service ID for error API.

◆ CDD_UART_CANCEL_SERVICE_ID

#define CDD_UART_CANCEL_SERVICE_ID   0x06U

API Service ID for cancel API.

◆ CDD_UART_GETREMAININGWORDS_SERVICE_ID

#define CDD_UART_GETREMAININGWORDS_SERVICE_ID   0x07U

API Service ID for get remaining words API.

◆ CDD_UART_READNOTIF_SERVICE_ID

#define CDD_UART_READNOTIF_SERVICE_ID   0x08U

API Service ID for read notification handler.

◆ CDD_UART_WRITENOTIF_SERVICE_ID

#define CDD_UART_WRITENOTIF_SERVICE_ID   0x09U

API Service ID for write notification handler.

◆ CDD_UART_ERRORNOTIF_SERVICE_ID

#define CDD_UART_ERRORNOTIF_SERVICE_ID   0x0AU

API Service ID for error notification handler.

◆ CDD_UART_DEINIT_SERVICE_ID

#define CDD_UART_DEINIT_SERVICE_ID   0x0BU

API Service ID for deinitialization.

◆ CDD_UART_INTERNAL_ISR_ID

#define CDD_UART_INTERNAL_ISR_ID   0x0CU

API Service ID for ISR.

◆ CDD_UART_E_UNINIT

#define CDD_UART_E_UNINIT   0x01U

Error code indicating the UART is uninitialized.

◆ CDD_UART_E_INVALID_EVENT

#define CDD_UART_E_INVALID_EVENT   0x02U

Error code indicating an invalid event.

◆ CDD_UART_E_READ_LOCKED

#define CDD_UART_E_READ_LOCKED   0x03U

Error code indicating UART reading mode ongoing.

◆ CDD_UART_E_WRITE_LOCKED

#define CDD_UART_E_WRITE_LOCKED   0x04U

Error code indicating UART writing mode ongoing.

◆ CDD_UART_E_PARAM_POINTER

#define CDD_UART_E_PARAM_POINTER   0x05U

Error code indicating invalid parameter pointer.

◆ CDD_UART_E_ALREADY_INITIALIZED

#define CDD_UART_E_ALREADY_INITIALIZED   0x06U

Error code indicating UART is already initialized.

◆ CDD_UART_E_PARAM_VALUE

#define CDD_UART_E_PARAM_VALUE   0x07U

Error code indicating Service called with wrong param.

◆ CDD_UART_E_PARAM_LENGTH

#define CDD_UART_E_PARAM_LENGTH   0x08U

Error code indicating Service called with invalid length.

◆ CDD_UART_E_INVALID_CHANNEL

#define CDD_UART_E_INVALID_CHANNEL   0x09U

Error code indicating invalid UART channel.

◆ CDD_UART_E_INVALID_CONFIG

#define CDD_UART_E_INVALID_CONFIG   0x0AU

Error code indicating invalid UART configuration.

◆ UART_TX_FIFO_NOT_FULL

#define UART_TX_FIFO_NOT_FULL
Value:
( \
UART_SSR_TX_FIFO_FULL_TX_FIFO_FULL_VALUE_0)

◆ UART_TX_FIFO_FULL

#define UART_TX_FIFO_FULL
Value:
( \
UART_SSR_TX_FIFO_FULL_TX_FIFO_FULL_VALUE_1)

◆ UART_INTID_MODEM_STAT

#define UART_INTID_MODEM_STAT
Value:
(UART_IIR_IT_TYPE_IT_TYPE_VALUE_0 \
<< \
UART_IIR_IT_TYPE_SHIFT)

Values pertaining to status of UART Interrupt sources.

◆ UART_INTID_TX_THRES_REACH

#define UART_INTID_TX_THRES_REACH
Value:
(UART_IIR_IT_TYPE_IT_TYPE_VALUE_1 \
<< \
UART_IIR_IT_TYPE_SHIFT)

◆ UART_INTID_RX_THRES_REACH

#define UART_INTID_RX_THRES_REACH
Value:
(UART_IIR_IT_TYPE_IT_TYPE_VALUE_2 \
<< \
UART_IIR_IT_TYPE_SHIFT)

◆ UART_INTID_RX_LINE_STAT_ERROR

#define UART_INTID_RX_LINE_STAT_ERROR
Value:
(UART_IIR_IT_TYPE_IT_TYPE_VALUE_3 \
<< \
UART_IIR_IT_TYPE_SHIFT)

◆ UART_INTID_CHAR_TIMEOUT

#define UART_INTID_CHAR_TIMEOUT
Value:
(UART_IIR_IT_TYPE_IT_TYPE_VALUE_6 \
<< \
UART_IIR_IT_TYPE_SHIFT)

◆ UART_INTID_XOFF_SPEC_CHAR_DETECT

#define UART_INTID_XOFF_SPEC_CHAR_DETECT
Value:
(UART_IIR_IT_TYPE_IT_TYPE_VALUE_8 \
<< \
UART_IIR_IT_TYPE_SHIFT)

◆ UART_INTID_MODEM_SIG_STATE_CHANGE

#define UART_INTID_MODEM_SIG_STATE_CHANGE
Value:
(UART_IIR_IT_TYPE_IT_TYPE_VALUE_10 \
<< \
UART_IIR_IT_TYPE_SHIFT)

◆ UART_INTR_PENDING

#define UART_INTR_PENDING   (0U)

Values indicating the UART Interrupt pending status.

◆ UART_NO_INTR_PENDING

#define UART_NO_INTR_PENDING   (1U)

◆ UART_INTR_CTS

#define UART_INTR_CTS   (UART_IER_CTS_IT_MASK)

Values for enabling/disabling the interrupts of UART.

◆ UART_INTR_RTS

#define UART_INTR_RTS   (UART_IER_RTS_IT_MASK)

◆ UART_INTR_XOFF

#define UART_INTR_XOFF   (UART_IER_XOFF_IT_MASK)

◆ UART_INTR_SLEEPMODE

#define UART_INTR_SLEEPMODE   (UART_IER_SLEEP_MODE_MASK)

◆ UART_INTR_MODEM_STAT

#define UART_INTR_MODEM_STAT   (UART_IER_MODEM_STS_IT_MASK)

◆ UART_INTR_LINE_STAT

#define UART_INTR_LINE_STAT   (UART_IER_LINE_STS_IT_MASK)

◆ UART_INTR_THR

#define UART_INTR_THR   (UART_IER_THR_IT_MASK)

◆ UART_INTR_RHR_CTI

#define UART_INTR_RHR_CTI   (UART_IER_RHR_IT_MASK)

◆ UART_INTR2_RX_EMPTY

#define UART_INTR2_RX_EMPTY   (UART_IER2_EN_RXFIFO_EMPTY_MASK)

◆ UART_INTR2_TX_EMPTY

#define UART_INTR2_TX_EMPTY   (UART_IER2_EN_TXFIFO_EMPTY_MASK)

◆ UART_FIFO_PE_FE_BI_DETECTED

#define UART_FIFO_PE_FE_BI_DETECTED   (UART_LSR_RX_FIFO_STS_MASK)

Values pertaining to UART Line Status information.

◆ UART_BREAK_DETECTED_ERROR

#define UART_BREAK_DETECTED_ERROR   (UART_LSR_RX_BI_MASK)

◆ UART_FRAMING_ERROR

#define UART_FRAMING_ERROR   (UART_LSR_RX_FE_MASK)

◆ UART_PARITY_ERROR

#define UART_PARITY_ERROR   (UART_LSR_RX_PE_MASK)

◆ UART_OVERRUN_ERROR

#define UART_OVERRUN_ERROR   (UART_LSR_RX_OE_MASK)

◆ UART_STATE_RX_DISABLED

#define UART_STATE_RX_DISABLED   (0x0U)

◆ UART_STATE_RX_ENABLED

#define UART_STATE_RX_ENABLED   (0x1U)

◆ IS_DATA_LENGTH_VALID

#define IS_DATA_LENGTH_VALID ( dataLength)
Value:
((dataLength == CDD_UART_WORD_LENGTH_5) || \
(dataLength == CDD_UART_WORD_LENGTH_6) || \
(dataLength == CDD_UART_WORD_LENGTH_7) || \
(dataLength == CDD_UART_WORD_LENGTH_8))
#define CDD_UART_WORD_LENGTH_7
Word Length 7.
Definition Cdd_Uart_Cfg.h:117
#define CDD_UART_WORD_LENGTH_8
Word Length 8.
Definition Cdd_Uart_Cfg.h:119
#define CDD_UART_WORD_LENGTH_5
Word Length 5.
Definition Cdd_Uart_Cfg.h:113
#define CDD_UART_WORD_LENGTH_6
Word Length 6.
Definition Cdd_Uart_Cfg.h:115

Macro to check if the Data length is valid.

◆ IS_STOP_BITS_VALID

#define IS_STOP_BITS_VALID ( stopBits)
Value:
((stopBits == CDD_UART_STOP_BIT_1) || \
(stopBits == CDD_UART_STOP_BITS_2))
#define CDD_UART_STOP_BIT_1
Stop Bit 1.
Definition Cdd_Uart_Cfg.h:180
#define CDD_UART_STOP_BITS_2
Stop Bit 2.
Definition Cdd_Uart_Cfg.h:182

Macro to check if the Number of stop bits is valid.

◆ IS_PARITY_TYPE_VALID

#define IS_PARITY_TYPE_VALID ( parityType)
Value:
((parityType == CDD_UART_PARITY_NONE) || \
(parityType == CDD_UART_PARITY_ODD) || \
(parityType == CDD_UART_PARITY_EVEN))
#define CDD_UART_PARITY_ODD
Odd Parity.
Definition Cdd_Uart_Cfg.h:131
#define CDD_UART_PARITY_EVEN
Even Parity.
Definition Cdd_Uart_Cfg.h:133
#define CDD_UART_PARITY_NONE
None Parity.
Definition Cdd_Uart_Cfg.h:129

Macro to check if the Parity type is valid.

◆ IS_OPER_MODE_VALID

#define IS_OPER_MODE_VALID ( operMode)
Value:
((operMode == CDD_UART_16x_OPER) || \
(operMode == CDD_UART_16x_AUTO_OPER) || \
(operMode == CDD_UART_13x_OPER))
#define CDD_UART_16x_OPER
UART16X mode.
Definition Cdd_Uart_Cfg.h:159
#define CDD_UART_16x_AUTO_OPER
UART16X AUTO mode.
Definition Cdd_Uart_Cfg.h:161
#define CDD_UART_13x_OPER
UART13X mode.
Definition Cdd_Uart_Cfg.h:157

Macro to check if the Operation mode is valid.

◆ IS_RXTRIG_LVL_VALID

#define IS_RXTRIG_LVL_VALID ( rxTrigLvl)
Value:
((rxTrigLvl == CDD_UART_TRIGGER_LEVEL_1) || \
(rxTrigLvl == CDD_UART_TRIGGER_LEVEL_8) || \
(rxTrigLvl == CDD_UART_TRIGGER_LEVEL_16) || \
(rxTrigLvl == CDD_UART_TRIGGER_LEVEL_56) || \
(rxTrigLvl == CDD_UART_TRIGGER_LEVEL_60))
#define CDD_UART_TRIGGER_LEVEL_60
Trigger Level 60.
Definition Cdd_Uart_Cfg.h:150
#define CDD_UART_TRIGGER_LEVEL_16
Trigger Level 16.
Definition Cdd_Uart_Cfg.h:144
#define CDD_UART_TRIGGER_LEVEL_56
Trigger Level 56.
Definition Cdd_Uart_Cfg.h:148
#define CDD_UART_TRIGGER_LEVEL_8
Trigger Level 8.
Definition Cdd_Uart_Cfg.h:142
#define CDD_UART_TRIGGER_LEVEL_1
Trigger Level 1.
Definition Cdd_Uart_Cfg.h:140

Macro to check if the RX Trigger level is valid.

◆ IS_TXTRIG_LVL_VALID

#define IS_TXTRIG_LVL_VALID ( txTrigLvl)
Value:
((txTrigLvl == CDD_UART_TRIGGER_LEVEL_1) || \
(txTrigLvl == CDD_UART_TRIGGER_LEVEL_8) || \
(txTrigLvl == CDD_UART_TRIGGER_LEVEL_16) || \
(txTrigLvl == CDD_UART_TRIGGER_LEVEL_32) || \
(txTrigLvl == CDD_UART_TRIGGER_LEVEL_56))
#define CDD_UART_TRIGGER_LEVEL_32
Trigger Level 32.
Definition Cdd_Uart_Cfg.h:146

Macro to check if the TX Trigger level is valid.

◆ MCAL_STATE_RESET

#define MCAL_STATE_RESET   (0U)

◆ MCAL_STATE_READY

#define MCAL_STATE_READY   (1U)

◆ MCAL_STATE_BUSY

#define MCAL_STATE_BUSY   (2U)

◆ MCAL_STATE_ERROR

#define MCAL_STATE_ERROR   (3U)

Typedef Documentation

◆ CddUartDataBufferType

typedef uint8 CddUartDataBufferType

Typedef for the data buffer elements.

◆ CddUartDataDirectionType

typedef uint8_least CddUartDataDirectionType

Type for defining the direction of data transfer, i.e., sending or receival.

Function Documentation

◆ Cdd_Uart_GetVersionInfo()

void Cdd_Uart_GetVersionInfo ( Std_VersionInfoType * VersionInfoPtr)

Service for getting CDD UART version.

None

*  Service name        : Cdd_Uart_GetVersionInfo
*  Syntax              : void Cdd_Uart_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr)
*  Service ID[hex]     : 0x02
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : None
*  Parameters (inout)  : None
*  Parameters (out)    : VersionInfoPtr - Pointer to Std_VersionInfoType structure
*  Return value        : None
*  Description         : Service for getting CDD UART driver version.
*  

◆ Cdd_Uart_RegisterReadback()

Std_ReturnType Cdd_Uart_RegisterReadback ( uint8 ChannelID,
CddUart_RegisterReadbackType * RegisterSetPtr )

Service for reading HW IP registers of a CDD UART instance.

*  Service name        : Cdd_Uart_RegisterReadback
*  Syntax              : void Cdd_Uart_RegisterReadback(uint8 ChannelID, P2VAR(CddUart_RegisterReadbackType, AUTOMATIC, CDD_UART_CFG) RegisterSetPtr)
*  Service ID[hex]     : 0x08
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : None
*  Parameters (inout)  : None
*  Parameters (out)    : RegisterSetPtr - Pointer to CddUart_RegisterReadbackType structure with useful registers for UART IP
*  Return value        : Std_ReturnType
*  Description         : Service for reading data or status from the HW registers of a CDD UART instance.
*  

◆ Cdd_Uart_Init()

void Cdd_Uart_Init ( const Cdd_Uart_CfgType * ConfigurationPtr)

Service for CDD UART Initialization.

*  Service name        : Cdd_Uart_Init
*  Syntax              : void Cdd_Uart_Init(ConfigurationPtr)
*  Service ID[hex]     : 0x01
*  Sync/Async          : Synchronous
*  Reentrancy          : Non-Reentrant
*  Parameters (in)     : ConfigurationPtr - Constant Pointer to Cdd_Uart_CfgType containing configurations for all channels
*  Parameters (inout)  : None
*  Parameters (out)    : None
*  Return value        : None
*  Description         : Service for CDD UART Initialization.
*  

◆ Cdd_Uart_DeInit()

void Cdd_Uart_DeInit ( void )

Service for deinitializing CDD UART.

*  Service name        : Cdd_Uart_DeInit
*  Syntax              : void Cdd_Uart_DeInit(void)
*  Service ID[hex]     : 0x03
*  Sync/Async          : Synchronous
*  Reentrancy          : Non-Reentrant
*  Parameters (in)     : None
*  Parameters (inout)  : None
*  Parameters (out)    : None
*  Return value        : None
*  Description         : Service for deinitializing the CDD UART and change driver state to uninitialized
*  

◆ Cdd_Uart_Write()

Std_ReturnType Cdd_Uart_Write ( uint8 ChannelID,
CddUartDataBufferType * SrcBufferPtr,
uint32 Count,
uint32 Timeout )

Service to transmit message using UART.

*  Service name        : Cdd_Uart_Write
*  Syntax              : Std_ReturnType Cdd_Uart_Write(uint8 ChannelID, CddUartDataBufferType* SrcBufferPtr, 
*                        uint32 Count, uint32 Timeout)
*  Service ID[hex]     : 0x04
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : ChannelID - Channel number to be used for writing data
*                        SrcBufferPtr - Pointer to source data buffer
*                        count - Length (number of data elements) of the data to be 
*                                transmitted from SrcBufferPtr to remote endpoint
*                        timeout - maximum duration of transmission for blocking mode.
*  Parameters (inout)  : None
*  Parameters (out)    : None
*  Return value        : Std_ReturnType
*                        E_OK: If successful.
*                        E_NOT_OK: If the write failed.
*  Description         : Service to write message using the UART instance.
*  

◆ Cdd_Uart_Read()

Std_ReturnType Cdd_Uart_Read ( uint8 ChannelID,
CddUartDataBufferType * DestBufferPtr,
uint32 Count,
uint32 Timeout )

Service to read message or command from the UART.

*  Service name        : Cdd_Uart_Read
*  Syntax              : Std_ReturnType Cdd_Uart_Read(uint8 ChannelID, CddUartDataBufferType *DestBufferPtr,
*                        uint32 Count, uint32 Timeout)
*  Service ID[hex]     : 0x05
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : ChannelID - Channel number to be used for reading data
*                        DestBufferPtr - Pointer to destination data buffer from which the data is read.
*                        count - Length (number of data elements) of the data to be received from DestBufferPtr.
*                        timeout - maximum duration of transmission for blocking mode
*  Parameters (inout)  : None
*  Parameters (out)    : None
*  Return value        : Std_ReturnType
*                        E_OK: If data has been read
*                        E_NOT_OK: If the read returned an error.
*  Description         : Service to read message from the UART instance.
*  

◆ Cdd_Uart_Cancel()

boolean Cdd_Uart_Cancel ( uint8 ChannelID,
CddUartDataDirectionType TransferType )

Service to cancel an ongoing transaction with UART.

*  Service name        : Cdd_Uart_Cancel
*  Syntax              : boolean Cdd_Uart_Cancel(uint8 ChannelID, CddUart_Transaction* Transaction, CddUartDataDirectionType TransferType)
*  Service ID[hex]     : 0x06
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : ChannelID - Channel number
*                        Transaction - UART Transaction object
*                        TransferType - Read or Write
*  Parameters (inout)  : None
*  Parameters (out)    : None
*  Return value        : boolean
*                        Cancellation status (true for success, else false).
*  Description         : Service to cancel any ongoing message transmission using the UART.
*  

◆ Cdd_Uart_GetRemainingWords()

uint32 Cdd_Uart_GetRemainingWords ( uint8 ChannelID,
CddUartDataDirectionType TransferType )

Service to get remaining words to be transmitted from the UART for any ongoing transaction.

*  Service name        : Cdd_Uart_GetRemainingWords
*  Syntax              : uint32 Cdd_Uart_GetRemainingWords(uint8 ChannelID, CddUartDataDirectionType TransferType)
*  Service ID[hex]     : 0x07
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : ChannelID - Channel number with ongoing write transaction
*                        TransferType - Read or write
*  Parameters (inout)  : None
*  Parameters (out)    : None
*  Return value        : uint32
*                        Size of the data left to be transmitted
*                        E_NOT_OK: If the transmission isn't ongoing.
*  Description         : Service to get remaining bytes to be transmitted in an ongoing operation from the UART instance.
*