X-Git-Url: https://git.rohieb.name/hackover2013-badge-firmware.git/blobdiff_plain/9d18e10afb2439a6a9ba6978a799259746a837b7..5930ee7b5f395480627184dbeb1363b6e629729d:/project/commands/cmd_uart.c diff --git a/project/commands/cmd_uart.c b/project/commands/cmd_uart.c index 8e634f4..490626b 100644 --- a/project/commands/cmd_uart.c +++ b/project/commands/cmd_uart.c @@ -43,7 +43,7 @@ #include "project/commands.h" // Generic helper functions #ifdef CFG_I2CEEPROM - #include "drivers/eeprom/eeprom.h" + #include "drivers/storage/eeprom/eeprom.h" #include "core/uart/uart.h" /**************************************************************************/ @@ -78,9 +78,18 @@ void cmd_uart(uint8_t argc, char **argv) // Display the current baud rate #ifdef CFG_PRINTF_UART uart_pcb_t *pcb = uartGetPCB(); - printf("%d%s", pcb->baudrate, CFG_PRINTF_NEWLINE); + printf("%u%s", (unsigned int)(pcb->baudrate), CFG_PRINTF_NEWLINE); #else - printf("UART not initialised (using USBCDC)%s", CFG_PRINTF_NEWLINE); + // Try to get UART from EEPROM + uint32_t uartEEPROM = eepromReadU32(CFG_EEPROM_UART_SPEED); + if ((uartEEPROM < 9600) || (uartEEPROM > 115200)) + { + printf("UART not set in EEPROM%s", CFG_PRINTF_NEWLINE); + } + else + { + printf("%u%s", (unsigned int)uartEEPROM, CFG_PRINTF_NEWLINE); + } #endif } }