/** * \brief Configure the board console if any */ void board_cfg_console(void) { #if defined(BOARD_CONSOLE_PINS) && defined(BOARD_CONSOLE_ADDR) const struct _pin console_pins[] = BOARD_CONSOLE_PINS; uint32_t baudrate; #ifdef BOARD_CONSOLE_BAUDRATE baudrate = BOARD_CONSOLE_BAUDRATE; #else baudrate = 115200; #endif pio_configure(console_pins, ARRAY_SIZE(console_pins)); console_configure(BOARD_CONSOLE_ADDR, baudrate); #else uint32_t baudrate; #ifdef BOARD_CONSOLE_BAUDRATE baudrate = BOARD_CONSOLE_BAUDRATE; #else baudrate = 115200; #endif /* default console port used by ROM-code */ const struct _pin console_pins[] = { PIN_USART3_TXD, PIN_USART3_RXD }; pio_configure(console_pins, 2); console_configure(USART3, baudrate); #endif }
/** * \brief Outputs a character on the CONSOLE line. * * \note This function is synchronous (i.e. uses polling). * \param c Character to send. */ void console_put_char(uint8_t c) { if (!_bConsoleIsInitialized) console_configure(CONSOLE_BAUDRATE); console.put_char(console.addr, c); }
/** * \brief Check if there is Input from DBGU line. * * \return true if there is Input. */ extern uint32_t console_is_rx_ready(void) { if (!_bConsoleIsInitialized) console_configure(CONSOLE_BAUDRATE); return console.is_rx_ready(console.addr); }
/** * \brief Input a character from the CONSOLE line. * * \note This function is synchronous * \return character received. */ extern uint32_t console_get_char(void) { if (!_bConsoleIsInitialized) console_configure(CONSOLE_BAUDRATE); return console.get_char(console.addr); }