| | |
| | | * Macro * |
| | | *******************************************************************************/ |
| | | #define OUTPUT_BUF_SIZE 512 |
| | | #define DBG_UART_RX_BUF_SIZE 256 |
| | | #define DBG_UART_TX_BUF_SIZE (1024*2) |
| | | #define DBG_UART_RX_BUF_SIZE 128 |
| | | #define DBG_UART_TX_BUF_SIZE 128 |
| | | #define DBG_UART_TX_QUEUE_MEMBER_CNT 64 |
| | | |
| | | /******************************************************************************* |
| | |
| | | *******************************************************************************/ |
| | | static HIDO_INT32 DBG_SerialGetChar(HIDO_UINT8 *_pu8Char) |
| | | { |
| | | return Uart_GetChar(UART_ID_DBG, _pu8Char); |
| | | return Uart_GetChar(UART_ID_DBG_GPS, _pu8Char); |
| | | } |
| | | |
| | | /******************************************************************************* |
| | |
| | | vsnprintf(acOutputBuf, sizeof(acOutputBuf), _pcFmt, ap); |
| | | va_end(ap); |
| | | |
| | | return Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) acOutputBuf, strlen(acOutputBuf)); |
| | | return Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, strlen(acOutputBuf)); |
| | | } |
| | | |
| | | /******************************************************************************* |
| | |
| | | } |
| | | HIDO_INT32 s32Ret = 0; |
| | | |
| | | s32Ret = Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) _pcString, strlen(_pcString)); |
| | | s32Ret = Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) _pcString, strlen(_pcString)); |
| | | |
| | | return s32Ret; |
| | | } |
| | |
| | | } |
| | | HIDO_INT32 s32Ret = 0; |
| | | |
| | | s32Ret = Uart_Send(UART_ID_DBG, &_u8Char, 1); |
| | | s32Ret = Uart_Send(UART_ID_DBG_GPS, &_u8Char, 1); |
| | | |
| | | return s32Ret; |
| | | } |
| | |
| | | u32Len = sizeof(acOutputBuf) - 1; |
| | | } |
| | | |
| | | Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) acOutputBuf, u32Len); |
| | | Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, u32Len); |
| | | |
| | | return HIDO_OK; |
| | | } |
| | |
| | | u32Len = sizeof(acOutputBuf) - 1; |
| | | } |
| | | |
| | | Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) acOutputBuf, u32Len); |
| | | Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, u32Len); |
| | | |
| | | return HIDO_OK; |
| | | } |
| | |
| | | // stRTCDateTime.m_u16Year, stRTCDateTime.m_u8Month, stRTCDateTime.m_u8Day, stRTCDateTime.m_u8Hour, |
| | | // stRTCDateTime.m_u8Min, stRTCDateTime.m_u8Sec, HAL_GetTick() % 1000); |
| | | // |
| | | Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) acOutputBuf, u32Len); |
| | | Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, u32Len); |
| | | |
| | | va_start(ap, _pcFmt); |
| | | u32Len = vsnprintf(acOutputBuf, sizeof(acOutputBuf), _pcFmt, ap); |
| | |
| | | u32Len = sizeof(acOutputBuf) - 1; |
| | | } |
| | | |
| | | Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) acOutputBuf, u32Len); |
| | | Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, u32Len); |
| | | |
| | | return HIDO_OK; |
| | | } |
| | |
| | | memset(acOutputBuf, 0, sizeof(acOutputBuf)); |
| | | HIDO_UtilByteArrayToHexString(_pu8Data, u32Len, acOutputBuf, sizeof(acOutputBuf), HIDO_TRUE); |
| | | strcat(acOutputBuf, "\r\n"); |
| | | Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) acOutputBuf, strlen(acOutputBuf)); |
| | | Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, strlen(acOutputBuf)); |
| | | |
| | | _u32Len -= u32Len; |
| | | _pu8Data += u32Len; |
| | |
| | | stRTCDateTime.m_u16Year, stRTCDateTime.m_u8Month, stRTCDateTime.m_u8Day, stRTCDateTime.m_u8Hour, |
| | | stRTCDateTime.m_u8Min, stRTCDateTime.m_u8Sec, HAL_GetTick() % 1000); |
| | | |
| | | Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) acOutputBuf, u32Len); |
| | | Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, u32Len); |
| | | #endif |
| | | return Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) _pu8String, _u32StringLen); |
| | | return Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) _pu8String, _u32StringLen); |
| | | } |
| | | |
| | | /******************************************************************************* |
| | |
| | | *******************************************************************************/ |
| | | E_DBGMode DBG_GetMode(void) |
| | | { |
| | | if(Get5VState() == 0) |
| | | { |
| | | return DBG_MODE_GPS; |
| | | } |
| | | |
| | | return l_eDBGMode; |
| | | } |
| | | |
| | |
| | | { |
| | | HIDO_InputPoll(); |
| | | } |
| | | else if(DBG_GetMode() == DBG_MODE_GPS) |
| | | { |
| | | GPS_Poll(); |
| | | } |
| | | else if(DBG_GetMode() == DBG_MODE_CHARGE) |
| | | { |
| | | static HIDO_UINT32 l_u32ModeTick = 0;; |
| | | static HIDO_UINT32 l_u32ModeTick = 0;; |
| | | HIDO_UINT8 u8RecvChar = 0; |
| | | // UART_HandleTypeDef *pstUartHandle = HIDO_NULL; |
| | | while (Uart_GetChar(UART_ID_DBG, &u8RecvChar) == HIDO_OK) |
| | | |
| | | while (Uart_GetChar(UART_ID_DBG_GPS, &u8RecvChar) == HIDO_OK) |
| | | { |
| | | if(u8RecvChar == 0x03) |
| | | { |
| | |
| | | l_u32ModeTick = 0; |
| | | } |
| | | UsartParseDataHandler(u8RecvChar); |
| | | // HAL_UART_Transmit(pstUartHandle, &u8RecvChar, 1, 1000); |
| | | } |
| | | } |
| | | } |
| | |
| | | *******************************************************************************/ |
| | | HIDO_VOID DBG_Init(void) |
| | | { |
| | | // ST_UartInit stInit; |
| | | // |
| | | // memset(&stInit, 0, sizeof(stInit)); |
| | | // stInit.m_eRxMode = UART_RX_MODE_DMA; |
| | | //#if DBG_TX_DMA |
| | | // stInit.m_eTxMode = UART_TX_MODE_DMA; |
| | | //#else |
| | | // stInit.m_eTxMode = UART_TX_MODE_POLL; |
| | | //#endif |
| | | // stInit.m_pu8RxBuf = l_au8DBGUartRxBuf; |
| | | // stInit.m_u32RxBufSize = DBG_UART_RX_BUF_SIZE; |
| | | //#if DBG_TX_DMA |
| | | // stInit.m_pu8TxBuf = l_au8DBGUartTxBuf; |
| | | //#endif |
| | | // stInit.m_u32TxBufSize = DBG_UART_TX_BUF_SIZE; |
| | | // stInit.m_u32TxQueueMemberCnt = DBG_UART_TX_QUEUE_MEMBER_CNT; |
| | | // Uart_Init(UART_ID_DBG, &stInit); |
| | | ST_UartInit stUartInit; |
| | | |
| | | // 调试串口逻辑上的初始化,并不是真正意义的硬件初始化,为了适配UART.c接口 |
| | | stUartInit.m_eRxMode = UART_RX_MODE_DMA; //没有具体意义,就韦了适配接口 |
| | | stUartInit.m_eTxMode = UART_TX_MODE_POLL; //没有具体意义,就韦了适配接口 |
| | | stUartInit.m_pu8RxBuf = l_au8DBGUartRxBuf; |
| | | stUartInit.m_u32RxBufSize = DBG_UART_RX_BUF_SIZE; |
| | | stUartInit.m_pu8TxBuf = HIDO_NULL; |
| | | stUartInit.m_u32TxBufSize = 0; |
| | | stUartInit.m_u32TxQueueMemberCnt = 0; |
| | | stUartInit.m_u32BaudRate = 115200; |
| | | if(Uart_Init(UART_ID_DBG_GPS, &stUartInit) != HIDO_OK) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | l_stSerialInput.m_fnPrintf = DBG_SerialPrintf; |
| | | l_stSerialInput.m_fnGetc = DBG_SerialGetChar; |
| | | l_stSerialInput.m_fnPutc = DBG_SerialPutChar; |
| | | l_stSerialInput.m_fnPuts = DBG_SerialPutString; |
| | | HIDO_InputRegister(&l_stSerialInput); |
| | | |
| | | Shell_Init(); |
| | | } |