Fix the pre-check stuff

This commit is contained in:
KurtE 2022-04-08 15:59:27 -07:00
parent 219ef5e407
commit 7ff0036a26

View File

@ -34,57 +34,60 @@
#include "fsl_lpuart.h" #include "fsl_lpuart.h"
// TODO: Switch this to using DEBUG_UART. // TODO: Switch this to using DEBUG_UART.
// Need official way to turn off the port serial code when it is not needed
#if defined(USE_DEBUG_PORT_CODE) #if defined(USE_DEBUG_PORT_CODE)
// static LPUART_Type *uart_instance = LPUART1; // evk // static LPUART_Type *uart_instance = LPUART1; // evk
static LPUART_Type *uart_instance = LPUART4; // feather 1011 static LPUART_Type *uart_instance = LPUART4; // feather 1011
// static LPUART_Type *uart_instance = LPUART2; // feather 1062 // static LPUART_Type *uart_instance = LPUART2; // feather 1062
static uint32_t UartSrcFreq(void) { static uint32_t UartSrcFreq(void) {
uint32_t freq; uint32_t freq;
/* To make it simple, we assume default PLL and divider settings, and the only /* To make it simple, we assume default PLL and divider settings, and the only
variable from application is use PLL3 source or OSC source */ variable from application is use PLL3 source or OSC source */
/* PLL3 div6 80M */ /* PLL3 div6 80M */
if (CLOCK_GetMux(kCLOCK_UartMux) == 0) { if (CLOCK_GetMux(kCLOCK_UartMux) == 0) {
freq = (CLOCK_GetPllFreq(kCLOCK_PllUsb1) / 6U) / freq = (CLOCK_GetPllFreq(kCLOCK_PllUsb1) / 6U) /
(CLOCK_GetDiv(kCLOCK_UartDiv) + 1U); (CLOCK_GetDiv(kCLOCK_UartDiv) + 1U);
} else { } else {
freq = CLOCK_GetOscFreq() / (CLOCK_GetDiv(kCLOCK_UartDiv) + 1U); freq = CLOCK_GetOscFreq() / (CLOCK_GetDiv(kCLOCK_UartDiv) + 1U);
} }
return freq; return freq;
} }
void port_serial_init(void) { void port_serial_init(void) {
lpuart_config_t config; lpuart_config_t config;
LPUART_GetDefaultConfig(&config); LPUART_GetDefaultConfig(&config);
config.baudRate_Bps = 115200; config.baudRate_Bps = 115200;
config.enableTx = true; config.enableTx = true;
config.enableRx = true; config.enableRx = true;
LPUART_Init(uart_instance, &config, UartSrcFreq()); LPUART_Init(uart_instance, &config, UartSrcFreq());
} }
bool port_serial_connected(void) { return true; } bool port_serial_connected(void) {
return true;
}
char port_serial_read(void) { char port_serial_read(void) {
uint8_t data; uint8_t data;
LPUART_ReadBlocking(uart_instance, &data, sizeof(data)); LPUART_ReadBlocking(uart_instance, &data, sizeof(data));
return data; return data;
} }
bool port_serial_bytes_available(void) { bool port_serial_bytes_available(void) {
return LPUART_GetStatusFlags(uart_instance) & kLPUART_RxDataRegFullFlag; return LPUART_GetStatusFlags(uart_instance) & kLPUART_RxDataRegFullFlag;
} }
void port_serial_write_substring(const char *text, uint32_t len) { void port_serial_write_substring(const char *text, uint32_t len) {
if (len == 0) { if (len == 0) {
return; return;
} }
LPUART_WriteBlocking(uart_instance, (uint8_t *)text, len); LPUART_WriteBlocking(uart_instance, (uint8_t *)text, len);
} }
#endif // USE_DEBUG_PORT_CODE #endif // USE_DEBUG_PORT_CODE