From 5dd37a14941243ce3bf218c35897d8f295816ac5 Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Fri, 24 Jun 2016 09:02:14 -0700 Subject: [PATCH] updated bluetooth docs page --- docs/reference/bluetooth.md | 16 +- .../_locales/microbit-bluetooth-strings.json | 264 ++++++++++++++++++ 2 files changed, 274 insertions(+), 6 deletions(-) create mode 100644 libs/microbit-bluetooth/_locales/microbit-bluetooth-strings.json diff --git a/docs/reference/bluetooth.md b/docs/reference/bluetooth.md index ef65f1a1..1961bbf5 100644 --- a/docs/reference/bluetooth.md +++ b/docs/reference/bluetooth.md @@ -1,18 +1,22 @@ # Bluetooth +Support for additional Bluetooth services. + ```cards -bluetooth.onBluetoothConnected(() => { - -}); -bluetooth.onBluetoothDisconnected(() => { - -}); bluetooth.startAccelerometerService(); bluetooth.startButtonService(); bluetooth.startIOPinService(); bluetooth.startLEDService(); bluetooth.startMagnetometerService(); bluetooth.startTemperatureService(); +bluetooth.uartRead(""); +bluetooth.uartWrite(""); +bluetooth.onBluetoothConnected(() => { + +}); +bluetooth.onBluetoothDisconnected(() => { + +}); ``` ```package diff --git a/libs/microbit-bluetooth/_locales/microbit-bluetooth-strings.json b/libs/microbit-bluetooth/_locales/microbit-bluetooth-strings.json new file mode 100644 index 00000000..c745fff9 --- /dev/null +++ b/libs/microbit-bluetooth/_locales/microbit-bluetooth-strings.json @@ -0,0 +1,264 @@ +{ + "Math.randomBoolean": "Generates a `true` or `false` value randomly, just like flipping a coin.", + "Math.randomBoolean|block": "pick random true or false", + "Math|block": "Math", + "String.fromCharCode": "Make a string from the given ASCII character code.", + "String.fromCharCode|block": "text from char code %code", + "String|block": "String", + "basic": "Provides access to basic micro:bit functionality.", + "basic.clearScreen": "Turn off all LEDs", + "basic.clearScreen|block": "clear screen", + "basic.forever": "Repeats the code forever in the background. On each iteration, allows other codes to run.", + "basic.forever|block": "forever", + "basic.pause": "Pause for the specified time in milliseconds", + "basic.pause|block": "pause (ms) %pause", + "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.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.showLeds": "Draws an image on the LED screen.", + "basic.showLeds|block": "show leds", + "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|block": "show|number %number", + "basic.showNumber|param|interval": "speed of scroll; eg: 150, 100, 200, -100", + "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|block": "show|string %text", + "basic.showString|param|interval": "how fast to shift characters; eg: 150, 100, 200, -100", + "basic.showString|param|text": "the text to scroll on the screen, eg: \"Hello!\"", + "basic|block": "basic", + "bluetooth": "Support for additional Bluetooth services.", + "bluetooth.onBluetoothConnected": "Register code to run when the micro:bit is connected to over Bluetooth", + "bluetooth.onBluetoothConnected|block": "on bluetooth connected", + "bluetooth.onBluetoothConnected|param|body": "Code to run when a Bluetooth connection is established", + "bluetooth.onBluetoothDisconnected": "Register code to run when a bluetooth connection to the micro:bit is lost", + "bluetooth.onBluetoothDisconnected|block": "on bluetooth disconnected", + "bluetooth.onBluetoothDisconnected|param|body": "Code to run when a Bluetooth connection is lost", + "bluetooth.startAccelerometerService": "Starts the Bluetooth accelerometer service", + "bluetooth.startAccelerometerService|block": "bluetooth accelerometer service", + "bluetooth.startButtonService": "Starts the Bluetooth button service", + "bluetooth.startButtonService|block": "bluetooth button service", + "bluetooth.startIOPinService": "Starts the Bluetooth IO pin service.", + "bluetooth.startIOPinService|block": "bluetooth io pin service", + "bluetooth.startLEDService": "Starts the Bluetooth LED service", + "bluetooth.startLEDService|block": "bluetooth led service", + "bluetooth.startMagnetometerService": "Starts the Bluetooth magnetometer service", + "bluetooth.startMagnetometerService|block": "bluetooth magnetometer service", + "bluetooth.startTemperatureService": "Starts the Bluetooth temperature service", + "bluetooth.startTemperatureService|block": "bluetooth temperature service", + "bluetooth.uartRead": "Reads from the Bluetooth UART service buffer, returning its contents when the specified delimiter character is encountered.", + "bluetooth.uartRead|block": "bluetooth uart read %del=bluetooth_uart_delimiter_conv", + "bluetooth.uartWrite": "Writes to the Bluetooth UART service buffer. From there the data is transmitted over Bluetooth to a connected device.", + "bluetooth.uartWrite|block": "bluetooth uart write %data", + "bluetooth|block": "bluetooth", + "control": "Runtime and event utilities.", + "control.inBackground": "Schedules code that run in the background.", + "control.inBackground|block": "run in background", + "control.reset": "Resets the BBC micro:bit.", + "control.reset|block": "reset", + "control|block": "control", + "game": "A single-LED sprite game engine", + "game.addScore": "Adds points to the current score", + "game.addScore|block": "change score by|%points", + "game.addScore|param|points": "amount of points to change, eg: 1", + "game.gameOver": "Displays a game over animation.", + "game.gameOver|block": "game over", + "game.score": "Gets the current score", + "game.score|block": "score", + "game.setScore": "Sets the current score value", + "game.setScore|param|value": "TODO", + "game.startCountdown": "Starts a game countdown timer", + "game.startCountdown|block": "start countdown|(ms) %duration", + "game.startCountdown|param|ms": "countdown duration in milliseconds, eg: 10000", + "game|block": "game", + "images": "Creation, manipulation and display of LED images.", + "images.createBigImage": "Creates an image with 2 frames.", + "images.createBigImage|block": "create big image", + "images.createImage": "Creates an image that fits on the LED screen.", + "images.createImage|block": "create image", + "images|block": "images", + "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|block": "acceleration (mg)|%NAME", + "input.acceleration|param|dimension": "TODO", + "input.buttonIsPressed": "Get the button state (pressed or not) for ``A`` and ``B``.", + "input.buttonIsPressed|block": "button|%NAME|is pressed", + "input.calibrate": "Obsolete, compass calibration is automatic.", + "input.compassHeading": "Get the current compass compass heading in degrees.", + "input.compassHeading|block": "compass heading (°)", + "input.lightLevel": "Reads the light level applied to the LED screen in a range from ``0`` (dark) to ``255`` bright.", + "input.lightLevel|block": "light level", + "input.magneticForce": "Get the magnetic force value in ``micro-Teslas`` (``µT``). This function is not supported in the simulator.", + "input.magneticForce|block": "magnetic force (µT)|%NAME", + "input.magneticForce|param|dimension": "TODO", + "input.onButtonPressed": "Do something when a button (``A``, ``B`` or both ``A+B``) is pressed", + "input.onButtonPressed|block": "on button|%NAME|pressed", + "input.onButtonPressed|param|body": "TODO", + "input.onButtonPressed|param|button": "TODO", + "input.onGesture": "Attaches code to run when the screen is facing up.", + "input.onGesture|block": "on |%NAME", + "input.onGesture|param|body": "TODO", + "input.onLogoDown": "Attaches code to run when the logo is oriented downwards and the board is vertical.", + "input.onLogoDown|param|body": "TODO", + "input.onLogoUp": "Attaches code to run when the logo is oriented upwards and the board is vertical.", + "input.onLogoUp|param|body": "TODO", + "input.onPinPressed": "Do something when a pin(``P0``, ``P1`` or both ``P2``) is pressed.", + "input.onPinPressed|block": "on pin|%NAME|pressed", + "input.onPinPressed|param|body": "TODO", + "input.onPinPressed|param|name": "TODO", + "input.onScreenDown": "Attaches code to run when the screen is facing down.", + "input.onScreenDown|param|body": "TODO", + "input.onScreenUp": "Attaches code to run when the screen is facing up.", + "input.onScreenUp|param|body": "TODO", + "input.onShake": "Attaches code to run when the device is shaken.", + "input.onShake|param|body": "TODO", + "input.pinIsPressed": "Get the pin state (pressed or not). Requires to hold the ground to close the circuit.", + "input.pinIsPressed|block": "pin|%NAME|is pressed", + "input.pinIsPressed|param|name": "pin used to detect the touch", + "input.rotation": "The pitch of the device, rotation along the ``x-axis``, in degrees.", + "input.rotation|block": "rotation (°)|%NAME", + "input.rotation|param|kind": "TODO", + "input.runningTime": "Gets the number of milliseconds elapsed since power on.", + "input.runningTime|block": "running time (ms)", + "input.setAccelerometerRange": "Sets the accelerometer sample range in gravities.", + "input.setAccelerometerRange|block": "set accelerometer|range %range", + "input.setAccelerometerRange|param|range": "a value describe the maximum strengh of acceleration measured", + "input.temperature": "Gets the temperature in Celsius degrees (°C).", + "input.temperature|block": "temperature (°C)", + "input|block": "input", + "led": "Control of the LED screen.", + "led.brightness": "Get the screen brightness from 0 (off) to 255 (full bright).", + "led.brightness|block": "brightness", + "led.fadeIn": "Fades in the screen display.", + "led.fadeIn|param|ms": "TODO", + "led.fadeOut": "Fades out the screen brightness.", + "led.fadeOut|param|ms": "TODO", + "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|block": "plot bar graph of %value |up to %high", + "led.plotBarGraph|param|high": "maximum value. If 0, maximum value adjusted automatically, eg: 0", + "led.plotBarGraph|param|value": "current value to plot", + "led.plot|block": "plot|x %x|y %y", + "led.plot|param|x": "TODO", + "led.plot|param|y": "TODO", + "led.point": "Get the on/off state of the specified LED using x, y coordinates. (0,0) is upper left.", + "led.point|block": "point|x %x|y %y", + "led.point|param|x": "TODO", + "led.point|param|y": "TODO", + "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|block": "set brightness %value", + "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": "TODO", + "led.stopAnimation": "Cancels the current animation and clears other pending animations.", + "led.stopAnimation|block": "stop animation", + "led.toggle": "Toggles a particular pixel", + "led.toggleAll": "Inverts the current LED display", + "led.toggle|param|x": "TODO", + "led.toggle|param|y": "TODO", + "led.unplot": "Turn off the specified LED using x, y coordinates (x is horizontal, y is vertical). (0,0) is upper left.", + "led.unplot|block": "unplot|x %x|y %y", + "led.unplot|param|x": "TODO", + "led.unplot|param|y": "TODO", + "led|block": "led", + "music": "Generation of music tones through pin ``P0``.", + "music.beat": "Returns the duration of a beat in milli-seconds", + "music.beat|block": "%fraction|beat", + "music.changeTempoBy": "Change the tempo by the specified amount", + "music.changeTempoBy|block": "change tempo by (bpm)|%value", + "music.changeTempoBy|param|bpm": "The change in beats per minute to the tempo, eg: 20", + "music.noteFrequency": "Gets the frequency of a note.", + "music.noteFrequency|block": "%note", + "music.noteFrequency|param|name": "the note name", + "music.playTone": "Plays a tone through pin ``P0`` for the given duration.", + "music.playTone|block": "play|tone %note=device_note|for %duration=device_beat", + "music.playTone|param|frequency": "pitch of the tone to play in Hertz (Hz)", + "music.playTone|param|ms": "tone duration in milliseconds (ms)", + "music.rest": "Rests (plays nothing) for a specified time through pin ``P0``.", + "music.rest|block": "rest(ms)|%duration=device_beat", + "music.rest|param|ms": "rest duration in milliseconds (ms)", + "music.ringTone": "Plays a tone through pin ``P0``.", + "music.ringTone|block": "ring tone (Hz)|%note=device_note", + "music.ringTone|param|frequency": "pitch of the tone to play in Hertz (Hz)", + "music.setTempo": "Sets the tempo to the specified amount", + "music.setTempo|block": "set tempo to (bpm)|%value", + "music.setTempo|param|bpm": "The new tempo in beats per minute, eg: 120", + "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.tempo|block": "tempo (bpm)", + "music|block": "music", + "pins": "Control currents in Pins for analog/digital signals, servos, i2c, ...", + "pins.analogPitch": "Emits a Pulse-width modulation (PWM) signal to the current pitch pin. Use `analog set pitch pin` to define the pitch pin.", + "pins.analogPitch|param|frequency": "TODO", + "pins.analogPitch|param|ms": "TODO", + "pins.analogReadPin": "Read the connector value as analog, that is, as a value comprised between 0 and 1023.", + "pins.analogReadPin|block": "analog read|pin %name", + "pins.analogReadPin|param|name": "pin to write to", + "pins.analogSetPeriod": "Configures the Pulse-width modulation (PWM) of the analog output to the given value in **microseconds** or `1/1000` milliseconds.\nIf this pin is not configured as an analog output (using `analog write pin`), the operation has no effect.", + "pins.analogSetPeriod|block": "analog set period|pin %pin|to (µs)%micros", + "pins.analogSetPeriod|param|micros": "period in micro seconds. eg:20000", + "pins.analogSetPeriod|param|name": "analog pin to set period to", + "pins.analogSetPitchPin": "Sets the pin used when using `pins->analog pitch`.", + "pins.analogSetPitchPin|param|name": "TODO", + "pins.analogWritePin": "Set the connector value as analog. Value must be comprised between 0 and 1023.", + "pins.analogWritePin|block": "analog write|pin %name|to %value", + "pins.analogWritePin|param|name": "pin name to write to", + "pins.analogWritePin|param|value": "value to write to the pin between ``0`` and ``1023``. eg:1023,0", + "pins.digitalReadPin": "Read the specified pin or connector as either 0 or 1", + "pins.digitalReadPin|block": "digital read|pin %name", + "pins.digitalReadPin|param|name": "pin to read from", + "pins.digitalWritePin": "Set a pin or connector value to either 0 or 1.", + "pins.digitalWritePin|block": "digital write|pin %name|to %value", + "pins.digitalWritePin|param|name": "pin to write to", + "pins.digitalWritePin|param|value": "value to set on the pin, 1 eg,0", + "pins.i2cReadNumber": "Read one number from 7-bit I2C address.", + "pins.i2cReadNumber|block": "i2c read number|at address %address|of format %format=i2c_sizeof", + "pins.i2cWriteNumber": "Write one number to a 7-bit I2C address.", + "pins.i2cWriteNumber|block": "i2c write number|at address %address|with value %value|of format %format=i2c_sizeof", + "pins.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.", + "pins.map|block": "map %value|from low %fromLow|from high %fromHigh|to low %toLow|to high %toHigh", + "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": "Configures this pin to a digital input, and generates events where the timestamp is the duration that this pin was either ``high`` or ``low``.", + "pins.onPulsed|block": "on|pin %pin|pulsed %pulse", + "pins.pulseDuration": "Gets the duration of the last pulse in micro-seconds. This function should be called from a ``onPulsed`` handler.", + "pins.pulseDuration|block": "pulse duration (µs)", + "pins.servoSetPulse": "Configures this IO pin as an analog/pwm output, configures the period to be 20 ms, and sets the pulse width, based on the value it is given **microseconds** or `1/1000` milliseconds.", + "pins.servoSetPulse|block": "servo set pulse|pin %value|to (µs) %micros", + "pins.servoSetPulse|param|micros": "pulse duration in micro seconds, eg:1500", + "pins.servoSetPulse|param|name": "pin name", + "pins.servoWritePin": "Writes 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|block": "servo write|pin %name|to %value", + "pins.servoWritePin|param|name": "pin to write to", + "pins.servoWritePin|param|value": "angle or rotation speed, eg:180,90,0", + "pins.setPull": "Configures the pull of this pin.", + "pins.setPull|block": "set pull|pin %pin|to %pull", + "pins.setPull|param|name": "pin to set the pull mode on", + "pins.setPull|param|pull": "one of the mbed pull configurations: PullUp, PullDown, PullNone ", + "pins|block": "pins", + "serial": "Reading and writing data over a serial connection.", + "serial.readLine": "Reads a line of text from the serial port.", + "serial.readLine|block": "serial read line", + "serial.redirect": "Dynamically configuring the serial instance to use pins other than USBTX and USBRX.", + "serial.redirect|block": "serial redirect to|TX %tx|RX %rx|at baud rate %rate", + "serial.redirect|param|rx": "the new reception pin", + "serial.redirect|param|tx": "the new transmission pins", + "serial.writeLine": "Prints a line of text to the serial", + "serial.writeLine|block": "serial|write line %text", + "serial.writeNumber": "Prints a numeric value to the serial", + "serial.writeNumber|block": "serial|write number %value", + "serial.writeString": "Sends a piece of text through Serial connection.", + "serial.writeString|block": "serial write string %text", + "serial.writeValue": "Writes a ``name: value`` pair line to the serial.", + "serial.writeValue|block": "serial|write value %name|= %value", + "serial.writeValue|param|name": "name of the value stream, eg: x", + "serial.writeValue|param|value": "to write", + "serial|block": "serial" +} \ No newline at end of file