diff options
Diffstat (limited to 'firmware/target')
3 files changed, 14 insertions, 24 deletions
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) | |||
39 | { | 39 | { |
40 | pp_i2c_send( 0x46, 0x23, 0x0); | 40 | pp_i2c_send( 0x46, 0x23, 0x0); |
41 | } | 41 | } |
42 | |||
43 | |||
44 | void __button_backlight_on(void) | ||
45 | { | ||
46 | GPIOG_OUTPUT_VAL |=0x80; | ||
47 | } | ||
48 | |||
49 | void __button_backlight_off(void) | ||
50 | { | ||
51 | GPIOG_OUTPUT_VAL &=~ 0x80; | ||
52 | } | ||
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); | |||
24 | void __backlight_off(void); | 24 | void __backlight_off(void); |
25 | void __backlight_set_brightness(int brightness); | 25 | void __backlight_set_brightness(int brightness); |
26 | 26 | ||
27 | void __button_backlight_on(void); | ||
28 | void __button_backlight_off(void); | ||
27 | #endif | 29 | #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 @@ | |||
31 | static unsigned int old_wheel_value = 0; | 31 | static unsigned int old_wheel_value = 0; |
32 | static unsigned int wheel_repeat = BUTTON_NONE; | 32 | static unsigned int wheel_repeat = BUTTON_NONE; |
33 | 33 | ||
34 | /* Wheel backlight control */ | ||
35 | #define WHEEL_BACKLIGHT_TIMEOUT 5*HZ; | ||
36 | static unsigned int wheel_backlight_timer; | ||
37 | |||
38 | void wheel_backlight_on(bool enable) | ||
39 | { | ||
40 | if(enable) | ||
41 | GPIOG_OUTPUT_VAL |=0x80; | ||
42 | else | ||
43 | GPIOG_OUTPUT_VAL &=~ 0x80; | ||
44 | } | ||
45 | |||
46 | void button_init_device(void) | 34 | void button_init_device(void) |
47 | { | 35 | { |
48 | /* Enable all buttons */ | 36 | /* Enable all buttons */ |
@@ -52,7 +40,6 @@ void button_init_device(void) | |||
52 | /* Scrollwheel light - enable control through GPIOG pin 7 and set timeout */ | 40 | /* Scrollwheel light - enable control through GPIOG pin 7 and set timeout */ |
53 | GPIOG_ENABLE = 0x80; | 41 | GPIOG_ENABLE = 0x80; |
54 | GPIOG_OUTPUT_EN |= 0x80; | 42 | GPIOG_OUTPUT_EN |= 0x80; |
55 | wheel_backlight_timer = WHEEL_BACKLIGHT_TIMEOUT; | ||
56 | 43 | ||
57 | /* Read initial wheel value (bit 6-7 of GPIOH) */ | 44 | /* Read initial wheel value (bit 6-7 of GPIOH) */ |
58 | old_wheel_value = GPIOH_INPUT_VAL & 0xc0; | 45 | old_wheel_value = GPIOH_INPUT_VAL & 0xc0; |
@@ -153,23 +140,13 @@ int button_read_device(void) | |||
153 | old_wheel_value = new_wheel_value; | 140 | old_wheel_value = new_wheel_value; |
154 | } | 141 | } |
155 | 142 | ||
156 | if(wheel_backlight_timer>0){ | ||
157 | wheel_backlight_timer--; | ||
158 | if(wheel_backlight_timer==0){ | ||
159 | wheel_backlight_on(false); | ||
160 | } | ||
161 | } | ||
162 | |||
163 | if( (btn & BUTTON_SCROLL_UP) || (btn & BUTTON_SCROLL_DOWN) ){ | 143 | if( (btn & BUTTON_SCROLL_UP) || (btn & BUTTON_SCROLL_DOWN) ){ |
164 | /* only trigger once per click */ | 144 | /* only trigger once per click */ |
165 | if ((new_wheel_value == 0x00) || (new_wheel_value == 0xc0)) | 145 | if ((new_wheel_value == 0x00) || (new_wheel_value == 0xc0)) |
166 | { | 146 | { |
167 | btn = btn&(~(BUTTON_SCROLL_UP|BUTTON_SCROLL_DOWN)); | 147 | btn = btn&(~(BUTTON_SCROLL_UP|BUTTON_SCROLL_DOWN)); |
168 | } | 148 | } |
169 | if(wheel_backlight_timer==0){ | 149 | button_backlight_on(); |
170 | wheel_backlight_on(true); | ||
171 | } | ||
172 | wheel_backlight_timer = WHEEL_BACKLIGHT_TIMEOUT; | ||
173 | } | 150 | } |
174 | 151 | ||
175 | return btn; | 152 | return btn; |