diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2008-12-02 02:56:46 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2008-12-02 02:56:46 +0000 |
commit | 9eabf8fb8b12181747d742f860f00945d81e16fd (patch) | |
tree | b75f27bdaaa57442e68751ef1b4ef1ce294833a9 /firmware/target/arm | |
parent | c1cd0469ca9f084b39d747ccca5d64442c3833ca (diff) | |
download | rockbox-9eabf8fb8b12181747d742f860f00945d81e16fd.tar.gz rockbox-9eabf8fb8b12181747d742f860f00945d81e16fd.zip |
Fix FS#9599 - LCD Brightness setting broken by software fading. Patch by Thomas Martitz (kugel). The internal code requires log_brightness values.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19297 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm')
-rw-r--r-- | firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c b/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c index d50611aca7..0cd47453ad 100644 --- a/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c +++ b/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c | |||
@@ -63,6 +63,7 @@ enum buttonlight_states | |||
63 | BUTTONLIGHT_CONTROL_FADE, | 63 | BUTTONLIGHT_CONTROL_FADE, |
64 | } buttonlight_control; | 64 | } buttonlight_control; |
65 | 65 | ||
66 | static unsigned char _backlight_brightness; | ||
66 | static unsigned char buttonlight_brightness; | 67 | static unsigned char buttonlight_brightness; |
67 | static unsigned char backlight_target; | 68 | static unsigned char backlight_target; |
68 | static unsigned char buttonlight_target; | 69 | static unsigned char buttonlight_target; |
@@ -72,7 +73,9 @@ static unsigned short buttonlight_trigger_now; | |||
72 | /* Assumes that the backlight has been initialized */ | 73 | /* Assumes that the backlight has been initialized */ |
73 | void _backlight_set_brightness(int brightness) | 74 | void _backlight_set_brightness(int brightness) |
74 | { | 75 | { |
75 | (void) brightness; /* Actually handled in led_control_service() */ | 76 | /* stop the interrupt from messing us up */ |
77 | backlight_control = BACKLIGHT_CONTROL_IDLE; | ||
78 | _backlight_brightness = log_brightness[brightness - 1]; | ||
76 | backlight_control = BACKLIGHT_CONTROL_SET; | 79 | backlight_control = BACKLIGHT_CONTROL_SET; |
77 | } | 80 | } |
78 | 81 | ||
@@ -147,14 +150,14 @@ static void led_control_service(void) | |||
147 | sc606_changed=true; | 150 | sc606_changed=true; |
148 | sc606_CONF_changed=true; | 151 | sc606_CONF_changed=true; |
149 | sc606regCONFval |= 0x03; | 152 | sc606regCONFval |= 0x03; |
150 | sc606regAval=backlight_brightness; | 153 | sc606regAval=_backlight_brightness; |
151 | backlight_control = BACKLIGHT_CONTROL_IDLE; | 154 | backlight_control = BACKLIGHT_CONTROL_IDLE; |
152 | break; | 155 | break; |
153 | case BACKLIGHT_CONTROL_SET: | 156 | case BACKLIGHT_CONTROL_SET: |
154 | if(!(sc606regCONFval&0x03)) | 157 | if(!(sc606regCONFval&0x03)) |
155 | break; | 158 | break; |
156 | sc606_changed=true; | 159 | sc606_changed=true; |
157 | sc606regAval=log_brightness[backlight_brightness - 1]; | 160 | sc606regAval = _backlight_brightness; |
158 | backlight_control = BACKLIGHT_CONTROL_IDLE; | 161 | backlight_control = BACKLIGHT_CONTROL_IDLE; |
159 | break; | 162 | break; |
160 | case BACKLIGHT_CONTROL_FADE: | 163 | case BACKLIGHT_CONTROL_FADE: |
@@ -317,8 +320,8 @@ static void __backlight_dim(bool dim_now) | |||
317 | { | 320 | { |
318 | /* dont let the interrupt tick happen */ | 321 | /* dont let the interrupt tick happen */ |
319 | backlight_control = BACKLIGHT_CONTROL_IDLE; | 322 | backlight_control = BACKLIGHT_CONTROL_IDLE; |
320 | backlight_target = (dim_now == true) ? 0 : backlight_brightness; | 323 | backlight_target = (dim_now == true) ? 0 : _backlight_brightness; |
321 | if(backlight_target==0 && backlight_brightness==0) | 324 | if(backlight_target==0 && _backlight_brightness==0) |
322 | { | 325 | { |
323 | if(dim_now == false) | 326 | if(dim_now == false) |
324 | backlight_control = BACKLIGHT_CONTROL_ON; | 327 | backlight_control = BACKLIGHT_CONTROL_ON; |
@@ -402,7 +405,7 @@ void _buttonlight_set_brightness(int brightness) | |||
402 | bool _backlight_init(void) | 405 | bool _backlight_init(void) |
403 | { | 406 | { |
404 | buttonlight_brightness = DEFAULT_BRIGHTNESS_SETTING; | 407 | buttonlight_brightness = DEFAULT_BRIGHTNESS_SETTING; |
405 | backlight_brightness = DEFAULT_BRIGHTNESS_SETTING; | 408 | _backlight_brightness = DEFAULT_BRIGHTNESS_SETTING; |
406 | 409 | ||
407 | buttonlight_control = BUTTONLIGHT_CONTROL_IDLE; | 410 | buttonlight_control = BUTTONLIGHT_CONTROL_IDLE; |
408 | backlight_control = BACKLIGHT_CONTROL_ON; | 411 | backlight_control = BACKLIGHT_CONTROL_ON; |