From 3ed34a6227fbb87884aa50b3494d6686ffe5bb50 Mon Sep 17 00:00:00 2001 From: Linus Nielsen Feltzing Date: Thu, 15 Aug 2002 13:56:06 +0000 Subject: New backlight settings with always-off git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1766 a1c6a512-1295-4272-9138-f99709370657 --- firmware/backlight.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'firmware/backlight.c') diff --git a/firmware/backlight.c b/firmware/backlight.c index 9fe73f4d9a..b7f4761415 100644 --- a/firmware/backlight.c +++ b/firmware/backlight.c @@ -37,6 +37,11 @@ static struct event_queue backlight_queue; static int backlight_timer; static int backlight_timeout = 5; +static char timeout_value[19] = +{ + -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 45, 60, 90 +}; + void backlight_thread(void) { struct event ev; @@ -47,8 +52,17 @@ void backlight_thread(void) switch(ev.id) { case BACKLIGHT_ON: - backlight_timer = HZ*backlight_timeout; - if(backlight_timer) + backlight_timer = HZ*timeout_value[backlight_timeout]; + if(backlight_timer < 0) + { +#ifdef HAVE_RTC + /* Disable square wave */ + rtc_write(0x0a, rtc_read(0x0a) & ~0x40); +#else + PADR |= 0x4000; +#endif + } + else if(backlight_timer) { #ifdef HAVE_RTC /* Enable square wave */ @@ -65,7 +79,7 @@ void backlight_thread(void) rtc_write(0x0a, rtc_read(0x0a) & ~0x40); #else PADR |= 0x4000; -#endif +#endif break; case SYS_USB_CONNECTED: @@ -91,9 +105,9 @@ void backlight_off(void) queue_post(&backlight_queue, BACKLIGHT_OFF, NULL); } -void backlight_time(int seconds) +void backlight_time(int value) { - backlight_timeout = seconds; + backlight_timeout = value; backlight_on(); } -- cgit v1.2.3