diff --git a/bootloader/bootloader-display.c b/bootloader/bootloader-display.c index 7bdbc4e187454ec921aa4d6959bdd3919a57cf7a..8c13116d78e937292ce8499c7014dce19b536f07 100644 --- a/bootloader/bootloader-display.c +++ b/bootloader/bootloader-display.c @@ -55,6 +55,21 @@ void bootloader_display_header(void) bootloader_display_line(2, CARD10_VERSION, white); } +void bootloader_display_error(char *errtype, char *line1, char *line2) +{ + gfx_clear(&display_screen); + + Color red = gfx_color(&display_screen, RED); + Color yellow = gfx_color(&display_screen, YELLOW); + Color white = gfx_color(&display_screen, WHITE); + + bootloader_display_line(0, "[FATAL ERROR]", red); + bootloader_display_line(1, errtype, yellow); + bootloader_display_line(2, CARD10_VERSION, white); + bootloader_display_line(3, line1, white); + bootloader_display_line(4, line2, white); +} + /* * Display a line of text on the display. */ diff --git a/bootloader/bootloader.h b/bootloader/bootloader.h index 45631ea6583f8deff33dd059408d6c60210b2b2a..ac3ca3d79f614afc05b71e640f3caf02e8e115a8 100644 --- a/bootloader/bootloader.h +++ b/bootloader/bootloader.h @@ -5,6 +5,7 @@ /* Display */ void bootloader_display_init(void); void bootloader_display_header(void); +void bootloader_display_error(char *errtype, char *line1, char *line2); void bootloader_display_line(int line, char *string, uint16_t color); /* USB */