From f6847265804b650b007eb8ecdc86876214ee7302 Mon Sep 17 00:00:00 2001 From: Steve Bavin Date: Wed, 26 Nov 2008 08:26:13 +0000 Subject: 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 --- firmware/target/arm/sandisk/backlight-c200_e200.c | 14 +++++--------- firmware/target/arm/sandisk/backlight-target.h | 1 - firmware/target/arm/tcc780x/cowond2/backlight-cowond2.c | 13 +++---------- 3 files changed, 8 insertions(+), 20 deletions(-) (limited to 'firmware/target/arm') 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 @@ #include "ascodec.h" #include "as3514.h" -static unsigned short backlight_brightness = DEFAULT_BRIGHTNESS_SETTING; - void _backlight_set_brightness(int brightness) { - backlight_brightness = brightness; - - if (brightness > 0) - _backlight_on(); - else - _backlight_off(); + ascodec_write(AS3514_DCDC15, brightness); } void _backlight_on(void) @@ -46,7 +39,10 @@ void _backlight_on(void) #ifdef HAVE_LCD_ENABLE lcd_enable(true); /* power on lcd + visible display */ #endif - ascodec_write(AS3514_DCDC15, backlight_brightness); +#ifndef USE_BACKLIGHT_SW_FADING + /* that part ain't useful when fading */ + _backlight_set_brightness(backlight_brightness); +#endif } 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 @@ void _backlight_on(void); void _backlight_off(void); void _backlight_set_brightness(int brightness); -int __backlight_is_on(void); void _buttonlight_on(void); 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 @@ #include "pcf50606.h" #include "tcc780x.h" -static unsigned short backlight_brightness = DEFAULT_BRIGHTNESS_SETTING; - int _backlight_init(void) { _backlight_set_brightness(DEFAULT_BRIGHTNESS_SETTING); + /* set backlight on by default, since the screen is unreadable without it */ + _backlight_on(); return true; } void _backlight_set_brightness(int brightness) { - backlight_brightness = brightness; - int level = disable_irq_save(); - pcf50606_write(PCF5060X_PWMC1, 0xe1 | (14-backlight_brightness)<<1); + pcf50606_write(PCF5060X_PWMC1, 0xe1 | (MAX_BRIGHTNESS_SETTING-brightness)<<1); pcf50606_write(PCF5060X_GPOC1, 0x3); restore_irq(level); - - if (brightness > 0) - _backlight_on(); - else - _backlight_off(); } void _backlight_on(void) -- cgit v1.2.3