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>
117 lines
3.5 KiB
TypeScript
117 lines
3.5 KiB
TypeScript
/**
|
|
Well known colors
|
|
*/
|
|
enum Colors {
|
|
//% blockIdentity=basic.color
|
|
//% block=red
|
|
Red = 0x00FF0000,
|
|
//% blockIdentity=basic.color
|
|
//% block=orange
|
|
Orange = 0x00FFA500,
|
|
//% blockIdentity=basic.color
|
|
//% block=yellow
|
|
Yellow = 0x00FFFF00,
|
|
//% blockIdentity=basic.color
|
|
//% block=green
|
|
Green = 0x0000FF00,
|
|
//% blockIdentity=basic.color
|
|
//% block=blue
|
|
Blue = 0x000000FF,
|
|
//% blockIdentity=basic.color
|
|
//% block=indigo
|
|
Indigo = 0x004b0082,
|
|
//% blockIdentity=basic.color
|
|
//% block=violet
|
|
Violet = 0x008a2be2,
|
|
//% blockIdentity=basic.color
|
|
//% block=purple
|
|
Purple = 0x00FF00FF,
|
|
//% blockIdentity=basic.color
|
|
//% block=white
|
|
White = 0xFFFFFFFF,
|
|
//% blockIdentity=basic.color
|
|
//% block=off
|
|
Off = 0x00000000,
|
|
}
|
|
|
|
/**
|
|
* Provides access to basic micro:bit functionality.
|
|
*/
|
|
//% color=#54C9C9 weight=100 icon="\uf00a"
|
|
//% groups=['LED matrix', 'Control', 'RGB LED', 'others']
|
|
namespace basic {
|
|
|
|
/**
|
|
* Scroll a number on the screen. If the number fits on the screen (i.e. is a single digit), do not scroll.
|
|
* @param interval speed of scroll; eg: 50, 100, 150, 200
|
|
*/
|
|
//% help=basic/show-number
|
|
//% weight=95
|
|
//% blockId=device_show_number
|
|
//% block="show|number %number || in an interval of %interval ms" blockGap=8
|
|
//% async
|
|
//% parts="ledmatrix"
|
|
//% expandableArgumentMode="toggle"
|
|
//% interval.defl=80
|
|
//% group="LED matrix"
|
|
export function showNumber(value: number, interval?: number) {
|
|
showString(Math.roundWithPrecision(value, 2).toString(), interval);
|
|
}
|
|
|
|
/**
|
|
* Converts the color name to a number
|
|
*/
|
|
//% blockId=color_id block="%c" shim=TD_ID
|
|
//% group="RGB LED"
|
|
//% weight=1
|
|
//% deprecated=true
|
|
export function color(c: Colors): number {
|
|
return c;
|
|
}
|
|
|
|
/**
|
|
* Converts red, green, blue channels into a RGB color
|
|
* @param red value of the red channel between 0 and 255. eg: 255
|
|
* @param green value of the green channel between 0 and 255. eg: 255
|
|
* @param blue value of the blue channel between 0 and 255. eg: 255
|
|
*/
|
|
//% weight=3
|
|
//% blockId="core_rgb" block="red %red|green %green|blue %blue"
|
|
//% group="RGB LED"
|
|
export function rgb(red: number, green: number, blue: number): number {
|
|
return ((red & 0xFF) << 16) | ((green & 0xFF) << 8) | (blue & 0xFF);
|
|
}
|
|
|
|
|
|
/**
|
|
* Converts red, green, blue channels into a RGB color
|
|
* @param red value of the red channel between 0 and 255. eg: 255
|
|
* @param green value of the green channel between 0 and 255. eg: 255
|
|
* @param blue value of the blue channel between 0 and 255. eg: 255
|
|
* @param white value of the white channel between 0 and 255. eg: 0
|
|
*/
|
|
//% weight=2
|
|
//% blockId="core_rgbw" block="red %red|green %green|blue %blue|white %white"
|
|
//% group="RGB LED"
|
|
//% deprecated=true
|
|
export function rgbw(red: number, green: number, blue: number, white:number): number {
|
|
return ((white & 0xFF) << 24) | ((red & 0xFF) << 16) | ((green & 0xFF) << 8) | (blue & 0xFF);
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* Pause for the specified time in milliseconds
|
|
* @param ms how long to pause for, eg: 100, 200, 500, 1000, 2000
|
|
*/
|
|
function pause(ms: number): void {
|
|
basic.pause(ms);
|
|
}
|
|
|
|
/**
|
|
* Repeats the code forever in the background. On each iteration, allows other codes to run.
|
|
* @param body code to execute
|
|
*/
|
|
function forever(a: () => void): void {
|
|
basic.forever(a);
|
|
} |