3e0c9b43a2
* change simulator svg
* change radio image
* Remove google fonts cdn
* change color of 'advanced' button
* font fix
* font fix 2
* display fix
* change fullsceen simulator bg
* Continuous servo
* handle continuous state
* adding shims
* update rendering for continuous servos
* fixing sim
* fix sig
* typo
* fix sim
* bump pxt
* bump pxt
* rerun travis
* Input blocks revision
- add Button and Pin event types
- merge onPinPressed & onPinReleased in new onPinEvent function
- create new onButtonEvent function
* update input blocks in docs and tests
* remove device_pin_release block
* Hide DAL.x behind Enum
* bring back deprecated blocks, but hide them
* shims and locales files
* fix input.input. typing
* remove buildpr
* bump V3
* update simulator aspect ratio
* add Loudness Block
* revoke loudness block
* Adds soundLevel
To be replaced by pxt-common-packages when DAL is updated.
* Remove P0 & P3 from AnalogPin
* Fix Sound and replace AnalogPin.P0
* remove approved extensions
* V4 Updates from remote Repo
* locales
* add storage functions
* fix storage functions
* fix int/float values
* decrease decimal precision
* reorder blocks
* Update BLE Settings and Storage Blocks
* Fetch MicroBit changes up to v4.0.18
* Update timing for LED Matrix usage
* use 32kb ram (mini v2)
* resize gatt table
* Revert "use 32kb ram (mini v2)"
This reverts commit 4b15592f0f
.
* fix missleading indentation
* add support for 32kb and 16kb ram
* only MIT extensions in preferredRepos
* remove extensions without MIT License file
* add updated extensions
* add extensions with MIT license
Co-authored-by: Juri <gitkraken@juriwolf.de>
Co-authored-by: Juri <info@juriwolf.de>
38 lines
1.4 KiB
TypeScript
38 lines
1.4 KiB
TypeScript
namespace loops {
|
|
/**
|
|
* Repeats the code forever in the background.
|
|
* After each iteration, allows other codes to run for a set duration
|
|
* so that it runs on a timer
|
|
* @param interval time (in ms) to wait between each iteration of the action.
|
|
* @param body code to execute
|
|
*/
|
|
//% weight=45 blockAllowMultiple=1
|
|
//% interval.shadow=longTimePicker
|
|
//% afterOnStart=true help=loops/every-interval
|
|
//% blockId=every_interval block="every $interval ms"
|
|
export function everyInterval(interval: number, a: () => void): void {
|
|
control.runInParallel(() => {
|
|
let start = 0;
|
|
let now = 0;
|
|
while (true) {
|
|
start = control.millis();
|
|
a();
|
|
now = control.millis();
|
|
pause(Math.max(0, interval - (now - start)));
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Get the time field editor
|
|
* @param ms time duration in milliseconds, eg: 500, 1000
|
|
*/
|
|
//% blockId=longTimePicker block="%ms"
|
|
//% blockHidden=true shim=TD_ID
|
|
//% colorSecondary="#FFFFFF"
|
|
//% ms.fieldEditor="numberdropdown" ms.fieldOptions.decompileLiterals=true
|
|
//% ms.fieldOptions.data='[["100 ms", 100], ["200 ms", 200], ["500 ms", 500], ["1 second", 1000], ["1 minute", 60000], ["1 hour", 3600000]]'
|
|
export function __timePicker(ms: number): number {
|
|
return ms;
|
|
}
|
|
} |