1
0
Fork 0
forked from len0rd/rockbox

Faster/Smoother fading on the Gigabeat

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13354 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Karl Kurbjun 2007-05-08 03:57:42 +00:00
parent cf478758dd
commit 7ef0af07f1

View file

@ -188,17 +188,19 @@ static void led_control_service(void)
case BACKLIGHT_CONTROL_FADE: case BACKLIGHT_CONTROL_FADE:
sc606_changed=true; sc606_changed=true;
sc606regCONFval |= 0x03; sc606regCONFval |= 0x03;
/* The SC606 LED driver can set the brightness in 64 steps */ if(backlight_target>sc606regAval)
if(backlight_target==sc606regAval) {
if(sc606regAval) sc606regAval++;
if(backlight_target==sc606regAval)
backlight_control = BACKLIGHT_CONTROL_ON; backlight_control = BACKLIGHT_CONTROL_ON;
else }
backlight_control = BACKLIGHT_CONTROL_OFF;
else else
if(backlight_target>sc606regAval) {
sc606regAval++; sc606regAval--;
else if(backlight_target==sc606regAval)
sc606regAval--; backlight_control = BACKLIGHT_CONTROL_OFF;
}
break; break;
default: default:
break; break;
@ -222,16 +224,19 @@ static void led_control_service(void)
case BUTTONLIGHT_CONTROL_FADE: case BUTTONLIGHT_CONTROL_FADE:
sc606_changed=true; sc606_changed=true;
sc606regCONFval |= 0x3C; sc606regCONFval |= 0x3C;
if(buttonlight_target==sc606regBval) if(buttonlight_target>sc606regBval)
if(sc606regBval) {
sc606regCval=++sc606regBval;
if(buttonlight_target==sc606regBval)
buttonlight_control = BUTTONLIGHT_CONTROL_ON; buttonlight_control = BUTTONLIGHT_CONTROL_ON;
else }
buttonlight_control = BUTTONLIGHT_CONTROL_OFF;
else else
if(buttonlight_target>sc606regBval) {
sc606regCval=++sc606regBval; sc606regCval=--sc606regBval;
else if(buttonlight_target==sc606regBval)
sc606regCval=--sc606regBval; buttonlight_control = BUTTONLIGHT_CONTROL_OFF;
}
break; break;
default: default:
break; break;
@ -261,7 +266,10 @@ static void led_control_service(void)
case SC606_CONTROL_CONF: case SC606_CONTROL_CONF:
sc606_write(SC606_REG_CONF , sc606regCONFval); sc606_write(SC606_REG_CONF , sc606regCONFval);
sc606_changed=false; sc606_changed=false;
sc606_control=SC606_CONTROL_IDLE; if(backlight_control != BACKLIGHT_CONTROL_IDLE && buttonlight_control != BUTTONLIGHT_CONTROL_IDLE)
sc606_control=SC606_CONTROL_A12;
else
sc606_control=SC606_CONTROL_IDLE;
break; break;
default: default:
sc606_control=SC606_CONTROL_A12; sc606_control=SC606_CONTROL_A12;