diff --git a/docs/static/packages/bluetooth/icon.png b/docs/static/packages/bluetooth/icon.png index 8c8d1563..0d8ff485 100644 Binary files a/docs/static/packages/bluetooth/icon.png and b/docs/static/packages/bluetooth/icon.png differ diff --git a/docs/static/packages/datalogger/icon.png b/docs/static/packages/datalogger/icon.png index 0d5a21f5..b3d57f0d 100644 Binary files a/docs/static/packages/datalogger/icon.png and b/docs/static/packages/datalogger/icon.png differ diff --git a/docs/static/packages/devices/icon.png b/docs/static/packages/devices/icon.png index aca2f2d1..8d3d262c 100644 Binary files a/docs/static/packages/devices/icon.png and b/docs/static/packages/devices/icon.png differ diff --git a/docs/static/packages/microphone/icon.png b/docs/static/packages/microphone/icon.png index 14eddab5..7557f705 100644 Binary files a/docs/static/packages/microphone/icon.png and b/docs/static/packages/microphone/icon.png differ diff --git a/docs/static/packages/one-time-pairing/icon.png b/docs/static/packages/one-time-pairing/icon.png new file mode 100644 index 00000000..3775772f Binary files /dev/null and b/docs/static/packages/one-time-pairing/icon.png differ diff --git a/docs/static/packages/radio-broadcast/icon.png b/docs/static/packages/radio-broadcast/icon.png index 34894c8e..399cbb1f 100644 Binary files a/docs/static/packages/radio-broadcast/icon.png and b/docs/static/packages/radio-broadcast/icon.png differ diff --git a/docs/static/packages/radio/icon.png b/docs/static/packages/radio/icon.png index 34121c53..4ee67f34 100644 Binary files a/docs/static/packages/radio/icon.png and b/docs/static/packages/radio/icon.png differ diff --git a/docs/static/packages/servo/icon.png b/docs/static/packages/servo/icon.png index ed1fdb17..0f5fb7ab 100644 Binary files a/docs/static/packages/servo/icon.png and b/docs/static/packages/servo/icon.png differ diff --git a/libs/bluetooth-disabled/README.md b/libs/bluetooth-disabled/README.md deleted file mode 100644 index 335e8053..00000000 --- a/libs/bluetooth-disabled/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# Bluetooth services disabled - -This extensions disables the BLE in the program. - -If this extension is included into the Project it will stop loading the BLE stack. - -Pressing A+B+Reset or Tripple-Reset is then required to restart into DFU-Mode for flashing the Calliope mini via Bluetooth. - -``` -"bluetooth": { - "enabled": 0 -} -``` \ No newline at end of file diff --git a/libs/bluetooth-pairing/README.md b/libs/bluetooth-pairing/README.md deleted file mode 100644 index 28cc7323..00000000 --- a/libs/bluetooth-pairing/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# Bluetooth settings for Android and Calliope mini 1 and 2 - -This extensiion set the BLE settings to make sure they work for Calliope mini 3 or android + Calliope mini 1 and 2.: - -``` -"bluetooth": { - "open": 0, - "security_level": "SECURITY_MODE_ENCRYPTION_NO_MITM", - "whitelist": 1 -} -``` - -These settings are the default for Calliope mini 3, so this extension is only required to be included for Projects using the Calliope mini 1 or Calliope mini 2 on Android. \ No newline at end of file diff --git a/libs/bluetooth-pairing/_locales/bluetooth-pairing-jsdoc-strings.json b/libs/bluetooth-pairing/_locales/bluetooth-pairing-jsdoc-strings.json deleted file mode 100644 index 9e26dfee..00000000 --- a/libs/bluetooth-pairing/_locales/bluetooth-pairing-jsdoc-strings.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/libs/bluetooth-pairing/_locales/bluetooth-pairing-strings.json b/libs/bluetooth-pairing/_locales/bluetooth-pairing-strings.json deleted file mode 100644 index 9e26dfee..00000000 --- a/libs/bluetooth-pairing/_locales/bluetooth-pairing-strings.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/libs/bluetooth-pairing/pxt.json b/libs/bluetooth-pairing/pxt.json deleted file mode 100644 index 7018c659..00000000 --- a/libs/bluetooth-pairing/pxt.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "bluetooth-pairing", - "description": "Bluetooth settings for Calliope mini 3 or android + Calliope mini 1 and 2.", - "dependencies": { - "core": "file:../core" - }, - "files": [ - "README.md" - ], - "public": true, - "searchOnly": true, - "weight": 100, - "icon": "./static/packages/bluetooth/icon.png", - "yotta": { - "config": { - "microbit-dal": { - "bluetooth": { - "open": 0, - "security_level": "SECURITY_MODE_ENCRYPTION_NO_MITM", - "whitelist": 1 - } - } - }, - "userConfigs": [ - { - "description": "Bluetooth: Pairing required | Calliope mini 3 (iOS) | all Calliope mini Versions (Android)", - "config": { - } - } - ] - } -} \ No newline at end of file diff --git a/libs/core-mini-codal/motors.ts b/libs/core-mini-codal/motors.ts index 0002b7f3..b9d555fb 100644 --- a/libs/core-mini-codal/motors.ts +++ b/libs/core-mini-codal/motors.ts @@ -42,12 +42,12 @@ namespace motors { const power = Math.clamp(-1023, 1023, Math.map(duty_percent, -100, 100, -1023, 1023)); if (motor === Motor.M0 || motor === Motor.M0_M1) { - pins.digitalWritePin(DigitalPin.M0_DIR, ((power < 0) ? 0 : 1)) + pins.digitalWritePin(DigitalPin.M0_DIR, ((power < 0) ? 1 : 0)) pins.analogWritePin(AnalogPin.M0_SPEED, Math.abs(power)) } if (motor === Motor.M1 || motor === Motor.M0_M1) { - pins.digitalWritePin(DigitalPin.M1_DIR, ((power < 0) ? 0 : 1)) + pins.digitalWritePin(DigitalPin.M1_DIR, ((power < 0) ? 1 : 0)) pins.analogWritePin(AnalogPin.M1_SPEED, Math.abs(power)) } } diff --git a/libs/core-mini-codal/pxt.json b/libs/core-mini-codal/pxt.json index 8859e0d0..b0d3a194 100644 --- a/libs/core-mini-codal/pxt.json +++ b/libs/core-mini-codal/pxt.json @@ -4,7 +4,7 @@ "dependencies": { "core": "file:../core", "microphone": "file:../microphone", - "bluetooth-pairing": "file:../bluetooth-pairing" + "One-Time-Pairing": "file:../one-time-pairing" }, "disablesVariants": [ "minidal" @@ -26,7 +26,7 @@ "yotta": { "userConfigs": [ { - "description": "Calliope mini 3", + "description": "Project compatible with Calliope mini 3", "config": { } } diff --git a/libs/core/_locales/base-jsdoc-strings.json b/libs/core/_locales/base-jsdoc-strings.json deleted file mode 100644 index f086dac0..00000000 --- a/libs/core/_locales/base-jsdoc-strings.json +++ /dev/null @@ -1,712 +0,0 @@ -{ - "AcceleratorRange.EightG": "The accelerator measures forces up to 8 gravity", - "AcceleratorRange.FourG": "The accelerator measures forces up to 4 gravity", - "AcceleratorRange.OneG": "The accelerator measures forces up to 1 gravity", - "AcceleratorRange.TwoG": "The accelerator measures forces up to 2 gravity", - "Array": "Add, remove, and replace items in lists.", - "Array._pickRandom": "Return a random value from the array", - "Array._popStatement": "Remove the last element from an array and return it.", - "Array._removeAtStatement": "Remove the element at a certain index.", - "Array._shiftStatement": "Remove the first element from an array and return it. This method changes the length of the array.", - "Array._unshiftStatement": "Add one element to the beginning of an array and return the new length of the array.", - "Array.concat": "Concatenates the values with another array.", - "Array.concat|param|arr": "The other array that is being concatenated with", - "Array.every": "Tests whether all elements in the array pass the test implemented by the provided function.", - "Array.every|param|callbackfn": "A function that accepts up to two arguments. The every method calls the callbackfn function one time for each element in the array.", - "Array.fill": "Fills all the elements of an array from a start index to an end index with a static value. The end index is not included.", - "Array.filter": "Return the elements of an array that meet the condition specified in a callback function.", - "Array.filter|param|callbackfn": "A function that accepts up to two arguments. The filter method calls the callbackfn function one time for each element in the array.", - "Array.find": "Returns the value of the first element in the array that satisfies the provided testing function. Otherwise undefined is returned.", - "Array.forEach": "Call a defined callback function on each element of an array.", - "Array.forEach|param|callbackfn": "A function that accepts up to two arguments. The forEach method calls the callbackfn function one time for each element in the array.", - "Array.get": "Get the value at a particular index", - "Array.get|param|index": "the zero-based position in the list of the item, eg: 0", - "Array.indexOf": "Return the index of the first occurrence of a value in an array.", - "Array.indexOf|param|fromIndex": "The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.", - "Array.indexOf|param|item": "The value to locate in the array.", - "Array.insertAt": "Insert the value at a particular index, increases length by 1", - "Array.insertAt|param|index": "the zero-based position in the list to insert the value, eg: 0", - "Array.isArray": "Check if a given object is an array.", - "Array.join": "joins all elements of an array into a string and returns this string.", - "Array.join|param|sep": "the string separator", - "Array.length": "Get or set the length of an array. This number is one more than the index of the last element the array.", - "Array.map": "Call a defined callback function on each element of an array, and return an array containing the results.", - "Array.map|param|callbackfn": "A function that accepts up to two arguments. The map method calls the callbackfn function one time for each element in the array.", - "Array.pop": "Remove the last element from an array and return it.", - "Array.push": "Append a new element to an array.", - "Array.reduce": "Call the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.", - "Array.reduce|param|callbackfn": "A function that accepts up to three arguments. The reduce method calls the callbackfn function one time for each element in the array.", - "Array.reduce|param|initialValue": "Initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.", - "Array.removeAt": "Remove the element at a certain index.", - "Array.removeElement": "Remove the first occurence of an object. Returns true if removed.", - "Array.reverse": "Reverse the elements in an array. The first array element becomes the last, and the last array element becomes the first.", - "Array.set": "Store a value at a particular index", - "Array.set|param|index": "the zero-based position in the list to store the value, eg: 0", - "Array.set|param|value": "the value to insert, eg: 0", - "Array.shift": "Remove the first element from an array and return it. This method changes the length of the array.", - "Array.slice": "Return a section of an array.", - "Array.slice|param|end": "The end of the specified portion of the array. eg: 0", - "Array.slice|param|start": "The beginning of the specified portion of the array. eg: 0", - "Array.some": "Tests whether at least one element in the array passes the test implemented by the provided function.", - "Array.some|param|callbackfn": "A function that accepts up to two arguments. The some method calls the callbackfn function one time for each element in the array.", - "Array.sort": "Sort the elements of an array in place and returns the array. The sort is not necessarily stable.", - "Array.splice": "Remove elements from an array.", - "Array.splice|param|deleteCount": "The number of elements to remove. eg: 0", - "Array.splice|param|start": "The zero-based location in the array from which to start removing elements. eg: 0", - "Array.unshift": "Add one element to the beginning of an array and return the new length of the array.", - "Array@type": "Add, remove, and replace items in lists.", - "Boolean.toString": "Returns a string representation of an object.", - "Buffer.chunked": "Splits buffer into parts no larger than specified", - "Buffer.concat": "Return concatenation of current buffer and the given buffer\n\nConcatenates all buffers in the list", - "Buffer.create": "Allocate a new buffer.", - "Buffer.create|param|size": "number of bytes in the buffer", - "Buffer.equals": "Returns true if this and the other buffer hold the same data", - "Buffer.fill": "Fill (a fragment) of the buffer with given value.", - "Buffer.fromArray": "Create a new buffer initialized to bytes from given array.", - "Buffer.fromArray|param|bytes": "data to initialize with", - "Buffer.fromBase64": "Create a new buffer, decoding a Base64 string", - "Buffer.fromHex": "Create a new buffer, decoding a hex string", - "Buffer.fromUTF8": "Create a new buffer from an UTF8-encoded string", - "Buffer.fromUTF8|param|str": "the string to put in the buffer", - "Buffer.getNumber": "Read a number in specified format from the buffer.", - "Buffer.getUint8": "Reads an unsigned byte at a particular location", - "Buffer.hash": "Compute k-bit FNV-1 non-cryptographic hash of the buffer.", - "Buffer.indexOf": "Return position of other buffer in current buffer", - "Buffer.isReadOnly": "Returns false when the buffer can be written to.", - "Buffer.length": "Returns the length of a Buffer object.", - "Buffer.packAt": "Writes numbers to the buffer according to the format", - "Buffer.rotate": "Rotate buffer left in place.\n\n\n\nstart. eg: -1", - "Buffer.rotate|param|length": "number of elements in buffer. If negative, length is set as the buffer length minus", - "Buffer.rotate|param|offset": "number of bytes to shift; use negative value to shift right", - "Buffer.rotate|param|start": "start offset in buffer. Default is 0.", - "Buffer.setNumber": "Write a number in specified format in the buffer.", - "Buffer.setUint8": "Writes an unsigned byte at a particular location", - "Buffer.shift": "Shift buffer left in place, with zero padding.\n\n\n\nstart. eg: -1", - "Buffer.shift|param|length": "number of elements in buffer. If negative, length is set as the buffer length minus", - "Buffer.shift|param|offset": "number of bytes to shift; use negative value to shift right", - "Buffer.shift|param|start": "start offset in buffer. Default is 0.", - "Buffer.sizeOfNumberFormat": "Get the size in bytes of specified number format.", - "Buffer.slice": "Return a copy of a fragment of a buffer.", - "Buffer.toArray": "Read contents of buffer as an array in specified format", - "Buffer.toBase64": "Convert buffer to ASCII base64 encoding.", - "Buffer.toHex": "Convert a buffer to its hexadecimal representation.", - "Buffer.toString": "Convert a buffer to string assuming UTF8 encoding", - "Buffer.unpack": "Reads numbers from the buffer according to the format", - "Buffer.write": "Write contents of `src` at `dstOffset` in current buffer.", - "Colors": "Well known colors", - "EventCreationMode": "How to create the event.", - "EventCreationMode.CreateAndFire": "MicroBitEvent is initialised, and its event handlers are immediately fired (not suitable for use in interrupts!).", - "EventCreationMode.CreateOnly": "MicroBitEvent is initialised, and no further processing takes place.", - "Gesture.EightG": "Raised when a 8G shock is detected", - "Gesture.FreeFall": "Raised when the board is falling!", - "Gesture.LogoDown": "Raised when the logo is downward and the screen is vertical", - "Gesture.LogoUp": "Raised when the logo is upward and the screen is vertical", - "Gesture.ScreenDown": "Raised when the screen is pointing down and the board is horizontal", - "Gesture.ScreenUp": "Raised when the screen is pointing up and the board is horizontal", - "Gesture.Shake": "Raised when shaken", - "Gesture.SixG": "Raised when a 6G shock is detected", - "Gesture.ThreeG": "Raised when a 3G shock is detected", - "Gesture.TiltLeft": "Raised when the screen is pointing left", - "Gesture.TiltRight": "Raised when the screen is pointing right", - "Image.clear": "Sets all pixels off.", - "Image.height": "Gets the height in rows (always 5)", - "Image.pixel": "Get the pixel state at position ``(x,y)``", - "Image.pixelBrightness": "Gets the pixel brightness ([0..255]) at a given position", - "Image.pixel|param|x": "pixel column", - "Image.pixel|param|y": "pixel row", - "Image.plotFrame": "Draws the ``index``-th frame of the image on the screen.", - "Image.plotFrame|param|xOffset": "column index to start displaying the image", - "Image.plotImage": "Plots the image at a given column to the screen", - "Image.scrollImage": "Scrolls an image .", - "Image.scrollImage|param|frameOffset": "x offset moved on each animation step, eg: 1, 2, 5", - "Image.scrollImage|param|interval": "time between each animation step in milli seconds, eg: 200", - "Image.setPixel": "Set a pixel state at position ``(x,y)``", - "Image.setPixelBrightness": "Sets a specific pixel brightness at a given position", - "Image.setPixel|param|value": "pixel state", - "Image.setPixel|param|x": "pixel column", - "Image.setPixel|param|y": "pixel row", - "Image.showFrame": "Show a particular frame of the image strip.", - "Image.showFrame|param|frame": "image frame to show", - "Image.showImage": "Shows an frame from the image at offset ``x offset``.", - "Image.showImage|param|interval": "time in milliseconds to pause after drawing", - "Image.showImage|param|xOffset": "column index to start displaying the image", - "Image.width": "Gets the width in columns", - "Infinity": "Constant representing positive infinity.", - "JSON.parse": "Converts a JavaScript Object Notation (JSON) string into an object.", - "JSON.stringify": "Converts a JavaScript value to a JavaScript Object Notation (JSON) string.", - "JSON.stringify|param|indent": "Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read.", - "JSON.stringify|param|replacer": "Not supported; use null.", - "JSON.stringify|param|value": "A JavaScript value, usually an object or array, to be converted.", - "Math": "More complex operations with numbers.", - "Math.abs": "Returns the absolute value of a number (the value without regard to whether it is positive or negative).\nFor example, the absolute value of -5 is the same as the absolute value of 5.", - "Math.abs|param|x": "A numeric expression for which the absolute value is needed.", - "Math.acos": "Returns the arccosine (in radians) of a number", - "Math.acos|param|x": "A number", - "Math.asin": "Returns the arcsine (in radians) of a number", - "Math.asin|param|x": "A number", - "Math.atan": "Returns the arctangent (in radians) of a number", - "Math.atan2": "Returns the arctangent of the quotient of its arguments.", - "Math.atan2|param|x": "A number", - "Math.atan2|param|y": "A number", - "Math.atan|param|x": "A number", - "Math.ceil": "Returns the smallest number greater than or equal to its numeric argument.", - "Math.ceil|param|x": "A numeric expression.", - "Math.constrain": "Constrains a number to be within a range", - "Math.cos": "Returns the cosine of a number.", - "Math.cos|param|x": "An angle in radians", - "Math.exp": "Returns returns ``e^x``.", - "Math.exp|param|x": "A number", - "Math.floor": "Returns the greatest number less than or equal to its numeric argument.", - "Math.floor|param|x": "A numeric expression.", - "Math.icos": "Returns the cosine of an input angle. This is an 8-bit approximation.", - "Math.icos|param|theta": "input angle from 0-255", - "Math.idiv": "Returns the value of integer signed 32 bit division of two numbers.", - "Math.idiv|param|x": "The first number", - "Math.idiv|param|y": "The second number", - "Math.imul": "Returns the value of integer signed 32 bit multiplication of two numbers.", - "Math.imul|param|x": "The first number", - "Math.imul|param|y": "The second number", - "Math.isin": "Returns the sine of an input angle. This is an 8-bit approximation.", - "Math.isin|param|theta": "input angle from 0-255", - "Math.log": "Returns the natural logarithm (base e) of a number.", - "Math.log|param|x": "A number", - "Math.map": "Re-maps a number from one range to another. That is, a value of ``from low`` would get mapped to ``to low``, a value of ``from high`` to ``to high``, values in-between to values in-between, etc.", - "Math.map|param|fromHigh": "the upper bound of the value's current range, eg: 1023", - "Math.map|param|fromLow": "the lower bound of the value's current range", - "Math.map|param|toHigh": "the upper bound of the value's target range, eg: 4", - "Math.map|param|toLow": "the lower bound of the value's target range", - "Math.map|param|value": "value to map in ranges", - "Math.max": "Returns the larger of two supplied numeric expressions.", - "Math.min": "Returns the smaller of two supplied numeric expressions.", - "Math.pow": "Returns the value of a base expression taken to a specified power.", - "Math.pow|param|x": "The base value of the expression.", - "Math.pow|param|y": "The exponent value of the expression.", - "Math.random": "Returns a pseudorandom number between 0 and 1.", - "Math.randomBoolean": "Generates a `true` or `false` value randomly, just like flipping a coin.", - "Math.randomRange": "Returns a pseudorandom number between min and max included.\nIf both numbers are integral, the result is integral.", - "Math.randomRange|param|max": "the upper inclusive bound, eg: 10", - "Math.randomRange|param|min": "the lower inclusive bound, eg: 0", - "Math.round": "Returns a supplied numeric expression rounded to the nearest number.", - "Math.roundWithPrecision": "Rounds ``x`` to a number with the given number of ``digits``", - "Math.roundWithPrecision|param|digits": "the number of resulting digits", - "Math.roundWithPrecision|param|x": "the number to round", - "Math.round|param|x": "The value to be rounded to the nearest number.", - "Math.sign": "Returns the sign of the x, indicating whether x is positive, negative or zero.", - "Math.sign|param|x": "The numeric expression to test", - "Math.sin": "Returns the sine of a number.", - "Math.sin|param|x": "An angle in radians", - "Math.sqrt": "Returns the square root of a number.", - "Math.sqrt|param|x": "A numeric expression.", - "Math.tan": "Returns the tangent of a number.", - "Math.tan|param|x": "An angle in radians", - "Math.trunc": "Returns the number with the decimal part truncated.", - "Math.trunc|param|x": "A numeric expression.", - "NaN": "Constant representing Not-A-Number.", - "Number.isNaN": "Check if a given value is of type Number and it is a NaN.", - "Number.toString": "Returns a string representation of a number.", - "Object.keys": "Return the field names in an object.", - "String": "Combine, split, and search text strings.", - "String.charAt": "Return the character at the specified index.", - "String.charAt|param|index": "The zero-based index of the desired character.", - "String.charCodeAt": "Return the Unicode value of the character at the specified location.", - "String.charCodeAt|param|index": "The zero-based index of the desired character. If there is no character at the specified index, NaN is returned.", - "String.compare": "See how the order of characters in two strings is different (in ASCII encoding).", - "String.compare|param|that": "String to compare to target string", - "String.concat": "Returns a string that contains the concatenation of two or more strings.", - "String.concat|param|other": "The string to append to the end of the string.", - "String.fromCharCode": "Make a string from the given ASCII character code.", - "String.includes": "Determines whether a string contains the characters of a specified string.", - "String.includes|param|searchValue": "the text to find", - "String.includes|param|start": "optional start index for the search", - "String.indexOf": "Returns the position of the first occurrence of a specified value in a string.", - "String.indexOf|param|searchValue": "the text to find", - "String.indexOf|param|start": "optional start index for the search", - "String.isEmpty": "Returns a value indicating if the string is empty", - "String.length": "Returns the length of a String object.", - "String.replace": "Return the current string with the first occurence of toReplace\nreplaced with the replacer\n\n\nor a function that accepts the substring and returns the replacement string.", - "String.replaceAll": "Return the current string with each occurence of toReplace\nreplaced with the replacer\n\n\nor a function that accepts the substring and returns the replacement string.", - "String.replaceAll|param|replacer": "either the string that replaces toReplace in the current string,", - "String.replaceAll|param|toReplace": "the substring to replace in the current string", - "String.replace|param|replacer": "either the string that replaces toReplace in the current string,", - "String.replace|param|toReplace": "the substring to replace in the current string", - "String.slice": "Return a substring of the current string.", - "String.slice|param|end": "one-past-last character index", - "String.slice|param|start": "first character index; can be negative from counting from the end, eg:0", - "String.split": "Splits the string according to the separators", - "String.split|param|separator": "@param limit", - "String.substr": "Return a substring of the current string.", - "String.substr|param|length": "number of characters to extract, eg: 10", - "String.substr|param|start": "first character index; can be negative from counting from the end, eg:0", - "String.toLowerCase": "Converts the string to lower case characters.", - "String.toUpperCase": "Converts the string to upper case characters.", - "String.trim": "Return a substring of the current string with whitespace removed from both ends", - "String@type": "Combine, split, and search text strings.", - "StringMap": "A dictionary from string key to string values", - "_py.range": "Returns a sequence of numbers up to but not including the limit\n\nIf more than one argument is passed, this argument is instead used for the first value in the range", - "_py.range|param|first": "The value to end the sequence before. This value will not show up in the result.", - "_py.range|param|step": "The value to increase or decrease by for each step in the range. Must be a nonzero integer", - "_py.range|param|stop": "The value to end the sequence before. This value will not show up in the result", - "_py.slice": "Returns a section of an array according to python's extended slice syntax", - "_py.stringSlice": "Returns a section of a string according to python's extended slice syntax", - "basic": "Provides access to basic micro:bit functionality.\n\nProvides access to basic micro:bit functionality.", - "basic.clearScreen": "Turn off all LEDs", - "basic.color": "Converts the color name to a number", - "basic.forever": "Repeats the code forever in the background. On each iteration, allows other codes to run.", - "basic.pause": "Pause for the specified time in milliseconds", - "basic.pause|param|ms": "how long to pause for, eg: 100, 200, 500, 1000, 2000", - "basic.plotLeds": "Draws an image on the LED screen.", - "basic.plotLeds|param|leds": "pattern of LEDs to turn on/off", - "basic.rgb": "Converts red, green, blue channels into a RGB color", - "basic.rgb|param|blue": "value of the blue channel between 0 and 255. eg: 255", - "basic.rgb|param|green": "value of the green channel between 0 and 255. eg: 255", - "basic.rgb|param|red": "value of the red channel between 0 and 255. eg: 255", - "basic.setLedColor": "Sets the color on the build-in LED. Set to 0 to turn off.", - "basic.showAnimation": "Shows a sequence of LED screens as an animation.", - "basic.showAnimation|param|interval": "time in milliseconds between each redraw", - "basic.showAnimation|param|leds": "pattern of LEDs to turn on/off", - "basic.showArrow": "Draws an arrow on the LED screen", - "basic.showArrow|param|direction": "the direction of the arrow", - "basic.showArrow|param|interval": "the amount of time (milliseconds) to show the icon. Default is 600.", - "basic.showCompass": "Draws needle on the screen which always points to north", - "basic.showCompass|param|interval": "the amount of time (milliseconds) to show the needle. Default is 600.", - "basic.showIcon": "Draws the selected icon on the LED screen", - "basic.showIcon|param|icon": "the predefined icon id", - "basic.showIcon|param|interval": "the amount of time (milliseconds) to block the LED Matrix for showing the icon. Default is 600.", - "basic.showLeds": "Draws an image on the LED screen.", - "basic.showLeds|param|interval": "time in milliseconds to pause after drawing", - "basic.showLeds|param|leds": "the pattern of LED to turn on/off", - "basic.showNumber": "Scroll a number on the screen. If the number fits on the screen (i.e. is a single digit), do not scroll.", - "basic.showNumber|param|interval": "speed of scroll; eg: 50, 100, 150, 200", - "basic.showString": "Display text on the display, one character at a time. If the string fits on the screen (i.e. is one letter), does not scroll.", - "basic.showString|param|interval": "how fast to shift characters; eg: 50, 100, 150, 200", - "basic.showString|param|text": "the text to scroll on the screen, eg: \"hi!\"", - "basic.turnRgbLedOff": "Sets the color on the build-in LED. Set to 0 to turn off.", - "console": "Reading and writing data to the console output.", - "console.addListener": "Adds a listener for the log messages", - "console.inspect": "Convert any object or value to a string representation", - "console.inspect|param|maxElements": "[optional] max number values in an object to include in output", - "console.inspect|param|obj": "value to be converted to a string", - "console.log": "Write a line of text to the console output.", - "console.logValue": "Write a name:value pair as a line of text to the console output.", - "console.logValue|param|name": "name of the value stream, eg: \"x\"", - "console.logValue|param|value": "to write", - "console.log|param|value": "to send", - "console.minPriority": "Minimum priority to send messages to listeners", - "console.removeListener": "Removes a listener", - "control": "Runtime and event utilities.", - "control._hardwareVersion": "Returns the major version of the microbit", - "control.allocateEventSource": "Incrementally allocates event source identifiers.", - "control.allocateNotifyEvent": "Allocates the next user notification event", - "control.assert": "If the condition is false, display msg on serial console, and panic with code 098.", - "control.benchmark": "Runs the function and returns run time in microseconds.", - "control.createBuffer": "Create a new zero-initialized buffer.", - "control.createBufferFromUTF8": "Create a new buffer with UTF8-encoded string", - "control.createBufferFromUTF8|param|str": "the string to put in the buffer", - "control.createBuffer|param|size": "number of bytes in the buffer", - "control.deviceLongSerialNumber": "Derive a unique, consistent 64-bit serial number of this device from internal data.", - "control.deviceName": "Make a friendly name for the device based on its serial number", - "control.deviceSerialNumber": "Derive a unique, consistent serial number of this device from internal data.", - "control.dmesg": "Write a message to DMESG debugging buffer.", - "control.dmesgPerfCounters": "Dump values of profiling performance counters.", - "control.dmesgPtr": "Write a message and value (pointer) to DMESG debugging buffer.", - "control.enablePerfCounter": "Enable profiling for current function.", - "control.eventSourceId": "Returns the value of a C++ runtime constant", - "control.eventTimestamp": "Gets the timestamp of the last event executed on the bus", - "control.eventValue": "Gets the value of the last event executed on the bus", - "control.eventValueId": "Returns the value of a C++ runtime constant", - "control.gc": "Force GC and dump basic information about heap.", - "control.gcStats": "Get various statistics about the garbage collector (GC)", - "control.heapDump": "Force GC and halt waiting for debugger to do a full heap dump.", - "control.heapSnapshot": "Record a heap snapshot to debug memory leaks.", - "control.inBackground": "Schedules code that run in the background.", - "control.micros": "Gets current time in microseconds. Overflows every ~18 minutes.", - "control.millis": "Gets the number of milliseconds elapsed since power on.", - "control.onEvent": "Registers an event handler.", - "control.panic": "Display specified error code and stop the program.", - "control.profilingEnabled": "Return true if profiling is enabled in the current build.", - "control.raiseEvent": "Raises an event in the event bus.", - "control.raiseEvent|param|mode": "optional definition of how the event should be processed after construction (default is CREATE_AND_FIRE).", - "control.raiseEvent|param|src": "ID of the MicroBit Component that generated the event e.g. MICROBIT_ID_BUTTON_A.", - "control.raiseEvent|param|value": "Component specific code indicating the cause of the event.", - "control.ramSize": "Returns estimated size of memory in bytes.", - "control.reset": "Resets the BBC micro:bit.", - "control.runInParallel": "Run other code in the parallel.", - "control.runtimeWarning": "Display warning in the simulator.", - "control.setDebugFlags": "Set flags used when connecting an external debugger.", - "control.simmessages.onReceived": "Registers the handler for a message on a given channel", - "control.waitForEvent": "Blocks the calling thread until the specified event is raised.", - "control.waitMicros": "Blocks the current fiber for the given microseconds", - "control.waitMicros|param|micros": "number of micro-seconds to wait. eg: 4", - "convertToText": "Convert any value to text", - "convertToText|param|value": "value to be converted to text", - "forever": "Repeats the code forever in the background. On each iteration, allows other codes to run.", - "game": "A single-LED sprite game engine", - "game.LedSprite": "A game sprite rendered as a single LED", - "game.LedSprite.blink": "Reports the ``blink`` duration of a sprite", - "game.LedSprite.brightness": "Reports the ``brightness` of a sprite on the LED screen", - "game.LedSprite.change": "Changes a property of the sprite", - "game.LedSprite.changeBlinkBy": "Changes the ``blink`` duration by the given amount of millisecons", - "game.LedSprite.changeBlinkBy|param|ms": "TODO", - "game.LedSprite.changeBrightnessBy": "Changes the ``y`` position by the given amount", - "game.LedSprite.changeBrightnessBy|param|value": "the value to change brightness", - "game.LedSprite.changeDirectionBy": "Changes the ``direction`` position by the given amount by turning right", - "game.LedSprite.changeDirectionBy|param|angle": "TODO", - "game.LedSprite.changeXBy": "Changes the ``x`` position by the given amount", - "game.LedSprite.changeXBy|param|x": "TODO", - "game.LedSprite.changeYBy": "Changes the ``y`` position by the given amount", - "game.LedSprite.changeYBy|param|y": "TODO", - "game.LedSprite.change|param|property": "the name of the property to change", - "game.LedSprite.change|param|value": "amount of change, eg: 1", - "game.LedSprite.delete": "Deletes the sprite from the game engine. The sprite will no longer appear on the screen or interact with other sprites.", - "game.LedSprite.direction": "Reports the current direction of a sprite", - "game.LedSprite.get": "Gets a property of the sprite", - "game.LedSprite.get|param|property": "the name of the property to change", - "game.LedSprite.goTo": "Go to this position on the screen", - "game.LedSprite.goTo|param|x": "TODO", - "game.LedSprite.goTo|param|y": "TODO", - "game.LedSprite.ifOnEdgeBounce": "If touching the edge of the stage and facing towards it, then turn away.", - "game.LedSprite.isDeleted": "Reports whether the sprite has been deleted from the game engine.", - "game.LedSprite.isTouching": "Reports true if sprite has the same position as specified sprite", - "game.LedSprite.isTouchingEdge": "Reports true if sprite is touching an edge", - "game.LedSprite.isTouching|param|other": "the other sprite to check overlap or touch", - "game.LedSprite.move": "Move a certain number of LEDs in the current direction", - "game.LedSprite.move|param|leds": "number of leds to move, eg: 1, -1", - "game.LedSprite.off": "Turns off the sprite (on by default)", - "game.LedSprite.on": "Turns on the sprite (on by default)", - "game.LedSprite.set": "Sets a property of the sprite", - "game.LedSprite.setBlink": "Sets the blink duration interval in millisecond.", - "game.LedSprite.setBlink|param|ms": "TODO", - "game.LedSprite.setBrightness": "Set the ``brightness`` of a sprite", - "game.LedSprite.setBrightness|param|brightness": "the brightness from 0 (off) to 255 (on), eg: 255.", - "game.LedSprite.setDirection": "Set the direction of the current sprite, rounded to the nearest multiple of 45", - "game.LedSprite.setDirection|param|degrees": "new direction in degrees", - "game.LedSprite.setX": "Set the ``x`` position of a sprite", - "game.LedSprite.setX|param|x": "TODO", - "game.LedSprite.setY": "Set the ``y`` position of a sprite", - "game.LedSprite.setY|param|y": "TODO", - "game.LedSprite.set|param|property": "the name of the property to change", - "game.LedSprite.turn": "Turn the sprite", - "game.LedSprite.turnLeft": "Turn to the left (counter-clockwise)", - "game.LedSprite.turnLeft|param|degrees": "TODO", - "game.LedSprite.turnRight": "Turn to the right (clockwise)", - "game.LedSprite.turnRight|param|degrees": "TODO", - "game.LedSprite.turn|param|degrees": "angle in degrees to turn, eg: 45, 90, 180, 135", - "game.LedSprite.turn|param|direction": "left or right", - "game.LedSprite.x": "Reports the ``x`` position of a sprite on the LED screen", - "game.LedSprite.y": "Reports the ``y`` position of a sprite on the LED screen", - "game.addLife": "Add life points to the current life amount", - "game.addLife|param|lives": "amount of lives to add", - "game.addScore": "Adds points to the current score and shows an animation", - "game.addScore|param|points": "amount of points to change, eg: 1", - "game.createSprite": "Creates a new LED sprite pointing to the right.", - "game.createSprite|param|x": "sprite horizontal coordinate, eg: 2", - "game.createSprite|param|y": "sprite vertical coordinate, eg: 2", - "game.currentTime": "Gets the remaining time (since `start countdown`) or current time (since the device started or `start stopwatch`) in milliseconds.", - "game.gameOver": "Displays a game over animation and the score.", - "game.invalidSprite": "Gets an invalid sprite; used to initialize locals.", - "game.isGameOver": "Indicates if the game is over and displaying the game over sequence.", - "game.isPaused": "Indicates if the game rendering is paused to allow other animations", - "game.isRunning": "Indicates if the game is still running. Returns `false` if the game is over or paused.", - "game.level": "Gets the current level", - "game.levelUp": "Increments the level and display a message.", - "game.life": "Gets the current life", - "game.pause": "Pauses the game rendering engine to allow other animations", - "game.removeLife": "Remove some life", - "game.removeLife|param|life": "amount of life to remove", - "game.resume": "Resumes the game rendering engine", - "game.score": "Gets the current score", - "game.setLife": "Sets the current life value", - "game.setLife|param|value": "current life value", - "game.setScore": "Sets the current score value", - "game.setScore|param|value": "new score value.", - "game.showScore": "Displays the score on the screen.", - "game.startCountdown": "Shows an animation, then starts a game countdown timer, which causes Game Over when it reaches 0", - "game.startCountdown|param|ms": "countdown duration in milliseconds, eg: 10000", - "game.startStopwatch": "Starts a stopwatch timer. `current time` will return the elapsed time.", - "hex": "Tagged hex literal converter", - "images": "Creation, manipulation and display of LED images.", - "images.createBigImage": "Creates an image with 2 frames.", - "images.createImage": "Creates an image that fits on the LED screen.", - "input": "Events and data from sensors", - "input.acceleration": "Get the acceleration value in milli-gravitys (when the board is laying flat with the screen up, x=0, y=0 and z=-1024)", - "input.acceleration|param|dimension": "x, y, or z dimension, eg: Dimension.X", - "input.assumeCalibrationCompass": "Obsolete, compass calibration is automatic.", - "input.buttonEventClick": "Returns the ID of an Click Event", - "input.buttonEventDown": "Returns the ID of an Down Event", - "input.buttonEventValue": "Returns the ID of an Button Event", - "input.buttonIsPressed": "Get the button state (pressed or not) for ``A`` and ``B``.", - "input.buttonIsPressed|param|button": "the button to query the request, eg: Button.A", - "input.calibrateCompass": "Obsolete, compass calibration is automatic.", - "input.clearCalibrationCompass": "Obsolete, compass calibration is automatic.", - "input.compassHeading": "Get the current compass heading in degrees.", - "input.isCalibratedCompass": "Returns 'true' when the compass is calibrated. Otherwise returns 'false'.", - "input.isGesture": "Tests if a gesture is currently detected.", - "input.isGesture|param|gesture": "the type of gesture to detect, eg: Gesture.Shake", - "input.lightLevel": "Reads the light level applied to the LED screen in a range from ``0`` (dark) to ``255`` bright.", - "input.magneticForce": "Get the magnetic force value in ``micro-Teslas`` (``µT``). This function is not supported in the simulator.", - "input.magneticForce|param|dimension": "the x, y, or z dimension, eg: Dimension.X", - "input.onButtonEvent": "Do something when a button (A, B or both A+B) receives an event.", - "input.onButtonEvent|param|body": "code to run when event is raised", - "input.onButtonEvent|param|button": "the button", - "input.onButtonEvent|param|eventType": "event Type", - "input.onButtonPressed": "Do something when a button (A, B or both A+B) is pushed down and released again.", - "input.onButtonPressed|param|body": "code to run when event is raised", - "input.onButtonPressed|param|button": "the button that needs to be pressed", - "input.onGesture": "Do something when when a gesture is done (like shaking the micro:bit).", - "input.onGesture|param|body": "code to run when gesture is raised", - "input.onGesture|param|gesture": "the type of gesture to track, eg: Gesture.Shake", - "input.onPinPressed": "Do something when a pin is touched and released again (while also touching the GND pin).", - "input.onPinPressed|param|body": "the code to run when the pin is pressed", - "input.onPinPressed|param|name": "the pin that needs to be pressed, eg: TouchPin.P0", - "input.onPinReleased": "Do something when a pin is released.", - "input.onPinReleased|param|body": "the code to run when the pin is released", - "input.onPinReleased|param|name": "the pin that needs to be released, eg: TouchPin.P0", - "input.onPinTouchEvent": "Do something when a pin receives an touch event (while also touching the GND pin).", - "input.onPinTouchEvent|param|body": "the code to run when event is fired on pin", - "input.onPinTouchEvent|param|name": "the pin, eg: TouchPin.P0", - "input.pinIsPressed": "Get the pin state (pressed or not). Requires to hold the ground to close the circuit.", - "input.pinIsPressed|param|name": "pin used to detect the touch, eg: TouchPin.P0", - "input.rotation": "The pitch or roll of the device, rotation along the ``x-axis`` or ``y-axis``, in degrees.", - "input.rotation|param|kind": "pitch or roll", - "input.runningTime": "Gets the number of milliseconds elapsed since power on.", - "input.runningTimeMicros": "Gets the number of microseconds elapsed since power on.", - "input.setAccelerometerRange": "Sets the accelerometer sample range in gravities.", - "input.setAccelerometerRange|param|range": "a value describe the maximum strengh of acceleration measured", - "input.soundLevel": "gets the level of loudness from 0 (silent) to 255 (loud)", - "input.temperature": "Gets the temperature in Celsius degrees (°C).", - "led": "Control of the LED screen.", - "led.barGraphToConsole": "Controls where plotbargraph prints to the console", - "led.brightness": "Get the screen brightness from 0 (off) to 255 (full bright).", - "led.displayMode": "Gets the current display mode", - "led.enable": "Turns on or off the display", - "led.fadeIn": "Fades in the screen display.", - "led.fadeIn|param|ms": "fade time in milliseconds", - "led.fadeOut": "Fades out the screen brightness.", - "led.fadeOut|param|ms": "fade time in milliseconds", - "led.plot": "Turn on the specified LED using x, y coordinates (x is horizontal, y is vertical). (0,0) is upper left.", - "led.plotAll": "Turns all LEDS on", - "led.plotBarGraph": "Displays a vertical bar graph based on the `value` and `high` value.\nIf `high` is 0, the chart gets adjusted automatically.", - "led.plotBarGraph|param|high": "maximum value. If 0, maximum value adjusted automatically, eg: 0", - "led.plotBarGraph|param|value": "current value to plot", - "led.plotBrightness": "Turn on the specified LED with specific brightness using x, y coordinates (x is horizontal, y is vertical). (0,0) is upper left.", - "led.plotBrightness|param|brightness": "the brightness from 0 (off) to 255 (bright), eg:255", - "led.plotBrightness|param|x": "the horizontal coordinate of the LED starting at 0", - "led.plotBrightness|param|y": "the vertical coordinate of the LED starting at 0", - "led.plot|param|x": "the horizontal coordinate of the LED starting at 0", - "led.plot|param|y": "the vertical coordinate of the LED starting at 0", - "led.point": "Get the on/off state of the specified LED using x, y coordinates. (0,0) is upper left.", - "led.pointBrightness": "Get the brightness state of the specified LED using x, y coordinates. (0,0) is upper left.", - "led.pointBrightness|param|x": "the horizontal coordinate of the LED", - "led.pointBrightness|param|y": "the vertical coordinate of the LED", - "led.point|param|x": "the horizontal coordinate of the LED", - "led.point|param|y": "the vertical coordinate of the LED", - "led.screenshot": "Takes a screenshot of the LED screen and returns an image.", - "led.setBrightness": "Set the screen brightness from 0 (off) to 255 (full bright).", - "led.setBrightness|param|value": "the brightness value, eg:255, 127, 0", - "led.setDisplayMode": "Sets the display mode between black and white and greyscale for rendering LEDs.", - "led.setDisplayMode|param|mode": "mode the display mode in which the screen operates", - "led.stopAnimation": "Cancels the current animation and clears other pending animations.", - "led.toggle": "Toggles a particular pixel", - "led.toggleAll": "Inverts the current LED display", - "led.toggle|param|x": "pixel column", - "led.toggle|param|y": "pixel row", - "led.unplot": "Turn off the specified LED using x, y coordinates (x is horizontal, y is vertical). (0,0) is upper left.", - "led.unplot|param|x": "the horizontal coordinate of the LED", - "led.unplot|param|y": "the vertical coordinate of the LED", - "light.sendWS2812Buffer": "Sends a color buffer to a light strip", - "light.sendWS2812BufferWithBrightness": "Sends a color buffer to a light strip", - "light.setMode": "Sets the light mode of a pin", - "loops.everyInterval": "Repeats the code forever in the background.\nAfter each iteration, allows other codes to run for a set duration\nso that it runs on a timer", - "loops.everyInterval|param|interval": "time (in ms) to wait between each iteration of the action.", - "motors": "Blocks to control the onboard motors", - "motors.dualMotorPower": "Controls two motors attached to the board. Switches to dual-motor mode!", - "motors.motorCommand": "Send break, coast or sleep commands to the motor. Has no effect in dual-motor mode.", - "motors.motorPower": "Turns on the motor at a certain percent of power. Switches to single motor mode!", - "motors.motorPower|param|power": "%percent of power sent to the motor. Negative power goes backward. eg: 50", - "msgpack.packNumberArray": "Pack a number array into a buffer.", - "msgpack.packNumberArray|param|nums": "the numbers to be packed", - "msgpack.unpackNumberArray": "Unpacks a buffer into a number array.", - "music": "Generation of music tones.", - "music.beat": "Returns the duration of a beat in milli-seconds", - "music.beginMelody": "Use startMelody instead", - "music.builtInMelody": "Gets the melody array of a built-in melody.", - "music.changeTempoBy": "Change the tempo by the specified amount", - "music.changeTempoBy|param|bpm": "The change in beats per minute to the tempo, eg: 20", - "music.getFrequencyForNote": "Converts an octave and note offset into an integer frequency.\nReturns 0 if the note is out of range.\n* @param octave The octave of the note (1 - 8)\n\n@returns A frequency in HZ or 0 if out of range", - "music.getFrequencyForNote|param|note": "The offset of the note within the octave", - "music.melodyEditor": "Create a melody with the melody editor.", - "music.noteFrequency": "Gets the frequency of a note.", - "music.noteFrequency|param|name": "the note name", - "music.onEvent": "Registers code to run on various melody events", - "music.playMelody": "Play a melody from the melody editor.", - "music.playMelody|param|melody": "string of up to eight notes [C D E F G A B C5] or rests [-] separated by spaces, which will be played one at a time, ex: \"E D G F B A C5 B \"", - "music.playMelody|param|tempo": "number in beats per minute (bpm), dictating how long each note will play for", - "music.playTone": "Plays a tone through pin ``P0`` for the given duration.", - "music.playTone|param|frequency": "pitch of the tone to play in Hertz (Hz), eg: Note.C", - "music.playTone|param|ms": "tone duration in milliseconds (ms)", - "music.rest": "Rests (plays nothing) for a specified time through pin ``P0``.", - "music.rest|param|ms": "rest duration in milliseconds (ms)", - "music.ringTone": "Plays a tone through pin ``P0``.", - "music.ringTone|param|frequency": "pitch of the tone to play in Hertz (Hz), eg: Note.C", - "music.setPlayTone": "Sets a custom playTone function for playing melodies", - "music.setTempo": "Sets the tempo to the specified amount", - "music.setTempo|param|bpm": "The new tempo in beats per minute, eg: 120", - "music.setVolume": "Set the default output volume of the sound synthesizer.", - "music.setVolume|param|volume": "the volume 0...255", - "music.speakerPlayTone": "Plays a tone through ``speaker`` for the given duration.", - "music.speakerPlayTone|param|frequency": "pitch of the tone to play in Hertz (Hz)", - "music.speakerPlayTone|param|ms": "tone duration in milliseconds (ms)", - "music.startMelody": "Starts playing a melody.\nNotes are expressed as a string of characters with this format: NOTE[octave][:duration]", - "music.startMelody|param|melodyArray": "the melody array to play", - "music.startMelody|param|options": "melody options, once / forever, in the foreground / background", - "music.stopAllSounds": "Stop all sounds and melodies currently playing.", - "music.stopMelody": "Stops the melodies", - "music.stopMelody|param|options": "which melody to stop", - "music.tempo": "Returns the tempo in beats per minute. Tempo is the speed (bpm = beats per minute) at which notes play. The larger the tempo value, the faster the notes will play.", - "music.volume": "Returns the current output volume of the sound synthesizer.", - "parseFloat": "Convert a string to a number.", - "parseInt": "Convert a string to an integer.\n\n\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", - "parseInt|param|radix": "optional A value between 2 and 36 that specifies the base of the number in text.", - "parseInt|param|text": "A string to convert into an integral number. eg: \"123\"", - "pause": "Pause for the specified time in milliseconds", - "pauseUntil": "Busy wait for a condition to be true", - "pauseUntil|param|condition": "condition to test for", - "pauseUntil|param|timeOut": "if positive, maximum duration to wait for in milliseconds", - "pause|param|ms": "how long to pause for, eg: 100, 200, 500, 1000, 2000", - "pins": "Control currents in Pins for analog/digital signals, servos, i2c, ...", - "pins.C10": "Pin C10", - "pins.C11": "Pin C11", - "pins.C12": "Pin C12", - "pins.C16": "Pin C16", - "pins.C17": "Pin C17", - "pins.C18": "Pin C18", - "pins.C4": "Pin C4", - "pins.C5": "Pin C5", - "pins.C6": "Pin C6", - "pins.C7": "Pin C7", - "pins.C8": "Pin C8", - "pins.C9": "Pin C9", - "pins.P0": "Pin P0", - "pins.P1": "Pin P1", - "pins.P2": "Pin P2", - "pins.P3": "Pin P3", - "pins.analogPitch": "Emit a plse-width modulation (PWM) signal to the current pitch pin. Use `analog set pitch pin` to define the pitch pin.", - "pins.analogPitchVolume": "Gets the volume the pitch pin from 0..255", - "pins.analogPitch|param|frequency": "frequency to modulate in Hz.", - "pins.analogPitch|param|ms": "duration of the pitch in milli seconds.", - "pins.analogReadPin": "Read the connector value as analog, that is, as a value comprised between 0 and 1023.", - "pins.analogReadPin|param|name": "pin to write to, eg: AnalogPin.P1", - "pins.analogSetPeriod": "Configure the pulse-width modulation (PWM) period of the analog output in microseconds.\nIf this pin is not configured as an analog output (using `analog write pin`), the operation has no effect.", - "pins.analogSetPeriod|param|micros": "period in micro seconds. eg:20000", - "pins.analogSetPeriod|param|name": "analog pin to set period to, eg: AnalogPin.P1", - "pins.analogSetPitchPin": "Set the pin used when using analog pitch or music.", - "pins.analogSetPitchPin|param|name": "pin to modulate pitch from", - "pins.analogSetPitchVolume": "Sets the volume on the pitch pin", - "pins.analogSetPitchVolume|param|volume": "the intensity of the sound from 0..255", - "pins.analogWritePin": "Set the connector value as analog. Value must be comprised between 0 and 1023.", - "pins.analogWritePin|param|name": "pin name to write to, eg: AnalogPin.P1", - "pins.analogWritePin|param|value": "value to write to the pin between ``0`` and ``1023``. eg:1023,0", - "pins.createBuffer": "Create a new zero-initialized buffer.", - "pins.createBuffer|param|size": "number of bytes in the buffer", - "pins.digitalReadPin": "Read the specified pin or connector as either 0 or 1", - "pins.digitalReadPin|param|name": "pin to read from, eg: DigitalPin.P0", - "pins.digitalWritePin": "Set a pin or connector value to either 0 or 1.", - "pins.digitalWritePin|param|name": "pin to write to, eg: DigitalPin.P0", - "pins.digitalWritePin|param|value": "value to set on the pin, 1 eg,0", - "pins.i2cReadBuffer": "Read `size` bytes from a 7-bit I2C `address`.", - "pins.i2cReadNumber": "Read one number from 7-bit I2C address.", - "pins.i2cWriteBuffer": "Write bytes to a 7-bit I2C `address`.", - "pins.i2cWriteNumber": "Write one number to a 7-bit I2C address.", - "pins.map": "Map a number from one range to another. That is, a value of ``from low`` would get mapped to ``to low``, a value of ``from high`` to ``to high``, values in-between to values in-between, etc.", - "pins.map|param|fromHigh": "the upper bound of the value's current range, eg: 1023", - "pins.map|param|fromLow": "the lower bound of the value's current range", - "pins.map|param|toHigh": "the upper bound of the value's target range, eg: 4", - "pins.map|param|toLow": "the lower bound of the value's target range", - "pins.map|param|value": "value to map in ranges", - "pins.onPulsed": "Configure the pin as a digital input and generate an event when the pin is pulsed either high or low.", - "pins.onPulsed|param|name": "digital pin to register to, eg: DigitalPin.P0", - "pins.onPulsed|param|pulse": "the value of the pulse, eg: PulseValue.High", - "pins.pulseDuration": "Get the duration of the last pulse in microseconds. This function should be called from a ``onPulsed`` handler.", - "pins.pulseIn": "Return the duration of a pulse at a pin in microseconds.", - "pins.pulseIn|param|name": "the pin which measures the pulse, eg: DigitalPin.P0", - "pins.pulseIn|param|value": "the value of the pulse, eg: PulseValue.High", - "pins.pushButton": "Mounts a push button on the given pin", - "pins.servoSetContinuous": "Specifies that a continuous servo is connected.", - "pins.servoSetPulse": "Configure the IO pin as an analog/pwm output and set a pulse width. The period is 20 ms period and the pulse width is set based on the value given in **microseconds** or `1/1000` milliseconds.", - "pins.servoSetPulse|param|micros": "pulse duration in micro seconds, eg:1500", - "pins.servoSetPulse|param|name": "pin name", - "pins.servoWritePin": "Write a value to the servo, controlling the shaft accordingly. On a standard servo, this will set the angle of the shaft (in degrees), moving the shaft to that orientation. On a continuous rotation servo, this will set the speed of the servo (with ``0`` being full-speed in one direction, ``180`` being full speed in the other, and a value near ``90`` being no movement).", - "pins.servoWritePin|param|name": "pin to write to, eg: AnalogPin.P1", - "pins.servoWritePin|param|value": "angle or rotation speed, eg:180,90,0", - "pins.setAudioPin": "Set the pin used when producing sounds and melodies. Default is P0.", - "pins.setAudioPinEnabled": "Sets whether or not audio will be output using a pin on the edge\nconnector.", - "pins.setAudioPin|param|name": "pin to modulate pitch from", - "pins.setEvents": "Configure the events emitted by this pin. Events can be subscribed to\nusing ``control.onEvent()``.", - "pins.setEvents|param|name": "pin to set the event mode on, eg: DigitalPin.P0", - "pins.setEvents|param|type": "the type of events for this pin to emit, eg: PinEventType.Edge", - "pins.setMatrixWidth": "Set the matrix width for Neopixel strip (already assigned to a pin).\nShould be used in conjunction with `set matrix width` from Neopixel package.", - "pins.setPull": "Configure the pull directiion of of a pin.", - "pins.setPull|param|name": "pin to set the pull mode on, eg: DigitalPin.P0", - "pins.setPull|param|pull": "one of the mbed pull configurations, eg: PinPullMode.PullUp", - "pins.spiFormat": "Set the SPI bits and mode", - "pins.spiFormat|param|bits": "the number of bits, eg: 8", - "pins.spiFormat|param|mode": "the mode, eg: 3", - "pins.spiFrequency": "Set the SPI frequency", - "pins.spiFrequency|param|frequency": "the clock frequency, eg: 1000000", - "pins.spiPins": "Set the MOSI, MISO, SCK pins used by the SPI connection", - "pins.spiTransfer": "Write to and read from the SPI slave at the same time", - "pins.spiTransfer|param|command": "Data to be sent to the SPI slave (can be null)", - "pins.spiTransfer|param|response": "Data received from the SPI slave (can be null)", - "pins.spiWrite": "Write to the SPI slave and return the response", - "pins.spiWrite|param|value": "Data to be sent to the SPI slave", - "randint": "Returns a pseudorandom number between min and max included.\nIf both numbers are integral, the result is integral.", - "randint|param|max": "the upper inclusive bound, eg: 10", - "randint|param|min": "the lower inclusive bound, eg: 0", - "serial": "Reading and writing data over a serial connection.", - "serial.NEW_LINE": "The string used to mark a new line, default is \\r\\n", - "serial.delimiters": "Return the corresponding delimiter string", - "serial.onDataReceived": "Register an event to be fired when one of the delimiter is matched.", - "serial.onDataReceived|param|delimiters": "the characters to match received characters against.", - "serial.readBuffer": "Read multiple characters from the receive buffer. \nIf length is positive, pauses until enough characters are present.", - "serial.readBuffer|param|length": "default buffer length", - "serial.readLine": "Read a line of text from the serial port.", - "serial.readString": "Read the buffered received data as a string", - "serial.readUntil": "Read a line of text from the serial port and return the buffer when the delimiter is met.", - "serial.readUntil|param|delimiter": "text delimiter that separates each text chunk", - "serial.redirect": "Set the serial input and output to use pins instead of the USB connection.", - "serial.redirectToUSB": "Direct the serial input and output to use the USB connection.", - "serial.redirect|param|rate": "the new baud rate. eg: 115200", - "serial.redirect|param|rx": "the new reception pin, eg: SerialPin.P1", - "serial.redirect|param|tx": "the new transmission pin, eg: SerialPin.P0", - "serial.setBaudRate": "Set the baud rate of the serial port", - "serial.setRxBufferSize": "Sets the size of the RX buffer in bytes", - "serial.setRxBufferSize|param|size": "length of the rx buffer in bytes, eg: 32", - "serial.setTxBufferSize": "Sets the size of the TX buffer in bytes", - "serial.setTxBufferSize|param|size": "length of the tx buffer in bytes, eg: 32", - "serial.setWriteLinePadding": "Sets the padding length for lines sent with \"write line\".", - "serial.setWriteLinePadding|param|length": "the number of bytes alignment, eg: 0", - "serial.writeBuffer": "Send a buffer through serial connection", - "serial.writeDmesg": "Send DMESG debug buffer over serial.", - "serial.writeLine": "Print a line of text to the serial port", - "serial.writeNumber": "Print a numeric value to the serial port", - "serial.writeNumbers": "Print an array of numeric values as CSV to the serial port", - "serial.writeString": "Send a piece of text through the serial connection.", - "serial.writeValue": "Write a name:value pair as a line to the serial port.", - "serial.writeValue|param|name": "name of the value stream, eg: x", - "serial.writeValue|param|value": "to write", - "storage": "Provides access to persistent storage functionality.\n\nProvides access to persistent storage functionality.", - "storage.getNumber": "Reads a key value pair from the non volatile storage as a number", - "storage.getNumber|param|key": "the key for accesing the value", - "storage.getValueInt": "Reads a key value pair from the non volatile storage", - "storage.getValueInt|param|key": "the key for accesing the value", - "storage.putNumber": "Saves a key value pair in the non volatile storage", - "storage.putNumber|param|key": "the key for accesing the value", - "storage.putNumber|param|value": "value to store", - "storage.putValueInt": "Saves a key value pair in the non volatile storage", - "storage.putValueInt|param|key": "the key for accesing the value", - "storage.putValueInt|param|value": "value to store", - "storage.remove": "Removes a key value pair from the non volatile storage", - "storage.removeNumber": "Deletes the key from the non volatile storage", - "storage.removeNumber|param|key": "the key for accesing the value", - "storage.remove|param|key": "the key for accesing the value" -} \ No newline at end of file diff --git a/libs/core/_locales/base-strings.json b/libs/core/_locales/base-strings.json deleted file mode 100644 index dcabf821..00000000 --- a/libs/core/_locales/base-strings.json +++ /dev/null @@ -1,523 +0,0 @@ -{ - "AcceleratorRange.EightG": "The accelerator measures forces up to 8 gravity", - "AcceleratorRange.EightG|block": "8g", - "AcceleratorRange.FourG": "The accelerator measures forces up to 4 gravity", - "AcceleratorRange.FourG|block": "4g", - "AcceleratorRange.OneG": "The accelerator measures forces up to 1 gravity", - "AcceleratorRange.OneG|block": "1g", - "AcceleratorRange.TwoG": "The accelerator measures forces up to 2 gravity", - "AcceleratorRange.TwoG|block": "2g", - "Array._pickRandom|block": "get random value from %list", - "Array._popStatement|block": "remove last value from %list", - "Array._removeAtStatement|block": "%list| remove value at %index", - "Array._shiftStatement|block": "remove first value from %list", - "Array._unshiftStatement|block": "%list| insert %value| at beginning", - "Array.indexOf|block": "%list| find index of %value", - "Array.insertAt|block": "%list| insert at %index| value %value", - "Array.length|block": "length of %VALUE", - "Array.pop|block": "get and remove last value from %list", - "Array.push|block": "%list| add value %value| to end", - "Array.removeAt|block": "%list| get and remove value at %index", - "Array.reverse|block": "reverse %list", - "Array.shift|block": "get and remove first value from %list", - "Array.unshift|block": "%list| insert %value| at beginning", - "Array|block": "Array", - "ArrowNames.East|block": "East", - "ArrowNames.NorthEast|block": "North East", - "ArrowNames.NorthWest|block": "North West", - "ArrowNames.North|block": "North", - "ArrowNames.SouthEast|block": "South East", - "ArrowNames.SouthWest|block": "South West", - "ArrowNames.South|block": "South", - "ArrowNames.West|block": "West", - "BaudRate.BaudRate115200|block": "115200", - "BaudRate.BaudRate1200|block": "1200", - "BaudRate.BaudRate14400|block": "14400", - "BaudRate.BaudRate19200|block": "19200", - "BaudRate.BaudRate2400|block": "2400", - "BaudRate.BaudRate28800|block": "28800", - "BaudRate.BaudRate31250|block": "31250", - "BaudRate.BaudRate38400|block": "38400", - "BaudRate.BaudRate4800|block": "4800", - "BaudRate.BaudRate57600|block": "57600", - "BaudRate.BaudRate9600|block": "9600", - "BeatFraction.Breve|block": "4", - "BeatFraction.Double|block": "2", - "BeatFraction.Eighth|block": "1/8", - "BeatFraction.Half|block": "1/2", - "BeatFraction.Quarter|block": "1/4", - "BeatFraction.Sixteenth|block": "1/16", - "BeatFraction.Whole|block": "1", - "Buffer|block": "Buffer", - "Button.AB|block": "A+B", - "ButtonEvent.Click|block": "clicked", - "ButtonEvent.Down|block": "pressed down", - "ButtonEvent.Hold|block": "hold", - "ButtonEvent.LongClick|block": "long clicked", - "ButtonEvent.Up|block": "released up", - "Colors.Blue|block": "blue", - "Colors.Green|block": "green", - "Colors.Indigo|block": "indigo", - "Colors.Off|block": "off", - "Colors.Orange|block": "orange", - "Colors.Purple|block": "purple", - "Colors.Red|block": "red", - "Colors.Violet|block": "violet", - "Colors.White|block": "white", - "Colors.Yellow|block": "yellow", - "Delimiters.CarriageReturn|block": "carriage return (\r)", - "Delimiters.Colon|block": ":", - "Delimiters.Comma|block": ",", - "Delimiters.Dollar|block": "$", - "Delimiters.Fullstop|block": ".", - "Delimiters.Hash|block": "#", - "Delimiters.NewLine|block": "new line (\n)", - "Delimiters.Pipe|block": "|", - "Delimiters.SemiColon|block": ";", - "Delimiters.Space|block": "space", - "Delimiters.Tab|block": "tab (\t)", - "DigitalPin.A1_RX|block": "A1 RX", - "DigitalPin.A1_TX|block": "A1 TX", - "Dimension.Strength|block": "strength", - "Dimension.X|block": "x", - "Dimension.Y|block": "y", - "Dimension.Z|block": "z", - "Direction.Left|block": "left", - "Direction.Right|block": "right", - "DisplayMode.BlackAndWhite|block": "black and white", - "DisplayMode.Greyscale|block": "greyscale", - "EventCreationMode.CreateAndFire": "MicroBitEvent is initialised, and its event handlers are immediately fired (not suitable for use in interrupts!).", - "EventCreationMode.CreateOnly": "MicroBitEvent is initialised, and no further processing takes place.", - "Gesture.EightG": "Raised when a 8G shock is detected", - "Gesture.EightG|block": "8g", - "Gesture.FreeFall": "Raised when the board is falling!", - "Gesture.FreeFall|block": "free fall", - "Gesture.LogoDown": "Raised when the logo is downward and the screen is vertical", - "Gesture.LogoDown|block": "logo down", - "Gesture.LogoUp": "Raised when the logo is upward and the screen is vertical", - "Gesture.LogoUp|block": "logo up", - "Gesture.ScreenDown": "Raised when the screen is pointing down and the board is horizontal", - "Gesture.ScreenDown|block": "screen down", - "Gesture.ScreenUp": "Raised when the screen is pointing up and the board is horizontal", - "Gesture.ScreenUp|block": "screen up", - "Gesture.Shake": "Raised when shaken", - "Gesture.Shake|block": "shake", - "Gesture.SixG": "Raised when a 6G shock is detected", - "Gesture.SixG|block": "6g", - "Gesture.ThreeG": "Raised when a 3G shock is detected", - "Gesture.ThreeG|block": "3g", - "Gesture.TiltLeft": "Raised when the screen is pointing left", - "Gesture.TiltLeft|block": "tilt left", - "Gesture.TiltRight": "Raised when the screen is pointing right", - "Gesture.TiltRight|block": "tilt right", - "IconNames.Angry|block": "angry", - "IconNames.ArrowEast|block": "arrow East", - "IconNames.ArrowNorthEast|block": "arrow north east", - "IconNames.ArrowNorthWest|block": "arrow north west", - "IconNames.ArrowNorth|block": "arrow north", - "IconNames.ArrowSouthEast|block": "arrow south east", - "IconNames.ArrowSouthWest|block": "arrow south west", - "IconNames.ArrowSouth|block": "arrow south", - "IconNames.ArrowWest|block": "arrow west", - "IconNames.Asleep|block": "asleep", - "IconNames.Butterfly|block": "butterfly", - "IconNames.Chessboard|block": "chess board", - "IconNames.Confused|block": "confused", - "IconNames.Cow|block": "cow", - "IconNames.Diamond|block": "diamond", - "IconNames.Duck|block": "duck", - "IconNames.EigthNote|block": "eigth note", - "IconNames.Fabulous|block": "fabulous", - "IconNames.Ghost|block": "ghost", - "IconNames.Giraffe|block": "giraffe", - "IconNames.Happy|block": "happy", - "IconNames.Heart|block": "heart", - "IconNames.House|block": "house", - "IconNames.LeftTriangle|block": "left triangle", - "IconNames.Meh|block": "meh", - "IconNames.No|block": "no", - "IconNames.Pitchfork|block": "pitchfork", - "IconNames.QuarterNote|block": "quarter note", - "IconNames.Rabbit|block": "rabbit", - "IconNames.Rollerskate|block": "roller skate", - "IconNames.Sad|block": "sad", - "IconNames.Scissors|block": "scissors", - "IconNames.Silly|block": "silly", - "IconNames.Skull|block": "skull", - "IconNames.SmallDiamond|block": "small diamond", - "IconNames.SmallHeart|block": "small heart", - "IconNames.SmallSquare|block": "small square", - "IconNames.Snake|block": "snake", - "IconNames.Square|block": "square", - "IconNames.StickFigure|block": "stick figure", - "IconNames.Surprised|block": "surprised", - "IconNames.Sword|block": "sword", - "IconNames.TShirt|block": "t-shirt", - "IconNames.Target|block": "target", - "IconNames.Tortoise|block": "tortoise", - "IconNames.Triangle|block": "triangle", - "IconNames.Umbrella|block": "umbrella", - "IconNames.Yes|block": "yes", - "Image.scrollImage|block": "scroll image %sprite(myImage)|with offset %frameoffset|and interval (ms) %delay", - "Image.showImage|block": "show image %sprite(myImage)|at offset %offset ||and interval (ms) %interval", - "JSON|block": "JSON", - "LedSpriteProperty.Blink|block": "blink", - "LedSpriteProperty.Brightness|block": "brightness", - "LedSpriteProperty.Direction|block": "direction", - "LedSpriteProperty.X|block": "x", - "LedSpriteProperty.Y|block": "y", - "Math.constrain|block": "constrain %value|between %low|and %high", - "Math.map|block": "map %value|from low %fromLow|high %fromHigh|to low %toLow|high %toHigh", - "Math.randomBoolean|block": "pick random true or false", - "Math.randomRange|block": "pick random %min|to %limit", - "Math|block": "Math", - "Melodies.BaDing|block": "ba ding", - "Melodies.Baddy|block": "baddy", - "Melodies.Birthday|block": "birthday", - "Melodies.Blues|block": "blues", - "Melodies.Chase|block": "chase", - "Melodies.Dadadadum|block": "dadadum", - "Melodies.Entertainer|block": "entertainer", - "Melodies.Funeral|block": "funeral", - "Melodies.Funk|block": "funk", - "Melodies.JumpDown|block": "jump down", - "Melodies.JumpUp|block": "jump up", - "Melodies.Nyan|block": "nyan", - "Melodies.Ode|block": "ode", - "Melodies.PowerDown|block": "power down", - "Melodies.PowerUp|block": "power up", - "Melodies.Prelude|block": "prelude", - "Melodies.Punchline|block": "punchline", - "Melodies.Ringtone|block": "ringtone", - "Melodies.Wawawawaa|block": "wawawawaa", - "Melodies.Wedding|block": "wedding", - "MelodyOptions.ForeverInBackground|block": "forever in background", - "MelodyOptions.Forever|block": "forever", - "MelodyOptions.OnceInBackground|block": "once in background", - "MelodyOptions.Once|block": "once", - "MelodyStopOptions.All|block": "all", - "MelodyStopOptions.Background|block": "background", - "MelodyStopOptions.Foreground|block": "foreground", - "MesDpadButtonInfo.ADown|block": "A down", - "MesDpadButtonInfo.AUp|block": "A up", - "MesDpadButtonInfo.BDown|block": "B down", - "MesDpadButtonInfo.BUp|block": "B up", - "MesDpadButtonInfo.CDown|block": "C down", - "MesDpadButtonInfo.CUp|block": "C up", - "MesDpadButtonInfo.DDown|block": "D down", - "MesDpadButtonInfo.DUp|block": "D up", - "MesDpadButtonInfo._1Down|block": "1 down", - "MesDpadButtonInfo._1Up|block": "1 up", - "MesDpadButtonInfo._2Down|block": "2 down", - "MesDpadButtonInfo._2Up|block": "2 up", - "MesDpadButtonInfo._3Down|block": "3 down", - "MesDpadButtonInfo._3Up|block": "3 up", - "MesDpadButtonInfo._4Down|block": "4 down", - "MesDpadButtonInfo._4Up|block": "4 up", - "Motor.AB|block": "A and B", - "MotorCommand.Break|block": "break", - "MotorCommand.Coast|block": "coast", - "MotorCommand.Sleep|block": "sleep", - "MusicEvent.BackgroundMelodyEnded|block": "background melody ended", - "MusicEvent.BackgroundMelodyNotePlayed|block": "background melody note played", - "MusicEvent.BackgroundMelodyPaused|block": "background melody paused", - "MusicEvent.BackgroundMelodyRepeated|block": "background melody repeated", - "MusicEvent.BackgroundMelodyResumed|block": "background melody resumed", - "MusicEvent.BackgroundMelodyStarted|block": "background melody started", - "MusicEvent.MelodyEnded|block": "melody ended", - "MusicEvent.MelodyNotePlayed|block": "melody note played", - "MusicEvent.MelodyRepeated|block": "melody repeated", - "MusicEvent.MelodyStarted|block": "melody started", - "Note.CSharp3|block": "C#3", - "Note.CSharp4|block": "C#4", - "Note.CSharp5|block": "C#5", - "Note.CSharp|block": "C#", - "Note.FSharp3|block": "F#3", - "Note.FSharp4|block": "F#4", - "Note.FSharp5|block": "F#5", - "Note.FSharp|block": "F#", - "Note.GSharp3|block": "G#3", - "Note.GSharp4|block": "G#4", - "Note.GSharp5|block": "G#5", - "Note.GSharp|block": "G#", - "Number|block": "Number", - "Object|block": "Object", - "PinEvent.Fall|block": "fall", - "PinEvent.PulseHigh|block": "pulse high", - "PinEvent.PulseLow|block": "pulse low", - "PinEvent.Rise|block": "rise", - "PinEventType.Edge|block": "edge", - "PinEventType.None|block": "none", - "PinEventType.Pulse|block": "pulse", - "PinEventType.Touch|block": "touch", - "PinPullMode.PullDown|block": "down", - "PinPullMode.PullNone|block": "none", - "PinPullMode.PullUp|block": "up", - "PulseValue.High|block": "high", - "PulseValue.Low|block": "low", - "Rotation.Pitch|block": "pitch", - "Rotation.Roll|block": "roll", - "StorageSlots.s1|block": "Slot 1", - "StorageSlots.s2|block": "Slot 2", - "StorageSlots.s3|block": "Slot 3", - "StorageSlots.s4|block": "Slot 4", - "StorageSlots.s5|block": "Slot 5", - "StorageSlots.s6|block": "Slot 6", - "StorageSlots.s7|block": "Slot 7", - "String.charAt|block": "char from %this=text|at %pos", - "String.compare|block": "compare %this=text| to %that", - "String.fromCharCode|block": "text from char code %code", - "String.includes|block": "%this=text|includes %searchValue", - "String.indexOf|block": "%this=text|find index of %searchValue", - "String.isEmpty|block": "%this=text| is empty", - "String.length|block": "length of %VALUE", - "String.split|block": "split %this=text|at %separator", - "String.substr|block": "substring of %this=text|from %start|of length %length", - "String|block": "String", - "_py|block": "_py", - "basic.clearScreen|block": "clear screen", - "basic.color|block": "%c", - "basic.forever|block": "forever", - "basic.pause|block": "pause (ms) %pause", - "basic.rgb|block": "red %red|green %green|blue %blue", - "basic.setLedColor|block": "set led to %color=colorNumberPicker", - "basic.showArrow|block": "show arrow %i=device_arrow", - "basic.showCompass|block": "show compass needle for $interval|ms", - "basic.showIcon|block": "show icon %i || for %interval ms", - "basic.showLeds|block": "show leds", - "basic.showNumber|block": "show|number %number || in an interval of %interval ms", - "basic.showString|block": "show|string %text || in an interval of %interval ms", - "basic.turnRgbLedOff|block": "turn build-in LED off", - "basic|block": "basic", - "console|block": "console", - "control.deviceName|block": "device name", - "control.deviceSerialNumber|block": "device serial number", - "control.eventSourceId|block": "%id", - "control.eventTimestamp|block": "event timestamp", - "control.eventValueId|block": "%id", - "control.eventValue|block": "event value", - "control.inBackground|block": "run in background", - "control.millis|block": "millis (ms)", - "control.onEvent|block": "on event|from %src=control_event_source_id|with value %value=control_event_value_id", - "control.raiseEvent|block": "raise event|from source %src=control_event_source_id|with value %value=control_event_value_id", - "control.reset|block": "reset", - "control.waitForEvent|block": "wait for event|from %src|with value %value", - "control.waitMicros|block": "wait (µs)%micros", - "control|block": "control", - "convertToText|block": "convert $value=math_number to text", - "game.LedSprite.change|block": "%sprite|change %property|by %value", - "game.LedSprite.delete|block": "delete %this(sprite)", - "game.LedSprite.get|block": "%sprite|%property", - "game.LedSprite.ifOnEdgeBounce|block": "%sprite|if on edge, bounce", - "game.LedSprite.isDeleted|block": "is %sprite|deleted", - "game.LedSprite.isTouchingEdge|block": "is %sprite|touching edge", - "game.LedSprite.isTouching|block": "is %sprite|touching %other", - "game.LedSprite.move|block": "%sprite|move by %leds", - "game.LedSprite.set|block": "%sprite|set %property|to %value", - "game.LedSprite.turn|block": "%sprite|turn %direction|by (°) %degrees", - "game.addLife|block": "add life %lives", - "game.addScore|block": "change score by|%points", - "game.createSprite|block": "create sprite at|x: %x|y: %y", - "game.gameOver|block": "game over", - "game.isGameOver|block": "is game over", - "game.isPaused|block": "is paused", - "game.isRunning|block": "is running", - "game.pause|block": "pause", - "game.removeLife|block": "remove life %life", - "game.resume|block": "resume", - "game.score|block": "score", - "game.setLife|block": "set life %value", - "game.setScore|block": "set score %points", - "game.startCountdown|block": "start countdown|(ms) %duration", - "game|block": "game", - "images.arrowImage|block": "arrow image %i", - "images.arrowNumber|block": "%arrow", - "images.createBigImage|block": "create big image", - "images.createImage|block": "create image", - "images.iconImage|block": "icon image %i", - "images|block": "images", - "input.acceleration|block": "acceleration (mg)|%NAME", - "input.assumeCalibrationCompass|block": "assume calibration compass", - "input.buttonEventClick|block": "clicked", - "input.buttonEventDown|block": "pressed down", - "input.buttonEventValue|block": "%id", - "input.buttonIsPressed|block": "button|%NAME|is pressed", - "input.calibrateCompass|block": "calibrate compass", - "input.clearCalibrationCompass|block": "clear calibration compass", - "input.compassHeading|block": "compass heading (°)", - "input.isCalibratedCompass|block": "is compass calibrated", - "input.isGesture|block": "is %gesture gesture", - "input.lightLevel|block": "light level", - "input.magneticForce|block": "magnetic force (µT)|%NAME", - "input.onButtonEvent|block": "on button %NAME| %eventType", - "input.onButtonPressed|block": "on button|%NAME|pressed", - "input.onGesture|block": "on |%NAME", - "input.onPinPressed|block": "on pin %name|pressed", - "input.onPinReleased|block": "on pin %NAME|released", - "input.onPinTouchEvent|block": "on pin %name| %eventType", - "input.pinIsPressed|block": "pin %NAME|is pressed", - "input.rotation|block": "rotation (°)|%NAME", - "input.runningTimeMicros|block": "running time (micros)", - "input.runningTime|block": "running time (ms)", - "input.setAccelerometerRange|block": "set accelerometer|range %range", - "input.soundLevel|block": "soundLevel", - "input.temperature|block": "temperature (°C)", - "input|block": "input", - "led.brightness|block": "brightness", - "led.enable|block": "led enable %on", - "led.plotBarGraph|block": "plot bar graph of %value up to %high", - "led.plotBrightness|block": "plot|x %x|y %y|brightness %brightness", - "led.plot|block": "plot|x %x|y %y", - "led.pointBrightness|block": "point|x %x|y %y brightness", - "led.point|block": "point|x %x|y %y", - "led.setBrightness|block": "set brightness %value", - "led.setDisplayMode|block": "set display mode $mode", - "led.stopAnimation|block": "stop animation", - "led.toggle|block": "toggle|x %x|y %y", - "led.unplot|block": "unplot|x %x|y %y", - "led|block": "led", - "light|block": "light", - "loops.everyInterval|block": "every $interval ms", - "loops|block": "loops", - "motors.dualMotorPower|block": "motor %motor|at %percent \\%", - "motors.motorCommand|block": "motor %command", - "motors.motorPower|block": "motor on at %percent \\%", - "motors|block": "motors", - "msgpack|block": "msgpack", - "music.beat|block": "%fraction|beat", - "music.builtInMelody|block": "%melody", - "music.changeTempoBy|block": "change tempo by (bpm)|%value", - "music.melodyEditor|block": "$melody", - "music.noteFrequency|block": "%name", - "music.onEvent|block": "music on %value", - "music.playMelody|block": "play melody $melody at tempo $tempo|(bpm)", - "music.playTone|block": "play|tone %note=device_note|for %duration=device_beat", - "music.rest|block": "rest(ms)|%duration=device_beat", - "music.ringTone|block": "ring tone (Hz)|%note=device_note", - "music.setTempo|block": "set tempo to (bpm)|%value", - "music.setVolume|block": "set volume %volume", - "music.startMelody|block": "start melody %melody=device_builtin_melody| repeating %options", - "music.stopAllSounds|block": "stop all sounds", - "music.stopMelody|block": "stop melody $options", - "music.tempo|block": "tempo (bpm)", - "music.volume|block": "volume", - "music|block": "music", - "parseFloat|block": "parse to number %text", - "parseInt|block": "parse to integer %text", - "pins.analogPitchVolume|block": "analog pitch volume", - "pins.analogPitch|block": "analog pitch %frequency|for (ms) %ms", - "pins.analogReadPin|block": "analog read|pin %name", - "pins.analogSetPeriod|block": "analog set period|pin %pin|to (µs)%micros", - "pins.analogSetPitchPin|block": "analog set pitch pin %name", - "pins.analogSetPitchVolume|block": "analog set pitch volume $volume", - "pins.analogWritePin|block": "analog write|pin %name|to %value", - "pins.digitalReadPin|block": "digital read|pin %name", - "pins.digitalWritePin|block": "digital write|pin %name|to %value", - "pins.i2cReadNumber|block": "i2c read number|at address %address|of format %format|repeated %repeat", - "pins.i2cWriteNumber|block": "i2c write number|at address %address|with value %value|of format %format|repeated %repeat", - "pins.map|block": "map %value|from low %fromLow|from high %fromHigh|to low %toLow|to high %toHigh", - "pins.onPulsed|block": "on|pin %pin|pulsed %pulse", - "pins.pulseDuration|block": "pulse duration (µs)", - "pins.pulseIn|block": "pulse in (µs)|pin %name|pulsed %value", - "pins.servoSetPulse|block": "servo set pulse|pin %value|to (µs) %micros", - "pins.servoWritePin|block": "servo write|pin %name|to %value", - "pins.setAudioPinEnabled|block": "set audio pin enabled $enabled", - "pins.setAudioPin|block": "set audio pin $name", - "pins.setEvents|block": "set pin %pin|to emit %type|events", - "pins.setMatrixWidth|block": "neopixel matrix width|pin %pin %width", - "pins.setPull|block": "set pull|pin %pin|to %pull", - "pins.spiFormat|block": "spi format|bits %bits|mode %mode", - "pins.spiFrequency|block": "spi frequency %frequency", - "pins.spiPins|block": "spi set pins|MOSI %mosi|MISO %miso|SCK %sck", - "pins.spiWrite|block": "spi write %value", - "pins|block": "pins", - "randint|block": "pick random %min|to %limit", - "serial.delimiters|block": "%del", - "serial.onDataReceived|block": "serial|on data received %delimiters=serial_delimiter_conv", - "serial.readBuffer|block": "serial|read buffer %length", - "serial.readLine|block": "serial|read line", - "serial.readString|block": "serial|read string", - "serial.readUntil|block": "serial|read until %delimiter=serial_delimiter_conv", - "serial.redirectToUSB|block": "serial|redirect to USB", - "serial.redirect|block": "serial|redirect to|TX %tx|RX %rx|at baud rate %rate", - "serial.setBaudRate|block": "serial|set baud rate %rate", - "serial.setRxBufferSize|block": "serial set rx buffer size to $size", - "serial.setTxBufferSize|block": "serial set tx buffer size to $size", - "serial.setWriteLinePadding|block": "serial set write line padding to $length", - "serial.writeBuffer|block": "serial|write buffer %buffer=serial_readbuffer", - "serial.writeLine|block": "serial|write line %text", - "serial.writeNumbers|block": "serial|write numbers %values", - "serial.writeNumber|block": "serial|write number %value", - "serial.writeString|block": "serial|write string %text", - "serial.writeValue|block": "serial|write value %name|= %value", - "serial|block": "serial", - "storage.getNumber|block": "read from number %key", - "storage.getValueInt|block": "get number from %key", - "storage.putNumber|block": "Save into number %key a value of %value", - "storage.putValueInt|block": "Put into %key a value of %value as Int", - "storage.removeNumber|block": "Clear number %key", - "storage.remove|block": "remove %key", - "storage|block": "storage", - "{id:category}AnalogInPin": "AnalogInPin", - "{id:category}AnalogOutPin": "AnalogOutPin", - "{id:category}Array": "Array", - "{id:category}Arrays": "Arrays", - "{id:category}Basic": "Basic", - "{id:category}Boolean": "Boolean", - "{id:category}Buffer": "Buffer", - "{id:category}Console": "Console", - "{id:category}Control": "Control", - "{id:category}DigitalInOutPin": "DigitalInOutPin", - "{id:category}Fx": "Fx", - "{id:category}Fx8": "Fx8", - "{id:category}Game": "Game", - "{id:category}Helpers": "Helpers", - "{id:category}Image": "Image", - "{id:category}Images": "Images", - "{id:category}Input": "Input", - "{id:category}JSON": "JSON", - "{id:category}Led": "Led", - "{id:category}Light": "Light", - "{id:category}Loops": "Loops", - "{id:category}Math": "Math", - "{id:category}MicrobitPin": "MicrobitPin", - "{id:category}Motors": "Motors", - "{id:category}Msgpack": "Msgpack", - "{id:category}Music": "Music", - "{id:category}Number": "Number", - "{id:category}Object": "Object", - "{id:category}Pins": "Pins", - "{id:category}PwmOnlyPin": "PwmOnlyPin", - "{id:category}Serial": "Serial", - "{id:category}Storage": "Storage", - "{id:category}String": "String", - "{id:category}Text": "Text", - "{id:category}_py": "_py", - "{id:group}Analog": "Analog", - "{id:group}Configuration": "Configuration", - "{id:group}Control": "Control", - "{id:group}Digital": "Digital", - "{id:group}Events": "Events", - "{id:group}Get": "Get", - "{id:group}LED matrix": "LED matrix", - "{id:group}Melody": "Melody", - "{id:group}Melody Advanced": "Melody Advanced", - "{id:group}Modify": "Modify", - "{id:group}Operations": "Operations", - "{id:group}Pitch": "Pitch", - "{id:group}Pulse": "Pulse", - "{id:group}Put": "Put", - "{id:group}RGB LED": "RGB LED", - "{id:group}Read": "Read", - "{id:group}Remove": "Remove", - "{id:group}Sensors": "Sensors", - "{id:group}Servo": "Servo", - "{id:group}Silence": "Silence", - "{id:group}States": "States", - "{id:group}System": "System", - "{id:group}Tempo": "Tempo", - "{id:group}Tone": "Tone", - "{id:group}Volume": "Volume", - "{id:group}i2c": "i2c", - "{id:group}spi": "spi" -} \ No newline at end of file diff --git a/libs/core/_locales/de/core-jsdoc-strings.json b/libs/core/_locales/de/core-jsdoc-strings.json index 54297699..cbd9a5a6 100644 --- a/libs/core/_locales/de/core-jsdoc-strings.json +++ b/libs/core/_locales/de/core-jsdoc-strings.json @@ -64,6 +64,7 @@ "Buffer.fill": "Fülle (ein Fragment) des Zwischenspeichers mit vorgegebenem Wert.", "Buffer.fromArray": "Erstelle einen neuen Puffer der mit Bytes aus dem angegebenen Array initialisiert wird.", "Buffer.fromArray|param|bytes": "Daten mit denen initialisiert werden soll", + "Buffer.fromBase64": "Create a new buffer, decoding a Base64 string", "Buffer.fromHex": "Erstelle einen neuen Puffer indem ein Hex-String decodiert wird", "Buffer.fromUTF8": "Erstelle einen neuen Puffers mit UTF8-codierter Zeichenfolge", "Buffer.fromUTF8|param|str": "die Zeichenfolge, die in den Puffer eingefügt werden soll", @@ -87,6 +88,7 @@ "Buffer.sizeOfNumberFormat": "Ruft die Bytegröße im spezifierten Nummernformat ab.", "Buffer.slice": "Gib eine Kopie eines Fragmentes eines Zwischenspeichers aus.", "Buffer.toArray": "Inhalt des Zwischenspichers als Array im angegebenen Format lesen", + "Buffer.toBase64": "Convert buffer to ASCII base64 encoding.", "Buffer.toHex": "Konvertiert einen Puffer in seine hexadezimale Darstellung.", "Buffer.toString": "Konvertiert einen Puffer in einen String mit UTF8-Codierung", "Buffer.unpack": "Liest Zahlen aus dem Puffer entsprechend dem Format", @@ -97,6 +99,7 @@ "EventCreationMode.CreateOnly": "Calliope mini-Event wurde initialisiert, es wird keine weitere Verarbeitung vorgenommen.", "Gesture.EightG": "Wird ausgeführt, wenn ein Stoß mit 8g erkannt wird", "Gesture.FreeFall": "Wird ausgeführt, wenn das Board fällt!", + "Gesture.LogoDown": "Raised when the logo is downward and the screen is vertical", "Gesture.LogoUp": "Wird ausgeführt, wenn das Logo nach oben zeigt und das Display vertikal ist.", "Gesture.ScreenDown": "Wird ausgeführt, wenn das Display nach unten zeigt und das Board horizontal ist", "Gesture.ScreenUp": "Wird ausgeführt, wenn das Display nach oben zeigt und das Board horizontal ist", @@ -234,6 +237,7 @@ "String.substr": "Gibt eine Teilzeichenfolge der aktuellen Zeichenfolge aus.", "String.substr|param|length": "Anzahl der zu extrahierenden Zeichen", "String.substr|param|start": "Erster Zeichenindex, kann beim zählen vom Ende negativ sein, zum Beispiel: 0", + "String.toUpperCase": "Converts the string to upper case characters.", "String.toLowerCase": "Konvertiert die Zeichenfolge in Kleinbuchstaben.", "String.trim": "Gibt eine Zeichenkette aus deraktuellen Zeichenkette zurück, welche die Leerzeichen von beiden Enden entfernt hat", "String@type": "Kombinieren, trennen und suchen von Text-Zeichenfolgen.", @@ -257,6 +261,13 @@ "basic.rgb|param|green": "Grünwert zwischen 0 und 255, z.B. 255", "basic.rgb|param|red": "Rotwert zwischen 0 und 255, z.B. 255", "basic.setLedColor": "Legt die Farbe der eingebauten LED fest. Setze auf 0, um diese abzuschalten.", + "basic.setLedColorDal": "Sets the color on the built-in RGB LED. Set to 0 to turn off.", + "basic.setLedColorsCodal": "Sets the color on the built-in RGB LED. Set to 0 to turn off.", + "basic.setLedColorsCodal|param|brightness": "The LED brightness in percent.", + "basic.setLedColorsCodal|param|color1": "The color of the first LED in RGB format (e.g., 0xFF0000 for red).", + "basic.setLedColorsCodal|param|color2": "The second LED color.", + "basic.setLedColorsCodal|param|color3": "The third LED color.", + "basic.setLedColor|param|color": "The color of the LED in RGB format (e.g., 0xFF0000 for red).", "basic.showAnimation": "Zeigt eine Abfolge von LED-Anzeigen als Animation.", "basic.showAnimation|param|interval": "Zeit in Millisekunden zwischen jedem Neuzeichnen", "basic.showAnimation|param|leds": "Muster der LEDs, die ein-/ und ausgeschaltet werden", @@ -290,6 +301,8 @@ "console.minPriority": "Minimum priority to send messages to listeners", "console.removeListener": "Removes a listener", "control": "Laufzeit- und Event-Dienstprogramme.", + "control._hardwareVersion": "Returns the major version of the microbit", + "control.allocateEventSource": "Incrementally allocates event source identifiers.", "control.allocateNotifyEvent": "Allocates the next user notification event", "control.assert": "Wenn die Bedingung falsch ist, zeige eine Nachricht auf der seriellen Konsole und gebe Panic-Code 098 aus", "control.benchmark": "Runs the function and returns run time in microseconds.", @@ -424,20 +437,18 @@ "input": "Ereignisse und Daten der Sensoren", "input.acceleration": "Holt den Beschleunigungswert in Milli-Erdanziehung (wenn das Board flach mit dem Display nach oben liegt, X = 0, y = 0 und Z =-1024)", "input.acceleration|param|dimension": "x, y, or z dimension, eg: Dimension.X", - "input.assumeCalibrationCompass": "Veraltet, Kompasskalibrierung erfolgt automatisch.", "input.buttonEventClick": "Returns the ID of an Click Event", "input.buttonEventDown": "Returns the ID of an Down Event", "input.buttonEventValue": "Returns the ID of an Button Event", "input.buttonIsPressed": "Get the button state (pressed or not) for ``A`` and ``B``.", "input.buttonIsPressed|param|button": "the button to query the request, eg: Button.A", "input.calibrateCompass": "Veraltet, Kompasskalibrierung erfolgt automatisch.", - "input.clearCalibrationCompass": "Veraltet, Kompasskalibrierung erfolgt automatisch.", "input.compassHeading": "Holt die aktuelle Kompassrichtung in Grad.", "input.isCalibratedCompass": "Returns 'true' when the compass is calibrated. Otherwise returns 'false'.", "input.isGesture": "Tests if a gesture is currently detected.", "input.isGesture|param|gesture": "the type of gesture to detect, eg: Gesture.Shake", "input.lightLevel": "Liest die Lichtintensität auf dem LED-Bildschirm im Bereich von ``0`` (dunkel) und `` 255`` (hell).", - "input.magneticForce": "Ruft den Wert der Magnetkraft in ``Mikro-Tesla`` (``µT``) ab. Diese Funktion wird im Simulator nicht unterstützt.", + "input.magneticForce": "Ruft den Wert der Magnetkraft in ``Mikro-Tesla`` (``µT``) ab. Diese Funktion wird im Simulator nicht unterstützt.", "input.magneticForce|param|dimension": "the x, y, or z dimension, eg: Dimension.X", "input.onButtonEvent": "Do something when a button (A, B or both A+B) receives an event.", "input.onButtonEvent|param|body": "code to run when event is raised", @@ -469,6 +480,7 @@ "input.soundLevel": "gets the level of loudness from 0 (silent) to 255 (loud)", "input.temperature": "Ruft die aktuelle Temperatur in Grad Celsius (°C) ab.", "led": "Steuerung des LED-Bildschirms.", + "led.barGraphToConsole": "Controls where plotbargraph prints to the console", "led.brightness": "Ruft die Helligkeit des Bildschirms ab, von 0 (aus) bis 255 (volle Helligkeit).", "led.displayMode": "Gets the current display mode", "led.enable": "Schaltet das Display an und aus", @@ -481,6 +493,7 @@ "led.plotBarGraph": "Zeigt ein vertikales Balkendiagramm an, basierend auf dem `Wert`und dem `Hoch`-Wert. Wenn `Hoch`0 ist, wird das Diagramm automatisch angepasst.", "led.plotBarGraph|param|high": "maximalen Wert. Wenn dieser 0 ist, wird der Maximalwert automatisch angepasst, z.B.: 0", "led.plotBarGraph|param|value": "aktueller Wert zum Darstellen", + "led.plotBarGraph|param|valueToConsole": "if true, prints value to the serial port", "led.plotBrightness": "Turn on the specified LED with specific brightness using x, y coordinates (x is horizontal, y is vertical). (0,0) is upper left.", "led.plotBrightness|param|brightness": "the brightness from 0 (off) to 255 (bright), eg:255", "led.plotBrightness|param|x": "the horizontal coordinate of the LED starting at 0", @@ -525,10 +538,11 @@ "music.builtInMelody": "Gets the melody array of a built-in melody.", "music.changeTempoBy": "Ändere die Geschwindigkeit um den angegebenen Betrag", "music.changeTempoBy|param|bpm": "Die Änderung in Schlägen pro Minute auf das Tempo, z.B.: 20", + "music.getFrequencyForNote": "Converts an octave and note offset into an integer frequency.\nReturns 0 if the note is out of range.\n* @param octave The octave of the note (1 - 8)\n\n@returns A frequency in HZ or 0 if out of range", + "music.getFrequencyForNote|param|note": "The offset of the note within the octave", "music.melodyEditor": "Create a melody with the melody editor.", "music.noteFrequency": "Ruft die Frequenz einer Note ab.", "music.noteFrequency|param|name": "the note name", - "music.onEvent": "Registers code to run on various melody events", "music.playMelody": "Play a melody from the melody editor.", "music.playMelody|param|melody": "- string of up to eight notes [C D E F G A B C5] or rests [-] separated by spaces, which will be played one at a time, ex: \"E D G F B A C5 B \"", "music.playMelody|param|tempo": "- number in beats per minute (bpm), dictating how long each note will play for", @@ -542,8 +556,6 @@ "music.setPlayTone": "Sets a custom playTone function for playing melodies", "music.setTempo": "Legt die Geschwindigkeit auf den angegebenen Wert fest.", "music.setTempo|param|bpm": "Die neue Geschwindigkeit in Schlägen pro Minute, z.B.: 120", - "music.setVolume": "Set the default output volume of the sound synthesizer.", - "music.setVolume|param|volume": "the volume 0...255", "music.speakerPlayTone": "Plays a tone through ``speaker`` for the given duration.", "music.speakerPlayTone|param|frequency": "pitch of the tone to play in Hertz (Hz)", "music.speakerPlayTone|param|ms": "tone duration in milliseconds (ms)", @@ -554,7 +566,6 @@ "music.stopMelody": "Stops the melodies", "music.stopMelody|param|options": "which melody to stop", "music.tempo": "Gibt die Geschwindigkeit in Schlägen pro Minute aus. Die Geschwindigkeit ist Schnelligkeit (Bpm = Beats pro Minute), in der Töne abgespielt werden. Je größer der Wert, desto schneller werden die Töne abgespielt.", - "music.volume": "Returns the current output volume of the sound synthesizer.", "parseFloat": "Convert a string to a number.", "parseInt": "Convert a string to an integer.\n\n\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", "parseInt|param|radix": "optional A value between 2 and 36 that specifies the base of the number in text.", @@ -630,6 +641,7 @@ "pins.servoWritePin|param|name": "pin to write to, eg: AnalogPin.P1", "pins.servoWritePin|param|value": "Winkel oder Rotationsbeschleunigung, z.B.: 180,90,0", "pins.setAudioPin": "Set the pin used when producing sounds and melodies. Default is P0.", + "pins.setAudioPinEnabled": "Sets whether or not audio will be output using a pin on the edge\nconnector.", "pins.setAudioPin|param|name": "pin to modulate pitch from", "pins.setEvents": "Configure the events emitted by this pin. Events can be subscribed to\nusing ``control.onEvent()``.", "pins.setEvents|param|name": "pin to set the event mode on, eg: DigitalPin.P0", @@ -676,26 +688,12 @@ "serial.setWriteLinePadding": "Sets the padding length for lines sent with \"write line\".", "serial.setWriteLinePadding|param|length": "the number of bytes alignment, eg: 0", "serial.writeBuffer": "Send a buffer through serial connection", + "serial.writeDmesg": "Send DMESG debug buffer over serial.", "serial.writeLine": "Gibt eine Zeile des Textes an die serielle", "serial.writeNumber": "Gibt einen numerischen Wert an die serielle", "serial.writeNumbers": "Print an array of numeric values as CSV to the serial port", "serial.writeString": "Sendet ein Stück Text über serielle Verbindung.", "serial.writeValue": "Schreibt ein ``Namen: Wert`` Wertepaar auf die serielle Schnittstelle.", "serial.writeValue|param|name": "Name des Wertestreams, z.B.: x", - "serial.writeValue|param|value": "Schreiben", - "storage": "Provides access to persistent storage functionality.\n\nProvides access to persistent storage functionality.", - "storage.getNumber": "Reads a key value pair from the non volatile storage as a number", - "storage.getNumber|param|key": "the key for accesing the value", - "storage.getValueInt": "Reads a key value pair from the non volatile storage", - "storage.getValueInt|param|key": "the key for accesing the value", - "storage.putNumber": "Saves a key value pair in the non volatile storage", - "storage.putNumber|param|key": "the key for accesing the value", - "storage.putNumber|param|value": "value to store", - "storage.putValueInt": "Saves a key value pair in the non volatile storage", - "storage.putValueInt|param|key": "the key for accesing the value", - "storage.putValueInt|param|value": "value to store", - "storage.remove": "Removes a key value pair from the non volatile storage", - "storage.removeNumber": "Deletes the key from the non volatile storage", - "storage.removeNumber|param|key": "the key for accesing the value", - "storage.remove|param|key": "the key for accesing the value" + "serial.writeValue|param|value": "Schreiben" } diff --git a/libs/core/_locales/de/core-strings.json b/libs/core/_locales/de/core-strings.json index 4072077b..166906f5 100644 --- a/libs/core/_locales/de/core-strings.json +++ b/libs/core/_locales/de/core-strings.json @@ -7,6 +7,29 @@ "AcceleratorRange.OneG|block": "1g", "AcceleratorRange.TwoG": "Der Bewegungssensor misst Kräfte bis 2g", "AcceleratorRange.TwoG|block": "2g", + "AnalogPin.A0_SCL|block": "C19 (A0 SCL)", + "AnalogPin.A0_SDA|block": "C20 (A0 SDA)", + "AnalogPin.A1_RX|block": "A1 RX", + "AnalogPin.A1_TX|block": "A1 TX", + "AnalogPin.C11|block": "C11 (nur schreiben)", + "AnalogPin.C12|block": "C12 (nur schreiben)", + "AnalogPin.C13|block": "C13 (nur schreiben)", + "AnalogPin.C14|block": "C14 (nur schreiben)", + "AnalogPin.C15|block": "C15 (nur schreiben)", + "AnalogPin.C16|block": "C16 (A1 RX)", + "AnalogPin.C17|block": "C17 (A1 TX, nur schreiben)", + "AnalogPin.C5|block": "C5 (nur schreiben)", + "AnalogPin.C6|block": "C6 (nur schreiben)", + "AnalogPin.C7|block": "C7 (nur schreiben)", + "AnalogPin.C8|block": "C8 (nur schreiben)", + "AnalogPin.C9|block": "C9 (nur schreiben)", + "AnalogPin.M0_DIR|block": "M0 Direction (nur schreiben)", + "AnalogPin.M0_SPEED|block": "M0 Geschwindigkeit (nur schreiben)", + "AnalogPin.M1_DIR|block": "M1 Richtung (nur schreiben)", + "AnalogPin.M1_SPEED|block": "M1 Geschwindigkeit (nur schreiben)", + "AnalogPin.M_MODE|block": "Motor Modus (nur schreiben)", + "AnalogPin.P3|block": "P3 (nur schreiben)", + "AnalogPin.RGB|block": "RGB (nur schreiben)", "Array._pickRandom|block": "erhalte zufälligen Wert von %list", "Array._popStatement|block": "entferne letzten Wert von %list", "Array._removeAtStatement|block": "%list| entferne Werte bei %index", @@ -76,6 +99,12 @@ "Delimiters.SemiColon|block": ";", "Delimiters.Space|block": "Leertaste", "Delimiters.Tab|block": "Tabulator (\t)", + "DigitalPin.A0_SCL|block": "C19 (A0 SCL)", + "DigitalPin.A0_SDA|block": "C20 (A0 SDA)", + "DigitalPin.A1_RX|block": "A1 RX", + "DigitalPin.A1_TX|block": "A1 TX", + "DigitalPin.C16|block": "C16 (A1 RX)", + "DigitalPin.C17|block": "C17 (A1 TX)", "Dimension.Strength|block": "Stärke", "Dimension.X|block": "x", "Dimension.Y|block": "y", @@ -125,6 +154,7 @@ "IconNames.Diamond|block": "Diament", "IconNames.Duck|block": "Ente", "IconNames.EigthNote|block": "Achtelnote", + "IconNames.EigthNote|block": "Achtelnote", "IconNames.Fabulous|block": "großartig", "IconNames.Ghost|block": "Geist", "IconNames.Giraffe|block": "Giraffe", @@ -212,7 +242,9 @@ "MesDpadButtonInfo._3Up|block": "3 hoch", "MesDpadButtonInfo._4Down|block": "4 runter", "MesDpadButtonInfo._4Up|block": "4 hoch", - "Motor.AB|block": "A und B", + "Motor.M0_M1|block": "M0 & M1", + "Motor.M0|block": "M0", + "Motor.M1|block": "M1", "MotorCommand.Break|block": "Pause", "MotorCommand.Coast|block": "auslaufen", "MotorCommand.Sleep|block": "schlafen", @@ -255,13 +287,6 @@ "PulseValue.Low|block": "runter", "Rotation.Pitch|block": "Winkel", "Rotation.Roll|block": "rollen", - "StorageSlots.s1|block": "Slot 1", - "StorageSlots.s2|block": "Slot 2", - "StorageSlots.s3|block": "Slot 3", - "StorageSlots.s4|block": "Slot 4", - "StorageSlots.s5|block": "Slot 5", - "StorageSlots.s6|block": "Slot 6", - "StorageSlots.s7|block": "Slot 7", "String.charAt|block": "Zeichen an Position %pos aus|%this", "String.compare|block": "vergleiche %this| mit %that", "String.fromCharCode|block": "Text aus ASCII-Code %code", @@ -335,13 +360,11 @@ "images.iconImage|block": "Symbol %i", "images|block": "Bilder", "input.acceleration|block": "Beschleunigung (mg) |%NAME", - "input.assumeCalibrationCompass|block": "Kompass ohne weitere Kalibration nutzen", "input.buttonEventClick|block": "geklickt", "input.buttonEventDown|block": "gedrückt", "input.buttonEventValue|block": "%id", "input.buttonIsPressed|block": "Button|%NAME|ist gedrückt", "input.calibrateCompass|block": "Kompass kalibrieren", - "input.clearCalibrationCompass|block": "lösche die Kompass Kalibrierung", "input.compassHeading|block": "Kompassausrichtung (°)", "input.isCalibratedCompass|block": "wurde der Kompass kalibriert", "input.isGesture|block": "Bewegung %gesture", @@ -377,28 +400,22 @@ "light|block": "Lichtstärke", "loops.everyInterval|block": "alle $interval ms", "loops|block": "loops", - "motors.dualMotorPower|block": "Motor %motor an|mit %percent \\%", - "motors.motorCommand|block": "Motor %command", - "motors.motorPower|block": "Motor an mit %percent \\%", - "motors|block": "Motoren", + "motors|block": "Motoren", "msgpack|block": "msgpack", "music.beat|block": "%fraction|Takt", "music.builtInMelody|block": "%melody", "music.changeTempoBy|block": "ändere die Geschwindigkeit (bpm)|%value", "music.melodyEditor|block": "$melody", "music.noteFrequency|block": "%note", - "music.onEvent|block": "Musik wenn %value", "music.playMelody|block": "spiele Melodie $melody im Tempo $tempo|(bpm)", "music.playTone|block": "spiele|Note %note=device_note|für %duration=device_beat", "music.rest|block": "pausiere (ms)|%duration=device_beat", "music.ringTone|block": "Klingelton (Hz) |%note = Device_note", "music.setTempo|block": "ändere Geschwindigkeit auf (bpm)|%value", - "music.setVolume|block": "setze Lautstärke auf %volume", "music.startMelody|block": "starte Melodie %melody=device_builtin_melody| wiederhole %options", "music.stopAllSounds|block": "alle Töne ausschalten", "music.stopMelody|block": "halte Melodie $options|an", "music.tempo|block": "Geschwindkeit (bpm)", - "music.volume|block": "Lautstärke", "music|block": "Musik", "parseFloat|block": "wandle %text|in eine Zahl", "parseInt|block": "wandle %text|in eine Zahl", @@ -419,6 +436,7 @@ "pins.pulseIn|block": "Impuls in (µs)|Pin %name|mit %value", "pins.servoSetPulse|block": "setze den Puls von Servo an|Pin %value|auf (µs) %micros", "pins.servoWritePin|block": "schreibe Servo an|Pin %name|auf %value", + "pins.setAudioPinEnabled|block": "set audio pin enabled $enabled", "pins.setAudioPin|block": "setze Audiopin $name", "pins.setEvents|block": "Stelle Pin %pin ein|zum Ausgeben von %type|-Ereignissen", "pins.setMatrixWidth|block": "Neopixel Matrixbreite |Pin %pin %width", @@ -448,13 +466,6 @@ "serial.writeString|block": "seriell|Text ausgeben %text", "serial.writeValue|block": "seriell|Wertepaar ausgeben %name| und %value", "serial|block": "Konsole", - "storage.getNumber|block": "lies aus %key", - "storage.getValueInt|block": "erhalte Zahl aus %key", - "storage.putNumber|block": "in %key die Zahl %value speichern", - "storage.putValueInt|block": "in %key den Wert %value als Int speichern", - "storage.removeNumber|block": "Zahl in %key löschen", - "storage.remove|block": "lösche %key", - "storage|block": "Speicher", "{id:category}AnalogInPin": "AnalogInPin", "{id:category}AnalogOutPin": "AnalogOutPin", "{id:category}Array": "Array", @@ -486,7 +497,6 @@ "{id:category}Pins": "Pins", "{id:category}PwmOnlyPin": "PwmOnlyPin", "{id:category}Serial": "Konsole", - "{id:category}Storage": "Speicher", "{id:category}String": "Zeichenfolge", "{id:category}Text": "Text", "{id:category}_py": "_py", @@ -495,7 +505,6 @@ "{id:group}Control": "Control", "{id:group}Digital": "Digital", "{id:group}Events": "Ereignis", - "{id:group}Get": "Get", "{id:group}LED matrix": "LED-Matrix", "{id:group}Melody": "Melodie", "{id:group}Melody Advanced": "Fortgeschrittene Melodien", @@ -503,18 +512,16 @@ "{id:group}Operations": "Operationen", "{id:group}Pitch": "Pitch", "{id:group}Pulse": "Pulse", - "{id:group}Put": "Put", "{id:group}RGB LED": "RGB LED", "{id:group}Read": "Lesen", - "{id:group}Remove": "Löschen", "{id:group}Sensors": "Sensoren", "{id:group}Servo": "Servo", "{id:group}Silence": "Stille", + "{id:group}Sound": "Sound", "{id:group}States": "Status", "{id:group}System": "System", "{id:group}Tempo": "Geschwindigkeit", - "{id:group}Tone": "Tone", - "{id:group}Volume": "Lautstärke", + "{id:group}Tone": "Ton", "{id:group}i2c": "i2c", "{id:group}spi": "spi" } diff --git a/libs/core/pxt.json b/libs/core/pxt.json index 0242f27f..7022e010 100644 --- a/libs/core/pxt.json +++ b/libs/core/pxt.json @@ -131,7 +131,7 @@ }, "userConfigs": [ { - "description": "Only load Bluetooth while pairing mode is activated (holding A+B and briefly the Reset button)", + "description": "Paring mode always required to transfer programs via Bluetooth", "config": { "microbit-dal": { "bluetooth": { diff --git a/libs/datalogger/pxt.json b/libs/datalogger/pxt.json index 88b75b17..6b07aabe 100644 --- a/libs/datalogger/pxt.json +++ b/libs/datalogger/pxt.json @@ -4,6 +4,7 @@ "files": [ "datalogger.ts" ], + "weight": 99, "public": true, "disablesVariants": [ "minidal", diff --git a/libs/funk/_locales/Funk-jsdoc-strings.json b/libs/funk/_locales/Funk-jsdoc-strings.json new file mode 100644 index 00000000..3431037c --- /dev/null +++ b/libs/funk/_locales/Funk-jsdoc-strings.json @@ -0,0 +1,52 @@ +{ + "radio": "Communicate data using radio packets", + "radio.Packet.receivedBuffer": "The buffer payload if a buffer was sent in this packet\nor the empty buffer", + "radio.Packet.receivedNumber": "The number payload if a number was sent in this packet (via ``sendNumber()`` or ``sendValue()``)\nor 0 if this packet did not contain a number.", + "radio.Packet.receivedString": "The string payload if a string was sent in this packet (via ``sendString()`` or ``sendValue()``)\nor the empty string if this packet did not contain a string.", + "radio.Packet.serial": "The serial number of the sender of the packet or 0 if the sender did not sent their serial number.", + "radio.Packet.signal": "The received signal strength indicator (RSSI) of the packet.", + "radio.Packet.time": "The system time of the sender of the packet at the time the packet was sent.", + "radio._packetProperty": "Gets a packet property.", + "radio._packetProperty|param|type": "the packet property type, eg: PacketProperty.time", + "radio.off": "Disables the radio for use as a multipoint sender/receiver.\nDisabling radio will help conserve battery power when it is not in use.", + "radio.on": "Initialises the radio for use as a multipoint sender/receiver\nOnly useful when the radio.off() is used beforehand.", + "radio.onDataPacketReceived": "Deprecated. Use onDataReceived() instead\nRegisters code to run when the radio receives a packet. Also takes the\nreceived packet from the radio queue.", + "radio.onDataReceived": "Used internally by the library.", + "radio.onReceivedBuffer": "Registers code to run when the radio receives a buffer.", + "radio.onReceivedBufferDeprecated": "Registers code to run when the radio receives a buffer. Deprecated, use\nonReceivedBuffer instead.", + "radio.onReceivedNumber": "Registers code to run when the radio receives a number.", + "radio.onReceivedNumberDeprecated": "Registers code to run when the radio receives a number. Deprecated, use\nonReceivedNumber instead.", + "radio.onReceivedString": "Registers code to run when the radio receives a string.", + "radio.onReceivedStringDeprecated": "Registers code to run when the radio receives a string. Deprecated, use\nonReceivedString instead.", + "radio.onReceivedValue": "Registers code to run when the radio receives a key value pair.", + "radio.onReceivedValueDeprecated": "Registers code to run when the radio receives a key value pair. Deprecated, use\nonReceivedValue instead.", + "radio.raiseEvent": "Sends an event over radio to neigboring devices", + "radio.readRawPacket": "Internal use only. Takes the next packet from the radio queue and returns its contents + RSSI in a Buffer.\n@returns NULL if no packet available", + "radio.receiveNumber": "Reads the next packet from the radio queue and returns the packet's number\npayload or 0 if the packet did not contain a number.", + "radio.receiveString": "Reads the next packet from the radio queue and returns the packet's string\npayload or the empty string if the packet did not contain a string.", + "radio.receivedBuffer": "Returns the buffer payload from the last packet taken from the radio queue\n(via ``receiveNumber``, ``receiveString``, etc) or the empty string if that\npacket did not contain a string.", + "radio.receivedNumber": "Returns the number payload from the last packet taken from the radio queue\n(via ``receiveNumber``, ``receiveString``, etc) or 0 if that packet did not\ncontain a number.", + "radio.receivedPacket": "Returns properties of the last radio packet received.", + "radio.receivedPacket|param|type": "the type of property to retrieve from the last packet", + "radio.receivedSerial": "Returns the serial number of the sender micro:bit from the last packet taken\nfrom the radio queue (via ``receiveNumber``, ``receiveString``, etc) or 0 if\nthat packet did not send a serial number.", + "radio.receivedSignalStrength": "Gets the received signal strength indicator (RSSI) from the last packet taken\nfrom the radio queue (via ``receiveNumber``, ``receiveString``, etc). Not supported in simulator.", + "radio.receivedString": "Returns the string payload from the last packet taken from the radio queue\n(via ``receiveNumber``, ``receiveString``, etc) or the empty string if that\npacket did not contain a string.", + "radio.receivedTime": "Returns the system time of the sender micro:bit at the moment when it sent the\nlast packet taken from the radio queue (via ``receiveNumber``,\n``receiveString``, etc).", + "radio.sendBuffer": "Broadcasts a buffer (up to 19 bytes long) along with the device serial number\nand running time to any connected micro:bit in the group.", + "radio.sendNumber": "Broadcasts a number over radio to any connected micro:bit in the group.", + "radio.sendRawPacket": "Internal use only. Sends a raw packet through the radio (assumes RSSI appened to packet)", + "radio.sendString": "Broadcasts a string along with the device serial number\nand running time to any connected micro:bit in the group.", + "radio.sendValue": "Broadcasts a name / value pair along with the device serial number\nand running time to any connected micro:bit in the group. The name can\ninclude no more than 8 characters.", + "radio.sendValue|param|name": "the field name (max 8 characters), eg: \"name\"", + "radio.sendValue|param|value": "the numeric value", + "radio.setFrequencyBand": "Change the transmission and reception band of the radio to the given channel", + "radio.setFrequencyBand|param|band": "a frequency band in the range 0 - 83. Each step is 1MHz wide, based at 2400MHz.", + "radio.setGroup": "Sets the group id for radio communications. A micro:bit can only listen to one group ID at any time.", + "radio.setGroup|param|id": "the group id between ``0`` and ``255``, eg: 1", + "radio.setTransmitPower": "Change the output power level of the transmitter to the given value.", + "radio.setTransmitPower|param|power": "a value in the range 0..7, where 0 is the lowest power and 7 is the highest. eg: 7", + "radio.setTransmitSerialNumber": "Set the radio to transmit the serial number in each message.", + "radio.setTransmitSerialNumber|param|transmit": "value indicating if the serial number is transmitted, eg: true", + "radio.writeReceivedPacketToSerial": "Writes the last received packet to serial as JSON. This should be called\nwithin an ``onDataPacketReceived`` callback.", + "radio.writeValueToSerial": "Reads the next packet from the radio queue and and writes it to serial\nas JSON." +} \ No newline at end of file diff --git a/libs/funk/_locales/Funk-strings.json b/libs/funk/_locales/Funk-strings.json new file mode 100644 index 00000000..ffad58b5 --- /dev/null +++ b/libs/funk/_locales/Funk-strings.json @@ -0,0 +1,35 @@ +{ + "RadioPacketProperty.SerialNumber|block": "serial number", + "RadioPacketProperty.SignalStrength|block": "signal strength", + "RadioPacketProperty.Time|block": "time", + "radio._packetProperty|block": "%note", + "radio.onDataPacketReceived|block": "on radio received", + "radio.onDataReceived|block": "radio on data received", + "radio.onReceivedBufferDeprecated|block": "on radio received", + "radio.onReceivedBuffer|block": "on radio received", + "radio.onReceivedNumberDeprecated|block": "on radio received", + "radio.onReceivedNumber|block": "on radio received", + "radio.onReceivedStringDeprecated|block": "on radio received", + "radio.onReceivedString|block": "on radio received", + "radio.onReceivedValueDeprecated|block": "on radio received", + "radio.onReceivedValue|block": "on radio received", + "radio.raiseEvent|block": "radio raise event|from source %src=control_event_source_id|with value %value=control_event_value_id", + "radio.receiveNumber|block": "radio receive number", + "radio.receiveString|block": "radio receive string", + "radio.receivedPacket|block": "received packet %type=radio_packet_property", + "radio.receivedSignalStrength|block": "radio received signal strength", + "radio.sendNumber|block": "radio send number %value", + "radio.sendString|block": "radio send string %msg", + "radio.sendValue|block": "radio send|value %name|= %value", + "radio.setFrequencyBand|block": "radio set frequency band %band", + "radio.setGroup|block": "radio set group %ID", + "radio.setTransmitPower|block": "radio set transmit power %power", + "radio.setTransmitSerialNumber|block": "radio set transmit serial number %transmit", + "radio.writeReceivedPacketToSerial|block": "radio write received packet to serial", + "radio.writeValueToSerial|block": "radio write value to serial", + "radio|block": "radio", + "{id:category}Radio": "Radio", + "{id:group}Group": "Group", + "{id:group}Receive": "Receive", + "{id:group}Send": "Send" +} \ No newline at end of file diff --git a/libs/funk/_locales/radio-jsdoc-strings.json b/libs/funk/_locales/radio-jsdoc-strings.json new file mode 100644 index 00000000..3431037c --- /dev/null +++ b/libs/funk/_locales/radio-jsdoc-strings.json @@ -0,0 +1,52 @@ +{ + "radio": "Communicate data using radio packets", + "radio.Packet.receivedBuffer": "The buffer payload if a buffer was sent in this packet\nor the empty buffer", + "radio.Packet.receivedNumber": "The number payload if a number was sent in this packet (via ``sendNumber()`` or ``sendValue()``)\nor 0 if this packet did not contain a number.", + "radio.Packet.receivedString": "The string payload if a string was sent in this packet (via ``sendString()`` or ``sendValue()``)\nor the empty string if this packet did not contain a string.", + "radio.Packet.serial": "The serial number of the sender of the packet or 0 if the sender did not sent their serial number.", + "radio.Packet.signal": "The received signal strength indicator (RSSI) of the packet.", + "radio.Packet.time": "The system time of the sender of the packet at the time the packet was sent.", + "radio._packetProperty": "Gets a packet property.", + "radio._packetProperty|param|type": "the packet property type, eg: PacketProperty.time", + "radio.off": "Disables the radio for use as a multipoint sender/receiver.\nDisabling radio will help conserve battery power when it is not in use.", + "radio.on": "Initialises the radio for use as a multipoint sender/receiver\nOnly useful when the radio.off() is used beforehand.", + "radio.onDataPacketReceived": "Deprecated. Use onDataReceived() instead\nRegisters code to run when the radio receives a packet. Also takes the\nreceived packet from the radio queue.", + "radio.onDataReceived": "Used internally by the library.", + "radio.onReceivedBuffer": "Registers code to run when the radio receives a buffer.", + "radio.onReceivedBufferDeprecated": "Registers code to run when the radio receives a buffer. Deprecated, use\nonReceivedBuffer instead.", + "radio.onReceivedNumber": "Registers code to run when the radio receives a number.", + "radio.onReceivedNumberDeprecated": "Registers code to run when the radio receives a number. Deprecated, use\nonReceivedNumber instead.", + "radio.onReceivedString": "Registers code to run when the radio receives a string.", + "radio.onReceivedStringDeprecated": "Registers code to run when the radio receives a string. Deprecated, use\nonReceivedString instead.", + "radio.onReceivedValue": "Registers code to run when the radio receives a key value pair.", + "radio.onReceivedValueDeprecated": "Registers code to run when the radio receives a key value pair. Deprecated, use\nonReceivedValue instead.", + "radio.raiseEvent": "Sends an event over radio to neigboring devices", + "radio.readRawPacket": "Internal use only. Takes the next packet from the radio queue and returns its contents + RSSI in a Buffer.\n@returns NULL if no packet available", + "radio.receiveNumber": "Reads the next packet from the radio queue and returns the packet's number\npayload or 0 if the packet did not contain a number.", + "radio.receiveString": "Reads the next packet from the radio queue and returns the packet's string\npayload or the empty string if the packet did not contain a string.", + "radio.receivedBuffer": "Returns the buffer payload from the last packet taken from the radio queue\n(via ``receiveNumber``, ``receiveString``, etc) or the empty string if that\npacket did not contain a string.", + "radio.receivedNumber": "Returns the number payload from the last packet taken from the radio queue\n(via ``receiveNumber``, ``receiveString``, etc) or 0 if that packet did not\ncontain a number.", + "radio.receivedPacket": "Returns properties of the last radio packet received.", + "radio.receivedPacket|param|type": "the type of property to retrieve from the last packet", + "radio.receivedSerial": "Returns the serial number of the sender micro:bit from the last packet taken\nfrom the radio queue (via ``receiveNumber``, ``receiveString``, etc) or 0 if\nthat packet did not send a serial number.", + "radio.receivedSignalStrength": "Gets the received signal strength indicator (RSSI) from the last packet taken\nfrom the radio queue (via ``receiveNumber``, ``receiveString``, etc). Not supported in simulator.", + "radio.receivedString": "Returns the string payload from the last packet taken from the radio queue\n(via ``receiveNumber``, ``receiveString``, etc) or the empty string if that\npacket did not contain a string.", + "radio.receivedTime": "Returns the system time of the sender micro:bit at the moment when it sent the\nlast packet taken from the radio queue (via ``receiveNumber``,\n``receiveString``, etc).", + "radio.sendBuffer": "Broadcasts a buffer (up to 19 bytes long) along with the device serial number\nand running time to any connected micro:bit in the group.", + "radio.sendNumber": "Broadcasts a number over radio to any connected micro:bit in the group.", + "radio.sendRawPacket": "Internal use only. Sends a raw packet through the radio (assumes RSSI appened to packet)", + "radio.sendString": "Broadcasts a string along with the device serial number\nand running time to any connected micro:bit in the group.", + "radio.sendValue": "Broadcasts a name / value pair along with the device serial number\nand running time to any connected micro:bit in the group. The name can\ninclude no more than 8 characters.", + "radio.sendValue|param|name": "the field name (max 8 characters), eg: \"name\"", + "radio.sendValue|param|value": "the numeric value", + "radio.setFrequencyBand": "Change the transmission and reception band of the radio to the given channel", + "radio.setFrequencyBand|param|band": "a frequency band in the range 0 - 83. Each step is 1MHz wide, based at 2400MHz.", + "radio.setGroup": "Sets the group id for radio communications. A micro:bit can only listen to one group ID at any time.", + "radio.setGroup|param|id": "the group id between ``0`` and ``255``, eg: 1", + "radio.setTransmitPower": "Change the output power level of the transmitter to the given value.", + "radio.setTransmitPower|param|power": "a value in the range 0..7, where 0 is the lowest power and 7 is the highest. eg: 7", + "radio.setTransmitSerialNumber": "Set the radio to transmit the serial number in each message.", + "radio.setTransmitSerialNumber|param|transmit": "value indicating if the serial number is transmitted, eg: true", + "radio.writeReceivedPacketToSerial": "Writes the last received packet to serial as JSON. This should be called\nwithin an ``onDataPacketReceived`` callback.", + "radio.writeValueToSerial": "Reads the next packet from the radio queue and and writes it to serial\nas JSON." +} \ No newline at end of file diff --git a/libs/funk/_locales/radio-strings.json b/libs/funk/_locales/radio-strings.json new file mode 100644 index 00000000..ffad58b5 --- /dev/null +++ b/libs/funk/_locales/radio-strings.json @@ -0,0 +1,35 @@ +{ + "RadioPacketProperty.SerialNumber|block": "serial number", + "RadioPacketProperty.SignalStrength|block": "signal strength", + "RadioPacketProperty.Time|block": "time", + "radio._packetProperty|block": "%note", + "radio.onDataPacketReceived|block": "on radio received", + "radio.onDataReceived|block": "radio on data received", + "radio.onReceivedBufferDeprecated|block": "on radio received", + "radio.onReceivedBuffer|block": "on radio received", + "radio.onReceivedNumberDeprecated|block": "on radio received", + "radio.onReceivedNumber|block": "on radio received", + "radio.onReceivedStringDeprecated|block": "on radio received", + "radio.onReceivedString|block": "on radio received", + "radio.onReceivedValueDeprecated|block": "on radio received", + "radio.onReceivedValue|block": "on radio received", + "radio.raiseEvent|block": "radio raise event|from source %src=control_event_source_id|with value %value=control_event_value_id", + "radio.receiveNumber|block": "radio receive number", + "radio.receiveString|block": "radio receive string", + "radio.receivedPacket|block": "received packet %type=radio_packet_property", + "radio.receivedSignalStrength|block": "radio received signal strength", + "radio.sendNumber|block": "radio send number %value", + "radio.sendString|block": "radio send string %msg", + "radio.sendValue|block": "radio send|value %name|= %value", + "radio.setFrequencyBand|block": "radio set frequency band %band", + "radio.setGroup|block": "radio set group %ID", + "radio.setTransmitPower|block": "radio set transmit power %power", + "radio.setTransmitSerialNumber|block": "radio set transmit serial number %transmit", + "radio.writeReceivedPacketToSerial|block": "radio write received packet to serial", + "radio.writeValueToSerial|block": "radio write value to serial", + "radio|block": "radio", + "{id:category}Radio": "Radio", + "{id:group}Group": "Group", + "{id:group}Receive": "Receive", + "{id:group}Send": "Send" +} \ No newline at end of file diff --git a/libs/funk/enums.d.ts b/libs/funk/enums.d.ts new file mode 100644 index 00000000..9bdc205d --- /dev/null +++ b/libs/funk/enums.d.ts @@ -0,0 +1,5 @@ +// Auto-generated. Do not edit. +declare namespace radio { +} + +// Auto-generated. Do not edit. Really. diff --git a/libs/bluetooth-disabled/pxt.json b/libs/funk/pxt.json similarity index 55% rename from libs/bluetooth-disabled/pxt.json rename to libs/funk/pxt.json index 295c1fe3..4aaf567e 100644 --- a/libs/bluetooth-disabled/pxt.json +++ b/libs/funk/pxt.json @@ -1,16 +1,21 @@ { - "name": "bluetooth-disabled", - "description": "Disables Bluetooth. Require AB+Reset to start bluetooth.", + "name": "Funk", + "description": "Stellt die Funk-Blöcke bereit", "dependencies": { "core": "file:../core" }, "files": [ - "README.md" + "README.md", + "shims.d.ts", + "enums.d.ts", + "radio.cpp", + "radio.ts", + "targetoverrides.ts" ], + "weight": 97, "public": true, - "weight": 10, - "searchOnly": true, - "icon": "./static/packages/bluetooth/icon.png", + "additionalFilePath": "../../node_modules/pxt-common-packages/libs/radio", + "icon": "./static/packages/radio/icon.png", "yotta": { "config": { "microbit-dal": { @@ -27,4 +32,4 @@ } } } -} \ No newline at end of file +} diff --git a/libs/funk/shims.d.ts b/libs/funk/shims.d.ts new file mode 100644 index 00000000..6df6da42 --- /dev/null +++ b/libs/funk/shims.d.ts @@ -0,0 +1,88 @@ +// Auto-generated. Do not edit. + + + + //% color=#E3008C weight=96 icon="\uf012" +declare namespace radio { + + /** + * Disables the radio for use as a multipoint sender/receiver. + * Disabling radio will help conserve battery power when it is not in use. + */ + //% help=radio/off shim=radio::off + function off(): void; + + /** + * Initialises the radio for use as a multipoint sender/receiver + * Only useful when the radio.off() is used beforehand. + */ + //% help=radio/on shim=radio::on + function on(): void; + + /** + * Sends an event over radio to neigboring devices + */ + //% blockId=radioRaiseEvent block="radio raise event|from source %src=control_event_source_id|with value %value=control_event_value_id" + //% blockExternalInputs=1 + //% advanced=true + //% weight=1 + //% help=radio/raise-event shim=radio::raiseEvent + function raiseEvent(src: int32, value: int32): void; + + /** + * Internal use only. Takes the next packet from the radio queue and returns its contents + RSSI in a Buffer. + * @returns NULL if no packet available + */ + //% shim=radio::readRawPacket + function readRawPacket(): Buffer; + + /** + * Internal use only. Sends a raw packet through the radio (assumes RSSI appened to packet) + */ + //% async shim=radio::sendRawPacket + function sendRawPacket(msg: Buffer): void; + + /** + * Used internally by the library. + */ + //% help=radio/on-data-received + //% weight=0 + //% blockId=radio_datagram_received_event block="radio on data received" blockGap=8 + //% deprecated=true blockHidden=1 shim=radio::onDataReceived + function onDataReceived(body: () => void): void; + + /** + * Sets the group id for radio communications. A micro:bit can only listen to one group ID at any time. + * @param id the group id between ``0`` and ``255``, eg: 1 + */ + //% help=radio/set-group + //% weight=100 + //% blockId=radio_set_group block="radio set group %ID" + //% id.min=0 id.max=255 + //% group="Group" shim=radio::setGroup + function setGroup(id: int32): void; + + /** + * Change the output power level of the transmitter to the given value. + * @param power a value in the range 0..7, where 0 is the lowest power and 7 is the highest. eg: 7 + */ + //% help=radio/set-transmit-power + //% weight=9 blockGap=8 + //% blockId=radio_set_transmit_power block="radio set transmit power %power" + //% power.min=0 power.max=7 + //% advanced=true shim=radio::setTransmitPower + function setTransmitPower(power: int32): void; + + /** + * Change the transmission and reception band of the radio to the given channel + * @param band a frequency band in the range 0 - 83. Each step is 1MHz wide, based at 2400MHz. + **/ + //% help=radio/set-frequency-band + //% weight=8 blockGap=8 + //% blockId=radio_set_frequency_band block="radio set frequency band %band" + //% band.min=0 band.max=83 + //% advanced=true shim=radio::setFrequencyBand + function setFrequencyBand(band: int32): void; +} + +// Auto-generated. Do not edit. Really. diff --git a/libs/funk/targetoverrides.ts b/libs/funk/targetoverrides.ts new file mode 100644 index 00000000..5303f0be --- /dev/null +++ b/libs/funk/targetoverrides.ts @@ -0,0 +1,239 @@ +namespace radio { + export class Packet { + /** + * The number payload if a number was sent in this packet (via ``sendNumber()`` or ``sendValue()``) + * or 0 if this packet did not contain a number. + */ + public receivedNumber: number; + /** + * The string payload if a string was sent in this packet (via ``sendString()`` or ``sendValue()``) + * or the empty string if this packet did not contain a string. + */ + public receivedString: string; + /** + * The buffer payload if a buffer was sent in this packet + * or the empty buffer + */ + public receivedBuffer: Buffer; + /** + * The system time of the sender of the packet at the time the packet was sent. + */ + public time: number; + /** + * The serial number of the sender of the packet or 0 if the sender did not sent their serial number. + */ + public serial: number; + /** + * The received signal strength indicator (RSSI) of the packet. + */ + public signal: number; + } + + /** + * Deprecated. Use onDataReceived() instead + * Registers code to run when the radio receives a packet. Also takes the + * received packet from the radio queue. + */ + //% help=radio/on-data-packet-received blockHandlerKey="radioreceived" deprecated=true + //% mutate=objectdestructuring + //% mutateText=Packet + //% mutateDefaults="receivedNumber;receivedString:name,receivedNumber:value;receivedString" + //% blockId=radio_on_packet block="on radio received" blockGap=8 + export function onDataPacketReceived(cb: (packet: Packet) => void) { + onDataReceived(() => { + receiveNumber(); + const packet = new Packet(); + packet.receivedNumber = receivedNumber(); + packet.time = receivedTime(); + packet.serial = receivedSerial(); + packet.receivedString = receivedString(); + packet.receivedBuffer = receivedBuffer(); + packet.signal = receivedSignalStrength(); + cb(packet) + }); + } + + /** + * Registers code to run when the radio receives a number. Deprecated, use + * onReceivedNumber instead. + */ + //% help=radio/on-received-number blockHandlerKey="radioreceived" + //% blockId=radio_on_number block="on radio received" blockGap=16 + //% useLoc="radio.onDataPacketReceived" deprecated=1 + export function onReceivedNumberDeprecated(cb: (receivedNumber: number) => void) { + onReceivedNumber(cb); + } + + /** + * Registers code to run when the radio receives a key value pair. Deprecated, use + * onReceivedValue instead. + */ + //% help=radio/on-received-value blockHandlerKey="radioreceived" + //% blockId=radio_on_value block="on radio received" blockGap=16 + //% useLoc="radio.onDataPacketReceived" deprecated=1 + export function onReceivedValueDeprecated(cb: (name: string, value: number) => void) { + onReceivedValue(cb); + } + + /** + * Registers code to run when the radio receives a string. Deprecated, use + * onReceivedString instead. + */ + //% help=radio/on-received-string blockHandlerKey="radioreceived" + //% blockId=radio_on_string block="on radio received" blockGap=16 + //% useLoc="radio.onDataPacketReceived" deprecated=1 + export function onReceivedStringDeprecated(cb: (receivedString: string) => void) { + onReceivedString(cb); + } + + /** + * Registers code to run when the radio receives a buffer. Deprecated, use + * onReceivedBuffer instead. + */ + //% help=radio/on-received-buffer blockHandlerKey="radioreceived" blockHidden=1 + //% blockId=radio_on_buffer block="on radio received" blockGap=16 + //% useLoc="radio.onDataPacketReceived" deprecated=1 + export function onReceivedBufferDeprecated(cb: (receivedBuffer: Buffer) => void) { + onReceivedBuffer(cb); + } + + /** + * Returns the number payload from the last packet taken from the radio queue + * (via ``receiveNumber``, ``receiveString``, etc) or 0 if that packet did not + * contain a number. + */ + //% help=radio/received-number deprecated=1 + export function receivedNumber(): number { + return (lastPacket ? lastPacket.numberPayload : 0) || 0; + } + + /** + * Returns the serial number of the sender micro:bit from the last packet taken + * from the radio queue (via ``receiveNumber``, ``receiveString``, etc) or 0 if + * that packet did not send a serial number. + */ + //% help=radio/received-serial deprecated=1 + export function receivedSerial(): number { + return lastPacket ? lastPacket.serial : 0; + } + + /** + * Returns the string payload from the last packet taken from the radio queue + * (via ``receiveNumber``, ``receiveString``, etc) or the empty string if that + * packet did not contain a string. + */ + //% help=radio/received-string deprecated=1 + export function receivedString(): string { + return (lastPacket ? lastPacket.stringPayload : "") || ""; + } + + /** + * Returns the buffer payload from the last packet taken from the radio queue + * (via ``receiveNumber``, ``receiveString``, etc) or the empty string if that + * packet did not contain a string. + */ + //% help=radio/received-buffer deprecated=1 + export function receivedBuffer(): Buffer { + return (lastPacket ? lastPacket.bufferPayload : null) || control.createBuffer(0); + } + + /** + * Returns the system time of the sender micro:bit at the moment when it sent the + * last packet taken from the radio queue (via ``receiveNumber``, + * ``receiveString``, etc). + */ + //% help=radio/received-time deprecated=1 + export function receivedTime(): number { + return lastPacket ? lastPacket.time : 0; + } + + /** + * Reads the next packet from the radio queue and returns the packet's number + * payload or 0 if the packet did not contain a number. + */ + //% help=radio/receive-number + //% weight=46 + //% blockId=radio_datagram_receive block="radio receive number" blockGap=8 + //% deprecated=true + export function receiveNumber(): number { + lastPacket = RadioPacket.getPacket(readRawPacket()); + return receivedNumber(); + } + + /** + * Reads the next packet from the radio queue and returns the packet's string + * payload or the empty string if the packet did not contain a string. + */ + //% blockId=radio_datagram_receive_string block="radio receive string" blockGap=8 + //% weight=44 + //% help=radio/receive-string + //% deprecated=true + export function receiveString(): string { + lastPacket = RadioPacket.getPacket(readRawPacket()); + return receivedString(); + } + + /** + * Gets the received signal strength indicator (RSSI) from the last packet taken + * from the radio queue (via ``receiveNumber``, ``receiveString``, etc). Not supported in simulator. + */ + //% help=radio/received-signal-strength + //% weight=40 + //% blockId=radio_datagram_rssi block="radio received signal strength" + //% deprecated=true blockHidden=true + export function receivedSignalStrength(): number { + return lastPacket ? lastPacket.signal : 0; + } + + /** + * Reads the next packet from the radio queue and and writes it to serial + * as JSON. + */ + //% help=radio/write-value-to-serial + //% weight=3 + //% blockId=radio_write_value_serial block="radio write value to serial" + //% deprecated=true + export function writeValueToSerial() { + const p = RadioPacket.getPacket(radio.readRawPacket()); + if(p) + writeToSerial(p); + } + + /** + * Writes the last received packet to serial as JSON. This should be called + * within an ``onDataPacketReceived`` callback. + */ + //% help=radio/write-received-packet-to-serial + //% weight=3 + //% blockId=radio_write_packet_serial block="radio write received packet to serial" + //% advanced=true deprecated=true + export function writeReceivedPacketToSerial() { + if (lastPacket) writeToSerial(lastPacket) + } + + function writeToSerial(packet: RadioPacket) { + serial.writeString("{"); + serial.writeString("\"t\":"); + serial.writeString("" + packet.time); + serial.writeString(",\"s\":"); + serial.writeString("" + packet.serial); + + if (packet.hasString()) { + serial.writeString(",\"n\":\""); + serial.writeString(packet.stringPayload); + serial.writeString("\""); + } + if (packet.packetType == PACKET_TYPE_BUFFER) { + serial.writeString(",\"b\":\""); + // TODO: proper base64 encoding + serial.writeString(packet.bufferPayload.toString()); + serial.writeString("\""); + } + if (packet.hasNumber()) { + serial.writeString(",\"v\":"); + serial.writeString("" + packet.numberPayload); + } + + serial.writeString("}\r\n"); + } +} \ No newline at end of file diff --git a/libs/localization-strings-stable/README.md b/libs/localization-strings-stable/README.md deleted file mode 100644 index e56ef17c..00000000 --- a/libs/localization-strings-stable/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Localization strings for Stable version - -This extensions includes strings, that are changed or deleted in newer version than the current release. \ No newline at end of file diff --git a/libs/localization-strings-stable/_locales/localization-strings-stable-jsdoc-strings.json b/libs/localization-strings-stable/_locales/localization-strings-stable-jsdoc-strings.json deleted file mode 100644 index 9e26dfee..00000000 --- a/libs/localization-strings-stable/_locales/localization-strings-stable-jsdoc-strings.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/libs/localization-strings-stable/_locales/localization-strings-stable-strings.json b/libs/localization-strings-stable/_locales/localization-strings-stable-strings.json deleted file mode 100644 index 9e26dfee..00000000 --- a/libs/localization-strings-stable/_locales/localization-strings-stable-strings.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/libs/localization-strings-stable/pxt.json b/libs/localization-strings-stable/pxt.json deleted file mode 100644 index b710918f..00000000 --- a/libs/localization-strings-stable/pxt.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "name": "localization-strings-stable", - "description": "Adds strings for translations.", - "dependencies": { - "core": "file:../core" - }, - "files": [ - "README.md" - ], - "public": true, - "weight": 0, - "searchOnly": true, - "yotta": { - "optionalConfig": { - }, - "userConfigs": [ - { - "description": "Only load Bluetooth while Paring-Mode is activated (holding A+B and briefly the Reset button)", - "config": { - "microbit-dal": { - "bluetooth": { - "enabled": 0 - } - } - } - }, - { - "description": "Disable partial flashing (increases available RAM)", - "config": { - "microbit-dal": { - "bluetooth": { - "partial_flashing": 0 - } - } - } - }, - { - "description": "Bluetooth: No pairing required", - "config": { - "microbit-dal": { - "bluetooth": { - "open": 1, - "security_level": null, - "whitelist": 0 - } - } - } - }, - { - "description": "Bluetooth: Pairing required", - "config": { - "microbit-dal": { - "bluetooth": { - "open": 0, - "security_level": "SECURITY_MODE_ENCRYPTION_NO_MITM", - "whitelist": 1 - } - } - } - } - ] - } -} \ No newline at end of file diff --git a/libs/microphone/pxt.json b/libs/microphone/pxt.json index db09c2ac..0549bc81 100644 --- a/libs/microphone/pxt.json +++ b/libs/microphone/pxt.json @@ -9,5 +9,6 @@ "minidal", "minidalusb" ], + "weight": 98, "icon": "./static/packages/microphone/icon.png" } \ No newline at end of file diff --git a/libs/bluetooth-no-pairing/README.md b/libs/one-time-pairing/README.md similarity index 100% rename from libs/bluetooth-no-pairing/README.md rename to libs/one-time-pairing/README.md diff --git a/libs/bluetooth-disabled/_locales/bluetooth-disabled-jsdoc-strings.json b/libs/one-time-pairing/_locales/One-Time-Pairing-jsdoc-strings.json similarity index 100% rename from libs/bluetooth-disabled/_locales/bluetooth-disabled-jsdoc-strings.json rename to libs/one-time-pairing/_locales/One-Time-Pairing-jsdoc-strings.json diff --git a/libs/bluetooth-disabled/_locales/bluetooth-disabled-strings.json b/libs/one-time-pairing/_locales/One-Time-Pairing-strings.json similarity index 100% rename from libs/bluetooth-disabled/_locales/bluetooth-disabled-strings.json rename to libs/one-time-pairing/_locales/One-Time-Pairing-strings.json diff --git a/libs/bluetooth-no-pairing/_locales/bluetooth-no-pairing-jsdoc-strings.json b/libs/one-time-pairing/_locales/bluetooth-no-pairing-jsdoc-strings.json similarity index 100% rename from libs/bluetooth-no-pairing/_locales/bluetooth-no-pairing-jsdoc-strings.json rename to libs/one-time-pairing/_locales/bluetooth-no-pairing-jsdoc-strings.json diff --git a/libs/bluetooth-no-pairing/_locales/bluetooth-no-pairing-strings.json b/libs/one-time-pairing/_locales/bluetooth-no-pairing-strings.json similarity index 100% rename from libs/bluetooth-no-pairing/_locales/bluetooth-no-pairing-strings.json rename to libs/one-time-pairing/_locales/bluetooth-no-pairing-strings.json diff --git a/libs/bluetooth-no-pairing/pxt.json b/libs/one-time-pairing/pxt.json similarity index 66% rename from libs/bluetooth-no-pairing/pxt.json rename to libs/one-time-pairing/pxt.json index a056903c..51f50346 100644 --- a/libs/bluetooth-no-pairing/pxt.json +++ b/libs/one-time-pairing/pxt.json @@ -1,6 +1,6 @@ { - "name": "bluetooth-no-pairing", - "description": "Bluetooth settings for iOS and Calliope mini 1 and 2.", + "name": "One-Time-Pairing", + "description": "Settings for Android and iOS for Calliope mini 3", "dependencies": { "core": "file:../core" }, @@ -10,7 +10,7 @@ "public": true, "searchOnly": true, "weight": 100, - "icon": "./static/packages/bluetooth/icon.png", + "icon": "./static/packages/One-Time-Pairing/icon.png", "yotta": { "config": { "microbit-dal": { @@ -23,7 +23,7 @@ }, "userConfigs": [ { - "description": "Bluetooth: No pairing required | Calliope mini 1 and 2 (iOS)", + "description": "One-time pairing enables programmes to be transferred via Bluetooth", "config": { } } diff --git a/libs/radio/pxt.json b/libs/radio/pxt.json index ef1b29e7..29698ae4 100644 --- a/libs/radio/pxt.json +++ b/libs/radio/pxt.json @@ -12,6 +12,7 @@ "radio.ts", "targetoverrides.ts" ], + "searchOnly": true, "public": true, "additionalFilePath": "../../node_modules/pxt-common-packages/libs/radio", "icon": "./static/packages/radio/icon.png", diff --git a/libs/v1/pxt.json b/libs/v1/pxt.json index f64c93c2..c2cb0f15 100644 --- a/libs/v1/pxt.json +++ b/libs/v1/pxt.json @@ -10,8 +10,7 @@ "core": true, "dependencies": { "core": "file:../core", - "core-mini-dal": "file:../core-mini-dal", - "bluetooth-disabled": "file:../bluetooth-disabled" + "core-mini-dal": "file:../core-mini-dal" }, "icon": "./static/devices/mini1.png", "files": [ @@ -20,17 +19,27 @@ "yotta": { "config": { "microbit-dal": { + "bluetooth": { + "enabled": 0 + }, "sram_end": "0x20004000", "RAM_SIZE": "\"16K\"" } }, + "optionalConfig": { + "microbit-dal": { + "bluetooth": { + "enabled": 0 + } + } + }, "userConfigs": [ { - "description": "Calliope mini 1", + "description": "Project compatible with Calliope mini 1", "config": { } },{ - "description": "Calliope mini 2", + "description": "Project compatible with Calliope mini 2", "config": { } } diff --git a/libs/v2/pxt.json b/libs/v2/pxt.json index 9f53707b..8cea278f 100644 --- a/libs/v2/pxt.json +++ b/libs/v2/pxt.json @@ -25,7 +25,7 @@ }, "userConfigs": [ { - "description": "Calliope mini 2", + "description": "Project compatible with Calliope mini 1", "config": { } } diff --git a/pxtarget.json b/pxtarget.json index 98658396..9dd349b5 100644 --- a/pxtarget.json +++ b/pxtarget.json @@ -13,19 +13,17 @@ "libs/v2", "libs/v3", "libs/radio", + "libs/funk", "libs/devices", "libs/bluetooth", - "libs/bluetooth-no-pairing", - "libs/bluetooth-pairing", - "libs/bluetooth-disabled", + "libs/one-time-pairing", "libs/servo", "libs/radio-broadcast", "libs/microphone", "libs/settings", "libs/flashlog", "libs/datalogger", - "libs/audio-recording", - "libs/localization-strings-stable" + "libs/audio-recording" ], "cloud": { "workspace": false, diff --git a/sim/dalboard.ts b/sim/dalboard.ts index 2f94e7c1..b850d471 100644 --- a/sim/dalboard.ts +++ b/sim/dalboard.ts @@ -125,7 +125,9 @@ namespace pxsim { initAsync(msg: SimulatorRunMessage): Promise { super.initAsync(msg); // console.log('SIM MESSAGE',msg) - if(msg.dependencies.v3 != undefined) { + if( msg.dependencies == undefined // exten list is undefined, only simulator without editor like https://makecode.calliope.cc/---run?id=_8i5WTJ5ciMdE + || msg.dependencies.v3 != undefined // v3 extension is available + ) { console.log('V3 SIMULATOR') this.hardwareVersion = 3 } else { diff --git a/targetconfig.json b/targetconfig.json index 89dd8225..c038de97 100644 --- a/targetconfig.json +++ b/targetconfig.json @@ -64,6 +64,8 @@ "mkleinsb/pxt-grove-soilmoisture-jacdac", "mkleinsb/pxt-grove-lcd/jacdac", "mkleinsb/co2-sensor-scd40/jacdac", + "mkleinsb/pxt-callicolor-jacdac", + "mkleinsb/pxt-calliserv-jacdac", "microsoft/pxt-bluetooth-max6675", "microsoft/pxt-bluetooth-midi", "microsoft/pxt-bluetooth-temperature-sensor", @@ -251,6 +253,7 @@ "mkleinsb/pxt-pca9685", "mkleinsb/pxt-seeed-temperature", "mkleinsb/pxt-serialmp3", + "mkleinsb/pxt-motor-jacdac", "calliope-edu/pxt-ki-in-schulen", "microsoft/pxt-microturtle", "microsoft/pxt-neopixel", @@ -574,6 +577,21 @@ "Jacdac" ] }, + "mkleinsb/pxt-callicolor-jacdac": { + "tags": [ + "Jacdac" + ] + }, + "mkleinsb/pxt-calliserv-jacdac": { + "tags": [ + "Jacdac" + ] + }, + "mkleinsb/pxt-motor-jacdac": { + "tags": [ + "Jacdac" + ] + }, "microsoft/pxt-bluetooth-max6675": {}, "microsoft/pxt-bluetooth-midi": { "tags": [ @@ -800,6 +818,29 @@ "extensionsToolboxDisallowDelete": [ ] }, + "hardwareOptions": [ + { + "name": "mini 1", + "description": "Calliope mini 1", + "imageUrl": "/static/devices/mini1.png", + "url": "https://docs.calliope.cc/tech/hardware/boardversionen/?v=1", + "variant": "v1" + }, + { + "name": "mini 2", + "description": "Calliope mini 2", + "imageUrl": "/static/devices/mini2.png", + "url": "https://docs.calliope.cc/tech/hardware/boardversionen/?v=2", + "variant": "v2" + }, + { + "name": "mini 3", + "description": "Calliope mini 3", + "imageUrl": "/static/devices/mini3.png", + "url": "https://docs.calliope.cc/tech/hardware/boardversionen/?v=3", + "variant": "v3" + } + ], "galleries": { "Tutorials": "calliope/tutorials", "Calliope Links": "calliope/links"