Commit FS#9724, which reworks the preprocessor defines related to backlight fading to a CONFIG_BACKLIGHT_FADING style. The apps/ code will only see which setting is supposed to be used, specific backlight fading handling is kept in firmware, slightly reword the manual text about software fading too with regards to the Gigabeat S

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19860 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Thomas Martitz 2009-01-26 23:21:49 +00:00
parent 4e1b7bf728
commit 12a0ed3b8d
33 changed files with 169 additions and 161 deletions

View file

@ -20,12 +20,10 @@ albumart
backlight_brightness backlight_brightness
#endif #endif
#if defined(HAVE_BACKLIGHT_PWM_FADING) #if defined(HAVE_BACKLIGHT_FADING_INT_SETTING)
backlight_fade_pwm backlight_fade_int
#elif defined(USE_BACKLIGHT_SW_FADING) #elif defined(HAVE_BACKLIGHT_FADING_BOOL_SETTING)
backlight_fade_sw backlight_fade_bool
#elif defined(USE_BACKLIGHT_CUSTOM_FADING_BOOL)
backlight_fade_custom_bool
#endif #endif
#if BATTERY_TYPES_COUNT > 1 #if BATTERY_TYPES_COUNT > 1

View file

@ -91,9 +91,8 @@ MENUITEM_SETTING(backlight_on_button_hold,
&global_settings.backlight_on_button_hold, NULL); &global_settings.backlight_on_button_hold, NULL);
#endif #endif
MENUITEM_SETTING(caption_backlight, &global_settings.caption_backlight, NULL); MENUITEM_SETTING(caption_backlight, &global_settings.caption_backlight, NULL);
#if (defined(HAVE_BACKLIGHT_PWM_FADING) && !defined(SIMULATOR)) || \ #if defined(HAVE_BACKLIGHT_FADING_INT_SETTING) \
defined(USE_BACKLIGHT_SW_FADING) || \ || defined(HAVE_BACKLIGHT_FADING_BOOL_SETTING)
defined(USE_BACKLIGHT_CUSTOM_FADING_BOOL)
MENUITEM_SETTING(backlight_fade_in, &global_settings.backlight_fade_in, NULL); MENUITEM_SETTING(backlight_fade_in, &global_settings.backlight_fade_in, NULL);
MENUITEM_SETTING(backlight_fade_out, &global_settings.backlight_fade_out, NULL); MENUITEM_SETTING(backlight_fade_out, &global_settings.backlight_fade_out, NULL);
#endif #endif
@ -132,9 +131,8 @@ MAKE_MENU(lcd_settings,ID2P(LANG_LCD_MENU),
,&backlight_on_button_hold ,&backlight_on_button_hold
# endif # endif
,&caption_backlight ,&caption_backlight
#if (defined(HAVE_BACKLIGHT_PWM_FADING) && !defined(SIMULATOR)) || \ #if defined(HAVE_BACKLIGHT_FADING_INT_SETTING) \
defined(USE_BACKLIGHT_SW_FADING) || \ || defined(HAVE_BACKLIGHT_FADING_BOOL_SETTING)
defined(USE_BACKLIGHT_CUSTOM_FADING_BOOL)
,&backlight_fade_in, &backlight_fade_out ,&backlight_fade_in, &backlight_fade_out
#endif #endif
,&bl_filter_first_keypress ,&bl_filter_first_keypress

View file

@ -773,9 +773,8 @@ void settings_apply(bool read_disk)
#if CONFIG_CHARGING #if CONFIG_CHARGING
backlight_set_timeout_plugged(global_settings.backlight_timeout_plugged); backlight_set_timeout_plugged(global_settings.backlight_timeout_plugged);
#endif #endif
#if (defined(HAVE_BACKLIGHT_PWM_FADING) && !defined(SIMULATOR)) \ #if defined(HAVE_BACKLIGHT_FADING_INT_SETTING) \
|| defined(USE_BACKLIGHT_SW_FADING) \ || defined(HAVE_BACKLIGHT_FADING_BOOL_SETTING)
|| defined(USE_BACKLIGHT_CUSTOM_FADING_BOOL)
backlight_set_fade_in(global_settings.backlight_fade_in); backlight_set_fade_in(global_settings.backlight_fade_in);
backlight_set_fade_out(global_settings.backlight_fade_out); backlight_set_fade_out(global_settings.backlight_fade_out);
#endif #endif

View file

@ -681,11 +681,10 @@ struct user_settings
int lcd_sleep_after_backlight_off; /* when to put lcd to sleep after backlight int lcd_sleep_after_backlight_off; /* when to put lcd to sleep after backlight
has turned off */ has turned off */
#endif #endif
#if defined(HAVE_BACKLIGHT_PWM_FADING) #if defined(HAVE_BACKLIGHT_FADING_INT_SETTING)
int backlight_fade_in; /* backlight fade in timing: 0..3 */ int backlight_fade_in; /* backlight fade in timing: 0..3 */
int backlight_fade_out; /* backlight fade in timing: 0..7 */ int backlight_fade_out; /* backlight fade in timing: 0..7 */
#elif defined(USE_BACKLIGHT_SW_FADING) \ #elif defined(HAVE_BACKLIGHT_FADING_BOOL_SETTING)
|| defined(USE_BACKLIGHT_CUSTOM_FADING_BOOL)
bool backlight_fade_in; bool backlight_fade_in;
bool backlight_fade_out; bool backlight_fade_out;
#endif #endif

View file

@ -671,15 +671,14 @@ const struct settings_list settings[] = {
OFFON_SETTING(0, remote_caption_backlight, LANG_CAPTION_BACKLIGHT, OFFON_SETTING(0, remote_caption_backlight, LANG_CAPTION_BACKLIGHT,
false, "remote caption backlight", NULL), false, "remote caption backlight", NULL),
#endif #endif
#endif /* HAVE_BACKLIGHT */
#ifdef HAVE_BACKLIGHT_BRIGHTNESS #ifdef HAVE_BACKLIGHT_BRIGHTNESS
INT_SETTING(F_NO_WRAP, brightness, LANG_BRIGHTNESS, INT_SETTING(F_NO_WRAP, brightness, LANG_BRIGHTNESS,
DEFAULT_BRIGHTNESS_SETTING, "brightness",UNIT_INT, DEFAULT_BRIGHTNESS_SETTING, "brightness",UNIT_INT,
MIN_BRIGHTNESS_SETTING, MAX_BRIGHTNESS_SETTING, 1, MIN_BRIGHTNESS_SETTING, MAX_BRIGHTNESS_SETTING, 1,
NULL, NULL, backlight_set_brightness), NULL, NULL, backlight_set_brightness),
#endif #endif
#if defined(HAVE_BACKLIGHT_PWM_FADING) && !defined(SIMULATOR)
/* backlight fading */ /* backlight fading */
#if defined(HAVE_BACKLIGHT_FADING_INT_SETTING)
TABLE_SETTING(F_ALLOW_ARBITRARY_VALS, backlight_fade_in, TABLE_SETTING(F_ALLOW_ARBITRARY_VALS, backlight_fade_in,
LANG_BACKLIGHT_FADE_IN, 300, "backlight fade in", "off", LANG_BACKLIGHT_FADE_IN, 300, "backlight fade in", "off",
UNIT_MS, formatter_unit_0_is_off, getlang_unit_0_is_off, UNIT_MS, formatter_unit_0_is_off, getlang_unit_0_is_off,
@ -689,13 +688,13 @@ const struct settings_list settings[] = {
UNIT_MS, formatter_unit_0_is_off, getlang_unit_0_is_off, UNIT_MS, formatter_unit_0_is_off, getlang_unit_0_is_off,
backlight_set_fade_out, 10, backlight_set_fade_out, 10,
0,100,200,300,500,1000,2000,3000,5000,10000), 0,100,200,300,500,1000,2000,3000,5000,10000),
#elif defined(USE_BACKLIGHT_SW_FADING) \ #elif defined(HAVE_BACKLIGHT_FADING_BOOL_SETTING)
|| defined(USE_BACKLIGHT_CUSTOM_FADING_BOOL)
OFFON_SETTING(0, backlight_fade_in, LANG_BACKLIGHT_FADE_IN, OFFON_SETTING(0, backlight_fade_in, LANG_BACKLIGHT_FADE_IN,
true, "backlight fade in", backlight_set_fade_in), true, "backlight fade in", backlight_set_fade_in),
OFFON_SETTING(0, backlight_fade_out, LANG_BACKLIGHT_FADE_OUT, OFFON_SETTING(0, backlight_fade_out, LANG_BACKLIGHT_FADE_OUT,
true, "backlight fade out", backlight_set_fade_out), true, "backlight fade out", backlight_set_fade_out),
#endif #endif
#endif /* HAVE_BACKLIGHT */
INT_SETTING(F_PADTITLE, scroll_speed, LANG_SCROLL_SPEED, 9,"scroll speed", INT_SETTING(F_PADTITLE, scroll_speed, LANG_SCROLL_SPEED, 9,"scroll speed",
UNIT_INT, 0, 15, 1, NULL, NULL, lcd_scroll_speed), UNIT_INT, 0, 15, 1, NULL, NULL, lcd_scroll_speed),
INT_SETTING(F_PADTITLE, scroll_delay, LANG_SCROLL_DELAY, 1000, INT_SETTING(F_PADTITLE, scroll_delay, LANG_SCROLL_DELAY, 1000,

View file

@ -96,9 +96,10 @@ drivers/lcd-remote-2bit-vi.c
#endif /* LCD_REMOTE_DEPTH */ #endif /* LCD_REMOTE_DEPTH */
#endif /* HAVE_REMOTE_LCD */ #endif /* HAVE_REMOTE_LCD */
#ifdef USE_BACKLIGHT_SW_FADING #if (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_SETTING) \
|| (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_HW_REG)
backlight-sw-fading.c backlight-sw-fading.c
#endif /* USE_BACKLIGHT_SW_FADING */ #endif /* CONFIG_BACKLIGHT_FADING */
/* Misc. */ /* Misc. */
drivers/led.c drivers/led.c

View file

@ -30,7 +30,7 @@
/* To adapt a target do: /* To adapt a target do:
* - make sure _backlight_on doesn't set the brightness to something other than * - make sure _backlight_on doesn't set the brightness to something other than
* the previous value (lowest brightness in most cases) * the previous value (lowest brightness in most cases)
* - #define USE_BACKLIGHT_SW_FADING in config-<target>.h * add proper #defines for software fading
*/ */
/* can be MIN_BRIGHTNESS_SETTING-1 */ /* can be MIN_BRIGHTNESS_SETTING-1 */

View file

@ -52,7 +52,8 @@
int backlight_brightness = DEFAULT_BRIGHTNESS_SETTING; int backlight_brightness = DEFAULT_BRIGHTNESS_SETTING;
#endif #endif
#ifdef USE_BACKLIGHT_SW_FADING #if (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_SETTING) \
|| (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_HW_REG)
#include "backlight-sw-fading.h" #include "backlight-sw-fading.h"
#endif #endif
#ifdef SIMULATOR #ifdef SIMULATOR
@ -230,14 +231,15 @@ void backlight_lcd_sleep_countdown(bool start)
} }
#endif /* HAVE_LCD_SLEEP */ #endif /* HAVE_LCD_SLEEP */
#ifdef USE_BACKLIGHT_SW_FADING #if (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_SETTING) \
|| (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_HW_REG)
static int backlight_fading_type = (FADING_UP|FADING_DOWN); static int backlight_fading_type = (FADING_UP|FADING_DOWN);
static int backlight_fading_state = NOT_FADING; static int backlight_fading_state = NOT_FADING;
#endif #endif
#if defined(HAVE_BACKLIGHT_PWM_FADING) && !defined(SIMULATOR)
/* backlight fading */ /* backlight fading */
#if (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_PWM)
#define BL_PWM_INTERVAL 5 /* Cycle interval in ms */ #define BL_PWM_INTERVAL 5 /* Cycle interval in ms */
#define BL_PWM_BITS 8 #define BL_PWM_BITS 8
#define BL_PWM_COUNT (1<<BL_PWM_BITS) #define BL_PWM_COUNT (1<<BL_PWM_BITS)
@ -410,9 +412,9 @@ void backlight_set_fade_out(int value)
else else
bl_fade_out_step = 0; bl_fade_out_step = 0;
} }
#endif /* defined(HAVE_BACKLIGHT_PWM_FADING) && !defined(SIMULATOR) */
#ifdef USE_BACKLIGHT_SW_FADING #elif (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_SETTING) \
|| (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_HW_REG)
void backlight_set_fade_out(bool value) void backlight_set_fade_out(bool value)
{ {
@ -430,7 +432,7 @@ void backlight_set_fade_in(bool value)
backlight_fading_type &= FADING_DOWN; backlight_fading_type &= FADING_DOWN;
} }
static void backlight_set_up_fade_up(void) static void backlight_setup_fade_up(void)
{ {
if (backlight_fading_type & FADING_UP) if (backlight_fading_type & FADING_UP)
{ {
@ -450,7 +452,7 @@ static void backlight_set_up_fade_up(void)
} }
} }
static void backlight_set_up_fade_down(void) static void backlight_setup_fade_down(void)
{ {
if (backlight_fading_type & FADING_DOWN) if (backlight_fading_type & FADING_DOWN)
{ {
@ -461,16 +463,14 @@ static void backlight_set_up_fade_down(void)
backlight_fading_state = NOT_FADING; backlight_fading_state = NOT_FADING;
_backlight_fade_update_state(MIN_BRIGHTNESS_SETTING-1); _backlight_fade_update_state(MIN_BRIGHTNESS_SETTING-1);
_backlight_off(); _backlight_off();
/* h300/x5/d2 go to the last known brightness level at backight_on(),which #if (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_HW_REG)
* should be the lowest level to keep fading up glitch free /* write the lowest brightness level to the hardware so that
* targets which set brightness over AS3514 I2C make the backlight on only * fading up is glitch free */
* by setting the brightness, so this step would be noticeable */
#if !defined(HAVE_AS3514)
_backlight_set_brightness(MIN_BRIGHTNESS_SETTING); _backlight_set_brightness(MIN_BRIGHTNESS_SETTING);
#endif #endif
} }
} }
#endif /* USE_BACKLIGHT_SW_FADING */ #endif /* CONFIG_BACKLIGHT_FADING */
/* Update state of backlight according to timeout setting */ /* Update state of backlight according to timeout setting */
static void backlight_update_state(void) static void backlight_update_state(void)
@ -498,8 +498,9 @@ static void backlight_update_state(void)
if (UNLIKELY(backlight_timeout < 0)) if (UNLIKELY(backlight_timeout < 0))
{ {
backlight_timer = 0; /* Disable the timeout */ backlight_timer = 0; /* Disable the timeout */
#ifdef USE_BACKLIGHT_SW_FADING #if (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_SETTING) \
backlight_set_up_fade_down(); || (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_HW_REG)
backlight_setup_fade_down();
/* necessary step to issue fading down when the setting is selected */ /* necessary step to issue fading down when the setting is selected */
queue_post(&backlight_queue, SYS_TIMEOUT, 0); queue_post(&backlight_queue, SYS_TIMEOUT, 0);
#else #else
@ -509,8 +510,9 @@ static void backlight_update_state(void)
else else
{ {
backlight_timer = backlight_timeout; backlight_timer = backlight_timeout;
#if defined(USE_BACKLIGHT_SW_FADING) #if (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_SETTING) \
backlight_set_up_fade_up(); || (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_HW_REG)
backlight_setup_fade_up();
#else #else
_backlight_on(); _backlight_on();
#endif #endif
@ -555,15 +557,13 @@ void backlight_thread(void)
while(1) while(1)
{ {
#if defined(USE_BACKLIGHT_SW_FADING) #if (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_SETTING) \
|| (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_HW_REG)
if (backlight_fading_state) if (backlight_fading_state)
queue_wait_w_tmo(&backlight_queue, &ev, FADE_DELAY); queue_wait_w_tmo(&backlight_queue, &ev, FADE_DELAY);
else else
#endif #endif
queue_wait(&backlight_queue, &ev); queue_wait(&backlight_queue, &ev);
/*
#endif
*/
switch(ev.id) switch(ev.id)
{ /* These events must always be processed */ { /* These events must always be processed */
#ifdef _BACKLIGHT_FADE_BOOST #ifdef _BACKLIGHT_FADE_BOOST
@ -643,11 +643,12 @@ void backlight_thread(void)
case BACKLIGHT_OFF: case BACKLIGHT_OFF:
backlight_timer = 0; /* Disable the timeout */ backlight_timer = 0; /* Disable the timeout */
#ifndef USE_BACKLIGHT_SW_FADING #if (CONFIG_BACKLIGHT_FADING != BACKLIGHT_FADING_SW_SETTING) \
&& (CONFIG_BACKLIGHT_FADING != BACKLIGHT_FADING_SW_HW_REG)
_backlight_off(); _backlight_off();
#else #else
backlight_set_up_fade_down(); backlight_setup_fade_down();
#endif /* USE_BACKLIGHT_SW_FADING */ #endif /* CONFIG_BACKLIGHT_FADING */
break; break;
#ifdef HAVE_LCD_SLEEP #ifdef HAVE_LCD_SLEEP
case LCD_SLEEP: case LCD_SLEEP:
@ -677,12 +678,13 @@ void backlight_thread(void)
remote_backlight_update_state(); remote_backlight_update_state();
#endif #endif
break; break;
#if defined(USE_BACKLIGHT_SW_FADING) #if (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_SETTING) \
|| (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_HW_REG)
case SYS_TIMEOUT: case SYS_TIMEOUT:
if ((_backlight_fade_step(backlight_fading_state))) if ((_backlight_fade_step(backlight_fading_state)))
backlight_fading_state = NOT_FADING; backlight_fading_state = NOT_FADING; /* finished fading */
break; break;
#endif /* USE_BACKLIGHT_SW_FADING */ #endif /* CONFIG_BACKLIGHT_FADING */
} }
} /* end while */ } /* end while */
} }
@ -733,11 +735,11 @@ void backlight_init(void)
#ifndef SIMULATOR #ifndef SIMULATOR
if (_backlight_init()) if (_backlight_init())
{ {
# ifdef HAVE_BACKLIGHT_PWM_FADING #if (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_PWM)
/* If backlight is already on, don't fade in. */ /* If backlight is already on, don't fade in. */
bl_dim_target = BL_PWM_COUNT; bl_dim_target = BL_PWM_COUNT;
bl_dim_fraction = (BL_PWM_COUNT<<16); bl_dim_fraction = (BL_PWM_COUNT<<16);
# endif #endif
} }
#endif #endif
/* Leave all lights as set by the bootloader here. The settings load will /* Leave all lights as set by the bootloader here. The settings load will
@ -922,7 +924,8 @@ void backlight_set_brightness(int val)
backlight_brightness = val; backlight_brightness = val;
_backlight_set_brightness(val); _backlight_set_brightness(val);
#ifdef USE_BACKLIGHT_SW_FADING #if (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_SETTING) \
|| (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_HW_REG)
/* receive backlight brightness */ /* receive backlight brightness */
_backlight_fade_update_state(val); _backlight_fade_update_state(val);
#endif #endif

View file

@ -22,10 +22,6 @@
#ifndef BACKLIGHT_THREAD_FADING_H #ifndef BACKLIGHT_THREAD_FADING_H
#define BACKLIGHT_THREAD_FADING_H #define BACKLIGHT_THREAD_FADING_H
#include "config.h"
#ifdef USE_BACKLIGHT_SW_FADING
/* delay supposed to be MAX_BRIGHTNESS_SETTING*2 rounded to the next multiple /* delay supposed to be MAX_BRIGHTNESS_SETTING*2 rounded to the next multiple
* of 5, however not more than 40 */ * of 5, however not more than 40 */
#define _FADE_DELAY (((MAX_BRIGHTNESS_SETTING*2+4)/5)*5) #define _FADE_DELAY (((MAX_BRIGHTNESS_SETTING*2+4)/5)*5)
@ -41,6 +37,5 @@ enum {
FADING_UP, FADING_UP,
FADING_DOWN, FADING_DOWN,
}; };
#endif /* USE_BACKLIGHT_SW_FADING */
#endif /* _BACKLIGHT_THREAD_FADING_ */ #endif /* _BACKLIGHT_THREAD_FADING_ */

View file

@ -34,12 +34,10 @@ void backlight_close(void);
int backlight_get_current_timeout(void); int backlight_get_current_timeout(void);
#if defined(HAVE_BACKLIGHT_PWM_FADING) #if defined(HAVE_BACKLIGHT_FADING_INT_SETTING)
void backlight_set_fade_in(int value); void backlight_set_fade_in(int value);
void backlight_set_fade_out(int value); void backlight_set_fade_out(int value);
#endif #elif defined(HAVE_BACKLIGHT_FADING_BOOL_SETTING)
#if defined(USE_BACKLIGHT_SW_FADING) \
|| defined(USE_BACKLIGHT_CUSTOM_FADING_BOOL)
void backlight_set_fade_in(bool value); void backlight_set_fade_in(bool value);
void backlight_set_fade_out(bool value); void backlight_set_fade_out(bool value);
#endif #endif

View file

@ -111,6 +111,14 @@
#define HAVE_BACKLIGHT #define HAVE_BACKLIGHT
#define HAVE_BACKLIGHT_BRIGHTNESS #define HAVE_BACKLIGHT_BRIGHTNESS
/* Main LCD backlight brightness range and defaults */
#define MIN_BRIGHTNESS_SETTING 1
#define MAX_BRIGHTNESS_SETTING 12
#define DEFAULT_BRIGHTNESS_SETTING 6
/* Which backlight fading type? */
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
/* define this if you have a flash memory storage */ /* define this if you have a flash memory storage */
#define HAVE_FLASH_STORAGE #define HAVE_FLASH_STORAGE
@ -138,12 +146,6 @@
/** Non-simulator section **/ /** Non-simulator section **/
#ifndef SIMULATOR #ifndef SIMULATOR
/* define this if the backlight thread is used for fade, not for sim, needs
* HAVE_BACKLIGHT_BRIGHTNESS */
#ifndef BOOTLOADER
#define USE_BACKLIGHT_SW_FADING
#endif
/* Define this if you have a PortalPlayer PP5024 */ /* Define this if you have a PortalPlayer PP5024 */
#define CONFIG_CPU PP5022 #define CONFIG_CPU PP5022
@ -200,13 +202,6 @@
#endif /* SIMULATOR */ #endif /* SIMULATOR */
/** Port-specific settings **/
/* Main LCD backlight brightness range and defaults */
#define MIN_BRIGHTNESS_SETTING 1
#define MAX_BRIGHTNESS_SETTING 12
#define DEFAULT_BRIGHTNESS_SETTING 6
/* Default recording levels */ /* Default recording levels */
#define DEFAULT_REC_MIC_GAIN 23 #define DEFAULT_REC_MIC_GAIN 23
#define DEFAULT_REC_LEFT_GAIN 23 #define DEFAULT_REC_LEFT_GAIN 23

View file

@ -136,12 +136,6 @@
/** Non-simulator section **/ /** Non-simulator section **/
#ifndef SIMULATOR #ifndef SIMULATOR
/* define this if the backlight thread is used for fade, not for sim, needs
* HAVE_BACKLIGHT_BRIGHTNESS */
#ifndef BOOTLOADER
#define USE_BACKLIGHT_SW_FADING
#endif
/* Define this if you have a PortalPlayer PP5024 */ /* Define this if you have a PortalPlayer PP5024 */
#define CONFIG_CPU AS3525 #define CONFIG_CPU AS3525

View file

@ -108,9 +108,10 @@
/* Define this for LCD backlight available */ /* Define this for LCD backlight available */
#define HAVE_BACKLIGHT #define HAVE_BACKLIGHT
/* Enable LCD brightness control */ /* Enable LCD brightness control */
#define HAVE_BACKLIGHT_BRIGHTNESS #define HAVE_BACKLIGHT_BRIGHTNESS
/* Which backlight fading type? */
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_HW_REG
/* Main LCD backlight brightness range and defaults */ /* Main LCD backlight brightness range and defaults */
#define MIN_BRIGHTNESS_SETTING 1 #define MIN_BRIGHTNESS_SETTING 1
@ -129,13 +130,6 @@
#define CONFIG_CHARGING CHARGING_SIMPLE #define CONFIG_CHARGING CHARGING_SIMPLE
#ifndef SIMULATOR #ifndef SIMULATOR
/* define this if the backlight thread is used for fade, not for sim, needs
* HAVE_BACKLIGHT_BRIGHTNESS */
#ifndef BOOTLOADER
#define USE_BACKLIGHT_SW_FADING
#endif
/* Define this if you have a TCC7801 */ /* Define this if you have a TCC7801 */
#define CONFIG_CPU TCC7801 #define CONFIG_CPU TCC7801

View file

@ -101,6 +101,9 @@
#define HAVE_BACKLIGHT #define HAVE_BACKLIGHT
#define HAVE_BACKLIGHT_BRIGHTNESS #define HAVE_BACKLIGHT_BRIGHTNESS
/* Which backlight fading type? */
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
/* define this if the unit uses a scrollwheel for navigation */ /* define this if the unit uses a scrollwheel for navigation */
#define HAVE_SCROLLWHEEL #define HAVE_SCROLLWHEEL
/* define from which rotation speed [degree/sec] on the acceleration starts */ /* define from which rotation speed [degree/sec] on the acceleration starts */
@ -135,12 +138,6 @@
/** Non-simulator section **/ /** Non-simulator section **/
#ifndef SIMULATOR #ifndef SIMULATOR
/* define this if the backlight thread is used for fade, not for sim, needs
* HAVE_BACKLIGHT_BRIGHTNESS */
#ifndef BOOTLOADER
#define USE_BACKLIGHT_SW_FADING
#endif
/* Define this if you have a PortalPlayer PP5024 */ /* Define this if you have a PortalPlayer PP5024 */
#define CONFIG_CPU PP5024 #define CONFIG_CPU PP5024

View file

@ -106,6 +106,14 @@
#define HAVE_BACKLIGHT #define HAVE_BACKLIGHT
#define HAVE_BACKLIGHT_BRIGHTNESS #define HAVE_BACKLIGHT_BRIGHTNESS
/* Main LCD backlight brightness range and defaults */
#define MIN_BRIGHTNESS_SETTING 1
#define MAX_BRIGHTNESS_SETTING 12
#define DEFAULT_BRIGHTNESS_SETTING 6
/* Which backlight fading type? */
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
/* define this if the unit uses a scrollwheel for navigation */ /* define this if the unit uses a scrollwheel for navigation */
#define HAVE_SCROLLWHEEL #define HAVE_SCROLLWHEEL
/* define from which rotation speed [degree/sec] on the acceleration starts */ /* define from which rotation speed [degree/sec] on the acceleration starts */
@ -134,12 +142,6 @@
/** Non-simulator section **/ /** Non-simulator section **/
#ifndef SIMULATOR #ifndef SIMULATOR
/* define this if the backlight thread is used for fade, not for sim, needs
* HAVE_BACKLIGHT_BRIGHTNESS */
#ifndef BOOTLOADER
#define USE_BACKLIGHT_SW_FADING
#endif
/* Define this if you have an AMS AS3525*/ /* Define this if you have an AMS AS3525*/
#define CONFIG_CPU AS3525 #define CONFIG_CPU AS3525
@ -195,13 +197,6 @@
#endif /* SIMULATOR */ #endif /* SIMULATOR */
/** Port-specific settings **/
/* Main LCD backlight brightness range and defaults */
#define MIN_BRIGHTNESS_SETTING 1
#define MAX_BRIGHTNESS_SETTING 12
#define DEFAULT_BRIGHTNESS_SETTING 6
/* Default recording levels */ /* Default recording levels */
#define DEFAULT_REC_MIC_GAIN 23 #define DEFAULT_REC_MIC_GAIN 23
#define DEFAULT_REC_LEFT_GAIN 23 #define DEFAULT_REC_LEFT_GAIN 23

View file

@ -106,6 +106,14 @@
#define HAVE_BACKLIGHT #define HAVE_BACKLIGHT
#define HAVE_BACKLIGHT_BRIGHTNESS #define HAVE_BACKLIGHT_BRIGHTNESS
/* Main LCD backlight brightness range and defaults */
#define MIN_BRIGHTNESS_SETTING 1
#define MAX_BRIGHTNESS_SETTING 12
#define DEFAULT_BRIGHTNESS_SETTING 6
/* Which backlight fading type? */
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
/* define this if the unit uses a scrollwheel for navigation */ /* define this if the unit uses a scrollwheel for navigation */
#define HAVE_SCROLLWHEEL #define HAVE_SCROLLWHEEL
/* define from which rotation speed [degree/sec] on the acceleration starts */ /* define from which rotation speed [degree/sec] on the acceleration starts */
@ -134,12 +142,6 @@
/** Non-simulator section **/ /** Non-simulator section **/
#ifndef SIMULATOR #ifndef SIMULATOR
/* define this if the backlight thread is used for fade, not for sim, needs
* HAVE_BACKLIGHT_BRIGHTNESS */
#ifndef BOOTLOADER
#define USE_BACKLIGHT_SW_FADING
#endif
/* Define this if you have an AMS AS3525*/ /* Define this if you have an AMS AS3525*/
#define CONFIG_CPU AS3525 #define CONFIG_CPU AS3525
@ -195,13 +197,6 @@
#endif /* SIMULATOR */ #endif /* SIMULATOR */
/** Port-specific settings **/
/* Main LCD backlight brightness range and defaults */
#define MIN_BRIGHTNESS_SETTING 1
#define MAX_BRIGHTNESS_SETTING 12
#define DEFAULT_BRIGHTNESS_SETTING 6
/* Default recording levels */ /* Default recording levels */
#define DEFAULT_REC_MIC_GAIN 23 #define DEFAULT_REC_MIC_GAIN 23
#define DEFAULT_REC_LEFT_GAIN 23 #define DEFAULT_REC_LEFT_GAIN 23

View file

@ -117,15 +117,14 @@
#define MAX_BRIGHTNESS_SETTING 24 #define MAX_BRIGHTNESS_SETTING 24
#define DEFAULT_BRIGHTNESS_SETTING 12 #define DEFAULT_BRIGHTNESS_SETTING 12
/* Implementation-defined fading type with bool settings */
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_TARGET
#define HAVE_HEADPHONE_DETECTION #define HAVE_HEADPHONE_DETECTION
#endif /* BOOTLOADER */ #endif /* BOOTLOADER */
#ifndef SIMULATOR #ifndef SIMULATOR
/* Implementation-defined fading type with bool settings */
#define USE_BACKLIGHT_CUSTOM_FADING_BOOL
/* The LCD on a Gigabeat is 240x320 - it is portrait */ /* The LCD on a Gigabeat is 240x320 - it is portrait */
#define HAVE_PORTRAIT_LCD #define HAVE_PORTRAIT_LCD

View file

@ -74,7 +74,7 @@
#define HAVE_BACKLIGHT #define HAVE_BACKLIGHT
/* We can fade the backlight by using PWM */ /* We can fade the backlight by using PWM */
#define HAVE_BACKLIGHT_PWM_FADING #define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_PWM
/* Define this if you have a software controlled poweroff */ /* Define this if you have a software controlled poweroff */
#define HAVE_SW_POWEROFF #define HAVE_SW_POWEROFF

View file

@ -69,7 +69,7 @@
#define HAVE_BACKLIGHT #define HAVE_BACKLIGHT
/* We can fade the backlight by using PWM */ /* We can fade the backlight by using PWM */
#define HAVE_BACKLIGHT_PWM_FADING #define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_PWM
/* Define this if you have a software controlled poweroff */ /* Define this if you have a software controlled poweroff */
#define HAVE_SW_POWEROFF #define HAVE_SW_POWEROFF

View file

@ -68,6 +68,8 @@
/* Define this for LCD backlight available */ /* Define this for LCD backlight available */
#define HAVE_BACKLIGHT #define HAVE_BACKLIGHT
#define HAVE_BACKLIGHT_BRIGHTNESS #define HAVE_BACKLIGHT_BRIGHTNESS
/* Which backlight fading type? */
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_HW_REG
/* Define this if you have a software controlled poweroff */ /* Define this if you have a software controlled poweroff */
#define HAVE_SW_POWEROFF #define HAVE_SW_POWEROFF
@ -125,12 +127,6 @@
#ifndef SIMULATOR #ifndef SIMULATOR
/* define this if the backlight thread is used for fade, not for sim, needs
* HAVE_BACKLIGHT_BRIGHTNESS */
#ifndef BOOTLOADER
#define USE_BACKLIGHT_SW_FADING
#endif
/* Define this if your LCD can be enabled/disabled */ /* Define this if your LCD can be enabled/disabled */
#define HAVE_LCD_ENABLE #define HAVE_LCD_ENABLE

View file

@ -90,6 +90,8 @@
/* Define this for LCD backlight available */ /* Define this for LCD backlight available */
#define HAVE_BACKLIGHT #define HAVE_BACKLIGHT
#define HAVE_BACKLIGHT_BRIGHTNESS #define HAVE_BACKLIGHT_BRIGHTNESS
/* Which backlight fading type? */
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_HW_REG
/* define this if you have a disk storage, i.e. something /* define this if you have a disk storage, i.e. something
that needs spinups and can cause skips when shaked */ that needs spinups and can cause skips when shaked */
@ -127,12 +129,6 @@
#ifndef SIMULATOR #ifndef SIMULATOR
/* define this if the backlight thread is used for fade, not for sim, needs
* HAVE_BACKLIGHT_BRIGHTNESS */
#ifndef BOOTLOADER
#define USE_BACKLIGHT_SW_FADING
#endif
/* Define this if your LCD can set contrast */ /* Define this if your LCD can set contrast */
#define HAVE_LCD_CONTRAST #define HAVE_LCD_CONTRAST

View file

@ -101,7 +101,7 @@
#define HAVE_BACKLIGHT #define HAVE_BACKLIGHT
/* We can fade the backlight by using PWM */ /* We can fade the backlight by using PWM */
#define HAVE_BACKLIGHT_PWM_FADING #define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_PWM
/* Define this if you can detect headphones */ /* Define this if you can detect headphones */
#define HAVE_HEADPHONE_DETECTION #define HAVE_HEADPHONE_DETECTION

View file

@ -101,7 +101,7 @@
#define HAVE_BACKLIGHT #define HAVE_BACKLIGHT
/* We can fade the backlight by using PWM */ /* We can fade the backlight by using PWM */
#define HAVE_BACKLIGHT_PWM_FADING #define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_PWM
/* define this if the unit uses a scrollwheel for navigation */ /* define this if the unit uses a scrollwheel for navigation */
#define HAVE_SCROLLWHEEL #define HAVE_SCROLLWHEEL

View file

@ -81,15 +81,14 @@
/* Define this for LCD backlight available */ /* Define this for LCD backlight available */
#define HAVE_BACKLIGHT #define HAVE_BACKLIGHT
#define HAVE_BACKLIGHT_BRIGHTNESS #define HAVE_BACKLIGHT_BRIGHTNESS
/* We can fade the backlight by using PWM */
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_PWM
/* Main LCD backlight brightness range and defaults */ /* Main LCD backlight brightness range and defaults */
#define MIN_BRIGHTNESS_SETTING 1 #define MIN_BRIGHTNESS_SETTING 1
#define MAX_BRIGHTNESS_SETTING 32 #define MAX_BRIGHTNESS_SETTING 32
#define DEFAULT_BRIGHTNESS_SETTING 16 #define DEFAULT_BRIGHTNESS_SETTING 16
/* We can fade the backlight by using PWM */
#define HAVE_BACKLIGHT_PWM_FADING
/* define this if the unit uses a scrollwheel for navigation */ /* define this if the unit uses a scrollwheel for navigation */
#define HAVE_SCROLLWHEEL #define HAVE_SCROLLWHEEL
/* define from which rotation speed [degree/sec] on the acceleration starts */ /* define from which rotation speed [degree/sec] on the acceleration starts */

View file

@ -86,13 +86,14 @@
#define HAVE_BACKLIGHT #define HAVE_BACKLIGHT
#define HAVE_BACKLIGHT_BRIGHTNESS #define HAVE_BACKLIGHT_BRIGHTNESS
/* We can fade the backlight by using PWM */
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_PWM
/* Main LCD backlight brightness range and defaults */ /* Main LCD backlight brightness range and defaults */
#define MIN_BRIGHTNESS_SETTING 1 #define MIN_BRIGHTNESS_SETTING 1
#define MAX_BRIGHTNESS_SETTING 32 #define MAX_BRIGHTNESS_SETTING 32
#define DEFAULT_BRIGHTNESS_SETTING 16 #define DEFAULT_BRIGHTNESS_SETTING 16
/* We can fade the backlight by using PWM */
#define HAVE_BACKLIGHT_PWM_FADING
/* define this if the unit uses a scrollwheel for navigation */ /* define this if the unit uses a scrollwheel for navigation */
#define HAVE_SCROLLWHEEL #define HAVE_SCROLLWHEEL

View file

@ -70,7 +70,7 @@
#define HAVE_BACKLIGHT #define HAVE_BACKLIGHT
/* We can fade the backlight by using PWM */ /* We can fade the backlight by using PWM */
#define HAVE_BACKLIGHT_PWM_FADING #define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_PWM
/* Main LCD backlight brightness range and defaults */ /* Main LCD backlight brightness range and defaults */
#define MIN_BRIGHTNESS_SETTING 1 #define MIN_BRIGHTNESS_SETTING 1

View file

@ -90,6 +90,9 @@
#define MAX_BRIGHTNESS_SETTING 12 #define MAX_BRIGHTNESS_SETTING 12
#define DEFAULT_BRIGHTNESS_SETTING 6 #define DEFAULT_BRIGHTNESS_SETTING 6
/* Which backlight fading type? */
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
/* define this if you have a flash memory storage */ /* define this if you have a flash memory storage */
#define HAVE_FLASH_STORAGE #define HAVE_FLASH_STORAGE

View file

@ -113,6 +113,24 @@
#define H300_REMOTE 2 #define H300_REMOTE 2
#define X5_REMOTE 3 #define X5_REMOTE 3
/* CONFIG_BACKLIGHT_FADING */
/* No fading capabilities at all (yet) */
#define BACKLIGHT_NO_FADING 0x0
/* Backlight fading is controlled using a hardware PWM mechanism */
#define BACKLIGHT_FADING_PWM 0x1
/* Backlight is controlled using a software implementation
* BACKLIGHT_FADING_SW_SETTING means that backlight is turned on by only setting
* the brightness (i.e. no real difference between backlight_on and
* backlight_set_brightness)
* BACKLIGHT_FADING_SW_SETTING means that backlight brightness is restored
* "in hardware", from a hardware register upon backlight_on
* Both types need to have minor adjustments in the software fading code */
#define BACKLIGHT_FADING_SW_SETTING 0x2
#define BACKLIGHT_FADING_SW_HW_REG 0x4
/* Backlight fading is done in a target specific way
* for example in hardware, but not controllable*/
#define BACKLIGHT_FADING_TARGET 0x8
/* CONFIG_CHARGING */ /* CONFIG_CHARGING */
/* Generic types */ /* Generic types */
@ -348,7 +366,12 @@
#include "config_caps.h" #include "config_caps.h"
/* now set any CONFIG_ defines correctly if they are not used, /* now set any CONFIG_ defines correctly if they are not used,
No need to do this on CONFIG_'s which are compulsary (e.g CONFIG_CODEC ) */ No need to do this on CONFIG_'s which are compulsory (e.g CONFIG_CODEC ) */
#if !defined(CONFIG_BACKLIGHT_FADING)
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_NO_FADING
#endif
#ifndef CONFIG_TUNER #ifndef CONFIG_TUNER
#define CONFIG_TUNER 0 #define CONFIG_TUNER 0
#endif #endif
@ -413,6 +436,32 @@
#define CONFIG_STORAGE_MULTI #define CONFIG_STORAGE_MULTI
#endif #endif
/* deactive fading in bootloader/sim */
#if defined(BOOTLOADER) || defined(SIMULATOR)
#undef CONFIG_BACKLIGHT_FADING
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_NO_FADING
#endif
/* determine which setting/manual text to use,
* possibly overridden in target config */
#if (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_PWM)
#ifndef HAVE_BACKLIGHT_FADING_INT_SETTING
#define HAVE_BACKLIGHT_FADING_INT_SETTING
#endif
#elif (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_SETTING) \
|| (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_HW_REG) \
|| (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_TARGET)
/* BACKLIGHT_FADING_TARGET may the setting to use */
#if !defined(HAVE_BACKLIGHT_FADING_BOOL_SETTING) \
&& !defined(HAVE_BACKLIGHT_FADING_INT_SETTING)
#define HAVE_BACKLIGHT_FADING_BOOL_SETTING
#endif
#endif /* CONFIG_BACKLIGHT_FADING */
#if defined(BOOTLOADER) && defined(HAVE_ADJUSTABLE_CPU_FREQ) #if defined(BOOTLOADER) && defined(HAVE_ADJUSTABLE_CPU_FREQ)
/* Bootloaders don't use CPU frequency adjustment */ /* Bootloaders don't use CPU frequency adjustment */
#undef HAVE_ADJUSTABLE_CPU_FREQ #undef HAVE_ADJUSTABLE_CPU_FREQ

View file

@ -39,7 +39,9 @@ void _backlight_on(void)
#ifdef HAVE_LCD_ENABLE #ifdef HAVE_LCD_ENABLE
lcd_enable(true); /* power on lcd + visible display */ lcd_enable(true); /* power on lcd + visible display */
#endif #endif
#ifndef USE_BACKLIGHT_SW_FADING #if (CONFIG_BACKLIGHT_FADING != BACKLIGHT_FADING_SW_SETTING) /* in bootloader/sim */
/* if we set the brightness to the settings value, then fading up
* is glitchy */
ascodec_write(AS3514_DCDC15, backlight_brightness); ascodec_write(AS3514_DCDC15, backlight_brightness);
#endif #endif
} }

View file

@ -50,7 +50,8 @@ bool _backlight_init(void);
void _backlight_on(void); void _backlight_on(void);
void _backlight_off(void); void _backlight_off(void);
#elif defined HAVE_BACKLIGHT_PWM_FADING /* Mini G1, G2 */ /* Mini G1, G2, Video, Nano */
#elif (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_PWM)
#define _backlight_init() true #define _backlight_init() true
void _backlight_hw_on(void); void _backlight_hw_on(void);

View file

@ -39,15 +39,16 @@ void _backlight_on(void)
#ifdef HAVE_LCD_ENABLE #ifdef HAVE_LCD_ENABLE
lcd_enable(true); /* power on lcd + visible display */ lcd_enable(true); /* power on lcd + visible display */
#endif #endif
#ifndef USE_BACKLIGHT_SW_FADING #if (CONFIG_BACKLIGHT_FADING != BACKLIGHT_FADING_SW_SETTING) /* in bootloader/sim */
/* that part ain't useful when fading */ /* if we set the brightness to the settings value, then fading up
* is glitchy */
_backlight_set_brightness(backlight_brightness); _backlight_set_brightness(backlight_brightness);
#endif #endif
} }
void _backlight_off(void) void _backlight_off(void)
{ {
ascodec_write(AS3514_DCDC15, 0x0); _backlight_set_brightness(0);
#ifdef HAVE_LCD_ENABLE #ifdef HAVE_LCD_ENABLE
lcd_enable(false); /* power off visible display */ lcd_enable(false); /* power off visible display */
#endif #endif

View file

@ -39,15 +39,16 @@ void _backlight_on(void)
#ifdef HAVE_LCD_ENABLE #ifdef HAVE_LCD_ENABLE
lcd_enable(true); /* power on lcd + visible display */ lcd_enable(true); /* power on lcd + visible display */
#endif #endif
#ifndef USE_BACKLIGHT_SW_FADING #if (CONFIG_BACKLIGHT_FADING != BACKLIGHT_FADING_SW_SETTING) /* in bootloader/sim */
/* that part ain't useful when fading */ /* if we set the brightness to the settings value, then fading up
* is glitchy */
_backlight_set_brightness(backlight_brightness); _backlight_set_brightness(backlight_brightness);
#endif #endif
} }
void _backlight_off(void) void _backlight_off(void)
{ {
ascodec_write(AS3514_DCDC15, 0x0); _backlight_set_brightness(0);
#ifdef HAVE_LCD_ENABLE #ifdef HAVE_LCD_ENABLE
lcd_enable(false); /* power off visible display */ lcd_enable(false); /* power off visible display */
#endif #endif

View file

@ -28,7 +28,7 @@
beginning so that the display can be read to see song information. The beginning so that the display can be read to see song information. The
amount of time is determined by the value of the backlight timeout amount of time is determined by the value of the backlight timeout
setting, but is no less than 5 seconds. setting, but is no less than 5 seconds.
\opt{backlight_fade_pwm}{ \opt{backlight_fade_int}{
\item[Backlight Fade In:] \item[Backlight Fade In:]
The amount of time that the backlight will take to fade from off to on The amount of time that the backlight will take to fade from off to on
after a button is pressed. If set to \setting{Off} the backlight will after a button is pressed. If set to \setting{Off} the backlight will
@ -41,14 +41,14 @@
fade out. Other valid values: \setting{500ms}, \setting{1s}, fade out. Other valid values: \setting{500ms}, \setting{1s},
\setting{2s}, \setting{3s}, \setting{4s}, \setting{5s} or \setting{10s}. \setting{2s}, \setting{3s}, \setting{4s}, \setting{5s} or \setting{10s}.
} }
\opt{backlight_fade_sw}{ \opt{backlight_fade_bool}{
\item[Backlight Fade In:] \item[Backlight Fade In:]
This options turns on smooth backlight fading when the backlight is This options turns on smooth backlight fading when the backlight is
activated. The fading time is dependent on the brightness level you turning on. The fading time may dependent on the brightness level you
have chosen. If it is turned off, the backlight will turn on immediately. have chosen. If it is turned off, the backlight will turn on immediately.
\item[Backlight Fade Out:] \item[Backlight Fade Out:]
This options turns on smooth backlight fading when the backlight is This options turns on smooth backlight fading when the backlight is
deactivated. The fading time is dependent on the brightness level you turning off. The fading time may dependent on the brightness level you
have chosen. If it is turned off, the backlight will turn off immediately. have chosen. If it is turned off, the backlight will turn off immediately.
} }
\item[First Keypress Enables Backlight Only:] \item[First Keypress Enables Backlight Only:]