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>
146 lines
3.8 KiB
TypeScript
146 lines
3.8 KiB
TypeScript
/**
|
|
* Runtime and event utilities.
|
|
*/
|
|
//% weight=1 color="#42495F" icon="\uf233"
|
|
//% advanced=true
|
|
namespace control {
|
|
/**
|
|
* Run other code in the parallel.
|
|
*/
|
|
//% hidden=1
|
|
export function runInParallel(a: () => void) {
|
|
control.inBackground(a);
|
|
}
|
|
|
|
//% hidden=1 deprecated=1
|
|
export function runInBackground(a: () => void) {
|
|
control.inBackground(a);
|
|
}
|
|
|
|
/**
|
|
* Returns the value of a C++ runtime constant
|
|
*/
|
|
//% weight=2 weight=19 blockId="control_event_source_id" block="%id" blockGap=8
|
|
//% help=control/event-source-id
|
|
//% shim=TD_ID advanced=true
|
|
export function eventSourceId(id: EventBusSource): number {
|
|
return id;
|
|
}
|
|
/**
|
|
* Returns the value of a C++ runtime constant
|
|
*/
|
|
//% weight=1 weight=19 blockId="control_event_value_id" block="%id"
|
|
//% help=control/event-value-id
|
|
//% shim=TD_ID advanced=true
|
|
export function eventValueId(id: EventBusValue): number {
|
|
return id;
|
|
}
|
|
|
|
export const enum PXT_PANIC {
|
|
CODAL_OOM = 20,
|
|
GC_OOM = 21,
|
|
GC_TOO_BIG_ALLOCATION = 22,
|
|
CODAL_HEAP_ERROR = 30,
|
|
CODAL_NULL_DEREFERENCE = 40,
|
|
CODAL_USB_ERROR = 50,
|
|
CODAL_HARDWARE_CONFIGURATION_ERROR = 90,
|
|
|
|
INVALID_BINARY_HEADER = 901,
|
|
OUT_OF_BOUNDS = 902,
|
|
REF_DELETED = 903,
|
|
SIZE = 904,
|
|
INVALID_VTABLE = 905,
|
|
INTERNAL_ERROR = 906,
|
|
NO_SUCH_CONFIG = 907,
|
|
NO_SUCH_PIN = 908,
|
|
INVALID_ARGUMENT = 909,
|
|
MEMORY_LIMIT_EXCEEDED = 910,
|
|
SCREEN_ERROR = 911,
|
|
MISSING_PROPERTY = 912,
|
|
INVALID_IMAGE = 913,
|
|
CALLED_FROM_ISR = 914,
|
|
HEAP_DUMPED = 915,
|
|
STACK_OVERFLOW = 916,
|
|
BLOCKING_TO_STRING = 917,
|
|
VM_ERROR = 918,
|
|
SETTINGS_CLEARED = 920,
|
|
SETTINGS_OVERLOAD = 921,
|
|
SETTINGS_SECRET_MISSING = 922,
|
|
DELETE_ON_CLASS = 923,
|
|
|
|
CAST_FIRST = 980,
|
|
CAST_FROM_UNDEFINED = 980,
|
|
CAST_FROM_BOOLEAN = 981,
|
|
CAST_FROM_NUMBER = 982,
|
|
CAST_FROM_STRING = 983,
|
|
CAST_FROM_OBJECT = 984,
|
|
CAST_FROM_FUNCTION = 985,
|
|
CAST_FROM_NULL = 989,
|
|
|
|
UNHANDLED_EXCEPTION = 999,
|
|
}
|
|
|
|
/**
|
|
* Display specified error code and stop the program.
|
|
*/
|
|
//% shim=pxtrt::panic
|
|
export function panic(code: number) { }
|
|
|
|
/**
|
|
* If the condition is false, display msg on serial console, and panic with code 098.
|
|
*/
|
|
export function assert(condition: boolean, msg?: string) {
|
|
if (!condition) {
|
|
console.log("ASSERTION FAILED")
|
|
if (msg != null) {
|
|
console.log(msg)
|
|
}
|
|
panic(98)
|
|
}
|
|
}
|
|
|
|
export function fail(message: string) {
|
|
console.log("Fatal failure: ")
|
|
console.log(message)
|
|
panic(108)
|
|
}
|
|
|
|
/**
|
|
* Display warning in the simulator.
|
|
*/
|
|
//% shim=pxtrt::runtimeWarning
|
|
export function runtimeWarning(message: string) { }
|
|
|
|
//% shim=pxt::programHash
|
|
export declare function programHash(): number;
|
|
|
|
//% shim=pxt::programName
|
|
export declare function programName(): string;
|
|
|
|
/** Returns estimated size of memory in bytes. */
|
|
//% shim=control::_ramSize
|
|
export function ramSize() {
|
|
return 32 * 1024 * 1024;
|
|
}
|
|
|
|
/** Runs the function and returns run time in microseconds. */
|
|
export function benchmark(f: () => void) {
|
|
const t0 = micros()
|
|
f()
|
|
let t = micros() - t0
|
|
if (t < 0)
|
|
t += 0x3fffffff
|
|
return t
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Convert any value to text
|
|
* @param value value to be converted to text
|
|
*/
|
|
//% help=text/convert-to-text weight=1
|
|
//% block="convert $value=math_number to text"
|
|
//% blockId=variable_to_text blockNamespace="text"
|
|
function convertToText(value: any): string {
|
|
return "" + value;
|
|
} |