summaryrefslogtreecommitdiff
path: root/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c')
-rw-r--r--firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c70
1 files changed, 42 insertions, 28 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 c132be5f69..ee8801f99b 100644
--- a/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c
+++ b/firmware/target/arm/s3c2440/gigabeat-fx/backlight-meg-fx.c
@@ -67,18 +67,8 @@ static unsigned char buttonlight_target;
67 67
68static unsigned short buttonlight_trigger_now; 68static unsigned short buttonlight_trigger_now;
69 69
70void __backlight_on(void)
71{
72 backlight_control = BACKLIGHT_CONTROL_ON;
73}
74
75void __backlight_off(void)
76{
77 backlight_control = BACKLIGHT_CONTROL_OFF;
78}
79
80/* Assumes that the backlight has been initialized */ 70/* Assumes that the backlight has been initialized */
81void __backlight_set_brightness(int brightness) 71void _backlight_set_brightness(int brightness)
82{ 72{
83 /* stop the interrupt from messing us up */ 73 /* stop the interrupt from messing us up */
84 backlight_control = BACKLIGHT_CONTROL_IDLE; 74 backlight_control = BACKLIGHT_CONTROL_IDLE;
@@ -328,17 +318,44 @@ static void led_control_service(void)
328} 318}
329#endif /* BOOTLOADER */ 319#endif /* BOOTLOADER */
330 320
331void __buttonlight_on(void) 321static void __backlight_dim(bool dim_now)
322{
323 /* dont let the interrupt tick happen */
324 backlight_control = BACKLIGHT_CONTROL_IDLE;
325 backlight_target = (dim_now == true) ? 0 : backlight_brightness;
326 if(backlight_target==0 && backlight_brightness==0)
327 {
328 if(dim_now == false)
329 backlight_control = BACKLIGHT_CONTROL_ON;
330 else
331 backlight_control = BACKLIGHT_CONTROL_OFF;
332 }
333 else
334 backlight_control = BACKLIGHT_CONTROL_FADE;
335}
336
337void _backlight_on(void)
338{
339 lcd_enable(true);
340 __backlight_dim(false);
341}
342
343void _backlight_off(void)
344{
345 __backlight_dim(true);
346}
347
348static inline void __buttonlight_on(void)
332{ 349{
333 buttonlight_control = BUTTONLIGHT_CONTROL_ON; 350 buttonlight_control = BUTTONLIGHT_CONTROL_ON;
334} 351}
335 352
336void __buttonlight_off(void) 353static inline void __buttonlight_off(void)
337{ 354{
338 buttonlight_control = BUTTONLIGHT_CONTROL_OFF; 355 buttonlight_control = BUTTONLIGHT_CONTROL_OFF;
339} 356}
340 357
341void __buttonlight_dim(bool dim_now) 358static void __buttonlight_dim(bool dim_now)
342{ 359{
343 buttonlight_control = BUTTONLIGHT_CONTROL_IDLE; 360 buttonlight_control = BUTTONLIGHT_CONTROL_IDLE;
344 buttonlight_target = (dim_now == true) ? 0 : buttonlight_brightness; 361 buttonlight_target = (dim_now == true) ? 0 : buttonlight_brightness;
@@ -353,30 +370,27 @@ void __buttonlight_dim(bool dim_now)
353 buttonlight_control = BUTTONLIGHT_CONTROL_FADE; 370 buttonlight_control = BUTTONLIGHT_CONTROL_FADE;
354} 371}
355 372
356void __backlight_dim(bool dim_now) 373void _buttonlight_on(void)
357{ 374{
358 /* dont let the interrupt tick happen */ 375 __buttonlight_dim(false);
359 backlight_control = BACKLIGHT_CONTROL_IDLE; 376}
360 backlight_target = (dim_now == true) ? 0 : backlight_brightness; 377
361 if(backlight_target==0 && backlight_brightness==0) 378void _buttonlight_off(void)
362 { 379{
363 if(dim_now == false) 380 if(_buttonlight_timeout>0)
364 backlight_control = BACKLIGHT_CONTROL_ON; 381 __buttonlight_dim(true);
365 else
366 backlight_control = BACKLIGHT_CONTROL_OFF;
367 }
368 else 382 else
369 backlight_control = BACKLIGHT_CONTROL_FADE; 383 __buttonlight_off();
370} 384}
371 385
372void __buttonlight_set_brightness(int brightness) 386void _buttonlight_set_brightness(int brightness)
373{ 387{
374 buttonlight_control = BUTTONLIGHT_CONTROL_IDLE; 388 buttonlight_control = BUTTONLIGHT_CONTROL_IDLE;
375 buttonlight_brightness = brightness; 389 buttonlight_brightness = brightness;
376 buttonlight_control = BUTTONLIGHT_CONTROL_SET; 390 buttonlight_control = BUTTONLIGHT_CONTROL_SET;
377} 391}
378 392
379bool __backlight_init(void) 393bool _backlight_init(void)
380{ 394{
381 buttonlight_brightness = DEFAULT_BRIGHTNESS_SETTING; 395 buttonlight_brightness = DEFAULT_BRIGHTNESS_SETTING;
382 backlight_brightness = DEFAULT_BRIGHTNESS_SETTING; 396 backlight_brightness = DEFAULT_BRIGHTNESS_SETTING;