From f5ae409a9212fea0f41879291c6d8b5dc849e18b Mon Sep 17 00:00:00 2001 From: Felipe Manga Date: Mon, 15 Jan 2024 19:35:23 +0000 Subject: [PATCH] Simplify scheduling code since it wasn't playing well with widgets --- apps/warpdrive/app.js | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/apps/warpdrive/app.js b/apps/warpdrive/app.js index d80356ecc..cf7d40b6e 100644 --- a/apps/warpdrive/app.js +++ b/apps/warpdrive/app.js @@ -498,23 +498,12 @@ let locked = false, var interval = 30, timeout; -function setupInterval() { +function setupInterval(force) { if (timeout) clearTimeout(timeout); - if (!locked || charging) - tick(locked); - 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(locked); - schedule(interval > 120 ? 60000 : interval); - }; - schedule(interval); + let stopped = locked && !charging; + timeout = setTimeout(setupInterval, stopped ? 60000 : 30); + tick(stopped && !force); } function test(addr, y) { @@ -581,7 +570,7 @@ function probe() { print('Found lcdBuffer at ' + lcdBuffer.toString(16) + ' stride=' + stride); gfx.init(start, stride, E.getAddressOf(sintable, true)); gfx.setCamera(0, 0, -300 << 8); - setupInterval(); + setupInterval(true); } function init() {