Merge pull request #97 from Microsoft/startup_delay

Startup delay for sensors to get values
This commit is contained in:
Peli de Halleux 2017-12-15 07:05:21 -08:00 committed by GitHub
commit 13f8659b98
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 2 deletions

View File

@ -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;

View File

@ -393,6 +393,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)

View File

@ -3,7 +3,8 @@
"description": "The EV3 library",
"files": [
"README.md",
"ns.ts"
"ns.ts",
"startup.ts"
],
"dependencies": {
"base": "file:../base",

4
libs/ev3/startup.ts Normal file
View File

@ -0,0 +1,4 @@
// This is the last thing executed before user code
// We pause for 100ms to give time to read sensor values, so they work in on_start block
loops.pause(100)