Short Version; is there interrupt based DEBUG_CONSOLE_DEVICE_TYPE_UART code so I can have GETCHAR() block properly and let my other tasks run? Currently it sits in a while loop waiting for the RX data flag to be set.
Longer version; Ive come from MQX and thought I would give FreeRToS a run on the new Kinetis KL27Z that I have. normally in MQX i use itty to achieve blocking UART commands that will allow the rest of my tasks to run normally while waiting for data to come in.
I had to move my debug console to UART (no longer on LPUART), which works fine, I can PRINTF and GETCHAR fine.
uartClkSrcFreq = CLOCK_GetFreq(UART2_CLK_SRC);
DbgConsole_Init(BOARD_DEBUG_UART_BASEADDR, BOARD_DEBUG_UART_BAUDRATE, BOARD_DEBUG_UART_TYPE, uartClkSrcFreq);
FreeRToS does not appear to support GETCHAR() that is interrupt based so it literally runs s_debugConsole.ops.rx_union.UART_GetChar = UART_ReadBlocking; which sits in a while(wait for data); loop. I need the rest of my application running, not sitting in a while loop. I do not want to have horribly inefficient context switching and use delays to poll non blocking reads, its 115200 data, its fast, this is not a nice way to do things.
Is there examples of how to use an interrupt based version of the debug consol? I need to be able to printf / getchar while running other tasks.