summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2008-12-02 02:56:46 +0000
committerMichael Sevakis <jethead71@rockbox.org>2008-12-02 02:56:46 +0000
commit9eabf8fb8b12181747d742f860f00945d81e16fd (patch)
treeb75f27bdaaa57442e68751ef1b4ef1ce294833a9
parentc1cd0469ca9f084b39d747ccca5d64442c3833ca (diff)
downloadrockbox-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
-rw-r--r--firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c15
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
66static unsigned char _backlight_brightness;
66static unsigned char buttonlight_brightness; 67static unsigned char buttonlight_brightness;
67static unsigned char backlight_target; 68static unsigned char backlight_target;
68static unsigned char buttonlight_target; 69static 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 */
73void _backlight_set_brightness(int brightness) 74void _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)
402bool _backlight_init(void) 405bool _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;