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>
156 lines
3.1 KiB
TypeScript
156 lines
3.1 KiB
TypeScript
const compassImagesLeft = [
|
|
images.createImage(`
|
|
. . # . .
|
|
. . . . .
|
|
. . # . .
|
|
. . . . .
|
|
. . . . .
|
|
`),
|
|
images.createImage(`
|
|
. # . . .
|
|
. . . . .
|
|
. . # . .
|
|
. . . . .
|
|
. . . . .
|
|
`),
|
|
images.createImage(`
|
|
# . . . .
|
|
. . . . .
|
|
. . # . .
|
|
. . . . .
|
|
. . . . .
|
|
`),
|
|
images.createImage(`
|
|
. . . . .
|
|
# . . . .
|
|
. . # . .
|
|
. . . . .
|
|
. . . . .
|
|
`),
|
|
images.createImage(`
|
|
. . . . .
|
|
. . . . .
|
|
# . # . .
|
|
. . . . .
|
|
. . . . .
|
|
`),
|
|
images.createImage(`
|
|
. . . . .
|
|
. . . . .
|
|
. . # . .
|
|
# . . . .
|
|
. . . . .
|
|
`),
|
|
images.createImage(`
|
|
. . . . .
|
|
. . . . .
|
|
. . # . .
|
|
. . . . .
|
|
# . . . .
|
|
`),
|
|
images.createImage(`
|
|
. . . . .
|
|
. . . . .
|
|
. . # . .
|
|
. . . . .
|
|
. # . . .
|
|
`)];
|
|
|
|
const compassImagesRight = [
|
|
images.createImage(`
|
|
. . . . .
|
|
. . . . .
|
|
. . # . .
|
|
. . . . .
|
|
. . # . .
|
|
`),
|
|
images.createImage(`
|
|
. . . . .
|
|
. . . . .
|
|
. . # . .
|
|
. . . . .
|
|
. . . # .
|
|
`),
|
|
images.createImage(`
|
|
. . . . .
|
|
. . . . .
|
|
. . # . .
|
|
. . . . .
|
|
. . . . #
|
|
`),
|
|
images.createImage(`
|
|
. . . . .
|
|
. . . . .
|
|
. . # . .
|
|
. . . . #
|
|
. . . . .
|
|
`),
|
|
images.createImage(`
|
|
. . . . .
|
|
. . . . .
|
|
. . # . #
|
|
. . . . .
|
|
. . . . .
|
|
`),
|
|
images.createImage(`
|
|
. . . . .
|
|
. . . . #
|
|
. . # . .
|
|
. . . . .
|
|
. . . . .
|
|
`),
|
|
images.createImage(`
|
|
. . . . #
|
|
. . . . .
|
|
. . # . .
|
|
. . . . .
|
|
. . . . .
|
|
`),
|
|
images.createImage(`
|
|
. . . # .
|
|
. . . . .
|
|
. . # . .
|
|
. . . . .
|
|
. . . . .
|
|
`)];
|
|
|
|
const compassImages = compassImagesLeft.concat(compassImagesRight);
|
|
const compassImagesDownside = compassImagesRight.concat(compassImagesLeft);
|
|
|
|
|
|
namespace basic {
|
|
/**
|
|
* Draws needle on the screen which always points to north
|
|
* @param interval the amount of time (milliseconds) to show the needle. Default is 600.
|
|
*/
|
|
//% weight=50 blockGap=8
|
|
//% blockId=basic_show_compass
|
|
//% block="show compass needle for $interval|ms"
|
|
//% interval.shadow=timePicker
|
|
//% interval.min=1
|
|
//% interval.defl=600
|
|
//% parts="ledmatrix"
|
|
//% advanced=true
|
|
//% group="LED matrix"
|
|
export function showCompass(interval = 600) {
|
|
let i = 0
|
|
let startTime = input.runningTime()
|
|
let endTime = startTime + interval
|
|
let refreshRate = 100
|
|
let rest = 0
|
|
|
|
while ((endTime) > (input.runningTime() + refreshRate)) {
|
|
i = Math.round((input.compassHeading() - 11.25) / 22.5)
|
|
let images = (input.isGesture(Gesture.ScreenDown)) ? compassImagesDownside : compassImages;
|
|
images[i].showImage(0, refreshRate)
|
|
}
|
|
|
|
rest = (endTime - input.runningTime())
|
|
if(rest > 0) {
|
|
i = Math.round((input.compassHeading() - 11.25) / 22.5)
|
|
let images = (input.isGesture(Gesture.ScreenDown)) ? compassImagesDownside : compassImages;
|
|
images[i].showImage(0, rest)
|
|
}
|
|
}
|
|
|
|
} |