diff options
author | Steve Bavin <pondlife@pondlife.me> | 2008-11-26 08:26:13 +0000 |
---|---|---|
committer | Steve Bavin <pondlife@pondlife.me> | 2008-11-26 08:26:13 +0000 |
commit | f6847265804b650b007eb8ecdc86876214ee7302 (patch) | |
tree | 5f92d0097167f2e5c257b42427fd182e704ae4c1 /firmware/target | |
parent | 756bcc4bd53b34371c073c8468cbd8c01ffe094a (diff) | |
download | rockbox-f6847265804b650b007eb8ecdc86876214ee7302.tar.gz rockbox-f6847265804b650b007eb8ecdc86876214ee7302.zip |
Add software backlight fading for E100/H300/X5/D2, by Thomas Martitz and others - see FS#6800 for credits.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19221 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target')
-rw-r--r-- | firmware/target/arm/sandisk/backlight-c200_e200.c | 14 | ||||
-rw-r--r-- | firmware/target/arm/sandisk/backlight-target.h | 1 | ||||
-rw-r--r-- | firmware/target/arm/tcc780x/cowond2/backlight-cowond2.c | 13 |
3 files changed, 8 insertions, 20 deletions
diff --git a/firmware/target/arm/sandisk/backlight-c200_e200.c b/firmware/target/arm/sandisk/backlight-c200_e200.c index b3984ca9ad..67e0cddac9 100644 --- a/firmware/target/arm/sandisk/backlight-c200_e200.c +++ b/firmware/target/arm/sandisk/backlight-c200_e200.c | |||
@@ -26,16 +26,9 @@ | |||
26 | #include "ascodec.h" | 26 | #include "ascodec.h" |
27 | #include "as3514.h" | 27 | #include "as3514.h" |
28 | 28 | ||
29 | static unsigned short backlight_brightness = DEFAULT_BRIGHTNESS_SETTING; | ||
30 | |||
31 | void _backlight_set_brightness(int brightness) | 29 | void _backlight_set_brightness(int brightness) |
32 | { | 30 | { |
33 | backlight_brightness = brightness; | 31 | ascodec_write(AS3514_DCDC15, brightness); |
34 | |||
35 | if (brightness > 0) | ||
36 | _backlight_on(); | ||
37 | else | ||
38 | _backlight_off(); | ||
39 | } | 32 | } |
40 | 33 | ||
41 | void _backlight_on(void) | 34 | void _backlight_on(void) |
@@ -46,7 +39,10 @@ void _backlight_on(void) | |||
46 | #ifdef HAVE_LCD_ENABLE | 39 | #ifdef HAVE_LCD_ENABLE |
47 | lcd_enable(true); /* power on lcd + visible display */ | 40 | lcd_enable(true); /* power on lcd + visible display */ |
48 | #endif | 41 | #endif |
49 | ascodec_write(AS3514_DCDC15, backlight_brightness); | 42 | #ifndef USE_BACKLIGHT_SW_FADING |
43 | /* that part ain't useful when fading */ | ||
44 | _backlight_set_brightness(backlight_brightness); | ||
45 | #endif | ||
50 | } | 46 | } |
51 | 47 | ||
52 | void _backlight_off(void) | 48 | void _backlight_off(void) |
diff --git a/firmware/target/arm/sandisk/backlight-target.h b/firmware/target/arm/sandisk/backlight-target.h index 21fad6d22e..1f5e475a42 100644 --- a/firmware/target/arm/sandisk/backlight-target.h +++ b/firmware/target/arm/sandisk/backlight-target.h | |||
@@ -25,7 +25,6 @@ | |||
25 | void _backlight_on(void); | 25 | void _backlight_on(void); |
26 | void _backlight_off(void); | 26 | void _backlight_off(void); |
27 | void _backlight_set_brightness(int brightness); | 27 | void _backlight_set_brightness(int brightness); |
28 | int __backlight_is_on(void); | ||
29 | 28 | ||
30 | void _buttonlight_on(void); | 29 | void _buttonlight_on(void); |
31 | void _buttonlight_off(void); | 30 | void _buttonlight_off(void); |
diff --git a/firmware/target/arm/tcc780x/cowond2/backlight-cowond2.c b/firmware/target/arm/tcc780x/cowond2/backlight-cowond2.c index 6d286aee8f..39a9abf073 100644 --- a/firmware/target/arm/tcc780x/cowond2/backlight-cowond2.c +++ b/firmware/target/arm/tcc780x/cowond2/backlight-cowond2.c | |||
@@ -24,27 +24,20 @@ | |||
24 | #include "pcf50606.h" | 24 | #include "pcf50606.h" |
25 | #include "tcc780x.h" | 25 | #include "tcc780x.h" |
26 | 26 | ||
27 | static unsigned short backlight_brightness = DEFAULT_BRIGHTNESS_SETTING; | ||
28 | |||
29 | int _backlight_init(void) | 27 | int _backlight_init(void) |
30 | { | 28 | { |
31 | _backlight_set_brightness(DEFAULT_BRIGHTNESS_SETTING); | 29 | _backlight_set_brightness(DEFAULT_BRIGHTNESS_SETTING); |
30 | /* set backlight on by default, since the screen is unreadable without it */ | ||
31 | _backlight_on(); | ||
32 | return true; | 32 | return true; |
33 | } | 33 | } |
34 | 34 | ||
35 | void _backlight_set_brightness(int brightness) | 35 | void _backlight_set_brightness(int brightness) |
36 | { | 36 | { |
37 | backlight_brightness = brightness; | ||
38 | |||
39 | int level = disable_irq_save(); | 37 | int level = disable_irq_save(); |
40 | pcf50606_write(PCF5060X_PWMC1, 0xe1 | (14-backlight_brightness)<<1); | 38 | pcf50606_write(PCF5060X_PWMC1, 0xe1 | (MAX_BRIGHTNESS_SETTING-brightness)<<1); |
41 | pcf50606_write(PCF5060X_GPOC1, 0x3); | 39 | pcf50606_write(PCF5060X_GPOC1, 0x3); |
42 | restore_irq(level); | 40 | restore_irq(level); |
43 | |||
44 | if (brightness > 0) | ||
45 | _backlight_on(); | ||
46 | else | ||
47 | _backlight_off(); | ||
48 | } | 41 | } |
49 | 42 | ||
50 | void _backlight_on(void) | 43 | void _backlight_on(void) |