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:
parent
cf478758dd
commit
7ef0af07f1
1 changed files with 26 additions and 18 deletions
|
|
@ -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;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue