Map and clean deprecated functions (#175)
* add image and deprecated arrow functions * update locales * map basic.showArrow * map arrow blocks * map & remove arrow images * remove arrow blocks * update locales * remove & patch: rgbw -> rgb button/pin pressed -> button/pin event loudness -> soundLevel * update ts mappings for arrows * add wip ts patch rules * update .blocks files * use Click instead of Down as default in Documentation and tests * patch test.blocks * fix lowercase name tag * update test.blocks * update blocks test files * update blocks test files * format block files * pass blocks file tests * fix ts mapping * fix color.defl value closes https://github.com/microsoft/pxt-calliope/issues/136 * fix ts mappings - add optional spacing at the end of rgbw() - map up to v4.0.19 * add suggested changes * replace innerText by textContent Co-authored-by: JW <gitkraken@juriwolf.de> Co-authored-by: Juri <info@juriwolf.de>
This commit is contained in:
		@@ -254,11 +254,6 @@
 | 
			
		||||
  "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.rgbw": "Converts red, green, blue channels into a RGB color",
 | 
			
		||||
  "basic.rgbw|param|blue": "value of the blue channel between 0 and 255. eg: 255",
 | 
			
		||||
  "basic.rgbw|param|green": "value of the green channel between 0 and 255. eg: 255",
 | 
			
		||||
  "basic.rgbw|param|red": "value of the red channel between 0 and 255. eg: 255",
 | 
			
		||||
  "basic.rgbw|param|white": "value of the white channel between 0 and 255. eg: 0",
 | 
			
		||||
  "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",
 | 
			
		||||
@@ -441,25 +436,15 @@
 | 
			
		||||
  "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.loudness": "gets the level of loudness from 0 (silent) to 255 (loud)",
 | 
			
		||||
  "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",
 | 
			
		||||
@@ -700,7 +685,7 @@
 | 
			
		||||
  "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.removeKeyInt": "Deletes the key from the non volatile storage",
 | 
			
		||||
  "storage.removeKeyInt|param|key": "the key for accesing the value",
 | 
			
		||||
  "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"
 | 
			
		||||
}
 | 
			
		||||
@@ -276,7 +276,6 @@
 | 
			
		||||
  "basic.color|block": "%c",
 | 
			
		||||
  "basic.forever|block": "forever",
 | 
			
		||||
  "basic.pause|block": "pause (ms) %pause",
 | 
			
		||||
  "basic.rgbw|block": "red %red|green %green|blue %blue|white %white",
 | 
			
		||||
  "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",
 | 
			
		||||
@@ -344,13 +343,9 @@
 | 
			
		||||
  "input.isCalibratedCompass|block": "is compass calibrated",
 | 
			
		||||
  "input.isGesture|block": "is %gesture gesture",
 | 
			
		||||
  "input.lightLevel|block": "light level",
 | 
			
		||||
  "input.loudness|block": "Loudness",
 | 
			
		||||
  "input.magneticForce|block": "magnetic force (µT)|%NAME",
 | 
			
		||||
  "input.onButtonEvent|block": "on button %NAME| %eventType=control_button_event_value_id",
 | 
			
		||||
  "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=control_button_event_value_id",
 | 
			
		||||
  "input.pinIsPressed|block": "pin %NAME|is pressed",
 | 
			
		||||
  "input.rotation|block": "rotation (°)|%NAME",
 | 
			
		||||
@@ -451,7 +446,7 @@
 | 
			
		||||
  "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.removeKeyInt|block": "Clear number %key",
 | 
			
		||||
  "storage.removeNumber|block": "Clear number %key",
 | 
			
		||||
  "storage.remove|block": "remove %key",
 | 
			
		||||
  "storage|block": "storage",
 | 
			
		||||
  "{id:category}AnalogInPin": "AnalogInPin",
 | 
			
		||||
 
 | 
			
		||||
@@ -118,6 +118,7 @@ namespace basic {
 | 
			
		||||
    */
 | 
			
		||||
    //% blockId=device_set_led_color
 | 
			
		||||
    //% block="set led to %color=colorNumberPicker"
 | 
			
		||||
    //% color.defl=0xff0000
 | 
			
		||||
    //% weight=10
 | 
			
		||||
    //% group="RGB LED"
 | 
			
		||||
    void setLedColor(int color) {
 | 
			
		||||
 
 | 
			
		||||
@@ -82,22 +82,6 @@ namespace basic {
 | 
			
		||||
        return ((red & 0xFF) << 16) | ((green & 0xFF) << 8) | (blue & 0xFF);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Converts red, green, blue channels into a RGB color
 | 
			
		||||
     * @param red value of the red channel between 0 and 255. eg: 255
 | 
			
		||||
     * @param green value of the green channel between 0 and 255. eg: 255
 | 
			
		||||
     * @param blue value of the blue channel between 0 and 255. eg: 255
 | 
			
		||||
     * @param white value of the white channel between 0 and 255. eg: 0
 | 
			
		||||
     */
 | 
			
		||||
    //% weight=2
 | 
			
		||||
    //% blockId="core_rgbw" block="red %red|green %green|blue %blue|white %white"
 | 
			
		||||
    //% group="RGB LED"
 | 
			
		||||
    //% deprecated=true
 | 
			
		||||
    export function rgbw(red: number, green: number, blue: number, white:number): number {
 | 
			
		||||
        return ((white & 0xFF) << 24) | ((red & 0xFF) << 16) | ((green & 0xFF) << 8) | (blue & 0xFF);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 
 | 
			
		||||
@@ -1,53 +1,125 @@
 | 
			
		||||
<xml xmlns="http://www.w3.org/1999/xhtml">
 | 
			
		||||
  <variables>
 | 
			
		||||
    <variable type="" id="PGGhch1kuMF##st8~wFr">receivedNumber</variable>
 | 
			
		||||
  </variables>
 | 
			
		||||
  <block type="pxt-on-start" x="77" y="38">
 | 
			
		||||
    <statement name="HANDLER">
 | 
			
		||||
      <block type="device_show_number">
 | 
			
		||||
        <value name="number">
 | 
			
		||||
          <shadow type="math_number">
 | 
			
		||||
            <field name="NUM">12</field>
 | 
			
		||||
          </shadow>
 | 
			
		||||
        </value>
 | 
			
		||||
        <next>
 | 
			
		||||
          <block type="basic_show_icon">
 | 
			
		||||
            <field name="i">IconNames.Umbrella</field>
 | 
			
		||||
            <next>
 | 
			
		||||
              <block type="device_print_message">
 | 
			
		||||
                <value name="text">
 | 
			
		||||
                  <shadow type="text">
 | 
			
		||||
                    <field name="TEXT">hi!</field>
 | 
			
		||||
                  </shadow>
 | 
			
		||||
                </value>
 | 
			
		||||
                <next>
 | 
			
		||||
                  <block type="device_pause">
 | 
			
		||||
                    <value name="pause">
 | 
			
		||||
                      <shadow type="math_number">
 | 
			
		||||
                        <field name="NUM">100</field>
 | 
			
		||||
                      </shadow>
 | 
			
		||||
                    </value>
 | 
			
		||||
                    <next>
 | 
			
		||||
                      <block type="device_clear_display">
 | 
			
		||||
                        <next>
 | 
			
		||||
                          <block type="device_pause">
 | 
			
		||||
                            <value name="pause">
 | 
			
		||||
                              <shadow type="math_number">
 | 
			
		||||
                                <field name="NUM">100</field>
 | 
			
		||||
                              </shadow>
 | 
			
		||||
                            </value>
 | 
			
		||||
                          </block>
 | 
			
		||||
                        </next>
 | 
			
		||||
                      </block>
 | 
			
		||||
                    </next>
 | 
			
		||||
                  </block>
 | 
			
		||||
                </next>
 | 
			
		||||
              </block>
 | 
			
		||||
            </next>
 | 
			
		||||
          </block>
 | 
			
		||||
        </next>
 | 
			
		||||
      </block>
 | 
			
		||||
    </statement>
 | 
			
		||||
  </block>
 | 
			
		||||
  <block type="device_forever" x="418" y="25"></block>
 | 
			
		||||
<xml xmlns="https://developers.google.com/blockly/xml">
 | 
			
		||||
        <variables>
 | 
			
		||||
                <variable id="PGGhch1kuMF##st8~wFr">receivedNumber</variable>
 | 
			
		||||
        </variables>
 | 
			
		||||
        <block type="pxt-on-start" x="-307" y="-128">
 | 
			
		||||
                <statement name="HANDLER">
 | 
			
		||||
                        <block type="device_show_number">
 | 
			
		||||
                                <value name="number">
 | 
			
		||||
                                        <shadow type="math_number">
 | 
			
		||||
                                                <field name="NUM">12</field>
 | 
			
		||||
                                        </shadow>
 | 
			
		||||
                                </value>
 | 
			
		||||
                                <next>
 | 
			
		||||
                                        <block type="device_show_number">
 | 
			
		||||
                                                <value name="number">
 | 
			
		||||
                                                        <shadow type="math_number">
 | 
			
		||||
                                                                <field name="NUM">0</field>
 | 
			
		||||
                                                        </shadow>
 | 
			
		||||
                                                </value>
 | 
			
		||||
                                                <next>
 | 
			
		||||
                                                        <block type="basic_show_icon">
 | 
			
		||||
                                                                <field name="i">IconNames.Umbrella</field>
 | 
			
		||||
                                                                <next>
 | 
			
		||||
                                                                        <block type="basic_show_icon">
 | 
			
		||||
                                                                                <field name="i">IconNames.Heart</field>
 | 
			
		||||
                                                                                                                                                                <next>
 | 
			
		||||
                                                                                        <block type="device_print_message">
 | 
			
		||||
                                                                                                <value name="text">
 | 
			
		||||
                                                                                                        <shadow type="text">
 | 
			
		||||
                                                                                                                <field name="TEXT">hi!</field>
 | 
			
		||||
                                                                                                        </shadow>
 | 
			
		||||
                                                                                                </value>
 | 
			
		||||
                                                                                                <next>
 | 
			
		||||
                                                                                                        <block type="device_print_message">
 | 
			
		||||
                                                                                                                <value name="text">
 | 
			
		||||
                                                                                                                        <shadow type="text">
 | 
			
		||||
                                                                                                                                <field name="TEXT">hi!</field>
 | 
			
		||||
                                                                                                                        </shadow>
 | 
			
		||||
                                                                                                                </value>
 | 
			
		||||
                                                                                                                <next>
 | 
			
		||||
                                                                                                                        <block type="device_pause">
 | 
			
		||||
                                                                                                                                <value name="pause">
 | 
			
		||||
                                                                                                                                        <shadow type="math_number">
 | 
			
		||||
                                                                                                                                                <field name="NUM">100</field>
 | 
			
		||||
                                                                                                                                        </shadow>
 | 
			
		||||
                                                                                                                                </value>
 | 
			
		||||
                                                                                                                                <next>
 | 
			
		||||
                                                                                                                                        <block type="device_clear_display">
 | 
			
		||||
                                                                                                                                                <next>
 | 
			
		||||
                                                                                                                                                        <block type="device_show_leds">
 | 
			
		||||
                                                                                                                                                                <field name="LEDS">`
 | 
			
		||||
        . . . . # 
 | 
			
		||||
        . . . # . 
 | 
			
		||||
        . . # . . 
 | 
			
		||||
        . # . . . 
 | 
			
		||||
        # . . . .
 | 
			
		||||
        `</field>
 | 
			
		||||
                                                                                                                                                                <next>
 | 
			
		||||
                                                                                                                                                                        <block type="device_set_led_color">
 | 
			
		||||
                                                                                                                                                                                <value name="color">
 | 
			
		||||
                                                                                                                                                                                        <shadow type="colorNumberPicker">
 | 
			
		||||
                                                                                                                                                                                                <field name="value">0xff0000</field>
 | 
			
		||||
                                                                                                                                                                                        </shadow>
 | 
			
		||||
                                                                                                                                                                                </value>
 | 
			
		||||
                                                                                                                                                                                <next>
 | 
			
		||||
                                                                                                                                                                                        <block type="device_show_number">
 | 
			
		||||
                                                                                                                                                                                                <value name="number">
 | 
			
		||||
                                                                                                                                                                                                        <shadow type="math_number">
 | 
			
		||||
                                                                                                                                                                                                                <field name="NUM">0</field>
 | 
			
		||||
                                                                                                                                                                                                        </shadow>
 | 
			
		||||
                                                                                                                                                                                                        <block type="core_rgb">
 | 
			
		||||
                                                                                                                                                                                                                <value name="red">
 | 
			
		||||
                                                                                                                                                                                                                        <shadow type="math_number">
 | 
			
		||||
                                                                                                                                                                                                                                <field name="NUM">255</field>
 | 
			
		||||
                                                                                                                                                                                                                        </shadow>
 | 
			
		||||
                                                                                                                                                                                                                </value>
 | 
			
		||||
                                                                                                                                                                                                                <value name="green">
 | 
			
		||||
                                                                                                                                                                                                                        <shadow type="math_number">
 | 
			
		||||
                                                                                                                                                                                                                                <field name="NUM">255</field>
 | 
			
		||||
                                                                                                                                                                                                                        </shadow>
 | 
			
		||||
                                                                                                                                                                                                                </value>
 | 
			
		||||
                                                                                                                                                                                                                <value name="blue">
 | 
			
		||||
                                                                                                                                                                                                                        <shadow type="math_number">
 | 
			
		||||
                                                                                                                                                                                                                                <field name="NUM">255</field>
 | 
			
		||||
                                                                                                                                                                                                                        </shadow>
 | 
			
		||||
                                                                                                                                                                                                                </value>
 | 
			
		||||
                                                                                                                                                                                                        </block>
 | 
			
		||||
                                                                                                                                                                                                </value>
 | 
			
		||||
                                                                                                                                                                                                <next>
 | 
			
		||||
                                                                                                                                                                                                        <block type="basic_show_compass">
 | 
			
		||||
                                                                                                                                                                                                                <value name="interval">
 | 
			
		||||
                                                                                                                                                                                                                        <shadow type="timePicker">
 | 
			
		||||
                                                                                                                                                                                                                                <field name="ms">600</field>
 | 
			
		||||
                                                                                                                                                                                                                        </shadow>
 | 
			
		||||
                                                                                                                                                                                                                </value>
 | 
			
		||||
                                                                                                                                                                                                                <next>
 | 
			
		||||
                                                                                                                                                                                                                        <block type="device_turn_rgb_led_off" />
 | 
			
		||||
                                                                                                                                                                                                                </next>
 | 
			
		||||
                                                                                                                                                                                                        </block>
 | 
			
		||||
                                                                                                                                                                                                </next>
 | 
			
		||||
                                                                                                                                                                                        </block>
 | 
			
		||||
                                                                                                                                                                                </next>
 | 
			
		||||
                                                                                                                                                                        </block>
 | 
			
		||||
                                                                                                                                                                </next>
 | 
			
		||||
                                                                                                                                                        </block>
 | 
			
		||||
                                                                                                                                                </next>
 | 
			
		||||
                                                                                                                                        </block>
 | 
			
		||||
                                                                                                                                </next>
 | 
			
		||||
                                                                                                                        </block>
 | 
			
		||||
                                                                                                                </next>
 | 
			
		||||
                                                                                                        </block>
 | 
			
		||||
                                                                                                </next>
 | 
			
		||||
                                                                                        </block>
 | 
			
		||||
                                                                                </next>
 | 
			
		||||
                                                                        </block>
 | 
			
		||||
                                                                </next>
 | 
			
		||||
                                                        </block>
 | 
			
		||||
                                                </next>
 | 
			
		||||
                                        </block>
 | 
			
		||||
                                </next>
 | 
			
		||||
                        </block>
 | 
			
		||||
                </statement>
 | 
			
		||||
        </block>
 | 
			
		||||
        <block type="device_forever" x="412" y="-30" />
 | 
			
		||||
</xml>
 | 
			
		||||
@@ -1,38 +1,53 @@
 | 
			
		||||
<xml xmlns="http://www.w3.org/1999/xhtml">
 | 
			
		||||
  <variables>
 | 
			
		||||
    <variable type="" id="tgDN]qF_Ah1Z*?=|+?^Y">item</variable>
 | 
			
		||||
  </variables>
 | 
			
		||||
  <block type="pxt-on-start" x="-29" y="116">
 | 
			
		||||
    <statement name="HANDLER">
 | 
			
		||||
      <block type="device_show_image_offset">
 | 
			
		||||
        <value name="sprite">
 | 
			
		||||
          <block type="builtin_image">
 | 
			
		||||
            <field name="i">IconNames.Heart</field>
 | 
			
		||||
          </block>
 | 
			
		||||
        </value>
 | 
			
		||||
        <value name="offset">
 | 
			
		||||
          <shadow type="math_number" id="KX(1%=^vQUd=Q`UHhD*n">
 | 
			
		||||
            <field name="NUM">0</field>
 | 
			
		||||
          </shadow>
 | 
			
		||||
        </value>
 | 
			
		||||
        <next>
 | 
			
		||||
          <block type="device_scroll_image">
 | 
			
		||||
            <value name="frameoffset">
 | 
			
		||||
              <shadow type="math_number">
 | 
			
		||||
                <field name="NUM">1</field>
 | 
			
		||||
              </shadow>
 | 
			
		||||
            </value>
 | 
			
		||||
            <value name="delay">
 | 
			
		||||
              <shadow type="math_number">
 | 
			
		||||
                <field name="NUM">200</field>
 | 
			
		||||
              </shadow>
 | 
			
		||||
            </value>
 | 
			
		||||
          </block>
 | 
			
		||||
        </next>
 | 
			
		||||
      </block>
 | 
			
		||||
    </statement>
 | 
			
		||||
  </block>
 | 
			
		||||
  <block type="variables_get" disabled="true" x="145" y="168">
 | 
			
		||||
    <field name="VAR" id="tgDN]qF_Ah1Z*?=|+?^Y" variabletype="">item</field>
 | 
			
		||||
  </block>
 | 
			
		||||
<xml xmlns="https://developers.google.com/blockly/xml">
 | 
			
		||||
    <variables>
 | 
			
		||||
        <variable id="tgDN]qF_Ah1Z*?=|+?^Y">item</variable>
 | 
			
		||||
    </variables>
 | 
			
		||||
    <block type="pxt-on-start" x="48" y="151">
 | 
			
		||||
        <statement name="HANDLER">
 | 
			
		||||
            <block type="variables_set">
 | 
			
		||||
                <field name="VAR" id="tgDN]qF_Ah1Z*?=|+?^Y">item</field>
 | 
			
		||||
                <value name="VALUE">
 | 
			
		||||
                    <shadow type="math_number">
 | 
			
		||||
                        <field name="NUM">0</field>
 | 
			
		||||
                    </shadow>
 | 
			
		||||
                    <block type="builtin_image">
 | 
			
		||||
                        <field name="i">IconNames.Yes</field>
 | 
			
		||||
                    </block>
 | 
			
		||||
                </value>
 | 
			
		||||
                <next>
 | 
			
		||||
                    <block type="device_show_image_offset">
 | 
			
		||||
                        <value name="sprite">
 | 
			
		||||
                            <block type="builtin_image">
 | 
			
		||||
                                <field name="i">IconNames.Heart</field>
 | 
			
		||||
                            </block>
 | 
			
		||||
                        </value>
 | 
			
		||||
                        <value name="offset">
 | 
			
		||||
                            <shadow type="math_number">
 | 
			
		||||
                                <field name="NUM">0</field>
 | 
			
		||||
                            </shadow>
 | 
			
		||||
                        </value>
 | 
			
		||||
                        <next>
 | 
			
		||||
                            <block type="device_scroll_image">
 | 
			
		||||
                                <value name="sprite">
 | 
			
		||||
                                    <block type="variables_get">
 | 
			
		||||
                                        <field name="VAR" id="tgDN]qF_Ah1Z*?=|+?^Y">item</field>
 | 
			
		||||
                                    </block>
 | 
			
		||||
                                </value>
 | 
			
		||||
                                <value name="frameoffset">
 | 
			
		||||
                                    <shadow type="math_number">
 | 
			
		||||
                                        <field name="NUM">1</field>
 | 
			
		||||
                                    </shadow>
 | 
			
		||||
                                </value>
 | 
			
		||||
                                <value name="delay">
 | 
			
		||||
                                    <shadow type="math_number">
 | 
			
		||||
                                        <field name="NUM">200</field>
 | 
			
		||||
                                    </shadow>
 | 
			
		||||
                                </value>
 | 
			
		||||
                            </block>
 | 
			
		||||
                        </next>
 | 
			
		||||
                    </block>
 | 
			
		||||
                </next>
 | 
			
		||||
            </block>
 | 
			
		||||
        </statement>
 | 
			
		||||
    </block>
 | 
			
		||||
</xml>
 | 
			
		||||
@@ -1,132 +1,141 @@
 | 
			
		||||
<xml xmlns="http://www.w3.org/1999/xhtml">
 | 
			
		||||
  <variables>
 | 
			
		||||
    <variable type="" id="wUkGVHoc@p^mter~Rc7h">item</variable>
 | 
			
		||||
    <variable type="" id=")f$ml.CVl6|1^?sPWl:;">sdfsadf</variable>
 | 
			
		||||
  </variables>
 | 
			
		||||
  <block type="device_button_event" x="-6" y="17">
 | 
			
		||||
    <field name="NAME">Button.AB</field>
 | 
			
		||||
    <statement name="HANDLER">
 | 
			
		||||
      <block type="variables_set">
 | 
			
		||||
        <field name="VAR" id="wUkGVHoc@p^mter~Rc7h" variabletype="">item</field>
 | 
			
		||||
        <value name="VALUE">
 | 
			
		||||
          <shadow type="math_number" id="*jGI?[NsA.f}=qk0RHHf">
 | 
			
		||||
            <field name="NUM">0</field>
 | 
			
		||||
          </shadow>
 | 
			
		||||
          <block type="device_get_button2">
 | 
			
		||||
            <field name="NAME">Button.B</field>
 | 
			
		||||
          </block>
 | 
			
		||||
<xml xmlns="https://developers.google.com/blockly/xml">
 | 
			
		||||
    <variables>
 | 
			
		||||
        <variable id="wUkGVHoc@p^mter~Rc7h">item</variable>
 | 
			
		||||
        <variable id=")f$ml.CVl6|1^?sPWl:;">sdfsadf</variable>
 | 
			
		||||
    </variables>
 | 
			
		||||
    <block type="device_button_selected_event" x="0" y="0">
 | 
			
		||||
        <field name="NAME">Button.AB</field>
 | 
			
		||||
        <value name="eventType">
 | 
			
		||||
            <shadow type="control_button_event_value_id"></shadow>
 | 
			
		||||
        </value>
 | 
			
		||||
        <next>
 | 
			
		||||
          <block type="variables_set">
 | 
			
		||||
            <field name="VAR" id="wUkGVHoc@p^mter~Rc7h" variabletype="">item</field>
 | 
			
		||||
            <value name="VALUE">
 | 
			
		||||
              <shadow type="math_number" id="*jGI?[NsA.f}=qk0RHHf">
 | 
			
		||||
                <field name="NUM">0</field>
 | 
			
		||||
              </shadow>
 | 
			
		||||
              <block type="device_pin_is_pressed">
 | 
			
		||||
                <field name="NAME">TouchPin.P1</field>
 | 
			
		||||
              </block>
 | 
			
		||||
            </value>
 | 
			
		||||
            <next>
 | 
			
		||||
              <block type="variables_set">
 | 
			
		||||
                <field name="VAR" id=")f$ml.CVl6|1^?sPWl:;" variabletype="">sdfsadf</field>
 | 
			
		||||
        <statement name="HANDLER">
 | 
			
		||||
            <block type="variables_set">
 | 
			
		||||
                <field name="VAR" id="wUkGVHoc@p^mter~Rc7h">item</field>
 | 
			
		||||
                <value name="VALUE">
 | 
			
		||||
                  <shadow type="math_number" id="bZBPUCLiZ6#D@e_[Y`:0">
 | 
			
		||||
                    <field name="NUM">0</field>
 | 
			
		||||
                  </shadow>
 | 
			
		||||
                  <block type="device_acceleration">
 | 
			
		||||
                    <field name="NAME">Dimension.Y</field>
 | 
			
		||||
                  </block>
 | 
			
		||||
                    <shadow type="math_number">
 | 
			
		||||
                        <field name="NUM">0</field>
 | 
			
		||||
                    </shadow>
 | 
			
		||||
                    <block type="device_get_button2">
 | 
			
		||||
                        <field name="NAME">Button.B</field>
 | 
			
		||||
                    </block>
 | 
			
		||||
                </value>
 | 
			
		||||
                <next>
 | 
			
		||||
                  <block type="variables_set">
 | 
			
		||||
                    <field name="VAR" id=")f$ml.CVl6|1^?sPWl:;" variabletype="">sdfsadf</field>
 | 
			
		||||
                    <value name="VALUE">
 | 
			
		||||
                      <shadow type="math_number" id="bZBPUCLiZ6#D@e_[Y`:0">
 | 
			
		||||
                        <field name="NUM">0</field>
 | 
			
		||||
                      </shadow>
 | 
			
		||||
                      <block type="device_get_light_level"></block>
 | 
			
		||||
                    </value>
 | 
			
		||||
                    <next>
 | 
			
		||||
                      <block type="variables_set">
 | 
			
		||||
                        <field name="VAR" id=")f$ml.CVl6|1^?sPWl:;" variabletype="">sdfsadf</field>
 | 
			
		||||
                    <block type="variables_set">
 | 
			
		||||
                        <field name="VAR" id="wUkGVHoc@p^mter~Rc7h">item</field>
 | 
			
		||||
                        <value name="VALUE">
 | 
			
		||||
                          <shadow type="math_number" id="bZBPUCLiZ6#D@e_[Y`:0">
 | 
			
		||||
                            <field name="NUM">0</field>
 | 
			
		||||
                          </shadow>
 | 
			
		||||
                          <block type="device_heading"></block>
 | 
			
		||||
                            <shadow type="math_number">
 | 
			
		||||
                                <field name="NUM">0</field>
 | 
			
		||||
                            </shadow>
 | 
			
		||||
                            <block type="device_pin_is_pressed">
 | 
			
		||||
                                <field name="NAME">TouchPin.P1</field>
 | 
			
		||||
                            </block>
 | 
			
		||||
                        </value>
 | 
			
		||||
                        <next>
 | 
			
		||||
                          <block type="variables_set">
 | 
			
		||||
                            <field name="VAR" id=")f$ml.CVl6|1^?sPWl:;" variabletype="">sdfsadf</field>
 | 
			
		||||
                            <value name="VALUE">
 | 
			
		||||
                              <shadow type="math_number" id="bZBPUCLiZ6#D@e_[Y`:0">
 | 
			
		||||
                                <field name="NUM">0</field>
 | 
			
		||||
                              </shadow>
 | 
			
		||||
                              <block type="device_temperature"></block>
 | 
			
		||||
                            </value>
 | 
			
		||||
                            <next>
 | 
			
		||||
                              <block type="variables_set">
 | 
			
		||||
                                <field name="VAR" id=")f$ml.CVl6|1^?sPWl:;" variabletype="">sdfsadf</field>
 | 
			
		||||
                            <block type="variables_set">
 | 
			
		||||
                                <field name="VAR" id=")f$ml.CVl6|1^?sPWl:;">sdfsadf</field>
 | 
			
		||||
                                <value name="VALUE">
 | 
			
		||||
                                  <shadow type="math_number" id="o~k},FK*r@[O2)Cy!lM}">
 | 
			
		||||
                                    <field name="NUM">0</field>
 | 
			
		||||
                                  </shadow>
 | 
			
		||||
                                  <block type="device_get_rotation">
 | 
			
		||||
                                    <field name="NAME">Rotation.Roll</field>
 | 
			
		||||
                                  </block>
 | 
			
		||||
                                    <shadow type="math_number">
 | 
			
		||||
                                        <field name="NUM">0</field>
 | 
			
		||||
                                    </shadow>
 | 
			
		||||
                                    <block type="device_acceleration">
 | 
			
		||||
                                        <field name="NAME">Dimension.Y</field>
 | 
			
		||||
                                    </block>
 | 
			
		||||
                                </value>
 | 
			
		||||
                                <next>
 | 
			
		||||
                                  <block type="variables_set">
 | 
			
		||||
                                    <field name="VAR" id=")f$ml.CVl6|1^?sPWl:;" variabletype="">sdfsadf</field>
 | 
			
		||||
                                    <value name="VALUE">
 | 
			
		||||
                                      <shadow type="math_number" id="Uu,ZpYs7!BzIpX`%V_^!">
 | 
			
		||||
                                        <field name="NUM">0</field>
 | 
			
		||||
                                      </shadow>
 | 
			
		||||
                                      <block type="device_get_magnetic_force">
 | 
			
		||||
                                        <field name="NAME">Dimension.Z</field>
 | 
			
		||||
                                      </block>
 | 
			
		||||
                                    </value>
 | 
			
		||||
                                    <next>
 | 
			
		||||
                                      <block type="variables_set">
 | 
			
		||||
                                        <field name="VAR" id=")f$ml.CVl6|1^?sPWl:;" variabletype="">sdfsadf</field>
 | 
			
		||||
                                    <block type="variables_set">
 | 
			
		||||
                                        <field name="VAR" id=")f$ml.CVl6|1^?sPWl:;">sdfsadf</field>
 | 
			
		||||
                                        <value name="VALUE">
 | 
			
		||||
                                          <shadow type="math_number" id="s{USu#UBc84Ao*jy(EQC">
 | 
			
		||||
                                            <field name="NUM">0</field>
 | 
			
		||||
                                          </shadow>
 | 
			
		||||
                                          <block type="device_get_running_time"></block>
 | 
			
		||||
                                            <shadow type="math_number">
 | 
			
		||||
                                                <field name="NUM">0</field>
 | 
			
		||||
                                            </shadow>
 | 
			
		||||
                                            <block type="device_get_light_level" />
 | 
			
		||||
                                        </value>
 | 
			
		||||
                                        <next>
 | 
			
		||||
                                          <block type="device_set_accelerometer_range">
 | 
			
		||||
                                            <field name="range">AcceleratorRange.TwoG</field>
 | 
			
		||||
                                          </block>
 | 
			
		||||
                                            <block type="variables_set">
 | 
			
		||||
                                                <field name="VAR" id=")f$ml.CVl6|1^?sPWl:;">sdfsadf</field>
 | 
			
		||||
                                                <value name="VALUE">
 | 
			
		||||
                                                    <shadow type="math_number">
 | 
			
		||||
                                                        <field name="NUM">0</field>
 | 
			
		||||
                                                    </shadow>
 | 
			
		||||
                                                    <block type="device_heading" />
 | 
			
		||||
                                                </value>
 | 
			
		||||
                                                <next>
 | 
			
		||||
                                                    <block type="variables_set">
 | 
			
		||||
                                                        <field name="VAR" id=")f$ml.CVl6|1^?sPWl:;">sdfsadf</field>
 | 
			
		||||
                                                        <value name="VALUE">
 | 
			
		||||
                                                            <shadow type="math_number">
 | 
			
		||||
                                                                <field name="NUM">0</field>
 | 
			
		||||
                                                            </shadow>
 | 
			
		||||
                                                            <block type="device_temperature" />
 | 
			
		||||
                                                        </value>
 | 
			
		||||
                                                        <next>
 | 
			
		||||
                                                            <block type="variables_set">
 | 
			
		||||
                                                                <field name="VAR" id=")f$ml.CVl6|1^?sPWl:;">sdfsadf</field>
 | 
			
		||||
                                                                <value name="VALUE">
 | 
			
		||||
                                                                    <shadow type="math_number">
 | 
			
		||||
                                                                        <field name="NUM">0</field>
 | 
			
		||||
                                                                    </shadow>
 | 
			
		||||
                                                                    <block type="device_get_rotation">
 | 
			
		||||
                                                                        <field name="NAME">Rotation.Roll</field>
 | 
			
		||||
                                                                    </block>
 | 
			
		||||
                                                                </value>
 | 
			
		||||
                                                                <next>
 | 
			
		||||
                                                                    <block type="variables_set">
 | 
			
		||||
                                                                        <field name="VAR" id=")f$ml.CVl6|1^?sPWl:;">sdfsadf</field>
 | 
			
		||||
                                                                        <value name="VALUE">
 | 
			
		||||
                                                                            <shadow type="math_number">
 | 
			
		||||
                                                                                <field name="NUM">0</field>
 | 
			
		||||
                                                                            </shadow>
 | 
			
		||||
                                                                            <block type="device_get_magnetic_force">
 | 
			
		||||
                                                                                <field name="NAME">Dimension.Z</field>
 | 
			
		||||
                                                                            </block>
 | 
			
		||||
                                                                        </value>
 | 
			
		||||
                                                                        <next>
 | 
			
		||||
                                                                            <block type="variables_set">
 | 
			
		||||
                                                                                <field name="VAR" id=")f$ml.CVl6|1^?sPWl:;">sdfsadf</field>
 | 
			
		||||
                                                                                <value name="VALUE">
 | 
			
		||||
                                                                                    <shadow type="math_number">
 | 
			
		||||
                                                                                        <field name="NUM">0</field>
 | 
			
		||||
                                                                                    </shadow>
 | 
			
		||||
                                                                                    <block type="device_get_running_time" />
 | 
			
		||||
                                                                                </value>
 | 
			
		||||
                                                                                <next>
 | 
			
		||||
                                                                                    <block type="device_set_accelerometer_range">
 | 
			
		||||
                                                                                        <field name="range">AcceleratorRange.TwoG</field>
 | 
			
		||||
                                                                                    </block>
 | 
			
		||||
                                                                                </next>
 | 
			
		||||
                                                                            </block>
 | 
			
		||||
                                                                        </next>
 | 
			
		||||
                                                                    </block>
 | 
			
		||||
                                                                </next>
 | 
			
		||||
                                                            </block>
 | 
			
		||||
                                                        </next>
 | 
			
		||||
                                                    </block>
 | 
			
		||||
                                                </next>
 | 
			
		||||
                                            </block>
 | 
			
		||||
                                        </next>
 | 
			
		||||
                                      </block>
 | 
			
		||||
                                    </next>
 | 
			
		||||
                                  </block>
 | 
			
		||||
                                    </block>
 | 
			
		||||
                                </next>
 | 
			
		||||
                              </block>
 | 
			
		||||
                            </next>
 | 
			
		||||
                          </block>
 | 
			
		||||
                            </block>
 | 
			
		||||
                        </next>
 | 
			
		||||
                      </block>
 | 
			
		||||
                    </next>
 | 
			
		||||
                  </block>
 | 
			
		||||
                    </block>
 | 
			
		||||
                </next>
 | 
			
		||||
              </block>
 | 
			
		||||
            </next>
 | 
			
		||||
          </block>
 | 
			
		||||
        </next>
 | 
			
		||||
      </block>
 | 
			
		||||
    </statement>
 | 
			
		||||
  </block>
 | 
			
		||||
  <block type="device_gesture_event" x="472" y="-8">
 | 
			
		||||
    <field name="NAME">Gesture.SixG</field>
 | 
			
		||||
  </block>
 | 
			
		||||
  <block type="device_pin_event" x="555" y="96">
 | 
			
		||||
    <field name="name">TouchPin.P2</field>
 | 
			
		||||
  </block>
 | 
			
		||||
  <block type="device_pin_released" x="188" y="435">
 | 
			
		||||
    <field name="NAME">TouchPin.P2</field>
 | 
			
		||||
  </block>
 | 
			
		||||
            </block>
 | 
			
		||||
        </statement>
 | 
			
		||||
    </block>
 | 
			
		||||
    <block type="device_gesture_event" x="555" y="30">
 | 
			
		||||
        <field name="NAME">Gesture.SixG</field>
 | 
			
		||||
    </block>
 | 
			
		||||
    <block type="device_pin_custom_event" x="556" y="156">
 | 
			
		||||
        <field name="name">TouchPin.P0</field>
 | 
			
		||||
        <value name="eventType">
 | 
			
		||||
            <shadow type="control_button_event_value_id"></shadow>
 | 
			
		||||
        </value>
 | 
			
		||||
    </block>
 | 
			
		||||
    <block type="device_pin_custom_event" x="560" y="274">
 | 
			
		||||
        <field name="name">TouchPin.P0</field>
 | 
			
		||||
        <value name="eventType">
 | 
			
		||||
            <shadow type="control_button_event_value_id"></shadow>
 | 
			
		||||
        </value>
 | 
			
		||||
    </block>
 | 
			
		||||
</xml>
 | 
			
		||||
							
								
								
									
										29
									
								
								libs/core/blocks-test/motors.blocks
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								libs/core/blocks-test/motors.blocks
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
<xml xmlns="https://developers.google.com/blockly/xml">
 | 
			
		||||
    <block type="pxt-on-start" x="20" y="20">
 | 
			
		||||
        <statement name="HANDLER">
 | 
			
		||||
            <block type="motor_on">
 | 
			
		||||
                <value name="percent">
 | 
			
		||||
                    <shadow type="speedPicker">
 | 
			
		||||
                        <field name="speed">100</field>
 | 
			
		||||
                    </shadow>
 | 
			
		||||
                </value>
 | 
			
		||||
                <next>
 | 
			
		||||
                    <block type="motor_command">
 | 
			
		||||
                        <field name="command">MotorCommand.Break</field>
 | 
			
		||||
                        <next>
 | 
			
		||||
                            <block type="block_dual_motor">
 | 
			
		||||
                                <field name="motor">Motor.A</field>
 | 
			
		||||
                                <value name="percent">
 | 
			
		||||
                                    <shadow type="speedPicker">
 | 
			
		||||
                                        <field name="speed">100</field>
 | 
			
		||||
                                    </shadow>
 | 
			
		||||
                                </value>
 | 
			
		||||
                            </block>
 | 
			
		||||
                        </next>
 | 
			
		||||
                    </block>
 | 
			
		||||
                </next>
 | 
			
		||||
            </block>
 | 
			
		||||
        </statement>
 | 
			
		||||
    </block>
 | 
			
		||||
    <block type="device_forever" x="294" y="22" />
 | 
			
		||||
</xml>
 | 
			
		||||
@@ -1,95 +1,94 @@
 | 
			
		||||
<xml xmlns="http://www.w3.org/1999/xhtml">
 | 
			
		||||
  <variables>
 | 
			
		||||
    <variable type="" id="I3xB5Q]ehg#-~(sq{[|E">item</variable>
 | 
			
		||||
  </variables>
 | 
			
		||||
  <block type="melody_on_event" x="-27" y="128">
 | 
			
		||||
    <field name="value">MusicEvent.BackgroundMelodyStarted</field>
 | 
			
		||||
    <statement name="HANDLER">
 | 
			
		||||
      <block type="device_play_note">
 | 
			
		||||
        <value name="note">
 | 
			
		||||
          <shadow type="device_note">
 | 
			
		||||
            <field name="name">175</field>
 | 
			
		||||
          </shadow>
 | 
			
		||||
        </value>
 | 
			
		||||
        <value name="duration">
 | 
			
		||||
          <shadow type="device_beat">
 | 
			
		||||
            <field name="fraction">BeatFraction.Sixteenth</field>
 | 
			
		||||
          </shadow>
 | 
			
		||||
        </value>
 | 
			
		||||
        <next>
 | 
			
		||||
          <block type="device_ring">
 | 
			
		||||
            <value name="note">
 | 
			
		||||
              <shadow type="device_note">
 | 
			
		||||
                <field name="name">147</field>
 | 
			
		||||
              </shadow>
 | 
			
		||||
            </value>
 | 
			
		||||
            <next>
 | 
			
		||||
              <block type="device_rest">
 | 
			
		||||
<xml xmlns="https://developers.google.com/blockly/xml">
 | 
			
		||||
    <variables>
 | 
			
		||||
        <variable id="I3xB5Q]ehg#-~(sq{[|E">item</variable>
 | 
			
		||||
    </variables>
 | 
			
		||||
    <block type="device_forever" x="21" y="128">
 | 
			
		||||
        <statement name="HANDLER">
 | 
			
		||||
            <block type="device_play_note">
 | 
			
		||||
                <value name="note">
 | 
			
		||||
                    <shadow type="device_note">
 | 
			
		||||
                        <field name="name">175</field>
 | 
			
		||||
                    </shadow>
 | 
			
		||||
                </value>
 | 
			
		||||
                <value name="duration">
 | 
			
		||||
                  <shadow type="device_beat">
 | 
			
		||||
                    <field name="fraction">BeatFraction.Sixteenth</field>
 | 
			
		||||
                  </shadow>
 | 
			
		||||
                    <shadow type="device_beat">
 | 
			
		||||
                        <field name="fraction">BeatFraction.Sixteenth</field>
 | 
			
		||||
                    </shadow>
 | 
			
		||||
                </value>
 | 
			
		||||
                <next>
 | 
			
		||||
                  <block type="variables_set">
 | 
			
		||||
                    <field name="VAR" id="I3xB5Q]ehg#-~(sq{[|E" variabletype="">item</field>
 | 
			
		||||
                    <value name="VALUE">
 | 
			
		||||
                      <shadow type="math_number" id="8/Ht9pG0DuL-0~sPe},^">
 | 
			
		||||
                        <field name="NUM">0</field>
 | 
			
		||||
                      </shadow>
 | 
			
		||||
                      <block type="device_note">
 | 
			
		||||
                        <field name="name">466</field>
 | 
			
		||||
                      </block>
 | 
			
		||||
                    </value>
 | 
			
		||||
                    <next>
 | 
			
		||||
                      <block type="variables_set">
 | 
			
		||||
                        <field name="VAR" id="I3xB5Q]ehg#-~(sq{[|E" variabletype="">item</field>
 | 
			
		||||
                        <value name="VALUE">
 | 
			
		||||
                          <shadow type="math_number" id="8/Ht9pG0DuL-0~sPe},^">
 | 
			
		||||
                            <field name="NUM">0</field>
 | 
			
		||||
                          </shadow>
 | 
			
		||||
                          <block type="device_beat">
 | 
			
		||||
                            <field name="fraction">BeatFraction.Sixteenth</field>
 | 
			
		||||
                          </block>
 | 
			
		||||
                    <block type="device_ring">
 | 
			
		||||
                        <value name="note">
 | 
			
		||||
                            <shadow type="device_note">
 | 
			
		||||
                                <field name="name">147</field>
 | 
			
		||||
                            </shadow>
 | 
			
		||||
                        </value>
 | 
			
		||||
                        <next>
 | 
			
		||||
                          <block type="variables_set">
 | 
			
		||||
                            <field name="VAR" id="I3xB5Q]ehg#-~(sq{[|E" variabletype="">item</field>
 | 
			
		||||
                            <value name="VALUE">
 | 
			
		||||
                              <shadow type="math_number" id="8/Ht9pG0DuL-0~sPe},^">
 | 
			
		||||
                                <field name="NUM">0</field>
 | 
			
		||||
                              </shadow>
 | 
			
		||||
                              <block type="device_tempo"></block>
 | 
			
		||||
                            </value>
 | 
			
		||||
                            <next>
 | 
			
		||||
                              <block type="device_change_tempo">
 | 
			
		||||
                                <value name="value">
 | 
			
		||||
                                  <shadow type="math_number">
 | 
			
		||||
                                    <field name="NUM">1242</field>
 | 
			
		||||
                                  </shadow>
 | 
			
		||||
                            <block type="device_rest">
 | 
			
		||||
                                <value name="duration">
 | 
			
		||||
                                    <shadow type="device_beat">
 | 
			
		||||
                                        <field name="fraction">BeatFraction.Sixteenth</field>
 | 
			
		||||
                                    </shadow>
 | 
			
		||||
                                </value>
 | 
			
		||||
                                <next>
 | 
			
		||||
                                  <block type="device_set_tempo">
 | 
			
		||||
                                    <value name="value">
 | 
			
		||||
              <shadow type="math_number">
 | 
			
		||||
                <field name="NUM">5</field>
 | 
			
		||||
              </shadow>
 | 
			
		||||
                                    </value>
 | 
			
		||||
                                  </block>
 | 
			
		||||
                                    <block type="variables_set">
 | 
			
		||||
                                        <field name="VAR" id="I3xB5Q]ehg#-~(sq{[|E">item</field>
 | 
			
		||||
                                        <value name="VALUE">
 | 
			
		||||
                                            <shadow type="math_number">
 | 
			
		||||
                                                <field name="NUM">0</field>
 | 
			
		||||
                                            </shadow>
 | 
			
		||||
                                            <block type="device_note">
 | 
			
		||||
                                                <field name="name">466</field>
 | 
			
		||||
                                            </block>
 | 
			
		||||
                                        </value>
 | 
			
		||||
                                        <next>
 | 
			
		||||
                                            <block type="variables_set">
 | 
			
		||||
                                                <field name="VAR" id="I3xB5Q]ehg#-~(sq{[|E">item</field>
 | 
			
		||||
                                                <value name="VALUE">
 | 
			
		||||
                                                    <shadow type="math_number">
 | 
			
		||||
                                                        <field name="NUM">0</field>
 | 
			
		||||
                                                    </shadow>
 | 
			
		||||
                                                    <block type="device_beat">
 | 
			
		||||
                                                        <field name="fraction">BeatFraction.Sixteenth</field>
 | 
			
		||||
                                                    </block>
 | 
			
		||||
                                                </value>
 | 
			
		||||
                                                <next>
 | 
			
		||||
                                                    <block type="variables_set">
 | 
			
		||||
                                                        <field name="VAR" id="I3xB5Q]ehg#-~(sq{[|E">item</field>
 | 
			
		||||
                                                        <value name="VALUE">
 | 
			
		||||
                                                            <shadow type="math_number">
 | 
			
		||||
                                                                <field name="NUM">0</field>
 | 
			
		||||
                                                            </shadow>
 | 
			
		||||
                                                            <block type="device_tempo" />
 | 
			
		||||
                                                        </value>
 | 
			
		||||
                                                        <next>
 | 
			
		||||
                                                            <block type="device_change_tempo">
 | 
			
		||||
                                                                <value name="value">
 | 
			
		||||
                                                                    <shadow type="math_number">
 | 
			
		||||
                                                                        <field name="NUM">1242</field>
 | 
			
		||||
                                                                    </shadow>
 | 
			
		||||
                                                                </value>
 | 
			
		||||
                                                                <next>
 | 
			
		||||
                                                                    <block type="device_set_tempo">
 | 
			
		||||
                                                                        <value name="value">
 | 
			
		||||
                                                                            <shadow type="math_number">
 | 
			
		||||
                                                                                <field name="NUM">5</field>
 | 
			
		||||
                                                                            </shadow>
 | 
			
		||||
                                                                        </value>
 | 
			
		||||
                                                                    </block>
 | 
			
		||||
                                                                </next>
 | 
			
		||||
                                                            </block>
 | 
			
		||||
                                                        </next>
 | 
			
		||||
                                                    </block>
 | 
			
		||||
                                                </next>
 | 
			
		||||
                                            </block>
 | 
			
		||||
                                        </next>
 | 
			
		||||
                                    </block>
 | 
			
		||||
                                </next>
 | 
			
		||||
                              </block>
 | 
			
		||||
                            </next>
 | 
			
		||||
                          </block>
 | 
			
		||||
                            </block>
 | 
			
		||||
                        </next>
 | 
			
		||||
                      </block>
 | 
			
		||||
                    </next>
 | 
			
		||||
                  </block>
 | 
			
		||||
                    </block>
 | 
			
		||||
                </next>
 | 
			
		||||
              </block>
 | 
			
		||||
            </next>
 | 
			
		||||
          </block>
 | 
			
		||||
        </next>
 | 
			
		||||
      </block>
 | 
			
		||||
    </statement>
 | 
			
		||||
  </block>
 | 
			
		||||
            </block>
 | 
			
		||||
        </statement>
 | 
			
		||||
    </block>
 | 
			
		||||
</xml>
 | 
			
		||||
@@ -59,8 +59,8 @@
 | 
			
		||||
                        </value>
 | 
			
		||||
                        <next>
 | 
			
		||||
                          <block type="serial_redirect">
 | 
			
		||||
                            <field name="tx">SerialPin.P12</field>
 | 
			
		||||
                            <field name="rx">SerialPin.P13</field>
 | 
			
		||||
                            <field name="tx">SerialPin.C16</field>
 | 
			
		||||
                            <field name="rx">SerialPin.C17</field>
 | 
			
		||||
                            <field name="rate">BaudRate.BaudRate28800</field>
 | 
			
		||||
                            <next>
 | 
			
		||||
                              <block type="serial_writebuffer">
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@@ -323,9 +323,9 @@ namespace game {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function unplugEvents(): void {
 | 
			
		||||
        input.onButtonPressed(Button.A, () => { });
 | 
			
		||||
        input.onButtonPressed(Button.B, () => { });
 | 
			
		||||
        input.onButtonPressed(Button.AB, () => {
 | 
			
		||||
        input.onButtonEvent(Button.A, ButtonEvent.Click, () => { });
 | 
			
		||||
        input.onButtonEvent(Button.B, ButtonEvent.Click, () => { });
 | 
			
		||||
        input.onButtonEvent(Button.AB, ButtonEvent.Click, () => {
 | 
			
		||||
            control.reset();
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -190,21 +190,6 @@ namespace input {
 | 
			
		||||
        registerWithDal((int)button, eventType, body);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Do something when a button (A, B or both A+B) is pushed down and released again.
 | 
			
		||||
     * @param button the button that needs to be pressed
 | 
			
		||||
     * @param body code to run when event is raised
 | 
			
		||||
     */
 | 
			
		||||
    //% help=input/on-button-pressed weight=85 blockGap=16
 | 
			
		||||
    //% blockId=device_button_event block="on button|%NAME|pressed"
 | 
			
		||||
    //% parts="buttonpair"
 | 
			
		||||
    //% deprecated=true
 | 
			
		||||
    //% group="Events"
 | 
			
		||||
    void onButtonPressed(Button button, Action body) {
 | 
			
		||||
        registerWithDal((int)button, MICROBIT_BUTTON_EVT_CLICK, body);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Do something when when a gesture is done (like shaking the micro:bit).
 | 
			
		||||
     * @param gesture the type of gesture to track, eg: Gesture.Shake
 | 
			
		||||
@@ -240,7 +225,6 @@ namespace input {
 | 
			
		||||
        return uBit.accelerometer.getGesture() == gi;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Do something when a pin receives an touch event (while also touching the GND pin).
 | 
			
		||||
     * @param name the pin, eg: TouchPin.P0
 | 
			
		||||
@@ -258,43 +242,6 @@ namespace input {
 | 
			
		||||
        registerWithDal((int)name, eventType, body);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
     /**
 | 
			
		||||
     * Do something when a pin is touched and released again (while also touching the GND pin).
 | 
			
		||||
     * @param name the pin that needs to be pressed, eg: TouchPin.P0
 | 
			
		||||
     * @param body the code to run when the pin is pressed
 | 
			
		||||
     */
 | 
			
		||||
    //% help=input/on-pin-pressed weight=83 blockGap=16
 | 
			
		||||
    //% blockId=device_pin_event block="on pin %name|pressed"
 | 
			
		||||
    //% group="Events"
 | 
			
		||||
    //% deprecated=true
 | 
			
		||||
    void onPinPressed(TouchPin name, Action body) {
 | 
			
		||||
        auto pin = getPin((int)name);
 | 
			
		||||
        if (!pin) return;
 | 
			
		||||
 | 
			
		||||
        // Forces the PIN to switch to makey-makey style detection.
 | 
			
		||||
        pin->isTouched();
 | 
			
		||||
        registerWithDal((int)name, MICROBIT_BUTTON_EVT_CLICK, body);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Do something when a pin is released.
 | 
			
		||||
     * @param name the pin that needs to be released, eg: TouchPin.P0
 | 
			
		||||
     * @param body the code to run when the pin is released
 | 
			
		||||
     */
 | 
			
		||||
    //% help=input/on-pin-released weight=6 blockGap=16
 | 
			
		||||
    //% blockId=device_pin_released block="on pin %NAME|released"
 | 
			
		||||
    //% advanced=true
 | 
			
		||||
    //% group="Events"
 | 
			
		||||
    //% deprecated=true
 | 
			
		||||
    void onPinReleased(TouchPin name, Action body) {
 | 
			
		||||
        auto pin = getPin((int)name);
 | 
			
		||||
        if (!pin) return;
 | 
			
		||||
 | 
			
		||||
        // Forces the PIN to switch to makey-makey style detection.
 | 
			
		||||
        pin->isTouched();
 | 
			
		||||
        registerWithDal((int)name, MICROBIT_BUTTON_EVT_UP, body);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the button state (pressed or not) for ``A`` and ``B``.
 | 
			
		||||
     * @param button the button to query the request, eg: Button.A
 | 
			
		||||
 
 | 
			
		||||
@@ -2,26 +2,26 @@
 | 
			
		||||
 * Events and data from sensors
 | 
			
		||||
 */
 | 
			
		||||
//% color=#C90072 weight=99
 | 
			
		||||
namespace input {
 | 
			
		||||
// namespace input {
 | 
			
		||||
    /**
 | 
			
		||||
     * gets the level of loudness from 0 (silent) to 255 (loud)
 | 
			
		||||
     */
 | 
			
		||||
    //% blockId="loudness"
 | 
			
		||||
    //% block="Loudness"
 | 
			
		||||
    //% deprecated=true
 | 
			
		||||
    export function loudness(): number {
 | 
			
		||||
        let value = 0
 | 
			
		||||
        let max = pins.analogReadPin(AnalogPin.MIC)
 | 
			
		||||
        let min = max
 | 
			
		||||
        for (let index = 0; index < 32; index++) {
 | 
			
		||||
            value = pins.analogReadPin(AnalogPin.MIC)
 | 
			
		||||
            if (value > max) {
 | 
			
		||||
                max = value
 | 
			
		||||
            } else if (value < min) {
 | 
			
		||||
                min = value
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        value = Math.floor((max - min) / 4)
 | 
			
		||||
        return value
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
    // export function loudness(): number {
 | 
			
		||||
    //     let value = 0
 | 
			
		||||
    //     let max = pins.analogReadPin(AnalogPin.MIC)
 | 
			
		||||
    //     let min = max
 | 
			
		||||
    //     for (let index = 0; index < 32; index++) {
 | 
			
		||||
    //         value = pins.analogReadPin(AnalogPin.MIC)
 | 
			
		||||
    //         if (value > max) {
 | 
			
		||||
    //             max = value
 | 
			
		||||
    //         } else if (value < min) {
 | 
			
		||||
    //             min = value
 | 
			
		||||
    //         }
 | 
			
		||||
    //     }
 | 
			
		||||
    //     value = Math.floor((max - min) / 4)
 | 
			
		||||
    //     return value
 | 
			
		||||
    // }
 | 
			
		||||
// }
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										40
									
								
								libs/core/shims.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										40
									
								
								libs/core/shims.d.ts
									
									
									
									
										vendored
									
									
								
							@@ -217,9 +217,10 @@ declare namespace basic {
 | 
			
		||||
     */
 | 
			
		||||
    //% blockId=device_set_led_color
 | 
			
		||||
    //% block="set led to %color=colorNumberPicker"
 | 
			
		||||
    //%
 | 
			
		||||
    //% weight=10
 | 
			
		||||
    //% group="RGB LED" shim=basic::setLedColor
 | 
			
		||||
    function setLedColor(color: int32): void;
 | 
			
		||||
    //% group="RGB LED" color.defl=0xff0000 shim=basic::setLedColor
 | 
			
		||||
    function setLedColor(color?: int32): void;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Sets the color on the build-in LED. Set to 0 to turn off.
 | 
			
		||||
@@ -248,18 +249,6 @@ declare namespace input {
 | 
			
		||||
    //% group="Events" shim=input::onButtonEvent
 | 
			
		||||
    function onButtonEvent(button: Button, eventType: int32, body: () => void): void;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Do something when a button (A, B or both A+B) is pushed down and released again.
 | 
			
		||||
     * @param button the button that needs to be pressed
 | 
			
		||||
     * @param body code to run when event is raised
 | 
			
		||||
     */
 | 
			
		||||
    //% help=input/on-button-pressed weight=85 blockGap=16
 | 
			
		||||
    //% blockId=device_button_event block="on button|%NAME|pressed"
 | 
			
		||||
    //% parts="buttonpair"
 | 
			
		||||
    //% deprecated=true
 | 
			
		||||
    //% group="Events" shim=input::onButtonPressed
 | 
			
		||||
    function onButtonPressed(button: Button, body: () => void): void;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Do something when when a gesture is done (like shaking the micro:bit).
 | 
			
		||||
     * @param gesture the type of gesture to track, eg: Gesture.Shake
 | 
			
		||||
@@ -293,29 +282,6 @@ declare namespace input {
 | 
			
		||||
    //% group="Events" shim=input::onPinTouchEvent
 | 
			
		||||
    function onPinTouchEvent(name: TouchPin, eventType: int32, body: () => void): void;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Do something when a pin is touched and released again (while also touching the GND pin).
 | 
			
		||||
     * @param name the pin that needs to be pressed, eg: TouchPin.P0
 | 
			
		||||
     * @param body the code to run when the pin is pressed
 | 
			
		||||
     */
 | 
			
		||||
    //% help=input/on-pin-pressed weight=83 blockGap=16
 | 
			
		||||
    //% blockId=device_pin_event block="on pin %name|pressed"
 | 
			
		||||
    //% group="Events"
 | 
			
		||||
    //% deprecated=true shim=input::onPinPressed
 | 
			
		||||
    function onPinPressed(name: TouchPin, body: () => void): void;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Do something when a pin is released.
 | 
			
		||||
     * @param name the pin that needs to be released, eg: TouchPin.P0
 | 
			
		||||
     * @param body the code to run when the pin is released
 | 
			
		||||
     */
 | 
			
		||||
    //% help=input/on-pin-released weight=6 blockGap=16
 | 
			
		||||
    //% blockId=device_pin_released block="on pin %NAME|released"
 | 
			
		||||
    //% advanced=true
 | 
			
		||||
    //% group="Events"
 | 
			
		||||
    //% deprecated=true shim=input::onPinReleased
 | 
			
		||||
    function onPinReleased(name: TouchPin, body: () => void): void;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the button state (pressed or not) for ``A`` and ``B``.
 | 
			
		||||
     * @param button the button to query the request, eg: Button.A
 | 
			
		||||
 
 | 
			
		||||
@@ -60,7 +60,7 @@ namespace storage {
 | 
			
		||||
    //% block="Clear number %key"
 | 
			
		||||
    //% blockId=storage_remove_key_int
 | 
			
		||||
    //% group="Remove"
 | 
			
		||||
    export function removeKeyInt(key: StorageSlots) : void {
 | 
			
		||||
    export function removeNumber(key: StorageSlots) : void {
 | 
			
		||||
      remove(storagesInt[key]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user