summaryrefslogtreecommitdiff
path: root/firmware/backlight.c
diff options
context:
space:
mode:
authorWilliam Wilgus <me.theuser@yahoo.com>2018-12-17 22:27:55 -0600
committerWilliam Wilgus <me.theuser@yahoo.com>2018-12-22 12:27:21 -0600
commita06d9c85f7475d650cc451fb0f537623c0206f5a (patch)
tree952a0e7265e836328873a5e2f6eb0ca8ec3cc06a /firmware/backlight.c
parentb3356e3aff34a4ab94778e7f6a8db43f9135296c (diff)
downloadrockbox-a06d9c85f7475d650cc451fb0f537623c0206f5a.tar.gz
rockbox-a06d9c85f7475d650cc451fb0f537623c0206f5a.zip
Auto-Ranging Time Formatting For Menus (hh:mm:ss:mss)
Unifies time formatting in settings_list.c allows time format to display as HH:MM:SS.MSS or any consecutive combination thereof (hh:mm:ss, mm:ss, mm:ss.mss, ss.mss, hh, mm, ss ,mss) works in INT and TABLE settings with the addition of flag 'F_TIME_SETTING' Time is auto-ranged dependent on value Adds talk_time_intervals to allow time values to be spoken similar to display format: x Hours, x Minutes, x Seconds, x Milliseconds Table lookups merged or removed from recording, clip meter and lcd timeout -String_Choice replaced with TABLE_SETTING or INT_SETTING for these functions as well, cleaned-up cfg_vals that get saved to cfgfile RTL Languages ARE supported Negative values ARE supported Backlight on/off are now Always and Never to share formatter with LCD Timeout Added flag to allow ranged units to be locked to a minimum index Added flag to allow leading zero to be supressed from the largest unit merged talk_time_unit() and talk_time_intervals() optimized time_split() optimized format_time_auto() Backlight time-out list same as original Change-Id: I59027c62d3f2956bd16fdcc1a48b2ac32c084abd
Diffstat (limited to 'firmware/backlight.c')
-rw-r--r--firmware/backlight.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/firmware/backlight.c b/firmware/backlight.c
index 25c295197f..3acc89c27c 100644
--- a/firmware/backlight.c
+++ b/firmware/backlight.c
@@ -191,10 +191,6 @@ static int remote_backlight_on_button_hold = 0;
191 191
192#ifdef HAVE_LCD_SLEEP 192#ifdef HAVE_LCD_SLEEP
193#ifdef HAVE_LCD_SLEEP_SETTING 193#ifdef HAVE_LCD_SLEEP_SETTING
194const signed char lcd_sleep_timeout_value[10] =
195{
196 -1, 0, 5, 10, 15, 20, 30, 45, 60, 90
197};
198static int lcd_sleep_timeout = 10*HZ; 194static int lcd_sleep_timeout = 10*HZ;
199#else 195#else
200/* Target defines needed value */ 196/* Target defines needed value */
@@ -885,23 +881,21 @@ void backlight_set_on_button_hold(int index)
885#endif /* HAS_BUTTON_HOLD */ 881#endif /* HAS_BUTTON_HOLD */
886 882
887#ifdef HAVE_LCD_SLEEP_SETTING 883#ifdef HAVE_LCD_SLEEP_SETTING
888void lcd_set_sleep_after_backlight_off(int index) 884void lcd_set_sleep_after_backlight_off(int timeout_seconds)
889{ 885{
890 if ((unsigned)index >= sizeof(lcd_sleep_timeout_value)) 886 lcd_sleep_timeout = HZ * timeout_seconds;
891 /* if given a weird value, use default */
892 index = 3;
893
894 lcd_sleep_timeout = HZ * lcd_sleep_timeout_value[index];
895 887
896 if (is_backlight_on(true)) 888 if (is_backlight_on(true))
897 /* Timer will be set when bl turns off or bl set to on. */ 889 /* Timer will be set when bl turns off or bl set to on. */
898 return; 890 return;
899 891
900 /* Backlight is Off */ 892 /* Backlight is Off */
901 if (lcd_sleep_timeout < 0) 893 if (lcd_sleep_timeout < 0)
894 lcd_sleep_timer = 0; /* Never */
895 else if (lcd_sleep_timeout == 0)
902 lcd_sleep_timer = 1; /* Always - sleep next tick */ 896 lcd_sleep_timer = 1; /* Always - sleep next tick */
903 else 897 else
904 lcd_sleep_timer = lcd_sleep_timeout; /* Never, other */ 898 lcd_sleep_timer = lcd_sleep_timeout; /* other */
905} 899}
906#endif /* HAVE_LCD_SLEEP_SETTING */ 900#endif /* HAVE_LCD_SLEEP_SETTING */
907 901