diff options
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.c | 70 |
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 | ||
68 | static unsigned short buttonlight_trigger_now; | 68 | static unsigned short buttonlight_trigger_now; |
69 | 69 | ||
70 | void __backlight_on(void) | ||
71 | { | ||
72 | backlight_control = BACKLIGHT_CONTROL_ON; | ||
73 | } | ||
74 | |||
75 | void __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 */ |
81 | void __backlight_set_brightness(int brightness) | 71 | void _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 | ||
331 | void __buttonlight_on(void) | 321 | static 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 | |||
337 | void _backlight_on(void) | ||
338 | { | ||
339 | lcd_enable(true); | ||
340 | __backlight_dim(false); | ||
341 | } | ||
342 | |||
343 | void _backlight_off(void) | ||
344 | { | ||
345 | __backlight_dim(true); | ||
346 | } | ||
347 | |||
348 | static inline void __buttonlight_on(void) | ||
332 | { | 349 | { |
333 | buttonlight_control = BUTTONLIGHT_CONTROL_ON; | 350 | buttonlight_control = BUTTONLIGHT_CONTROL_ON; |
334 | } | 351 | } |
335 | 352 | ||
336 | void __buttonlight_off(void) | 353 | static inline void __buttonlight_off(void) |
337 | { | 354 | { |
338 | buttonlight_control = BUTTONLIGHT_CONTROL_OFF; | 355 | buttonlight_control = BUTTONLIGHT_CONTROL_OFF; |
339 | } | 356 | } |
340 | 357 | ||
341 | void __buttonlight_dim(bool dim_now) | 358 | static 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 | ||
356 | void __backlight_dim(bool dim_now) | 373 | void _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) | 378 | void _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 | ||
372 | void __buttonlight_set_brightness(int brightness) | 386 | void _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 | ||
379 | bool __backlight_init(void) | 393 | bool _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; |