diff --git a/libs/core/input.ts b/libs/core/input.ts index 05f39e89..20b1dd67 100644 --- a/libs/core/input.ts +++ b/libs/core/input.ts @@ -13,6 +13,7 @@ namespace sensors.internal { control.runInBackground(() => { let prev = query() + changeHandler(prev, prev) while (true) { loops.pause(periodMs) let curr = query() @@ -183,7 +184,7 @@ namespace sensors.internal { Low = 3, } - export class ThresholdDetector { + export class ThresholdDetector { public id: number; private min: number; private max: number; diff --git a/libs/core/linux.cpp b/libs/core/linux.cpp index 5e7bcfa4..391f7373 100644 --- a/libs/core/linux.cpp +++ b/libs/core/linux.cpp @@ -397,6 +397,10 @@ static void runPoller(Thread *thr) { // note that this is run without the user mutex held - it should not modify any state! TValue prev = pxt::runAction0(query); + startUser(); + pxt::runAction2(thr->act, prev, prev); + stopUser(); + while (true) { sleep_core_us(us); if (paniced)