196 lines
3.9 KiB
C
196 lines
3.9 KiB
C
#ifndef CORE_INCLUDE_IVEC_MCAL_UART_H_
|
|
#define CORE_INCLUDE_IVEC_MCAL_UART_H_
|
|
//#include "ivec_mcal_uart.h"
|
|
|
|
#include "ti_msp_dl_config.h"
|
|
#include "../utils/utils.h"
|
|
#include <stdint.h>
|
|
//#ifndef IVEC_MCAL_UART_H
|
|
//#define IVEC_MCAL_UART_H
|
|
#include "ivec_mcal_common.h"
|
|
//#include "ql_uart.h"
|
|
|
|
|
|
typedef enum
|
|
{
|
|
mcalUART_BAUD_AUTO = 0,
|
|
mcalUART_BAUD_2400 = 2400,
|
|
mcalUART_BAUD_4800 = 4800,
|
|
mcalUART_BAUD_9600 = 9600,
|
|
mcalUART_BAUD_14400 = 14400,
|
|
mcalUART_BAUD_19200 = 19200,
|
|
mcalUART_BAUD_28800 = 28800,
|
|
mcalUART_BAUD_33600 = 33600,
|
|
mcalUART_BAUD_38400 = 38400,
|
|
mcalUART_BAUD_57600 = 57600,
|
|
mcalUART_BAUD_115200 = 115200,
|
|
mcalUART_BAUD_230400 = 230400,
|
|
mcalUART_BAUD_460800 = 460800,
|
|
mcalUART_BAUD_921600 = 921600,
|
|
mcalUART_BAUD_1000000 = 1000000,
|
|
mcalUART_BAUD_1843200 = 1843200,
|
|
mcalUART_BAUD_2000000 = 2000000, //only support uart2/3
|
|
mcalUART_BAUD_2100000 = 2100000,
|
|
mcalUART_BAUD_3686400 = 3686400, //only support uart2/3
|
|
mcalUART_BAUD_4000000 = 4000000, //only support uart2/3
|
|
mcalUART_BAUD_4468750 = 4468750 //only support uart2/3
|
|
}McalUartBaudRate_e;
|
|
|
|
typedef enum
|
|
{
|
|
mcalUART_DATABIT_7 = 7,
|
|
mcalUART_DATABIT_8 = 8, //8910 ARM UART hardware only support 8bit Data
|
|
}McalUartDataBit_e;
|
|
|
|
typedef enum
|
|
{
|
|
mcalUART_STOP_1 = 1,
|
|
mcalUART_STOP_2 = 2,
|
|
}McalUartStopBit_e;
|
|
|
|
typedef enum
|
|
{
|
|
mcalUART_PARITY_NONE,
|
|
mcalUART_PARITY_ODD,
|
|
mcalUART_PARITY_EVEN,
|
|
}McalUartParityBit_e;
|
|
|
|
typedef enum
|
|
{
|
|
mcalUART_FC_NONE = 0,
|
|
mcalUARTFC_HW,
|
|
}McalUartFlowCtrl_e;
|
|
|
|
typedef struct
|
|
{
|
|
McalUartBaudRate_e eUartBaudrate;
|
|
McalUartDataBit_e eUartDataBit;
|
|
McalUartStopBit_e eUartStopBit;
|
|
McalUartParityBit_e eUartParityBit;
|
|
McalUartFlowCtrl_e eUartFlowCtrl;
|
|
}McalUartConfig_s;
|
|
|
|
typedef enum
|
|
{
|
|
mcalUART_PORT1 = 0,
|
|
mcalUART_PORT2,
|
|
mcalUART_PORT3
|
|
}McalUartPortNumber_e;
|
|
#define IVEC_MCAL_GNSS_UART mcalUART_PORT3
|
|
typedef enum
|
|
{
|
|
IVEC_MCAL_UART_EVENT_RX_ARRIVED = 1,//(1 << 0), ///< Received new data
|
|
IVEC_MCAL_UART_EVENT_RX_OVERFLOW =2 ,//(1 << 1), ///< Rx fifo overflowed
|
|
IVEC_MCAL_UART_EVENT_TX_COMPLETE = 3//(1 << 2) ///< All data had been sent
|
|
}IVEC_McalUartEvents_e;
|
|
|
|
typedef struct
|
|
{
|
|
McalUartPortNumber_e eUartPortNumber;
|
|
McalUartConfig_s xUartConfig;
|
|
char* buffer;
|
|
uint16_t u16len;
|
|
void (*pvUartRecvCallback)(IVEC_McalUartEvents_e , char *,uint32_t);
|
|
}McalUartHandle_s;
|
|
|
|
#define IVEC_MCAL_UART_MAX_PORT 3
|
|
|
|
IVEC_McalCommonErr_e xMCAL_UartDeInit(McalUartHandle_s* pxHandleUart);
|
|
IVEC_McalCommonErr_e xMCAL_UartRead(McalUartHandle_s* pxHandleUart, unsigned char* pucData, unsigned int u32DataLength);
|
|
IVEC_McalCommonErr_e xMCAL_UartWrite(McalUartHandle_s* pxHandleUart, unsigned char* pucData, unsigned int u32DataLength);
|
|
IVEC_McalCommonErr_e __prvMCAL_UartPinInit(McalUartHandle_s* pxHandleUart);
|
|
IVEC_McalCommonErr_e xMCAL_UartInit(McalUartHandle_s* pxHandleUart);
|
|
|
|
|
|
#endif /* IVEC_MCAL_UART_H */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
///**
|
|
// * @file ivec_mcal_uart.h
|
|
// * @author Akshat Dabas (akshat@vecmocon.com)
|
|
// * @brief This header file contains API for UART Functionality
|
|
// * @version 0.1.0
|
|
// * @date 2024-Feb-17
|
|
// *
|
|
// * @copyright Copyright (c) 2024
|
|
// *
|
|
// */
|
|
//
|
|
//#ifndef CORE_INCLUDE_IVEC_MCAL_UART_H_
|
|
//#define CORE_INCLUDE_IVEC_MCAL_UART_H_
|
|
//
|
|
//#include "ti_msp_dl_config.h"
|
|
//#include "../utils/utils.h"
|
|
//#include <stdint.h>
|
|
//
|
|
//#define BUFFER_SIZE 100U
|
|
//#define SIZE 100U
|
|
//
|
|
//xCoreStatus_t xMCAL_uart_init(UART_Regs *uart_inst,xUart_baud_t xBaud);
|
|
//xCoreStatus_t xMCAL_uart_deinit(UART_Regs* uart_inst);
|
|
//xCoreStatus_t xMCAL_uart_getdata(UART_Regs *uart_inst, uint8_t *u8rxdata, uint32_t u32rxbuffer_size);
|
|
//xCoreStatus_t xMCAL_uart_transmit(UART_Regs *uart_inst, uint8_t *u8txdata,uint32_t u32size);
|
|
//xCoreStatus_t xMCAL_uart_bufferReset(UART_Regs * uart_inst);
|
|
//
|
|
//#endif /* CORE_INCLUDE_IVEC_MCAL_UART_H_ */
|