summaryrefslogtreecommitdiff
path: root/firmware/backlight.c
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2002-08-15 13:56:06 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2002-08-15 13:56:06 +0000
commit3ed34a6227fbb87884aa50b3494d6686ffe5bb50 (patch)
tree03e5cca572b9f37690f89dc48696caf519d1831f /firmware/backlight.c
parent1330bfbb7ccd88554c6ec1e8d83c58faff0f6fc4 (diff)
downloadrockbox-3ed34a6227fbb87884aa50b3494d6686ffe5bb50.tar.gz
rockbox-3ed34a6227fbb87884aa50b3494d6686ffe5bb50.zip
New backlight settings with always-off
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1766 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/backlight.c')
-rw-r--r--firmware/backlight.c24
1 files changed, 19 insertions, 5 deletions
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;
37static int backlight_timer; 37static int backlight_timer;
38static int backlight_timeout = 5; 38static int backlight_timeout = 5;
39 39
40static char timeout_value[19] =
41{
42 -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 45, 60, 90
43};
44
40void backlight_thread(void) 45void backlight_thread(void)
41{ 46{
42 struct event ev; 47 struct event ev;
@@ -47,8 +52,17 @@ void backlight_thread(void)
47 switch(ev.id) 52 switch(ev.id)
48 { 53 {
49 case BACKLIGHT_ON: 54 case BACKLIGHT_ON:
50 backlight_timer = HZ*backlight_timeout; 55 backlight_timer = HZ*timeout_value[backlight_timeout];
51 if(backlight_timer) 56 if(backlight_timer < 0)
57 {
58#ifdef HAVE_RTC
59 /* Disable square wave */
60 rtc_write(0x0a, rtc_read(0x0a) & ~0x40);
61#else
62 PADR |= 0x4000;
63#endif
64 }
65 else if(backlight_timer)
52 { 66 {
53#ifdef HAVE_RTC 67#ifdef HAVE_RTC
54 /* Enable square wave */ 68 /* Enable square wave */
@@ -65,7 +79,7 @@ void backlight_thread(void)
65 rtc_write(0x0a, rtc_read(0x0a) & ~0x40); 79 rtc_write(0x0a, rtc_read(0x0a) & ~0x40);
66#else 80#else
67 PADR |= 0x4000; 81 PADR |= 0x4000;
68#endif 82#endif
69 break; 83 break;
70 84
71 case SYS_USB_CONNECTED: 85 case SYS_USB_CONNECTED:
@@ -91,9 +105,9 @@ void backlight_off(void)
91 queue_post(&backlight_queue, BACKLIGHT_OFF, NULL); 105 queue_post(&backlight_queue, BACKLIGHT_OFF, NULL);
92} 106}
93 107
94void backlight_time(int seconds) 108void backlight_time(int value)
95{ 109{
96 backlight_timeout = seconds; 110 backlight_timeout = value;
97 backlight_on(); 111 backlight_on();
98} 112}
99 113