Smooth speed transition between animating and frozen
parent
d4f2ecd8fe
commit
6477d4b60c
|
|
@ -431,15 +431,27 @@ const WHITE = g.setColor.bind(g, 0xFFFF);
|
||||||
let lcdBuffer = 0,
|
let lcdBuffer = 0,
|
||||||
start = 0;
|
start = 0;
|
||||||
|
|
||||||
let locked = false;
|
let locked = false,
|
||||||
var interval;
|
charging = false;
|
||||||
|
var interval = 30, timeout;
|
||||||
|
|
||||||
function setupInterval() {
|
function setupInterval() {
|
||||||
if (interval)
|
if (timeout)
|
||||||
clearInterval(interval);
|
clearTimeout(timeout);
|
||||||
if (!locked)
|
if (!locked || charging)
|
||||||
tick();
|
tick(1);
|
||||||
interval = setInterval(tick.bind(null, !locked), locked ? 60 * 1000 : 70);
|
let trigger;
|
||||||
|
let schedule = interval => {
|
||||||
|
timeout = setTimeout(trigger, interval | 0);
|
||||||
|
// print(interval);
|
||||||
|
};
|
||||||
|
trigger = _ => {
|
||||||
|
if (!locked || charging) interval = 30;
|
||||||
|
else interval -= (interval - 130) * 0.15;
|
||||||
|
tick(1);
|
||||||
|
schedule(interval > 120 ? 60000 : interval);
|
||||||
|
};
|
||||||
|
schedule(interval);
|
||||||
}
|
}
|
||||||
|
|
||||||
function test(addr, y) {
|
function test(addr, y) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue