summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2010-01-19 22:07:28 +0000
committerThomas Martitz <kugel@rockbox.org>2010-01-19 22:07:28 +0000
commit6915340f2d211723a79ddbbb7bde55ee00232ae5 (patch)
tree1df14359c00b9e1a1dc9eb7173b8d67f5e8ea278
parent8d29cadaa1b92561862f1514c2cca3962e486d80 (diff)
downloadrockbox-6915340f2d211723a79ddbbb7bde55ee00232ae5.tar.gz
rockbox-6915340f2d211723a79ddbbb7bde55ee00232ae5.zip
Fix FS#10867 and a few more potential issues by imitate target scrollwheel behavior more (although that behavior is suboptimal imo). Also, default for maximum backlight brightness in the sim and move stuff into sim.h.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24289 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/export/config.h6
-rw-r--r--firmware/export/config/sim.h16
-rw-r--r--uisimulator/common/backlight-sim.c17
-rw-r--r--uisimulator/sdl/button.c7
4 files changed, 36 insertions, 10 deletions
diff --git a/firmware/export/config.h b/firmware/export/config.h
index 81e83b09f4..a4940a068f 100644
--- a/firmware/export/config.h
+++ b/firmware/export/config.h
@@ -567,10 +567,8 @@ Lyre prototype 1 */
567#define CONFIG_TUNER_MULTI 567#define CONFIG_TUNER_MULTI
568#endif 568#endif
569 569
570/* deactivate fading in bootloader/sim */ 570/* deactivate fading in bootloader */
571#if defined(BOOTLOADER) || (defined(SIMULATOR) && \ 571#if defined(BOOTLOADER)
572 (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_PWM || \
573 CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_TARGET))
574#undef CONFIG_BACKLIGHT_FADING 572#undef CONFIG_BACKLIGHT_FADING
575#define CONFIG_BACKLIGHT_FADING BACKLIGHT_NO_FADING 573#define CONFIG_BACKLIGHT_FADING BACKLIGHT_NO_FADING
576#endif 574#endif
diff --git a/firmware/export/config/sim.h b/firmware/export/config/sim.h
index ec398c8b2d..56c3e18229 100644
--- a/firmware/export/config/sim.h
+++ b/firmware/export/config/sim.h
@@ -79,3 +79,19 @@
79 79
80#undef HAVE_SPEAKER 80#undef HAVE_SPEAKER
81 81
82#if CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_HW_REG
83#undef CONFIG_BACKLIGHT_FADING
84 /* simulate SW_SETTING, as we handle sdl very similary */
85#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
86
87#elif (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_PWM || \
88 CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_TARGET)
89 /* we don't simulate that yet */
90#undef CONFIG_BACKLIGHT_FADING
91#endif
92
93#ifdef HAVE_BACKLIGHT_BRIGHTNESS
94#undef DEFAULT_BRIGHTNESS_SETTING
95/* default for 100% in the sim */
96#define DEFAULT_BRIGHTNESS_SETTING MAX_BRIGHTNESS_SETTING
97#endif
diff --git a/uisimulator/common/backlight-sim.c b/uisimulator/common/backlight-sim.c
index 74a715a035..aa8fe8e844 100644
--- a/uisimulator/common/backlight-sim.c
+++ b/uisimulator/common/backlight-sim.c
@@ -30,7 +30,11 @@ extern void lcd_awake(void);
30/* in uisimulator/sdl/lcd-bitmap.c and lcd-charcell.c */ 30/* in uisimulator/sdl/lcd-bitmap.c and lcd-charcell.c */
31extern void sim_backlight(int value); 31extern void sim_backlight(int value);
32 32
33static int old_val = 100; 33static inline int normalize_backlight(int val)
34{
35 /* normalize to xx% brightness for sdl */
36 return ((val - MIN_BRIGHTNESS_SETTING + 1) * 100)/MAX_BRIGHTNESS_SETTING;
37}
34 38
35bool _backlight_init(void) 39bool _backlight_init(void)
36{ 40{
@@ -39,12 +43,16 @@ bool _backlight_init(void)
39 43
40void _backlight_on(void) 44void _backlight_on(void)
41{ 45{
42 sim_backlight(old_val);
43#if defined(HAVE_LCD_ENABLE) 46#if defined(HAVE_LCD_ENABLE)
44 lcd_enable(true); 47 lcd_enable(true);
45#elif defined(HAVE_LCD_SLEEP) 48#elif defined(HAVE_LCD_SLEEP)
46 lcd_awake(); 49 lcd_awake();
47#endif 50#endif
51#if (CONFIG_BACKLIGHT_FADING != BACKLIGHT_FADING_SW_SETTING)
52 /* if we set the brightness to the settings value, then fading up
53 * is glitchy */
54 sim_backlight(normalize_backlight(backlight_brightness));
55#endif
48} 56}
49 57
50void _backlight_off(void) 58void _backlight_off(void)
@@ -58,10 +66,7 @@ void _backlight_off(void)
58#ifdef HAVE_BACKLIGHT_BRIGHTNESS 66#ifdef HAVE_BACKLIGHT_BRIGHTNESS
59void _backlight_set_brightness(int val) 67void _backlight_set_brightness(int val)
60{ 68{
61 int normalized = ((val - MIN_BRIGHTNESS_SETTING + 1) * 100) / MAX_BRIGHTNESS_SETTING; 69 sim_backlight(normalize_backlight(val));
62 sim_backlight(normalized);
63
64 old_val = normalized;
65} 70}
66#endif /* HAVE_BACKLIGHT_BRIGHTNESS */ 71#endif /* HAVE_BACKLIGHT_BRIGHTNESS */
67#ifdef HAVE_BUTTON_LIGHT 72#ifdef HAVE_BUTTON_LIGHT
diff --git a/uisimulator/sdl/button.c b/uisimulator/sdl/button.c
index fdabfcf5a4..0f9770dcac 100644
--- a/uisimulator/sdl/button.c
+++ b/uisimulator/sdl/button.c
@@ -29,6 +29,7 @@
29#include "misc.h" 29#include "misc.h"
30#include "sim_tasks.h" 30#include "sim_tasks.h"
31#include "button-sdl.h" 31#include "button-sdl.h"
32#include "backlight.h"
32 33
33#include "debug.h" 34#include "debug.h"
34 35
@@ -1275,6 +1276,12 @@ void button_event(int key, bool pressed)
1275 * store the scroll forward/back buttons in their button data for 1276 * store the scroll forward/back buttons in their button data for
1276 * the button_read call. 1277 * the button_read call.
1277 */ 1278 */
1279#ifdef HAVE_BACKLIGHT
1280 backlight_on();
1281#endif
1282#ifdef HAVE_BUTTON_LIGHT
1283 buttonlight_on();
1284#endif
1278 queue_post(&button_queue, new_btn, 1<<24); 1285 queue_post(&button_queue, new_btn, 1<<24);
1279 new_btn &= ~(BUTTON_SCROLL_FWD | BUTTON_SCROLL_BACK); 1286 new_btn &= ~(BUTTON_SCROLL_FWD | BUTTON_SCROLL_BACK);
1280 } 1287 }