diff options
| author | Miika Pekkarinen <miipekk@ihme.org> | 2007-01-12 20:26:23 +0000 |
|---|---|---|
| committer | Miika Pekkarinen <miipekk@ihme.org> | 2007-01-12 20:26:23 +0000 |
| commit | 73cd9f3b63718d1fe927e7ef4294ed902e8a1b73 (patch) | |
| tree | 82fc91d5a47c267a8a5a1cdd20aa89b2cd65a079 /firmware/backlight.c | |
| parent | 0ea4d3197ed7e56f39c630741cb69152ac9e41de (diff) | |
| download | rockbox-73cd9f3b63718d1fe927e7ef4294ed902e8a1b73.zip rockbox-73cd9f3b63718d1fe927e7ef4294ed902e8a1b73.tar.gz rockbox-73cd9f3b63718d1fe927e7ef4294ed902e8a1b73.tar.bz2 rockbox-73cd9f3b63718d1fe927e7ef4294ed902e8a1b73.tar.xz | |
Turn backlight ON at boot unless bootloader has already done that.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11992 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/backlight.c')
| -rw-r--r-- | firmware/backlight.c | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/firmware/backlight.c b/firmware/backlight.c index 63bde6a..d621aa4 100644 --- a/firmware/backlight.c +++ b/firmware/backlight.c @@ -152,8 +152,8 @@ static int fade_in_count = 1; static int fade_out_count = 4; static bool bl_timer_active = false; -static int bl_dim_current = BL_PWM_COUNT; -static int bl_dim_target = BL_PWM_COUNT; +static int bl_dim_current = 0; +static int bl_dim_target = 0; static int bl_pwm_counter = 0; static volatile int bl_cycle_counter = 0; static enum {DIM_STATE_START, DIM_STATE_MAIN} bl_dim_state = DIM_STATE_START; @@ -556,17 +556,21 @@ static void backlight_tick(void) void backlight_init(void) { queue_init(&backlight_queue, true); - create_thread(backlight_thread, backlight_stack, - sizeof(backlight_stack), backlight_thread_name - IF_PRIO(, PRIORITY_SYSTEM)); - tick_add_task(backlight_tick); + #ifdef SIMULATOR /* do nothing */ #elif defined(__BACKLIGHT_INIT) /* Remove the __BACKLIGHT_INIT references when __backlight_init is available on all backlighted targets. Take them out of the backlight-target.h files as well */ - __backlight_init(); + if (__backlight_init()) + { +# if defined(HAVE_BACKLIGHT_PWM_FADING) && !defined(SIMULATOR) + /* If backlight is already on, don't fade in. */ + bl_dim_current = BL_PWM_COUNT; + bl_dim_target = BL_PWM_COUNT; +# endif + } #elif CONFIG_BACKLIGHT == BL_PA14_LO || CONFIG_BACKLIGHT == BL_PA14_HI PACR1 &= ~0x3000; /* Set PA14 (backlight control) to GPIO */ or_b(0x40, &PAIORH); /* ..and output */ @@ -575,6 +579,11 @@ void backlight_init(void) #ifdef HAVE_REMOTE_LCD remote_backlight_on(); #endif + + create_thread(backlight_thread, backlight_stack, + sizeof(backlight_stack), backlight_thread_name + IF_PRIO(, PRIORITY_SYSTEM)); + tick_add_task(backlight_tick); } #ifdef X5_BACKLIGHT_SHUTDOWN @@ -803,6 +812,7 @@ void backlight_init(void) { #ifdef __BACKLIGHT_INIT __backlight_init(); + __backlight_on(); #endif } #endif |