diff options
Diffstat (limited to 'apps/settings.c')
-rw-r--r-- | apps/settings.c | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/apps/settings.c b/apps/settings.c index 1b4f864ec5..450a85b2da 100644 --- a/apps/settings.c +++ b/apps/settings.c | |||
@@ -74,7 +74,7 @@ offset abs | |||
74 | 0x08 0x1c <loudness byte> | 74 | 0x08 0x1c <loudness byte> |
75 | 0x09 0x1d <bass boost byte> | 75 | 0x09 0x1d <bass boost byte> |
76 | 0x0a 0x1e <contrast byte> | 76 | 0x0a 0x1e <contrast byte> |
77 | 0x0b 0x1f <backlight byte> | 77 | 0x0b 0x1f <backlight_on_when_charging, backlight_timeout> |
78 | 0x0c 0x20 <poweroff timer byte> | 78 | 0x0c 0x20 <poweroff timer byte> |
79 | 0x0d 0x21 <resume settings byte> | 79 | 0x0d 0x21 <resume settings byte> |
80 | 0x0e 0x22 <shuffle,dirfilter,sort_case,discharge,statusbar,show_hidden, | 80 | 0x0e 0x22 <shuffle,dirfilter,sort_case,discharge,statusbar,show_hidden, |
@@ -270,7 +270,16 @@ int settings_save( void ) | |||
270 | config_block[0x9] = (unsigned char)global_settings.bass_boost; | 270 | config_block[0x9] = (unsigned char)global_settings.bass_boost; |
271 | 271 | ||
272 | config_block[0xa] = (unsigned char)global_settings.contrast; | 272 | config_block[0xa] = (unsigned char)global_settings.contrast; |
273 | config_block[0xb] = (unsigned char)global_settings.backlight; | 273 | |
274 | #ifdef HAVE_CHARGE_CTRL | ||
275 | if( global_settings.backlight_on_when_charging ) { | ||
276 | config_block[0xb] = (unsigned char) (global_settings.backlight_timeout + 128); | ||
277 | } else { | ||
278 | config_block[0xb] = (unsigned char)global_settings.backlight_timeout; | ||
279 | } | ||
280 | #else | ||
281 | config_block[0xb] = (unsigned char)global_settings.backlight_timeout; | ||
282 | #endif | ||
274 | config_block[0xc] = (unsigned char)global_settings.poweroff; | 283 | config_block[0xc] = (unsigned char)global_settings.poweroff; |
275 | config_block[0xd] = (unsigned char)global_settings.resume; | 284 | config_block[0xd] = (unsigned char)global_settings.resume; |
276 | 285 | ||
@@ -366,8 +375,15 @@ void settings_load(void) | |||
366 | if ( global_settings.contrast < MIN_CONTRAST_SETTING ) | 375 | if ( global_settings.contrast < MIN_CONTRAST_SETTING ) |
367 | global_settings.contrast = DEFAULT_CONTRAST_SETTING; | 376 | global_settings.contrast = DEFAULT_CONTRAST_SETTING; |
368 | } | 377 | } |
378 | #ifdef HAVE_CHARGE_CTRL | ||
379 | if (config_block[0xb] != 0xFF) { | ||
380 | global_settings.backlight_timeout = config_block[0xb] & 127; | ||
381 | global_settings.backlight_on_when_charging = config_block[0xb] & 128 ? 1 : 0; | ||
382 | } | ||
383 | #else | ||
369 | if (config_block[0xb] != 0xFF) | 384 | if (config_block[0xb] != 0xFF) |
370 | global_settings.backlight = config_block[0xb]; | 385 | global_settings.backlight_timeout = config_block[0xb]; |
386 | #endif | ||
371 | if (config_block[0xc] != 0xFF) | 387 | if (config_block[0xc] != 0xFF) |
372 | global_settings.poweroff = config_block[0xc]; | 388 | global_settings.poweroff = config_block[0xc]; |
373 | if (config_block[0xd] != 0xFF) | 389 | if (config_block[0xd] != 0xFF) |
@@ -432,7 +448,10 @@ void settings_load(void) | |||
432 | } | 448 | } |
433 | lcd_set_contrast(global_settings.contrast); | 449 | lcd_set_contrast(global_settings.contrast); |
434 | lcd_scroll_speed(global_settings.scroll_speed); | 450 | lcd_scroll_speed(global_settings.scroll_speed); |
435 | backlight_time(global_settings.backlight); | 451 | backlight_set_timeout(global_settings.backlight_timeout); |
452 | #ifdef HAVE_CHARGE_CTRL | ||
453 | backlight_set_on_when_charging(global_settings.backlight_on_when_charging); | ||
454 | #endif | ||
436 | ata_spindown(global_settings.disk_spindown); | 455 | ata_spindown(global_settings.disk_spindown); |
437 | set_poweroff_timeout(global_settings.poweroff); | 456 | set_poweroff_timeout(global_settings.poweroff); |
438 | #ifdef HAVE_CHARGE_CTRL | 457 | #ifdef HAVE_CHARGE_CTRL |
@@ -615,7 +634,10 @@ void settings_reset(void) { | |||
615 | global_settings.resume = RESUME_ASK; | 634 | global_settings.resume = RESUME_ASK; |
616 | global_settings.contrast = DEFAULT_CONTRAST_SETTING; | 635 | global_settings.contrast = DEFAULT_CONTRAST_SETTING; |
617 | global_settings.poweroff = DEFAULT_POWEROFF_SETTING; | 636 | global_settings.poweroff = DEFAULT_POWEROFF_SETTING; |
618 | global_settings.backlight = DEFAULT_BACKLIGHT_SETTING; | 637 | global_settings.backlight_timeout = DEFAULT_BACKLIGHT_TIMEOUT_SETTING; |
638 | #ifdef HAVE_CHARGE_CTRL | ||
639 | global_settings.backlight_on_when_charging = DEFAULT_BACKLIGHT_ON_WHEN_CHARGING_SETTING; | ||
640 | #endif | ||
619 | global_settings.dirfilter = SHOW_MUSIC; | 641 | global_settings.dirfilter = SHOW_MUSIC; |
620 | global_settings.sort_case = false; | 642 | global_settings.sort_case = false; |
621 | global_settings.statusbar = true; | 643 | global_settings.statusbar = true; |
@@ -654,10 +676,10 @@ void settings_display(void) | |||
654 | global_settings.loudness, | 676 | global_settings.loudness, |
655 | global_settings.bass_boost ); | 677 | global_settings.bass_boost ); |
656 | 678 | ||
657 | DEBUGF( "contrast:\t%d\npoweroff:\t%d\nbacklight:\t%d\n", | 679 | DEBUGF( "contrast:\t%d\npoweroff:\t%d\nbacklight_timeout:\t%d\n", |
658 | global_settings.contrast, | 680 | global_settings.contrast, |
659 | global_settings.poweroff, | 681 | global_settings.poweroff, |
660 | global_settings.backlight ); | 682 | global_settings.backlight_timeout ); |
661 | #endif | 683 | #endif |
662 | } | 684 | } |
663 | 685 | ||