fix: can implementation
- add ping reply - can mcal implementation from socmeter - removed the dot buffer usage in TM1650 - removed unsued variables/codestable
parent
ab99333dad
commit
ed765079dd
|
|
@ -1,27 +1,23 @@
|
||||||
|
|
||||||
#ifndef CORE_INCLUDE_IVEC_MCAL_MCAN_H_
|
#ifndef CORE_INCLUDE_IVEC_MCAL_MCAN_H_
|
||||||
#define CORE_INCLUDE_IVEC_MCAL_MCAN_H_
|
#define CORE_INCLUDE_IVEC_MCAL_MCAN_H_
|
||||||
|
|
||||||
#include "ti_msp_dl_config.h"
|
|
||||||
#include "..\utils\utils.h"
|
#include "..\utils\utils.h"
|
||||||
|
|
||||||
typedef enum
|
#include "ti_msp_dl_config.h"
|
||||||
{
|
|
||||||
STD_ID = 0x00,
|
|
||||||
EXT_ID = 0x01,
|
|
||||||
ERROR = 0x02
|
|
||||||
} xCanIdType_t;
|
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
STD_ID = 0x00, EXT_ID = 0x01, ERROR = 0x02
|
||||||
|
} xCanIdType_t;
|
||||||
|
|
||||||
|
|
||||||
IVEC_McalStatus_e xMCAL_MCANInit(MCAN_Regs* const mcan, xCAN_baud_t BAUD);
|
IVEC_McalStatus_e xMCAL_MCANInit(MCAN_Regs* const mcan, xCAN_baud_t BAUD);
|
||||||
IVEC_McalStatus_e xMCAL_MCANDeInit(MCAN_Regs* const mcan);
|
IVEC_McalStatus_e xMCAL_MCANDeInit(MCAN_Regs* const mcan);
|
||||||
IVEC_McalStatus_e xMCAL_MCANTx(MCAN_Regs *MCAN, DL_MCAN_TxBufElement *TxMsg ,uint16_t *TxData, uint32_t BufNum, int Bytes);
|
//IVEC_McalStatus_e xMCAL_MCANTx(MCAN_Regs *MCAN, uint32_t u32ID ,uint16_t *TxData, uint32_t BufNum, uint32_t Bytes);
|
||||||
IVEC_McalStatus_e xMCAL_MCANRx(MCAN_Regs *MCAN, DL_MCAN_RxBufElement *RxMsg ,uint32_t FifoNum,uint8_t *RxData,int DLC);
|
IVEC_McalStatus_e xMCAL_MCANTx(MCAN_Regs *MCAN, uint32_t u32ID ,uint16_t *TxData, uint32_t BufNum, uint32_t Bytes);
|
||||||
|
IVEC_McalStatus_e xMCAL_MCANTxBlocking(MCAN_Regs *MCAN, uint32_t u32ID ,uint16_t *TxData, uint32_t BufNum, int Bytes);
|
||||||
|
IVEC_McalStatus_e xMCAL_MCANRx(MCAN_Regs *MCAN,uint32_t *ID ,uint8_t *RxData, int DLC);
|
||||||
IVEC_McalStatus_e xMCAL_getMCAN_ErrorStatus(char *ErrorStatus);
|
IVEC_McalStatus_e xMCAL_getMCAN_ErrorStatus(char *ErrorStatus);
|
||||||
IVEC_McalStatus_e xMCAL_getMCAN_InterruptLine1Status(uint32_t *Interrupt_Status);
|
IVEC_McalStatus_e xMCAL_getMCAN_InterruptLine1Status(uint32_t *Interrupt_Status);
|
||||||
|
IVEC_McalStatus_e xMCAL_resetMCAN(MCAN_Regs* const mcan, xCAN_baud_t BAUD);
|
||||||
void mcu_FDCAN_RxFifo_Callback(uint32_t Identifier, uint8_t *data, uint16_t DataLength);
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* CORE_INCLUDE_IVEC_MCAL_MCAN_H_ */
|
#endif /* CORE_INCLUDE_IVEC_MCAL_MCAN_H_ */
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,5 +1,6 @@
|
||||||
#include "../Core/Include/ivec_mcal_uart.h"
|
#include "../Core/Include/ivec_mcal_uart.h"
|
||||||
#include "string.h"
|
#include "string.h"
|
||||||
|
#include "../../utils/utils.h"
|
||||||
//#include "ivec_mcal_uart.h"
|
//#include "ivec_mcal_uart.h"
|
||||||
#define LOG_STRING "ivec-mcal-uart"
|
#define LOG_STRING "ivec-mcal-uart"
|
||||||
|
|
||||||
|
|
@ -203,7 +204,8 @@ static xCoreStatus_t uart_read(McalUartHandle_s* pxUartHandle, unsigned char* pu
|
||||||
}
|
}
|
||||||
|
|
||||||
bool status = false;
|
bool status = false;
|
||||||
while (!DL_UART_Main_isRXFIFOEmpty(uart_inst)) {
|
uint32_t l_u32Tick = i32MCAL_getTicks();
|
||||||
|
while (!DL_UART_Main_isRXFIFOEmpty(uart_inst) && ((i32MCAL_getTicks() - l_u32Tick) < 50)) {
|
||||||
*pucData = DL_UART_Main_receiveData(uart_inst);
|
*pucData = DL_UART_Main_receiveData(uart_inst);
|
||||||
status = true;
|
status = true;
|
||||||
}
|
}
|
||||||
|
|
@ -270,14 +272,11 @@ static xCoreStatus_t uart_transmit(McalUartHandle_s* pxUartHandle, uint8_t *u8tx
|
||||||
return STATUS_ERROR;
|
return STATUS_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint32_t l_u32Tick = i32MCAL_getTicks();
|
||||||
for(int j=0;j<u32size;j++)
|
for(int j=0; j<u32size; j++)
|
||||||
{
|
{
|
||||||
|
|
||||||
DL_UART_transmitData(uart_inst,u8txdata[j]);
|
DL_UART_transmitData(uart_inst,u8txdata[j]);
|
||||||
//DL_UART_transmitDataBlocking(uart_inst, u8txdata[j]);
|
while(DL_UART_Main_isBusy(uart_inst) && ((i32MCAL_getTicks() - l_u32Tick) < 10));
|
||||||
//while (DL_UART_isBusy(uart_inst));
|
|
||||||
while(DL_UART_Main_isBusy(uart_inst));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -210,7 +210,7 @@ TM1650_Status_T tm1650_showNum(TM_1650_Digit_t digit, uint8_t num)
|
||||||
retVal = TM1650_SendByte(&tm1650_drv, digit);
|
retVal = TM1650_SendByte(&tm1650_drv, digit);
|
||||||
if(retVal == 0)
|
if(retVal == 0)
|
||||||
{
|
{
|
||||||
retVal = TM1650_SendByte(&tm1650_drv, numericDisplayArray[num] | digitDot[(digit - TM_1650_DIG_1)/2] );
|
retVal = TM1650_SendByte(&tm1650_drv, numericDisplayArray[num]);
|
||||||
}
|
}
|
||||||
// | digitDot[(digit - TM_1650_DIG_1)/2]
|
// | digitDot[(digit - TM_1650_DIG_1)/2]
|
||||||
TM1650_End(&tm1650_drv);
|
TM1650_End(&tm1650_drv);
|
||||||
|
|
|
||||||
|
|
@ -17,12 +17,10 @@ void mcu_FDCAN_RxFifo_Callback(uint32_t Identifier, uint8_t *data, uint16_t Data
|
||||||
uint8_t store_msg_from_isr_to_queue(uint32_t id, uint8_t* data, uint8_t len)
|
uint8_t store_msg_from_isr_to_queue(uint32_t id, uint8_t* data, uint8_t len)
|
||||||
{
|
{
|
||||||
can_buff_t buff = {0};
|
can_buff_t buff = {0};
|
||||||
//printf("id %d\n",id);
|
|
||||||
buff.id = id;
|
buff.id = id;
|
||||||
buff.length = len;
|
buff.length = len;
|
||||||
memcpy(buff.data, data, len);
|
memcpy(buff.data, data, len);
|
||||||
ENQUEUE(g_canQueue, buff);
|
ENQUEUE(g_canQueue, buff);
|
||||||
//printf("enqueue id after enqueue %d\n",buff.id);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -57,23 +55,13 @@ IVEC_EcuCommonErr_e xECU_WriteDataOverCAN(uint8_t* pucBuf, uint32_t ulId, int re
|
||||||
xFrame.mm = 0xAAU;
|
xFrame.mm = 0xAAU;
|
||||||
|
|
||||||
uint16_t TxData[DL_MCAN_MAX_PAYLOAD_BYTES]; // Define a buffer for the CAN payload data
|
uint16_t TxData[DL_MCAN_MAX_PAYLOAD_BYTES]; // Define a buffer for the CAN payload data
|
||||||
//
|
|
||||||
// // Copy the data you want to transmit (from pucBuf) into TxData
|
|
||||||
// //memcpy(TxData, &pucBuf[PKT_HEADER], retCode);
|
|
||||||
//
|
|
||||||
// Loop through pucBuf starting at PKT_HEADER and XOR each byte with 0x0000
|
|
||||||
for (int i = 0; i < retCode; i++) {
|
for (int i = 0; i < retCode; i++) {
|
||||||
TxData[i] = pucBuf[PKT_HEADER + i]^0x0000;
|
TxData[i] = pucBuf[PKT_HEADER + i]^0x0000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Set up the buffer number
|
|
||||||
//uint32_t BufNum = 0; // Example: Use buffer number 0
|
|
||||||
|
|
||||||
// Number of bytes to transmit (retCode holds DLC)
|
|
||||||
int Bytes = retCode;
|
int Bytes = retCode;
|
||||||
//printf("bufnum %d\n",BufNum);
|
l_i32Ret = xMCAL_MCANTx(CANFD0, xFrame.id, TxData, BufNum, Bytes);
|
||||||
l_i32Ret = xMCAL_MCANTx(CANFD0, &xFrame, TxData, BufNum, Bytes);
|
|
||||||
if(l_i32Ret == IVEC_MCAL_STATUS_SUCCESS)
|
if(l_i32Ret == IVEC_MCAL_STATUS_SUCCESS)
|
||||||
{
|
{
|
||||||
l_xFuncStatus = commonECU_SUCCESS;
|
l_xFuncStatus = commonECU_SUCCESS;
|
||||||
|
|
@ -92,10 +80,7 @@ IVEC_EcuCommonErr_e xECU_CANGetData(can_buff_t *pxBuff)
|
||||||
|
|
||||||
can_buff_t xBuff = { 0x00 };
|
can_buff_t xBuff = { 0x00 };
|
||||||
DEQUEUE(g_canQueue, xBuff);
|
DEQUEUE(g_canQueue, xBuff);
|
||||||
//printf("dequeue id %d\n",xBuff.id);
|
|
||||||
memcpy(pxBuff,&xBuff,sizeof(can_buff_t));
|
memcpy(pxBuff,&xBuff,sizeof(can_buff_t));
|
||||||
// printf("dequeue id after memcpy %d\n",pxBuff->id);
|
|
||||||
// printf("ID received dequeue %d\n",xBuff.id);
|
|
||||||
l_xFuncStatus = commonECU_SUCCESS;
|
l_xFuncStatus = commonECU_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,24 +6,14 @@
|
||||||
|
|
||||||
#define LOG_STRING "ivec-ecu-UART"
|
#define LOG_STRING "ivec-ecu-UART"
|
||||||
#define CAN_UART_BUFFER_MAX_SIZE 2048
|
#define CAN_UART_BUFFER_MAX_SIZE 2048
|
||||||
|
#define DATA_PACKET_TIMEOUT 100
|
||||||
|
|
||||||
volatile uint8_t g_TxCplt;
|
|
||||||
static uint8_t g_prv_u8CANUartDataBuffer[CAN_UART_BUFFER_MAX_SIZE];
|
|
||||||
|
|
||||||
|
|
||||||
CmplxFifoQueueHandle_s __gprv_MyEcuUARTResponseQueue = { 0 };
|
CmplxFifoQueueHandle_s __gprv_MyEcuUARTResponseQueue = { 0 };
|
||||||
|
|
||||||
static uint32_t g_prv_u32CanUartDataAvailable = 0;
|
static uint8_t __gprv_u8CANUartDataBuffer[CAN_UART_BUFFER_MAX_SIZE];
|
||||||
uint8_t QueueBuffer[100];
|
static uint32_t __gprv_u32CanUartDataAvailable = 0;
|
||||||
|
|
||||||
#define DATA_PACKET_TIMEOUT 300
|
|
||||||
|
|
||||||
//McalUartHandle_s prvUartHandle;
|
|
||||||
//#define SIZE 12U
|
|
||||||
//uint8_t u8txdata[SIZE]="Hello World";
|
|
||||||
//uint32_t u32data_size=sizeof(u8txdata);
|
|
||||||
uint8_t u8rxdata;
|
|
||||||
|
|
||||||
// Get the UART instance based on the enum
|
// Get the UART instance based on the enum
|
||||||
static UART_Regs* GetUartInstance(McalUartPortNumber_e eUartPortNumber)
|
static UART_Regs* GetUartInstance(McalUartPortNumber_e eUartPortNumber)
|
||||||
|
|
@ -43,15 +33,10 @@ static UART_Regs* GetUartInstance(McalUartPortNumber_e eUartPortNumber)
|
||||||
|
|
||||||
static void __prv_vEcu_CANOverUartMsgCallback(IVEC_McalUartEvents_e eIndType, char* pucBuffer, uint32_t u32Size)
|
static void __prv_vEcu_CANOverUartMsgCallback(IVEC_McalUartEvents_e eIndType, char* pucBuffer, uint32_t u32Size)
|
||||||
{
|
{
|
||||||
|
|
||||||
if(eIndType == IVEC_MCAL_UART_EVENT_RX_ARRIVED){
|
if(eIndType == IVEC_MCAL_UART_EVENT_RX_ARRIVED){
|
||||||
if( u8CMPLX_FifoEnqueue(&__gprv_MyEcuUARTResponseQueue, pucBuffer, u32Size) )
|
if( u8CMPLX_FifoEnqueue(&__gprv_MyEcuUARTResponseQueue, pucBuffer, u32Size) )
|
||||||
g_prv_u32CanUartDataAvailable += u32Size;
|
__gprv_u32CanUartDataAvailable += u32Size;
|
||||||
}
|
}
|
||||||
|
|
||||||
// IVEC_EcuCANHandle_s* l_xTempHandle = __prvECU_CANGetHandle(IVEC_ECU_CAN_EXTERNAL);
|
|
||||||
// if (l_xTempHandle != NULL)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void prvChecksumCalculate(uint8_t* pkt, int len, uint8_t *ck) {
|
static void prvChecksumCalculate(uint8_t* pkt, int len, uint8_t *ck) {
|
||||||
|
|
@ -76,8 +61,8 @@ IVEC_EcuCommonErr_e xECU_UARTInit(McalUartHandle_s* prvUartHandle, uint32_t spee
|
||||||
|
|
||||||
IVEC_ECU_LOG(LOG_STRING, "UART Initilising Queue");
|
IVEC_ECU_LOG(LOG_STRING, "UART Initilising Queue");
|
||||||
__gprv_MyEcuUARTResponseQueue.i32ElementSize = sizeof(uint8_t);
|
__gprv_MyEcuUARTResponseQueue.i32ElementSize = sizeof(uint8_t);
|
||||||
__gprv_MyEcuUARTResponseQueue.i32TotalElements = 100;
|
__gprv_MyEcuUARTResponseQueue.i32TotalElements = CAN_UART_BUFFER_MAX_SIZE;
|
||||||
__gprv_MyEcuUARTResponseQueue.pu8Buffer = (uint8_t*)QueueBuffer;
|
__gprv_MyEcuUARTResponseQueue.pu8Buffer = (uint8_t*)__gprv_u8CANUartDataBuffer;
|
||||||
__gprv_MyEcuUARTResponseQueue.i32QueueType = FIXED_ELEMENT_SIZE_QUEUE;
|
__gprv_MyEcuUARTResponseQueue.i32QueueType = FIXED_ELEMENT_SIZE_QUEUE;
|
||||||
l_i32Ret = u8CMPLX_FifoQueueInit(&__gprv_MyEcuUARTResponseQueue);
|
l_i32Ret = u8CMPLX_FifoQueueInit(&__gprv_MyEcuUARTResponseQueue);
|
||||||
if (l_i32Ret == 0)
|
if (l_i32Ret == 0)
|
||||||
|
|
@ -186,8 +171,6 @@ IVEC_EcuCommonErr_e xECU_UARTGetData(McalUartHandle_s *prvUartHandle, uint8_t* p
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//xMCAL_TimerstopCounter(); // Stop the timer
|
|
||||||
|
|
||||||
if (ijk != len)
|
if (ijk != len)
|
||||||
{
|
{
|
||||||
l_xFuncStatus = commonECU_READ_FAIL;
|
l_xFuncStatus = commonECU_READ_FAIL;
|
||||||
|
|
|
||||||
|
|
@ -69,11 +69,6 @@ uint8_t mcu_tempDataReadPin(void){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* #define TOUCH_BUTTON_PORT (GPIOB)
|
|
||||||
#define TOUCH_BUTTON_PIN_17_PIN (DL_GPIO_PIN_17)
|
|
||||||
#define TOUCH_BUTTON_PIN_17_IOMUX (IOMUX_PINCM43)
|
|
||||||
*/
|
|
||||||
void vRTE_MatlabInit(void)
|
void vRTE_MatlabInit(void)
|
||||||
{
|
{
|
||||||
u8MCAL_gpioInit();
|
u8MCAL_gpioInit();
|
||||||
|
|
@ -102,18 +97,18 @@ void vRTE_MatlabRun(void)
|
||||||
tm1650_displaySwitch(TM_1650_Screen_ON);
|
tm1650_displaySwitch(TM_1650_Screen_ON);
|
||||||
tm1650_showDot(TM_1650_DIG_1,false);
|
tm1650_showDot(TM_1650_DIG_1,false);
|
||||||
tm1650_showDot(TM_1650_DIG_2,false);
|
tm1650_showDot(TM_1650_DIG_2,false);
|
||||||
// tm1650_showDot(TM_1650_DIG_3,false);
|
tm1650_showDot(TM_1650_DIG_3,false);
|
||||||
|
|
||||||
tm1650_showNum(TM_1650_DIG_3, socTouchDisplay_Y.op_u8OnesPlace);
|
tm1650_showNum(TM_1650_DIG_3, socTouchDisplay_Y.op_u8OnesPlace);
|
||||||
tm1650_showNum(TM_1650_DIG_2, socTouchDisplay_Y.op_u8TensPlace);
|
tm1650_showNum(TM_1650_DIG_2, socTouchDisplay_Y.op_u8TensPlace);
|
||||||
// tm1650_showNum(TM_1650_DIG_1, socTouchDisplay_Y.op_u8HundredsPlace);
|
tm1650_showNum(TM_1650_DIG_1, socTouchDisplay_Y.op_u8HundredsPlace);
|
||||||
}
|
}
|
||||||
if( socTouchDisplay_Y.op_bErrorStatus )
|
if( socTouchDisplay_Y.op_bErrorStatus )
|
||||||
{
|
{
|
||||||
tm1650_displaySwitch(TM_1650_Screen_ON);
|
tm1650_displaySwitch(TM_1650_Screen_ON);
|
||||||
tm1650_showDot(TM_1650_DIG_1,false);
|
tm1650_showDot(TM_1650_DIG_1,false);
|
||||||
tm1650_showDot(TM_1650_DIG_2,false);
|
tm1650_showDot(TM_1650_DIG_2,false);
|
||||||
// tm1650_showDot(TM_1650_DIG_3,false);
|
tm1650_showDot(TM_1650_DIG_3,false);
|
||||||
|
|
||||||
char l_cData = 'R';
|
char l_cData = 'R';
|
||||||
l_cData = 'C';
|
l_cData = 'C';
|
||||||
|
|
@ -145,26 +140,30 @@ void vRTE_UARTDataProcess(void)
|
||||||
retCode= xECU_ReadCANDataOverUART(&g_xUartHandle,pucBuf,&ulId);
|
retCode= xECU_ReadCANDataOverUART(&g_xUartHandle,pucBuf,&ulId);
|
||||||
if(retCode > -1)
|
if(retCode > -1)
|
||||||
{
|
{
|
||||||
if(ulId == 0x00)
|
if(retCode > 0 && ulId == 0x00)
|
||||||
{
|
{
|
||||||
//vECU_InitiateUartToCanTransmit(&g_xUartHandle, ulId, pucBuf, 0);
|
|
||||||
|
|
||||||
uint32_t baudrate = 0;
|
uint32_t baudrate = 0;
|
||||||
uint8_t mode = pucBuf[PKT_HEADER];
|
uint8_t mode = pucBuf[PKT_HEADER];
|
||||||
memcpy(&baudrate, &pucBuf[PKT_HEADER+1], (uint32_t)retCode);
|
memcpy(&baudrate, &pucBuf[PKT_HEADER+1], (uint32_t)retCode);
|
||||||
vECU_InitiateUartToCanTransmit(&g_xUartHandle, ulId, pucBuf, 0);
|
vECU_InitiateUartToCanTransmit(&g_xUartHandle, 0x01, pucBuf, 0);
|
||||||
if( mode == 0 )
|
if( mode == 0 )
|
||||||
{
|
{
|
||||||
g_u32UartSpeed = baudrate;
|
g_u32UartSpeed = baudrate;
|
||||||
xECU_UARTReInit(&g_xUartHandle, g_u32UartSpeed);
|
// xECU_UARTReInit(&g_xUartHandle, g_u32UartSpeed);
|
||||||
}
|
}
|
||||||
else if( mode == 1 )
|
else if( mode == 1 )
|
||||||
{
|
{
|
||||||
g_u16CanSpeed = (uint16_t)baudrate;
|
g_u16CanSpeed = (uint16_t)baudrate;
|
||||||
xECU_CanReInit(CANFD0, g_u16CanSpeed);
|
// xECU_CanReInit(CANFD0, g_u16CanSpeed);
|
||||||
}
|
}
|
||||||
|
vMCAL_DelayTicks(100);
|
||||||
|
vECU_InitiateUartToCanTransmit(&g_xUartHandle, 0x01, pucBuf, 0);
|
||||||
}
|
}
|
||||||
else{
|
if ( retCode == 0 && ulId == 0){
|
||||||
|
vECU_InitiateUartToCanTransmit(&g_xUartHandle, 0x0, pucBuf, 0);
|
||||||
|
}
|
||||||
|
if ( retCode >= 0 && ulId > 0x00 && ulId < 0xffffffff )
|
||||||
|
{
|
||||||
xECU_WriteDataOverCAN(pucBuf, ulId, retCode, 0);
|
xECU_WriteDataOverCAN(pucBuf, ulId, retCode, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -258,4 +258,7 @@ IVEC_McalStatus_e xMCAL_VrefInit(void)
|
||||||
return IVEC_MCAL_STATUS_INIT_FAIL;
|
return IVEC_MCAL_STATUS_INIT_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void xMCAL_SoftReset(void)
|
||||||
|
{
|
||||||
|
DL_SYSCTL_resetDevice(DL_SYSCTL_RESET_CPU);
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ xCoreStatus_t xMCAL_SYSTICK_INIT(xTicks_t tick);
|
||||||
int i32MCAL_getTicks();
|
int i32MCAL_getTicks();
|
||||||
void vMCAL_DelayTicks(int i32Delay_ms);
|
void vMCAL_DelayTicks(int i32Delay_ms);
|
||||||
|
|
||||||
|
void xMCAL_SoftReset(void);
|
||||||
void xMCAL_McuInit(void);
|
void xMCAL_McuInit(void);
|
||||||
void delay (uint32_t us);
|
void delay (uint32_t us);
|
||||||
IVEC_McalStatus_e xMCAL_VrefInit(void);
|
IVEC_McalStatus_e xMCAL_VrefInit(void);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue