From 4b1d1b40339d98e08d1d975d4fa511a0768a7204 Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Sun, 22 Apr 2007 13:02:24 +0000 Subject: e200: Make the wheel light timeout configurable (under settings > system) (FS#7067) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13244 a1c6a512-1295-4272-9138-f99709370657 --- .../target/arm/sandisk/sansa-e200/backlight-e200.c | 11 ++++++++++ .../arm/sandisk/sansa-e200/backlight-target.h | 2 ++ .../target/arm/sandisk/sansa-e200/button-e200.c | 25 +--------------------- 3 files changed, 14 insertions(+), 24 deletions(-) (limited to 'firmware/target/arm') diff --git a/firmware/target/arm/sandisk/sansa-e200/backlight-e200.c b/firmware/target/arm/sandisk/sansa-e200/backlight-e200.c index 787f14b1a6..0ec19b4df1 100644 --- a/firmware/target/arm/sandisk/sansa-e200/backlight-e200.c +++ b/firmware/target/arm/sandisk/sansa-e200/backlight-e200.c @@ -39,3 +39,14 @@ void __backlight_off(void) { pp_i2c_send( 0x46, 0x23, 0x0); } + + +void __button_backlight_on(void) +{ + GPIOG_OUTPUT_VAL |=0x80; +} + +void __button_backlight_off(void) +{ + GPIOG_OUTPUT_VAL &=~ 0x80; +} diff --git a/firmware/target/arm/sandisk/sansa-e200/backlight-target.h b/firmware/target/arm/sandisk/sansa-e200/backlight-target.h index 16a02a4d11..2227278985 100644 --- a/firmware/target/arm/sandisk/sansa-e200/backlight-target.h +++ b/firmware/target/arm/sandisk/sansa-e200/backlight-target.h @@ -24,4 +24,6 @@ void __backlight_on(void); void __backlight_off(void); void __backlight_set_brightness(int brightness); +void __button_backlight_on(void); +void __button_backlight_off(void); #endif diff --git a/firmware/target/arm/sandisk/sansa-e200/button-e200.c b/firmware/target/arm/sandisk/sansa-e200/button-e200.c index fe0b1eaf18..bbe37bcd9a 100644 --- a/firmware/target/arm/sandisk/sansa-e200/button-e200.c +++ b/firmware/target/arm/sandisk/sansa-e200/button-e200.c @@ -31,18 +31,6 @@ static unsigned int old_wheel_value = 0; static unsigned int wheel_repeat = BUTTON_NONE; -/* Wheel backlight control */ -#define WHEEL_BACKLIGHT_TIMEOUT 5*HZ; -static unsigned int wheel_backlight_timer; - -void wheel_backlight_on(bool enable) -{ - if(enable) - GPIOG_OUTPUT_VAL |=0x80; - else - GPIOG_OUTPUT_VAL &=~ 0x80; -} - void button_init_device(void) { /* Enable all buttons */ @@ -52,7 +40,6 @@ void button_init_device(void) /* Scrollwheel light - enable control through GPIOG pin 7 and set timeout */ GPIOG_ENABLE = 0x80; GPIOG_OUTPUT_EN |= 0x80; - wheel_backlight_timer = WHEEL_BACKLIGHT_TIMEOUT; /* Read initial wheel value (bit 6-7 of GPIOH) */ old_wheel_value = GPIOH_INPUT_VAL & 0xc0; @@ -153,23 +140,13 @@ int button_read_device(void) old_wheel_value = new_wheel_value; } - if(wheel_backlight_timer>0){ - wheel_backlight_timer--; - if(wheel_backlight_timer==0){ - wheel_backlight_on(false); - } - } - if( (btn & BUTTON_SCROLL_UP) || (btn & BUTTON_SCROLL_DOWN) ){ /* only trigger once per click */ if ((new_wheel_value == 0x00) || (new_wheel_value == 0xc0)) { btn = btn&(~(BUTTON_SCROLL_UP|BUTTON_SCROLL_DOWN)); } - if(wheel_backlight_timer==0){ - wheel_backlight_on(true); - } - wheel_backlight_timer = WHEEL_BACKLIGHT_TIMEOUT; + button_backlight_on(); } return btn; -- cgit v1.2.3