From 42510d9e783f72a4945019bdcec19b9b60156aa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Stenberg?= Date: Tue, 12 Nov 2002 09:04:06 +0000 Subject: [PATCH] Added '*PANIC*' string. Line is now wrapped on recorders. LED blinks slowly to indicate controlled state. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2835 a1c6a512-1295-4272-9138-f99709370657 --- firmware/panic.c | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/firmware/panic.c b/firmware/panic.c index 3dd5e157bf..df8afdfda3 100644 --- a/firmware/panic.c +++ b/firmware/panic.c @@ -19,10 +19,12 @@ #include #include +#include #include "panic.h" #include "lcd.h" #include "font.h" #include "debug.h" +#include "led.h" static char panic_buf[128]; @@ -34,6 +36,8 @@ void panicf( char *fmt, ...) va_list ap; #ifndef SIMULATOR + bool state = false; + /* Disable interrupts */ asm volatile ("ldc\t%0,sr" : : "r"(15<<4)); #endif @@ -44,17 +48,36 @@ void panicf( char *fmt, ...) #ifdef HAVE_LCD_CHARCELLS lcd_double_height(false); - lcd_puts(0,0,panic_buf); + lcd_puts(0,0,"*PANIC*"); + lcd_puts(0,1,panic_buf); #elif defined(HAVE_LCD_BITMAP) lcd_clear_display(); - lcd_setfont(FONT_SYSFIXED); - lcd_putsxy(0,0,panic_buf); + lcd_puts(0,0,"*PANIC*"); + { + /* wrap panic line */ + int i, y=1, len = strlen(panic_buf); + for (i=0; i