\r
#include "fsl_common.h"\r
#include "serial_manager.h"\r
+#include "serial_port_internal.h"\r
\r
#if (defined(SERIAL_PORT_TYPE_UART) && (SERIAL_PORT_TYPE_UART > 0U))\r
#include "uart.h"\r
* Prototypes\r
******************************************************************************/\r
\r
-serial_manager_status_t Serial_UartDeinit(serial_handle_t serialHandle);\r
-\r
/*******************************************************************************\r
* Code\r
******************************************************************************/\r
\r
serialUartHandle = (serial_uart_state_t *)userData;\r
\r
- if (kStatus_HAL_UartRxIdle == status)\r
+ if ((hal_uart_status_t)kStatus_HAL_UartRxIdle == status)\r
{\r
if ((NULL != serialUartHandle->rx.callback))\r
{\r
serialUartHandle->rx.callback(serialUartHandle->rx.callbackParam, &msg, kStatus_SerialManager_Success);\r
}\r
#if (defined(HAL_UART_TRANSFER_MODE) && (HAL_UART_TRANSFER_MODE > 0U))\r
- transfer.data = &serialUartHandle->rx.readBuffer[0];\r
+ transfer.data = &serialUartHandle->rx.readBuffer[0];\r
transfer.dataSize = sizeof(serialUartHandle->rx.readBuffer);\r
if (kStatus_HAL_UartSuccess ==\r
HAL_UartTransferReceiveNonBlocking(((hal_uart_handle_t)&serialUartHandle->usartHandleBuffer[0]), &transfer))\r
#else\r
- if (kStatus_HAL_UartSuccess ==\r
+ if ((hal_uart_status_t)kStatus_HAL_UartSuccess ==\r
HAL_UartReceiveNonBlocking(((hal_uart_handle_t)&serialUartHandle->usartHandleBuffer[0]),\r
&serialUartHandle->rx.readBuffer[0], sizeof(serialUartHandle->rx.readBuffer)))\r
#endif\r
serialUartHandle->rx.busy = 0U;\r
}\r
}\r
- else if (kStatus_HAL_UartTxIdle == status)\r
+ else if ((hal_uart_status_t)kStatus_HAL_UartTxIdle == status)\r
{\r
- if (serialUartHandle->tx.busy)\r
+ if (0U != serialUartHandle->tx.busy)\r
{\r
serialUartHandle->tx.busy = 0U;\r
if ((NULL != serialUartHandle->tx.callback))\r
serial_uart_state_t *serialUartHandle;\r
serial_port_uart_config_t *uartConfig;\r
hal_uart_config_t config;\r
+#if (defined(SERIAL_MANAGER_NON_BLOCKING_MODE) && (SERIAL_MANAGER_NON_BLOCKING_MODE > 0U))\r
#if (defined(HAL_UART_TRANSFER_MODE) && (HAL_UART_TRANSFER_MODE > 0U))\r
hal_uart_transfer_t transfer;\r
+#endif\r
#endif\r
\r
assert(serialConfig);\r
assert(serialHandle);\r
- if (SERIAL_PORT_UART_HANDLE_SIZE < sizeof(serial_uart_state_t))\r
- {\r
- return kStatus_SerialManager_Error;\r
- }\r
+ assert(SERIAL_PORT_UART_HANDLE_SIZE >= sizeof(serial_uart_state_t));\r
\r
- uartConfig = (serial_port_uart_config_t *)serialConfig;\r
+ uartConfig = (serial_port_uart_config_t *)serialConfig;\r
serialUartHandle = (serial_uart_state_t *)serialHandle;\r
\r
config.baudRate_Bps = uartConfig->baudRate;\r
- config.parityMode = (hal_uart_parity_mode_t)uartConfig->parityMode;\r
+ config.parityMode = (hal_uart_parity_mode_t)uartConfig->parityMode;\r
config.stopBitCount = (hal_uart_stop_bit_count_t)uartConfig->stopBitCount;\r
- config.enableRx = uartConfig->enableRx;\r
- config.enableTx = uartConfig->enableTx;\r
- config.srcClock_Hz = uartConfig->clockRate;\r
- config.instance = uartConfig->instance;\r
+ config.enableRx = uartConfig->enableRx;\r
+ config.enableTx = uartConfig->enableTx;\r
+ config.srcClock_Hz = uartConfig->clockRate;\r
+ config.instance = uartConfig->instance;\r
\r
if (kStatus_HAL_UartSuccess != HAL_UartInit(((hal_uart_handle_t)&serialUartHandle->usartHandleBuffer[0]), &config))\r
{\r
return kStatus_SerialManager_Error;\r
}\r
\r
- if (uartConfig->enableRx)\r
+ if (0U != uartConfig->enableRx)\r
{\r
serialUartHandle->rx.busy = 1U;\r
#if (defined(HAL_UART_TRANSFER_MODE) && (HAL_UART_TRANSFER_MODE > 0U))\r
- transfer.data = &serialUartHandle->rx.readBuffer[0];\r
+ transfer.data = &serialUartHandle->rx.readBuffer[0];\r
transfer.dataSize = sizeof(serialUartHandle->rx.readBuffer);\r
if (kStatus_HAL_UartSuccess !=\r
HAL_UartTransferReceiveNonBlocking(((hal_uart_handle_t)&serialUartHandle->usartHandleBuffer[0]), &transfer))\r
\r
#if (defined(SERIAL_MANAGER_NON_BLOCKING_MODE) && (SERIAL_MANAGER_NON_BLOCKING_MODE > 0U))\r
#if (defined(HAL_UART_TRANSFER_MODE) && (HAL_UART_TRANSFER_MODE > 0U))\r
- HAL_UartTransferAbortReceive(((hal_uart_handle_t)&serialUartHandle->usartHandleBuffer[0]));\r
+ (void)HAL_UartTransferAbortReceive(((hal_uart_handle_t)&serialUartHandle->usartHandleBuffer[0]));\r
#else\r
- HAL_UartAbortReceive(((hal_uart_handle_t)&serialUartHandle->usartHandleBuffer[0]));\r
+ (void)HAL_UartAbortReceive(((hal_uart_handle_t)&serialUartHandle->usartHandleBuffer[0]));\r
#endif\r
#endif\r
- HAL_UartDeinit(((hal_uart_handle_t)&serialUartHandle->usartHandleBuffer[0]));\r
+ (void)HAL_UartDeinit(((hal_uart_handle_t)&serialUartHandle->usartHandleBuffer[0]));\r
\r
#if (defined(SERIAL_MANAGER_NON_BLOCKING_MODE) && (SERIAL_MANAGER_NON_BLOCKING_MODE > 0U))\r
serialUartHandle->tx.busy = 0U;\r
\r
serialUartHandle = (serial_uart_state_t *)serialHandle;\r
\r
- if (serialUartHandle->tx.busy)\r
+ if (0U != serialUartHandle->tx.busy)\r
{\r
return kStatus_SerialManager_Busy;\r
}\r
serialUartHandle->tx.length = length;\r
\r
#if (defined(HAL_UART_TRANSFER_MODE) && (HAL_UART_TRANSFER_MODE > 0U))\r
- transfer.data = buffer;\r
+ transfer.data = buffer;\r
transfer.dataSize = length;\r
if (kStatus_HAL_UartSuccess !=\r
HAL_UartTransferSendNonBlocking(((hal_uart_handle_t)&serialUartHandle->usartHandleBuffer[0]), &transfer))\r
\r
serialUartHandle = (serial_uart_state_t *)serialHandle;\r
\r
- primask = DisableGlobalIRQ();\r
- isBusy = serialUartHandle->tx.busy;\r
+ primask = DisableGlobalIRQ();\r
+ isBusy = serialUartHandle->tx.busy;\r
serialUartHandle->tx.busy = 0U;\r
EnableGlobalIRQ(primask);\r
\r
#if (defined(HAL_UART_TRANSFER_MODE) && (HAL_UART_TRANSFER_MODE > 0U))\r
- HAL_UartTransferAbortSend(((hal_uart_handle_t)&serialUartHandle->usartHandleBuffer[0]));\r
+ (void)HAL_UartTransferAbortSend(((hal_uart_handle_t)&serialUartHandle->usartHandleBuffer[0]));\r
#else\r
- HAL_UartAbortSend(((hal_uart_handle_t)&serialUartHandle->usartHandleBuffer[0]));\r
+ (void)HAL_UartAbortSend(((hal_uart_handle_t)&serialUartHandle->usartHandleBuffer[0]));\r
#endif\r
- if (isBusy)\r
+ if (0U != isBusy)\r
{\r
if ((NULL != serialUartHandle->tx.callback))\r
{\r
\r
serialUartHandle = (serial_uart_state_t *)serialHandle;\r
\r
- serialUartHandle->tx.callback = callback;\r
+ serialUartHandle->tx.callback = callback;\r
serialUartHandle->tx.callbackParam = callbackParam;\r
\r
return kStatus_SerialManager_Success;\r
\r
serialUartHandle = (serial_uart_state_t *)serialHandle;\r
\r
- serialUartHandle->rx.callback = callback;\r
+ serialUartHandle->rx.callback = callback;\r
serialUartHandle->rx.callbackParam = callbackParam;\r
\r
return kStatus_SerialManager_Success;\r
}\r
#endif\r
\r
+serial_manager_status_t Serial_UartEnterLowpower(serial_handle_t serialHandle)\r
+{\r
+ serial_uart_state_t *serialUartHandle;\r
+\r
+ assert(serialHandle);\r
+\r
+ serialUartHandle = (serial_uart_state_t *)serialHandle;\r
+\r
+ if (kStatus_HAL_UartSuccess != HAL_UartEnterLowpower(((hal_uart_handle_t)&serialUartHandle->usartHandleBuffer[0])))\r
+ {\r
+ return kStatus_SerialManager_Error;\r
+ }\r
+\r
+ return kStatus_SerialManager_Success;\r
+}\r
+\r
+serial_manager_status_t Serial_UartExitLowpower(serial_handle_t serialHandle)\r
+{\r
+ serial_uart_state_t *serialUartHandle;\r
+\r
+ assert(serialHandle);\r
+\r
+ serialUartHandle = (serial_uart_state_t *)serialHandle;\r
+\r
+ if (kStatus_HAL_UartSuccess != HAL_UartExitLowpower(((hal_uart_handle_t)&serialUartHandle->usartHandleBuffer[0])))\r
+ {\r
+ return kStatus_SerialManager_Error;\r
+ }\r
+\r
+ return kStatus_SerialManager_Success;\r
+}\r
+\r
#endif\r