<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE BlockLangDef SYSTEM "lang_def.dtd"[]>
<!-- This describes every BlockGenus, BlockDrawer, BlockFamilies in Starlogo-TNG. Note: For BlockGenus, if genus A relies on another genus B, that genus B must be specified in the xml 
	file before genus A is specified./ We impose this requirement so that sanity checks can be made regarding the validity of a default argument when the BlockGenuses are first loaded. -->
<BlockLangDef>
  <BlockConnectorShapes>
    <BlockConnectorShape shape-type="number" shape-number="1" />
    <BlockConnectorShape shape-type="number-list" shape-number="2" />
    <BlockConnectorShape shape-type="number-inv" shape-number="3" />
    <BlockConnectorShape shape-type="boolean" shape-number="4" />
    <BlockConnectorShape shape-type="boolean-list" shape-number="5" />
    <BlockConnectorShape shape-type="boolean-inv" shape-number="6" />
    <BlockConnectorShape shape-type="string" shape-number="7" />
    <BlockConnectorShape shape-type="string-list" shape-number="8" />
    <BlockConnectorShape shape-type="string-inv" shape-number="9" />
    <BlockConnectorShape shape-type="poly" shape-number="10" />
    <BlockConnectorShape shape-type="poly-list" shape-number="11" />
    <BlockConnectorShape shape-type="poly-inv" shape-number="12" />
    <BlockConnectorShape shape-type="proc-param" shape-number="13" />
    <BlockConnectorShape shape-type="cmd" shape-number="14" />
    <BlockConnectorShape shape-type="cmd1" shape-number="15" />
    <BlockConnectorShape shape-type="cmd2" shape-number="16" />
    <BlockConnectorShape shape-type="cmd3" shape-number="17" />
  </BlockConnectorShapes>
  <BlockGenuses>
    <BlockGenus name="dummy" kind="command" initlabel="" color="0 0 0" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no" />
    <!-- ******************** NEW FOR LOOP **************** -->
    <BlockGenus name="repeat_control" kind="command" color="255 221 0" initlabel="bg.repeat_control" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>repeat</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.variable" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="variable_number" label="variable name" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.start" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.end" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="5" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.increment" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector label="bc.commands" connector-type="cmd" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <!-- ******************** Controls Menu *************** -->
    <BlockGenus name="program" kind="command" color="255 240 0" initlabel="bg.program" is-starter="yes" is-terminator="yes" label-unique="no" editable-label="no" is-label-value="no" page-label-enabled="no">
      <description>
        <text>this is the loop of the arduino</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="cmd" connector-kind="socket" label="bc.setup" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="cmd" connector-kind="socket" label="bc.loop" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="loop" kind="command" color="255 240 0" initlabel="bg.loop" is-starter="yes" is-terminator="yes" label-unique="yes" editable-label="no" is-label-value="no" page-label-enabled="no">
      <description>
        <text>this is the loop of the arduino</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="cmd" connector-kind="socket" label="bc.do" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <!-- legacy support -->
    <BlockGenus name="loop1" kind="command" color="255 240 0" initlabel="bg.loop" is-starter="yes" is-terminator="yes" label-unique="no" editable-label="no" is-label-value="no" page-label-enabled="no" />
    <BlockGenus name="loop2" kind="command" color="255 240 0" initlabel="bg.loop" is-starter="yes" is-terminator="yes" label-unique="no" editable-label="no" is-label-value="no" page-label-enabled="no" />
    <BlockGenus name="loop3" kind="command" color="255 240 0" initlabel="bg.loop" is-starter="yes" is-terminator="yes" label-unique="no" editable-label="no" is-label-value="no" page-label-enabled="no" />
    <!-- end of legacy support -->
    <BlockGenus name="delay" kind="command" color="255 221 0" initlabel="bg.delay" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>program delay in x milliseconds</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.milliseconds" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="if" kind="command" initlabel="bg.if" color="255 221 0" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					If
					<arg n="1" />
					is true, the agent will run the blocks attached to
					<arg n="2" /></text>
        <arg-description n="1" name="test">
					The condition being
					tested.
				</arg-description>
        <arg-description n="2" name="then">
					The set of instructions
					that is done when the condition is true.
				</arg-description>
      </description>
      <BlockConnectors>
        <BlockConnector label="bc.test" connector-kind="socket" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector label="bc.then" connector-kind="socket" connector-type="cmd" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="ifelse" kind="command" initlabel="bg.ifelse" color="255 221 0" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Does the first set of commands if the condition specified is
					true, otherwise it will do the second set of commands.
				</text>
        <arg-description n="1" name="test">
					The condition being
					tested.
				</arg-description>
        <arg-description n="2" name="then">
					The set of instructions
					that is done when the condition is true.
				</arg-description>
        <arg-description n="3" name="else">
					The set of instructions
					that is done when the condition is false.
				</arg-description>
      </description>
      <BlockConnectors>
        <BlockConnector label="bc.test" connector-kind="socket" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector label="bc.then" connector-kind="socket" connector-type="cmd" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector label="bc.else" connector-kind="socket" connector-type="cmd" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="while" kind="command" initlabel="bg.while" color="255 221 0" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					While Block
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector label="bc.condition" connector-kind="socket" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector label="bc.commands" connector-kind="socket" connector-type="cmd" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="do_while" kind="command" initlabel="bg.do_while" color="255 221 0" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
                Do While Block
            </text>
      </description>
      <BlockConnectors>
        <BlockConnector label="bc.commands" connector-kind="socket" connector-type="cmd" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector label="bc.condition" connector-kind="socket" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="less" label="Pick a test" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="break" kind="command" color="255 221 0" initlabel="bg.break" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Repeat the commands for "times"</text>
      </description>
    </BlockGenus>
    <BlockGenus name="repeat_times" kind="command" color="255 221 0" initlabel="bg.repeat_times" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Repeat the commands for "times"</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.repeat_times" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="5" />
        </BlockConnector>
        <BlockConnector label="bc.commands" connector-type="cmd" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="repeat" kind="command" color="255 221 0" initlabel="bg.repeat" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>repeat</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.variable" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="variable_number" label="variable name" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.repeat_times" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="5" />
        </BlockConnector>
        <BlockConnector label="bc.commands" connector-type="cmd" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="subroutine" kind="command" color="200 200 0" initlabel="bg.subroutine" is-starter="yes" is-terminator="yes" label-unique="yes" editable-label="yes" is-label-value="no" page-label-enabled="no">
      <description>
        <text>subroutine</text>
      </description>
      <BlockConnectors>
        <BlockConnector label="bc.commands" connector-type="cmd" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="subroutine-ref" kind="command" color="200 200 0" initlabel="bg.subroutine" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>invoke subroutine</text>
      </description>
    </BlockGenus>
    <BlockGenus name="delay_microseconds" kind="command" color="255 221 0" initlabel="bg.delay_microseconds" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>program delay in x milliseconds</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.microseconds" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="scoop_task" kind="command" color="26 97 218" initlabel="bg.program" is-starter="yes" is-terminator="yes" label-unique="yes" editable-label="no" is-label-value="no" page-label-enabled="no">
      <description>
        <text>this is the loop of the arduino</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="cmd" connector-kind="socket" label="bc.setup" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="cmd" connector-kind="socket" label="bc.loop" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="scoop_loop" kind="command" color="26 97 218" initlabel="bg.loop" is-starter="yes" is-terminator="yes" label-unique="yes" editable-label="no" is-label-value="no" page-label-enabled="no">
      <description>
        <text>this is the loop of the arduino</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="cmd" connector-kind="socket" label="bc.do" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="scoop_sleep" kind="command" color="26 97 218" initlabel="bg.scoop_sleep" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>program sleep in x milliseconds</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.milliseconds" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="scoop_event_low" kind="data" color="26 97 218" initlabel="bg.scoop_event_low" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>event flag</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="scoop_event_high" kind="data" color="26 97 218" initlabel="bg.scoop_event_high" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>event flag</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="scoop_event_falling" kind="data" color="26 97 218" initlabel="bg.scoop_event_falling" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>event flag</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="scoop_event_rising" kind="data" color="26 97 218" initlabel="bg.scoop_event_rising" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>event flag</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="scoop_event_change" kind="data" color="26 97 218" initlabel="bg.scoop_event_change" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>event flag</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="scoop_pin_event" kind="command" color="26 97 218" initlabel="bg.scoop_pin_event" is-starter="yes" is-terminator="yes" label-unique="yes" editable-label="no" is-label-value="no" page-label-enabled="no">
      <description>
        <text>SCoop Event on pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.scoop_event_flag" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="scoop_event_rising" label="Event: RISING" />
        </BlockConnector>
        <BlockConnector connector-type="cmd" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <!--****************** Pins *************** -->
    <BlockGenus name="pin-read-digital" kind="data" color="77 191 169" initlabel="bg.pin-read-digital" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital from the pin</text>
      </description>
	  
		<BlockConnectors>
       		<BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A0" />
			</BlockConnector> 
			
			<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.buzzer_status" position-type="single" is-expandable="no">
			<DefaultArg genus-name="digital-high" label="HIGH"/>
			</BlockConnector>
      </BlockConnectors>
	  <!--
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
	  -->
    </BlockGenus>
    <BlockGenus name="pin-read-digital-pullup" kind="command" color="77 191 169" initlabel="bg.pin-write-digital" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>write digital to pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="pin-read-analog" kind="data" color="77 191 169" initlabel="bg.pin-read-analog" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="pin-write-digital" kind="command" color="77 191 169" initlabel="bg.pin-write-digital" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>write digital to pin</text>
      </description>
	  
	   <BlockConnectors>
        	<BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A0" />
			</BlockConnector> 
			
			<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.buzzer_status" position-type="single" is-expandable="no">
			<DefaultArg genus-name="digital-high" label="HIGH"/>
			</BlockConnector>
      </BlockConnectors>
	  <!--
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-high" label="HIGH" />
        </BlockConnector>
      </BlockConnectors>
	  -->
    </BlockGenus>
    <BlockGenus name="pin-write-analog" kind="command" color="77 191 169" initlabel="bg.pin-write-analog" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>write analog to pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="tone" kind="command" color="77 191 169" initlabel="tone" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Generates a square wave of the specified frequency (and 50%
					duty cycle) on a pin.
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D8" label="D8" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.frequency" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="440" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="tone_time" kind="command" color="77 191 169" initlabel="tone" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Generates a square wave of the specified frequency (and 50%
					duty cycle) on a pin.
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D8" label="D8" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.frequency" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="440" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.milliseconds" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="no_tone" kind="command" color="77 191 169" initlabel="noTone" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Stops the generation of a square wave triggered by tone().
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D8" label="D8" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DDRA" kind="command" color="77 191 169" initlabel="bg.DDRA" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DDRA
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="11111111" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DDRB" kind="command" color="77 191 169" initlabel="bg.DDRB" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DDRB
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="11111111" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DDRC" kind="command" color="77 191 169" initlabel="bg.DDRC" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DDRC
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="11111111" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DDRD" kind="command" color="77 191 169" initlabel="bg.DDRD" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DDRD
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="11111111" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DDRH" kind="command" color="77 191 169" initlabel="bg.DDRH" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DDRH
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="11111111" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DDRL" kind="command" color="77 191 169" initlabel="bg.DDRL" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DDRL
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="11111111" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="PORTA" kind="command" color="77 191 169" initlabel="bg.PORTA" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>PORTA
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="11111111" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="PORTB" kind="command" color="77 191 169" initlabel="bg.PORTB" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>PORTB
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="11111111" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="PORTC" kind="command" color="77 191 169" initlabel="bg.PORTC" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>PORTC
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="11111111" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="PORTD" kind="command" color="77 191 169" initlabel="bg.PORTD" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>PORTD
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="11111111" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="PORTH" kind="command" color="77 191 169" initlabel="bg.PORTH" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>PORTH
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="11111111" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="PORTL" kind="command" color="77 191 169" initlabel="bg.PORTL" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>PORTL
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="11111111" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="PINA" kind="data" color="77 191 169" initlabel="bg.PINA" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>PINA</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="PINB" kind="data" color="77 191 169" initlabel="bg.PINB" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>PINB</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="PINC" kind="data" color="77 191 169" initlabel="bg.PINC" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>PINC</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="PIND" kind="data" color="77 191 169" initlabel="bg.PIND" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>PIND</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="PINH" kind="data" color="77 191 169" initlabel="bg.PINH" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>PINH</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="PINL" kind="data" color="77 191 169" initlabel="bg.PINL" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>PINL</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <!--****************** Mathematical Operators *************** -->
    <BlockGenus name="addition" kind="function" initlabel="bg.addition" color="149 193 31" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Reports the sum of two numbers (
					<arg n="1" />
					+
					<arg n="2" />
					).
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector label="" connector-kind="plug" connector-type="number" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector label="" connector-kind="socket" connector-type="number" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector label="" connector-kind="socket" connector-type="number" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="subtraction" kind="function" initlabel="bg.subtraction" color="149 193 31" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Reports the difference of two numbers (
					<arg n="1" />
					-
					<arg n="2" />
					).
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector label="" connector-kind="plug" connector-type="number" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector label="" connector-kind="socket" connector-type="number" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector label="" connector-kind="socket" connector-type="number" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="multiplication" kind="function" initlabel="bg.multiplication" color="149 193 31" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Reports the product of two numbers (
					<arg n="1" />
					x
					<arg n="2" />
					).
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector label="" connector-kind="plug" connector-type="number" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector label="" connector-kind="socket" connector-type="number" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector label="" connector-kind="socket" connector-type="number" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="division" kind="function" initlabel="bg.division" color="149 193 31" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Reports the quotient of two numbers (
					<arg n="1" />
					÷
					<arg n="2" />
					).
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector label="" connector-kind="plug" connector-type="number" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector label="" connector-kind="socket" connector-type="number" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector label="" connector-kind="socket" connector-type="number" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="modulo" kind="function" color="149 193 31" initlabel="bg.modulo" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector label="" connector-kind="plug" connector-type="number" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector label="" connector-kind="socket" connector-type="number" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector label="" connector-kind="socket" connector-type="number" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="abs" kind="function" color="149 193 31" initlabel="bg.abs" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="pow" kind="function" color="149 193 31" initlabel="bg.pow" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.base" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.exponent" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="sqrt" kind="function" color="149 193 31" initlabel="bg.sqrt" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="sin" kind="function" color="149 193 31" initlabel="bg.sin" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="cos" kind="function" color="149 193 31" initlabel="bg.cos" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="tan" kind="function" color="149 193 31" initlabel="bg.tan" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="random" kind="data" color="149 193 31" initlabel="bg.random" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>generate a random number less than the number</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.max" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1024" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="random_range" kind="function" color="149 193 31" initlabel="bg.pow" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Generate random number between min and (max - 1)</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.min" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.max" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="10" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="min" kind="function" color="149 193 31" initlabel="bg.min" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="max" kind="function" color="149 193 31" initlabel="bg.max" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="map_common" kind="data" color="149 193 31" initlabel="bg.map_common" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>map value from [0, 1023] to [0, 255]</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.value" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="map" kind="function" color="149 193 31" initlabel="bg.map" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>map</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.value" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.from" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1023" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.to" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="constrain" kind="function" color="149 193 31" initlabel="bg.constrain" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Constrain a number between two values</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.value" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.low" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.high" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
	
	
    <!--****************************************Logical Operators ******************************************************* -->
	<!--****************************************逻辑判断 ******************************************************* -->
    
	<BlockGenus name="greater" kind="function" color="222 131 51" initlabel="bg.greater" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper number greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="less" kind="function" color="222 131 51" initlabel="bg.less" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper number less then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="equal" kind="function" color="222 131 51" initlabel="bg.equal" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper number greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="equal_digital" kind="function" color="222 131 51" initlabel="bg.equal_digital" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper number greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector connector-type="boolean" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="greater_equal" kind="function" color="222 131 51" initlabel="bg.greater_equal" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper number greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="less_equal" kind="function" color="222 131 51" initlabel="bg.less_equal" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper number greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="not_equal" kind="function" color="222 131 51" initlabel="bg.not_equal" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper number greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="not_equal_digital" kind="function" color="222 131 51" initlabel="bg.not_equal_digital" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper number greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector connector-type="boolean" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="string_greater" kind="data" color="222 131 51" initlabel="bg.string_greater" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper string greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-kind="plug" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="string_less" kind="data" color="222 131 51" initlabel="bg.string_less" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper string less then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-kind="plug" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="string_equal" kind="data" color="222 131 51" initlabel="bg.string_equal" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper string greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-kind="plug" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="string_greater_equal" kind="data" color="222 131 51" initlabel="bg.string_greater_equal" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper string greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-kind="plug" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="string_less_equal" kind="data" color="222 131 51" initlabel="bg.string_less_equal" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper string greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-kind="plug" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="string_not_equal" kind="data" color="222 131 51" initlabel="bg.string_not_equal" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper string greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-kind="plug" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="string_equalsIgnoreCase" kind="data" color="222 131 51" initlabel="bg.string_equalsIgnoreCase" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is equalsIgnoreCase then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-kind="plug" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="string_equals" kind="data" color="222 131 51" initlabel="bg.string_equals" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is equals then ?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-kind="plug" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="string_compareTo" kind="data" color="222 131 51" initlabel="bg.string_compareTo" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is compareTo ?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-kind="plug" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="string_toInt" kind="data" color="222 131 51" initlabel="bg.string_toInt" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is a numeric string compared to the number it represents</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-kind="plug" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="and" kind="data" initlabel="bg.and" color="222 131 51" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Reports true if both of the two conditions are true.
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-kind="plug" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector label="" connector-kind="socket" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector label="" connector-kind="socket" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="or" kind="function" initlabel="bg.or" color="222 131 51" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Reports true if one or both of the two conditions are true.
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-kind="plug" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector label="" connector-kind="socket" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector label="" connector-kind="socket" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="not" kind="function" initlabel="bg.not" color="222 131 51" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Reports the opposite of
					<arg n="1" />
					.
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-kind="plug" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector label="" connector-kind="socket" connector-type="boolean" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="equal_poly" kind="function" color="222 131 51" initlabel="bg.equal_poly" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper number greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector connector-type="poly" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector connector-type="poly" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="not_equal_poly" kind="function" color="222 131 51" initlabel="bg.not_equal_poly" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper number greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector connector-type="poly" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector connector-type="poly" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="string_equal" kind="function" color="222 131 51" initlabel="bg.string_equal" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper number greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="string_empty" kind="function" color="222 131 51" initlabel="bg.string_empty" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper number greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="equal_string" kind="function" color="222 131 51" initlabel="bg.equal_string" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper number greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="not_equal_string" kind="function" color="222 131 51" initlabel="bg.not_equal_string" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is upper number greater then lower?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no">
          <!-- CLUDGE:: This apparently daft line enables 'clone' to work correctly on this BlockGenus -->
          <DefaultArg genus-name="dummy" label="" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" position-type="bottom" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <!--****************** Numbers/Constants *************** -->
    <BlockGenus name="millis" kind="data" color="255 153 204" initlabel="bg.millis" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Time in milliseconds</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="number" kind="data" color="232 156 149" initlabel="bg.number" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Standard integer constant
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="number_long" kind="data" color="255 153 204 " initlabel="bg.number_long" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					'Unsigned Long' constant
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="number_double" kind="data" color="153 204 255" initlabel="bg.number_double" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					'Double' constant
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="number-single" kind="data" color="205 133 63" initlabel="bg.number-single" editable-label="yes" is-label-value="yes" label-unique="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number-list" connector-kind="plug" position-type="single" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="number-single-fixed-parallel" kind="data" color="205 133 63" initlabel="Parallel" editable-label="no" is-label-value="yes" label-unique="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number-list" connector-kind="plug" position-type="single" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="number-single-I2C-address" kind="data" color="205 133 63" initlabel="bg.number-single-I2C-address" editable-label="yes" is-label-value="yes" label-unique="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number-list" connector-kind="plug" position-type="single" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="digital-high" kind="data" color="204 153 255" initlabel="bg.digital-high" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Pin HIGH
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="digital-low" kind="data" color="204 153 255" initlabel="bg.digital-low" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Pin LOW
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="true" kind="data" initlabel="bg.true" color="204 153 255" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Reports the boolean true.
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-kind="plug" connector-type="boolean" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="false" kind="data" initlabel="bg.false" color="204 153 255" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Reports the boolean false.
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-kind="plug" connector-type="boolean" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="variable_number" kind="data" initlabel="bg.variable_number" editable-label="yes" is-label-value="yes" color="230 110 110" label-unique="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Digital Var
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="variable_number_unsigned_long" kind="data" initlabel="bg.variable_number_unsigned_long" editable-label="yes" is-label-value="yes" color="204 102 153" label-unique="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
	          Unsigned Long Var
	        </text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="variable_number_double" kind="data" initlabel="bg.variable_number_double" editable-label="yes" is-label-value="yes" color="51 153 255" label-unique="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
	          Double
	        </text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="variable_digital" kind="data" initlabel="bg.variable_digital" editable-label="yes" is-label-value="yes" color="153 102 204" label-unique="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Digital Var
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="variable_string" kind="data" color="32 102 204" initlabel="bg.variable_string" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>string message</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="setter_variable_number" kind="command" color="232 156 149" initlabel="bg.setter_variable_number" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>set integer variable</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.variable" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="variable_number" label="integer variable name" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.value" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="setter_variable_number_unsigned_long" kind="command" color="255 153 204" initlabel="bg.setter_variable_number_unsigned_long" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>set a large integer variable</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.variable" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="variable_number_unsigned_long" label="Large integer variable name" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.value" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number_long" label="1000000" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="setter_variable_number_double" kind="command" color="153 204 255" initlabel="bg.setter_variable_number_double" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>set decimal variable</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.variable" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="variable_number_double" label="Decimal variable name" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.value" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number_double" label="3.1415927" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="setter_variable_digital" kind="command" color="204 153 255" initlabel="bg.setter_variable_digital" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>write digital to pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.variable" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="variable_digital" label="digital variable name" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.value" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-high" label="HIGH" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="variable_vector" kind="data" initlabel="bg.variable_vector" editable-label="yes" is-label-value="yes" color="232 156 149" label-unique="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Array member value
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.num" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="create_variable_vector" kind="command" color="232 156 149" initlabel="bg.create_variable_vector" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>create a vector of numbers</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.variable" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="variable_fake" label="array variable name" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.vecsize" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="setter_variable_vector" kind="command" color="232 156 149" initlabel="bg.setter_variable_vector" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Set a vector number</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.variable" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="variable_fake" label="array variable name" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.position" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.value" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="setter_variable_char" kind="command" color="102 255 51" initlabel="bg.setter_variable_char" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>create a vector of numbers</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="poly" connector-kind="socket" label="bc.variable" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="variable_poly" label="char variable name" />
        </BlockConnector>
        <BlockConnector connector-type="poly" connector-kind="socket" label="char" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="char" label="A" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="variable_poly" kind="data" initlabel="bg.variable_poly" editable-label="yes" is-label-value="yes" color="0 204  0" label-unique="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					character variable
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="poly" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="char" kind="data" color="102 255 51" initlabel="bg.char" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					character
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="poly" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="setter_variable_String" kind="command" color="245 245 245" initlabel="bg.setter_variable_String" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>set String variable</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label="bc.variable" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="variable_String" label="String variable name" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label="bc.value" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="variable_String" kind="data" initlabel="bg.variable_String" editable-label="yes" is-label-value="yes" color="245 245 245" label-unique="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
	          Variable String
	        </text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <!--****************** Utilities *************** -->
    <BlockGenus name="servo_default" kind="command" color="205 133 63" label-prefix="Servo: " initlabel="bg.servo" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Servo Default</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D5" label="D5" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.angle" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="90" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="servo_sg90" kind="command" color="205 133 63" label-prefix="Servo: " initlabel="bg.servo" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>SG90</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number-list" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D5" label="D5" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.angle" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="90" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/SG90.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="servo_mg996r" kind="command" color="205 133 63" label-prefix="Servo: " initlabel="bg.servo" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Servo MG996R</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D5" label="D5" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.angle" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="90" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/SG90.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ultrasonic" kind="data" color="77 191 169" initlabel="bg.ultrasonic" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Ultrasonic distance sensor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label="cm" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="trigger #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="echo #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D3" label="D3" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="LCD_I2C_Sainsmart_20by4" kind="command" color="205 133 63" initlabel="bg.LCD_I2C_Sainsmart_20by4" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>20 Char by 4 Line LCD display</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label="bc.print" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="Sainsmart LCD. I2C" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.line_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.character_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number-list" connector-kind="socket" label="bc.device_address_I2C" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number-single" label="3F" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/LCD20by4.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="LCD_I2C_Sainsmart_16by2" kind="command" color="205 133 63" initlabel="bg.LCD_I2C_Sainsmart_16by2" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>16 Char by 2 Line LCD display</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label="bc.print" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="Sainsmart LCD. I2C" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.line_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.character_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number-list" connector-kind="socket" label="bc.device_address_I2C" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number-single" label="3F" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/LCD20by4.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="LCD_PLL_Sainsmart_16by2" kind="command" color="205 133 63" initlabel="bg.LCD_PLL_Sainsmart_16by2" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>16 Char by 2 Line LCD display</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label="bc.print" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="SainsmartLCD Parallel" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.line_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.character_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number-list" connector-kind="socket" label="bc.device_address_I2C" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number-single-fixed-parallel" label="Parallel" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/LCD16by2.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="LCD_command_clear" kind="command" color="205 133 63" label-prefix="LCD::  " initlabel="bg.LCD_command_clear" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Clear LCD</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number-list" connector-kind="socket" label="bc.device_address_I2C" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number-single" label="3F" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="LCD_command_home" kind="command" color="205 133 63" label-prefix="LCD::  " initlabel="bg.LCD_command_home" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Home LCD</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number-list" connector-kind="socket" label="bc.device_address_I2C" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number-single" label="3F" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="LCD_command_lightOn" kind="command" color="205 133 63" label-prefix="LCD::  " initlabel="bg.LCD_command_lightOn" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Home LCD</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number-list" connector-kind="socket" label="bc.device_address_I2C" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number-single" label="3F" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="LCD_command_lightOff" kind="command" color="205 133 63" label-prefix="LCD::  " initlabel="bg.LCD_command_lightOff" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Home LCD</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number-list" connector-kind="socket" label="bc.device_address_I2C" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number-single" label="3F" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="LCD_command_cursorOn" kind="command" color="205 133 63" label-prefix="LCD::  " initlabel="bg.LCD_command_cursorOn" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Home LCD</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number-list" connector-kind="socket" label="bc.device_address_I2C" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number-single" label="3F" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="LCD_command_cursorOff" kind="command" color="205 133 63" label-prefix="LCD::  " initlabel="bg.LCD_command_cursorOff" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Home LCD</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number-list" connector-kind="socket" label="bc.device_address_I2C" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number-single" label="3F" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="LCD_command_blinkOn" kind="command" color="205 133 63" label-prefix="LCD::  " initlabel="bg.LCD_command_blinkOn" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Home LCD</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number-list" connector-kind="socket" label="bc.device_address_I2C" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number-single" label="3F" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="LCD_command_blinkOff" kind="command" color="205 133 63" label-prefix="LCD::  " initlabel="bg.LCD_command_blinkOff" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Home LCD</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number-list" connector-kind="socket" label="bc.device_address_I2C" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number-single" label="3F" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <!-- ******************** Communication *************** -->
    <BlockGenus name="serial_read" kind="data" color="245 245 245" initlabel="bg.serial_read" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="serial_read_poly" kind="data" color="245 245 245" initlabel="bg.serial_read" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="poly" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="serial_available" kind="data" color="245 245 245" initlabel="bg.serial_available" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="serial_print" kind="command" color="245 245 245" initlabel="bg.serial_print" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>send message via Serial port</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label="bc.message" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.ln" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="true" label="true" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="message" kind="data" color="245 245 245" initlabel="bg.message" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>string message</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="glue_sn" kind="data" color="245 245 245" initlabel="bg.glue_sn" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>glue number to string</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="glue_sb" kind="data" color="245 245 245" initlabel="bg.glue_sb" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>glue boolean to string</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="boolean" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="glue_poly" kind="data" color="245 245 245" initlabel="bg.glue_poly" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text></text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="poly" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="wire_write" kind="command" color="245 245 245" initlabel="bg.wire_write" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>write data via I2C</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.device_address" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.register_address" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.value" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="wire_read" kind="data" color="245 245 245" initlabel="bg.wire_read" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>read data from i2c</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.device_address" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.register_address" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="wire_isread" kind="data" color="245 245 245" initlabel="bg.wire_isread" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>is last read from I2C success?</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <!-- ******************** Storage *************** -->
    <BlockGenus name="eeprom_read_int" kind="data" color="0 100 90" initlabel="bg.eeprom_read_int" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>EEPROM Read integer </text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.eeprom_address" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="eeprom_write_int" kind="command" color="0 100 90" initlabel="bg.eeprom_write_int" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>EEPROM Write integer</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.eeprom_address" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.eeprom_data" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="eeprom_read_long" kind="data" color="0 100 90" initlabel="bg.eeprom_read_long" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>EEPROM Read 'unsigned long'</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.eeprom_address" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="eeprom_write_long" kind="command" color="0 100 90" initlabel="bg.eeprom_write_long" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>EEPROM Write 'unsigned long'</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.eeprom_address" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.eeprom_data" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="eeprom_read" kind="data" color="0 100 90" initlabel="bg.eeprom_read" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>EEPROM Read</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.eeprom_address" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="eeprom_write" kind="command" color="0 100 90" initlabel="bg.eeprom_write" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>EEPROM Write</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.eeprom_address" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.eeprom_data" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="sd_write2" kind="command" color="0 100 90" initlabel="bg.sd_write2" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Write to SD card</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label="File" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="glue_msg" label="file.txt" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label="Data" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="Message" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.ln" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="true" label="True" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <!-- <BlockGenus name="sd_write" kind="command" color="0 100 90" -->
    <!-- initlabel="bg.sd_write"> -->
    <!-- <description> -->
    <!-- <text>Write to SD card</text> -->
    <!-- </description> -->
    <!-- <BlockConnectors> -->
    <!-- <BlockConnector connector-type="string" -->
    <!-- connector-kind="socket" label="File"> -->
    <!-- <DefaultArg genus-name="glue_msg" label="file.txt" /> -->
    <!-- </BlockConnector> -->
    <!-- <BlockConnector connector-type="string" -->
    <!-- connector-kind="socket" label="Return"> -->
    <!-- <DefaultArg genus-name="sd_return" label="Return" /> -->
    <!-- </BlockConnector> -->
    <!-- <BlockConnector connector-type="string" -->
    <!-- connector-kind="socket" label="Data"> -->
    <!-- <DefaultArg genus-name="message" label="Data" /> -->
    <!-- </BlockConnector> -->
    <!-- </BlockConnectors> -->
    <!-- </BlockGenus> -->
    <!-- -->
    <!-- <BlockGenus name="sd_write_number" kind="command" color="0 100 90" -->
    <!-- initlabel="bg.sd_write_number"> -->
    <!-- <description> -->
    <!-- <text>Write to SD card</text> -->
    <!-- </description> -->
    <!-- <BlockConnectors> -->
    <!-- <BlockConnector connector-type="string" -->
    <!-- connector-kind="socket" label="File"> -->
    <!-- <DefaultArg genus-name="glue_msg" label="file.txt" /> -->
    <!-- </BlockConnector> -->
    <!-- <BlockConnector connector-type="string" -->
    <!-- connector-kind="socket" label="Return"> -->
    <!-- <DefaultArg genus-name="sd_return" label="Return" /> -->
    <!-- </BlockConnector> -->
    <!-- <BlockConnector connector-type="number" -->
    <!-- connector-kind="socket" label="Number"> -->
    <!-- <DefaultArg genus-name="number" label="0" /> -->
    <!-- </BlockConnector> -->
    <!-- </BlockConnectors> -->
    <!-- </BlockGenus> -->
    <!-- -->
    <!-- <BlockGenus name="sd_write_number_int" kind="command" color="0 100 90" -->
    <!-- initlabel="bg.sd_write_number_int"> -->
    <!-- <description> -->
    <!-- <text>Write number to SD card</text> -->
    <!-- </description> -->
    <!-- <BlockConnectors> -->
    <!-- <BlockConnector connector-type="string" -->
    <!-- connector-kind="socket" label="File"> -->
    <!-- <DefaultArg genus-name="glue_msg" label="file.txt" /> -->
    <!-- </BlockConnector> -->
    <!-- <BlockConnector connector-type="string" -->
    <!-- connector-kind="socket" label="Return"> -->
    <!-- <DefaultArg genus-name="sd_return" label="Return" /> -->
    <!-- </BlockConnector> -->
    <!-- <BlockConnector connector-type="number" -->
    <!-- connector-kind="socket" label="Number"> -->
    <!-- <DefaultArg genus-name="number" label="0" /> -->
    <!-- </BlockConnector> -->
    <!-- </BlockConnectors> -->
    <!-- </BlockGenus> -->
    <!-- <BlockGenus name="sd_return" kind="data" color="255 255 0" -->
    <!-- initlabel="bg.sd_return" editable-label="no"> -->
    <!-- <BlockConnectors> -->
    <!-- <BlockConnector connector-type="string" -->
    <!-- connector-kind="mirror" /> -->
    <!-- </BlockConnectors> -->
    <!-- </BlockGenus> -->
    <!-- <BlockGenus name="sd_no_return" kind="data" color="255 255 0" -->
    <!-- initlabel="bg.sd_no_return" editable-label="no"> -->
    <!-- <BlockConnectors> -->
    <!-- <BlockConnector connector-type="string" -->
    <!-- connector-kind="mirror" /> -->
    <!-- </BlockConnectors> -->
    <!-- </BlockGenus> -->
    <!-- ******************** Especial Menu *************** -->
    <BlockGenus name="code_loop" kind="command" color="125 125 125" initlabel="bg.code_loop" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>send message via Serial port</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="glue_msg" label="Code" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="code_head" kind="command" color="125 125 125" initlabel="bg.code_head" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>send message via Serial port</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="glue_msg" label="Code" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="code_setup" kind="command" color="125 125 125" initlabel="bg.code_setup" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>send message via Serial port</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="glue_msg" label="Code" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <!-- ******************** Unused/Obsoletes *************** -->
    <BlockGenus name="glue_msg" kind="data" color="245 245 245" initlabel="bg.glue_msg" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text></text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="variable_fake" kind="data" initlabel="bg.fake" editable-label="yes" is-label-value="yes" color="204 51 0" label-unique="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Digital Var
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="digital-on" kind="data" color="204 153 255" initlabel="bg.digital-on" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="digital-off" kind="data" color="204 153 255" initlabel="bg.digital-off" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="serial_println" kind="command" color="245 245 245" initlabel="bg.serial_println" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>send message via Serial port</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="ir_setport" kind="command" color="245 245 245" initlabel="bg.ir_setport" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text></text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="11" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="ir_getcode" kind="command" color="245 245 245" initlabel="bg.ir_getcode" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text></text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="variable_string" label="ir code" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="bluno_println" kind="command" color="255 102 0" initlabel="bg.serial_println" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>send message via Serial port</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="bluno_println_number" kind="command" color="255 102 0" initlabel="bg.bluno_println_number" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>send message via Serial port</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no"></BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="bluno_println_clear" kind="command" color="255 102 0" initlabel="bg.bluno_println_number" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>send message via Serial port</text>
      </description>
    </BlockGenus>
    <!--************************************************************** TinkerKit! ********************************************************************** -->
    <BlockGenus name="Tinker_LED" kind="command" color="13 152 164" initlabel="bg.Tinker_LED" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>TinkerKit LED</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="Tinker_O1" label="O1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/arduino/Tinker_LED.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="Tinker_LED_pwm" kind="command" color="13 152 164" initlabel="bg.Tinker_LED_pwm" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>TinkerKit LED</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="Tinker_O1" label="O1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.level" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/arduino/Tinker_LED.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="Tinker_Mosfet" kind="command" color="13 152 164" initlabel="bg.Tinker_Mosfet" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>TinkerKit Mosfet</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="Tinker_O1" label="O1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-high" label="HIGH" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/arduino/Tinker_Mosfet.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="Tinker_Mosfet_pwm" kind="command" color="13 152 164" initlabel="bg.Tinker_Mosfet_pwm" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>TinkerKit Mosfet</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="Tinker_O1" label="O1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.level" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/arduino/Tinker_Mosfet.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="Tinker_Relay" kind="command" color="13 152 164" initlabel="bg.Tinker_Relay" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>TinkerKit Relay</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="Tinker_O1" label="O1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-high" label="HIGH" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/arduino/Tinker_Relay.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="Tinker_Servo" kind="command" color="13 152 164" initlabel="bg.Tinker_Servo" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>TinkerKit Servo</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="Tinker_O1" label="O1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.angle" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="90" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/arduino/Tinker_Servo.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="Tinker_Button" kind="data" color="13 152 164" initlabel="bg.Tinker_Button" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>TinkerKit Button</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="Tinker_I1" label="I1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/arduino/Tinker_Button.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="Tinker_Accmeter" kind="data" color="13 152 164" initlabel="bg.Tinker_Accmeter" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>TinkerKit Accelerometer</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="Tinker_I1" label="I1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/arduino/Tinker_Accmeter.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="Tinker_Hall" kind="data" color="13 152 164" initlabel="bg.Tinker_Hall" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>TinkerKit Hall Sensor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="Tinker_I1" label="I1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/arduino/Tinker_Hall.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="Tinker_LDR" kind="data" color="13 152 164" initlabel="bg.Tinker_LDR" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>TinkerKit LDR</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="Tinker_I1" label="I1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/arduino/Tinker_LDR.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="Tinker_LinearPotentiometer" kind="data" color="13 152 164" initlabel="bg.Tinker_LinearPotentiometer" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>TinkerKit Accelerometer</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="Tinker_I1" label="I1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/arduino/Tinker_LinearPotentiometer.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="Tinker_RotaryPotentiometer" kind="data" color="13 152 164" initlabel="bg.Tinker_RotaryPotentiometer" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>TinkerKit RotaryPotentiometer</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="Tinker_I1" label="I1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/arduino/Tinker_RotaryPotentiometer.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="Tinker_Thermistor" kind="data" color="13 152 164" initlabel="bg.Tinker_Thermistor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>TinkerKit Thermistor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="Tinker_I1" label="I1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/arduino/Tinker_Thermistor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="Tinker_Touch" kind="data" color="13 152 164" initlabel="bg.Tinker_Touch" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>TinkerKit Touch Sensor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="Tinker_I1" label="I1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/arduino/Tinker_Touch.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="Tinker_Servo" kind="command" color="13 152 164" initlabel="bg.Tinker_Servo" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>TinkerKit Servo</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="Tinker_I1" label="I1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.angle" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="90" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/arduino/Tinker_Servo.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="Tinker_Tilt" kind="data" color="13 152 164" initlabel="bg.Tinker_Tilt" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>TinkerKit Tilt</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="Tinker_I1" label="I1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/arduino/Tinker_Tilt.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="Tinker_I0" kind="data" color="13 152 164" initlabel="bg.Tinker_I0" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Tinker_I1" kind="data" color="13 152 164" initlabel="bg.Tinker_I1" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Tinker_I2" kind="data" color="13 152 164" initlabel="bg.Tinker_I2" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Tinker_I3" kind="data" color="13 152 164" initlabel="bg.Tinker_I3" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Tinker_I4" kind="data" color="13 152 164" initlabel="bg.Tinker_I4" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Tinker_I5" kind="data" color="13 152 164" initlabel="bg.Tinker_I5" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Tinker_O0" kind="data" color="214 169 54" initlabel="bg.Tinker_O0" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Tinker_O1" kind="data" color="214 169 54" initlabel="bg.Tinker_O1" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Tinker_O2" kind="data" color="214 169 54" initlabel="bg.Tinker_O2" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Tinker_O3" kind="data" color="214 169 54" initlabel="bg.Tinker_O3" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Tinker_O4" kind="data" color="214 169 54" initlabel="bg.Tinker_O4" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Tinker_O5" kind="data" color="214 169 54" initlabel="bg.Tinker_O5" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <!-- Xinchejian -->
    <BlockGenus name="xcj_motor_forward" kind="command" color="0 255 0" initlabel="bg.xcj_motor_forward" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>forward</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="M#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="speed" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/motor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="xcj_motor_backward" kind="command" color="0 255 0" initlabel="bg.xcj_motor_backward" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Moving the car backward</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="M#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="speed" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/motor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="xcj_ms_digital_write" kind="command" color="0 255 0" initlabel="bg.xcj_ms_digital_write" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Write ditial singal to Socket</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="S#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-high" label="HIGH" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="xcj_ms_digital_read" kind="data" color="0 255 0" initlabel="bg.xcj_ms_digital_read" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital status from socket</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="S#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <!-- ******** Panda Shield ******** -->
    <BlockGenus name="panda_i1" kind="data" color="214 169 54" initlabel="bg.panda_i1" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="panda_i2" kind="data" color="214 169 54" initlabel="bg.panda_i2" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="panda_i3" kind="data" color="214 169 54" initlabel="bg.panda_i3" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="panda_i4" kind="data" color="214 169 54" initlabel="bg.panda_i4" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="panda_i5" kind="data" color="214 169 54" initlabel="bg.panda_i5" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="panda_i6" kind="data" color="214 169 54" initlabel="bg.panda_i6" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="panda_o1" kind="data" color="214 169 54" initlabel="bg.panda_o1" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="panda_o2" kind="data" color="214 169 54" initlabel="bg.panda_o2" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="panda_o3" kind="data" color="214 169 54" initlabel="bg.panda_o3" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="panda_o4" kind="data" color="214 169 54" initlabel="bg.panda_o4" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="panda_o5" kind="data" color="214 169 54" initlabel="bg.panda_o5" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="panda_o6" kind="data" color="214 169 54" initlabel="bg.panda_o6" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
	
	
	
    <!--************************************************************** WIFI-ROBOTS START****************************************************************-->
	
	<BlockGenus name="wr_greater" kind="data" color="0 0 255" initlabel="bg.wr_greater" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        	<BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_greater_value" positison-type="single" is-expandable="no">
			<DefaultArg genus-name="number" label="00"/>
			</BlockConnector> 
      </BlockConnectors>
    </BlockGenus>
	
	<BlockGenus name="wr_less" kind="data" color="0 0 255" initlabel="bg.wr_less" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        	<BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_less_value" positison-type="single" is-expandable="no">
			<DefaultArg genus-name="number" label="00"/>
			</BlockConnector> 
      </BlockConnectors>
    </BlockGenus>
	
	<BlockGenus name="wr_equal" kind="data" color="0 0 255" initlabel="bg.wr_equal" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        	<BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_equal_value" positison-type="single" is-expandable="no">
			<DefaultArg genus-name="number" label="00"/>
			</BlockConnector> 
      </BlockConnectors>
    </BlockGenus>
	
	<BlockGenus name="wr_greater_equal" kind="data" color="0 0 255" initlabel="bg.wr_greater_equal" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        	<BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_greater_equal_value" positison-type="single" is-expandable="no">
			<DefaultArg genus-name="number" label="00"/>
			</BlockConnector> 
      </BlockConnectors>
    </BlockGenus>

	<BlockGenus name="wr_less_equal" kind="data" color="0 0 255" initlabel="bg.wr_less_equal" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        	<BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_less_equal_value" positison-type="single" is-expandable="no">
			<DefaultArg genus-name="number" label="00"/>
			</BlockConnector> 
      </BlockConnectors>
    </BlockGenus>
	
    <BlockGenus name="wr_led" kind="command" color="0 0 255" initlabel="bg.wr_led" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>WIFI-ROBOTS LED Module</text>
      </description>
      <BlockConnectors>
        	<BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A0" />
			</BlockConnector> 
			
			<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.buzzer_status" position-type="single" is-expandable="no">
			<DefaultArg genus-name="digital-high" label="HIGH"/>
			</BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_pic_led.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>

    <BlockGenus name="wr_motor_forward" kind="command" color="0 0 255" initlabel="bg.wr_motor_forward" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>robot forward</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_m1" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="100" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_m2" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="100" />
        </BlockConnector>
		<!--
		<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_angle" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
		-->
      </BlockConnectors>
	  <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_forward.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	    <BlockGenus name="wr_motor_backward" kind="command" color="0 0 255" initlabel="bg.wr_motor_backward" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>robot backward</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_m1" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="100" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_m2" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="100" />
		</BlockConnector>
		<!--
		<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_angle" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
		-->
      </BlockConnectors>
	  	<Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_backward.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	    <BlockGenus name="wr_motor_turnleft" kind="command" color="0 0 255" initlabel="bg.wr_motor_turnleft" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>robot turnleft</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_m1" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="100" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_m2" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="100" />
        </BlockConnector>
		<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_angle" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
      </BlockConnectors>
	 <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_turnleft.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	    <BlockGenus name="wr_motor_turnright" kind="command" color="0 0 255" initlabel="bg.wr_motor_turnright" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>robot turnright</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_m1" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="100" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_m2" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="100" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_angle" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
      </BlockConnectors>
	  <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_turnright.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	<BlockGenus name="wr_motor_stop" kind="command" color="0 0 255" initlabel="bg.wr_motor_stop" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
		  <description>
			<text>stop robot</text>
		  </description>
	 <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_stop.png</FileLocation>
        </Image>
      </Images>
		</BlockGenus>

	<BlockGenus name="wr_buzzer" kind="command" color="0 0 255" initlabel="bg.wr_buzzer" editable-label="yes" label-unique="no" is-label-value="yes" page-label-enabled="no" is-starter="no" is-terminator="no">
		<description>
			<text>Buzzer</text>
		</description>
		<BlockConnectors>	
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A0" />
			</BlockConnector> 
			
			<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.buzzer_status" position-type="single" is-expandable="no">
			<DefaultArg genus-name="digital-high" label="HIGH"/>
			</BlockConnector>
		</BlockConnectors>
		 <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_beep.png</FileLocation>
        </Image>
      </Images>
	</BlockGenus>
	
    	<BlockGenus name="wr_servo" kind="command" color="0 0 255" initlabel="bg.wr_servo" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
		<description>
			<text>Servo</text>
		</description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.servo_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.angle" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
	  	<Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_sg90.png</FileLocation>
        </Image>
      </Images>
	</BlockGenus>

    <BlockGenus name="wr_ir_switch" kind="data" color="0 0 255" initlabel="bg.wr_ir_switch" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
       		<BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A0" />
			</BlockConnector> 
			
			<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.buzzer_status" position-type="single" is-expandable="no">
			<DefaultArg genus-name="digital-high" label="HIGH"/>
			</BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_pic_ir_switch.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	<BlockGenus name="wr_light_sensor" kind="data" color="0 0 255" initlabel="bg.wr_light_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
			<BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A0" />
			</BlockConnector> 
			
			<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.buzzer_status" position-type="single" is-expandable="no">
			<DefaultArg genus-name="digital-high" label="HIGH"/>
			</BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_light_sensor.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	<BlockGenus name="wr_fire_sensor" kind="data" color="0 0 255" initlabel="bg.wr_fire_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
       	    <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A0" />
			</BlockConnector> 
			 
			<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.buzzer_status" position-type="single" is-expandable="no">
			<DefaultArg genus-name="digital-high" label="HIGH"/>
			</BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_fire_sensor.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	<BlockGenus name="wr_voice_sensor" kind="data" color="0 0 255" initlabel="bg.wr_voice_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        	<BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A0" />
			</BlockConnector> 
			
			<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.buzzer_status" position-type="single" is-expandable="no">
			<DefaultArg genus-name="digital-high" label="HIGH"/>
			</BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_voice_sensor.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	<BlockGenus name="wr_shock_sensor" kind="data" color="0 0 255" initlabel="bg.wr_shock_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
       		<BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A0" />
			</BlockConnector> 
			
			<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.buzzer_status" position-type="single" is-expandable="no">
			<DefaultArg genus-name="digital-high" label="HIGH"/>
			</BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_shock_sensor.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	<BlockGenus name="wr_relay" kind="command" color="0 0 255" initlabel="bg.wr_relay" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="yes" position-type="single" is-expandable="no">
          <DefaultArg genus-name="variable_number" label="A0" />
        </BlockConnector>
		
		<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.buzzer_status" position-type="single" is-expandable="no">
		<DefaultArg genus-name="digital-high" label="HIGH"/>
		</BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_relay.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	<BlockGenus name="wr_button_switch" kind="data" color="0 0 255" initlabel="bg.wr_button_switch" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
       		<BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A0" />
			</BlockConnector> 
			
			<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.buzzer_status" position-type="single" is-expandable="no">
			<DefaultArg genus-name="digital-high" label="HIGH"/>
			</BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_button_switch.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	<BlockGenus name="wr_mercury_switch" kind="data" color="0 0 255" initlabel="bg.wr_mercury_switch" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
       		<BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A0" />
			</BlockConnector> 
			
			<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.buzzer_status" position-type="single" is-expandable="no">
			<DefaultArg genus-name="digital-high" label="HIGH"/>
			</BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_mercury_switch.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	<BlockGenus name="wr_touch_switch" kind="data" color="0 0 255" initlabel="bg.wr_touch_switch" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
       		<BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A0" />
			</BlockConnector> 
			
			<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.buzzer_status" position-type="single" is-expandable="no">
			<DefaultArg genus-name="digital-high" label="HIGH"/>
			</BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_touch_switch.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	
	<BlockGenus name="wr_laser" kind="command" color="0 0 255" initlabel="bg.wr_laser" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
 	  <BlockConnectors>
      <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="yes" position-type="single" is-expandable="no">
          <DefaultArg genus-name="variable_number" label="A0" />
        </BlockConnector>
		
		<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.buzzer_status" position-type="single" is-expandable="no">
		<DefaultArg genus-name="digital-high" label="HIGH"/>
		</BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_laser.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	
	<BlockGenus name="wr_magnetic_reed_switch" kind="data" color="0 0 255" initlabel="bg.wr_magnetic_reed_switch" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
       		<BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A0" />
			</BlockConnector> 
			
			<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.buzzer_status" position-type="single" is-expandable="no">
			<DefaultArg genus-name="digital-high" label="HIGH"/>
			</BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_magnetic_reed_switch.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	<BlockGenus name="wr_ultrasonic_sensor" kind="data" color="0 0 255" initlabel="bg.wr_ultrasonic_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
       		<BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
			<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.wr_ultrasonic_sensor_value" position-type="single" is-expandable="no">
			<DefaultArg genus-name="wr_equal" label="=="/>
			</BlockConnector>
	  </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_ultrasonic.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	

	<BlockGenus name="wr_dht11_temperature" kind="data" color="0 0 255" initlabel="bg.wr_dht11_temperature" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
       		<BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" >
			<DefaultArg genus-name="dummy" label="" />
			</BlockConnector>
			<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.wr_dht11_temperature_value" position-type="single" is-expandable="no">
			<DefaultArg genus-name="wr_equal" label="=="/>
			</BlockConnector>
			
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_dht11_sensor.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus> 
	
	<BlockGenus name="wr_dht11_humidity" kind="data" color="0 0 255" initlabel="bg.wr_dht11_humidity" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
       		<BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" >
			<DefaultArg genus-name="dummy" label="" />
			</BlockConnector>
			<BlockConnector connector-type="boolean" connector-kind="socket" label="bc.wr_dht11_humidity_value" position-type="single" is-expandable="no">
			<DefaultArg genus-name="wr_equal" label="=="/>
			</BlockConnector>
			
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_dht11_sensor.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus> 
	
	<BlockGenus name="wr_track_line" kind="command" color="0 0 255" initlabel="bg.wr_track_line" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>

			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_pin_left" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A3" />

			</BlockConnector>
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_pin_right" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A2" />
			</BlockConnector>
			
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_left_speed" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="100" />
			</BlockConnector> 

			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_right_speed" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="100" />
			</BlockConnector> 
			
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_track_line.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	<BlockGenus name="wr_IR_avoid" kind="command" color="0 0 255" initlabel="bg.wr_IR_avoid" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>

			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_pin_IR" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A1" />
			</BlockConnector> 
			
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_left_speed" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="100" />
			</BlockConnector> 

			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_right_speed" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="100" />
			</BlockConnector> 
			
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_ir_avoid.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	<BlockGenus name="wr_ultrasonic_avoid" kind="command" color="0 0 255" initlabel="bg.wr_ultrasonic_avoid" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>

			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_pin_trig" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A4" />
			</BlockConnector> 

			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_pin_echo" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="A5" />
			</BlockConnector>

			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_left_speed" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="100" />
			</BlockConnector> 

			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_right_speed" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="100" />
			</BlockConnector> 
			
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_avoid_distance" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="20" />
			</BlockConnector> 
			
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_ultrasonic_avoid.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>

	<BlockGenus name="wr_12864_display" kind="command" color="0 0 255" initlabel="bg.wr_12864_display" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
		<description>
		<text>12864Display have four line,Limited to 16 bytes in a line</text>
		</description>
	<BlockConnectors>
			<!--
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_pin_rs" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="26" />
			</BlockConnector> 

			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_pin_rw" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="25" />
			</BlockConnector>
			
			<BlockConnector connector-type="number" connector-kind="socket" label="bc.wr_pin_en" position-type="single" label-editable="yes" is-expandable="no">
			<DefaultArg genus-name="variable_number" label="24" />
			</BlockConnector>
			-->
			<BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
			<DefaultArg genus-name="glue_msg" label="1st Line Code   " />
			</BlockConnector>
			
			<BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
			<DefaultArg genus-name="glue_msg" label="2nd Line Code   " />
			</BlockConnector>
			
			<BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
			<DefaultArg genus-name="glue_msg" label="3rd Line Code   " />
			</BlockConnector>
			
			<BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
			<DefaultArg genus-name="glue_msg" label="4th Line Code   " />
			</BlockConnector>
			
      </BlockConnectors>
	  
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/wifirobots/wr_12864_display.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
	
	
	
	
<!--************************************************************** WIFIRobot END*************************************************************************** -->
  


  <!--************************************************************** 以下为DFRobot *************************************************************************** -->
    <BlockGenus name="df_digital_viberation_sensor" kind="data" color="255 102 0" initlabel="bg.df_digital_viberation_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0027.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_digital_tilt_sensor" kind="data" color="255 102 0" initlabel="bg.df_digital_tilt_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0028.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_digital_infrared_motion_sensor" kind="data" color="255 102 0" initlabel="bg.df_digital_infrared_motion_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/sen0018.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_digital_ir_receiver_module" kind="data" color="255 102 0" initlabel="bg.df_digital_ir_receiver_module" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0094.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_adjustable_infrared_sensor_switch" kind="data" color="255 102 0" initlabel="bg.df_adjustable_infrared_sensor_switch" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/sen0019.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_line_tracking_sensor" kind="data" color="255 102 0" initlabel="bg.df_line_tracking_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/sen0017.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_digital_push_button" kind="data" color="255 102 0" initlabel="bg.df_digital_push_button" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0029.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_joystick_module_button" kind="data" color="255 102 0" initlabel="bg.df_joystick_module_button" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0061.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_capacitive_touch_sensor" kind="data" color="255 102 0" initlabel="bg.df_capacitive_touch_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0030.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_digital_magnetic_sensor" kind="data" color="255 102 0" initlabel="bg.df_digital_magnetic_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0033.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_pizeo_disk_vibration_sensor" kind="data" color="255 102 0" initlabel="bg.df_pizeo_disk_vibration_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Vibration Sensor buffers a piezoelectric transducer that
					responds to strain changes by generating a measurable output
					voltage change which is proportional to the strength
					of vibration.
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0052.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_analog_ambient_light_sensor" kind="data" color="255 102 0" initlabel="bg.df_analog_ambient_light_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>The ambient light sensor detects light density.  </text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0026.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_analog_grayscale_sensor" kind="data" color="255 102 0" initlabel="bg.df_analog_grayscale_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Analog Grayscale Sensor detect the grayscale.</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0022.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_flame_sensor" kind="data" color="255 102 0" initlabel="bg.df_flame_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0076.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_analog_mma7361_x" kind="data" color="255 102 0" initlabel="bg.df_analog_mma7361_x" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0143.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_analog_mma7361_y" kind="data" color="255 102 0" initlabel="bg.df_analog_mma7361_y" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0143.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_analog_mma7361_z" kind="data" color="255 102 0" initlabel="bg.df_analog_mma7361_z" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0143.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_analog_gp2y0a21" kind="data" color="255 102 0" initlabel="bg.df_analog_gp2y0a21" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label="centermeter" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/sen0014.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_analog_moisture" kind="data" color="255 102 0" initlabel="bg.df_analog_moisture" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/sen0114.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_temperature_sensor" kind="data" color="255 102 0" initlabel="bg.df_temperature_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0023.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_joystick_module_x" kind="data" color="255 102 0" initlabel="bg.df_joystick_module_x" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0061.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_joystick_module_y" kind="data" color="255 102 0" initlabel="bg.df_joystick_module_y" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0061.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_mma7260_x" kind="data" color="255 102 0" initlabel="bg.df_mma7260_x" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0068.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_mma7260_y" kind="data" color="255 102 0" initlabel="bg.df_mma7260_y" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0068.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_mma7260_z" kind="data" color="255 102 0" initlabel="bg.df_mma7260_z" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0068.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_analog_rotation_sensor_v1" kind="data" color="255 102 0" initlabel="bg.df_analog_rotation_sensor_v1" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0054.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_analog_rotation_sensor_v2" kind="data" color="255 102 0" initlabel="bg.df_analog_rotation_sensor_v2" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0058.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_analog_sound_sensor" kind="data" color="255 102 0" initlabel="bg.df_analog_sound_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0034.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_analog_volume_sensor" kind="data" color="255 102 0" initlabel="bg.df_analog_sound_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value of sound volume from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0034_vol.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_analog_gas_sensor" kind="data" color="255 102 0" initlabel="bg.df_analog_gas_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0049.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_analog_co_sensor" kind="data" color="255 102 0" initlabel="bg.df_analog_co_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/sen0132.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_analog_voltage_divider" kind="data" color="255 102 0" initlabel="bg.df_analog_voltage_divider" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0051.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_servo" kind="command" color="255 102 0" initlabel="bg.df_servo" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>set a pin to pwm</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.angle" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="df_360_degree_rotation_motor" kind="command" color="255 102 0" initlabel="bg.df_360_degree_rotation_motor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>set a pin to pwm</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.angle" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="df_dht11_temperature" kind="data" color="77 191 169" initlabel="bg.df_dht11_temperature" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="df_dht11_humidity" kind="data" color="77 191 169" initlabel="bg.df_dht11_humidity" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="df_romeo_motors" kind="command" color="255 102 0" initlabel="bg.df_romeo_motors" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>set a pin to pwm</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.m1" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="100" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.m2" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="100" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="df_romeo_motor" kind="command" color="255 102 0" initlabel="bg.df_romeo_motor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>set a pin to pwm</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.motor_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.speed_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="100" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="df_romeo_motor_stop" kind="command" color="255 102 0" initlabel="bg.df_romeo_motor_stop" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>set a pin to pwm</text>
      </description>
    </BlockGenus>
    <BlockGenus name="df_led" kind="command" color="255 102 0" initlabel="bg.df_led" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DFRobot LED Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0021.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_led_pwm" kind="command" color="255 102 0" initlabel="bg.df_led_pwm" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DFRobot LED Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.level" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0021.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_piranha_led" kind="command" color="255 102 0" initlabel="bg.df_piranha_led" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DFRobot piranha LED Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0031.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_piranha_led_pwm" kind="command" color="255 102 0" initlabel="bg.df_piranha_led_pwm" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DFRobot pianha LED Module with brightnes level</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.level" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0031.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_relay" kind="command" color="255 102 0" initlabel="bg.df_relay" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Dfrobot Relay Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-high" label="HIGH" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0017.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_buzzer" kind="command" color="255 102 0" initlabel="bg.df_buzzer" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DFRobot buzzer Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0032.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_buzzer_tone" kind="command" color="255 102 0" initlabel="bg.df_buzzer" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Generates a square wave of the specified frequency (and 50%
					duty cycle) on a pin.
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="8" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.frequency" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="440" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0032.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_buzzer_tone_delay" kind="command" color="255 102 0" initlabel="bg.df_buzzer" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Generates a square wave of the specified frequency (and 50%
					duty cycle) on a pin.
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="8" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.frequency" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="440" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.milliseconds" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/dfrobot/dfr0032.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="df_lcd_keypad" kind="command" color="255 102 0" initlabel="bg.df_lcd_keypad" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>LCD</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label="bg.message" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="message" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/bulk/lcd2x16-01.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <!-- seeedstudio grove -->
    <BlockGenus name="seeed_joystick" kind="data" color="0 255 0" initlabel="bg.seeed_joystick" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/COM90133P.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_joystick_button" kind="data" color="0 255 0" initlabel="bg.seeed_joystick_button" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/COM90133P.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_o2_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_o2_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/o2.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_uv_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_uv_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/uv.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_single_gyro" kind="data" color="0 255 0" initlabel="bg.seeed_single_gyro" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/gyro.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_mq9_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_mq9_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/mq9.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_mp3_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_mp3_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/mq3.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_vib_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_vib_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/vib_sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_loud_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_loud_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/loud_sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_diff_amp" kind="data" color="0 255 0" initlabel="bg.seeed_diff_amp" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/diff_amp.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_ir_temp_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_ir_temp_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/ir_temp_sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_ir_proximity_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_ir_proximity_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/ir_proximity_sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_electricity_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_electricity_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/electricity_sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_angle_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_angle_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/angle_sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_sound_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_sound_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/sound_sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_moisture_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_moisture_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/moisture_sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_temp_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_temp_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read analog value from analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/temp_sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_voltage_divider" kind="data" color="0 255 0" initlabel="bg.seeed_voltage_divider" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital from the pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/voltage_divider.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_flame_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_flame_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital from the pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/flame_sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_button" kind="data" color="0 255 0" initlabel="bg.seeed_button" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital from the pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/button.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_switch" kind="data" color="0 255 0" initlabel="bg.seeed_switch" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital from the pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/switch.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_ir_refl_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_ir_refl_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital from the pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/ir_refl_sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_heart_rate_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_heart_rate_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital from the pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/heart_rate_sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_light_sensor" kind="data" color="0 255 0" initlabel="bgseeed_light_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read light</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_A0" label="A0" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Light_Sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_chest_heart_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_chest_heart_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital from the pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/chest_heart_sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_air_quality_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_air_quality_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital from the pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/air_quality_sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_line_finder" kind="data" color="0 255 0" initlabel="bg.seeed_line_finder" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital from the pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/line_finder.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_pir_motion_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_pir_motion_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital from the pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/pir_motion_sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_tilt_switch" kind="data" color="0 255 0" initlabel="bg.seeed_tilt_switch" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital from the pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/tilt_switch.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_push_button" kind="data" color="0 255 0" initlabel="bg.seeed_push_button" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital from the pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/push_button.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_water_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_water_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital from the pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/water_sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_touch_sensor" kind="data" color="0 255 0" initlabel="bg.seeed_touch_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital from the pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/touch_sensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_mag_switch" kind="data" color="0 255 0" initlabel="bg.seeed_mag_switch" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital from the pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/mag_switch.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_ir_dist_int" kind="data" color="1 255 0" initlabel="bg.seeed_ir_dist_int" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Read digital from the pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/ir_dist_int.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_circle_led" kind="command" color="0 255 0" initlabel="bg.seeed_circle_led" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Write status to digital pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/circle_led.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_2coil_relay" kind="command" color="0 255 0" initlabel="bg.seeed_2coil_relay" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Write status to digital pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/2coil_relay.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_dry_relay" kind="command" color="0 255 0" initlabel="bg.seeed_dry_relay" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Write status to digital pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/dry_relay.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_solid_relay" kind="command" color="0 255 0" initlabel="bg.seeed_solid_relay" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Write status to digital pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/solid_relay.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_circle_led" kind="command" color="0 255 0" initlabel="bg.seeed_circle_led" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Write status to digital pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/circle_led.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_led_strip" kind="command" color="0 255 0" initlabel="bg.seeed_led_strip" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Write status to digital pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/led_strip.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_led" kind="command" color="0 255 0" initlabel="bg.seeed_led" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Write status to digital pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/led.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_var_led" kind="command" color="0 255 0" initlabel="bg.seeed_var_led" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Write status to digital pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/var_led.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_vib" kind="command" color="0 255 0" initlabel="bg.seeed_vib" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Write status to digital pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/vib.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="seeed_relay" kind="command" color="0 255 0" initlabel="bg.seeed_relay" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Write status to digital pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/relay.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <!-- end of seeedStudio -->
    <!-- DuinoEDU -->
    <BlockGenus name="DuinoEDU_infrared" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_infrared" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Infrared distance sensor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label="code" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/infrared.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_temp" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_temp" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>temp sensor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label="code" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/temp_humi.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_tempPro" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_tempPro" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>temp sensor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label="code" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/temp_humi_pro.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_humi" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_humi" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>humi sensor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label="code" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/temp_humi.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_humiPro" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_humiPro" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>humi sensor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label="code" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/temp_humi_pro.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Ultrasonic" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Ultrasonic" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>temp sensor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label="code" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.sample" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Ultrasonic_Ranger.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Led_Bar" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Led_Bar" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Led_Bar</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="Clk #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Dio #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D3" label="D3" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.level" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Min" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Max" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/led_bar.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_LCD_I2C_RGB" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_LCD_I2C_RGB" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>LCD_I2C_RG</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label="bc.print" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="LCD I2C RGB" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.line_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/LCD_Serial_RGB_Backlight.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_LCD_I2C_Backlight" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_LCD_I2C_Backlight" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>LCD_I2C_Backlight</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.red" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.green" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.blue" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/LCD_Serial_RGB_Backlight.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_LCD_I2C_RGB_Clear" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_LCD_I2C_RGB_Clear" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>LCD_I2C_RG_Clear</text>
      </description>
      <BlockConnectors></BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/LCD_Serial_RGB_Backlight.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Oled_I2C" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Oled_I2C" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Oled_I2C</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label="bc.print" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="Oled I2C" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.line_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.DuinoEDU_Brightness" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Oled.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Oled_Clear" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Oled_Clear" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Oled_Clear</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Oled.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="keyboard_post" kind="data" color="0 255 0" initlabel="bg.keyboard_post" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>keyboard post</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="poly" connector-kind="plug" label="letter" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="DataPin #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="IRQpin #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D3" label="D3" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keyboard.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="keyboard_compare" kind="function" color="0 255 0" initlabel="bg.keyboard_compare" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>keyboard post</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label="letter" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="DataPin #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="IRQpin #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D3" label="D3" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_equal" label="==" />
        </BlockConnector>
        <BlockConnector connector-type="poly" connector-kind="socket" label="touche" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="char" label="A" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keyboard.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_equal" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_equal" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_not_equal" kind="data" color="214 169 54" initlabel="DuinoEDU_not_equal" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_greater" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_greater" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_less" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_less" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_greater_equal" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_greater_equal" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_less_equal" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_less_equal" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Mouse_Xmove" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Mouse_Xmove" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Mouse X Move </text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label="letter" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="DataPin #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Clk #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D3" label="D3" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/mouse.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Mouse_Ymove" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Mouse_Ymove" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Mouse Y Move </text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label="letter" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="DataPin #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Clk #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D3" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/mouse.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Keypad_12_Button" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Keypad_12_Button" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Keypad 12 or 16 Buttons</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="StartPin #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="EndPin #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D8" label="D8" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.DuinoEDU_serial_display" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_setSerialInfosOn" label="activer" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keypad_12_button.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Keypad_Post" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Keypad_Post" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Keypad post</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" label="letter" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Keypad_Pwd" kind="function" color="0 255 0" initlabel="bg.DuinoEDU_Keypad_Pwd" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Keypad pwd</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label="letter" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="Pwd" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1234" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_setSerialInfosOn" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_setSerialInfosOn" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_setSerialInfosOff" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_setSerialInfosOff" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Digital_Tube" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Digital_Tube" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Didital Tube</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="Clk #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Dio #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D3" label="D3" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.DuinoEDU_Brightness" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="7" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.DuinoEDU_Display_Point" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="Allumé" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Didital_Tube.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Digital_Tube_Ecrire" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Digital_Tube_Ecrire" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Didital Tube Ecrire</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="Clk #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Dio #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D3" label="D3" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.DuinoEDU_Display" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="9999" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Didital_Tube.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Display_Digital_Tube" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Display_Digital_Tube" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Display Didital Tube</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="Clk #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Dio #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D3" label="D3" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.DuinoEDU_Display" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.DuinoEDU_On_digit" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_On_digit1" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Didital_Tube.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_On_digit1" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_On_digit1" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_On_digit2" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_On_digit2" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_On_digit3" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_On_digit3" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_On_digit4" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_On_digit4" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Display_Digital_Tube2" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Display_Digital_Tube2" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Display Didital Tube</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.DuinoEDU_On_digit1" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.DuinoEDU_On_digit2" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.DuinoEDU_On_digit3" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.DuinoEDU_On_digit4" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.DuinoEDU_Display_Point" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="allumé" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Didital_Tube.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Digital_Clear" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Digital_Clear" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Didital Tube Clear</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="Clk #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Dio #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D3" label="D3" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Didital_Tube.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Driver_I2C_Forward" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Driver_I2C_Forward" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Driver I2C forward</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_right" label="droite" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/I2CMotorDriver.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Driver_I2C_Stop" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Driver_I2C_Stop" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Driver I2C STOP</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/I2CMotorDriver.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Driver_I2C_Back" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Driver_I2C_Back" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Driver I2C back</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_right" label="Right" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/I2CMotorDriver.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Driver_I2C_Pivoter" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Driver_I2C_Pivoter" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Driver I2C pivote</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_right" label="Right" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/I2CMotorDriver.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Driver_I2C_Speed_A_Motor" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Driver_I2C_Speed_A_Motor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Driver I2C Speed A Motor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/I2CMotorDriver.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Driver_I2C_Speed_B_Motor" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Driver_I2C_Speed_B_Motor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Driver I2C Speed B Motor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/I2CMotorDriver.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_right" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_right" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_straight" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_straight" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_left" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_left" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Aix_Acc_mesurerX" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Aix_Acc_mesurerX" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Acc mesurer X</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label="code" label-editable="no" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/3_aix_acc.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Aix_Acc_mesurerY" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Aix_Acc_mesurerY" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Acc mesurer Y</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label="code" label-editable="no" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/3_aix_acc.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Aix_Acc_mesurerZ" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Aix_Acc_mesurerZ" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Acc mesurer Z</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label="code" label-editable="no" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/3_aix_acc.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Aix_Acc_mesurerXYZ" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Aix_Acc_mesurerXYZ" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Acc mesurer XYZ</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label="code" label-editable="no" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/3_aix_acc.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Aix_Acc_mesurerVariation" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Aix_Acc_mesurerVariation" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Acc mesurer Variation</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label="code" label-editable="no" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/3_aix_acc.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Partie_Emetteur" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Partie_Emetteur" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Partie Emetteur</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label="bc.print" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="Emetteur" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Simple_RF.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Partie_Recepteur" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Partie_Recepteur" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Partie Recepteur</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="poly" connector-kind="plug" label="letter" position-type="mirror" label-editable="no" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Simple_RF.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Rfid_Write" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Rfid_Write" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DuinoEDU_Rfid_Write</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D3" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label="Code" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="12345678" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/rfid.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Rfid_Ram_List" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Rfid_Ram_List" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DuinoEDU_Rfid_Ram_List</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D3" label="D3" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label="Code" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="12345678 23456789" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/rfid.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Rfid_Test" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Rfid_Test" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DuinoEDU_Rfid_Test</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" label="Code" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="12345678 23456789" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/rfid.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Rfid_Read" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Rfid_Read" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DuinoEDU_Rfid_Read</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/rfid.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Rfid_Clear" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Rfid_Clear" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DuinoEDU_Rfid_Clear</text>
      </description>
      <BlockConnectors></BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/rfid.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_neopixel_init" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_neopixel_init" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DuinoEDU_neopixel_init</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Nb Led" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="60" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="ada_neopixel_NEO_KHZ800" label="NEO_KHZ800" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="ada_neopixel_NEO_GRB" label="NEO_GRB" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/adafruit/neopixel.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_neopixel_pixel_colorGRB" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_neopixel_pixel_colorGRB" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DuinoEDU_neopixel_pixel_colorGRB</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Pixel Nb" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="20" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.red" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.green" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.blue" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Nb Led" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="30" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.step2" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.red_end" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.green_end" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.blue_end" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/adafruit/neopixel.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_neopixel_pixel_colorRGB" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_neopixel_pixel_colorRGB" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DuinoEDU_neopixel_pixel_colorRGB</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Pixel Nb" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="20" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.red" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.green" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.blue" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Nb Led" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="30" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.step2" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.red_end" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.green_end" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.blue_end" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/adafruit/neopixel.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_neopixel_show" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_neopixel_show" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DuinoEDU_neopixel_show</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/adafruit/neopixel.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_neopixel_Brightness" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_neopixel_Brightness" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DuinoEDU_neopixel_Brightness</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.DuinoEDU_Brightness" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/adafruit/neopixel.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_neopixel_Clear" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_neopixel_Clear" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DuinoEDU_neopixel_Clear</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/adafruit/neopixel.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_stepper_step" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_stepper_step" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DuinoEDU_stepper_step</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D3" label="D3" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D5" label="D5" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D6" label="D6" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D9" label="D9" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.stepperround" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="3072" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/stepper.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_stepper_setSpeed" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_stepper_setSpeed" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DuinoEDU_stepper_setSpeed</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D3" label="D3" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D5" label="D5" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D6" label="D6" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D9" label="D9" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.speed_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="9" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.step" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="500" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/stepper.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_matrice_write" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_matrice_write" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DuinoEDU_stepper_setSpeed</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="Din #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D5" label="D5" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="CS #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D6" label="D6" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="CLK #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D7" label="D7" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="X" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="7" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Y" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="7" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.DuinoEDU_Display_Point" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="Allumé" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/matrice-64-spi.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_matrice_clear" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_matrice_clear" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DuinoEDU_matrice_clear</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="Din #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D5" label="D5" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="CS #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D6" label="D6" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="CLK #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D7" label="D7" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/matrice-64-spi.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_matrice_Brightness" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_matrice_Brightness" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DuinoEDU_matrice_Brightness</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="Din #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D5" label="D5" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="CS #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D6" label="D6" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="CLK #" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D7" label="D7" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.DuinoEDU_Brightness" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="15" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/matrice-64-spi.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Led" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Led" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Write status to digital pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="Allumé" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/LED_BLANCHE_GROVE.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Servo_Plus" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Servo_plus" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Servo Plus</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.angle" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="90" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.speed_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/SERVO_SG90_DUPONT_ASSEMBLE.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_SerialOscillo" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_SerialOscillo" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Serial Oscillo</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no"></BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.dial" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.in" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_Volts" label="Volts" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_SerialOscillo_Init" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_SerialOscillo_Init" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Serial Oscillo Init</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.serial_broche" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="2" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Volts" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_Volts" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_VALEURS_BRUTES" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_VALEURS_BRUTES" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_CM" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_CM" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_DEGRES" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_DEGRES" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Nunchuck_BoutonC" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Nunchuck_BoutonC" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Nunchuck BoutonC</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Nunchuck.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Nunchuck_BoutonZ" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Nunchuck_BoutonZ" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Nunchuck BoutonZ</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Nunchuck.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Nunchuck_JoystickX" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Nunchuck_JoystickX" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Nunchuck Joystick X</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Nunchuck.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Nunchuck_JoystickY" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Nunchuck_JoystickY" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Nunchuck Joystick Y</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Nunchuck.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Nunchuck_AccelerationX" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Nunchuck_AccelerationX" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Nunchuck Acceleration X</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Nunchuck.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Nunchuck_AccelerationY" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Nunchuck_AccelerationY" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Nunchuck Acceleration Y</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Nunchuck.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Nunchuck_AccelerationZ" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Nunchuck_AccelerationZ" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Nunchuck Acceleration Z</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Nunchuck.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Barometer_Temperature" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Barometer_Temperature" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Barometer Temperature</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Baro_sensor.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Barometer_Pression" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Barometer_Pression" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Barometer Pression</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Baro_sensor.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Barometer_Altitude" kind="data" color="0 255 0" initlabel="DuinoEDU_Barometer_Altitude" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Barometer Altitude</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Baro_sensor.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_shildbot_Forward" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_shildbot_Forward" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>shildbot forward</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_right" label="droite" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/shildbot.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_shildbot_Back" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_shildbot_Back" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>shildbot back</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_right" label="Right" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/shildbot.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_shildbot_Pivoter" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_shildbot_Pivoter" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>shildbot pivote</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_right" label="Right" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/shildbot.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_shildbot_Stop" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_shildbot_Stop" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>shildbot Stop</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/shildbot.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_shildbot_Speed_Motor" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_shildbot_Speed_Motor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>shildbot Speed Motor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.DuinoEDU_motor_run_leftspeed" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.DuinoEDU_motor_run_rightspeed" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/shildbot.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_S1" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_S1" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_S2" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_S2" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_S3" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_S3" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_S4" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_S4" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_S5" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_S5" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_shildbot_Read" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_shildbot_Read" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DuinoEDU_shildbot_Read</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_S1" label="S1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/shildbot.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Guino_Init" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Guino_Init" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Guino Init</text>
      </description>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Guino_column" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Guino_column" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Guino column</text>
      </description>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Guino_pause" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Guino_pause" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Guino column</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Guino_Pause.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Guino_Read" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Guino_Read" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Guino Read</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label="bc.name" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="graph1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Variable" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="3" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Min" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Max" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1023" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Guino_Graphique.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Guino_Title" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_Guino_Title" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Guino Title</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="titre" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Guino_Slider" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Guino_Slider" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Guino Slider</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" label="bc.name" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="pot1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Min" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Max" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Guino_Potentiometre_virtuel.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_Guino_switch" kind="data" color="0 255 0" initlabel="bg.DuinoEDU_Guino_switch" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Guino switch</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" label="bc.name" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="inter1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Guino_Interrupteur_virtuel.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_MP3_Player" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_MP3_Player" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>MP3 Player</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D3" label="D3" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Volume" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1000" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.track" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Mp3Player.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_MP3_Pause" kind="command" color="0 255 0" initlabel="bg.DuinoEDU_MP3_Pause" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>MP3 Player</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D2" label="D2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_D3" label="D3" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/seeedstudio/Mp3Player.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D2" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D2" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D3" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D3" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D4" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D4" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D5" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D5" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D6" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D6" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D7" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D7" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D8" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D8" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D9" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D9" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D10" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D10" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D11" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D11" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D12" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D12" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D13" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D13" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D14" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D14" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D15" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D15" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D16" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D16" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D17" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D17" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D18" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D18" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D19" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D19" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D20" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D20" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_D21" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_D21" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_A0" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_A0" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_A1" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_A1" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_A2" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_A2" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_A3" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_A3" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_A4" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_A4" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_A5" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_A5" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_A6" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_A6" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_A7" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_A7" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_A8" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_A8" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_A9" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_A9" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_A10" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_A10" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_A11" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_A11" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_A12" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_A12" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_A13" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_A13" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_A14" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_A14" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="DuinoEDU_A15" kind="data" color="214 169 54" initlabel="bg.DuinoEDU_A15" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <!-- end of DuinoEDU -->
    <!--**** linksprite_LinkerKit **** -->
    <BlockGenus name="ls_10mmLEDModule" kind="command" color="135 206 235" initlabel="bg.ls_10mmLEDModule" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>10mm Blue/Green/Yellow/Red LED Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/10mmLEDModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_5mmLEDModule" kind="command" color="135 206 235" initlabel="bg.ls_5mmLEDModule" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>5mm Blue/Green/Yellow/Red LED Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/5mmLEDModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_AccelerometerModule_x" kind="data" color="135 206 235" initlabel="bg.ls_AccelerometerModule_x" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Based on the excellent ADXL-345, this digital 3-axis
					accelerometer has excellent EMI protection.</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/AccelerometerModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_AccelerometerModule_y" kind="data" color="135 206 235" initlabel="bg.ls_AccelerometerModule_y" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Based on the excellent ADXL-345, this digital 3-axis
					accelerometer has excellent EMI protection.</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/AccelerometerModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_AccelerometerModule_z" kind="data" color="135 206 235" initlabel="bg.ls_AccelerometerModule_z" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Based on the excellent ADXL-345, this digital 3-axis
					accelerometer has excellent EMI protection.</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/AccelerometerModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_ButtonModule" kind="data" color="135 206 235" initlabel="bg.ls_ButtonModule" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Button Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/ButtonModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_BuzzerModule" kind="command" color="135 206 235" initlabel="bg.ls_BuzzerModule" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Buzzer Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/BuzzerModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_HallSensor" kind="data" color="135 206 235" initlabel="bg.ls_HallSensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Hall Sensor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/HallSensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_HighPowerLedModule" kind="command" color="135 206 235" initlabel="bg.ls_HighPowerLedModule" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>High Power Led Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/HighPowerLedModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_JoystickSensorModule_x" kind="data" color="135 206 235" initlabel="bg.ls_JoystickSensorModule_x" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Joystick Sensor Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/JoystickSensorModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_JoystickSensorModule_y" kind="data" color="135 206 235" initlabel="bg.ls_JoystickSensorModule_y" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Joystick Sensor Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/JoystickSensorModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_LDRModule" kind="data" color="135 206 235" initlabel="bg.ls_LDRModule" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>LDR Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/LDRModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_LEDBar" kind="command" color="135 206 235" initlabel="bg.ls_LEDBar" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>LED Bar</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-on" label="ON" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/LEDBarr.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_Linear-SlidePotentiometerModule" kind="data" color="135 206 235" initlabel="bg.ls_Linear-SlidePotentiometerModule" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Linear/Slide Potentiometer Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/Linear-SlidePotentiometerModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_MagneticSwitch" kind="data" color="135 206 235" initlabel="bg.ls_MagneticSwitch" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Magnetic Switch</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/MagneticSwitch.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_MosfetModule" kind="command" color="135 206 235" initlabel="bg.ls_MosfetModule" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Mosfet Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-high" label="HIGH" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/MosfetModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_RelayModule" kind="command" color="135 206 235" initlabel="bg.ls_RelayModule" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Relay Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-high" label="HIGH" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/RelayModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_RotaryPotentiometerModule" kind="data" color="135 206 235" initlabel="bg.ls_RotaryPotentiometerModule" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Rotary Potentiometer Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/RotaryPotentiometerModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_RTCModule" kind="data" color="135 206 235" initlabel="bg.ls_RTCModule" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>RTC Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/RTCModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_SoundSensor" kind="data" color="135 206 235" initlabel="bg.ls_SoundSensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Sound Sensor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/SoundSensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_ThermalModule" kind="data" color="135 206 235" initlabel="bg.ls_ThermalModule" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Thermal Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/ThermalModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_TiltModule" kind="data" color="135 206 235" initlabel="bg.ls_TiltModule" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Tilt Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/TiltModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ls_TouchSensorModule" kind="data" color="135 206 235" initlabel="bg.ls_TouchSensorModule" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Touch Sensor Module</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/linksprite/TouchSensorModule.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <!-- *** Networking *** -->
    <BlockGenus name="bleshield" kind="command" color="169 148 212" initlabel="bg.bleshield" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>BLE Shield for Bluetooth Connectivity</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="3" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/network/bleshield.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="bleshield_available" kind="data" color="169 148 212" initlabel="bg.bleshield_available" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="bleshield_read_poly" kind="data" color="169 148 212" initlabel="bg.bleshield_read_poly" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="poly" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="bleshield_compare" kind="function" color="169 148 212" initlabel="bg.bleshield_compare" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>bleshield compare</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label="letter" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="3" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="DuinoEDU_equal" label="==" />
        </BlockConnector>
        <BlockConnector connector-type="poly" connector-kind="socket" label="" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="char" label="code" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/network/bleshield.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <!--**************************************Adafruit*********************************** -->
    <BlockGenus name="ada_dc_motor_fwd" kind="command" color="216 5 10" initlabel="bg.ada_dc_motor_fwd" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Adafruit DC motor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.motor_channel" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.motor_speed" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <!--<Images>
				 <Image>
					<FileLocation>com/ardublock/block/bulk/moteur-dc-fwd.jpg</FileLocation>
				</Image> 
			</Images> -->
    </BlockGenus>
    <BlockGenus name="ada_dc_motor_bwd" kind="command" color="216 5 10" initlabel="bg.ada_dc_motor_bwd" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Adafruit DC motor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.motor_channel" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.motor_speed" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <!-- <Images>
				<Image>
					<FileLocation>com/ardublock/block/bulk/moteur-dc-bwd.jpg</FileLocation>
				</Image> 
			</Images> -->
    </BlockGenus>
    <BlockGenus name="ada_dc_motor_release" kind="command" color="216 5 10" initlabel="bg.ada_dc_motor_release" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Adafruit DC motor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.motor_channel" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.motor_speed" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <!-- <Images>
				 <Image>
					<FileLocation>com/ardublock/block/bulk/moteur-dc-release.jpg</FileLocation>
				</Image> 
			</Images> -->
    </BlockGenus>
    <BlockGenus name="ada_neopixel_NEO_KHZ800" kind="data" color="214 169 54" initlabel="bg.ada_neopixel_NEO_KHZ800" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="ada_neopixel_NEO_KHZ400" kind="data" color="214 169 54" initlabel="bg.ada_neopixel_NEO_KHZ400" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="ada_neopixel_NEO_GRB" kind="data" color="214 169 54" initlabel="bg.ada_neopixel_NEO_GRB" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="ada_neopixel_NEO_RGB" kind="data" color="214 169 54" initlabel="bg.ada_neopixel_NEO_RGB" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="ada_neopixel_init" kind="command" color="216 5 10" initlabel="bg.ada_neopixel_init" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>ada_neopixel_init</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Nb of Led" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="60" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="ada_neopixel_NEO_KHZ800" label="NEO_KHZ800" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="ada_neopixel_NEO_RGB" label="NEO_RGB" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/adafruit/neopixel.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ada_neopixel_pixel_colorGRB" kind="command" color="216 5 10" initlabel="bg.ada_neopixel_pixel_colorGRB" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>ada_neopixel_pixel_colorGRB</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="Pixel Nb" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="20" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.red" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.green" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.blue" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/adafruit/neopixel.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ada_neopixel_pixel_colorRGB" kind="command" color="216 5 10" initlabel="bg.ada_neopixel_pixel_colorRGB" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>ada_neopixel_pixel_colorRGB</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="N° Led" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="20" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.red" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.green" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.blue" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/adafruit/neopixel.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ada_neopixel_show" kind="command" color="216 5 10" initlabel="bg.ada_neopixel_show" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>ada_neopixel_show</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="2" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/adafruit/neopixel.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ada_neopixel_Brightness" kind="command" color="216 5 10" initlabel="bg.ada_neopixel_Brightness" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>ada_neopixel_Brightness</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="2" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.DuinoEDU_Brightness" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/adafruit/neopixel.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <!--***Makeblock***-->
    <BlockGenus name="me_ultrasonic_sensor" kind="data" color="0 177 236" initlabel="bg.me_ultrasonic_sensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Makeblock Ultrasonic Sensor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.port_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="me_port_7" label="Port 7" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/makeblock/me_ultrasonic_sensor.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="me_linefinder" kind="data" color="0 177 236" initlabel="bg.me_linefinder" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Makeblock LineFinder</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.port_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="me_port_4" label="Port 4" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/makeblock/me_linefinder.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="me_limitswitch" kind="data" color="0 177 236" initlabel="bg.me_limitswitch" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Makeblock LimitSwitch</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.port_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="me_port_4" label="Port 4" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/makeblock/me_limitswitch.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="me_shutter" kind="command" color="0 177 236" initlabel="bg.me_shutter" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Makeblock Shutter For DSLR</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.port_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="me_port_4" label="Port 4" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.shutter_state" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="me_shutter_1" label="Shot On" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/makeblock/me_shutter.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="me_motordriver" kind="command" color="0 177 236" initlabel="bg.me_motordriver" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Makeblock DC Motor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.port_number" label-editable="no" position-type="single" is-expandable="no"></BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.motor_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="me_motor_1" label="M1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.speed_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/makeblock/me_motordriver.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="me_servodriver" kind="command" color="0 177 236" initlabel="bg.me_servodriver" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Makeblock Servo</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.port_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="me_port_1" label="Port 1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.device_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.angle_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="90" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/makeblock/me_servodriver.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="me_stepper_motor" kind="command" color="0 177 236" initlabel="bg.me_stepper_motor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Makeblock Stepper Motor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.port_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="me_port_1" label="Port 1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.speed_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="10000" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.acceleration_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="2000" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.moveTo_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="3000" />
        </BlockConnector>
        <BlockConnector label="bc.stepper_finish" connector-kind="socket" connector-type="cmd" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/makeblock/me_stepper_motor.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="me_infraredreceiver" kind="command" color="0 177 236" initlabel="bg.me_infraredreceiver" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Makeblock Infrared Receiver</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.port_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="me_port_7" label="Port 7" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.input_data" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="variable_number" label="irRead" />
        </BlockConnector>
        <BlockConnector label="bc.me_key_down" connector-kind="socket" connector-type="cmd" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector label="bc.me_key_up" connector-kind="socket" connector-type="cmd" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/makeblock/me_infraredreceiver.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="me_bluetooth_read" kind="command" color="0 177 236" initlabel="bg.me_bluetooth_read" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Makeblock Bluetooth Read</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.port_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="me_port_3" label="Port 3" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.input_data" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="variable_number" label="btRead" />
        </BlockConnector>
        <BlockConnector label="bc.then" connector-kind="socket" connector-type="cmd" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/makeblock/me_bluetooth.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="me_bluetooth_write" kind="command" color="0 177 236" initlabel="bg.me_bluetooth_write" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Makeblock Bluetooth Write</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.port_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="me_port_3" label="Port 3" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.output_data" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="variable_number" label="btRead" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/makeblock/me_bluetooth_write.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="me_bluetooth_commands" kind="command" color="0 177 236" initlabel="bg.me_bluetooth_commands" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Makeblock Bluetooth Commands</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.port_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="me_port_3" label="Port 3" />
        </BlockConnector>
        <BlockConnector label="bc.then" connector-kind="socket" connector-type="cmd" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/makeblock/me_bluetooth_cmds.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="me_bluetooth_command" kind="command" color="0 177 236" initlabel="bg.me_bluetooth_command" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Makeblock Bluetooth Commands</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.port_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="me_port_3" label="Port 3" />
        </BlockConnector>
        <BlockConnector connector-type="poly" connector-kind="socket" label="Param Name" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="char" label="speed" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/makeblock/me_bluetooth_cmd.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="me_port_1" kind="data" color="0 177 236" initlabel="bg.me_port_1" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Me Base Shield Port</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="me_port_2" kind="data" color="0 177 236" initlabel="bg.me_port_2" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="2" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="me_port_3" kind="data" color="0 177 236" initlabel="bg.me_port_3" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="3" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="me_port_4" kind="data" color="0 177 236" initlabel="bg.me_port_4" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="4" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="me_port_5" kind="data" color="0 177 236" initlabel="bg.me_port_5" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="5" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="me_port_6" kind="data" color="0 177 236" initlabel="bg.me_port_6" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="6" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="me_port_7" kind="data" color="0 177 236" initlabel="bg.me_port_7" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="7" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="me_port_8" kind="data" color="0 177 236" initlabel="bg.me_port_8" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="8" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="me_motor_1" kind="data" color="0 177 236" initlabel="bg.me_motor_1" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Me Base Shield DC Motor Port</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="me_motor_2" kind="data" color="0 177 236" initlabel="bg.me_port_2" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="2" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="me_shutter_1" kind="data" color="0 177 236" initlabel="bg.me_shutter_1" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Me Shutter Action</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="me_shutter_2" kind="data" color="0 177 236" initlabel="bg.me_shutter_2" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="2" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="me_shutter_3" kind="data" color="0 177 236" initlabel="bg.me_shutter_3" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="3" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="me_shutter_4" kind="data" color="0 177 236" initlabel="bg.me_shutter_4" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="4" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <!-- Workshop block -->
    <BlockGenus name="ws_setting" kind="command" color="225 116 116" initlabel="bg.workshop_setting" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/setting.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ws_go_forward" kind="command" color="225 116 116" initlabel="bg.go_forward" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/go_forward.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ws_go_backward" kind="command" color="225 116 116" initlabel="bg.ws_go_backward" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/go_backward.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ws_stop" kind="command" color="225 116 116" initlabel="bg.ws_stop" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/stop.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ws_turn_left" kind="command" color="225 116 116" initlabel="bg.ws_turn_left" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/turn_left.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ws_turn_right" kind="command" color="225 116 116" initlabel="bg.ws_turn_right" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/turn_right.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ws_go_forward_left" kind="command" color="225 116 116" initlabel="bg.ws_go_forward_left" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/go_forward_left.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ws_go_forward_right" kind="command" color="225 116 116" initlabel="bg.ws_go_forward_right" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/go_forward_right.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ws_go_backward_left" kind="command" color="225 116 116" initlabel="bg.ws_go_backward_left" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/go_back_left.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ws_go_backward_right" kind="command" color="225 116 116" initlabel="bg.ws_go_backward_right" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/go_back_right.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ws_light" kind="command" color="225 116 116" initlabel="bg.ws_light" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/light.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ws_scan" kind="command" color="225 116 116" initlabel="bg.ws_scan" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/scan.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ws_music" kind="command" color="225 116 116" initlabel="bg.ws_music" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/music.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ws_wireless" kind="command" color="225 116 116" initlabel="bg.ws_wireless" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/wireless.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ws_danger" kind="data" color="225 116 116" initlabel="bg.ws_danger" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/danger.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ws_binoculars" kind="data" color="225 116 116" initlabel="bg.ws_binoculars" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/binoculars.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <!-- InsectBot blocks -->
    <BlockGenus name="insectbot_get_distance" kind="data" color="64 109 0" initlabel="bg.insectbot_get_distance" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/insectbot_distance.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="insectbot_is_indanger" kind="data" color="64 109 0" initlabel="bg.insectbot_is_indanger" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/insectbot_danger.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="insectbot_go_forward" kind="command" color="64 109 0" initlabel="bg.insectbot_go_forward" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/insectbot_goforward.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="insectbot_go_backright" kind="command" color="64 109 0" initlabel="bg.insectbot_go_backright" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/insectbot_gobackright.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="insectbot_turn_left" kind="command" color="64 109 0" initlabel="bg.insectbot_turn_left" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/insectbot_turnleft.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="insectbot_blink_led" kind="command" color="64 109 0" initlabel="bg.insectbot_blink_led" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>workshop template</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/workshop/insectbot_led.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <!-- littlebits -->
    <BlockGenus name="little_bits_bendsensor" kind="data" color="93 13 125" initlabel="bg.little_bits_bendsensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>BendSensor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/BendSensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_button" kind="data" color="93 13 125" initlabel="bg.little_bits_button" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Button</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/Button.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_dimmer" kind="data" color="93 13 125" initlabel="bg.little_bits_dimmer" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Dimmer</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/Dimmer.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_lightsensor" kind="data" color="93 13 125" initlabel="bg.little_bits_lightsensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>LightSensor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/LightSensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_lighttrigger" kind="data" color="93 13 125" initlabel="bg.little_bits_lighttrigger" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>LightTrigger</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/LightTrigger.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_microphone" kind="data" color="93 13 125" initlabel="bg.little_bits_microphone" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Microphone</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/Microphone.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_motiontrigger" kind="data" color="93 13 125" initlabel="bg.little_bits_motiontrigger" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>MotionTrigger</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/MotionTrigger.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_pressuresensor" kind="data" color="93 13 125" initlabel="bg.little_bits_pressuresensor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>PressureSensor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/PressureSensor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_pulse" kind="data" color="93 13 125" initlabel="bg.little_bits_pulse" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Pulse</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/Pulse.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_remotetrigger" kind="data" color="93 13 125" initlabel="bg.little_bits_remotetrigger" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>RemoteTrigger</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/RemoteTrigger.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_rollerswitch" kind="data" color="93 13 125" initlabel="bg.little_bits_rollerswitch" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>RollerSwitch</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/RollerSwitch.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_slidedimmer" kind="data" color="93 13 125" initlabel="bg.little_bits_slidedimmer" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>SlideDimmer</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/SlideDimmer.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_slideswitch" kind="data" color="93 13 125" initlabel="bg.little_bits_slideswitch" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>SlideSwitch</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/SlideSwitch.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_soundtrigger" kind="data" color="93 13 125" initlabel="bg.little_bits_soundtrigger" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>SoundTrigger</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/SoundTrigger.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_timeout" kind="data" color="93 13 125" initlabel="bg.little_bits_timeout" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>TimeOut</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/TimeOut.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_toggleswitch" kind="data" color="93 13 125" initlabel="bg.little_bits_toggleswitch" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>ToggleSwitch</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/ToggleSwitch.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_mix" kind="data" color="93 13 125" initlabel="bg.little_bits_mix" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>mix</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/mix.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_oscillator" kind="data" color="93 13 125" initlabel="bg.little_bits_oscillator" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>oscillator</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/oscillator.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_random" kind="data" color="93 13 125" initlabel="bg.little_bits_random" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>random</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/input/random.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_bargraph" kind="command" color="93 13 125" initlabel="bg.little_bits_bargraph" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Bargraph</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/output/Bargraph.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_brightled" kind="command" color="93 13 125" initlabel="bg.little_bits_brightled" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>BrightLED</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/output/BrightLED.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_dcmotor" kind="command" color="93 13 125" initlabel="bg.little_bits_dcmotor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>DCMotor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/output/DCMotor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_fan" kind="command" color="93 13 125" initlabel="bg.little_bits_fan" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Fan</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/output/Fan.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_ir_led" kind="command" color="93 13 125" initlabel="bg.little_bits_ir_led" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>IR_LED</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/output/IR_LED.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_led" kind="command" color="93 13 125" initlabel="bg.little_bits_led" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>LED</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/output/LED.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_lightwire" kind="command" color="93 13 125" initlabel="bg.little_bits_lightwire" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Lightwire</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/output/Lightwire.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_longled" kind="command" color="93 13 125" initlabel="bg.little_bits_longled" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>LongLED</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/output/LongLED.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_number" kind="command" color="93 13 125" initlabel="bg.little_bits_number" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Number</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/output/Number.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_rgbled" kind="command" color="93 13 125" initlabel="bg.little_bits_rgbled" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>RGBLED</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/output/RGBLED.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_uvled" kind="command" color="93 13 125" initlabel="bg.little_bits_uvled" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>UVLED</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/output/UVLED.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_vibration_motor" kind="command" color="93 13 125" initlabel="bg.little_bits_vibration_motor" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Vibration_Motor</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/output/Vibration_Motor.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="little_bits_synthspeaker" kind="command" color="93 13 125" initlabel="bg.little_bits_synthspeaker" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>synthspeaker</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="#" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/littlebits/output/synthspeaker.jpg</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-motor-run" kind="command" color="20 150 30" initlabel="bg.ke-motor-run" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>set both left and right motor

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.ke-motor-run-leftspeed" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="100" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.ke-motor-run-rightspeed" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="100" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_dianji.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-motor-setmoto" kind="command" color="20 150 30" initlabel="bg.ke-motor-setmoto" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>set left or right motor  

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.ke-motor-setmoto-motonumber" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.ke-motor-setmoto-motospeed" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="100" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_dianji.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-motor-stop" kind="command" color="20 150 30" initlabel="bg.ke-motor-stop" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>stop motor

Keenlon Robot

上海擎朗智能</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_dianji.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-tft-print" kind="command" color="20 150 30" initlabel="bg.ke-tft-print" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>print string to TFT

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.ke-tft-print-line" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label="bc.ke-tft-print-string" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="message" label="hello" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_tft.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-tft-clear" kind="command" color="20 150 30" initlabel="bg.ke-tft-clear" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>clear TFT

Keenlon Robot

上海擎朗智能</text>
      </description>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_tft.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-eye-minvalue" kind="data" color="20 150 30" initlabel="bg.ke-eye-minvalue" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>get eye min value

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_fuyan.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-eye-minindex" kind="data" color="20 150 30" initlabel="bg.ke-eye-minindex" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>get eye min index

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_fuyan.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-eye-maxvalue" kind="data" color="20 150 30" initlabel="bg.ke-eye-maxvalue" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>get eye max value

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_fuyan.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-eye-maxindex" kind="data" color="20 150 30" initlabel="bg.ke-eye-maxindex" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>get eye max index

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_fuyan.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-eye-singlevalue" kind="data" color="20 150 30" initlabel="bg.ke-eye-singlevalue" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>get eye on a channel

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.ke-eye-singlevalue-numble" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="ke-button-getbutton" kind="data" color="20 150 30" initlabel="bg.ke-button-getbutton" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>get button

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="ke-encoder-clear" kind="command" color="20 150 30" initlabel="bg.ke-encoder-clear" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>encoder clear

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.ke-encoder-clear-index" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_bianmaqi.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-encoder-getencoder" kind="data" color="20 150 30" initlabel="bg.ke-encoder-getencoder" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>get encoder

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.ke-encoder-getencoder-index" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_bianmaqi.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <!-- 
		TEST tft-msg
				<BlockConnectors>
				<BlockConnector label="" connector-kind="plug"
					connector-type="number" position-type="mirror" />
				<BlockConnector label="" connector-kind="socket"
					connector-type="number" position-type="bottom" />
				<BlockConnector label="" connector-kind="socket"
					connector-type="number" position-type="bottom" />
			</BlockConnectors>	
			
		<BlockGenus name="variable_number" kind="data"
			initlabel="bg.variable_number" editable-label="yes" is-label-value="yes"
			color="255 0 255">
			<description>
				<text>
					Digital Var
				</text>
			</description>
			<BlockConnectors>
				<BlockConnector connector-type="number"
					connector-kind="plug" position-type="mirror" />
			</BlockConnectors>
		</BlockGenus>

		
		<BlockGenus name="tft-msg" kind="data" color="0 0 255"
			initlabel="bg.tft-msg" editable-label="yes">
			<description>
				<text>string message</text>
			</description>
			<BlockConnectors>
				<BlockConnector connector-type="string"
					connector-kind="plug" />
				<BlockConnector connector-type="string"
					connector-kind="socket" />			
			</BlockConnectors>
		</BlockGenus>
			 		-->
    <BlockGenus name="ke-tft-add" kind="data" color="20 150 30" initlabel="bg.ke-tft-add" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>tft add a variable

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="string" connector-kind="socket" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="ke-compass" kind="data" color="20 150 30" initlabel="bg.ke-compass" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>get compass degree

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_compass.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-buzzer" kind="command" color="20 150 30" initlabel="bg.ke-buzzer" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>buzzer

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.ke-digital-state" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-high" label="HIGH" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_fengminqi.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-ground-light" kind="data" color="20 150 30" initlabel="bg.ke-ground-light" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>ground light sensor

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_dimianhuidu.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-led-on-off" kind="command" color="20 150 30" initlabel="bg.ke-led-on-off" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>led on off

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.ke-digital-state" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-high" label="HIGH" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_led.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-led-pwm" kind="command" color="20 150 30" initlabel="bg.ke-led-pwm" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>led pwm

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.ke-led-pwm-Brightness" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="255" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_led.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-light" kind="data" color="20 150 30" initlabel="bg.ke-light" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>light sensor

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_guanggan.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-mic" kind="data" color="20 150 30" initlabel="bg.ke-mic" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>mic

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_fengminqi.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-photo" kind="data" color="20 150 30" initlabel="bg.ke-photo" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>photo sensor

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_guangdian.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-potentiometer" kind="data" color="20 150 30" initlabel="bg.ke-potentiometer" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>potentiometer sensor

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_dianweiqi.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-relays" kind="command" color="20 150 30" initlabel="bg.ke-relays" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>relays

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.ke-digital-state" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-high" label="HIGH" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_jidianqi.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-tempe" kind="data" color="20 150 30" initlabel="bg.ke-tempe" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>tempe sensor

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_wendu.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-psd" kind="data" color="20 150 30" initlabel="bg.ke-psd" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>sharp distance sensor

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_psd.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-touch" kind="data" color="20 150 30" initlabel="bg.ke-touch" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>touch sensor

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_pengzhuang.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="ke-servo" kind="command" color="20 150 30" initlabel="bg.ke-servo" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>set a pin to pwm

Keenlon Robot

上海擎朗智能</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.pin_number" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.angle" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/keenlon/k_duoji.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <!-- *** iDrawing ***-->
    <!-- **data** -->
    <BlockGenus name="led_mode_flash" kind="data" color="204 153 255" initlabel="bg.led_mode_flash" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Flashing Mode
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" position-type="single" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="led_mode_fade" kind="data" color="204 153 255" initlabel="bg.led_mode_fade" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Fading Mode
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" position-type="single" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="port_pin_name" kind="data" color="246 220 169" initlabel="bg.port_pin_name" editable-label="yes" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Pin name
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="poly" connector-kind="plug" position-type="single" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="trigger_equal" kind="data" color="222 131 51" initlabel="bg.trigger_equal" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					trigger equal
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="single" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="trigger_greater" kind="data" color="222 131 51" initlabel="bg.trigger_greater" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					trigger greater
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="single" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="trigger_less" kind="data" color="222 131 51" initlabel="bg.trigger_less" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					trigger less
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" position-type="single" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="player_mode_random" kind="data" color="204 153 255" initlabel="bg.player_mode_random" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					Random Mode
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" position-type="single" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="player_mode_single" kind="data" color="204 153 255" initlabel="bg.player_mode_single" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					 Single Mode
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" position-type="single" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="output_mode_high" kind="data" color="204 153 255" initlabel="bg.output_mode_high" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					 high
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" position-type="single" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="output_mode_low" kind="data" color="204 153 255" initlabel="bg.output_mode_low" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					 low
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" position-type="single" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="output_mode_highpulse" kind="data" color="204 153 255" initlabel="bg.output_mode_highpulse" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					 high pulse
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" position-type="single" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="output_mode_lowpulse" kind="data" color="204 153 255" initlabel="bg.output_mode_lowpulse" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>
					 low pulse
				</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="string" connector-kind="plug" position-type="single" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <!--command-->
    <BlockGenus name="iDrawing_set_para" kind="command" color="255 102 0" initlabel="bg.iDrawing_set_para" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>set iDrawing parameter</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.wake_condition" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-high" label="HIGH" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.duration" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="20" />
        </BlockConnector>
        <BlockConnector connector-type="cmd" connector-kind="socket" label="bc.rules" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="iDrawing_run" kind="command" color="255 102 0" initlabel="bg.iDrawing_run" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>iDrawing run</text>
      </description>
      <BlockConnectors></BlockConnectors>
    </BlockGenus>
    <BlockGenus name="iDrawing_rule_start" kind="command" color="244 167 112" initlabel="bg.iDrawing_rule_start" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>set rule</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.trigger" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="proc-param" connector-kind="socket" label="bc.actuator" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="iDrawing_rule_stop" kind="command" color="199 118 64" initlabel="bg.iDrawing_rule_stop" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>set rule</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.trigger" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="poly" connector-kind="socket" label="bc.pin_name" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="port_pin_name" label="5" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="iDrawing_rule_sleep" kind="command" color="101 85 75" initlabel="bg.iDrawing_rule_sleep" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>let system go to sleep state</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.trigger" label-editable="no" position-type="single" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <!-- trigger -->
    <BlockGenus name="iDrawing_trigger_time" kind="data" color="159 216 234" initlabel="bg.iDrawing_trigger_time" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>tigger</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.time" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="iDrawing_trigger_dpin" kind="data" color="159 216 234" initlabel="bg.iDrawing_trigger_dpin" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>digital pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="poly" connector-kind="socket" label="bc.pin_name" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="port_pin_name" label="10" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.digital_status" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="digital-high" label="HIGH" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="iDrawing_trigger_apin" kind="data" color="159 216 234" initlabel="bg.iDrawing_trigger_apin" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>analog pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="boolean" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="poly" connector-kind="socket" label="bc.pin_name" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="port_pin_name" label="A0" />
        </BlockConnector>
        <BlockConnector connector-type="boolean" connector-kind="socket" label="bc.trigger_logic" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="trigger_greater" label="&gt;" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.analog_value" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="50" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <!-- actuator -->
    <BlockGenus name="iDrawing_actuator_led" kind="data" color="94 145 85" initlabel="bg.iDrawing_actuator_led" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>actuator</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="proc-param" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="poly" connector-kind="socket" label="bc.pin_name" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="port_pin_name" label="5" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label="bc.mode" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="led_mode_flash" label="Flash" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.period" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="200" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="iDrawing_actuator_playermini" kind="data" color="94 145 85" initlabel="bg.iDrawing_actuator_playermini" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>actuator</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="proc-param" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="poly" connector-kind="socket" label="bc.pin_name" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="port_pin_name" label="UART" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label="bc.mode" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="player_mode_random" label="Random" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="bc.songname" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="1" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="iDrawing_actuator_dpin" kind="data" color="94 145 85" initlabel="bg.iDrawing_actuator_dpin" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>digital pin</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="proc-param" connector-kind="plug" label-editable="no" position-type="single" is-expandable="no" />
        <BlockConnector connector-type="poly" connector-kind="socket" label="bc.pin_name" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="port_pin_name" label="5" />
        </BlockConnector>
        <BlockConnector connector-type="string" connector-kind="socket" label="bc.mode" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="output_mode_highpulse" label="High Pulse" />
        </BlockConnector>
      </BlockConnectors>
    </BlockGenus>
    <!-- Jerusalab -->
    <BlockGenus name="midi_command" kind="command" color="191 77 169" initlabel="bg.midi_command" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <description>
        <text>Midi Command</text>
      </description>
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="socket" label="note" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="Midi_C" label="C" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="octave" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="3" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="channel" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="0" />
        </BlockConnector>
        <BlockConnector connector-type="number" connector-kind="socket" label="velocity" label-editable="no" position-type="single" is-expandable="no">
          <DefaultArg genus-name="number" label="127" />
        </BlockConnector>
      </BlockConnectors>
      <Images>
        <Image wrap-text="no" image-editable="no" block-location="center">
          <FileLocation>com/ardublock/block/jerusalab/midi_command.png</FileLocation>
        </Image>
      </Images>
    </BlockGenus>
    <BlockGenus name="Midi_C" kind="data" color="255 255 255" initlabel="bg.Midi_C" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Midi_CS" kind="data" color="255 255 255" initlabel="bg.Midi_CS" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Midi_D" kind="data" color="255 255 255" initlabel="bg.Midi_D" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Midi_DS" kind="data" color="255 255 255" initlabel="bg.Midi_DS" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Midi_E" kind="data" color="255 255 255" initlabel="bg.Midi_E" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Midi_F" kind="data" color="255 255 255" initlabel="bg.Midi_F" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Midi_FS" kind="data" color="255 255 255" initlabel="bg.Midi_FS" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Midi_G" kind="data" color="255 255 255" initlabel="bg.Midi_G" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Midi_GS" kind="data" color="255 255 255" initlabel="bg.Midi_GS" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Midi_A" kind="data" color="255 255 255" initlabel="bg.Midi_A" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Midi_AS" kind="data" color="255 255 255" initlabel="bg.Midi_AS" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
    <BlockGenus name="Midi_B" kind="data" color="255 255 255" initlabel="bg.Midi_B" editable-label="no" label-unique="no" is-label-value="no" page-label-enabled="no" is-starter="no" is-terminator="no">
      <BlockConnectors>
        <BlockConnector connector-type="number" connector-kind="plug" position-type="mirror" label-editable="no" is-expandable="no" />
      </BlockConnectors>
    </BlockGenus>
  </BlockGenuses>
  <BlockFamilies>
    <BlockFamily>
      <FamilyMember>digital-high</FamilyMember>
      <FamilyMember>digital-low</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>and</FamilyMember>
      <FamilyMember>or</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>true</FamilyMember>
      <FamilyMember>false</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>addition</FamilyMember>
      <FamilyMember>subtraction</FamilyMember>
      <FamilyMember>multiplication</FamilyMember>
      <FamilyMember>division</FamilyMember>
      <FamilyMember>modulo</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>min</FamilyMember>
      <FamilyMember>max</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>greater</FamilyMember>
      <FamilyMember>less</FamilyMember>
      <FamilyMember>equal</FamilyMember>
      <FamilyMember>greater_equal</FamilyMember>
      <FamilyMember>less_equal</FamilyMember>
      <FamilyMember>not_equal</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>equal_digital</FamilyMember>
      <FamilyMember>not_equal_digital</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>equal_poly</FamilyMember>
      <FamilyMember>not_equal_poly</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>string_greater</FamilyMember>
      <FamilyMember>string_less</FamilyMember>
      <FamilyMember>string_equal</FamilyMember>
      <FamilyMember>string_greater_equal</FamilyMember>
      <FamilyMember>string_less_equal</FamilyMember>
      <FamilyMember>string_not_equal</FamilyMember>
      <FamilyMember>string_equals</FamilyMember>
      <FamilyMember>string_equalsIgnoreCase</FamilyMember>
      <FamilyMember>string_compareTo</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>equal_string</FamilyMember>
      <FamilyMember>not_equal_string</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>sin</FamilyMember>
      <FamilyMember>cos</FamilyMember>
      <FamilyMember>tan</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>code_head</FamilyMember>
      <FamilyMember>code_setup</FamilyMember>
      <FamilyMember>code_loop</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>digital-on</FamilyMember>
      <FamilyMember>digital-off</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>LCD_I2C_Sainsmart_20by4</FamilyMember>
      <FamilyMember>LCD_I2C_Sainsmart_16by2</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>LCD_command_clear</FamilyMember>
      <FamilyMember>LCD_command_home</FamilyMember>
      <FamilyMember>LCD_command_lightOff</FamilyMember>
      <FamilyMember>LCD_command_lightOn</FamilyMember>
      <FamilyMember>LCD_command_cursorOn</FamilyMember>
      <FamilyMember>LCD_command_cursorOff</FamilyMember>
      <FamilyMember>LCD_command_blinkOn</FamilyMember>
      <FamilyMember>LCD_command_blinkOff</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>servo_default</FamilyMember>
      <FamilyMember>servo_sg90</FamilyMember>
      <FamilyMember>servo_mg996r</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>df_joystick_module_x</FamilyMember>
      <FamilyMember>df_joystick_module_y</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>df_mma7260_x</FamilyMember>
      <FamilyMember>df_mma7260_y</FamilyMember>
      <FamilyMember>df_mma7260_z</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>Tinker_I0</FamilyMember>
      <FamilyMember>Tinker_I1</FamilyMember>
      <FamilyMember>Tinker_I2</FamilyMember>
      <FamilyMember>Tinker_I3</FamilyMember>
      <FamilyMember>Tinker_I4</FamilyMember>
      <FamilyMember>Tinker_I5</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>Tinker_O0</FamilyMember>
      <FamilyMember>Tinker_O1</FamilyMember>
      <FamilyMember>Tinker_O2</FamilyMember>
      <FamilyMember>Tinker_O3</FamilyMember>
      <FamilyMember>Tinker_O4</FamilyMember>
      <FamilyMember>Tinker_O5</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>panda_i1</FamilyMember>
      <FamilyMember>panda_i2</FamilyMember>
      <FamilyMember>panda_i3</FamilyMember>
      <FamilyMember>panda_i4</FamilyMember>
      <FamilyMember>panda_i5</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>panda_o1</FamilyMember>
      <FamilyMember>panda_o2</FamilyMember>
      <FamilyMember>panda_o3</FamilyMember>
      <FamilyMember>panda_o4</FamilyMember>
      <FamilyMember>panda_o5</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>ada_dc_motor_fwd</FamilyMember>
      <FamilyMember>ada_dc_motor_bwd</FamilyMember>
      <FamilyMember>ada_dc_motor_release</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>ada_neopixel_NEO_GRB</FamilyMember>
      <FamilyMember>ada_neopixel_NEO_RGB</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>ada_neopixel_NEO_KHZ400</FamilyMember>
      <FamilyMember>ada_neopixel_NEO_KHZ800</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>ada_neopixel_pixel_colorRGB</FamilyMember>
      <FamilyMember>ada_neopixel_pixel_colorGRB</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>me_port_1</FamilyMember>
      <FamilyMember>me_port_2</FamilyMember>
      <FamilyMember>me_port_3</FamilyMember>
      <FamilyMember>me_port_4</FamilyMember>
      <FamilyMember>me_port_5</FamilyMember>
      <FamilyMember>me_port_6</FamilyMember>
      <FamilyMember>me_port_7</FamilyMember>
      <FamilyMember>me_port_8</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>me_motor_1</FamilyMember>
      <FamilyMember>me_motor_2</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>me_shutter_1</FamilyMember>
      <FamilyMember>me_shutter_2</FamilyMember>
      <FamilyMember>me_shutter_3</FamilyMember>
      <FamilyMember>me_shutter_4</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>scoop_event_low</FamilyMember>
      <FamilyMember>scoop_event_high</FamilyMember>
      <FamilyMember>scoop_event_falling</FamilyMember>
      <FamilyMember>scoop_event_rising</FamilyMember>
      <FamilyMember>scoop_event_change</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>led_mode_flash</FamilyMember>
      <FamilyMember>led_mode_fade</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>trigger_equal</FamilyMember>
      <FamilyMember>trigger_greater</FamilyMember>
      <FamilyMember>trigger_less</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>player_mode_random</FamilyMember>
      <FamilyMember>player_mode_single</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>output_mode_high</FamilyMember>
      <FamilyMember>output_mode_low</FamilyMember>
      <FamilyMember>output_mode_highpulse</FamilyMember>
      <FamilyMember>output_mode_lowpulse</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_right</FamilyMember>
      <FamilyMember>DuinoEDU_straight</FamilyMember>
      <FamilyMember>DuinoEDU_left</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_Driver_I2C_Forward</FamilyMember>
      <FamilyMember>DuinoEDU_Driver_I2C_Back</FamilyMember>
      <FamilyMember>DuinoEDU_Driver_I2C_Pivoter</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_shildbot_Forward</FamilyMember>
      <FamilyMember>DuinoEDU_shildbot_Back</FamilyMember>
      <FamilyMember>DuinoEDU_shildbot_Pivoter</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_S1</FamilyMember>
      <FamilyMember>DuinoEDU_S2</FamilyMember>
      <FamilyMember>DuinoEDU_S3</FamilyMember>
      <FamilyMember>DuinoEDU_S4</FamilyMember>
      <FamilyMember>DuinoEDU_S5</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_Driver_I2C_Speed_A_Motor</FamilyMember>
      <FamilyMember>DuinoEDU_Driver_I2C_Speed_B_Motor</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_Aix_Acc_mesurerX</FamilyMember>
      <FamilyMember>DuinoEDU_Aix_Acc_mesurerY</FamilyMember>
      <FamilyMember>DuinoEDU_Aix_Acc_mesurerZ</FamilyMember>
      <FamilyMember>DuinoEDU_Aix_Acc_mesurerXYZ</FamilyMember>
      <FamilyMember>DuinoEDU_Aix_Acc_mesurerVariation</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_humiPro</FamilyMember>
      <FamilyMember>DuinoEDU_tempPro</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_temp</FamilyMember>
      <FamilyMember>DuinoEDU_humi</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_On_digit1</FamilyMember>
      <FamilyMember>DuinoEDU_On_digit2</FamilyMember>
      <FamilyMember>DuinoEDU_On_digit3</FamilyMember>
      <FamilyMember>DuinoEDU_On_digit4</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_setSerialInfosOn</FamilyMember>
      <FamilyMember>DuinoEDU_setSerialInfosOff</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_Mouse_Xmove</FamilyMember>
      <FamilyMember>DuinoEDU_Mouse_Ymove</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_equal</FamilyMember>
      <FamilyMember>DuinoEDU_not_equal</FamilyMember>
      <FamilyMember>DuinoEDU_greater</FamilyMember>
      <FamilyMember>DuinoEDU_less</FamilyMember>
      <FamilyMember>DuinoEDU_greater_equal</FamilyMember>
      <FamilyMember>DuinoEDU_less_equal</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_Rfid_Write</FamilyMember>
      <FamilyMember>DuinoEDU_Rfid_Ram_List</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_neopixel_pixel_colorGRB</FamilyMember>
      <FamilyMember>DuinoEDU_neopixel_pixel_colorRGB</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DDRA</FamilyMember>
      <FamilyMember>DDRB</FamilyMember>
      <FamilyMember>DDRC</FamilyMember>
      <FamilyMember>DDRD</FamilyMember>
      <FamilyMember>DDRH</FamilyMember>
      <FamilyMember>DDRL</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>PORTA</FamilyMember>
      <FamilyMember>PORTB</FamilyMember>
      <FamilyMember>PORTC</FamilyMember>
      <FamilyMember>PORTD</FamilyMember>
      <FamilyMember>PORTH</FamilyMember>
      <FamilyMember>PORTL</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>PINA</FamilyMember>
      <FamilyMember>PINB</FamilyMember>
      <FamilyMember>PINC</FamilyMember>
      <FamilyMember>PIND</FamilyMember>
      <FamilyMember>PINH</FamilyMember>
      <FamilyMember>PINL</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_Volts</FamilyMember>
      <FamilyMember>DuinoEDU_VALEURS_BRUTES</FamilyMember>
      <FamilyMember>DuinoEDU_CM</FamilyMember>
      <FamilyMember>DuinoEDU_DEGRES</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_Nunchuck_BoutonC</FamilyMember>
      <FamilyMember>DuinoEDU_Nunchuck_BoutonZ</FamilyMember>
      <FamilyMember>DuinoEDU_Nunchuck_JoystickX</FamilyMember>
      <FamilyMember>DuinoEDU_Nunchuck_JoystickY</FamilyMember>
      <FamilyMember>DuinoEDU_Nunchuck_AccelerationX</FamilyMember>
      <FamilyMember>DuinoEDU_Nunchuck_AccelerationY</FamilyMember>
      <FamilyMember>DuinoEDU_Nunchuck_AccelerationZ</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_Barometer_Temperature</FamilyMember>
      <FamilyMember>DuinoEDU_Barometer_Pression</FamilyMember>
      <FamilyMember>DuinoEDU_Barometer_Altitude</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_D2</FamilyMember>
      <FamilyMember>DuinoEDU_D3</FamilyMember>
      <FamilyMember>DuinoEDU_D4</FamilyMember>
      <FamilyMember>DuinoEDU_D5</FamilyMember>
      <FamilyMember>DuinoEDU_D6</FamilyMember>
      <FamilyMember>DuinoEDU_D7</FamilyMember>
      <FamilyMember>DuinoEDU_D8</FamilyMember>
      <FamilyMember>DuinoEDU_D9</FamilyMember>
      <FamilyMember>DuinoEDU_D10</FamilyMember>
      <FamilyMember>DuinoEDU_D11</FamilyMember>
      <FamilyMember>DuinoEDU_D12</FamilyMember>
      <FamilyMember>DuinoEDU_D13</FamilyMember>
      <FamilyMember>DuinoEDU_D14</FamilyMember>
      <FamilyMember>DuinoEDU_D15</FamilyMember>
      <FamilyMember>DuinoEDU_D16</FamilyMember>
      <FamilyMember>DuinoEDU_D17</FamilyMember>
      <FamilyMember>DuinoEDU_D18</FamilyMember>
      <FamilyMember>DuinoEDU_D19</FamilyMember>
      <FamilyMember>DuinoEDU_D20</FamilyMember>
      <FamilyMember>DuinoEDU_D21</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>DuinoEDU_A0</FamilyMember>
      <FamilyMember>DuinoEDU_A1</FamilyMember>
      <FamilyMember>DuinoEDU_A2</FamilyMember>
      <FamilyMember>DuinoEDU_A3</FamilyMember>
      <FamilyMember>DuinoEDU_A4</FamilyMember>
      <FamilyMember>DuinoEDU_A5</FamilyMember>
      <FamilyMember>DuinoEDU_A6</FamilyMember>
      <FamilyMember>DuinoEDU_A7</FamilyMember>
      <FamilyMember>DuinoEDU_A8</FamilyMember>
      <FamilyMember>DuinoEDU_A9</FamilyMember>
      <FamilyMember>DuinoEDU_A10</FamilyMember>
      <FamilyMember>DuinoEDU_A11</FamilyMember>
      <FamilyMember>DuinoEDU_A12</FamilyMember>
      <FamilyMember>DuinoEDU_A13</FamilyMember>
      <FamilyMember>DuinoEDU_A14</FamilyMember>
      <FamilyMember>DuinoEDU_A15</FamilyMember>
    </BlockFamily>
    <BlockFamily>
      <FamilyMember>Midi_C</FamilyMember>
      <FamilyMember>Midi_CS</FamilyMember>
      <FamilyMember>Midi_D</FamilyMember>
      <FamilyMember>Midi_DS</FamilyMember>
      <FamilyMember>Midi_E</FamilyMember>
      <FamilyMember>Midi_F</FamilyMember>
      <FamilyMember>Midi_FS</FamilyMember>
      <FamilyMember>Midi_G</FamilyMember>
      <FamilyMember>Midi_GS</FamilyMember>
      <FamilyMember>Midi_A</FamilyMember>
      <FamilyMember>Midi_AS</FamilyMember>
      <FamilyMember>Midi_B</FamilyMember>
    </BlockFamily>
	<!--===============================WIFI-ROBOTS====================================-->
	<BlockFamily>
      <FamilyMember>wr_greater</FamilyMember>
      <FamilyMember>wr_less</FamilyMember>
      <FamilyMember>wr_equal</FamilyMember>
	  <FamilyMember>wr_greater_equal</FamilyMember>
	  <FamilyMember>wr_less_equal</FamilyMember>
    </BlockFamily>
	
	<BlockFamily>
      <FamilyMember>wr_dht11_temperature</FamilyMember>
      <FamilyMember>wr_dht11_humidity</FamilyMember>
    </BlockFamily>
	<!--===============================WIFI-ROBOTS====================================-->
  </BlockFamilies>
  
  <BlockDrawerSets>
    <BlockDrawerSet name="factory" type="stack" location="southwest" window-per-drawer="no" drawer-draggable="no">
      <BlockDrawer name="bd.control" type="factory" is-open="yes" button-color="255 255 0">
        <BlockGenusMember>loop</BlockGenusMember>
        <BlockGenusMember>program</BlockGenusMember>
        <BlockGenusMember>delay</BlockGenusMember>
        <BlockGenusMember>delay_microseconds</BlockGenusMember>
        <BlockGenusMember>millis</BlockGenusMember>
        <BlockGenusMember>if</BlockGenusMember>
        <BlockGenusMember>ifelse</BlockGenusMember>
        <BlockGenusMember>while</BlockGenusMember>
        <BlockGenusMember>do_while</BlockGenusMember>
        <BlockGenusMember>repeat_times</BlockGenusMember>
        <BlockGenusMember>repeat</BlockGenusMember>
        <BlockGenusMember>repeat_control</BlockGenusMember>
        <BlockGenusMember>break</BlockGenusMember>
        <BlockGenusMember>subroutine</BlockGenusMember>
        <BlockGenusMember>subroutine-ref</BlockGenusMember>
      </BlockDrawer>
      <BlockDrawer button-color="29 152 155" name="bd.pins" type="factory" is-open="no">
        <BlockGenusMember>pin-read-digital</BlockGenusMember>
        <!--<BlockGenusMember>pin-read-analog</BlockGenusMember>-->
        <BlockGenusMember>pin-write-digital</BlockGenusMember>
        <!--<BlockGenusMember>pin-write-analog</BlockGenusMember>-->
        <!--<BlockGenusMember>df_servo</BlockGenusMember>-->
        <!--<BlockGenusMember>df_360_degree_rotation_motor</BlockGenusMember>-->
        <!--<BlockGenusMember>ultrasonic</BlockGenusMember>-->
        <!--<BlockGenusMember>df_dht11_temperature</BlockGenusMember>-->
        <!--<BlockGenusMember>df_dht11_humidity</BlockGenusMember>-->
        <!--<BlockGenusMember>tone</BlockGenusMember>-->
        <!--<BlockGenusMember>tone_time</BlockGenusMember>-->
        <!--<BlockGenusMember>no_tone</BlockGenusMember>-->
        <BlockGenusMember>DDRA</BlockGenusMember>
        <BlockGenusMember>PORTA</BlockGenusMember>
        <BlockGenusMember>PINA</BlockGenusMember>
      </BlockDrawer>
      <BlockDrawer button-color="255 163 82" name="bd.logic" type="factory" is-open="no">
        <BlockGenusMember>greater</BlockGenusMember>
        <BlockGenusMember>less</BlockGenusMember>
        <BlockGenusMember>equal</BlockGenusMember>
        <BlockGenusMember>greater_equal</BlockGenusMember>
        <BlockGenusMember>less_equal</BlockGenusMember>
        <BlockGenusMember>not_equal</BlockGenusMember>
        <BlockGenusMember>equal_digital</BlockGenusMember>
        <BlockGenusMember>not_equal_digital</BlockGenusMember>
        <BlockGenusMember>equal_poly</BlockGenusMember>
        <BlockGenusMember>not_equal_poly</BlockGenusMember>
        <BlockGenusMember>equal_string</BlockGenusMember>
        <BlockGenusMember>not_equal_string</BlockGenusMember>
        <BlockGenusMember>and</BlockGenusMember>
        <BlockGenusMember>or</BlockGenusMember>
        <BlockGenusMember>not</BlockGenusMember>
        <BlockGenusMember>string_equal</BlockGenusMember>
        <BlockGenusMember>string_empty</BlockGenusMember>
        <BlockGenusMember>string_toInt</BlockGenusMember>
      </BlockDrawer>
      <BlockDrawer button-color="114 147 71" name="bd.operators" type="factory" is-open="no">
        <BlockGenusMember>addition</BlockGenusMember>
        <BlockGenusMember>subtraction</BlockGenusMember>
        <BlockGenusMember>multiplication</BlockGenusMember>
        <BlockGenusMember>division</BlockGenusMember>
        <BlockGenusMember>modulo</BlockGenusMember>
        <BlockGenusMember>abs</BlockGenusMember>
        <BlockGenusMember>pow</BlockGenusMember>
        <BlockGenusMember>sqrt</BlockGenusMember>
        <BlockGenusMember>sin</BlockGenusMember>
        <BlockGenusMember>cos</BlockGenusMember>
        <BlockGenusMember>tan</BlockGenusMember>
        <BlockGenusMember>random_range</BlockGenusMember>
        <BlockGenusMember>map</BlockGenusMember>
      </BlockDrawer>
      <BlockDrawer button-color="232 156 149" name="bd.number" type="factory" is-open="no">
        <BlockGenusMember>number</BlockGenusMember>
        <BlockGenusMember>setter_variable_number_unsigned_long</BlockGenusMember>
        <BlockGenusMember>variable_number_unsigned_long</BlockGenusMember>
        <BlockGenusMember>setter_variable_number</BlockGenusMember>
        <BlockGenusMember>variable_number</BlockGenusMember>
        <BlockGenusMember>setter_variable_digital</BlockGenusMember>
        <BlockGenusMember>variable_digital</BlockGenusMember>
        <BlockGenusMember>digital-low</BlockGenusMember>
        <BlockGenusMember>digital-high</BlockGenusMember>
        <BlockGenusMember>true</BlockGenusMember>
        <BlockGenusMember>false</BlockGenusMember>
        <BlockGenusMember>setter_variable_number_double</BlockGenusMember>
        <BlockGenusMember>variable_number_double</BlockGenusMember>
        <BlockGenusMember>number_double</BlockGenusMember>
        <BlockGenusMember>setter_variable_char</BlockGenusMember>
        <BlockGenusMember>char</BlockGenusMember>
        <BlockGenusMember>variable_string</BlockGenusMember>
        <BlockGenusMember>setter_variable_String</BlockGenusMember>
        <BlockGenusMember>variable_String</BlockGenusMember>
        <BlockGenusMember>message</BlockGenusMember>
        <BlockGenusMember>create_variable_vector</BlockGenusMember>
        <BlockGenusMember>variable_vector</BlockGenusMember>
        <BlockGenusMember>setter_variable_vector</BlockGenusMember>
        <BlockGenusMember>setter_variable_char</BlockGenusMember>
        <BlockGenusMember>variable_poly</BlockGenusMember>
      </BlockDrawer>
	  <!--
      <BlockDrawer button-color="205 133 63" name="bd.utilities" type="factory" is-open="no">
        <BlockGenusMember>servo_default</BlockGenusMember>
        <BlockGenusMember>ultrasonic</BlockGenusMember>
        <BlockGenusMember>LCD_I2C_Sainsmart_20by4</BlockGenusMember>
        <BlockGenusMember>LCD_command_lightOff</BlockGenusMember>
        <BlockGenusMember>LCD_PLL_Sainsmart_16by2</BlockGenusMember>
        <BlockGenusMember>number-single-I2C-address</BlockGenusMember>
        <BlockGenusMember>number-single-fixed-parallel</BlockGenusMember>
      </BlockDrawer>
	  -->
      <BlockDrawer button-color="255 255 255" name="bd.communication" type="factory" is-open="no">
        <BlockGenusMember>serial_read</BlockGenusMember>
        <BlockGenusMember>serial_print</BlockGenusMember>
        <BlockGenusMember>glue_sn</BlockGenusMember>
        <BlockGenusMember>glue_sb</BlockGenusMember>
        <BlockGenusMember>glue_poly</BlockGenusMember>
        <BlockGenusMember>ir_setport</BlockGenusMember>
        <BlockGenusMember>ir_getcode</BlockGenusMember>
        <BlockGenusMember>wire_write</BlockGenusMember>
        <BlockGenusMember>wire_read</BlockGenusMember>
        <BlockGenusMember>wire_isread</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Guino_Read</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Guino_Slider</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Guino_switch</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Guino_pause</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Guino_Title</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Guino_column</BlockGenusMember>
      </BlockDrawer>
      <BlockDrawer button-color="26 97 218" name="bd.scoop" type="default" is-open="no">
        <BlockGenusMember>scoop_task</BlockGenusMember>
        <BlockGenusMember>scoop_loop</BlockGenusMember>
        <BlockGenusMember>scoop_sleep</BlockGenusMember>
        <BlockGenusMember>scoop_pin_event</BlockGenusMember>
        <BlockGenusMember>scoop_event_low</BlockGenusMember>
        <BlockGenusMember>scoop_event_high</BlockGenusMember>
        <BlockGenusMember>scoop_event_falling</BlockGenusMember>
        <BlockGenusMember>scoop_event_rising</BlockGenusMember>
        <BlockGenusMember>scoop_event_change</BlockGenusMember>
      </BlockDrawer>
      <BlockDrawer button-color="0 50 45" name="bd.storage" type="factory" is-open="no">
        <BlockGenusMember>eeprom_read_int</BlockGenusMember>
        <BlockGenusMember>eeprom_write_int</BlockGenusMember>
        <BlockGenusMember>eeprom_read_long</BlockGenusMember>
        <BlockGenusMember>eeprom_write_long</BlockGenusMember>
        <BlockGenusMember>eeprom_read</BlockGenusMember>
        <BlockGenusMember>eeprom_write</BlockGenusMember>
        <BlockGenusMember>sd_write2</BlockGenusMember>
        <!-- <BlockGenusMember>sd_write</BlockGenusMember> -->
        <!-- <BlockGenusMember>sd_write_number</BlockGenusMember> -->
        <!-- <BlockGenusMember>sd_write_number_int</BlockGenusMember> -->
      </BlockDrawer>
      <BlockDrawer button-color="169 148 212" name="bd.network" type="factory" is-open="no">
        <BlockGenusMember>bleshield</BlockGenusMember>
        <BlockGenusMember>bleshield_available</BlockGenusMember>
        <BlockGenusMember>bleshield_read_poly</BlockGenusMember>
        <BlockGenusMember>bleshield_compare</BlockGenusMember>
      </BlockDrawer>
      <BlockDrawer button-color="120 120 120" name="bd.especial" type="factory" is-open="no">
        <BlockGenusMember>code_head</BlockGenusMember>
        <BlockGenusMember>code_setup</BlockGenusMember>
        <BlockGenusMember>code_loop</BlockGenusMember>
      </BlockDrawer>
	  	<!--
      <BlockDrawer button-color="13 152 164" name="bd.tinkerkit" type="factory" is-open="no">
        <BlockGenusMember>Tinker_LED</BlockGenusMember>
        <BlockGenusMember>Tinker_LED_pwm</BlockGenusMember>
        <BlockGenusMember>Tinker_Button</BlockGenusMember>
        <BlockGenusMember>Tinker_Accmeter</BlockGenusMember>
        <BlockGenusMember>Tinker_Hall</BlockGenusMember>
        <BlockGenusMember>Tinker_LDR</BlockGenusMember>
        <BlockGenusMember>Tinker_LinearPotentiometer</BlockGenusMember>
        <BlockGenusMember>Tinker_RotaryPotentiometer</BlockGenusMember>
        <BlockGenusMember>Tinker_Thermistor</BlockGenusMember>
        <BlockGenusMember>Tinker_Touch</BlockGenusMember>
        <BlockGenusMember>Tinker_Tilt</BlockGenusMember>
        <BlockGenusMember>Tinker_Relay</BlockGenusMember>
        <BlockGenusMember>Tinker_Mosfet</BlockGenusMember>
        <BlockGenusMember>Tinker_Mosfet_pwm</BlockGenusMember>
      </BlockDrawer>
	  -->
      <!--===============================WIFI-ROBOTS====================================-->
      <BlockDrawer button-color="0 0 255" name="bd.wifirobots" type="factory" is-open="no">
		<BlockGenusMember>wr_greater</BlockGenusMember>
		<BlockGenusMember>wr_less</BlockGenusMember>
		<BlockGenusMember>wr_equal</BlockGenusMember>
		<BlockGenusMember>wr_equal</BlockGenusMember>
		<BlockGenusMember>wr_greater_equal</BlockGenusMember>
		<BlockGenusMember>wr_less_equal</BlockGenusMember>
		
		<BlockGenusMember>wr_motor_forward</BlockGenusMember>
		<BlockGenusMember>wr_motor_backward</BlockGenusMember>
		<BlockGenusMember>wr_motor_turnleft</BlockGenusMember>
		<BlockGenusMember>wr_motor_turnright</BlockGenusMember>
		<BlockGenusMember>wr_motor_stop</BlockGenusMember>
		
		<BlockGenusMember>wr_buzzer</BlockGenusMember>
		<BlockGenusMember>wr_servo</BlockGenusMember>
		<BlockGenusMember>wr_led</BlockGenusMember>
		<BlockGenusMember>wr_ir_switch</BlockGenusMember>
		<BlockGenusMember>wr_light_sensor</BlockGenusMember>
		<BlockGenusMember>wr_fire_sensor</BlockGenusMember>
		<BlockGenusMember>wr_voice_sensor</BlockGenusMember>
		<BlockGenusMember>wr_shock_sensor</BlockGenusMember>
		<BlockGenusMember>wr_relay</BlockGenusMember>
		<BlockGenusMember>wr_button_switch</BlockGenusMember>
		<BlockGenusMember>wr_magnetic_reed_switch</BlockGenusMember>
		<BlockGenusMember>wr_laser</BlockGenusMember>
		<BlockGenusMember>wr_touch_switch</BlockGenusMember>
		<BlockGenusMember>wr_mercury_switch</BlockGenusMember>
		
		<BlockGenusMember>wr_ultrasonic_sensor</BlockGenusMember>
		<BlockGenusMember>wr_dht11_temperature</BlockGenusMember>
		<BlockGenusMember>wr_track_line</BlockGenusMember>
		<BlockGenusMember>wr_IR_avoid</BlockGenusMember>
		<BlockGenusMember>wr_ultrasonic_avoid</BlockGenusMember>
		<BlockGenusMember>wr_12864_display</BlockGenusMember>
		
		
		<!--<BlockGenusMember>wr_dht11_humidity</BlockGenusMember>-->
      </BlockDrawer>

      <!--
      <BlockDrawer button-color="255 102 0" name="bd.dfrobot" type="factory" is-open="no">
        <BlockGenusMember>df_led</BlockGenusMember>
        <BlockGenusMember>df_led_pwm</BlockGenusMember>
        <BlockGenusMember>df_digital_push_button</BlockGenusMember>
        <BlockGenusMember>df_digital_viberation_sensor</BlockGenusMember>
        <BlockGenusMember>df_analog_rotation_sensor_v1</BlockGenusMember>
        <BlockGenusMember>df_analog_rotation_sensor_v2</BlockGenusMember>
        <BlockGenusMember>df_servo</BlockGenusMember>
        <BlockGenusMember>df_360_degree_rotation_motor</BlockGenusMember>
        <BlockGenusMember>df_analog_sound_sensor</BlockGenusMember>
        <BlockGenusMember>df_analog_volume_sensor</BlockGenusMember>
        <BlockGenusMember>df_relay</BlockGenusMember>
        <BlockGenusMember>df_analog_ambient_light_sensor</BlockGenusMember>
        <BlockGenusMember>df_analog_grayscale_sensor</BlockGenusMember>
        <BlockGenusMember>df_buzzer</BlockGenusMember>
        <BlockGenusMember>df_buzzer_tone</BlockGenusMember>
        <BlockGenusMember>df_buzzer_tone_delay</BlockGenusMember>
        <BlockGenusMember>df_capacitive_touch_sensor</BlockGenusMember>
        <BlockGenusMember>df_digital_tilt_sensor</BlockGenusMember>
        <BlockGenusMember>df_digital_infrared_motion_sensor</BlockGenusMember>
        <BlockGenusMember>df_digital_ir_receiver_module</BlockGenusMember>
        <BlockGenusMember>df_adjustable_infrared_sensor_switch</BlockGenusMember>
        <BlockGenusMember>df_line_tracking_sensor</BlockGenusMember>
        <BlockGenusMember>df_joystick_module_button</BlockGenusMember>
        <BlockGenusMember>df_digital_magnetic_sensor</BlockGenusMember>
        <BlockGenusMember>df_pizeo_disk_vibration_sensor</BlockGenusMember>
        <BlockGenusMember>df_flame_sensor</BlockGenusMember>
        <BlockGenusMember>df_temperature_sensor</BlockGenusMember>
        <BlockGenusMember>df_joystick_module_x</BlockGenusMember>
        <BlockGenusMember>df_joystick_module_y</BlockGenusMember>
        <BlockGenusMember>df_analog_mma7361_x</BlockGenusMember>
        <BlockGenusMember>df_analog_mma7361_y</BlockGenusMember>
        <BlockGenusMember>df_analog_mma7361_z</BlockGenusMember>
        <BlockGenusMember>df_mma7260_x</BlockGenusMember>
        <BlockGenusMember>df_mma7260_y</BlockGenusMember>
        <BlockGenusMember>df_mma7260_z</BlockGenusMember>
        <BlockGenusMember>df_analog_gp2y0a21</BlockGenusMember>
        <BlockGenusMember>df_analog_moisture</BlockGenusMember>
        <BlockGenusMember>df_analog_gas_sensor</BlockGenusMember>
        <BlockGenusMember>df_analog_co_sensor</BlockGenusMember>
        <BlockGenusMember>df_analog_voltage_divider</BlockGenusMember>
        <BlockGenusMember>df_piranha_led</BlockGenusMember>
        <BlockGenusMember>df_piranha_led_pwm</BlockGenusMember>
        <BlockGenusMember>panda_i1</BlockGenusMember>
        <BlockGenusMember>panda_o1</BlockGenusMember>
        <BlockGenusMember>df_lcd_keypad</BlockGenusMember>
        <BlockGenusMember>bluno_println</BlockGenusMember>
        <BlockGenusMember>bluno_println_number</BlockGenusMember>
        <BlockGenusMember>bluno_println_clear</BlockGenusMember>
        <BlockGenusMember>df_romeo_motors</BlockGenusMember>
        <BlockGenusMember>df_romeo_motor</BlockGenusMember>
        <BlockGenusMember>df_romeo_motor_stop</BlockGenusMember>
      </BlockDrawer>
      <BlockDrawer button-color="0 255 0" name="bd.seeedstudio" type="default" is-open="no">
        <BlockGenusMember>seeed_button</BlockGenusMember>
        <BlockGenusMember>seeed_led</BlockGenusMember>
        <BlockGenusMember>seeed_o2_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_uv_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_single_gyro</BlockGenusMember>
        <BlockGenusMember>seeed_mq9_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_mp3_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_vib_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_loud_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_diff_amp</BlockGenusMember>
        <BlockGenusMember>seeed_ir_temp_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_ir_proximity_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_electricity_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_angle_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_sound_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_moisture_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_temp_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_light_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_voltage_divider</BlockGenusMember>
        <BlockGenusMember>seeed_flame_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_switch</BlockGenusMember>
        <BlockGenusMember>seeed_ir_refl_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_heart_rate_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_chest_heart_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_air_quality_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_line_finder</BlockGenusMember>
        <BlockGenusMember>seeed_pir_motion_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_tilt_switch</BlockGenusMember>
        <BlockGenusMember>seeed_push_button</BlockGenusMember>
        <BlockGenusMember>seeed_water_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_touch_sensor</BlockGenusMember>
        <BlockGenusMember>seeed_mag_switch</BlockGenusMember>
        <BlockGenusMember>seeed_ir_dist_int</BlockGenusMember>
        <BlockGenusMember>seeed_circle_led</BlockGenusMember>
        <BlockGenusMember>seeed_2coil_relay</BlockGenusMember>
        <BlockGenusMember>seeed_dry_relay</BlockGenusMember>
        <BlockGenusMember>seeed_solid_relay</BlockGenusMember>
        <BlockGenusMember>seeed_circle_led</BlockGenusMember>
        <BlockGenusMember>seeed_led_strip</BlockGenusMember>
        <BlockGenusMember>seeed_var_led</BlockGenusMember>
        <BlockGenusMember>seeed_vib</BlockGenusMember>
        <BlockGenusMember>seeed_relay</BlockGenusMember>
        <BlockGenusMember>seeed_joystick</BlockGenusMember>
        <BlockGenusMember>seeed_joystick_button</BlockGenusMember>
      </BlockDrawer>
      <BlockDrawer button-color="20 206 20" name="bd.DuinoEDU" type="default" is-open="no">
        <BlockGenusMember>DuinoEDU_Led</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_infrared</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_temp</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_humiPro</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Ultrasonic</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Led_Bar</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_LCD_I2C_RGB</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_LCD_I2C_Backlight</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_LCD_I2C_RGB_Clear</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Oled_I2C</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Oled_Clear</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Keypad_12_Button</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Keypad_Post</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Keypad_Pwd</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Digital_Tube</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Digital_Tube_Ecrire</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Display_Digital_Tube</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Digital_Clear</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Mouse_Xmove</BlockGenusMember>
        <BlockGenusMember>keyboard_post</BlockGenusMember>
        <BlockGenusMember>keyboard_compare</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Driver_I2C_Forward</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Driver_I2C_Stop</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Driver_I2C_Speed_A_Motor</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_shildbot_Forward</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_shildbot_Stop</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_shildbot_Speed_Motor</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_shildbot_Read</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Aix_Acc_mesurerX</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Partie_Emetteur</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Partie_Recepteur</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Rfid_Write</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Rfid_Test</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Rfid_Read</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Rfid_Clear</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_neopixel_init</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_neopixel_pixel_colorRGB</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_neopixel_show</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_neopixel_Brightness</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_neopixel_Clear</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_stepper_step</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_stepper_setSpeed</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_matrice_write</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_matrice_Brightness</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_matrice_clear</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Servo_Plus</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Nunchuck_BoutonC</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_Barometer_Pression</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_MP3_Player</BlockGenusMember>
        <BlockGenusMember>DuinoEDU_MP3_Pause</BlockGenusMember>
      </BlockDrawer>
      <BlockDrawer button-color="216 5 10" name="bd.adafruit" type="factory" is-open="no">
        <BlockGenusMember>ada_dc_motor_fwd</BlockGenusMember>
        <BlockGenusMember>ada_dc_motor_bwd</BlockGenusMember>
        <BlockGenusMember>ada_dc_motor_release</BlockGenusMember>
        <BlockGenusMember>ada_neopixel_init</BlockGenusMember>
        <BlockGenusMember>ada_neopixel_pixel_colorRGB</BlockGenusMember>
        <BlockGenusMember>ada_neopixel_show</BlockGenusMember>
        <BlockGenusMember>ada_neopixel_Brightness</BlockGenusMember>
      </BlockDrawer>
      <BlockDrawer button-color="0 177 236" name="bd.makeblock" type="factory" is-open="no">
        <BlockGenusMember>me_ultrasonic_sensor</BlockGenusMember>
        <BlockGenusMember>me_linefinder</BlockGenusMember>
        <BlockGenusMember>me_limitswitch</BlockGenusMember>
        <BlockGenusMember>me_shutter</BlockGenusMember>
        <BlockGenusMember>me_motordriver</BlockGenusMember>
        <BlockGenusMember>me_servodriver</BlockGenusMember>
        <BlockGenusMember>me_stepper_motor</BlockGenusMember>
        <BlockGenusMember>me_infraredreceiver</BlockGenusMember>
        <BlockGenusMember>me_bluetooth_read</BlockGenusMember>
        <BlockGenusMember>me_bluetooth_write</BlockGenusMember>
        <BlockGenusMember>me_bluetooth_commands</BlockGenusMember>
        <BlockGenusMember>me_bluetooth_command</BlockGenusMember>
        <BlockGenusMember>me_port_1</BlockGenusMember>
        <BlockGenusMember>me_motor_1</BlockGenusMember>
        <BlockGenusMember>me_shutter_1</BlockGenusMember>
      </BlockDrawer>
        -->
      <!-- 
			<BlockDrawer button-color="225 116 116" name="bd.workshop" type="factory">
			    <BlockGenusMember>ws_setting</BlockGenusMember>
			    <BlockGenusMember>ws_go_forward</BlockGenusMember>
				<BlockGenusMember>ws_go_backward</BlockGenusMember>
				<BlockGenusMember>ws_stop</BlockGenusMember>
				<BlockGenusMember>ws_turn_left</BlockGenusMember>
				<BlockGenusMember>ws_turn_right</BlockGenusMember>
				<BlockGenusMember>ws_go_forward_left</BlockGenusMember>
				<BlockGenusMember>ws_go_forward_right</BlockGenusMember>
				<BlockGenusMember>ws_go_backward_left</BlockGenusMember>
				<BlockGenusMember>ws_go_backward_right</BlockGenusMember>
				<BlockGenusMember>ws_light</BlockGenusMember>
				<BlockGenusMember>ws_scan</BlockGenusMember>
				<BlockGenusMember>ws_music</BlockGenusMember>
				<BlockGenusMember>ws_wireless</BlockGenusMember>
				<BlockGenusMember>ws_danger</BlockGenusMember>
				<BlockGenusMember>ws_binoculars</BlockGenusMember>
			</BlockDrawer>
			 -->
	<!--
      <BlockDrawer button-color="64 109 0" name="bd.insectbot" type="default" is-open="no">
        <BlockGenusMember>insectbot_get_distance</BlockGenusMember>
        <BlockGenusMember>insectbot_is_indanger</BlockGenusMember>
        <BlockGenusMember>insectbot_go_forward</BlockGenusMember>
        <BlockGenusMember>insectbot_go_backright</BlockGenusMember>
        <BlockGenusMember>insectbot_turn_left</BlockGenusMember>
        <BlockGenusMember>insectbot_blink_led</BlockGenusMember>
      </BlockDrawer>
	   -->
      <!-- iDrawing -->
	  	<!--
      <BlockDrawer button-color="255 102 0" name="bd.iDrawing" type="default" is-open="no">
        <BlockGenusMember>iDrawing_set_para</BlockGenusMember>
        <BlockGenusMember>iDrawing_run</BlockGenusMember>
        <BlockGenusMember>iDrawing_rule_start</BlockGenusMember>
        <BlockGenusMember>iDrawing_rule_stop</BlockGenusMember>
        <BlockGenusMember>iDrawing_rule_sleep</BlockGenusMember>
        <BlockGenusMember>iDrawing_trigger_time</BlockGenusMember>
        <BlockGenusMember>iDrawing_trigger_dpin</BlockGenusMember>
        <BlockGenusMember>iDrawing_trigger_apin</BlockGenusMember>
        <BlockGenusMember>iDrawing_actuator_led</BlockGenusMember>
        <BlockGenusMember>iDrawing_actuator_playermini</BlockGenusMember>
        <BlockGenusMember>iDrawing_actuator_dpin</BlockGenusMember>
        <BlockGenusMember>port_pin_name</BlockGenusMember>
        <BlockGenusMember>led_mode_flash</BlockGenusMember>
        <BlockGenusMember>led_mode_fade</BlockGenusMember>
        <BlockGenusMember>player_mode_random</BlockGenusMember>
        <BlockGenusMember>player_mode_single</BlockGenusMember>
        <BlockGenusMember>output_mode_high</BlockGenusMember>
        <BlockGenusMember>output_mode_low</BlockGenusMember>
        <BlockGenusMember>output_mode_highpulse</BlockGenusMember>
        <BlockGenusMember>output_mode_lowpulse</BlockGenusMember>
        <BlockGenusMember>trigger_equal</BlockGenusMember>
        <BlockGenusMember>trigger_greater</BlockGenusMember>
        <BlockGenusMember>trigger_less</BlockGenusMember>
      </BlockDrawer>
	    -->
      <!-- littlebits -->
	    	<!--
      <BlockDrawer button-color="93 13 125" name="bd.littlebits" type="default" is-open="no">
        <BlockGenusMember>little_bits_bendsensor</BlockGenusMember>
        <BlockGenusMember>little_bits_button</BlockGenusMember>
        <BlockGenusMember>little_bits_dimmer</BlockGenusMember>
        <BlockGenusMember>little_bits_lightsensor</BlockGenusMember>
        <BlockGenusMember>little_bits_lighttrigger</BlockGenusMember>
        <BlockGenusMember>little_bits_microphone</BlockGenusMember>
        <BlockGenusMember>little_bits_motiontrigger</BlockGenusMember>
        <BlockGenusMember>little_bits_pressuresensor</BlockGenusMember>
        <BlockGenusMember>little_bits_pulse</BlockGenusMember>
        <BlockGenusMember>little_bits_remotetrigger</BlockGenusMember>
        <BlockGenusMember>little_bits_rollerswitch</BlockGenusMember>
        <BlockGenusMember>little_bits_slidedimmer</BlockGenusMember>
        <BlockGenusMember>little_bits_slideswitch</BlockGenusMember>
        <BlockGenusMember>little_bits_soundtrigger</BlockGenusMember>
        <BlockGenusMember>little_bits_timeout</BlockGenusMember>
        <BlockGenusMember>little_bits_toggleswitch</BlockGenusMember>
        <BlockGenusMember>little_bits_mix</BlockGenusMember>
        <BlockGenusMember>little_bits_oscillator</BlockGenusMember>
        <BlockGenusMember>little_bits_random</BlockGenusMember>
        <BlockGenusMember>little_bits_bargraph</BlockGenusMember>
        <BlockGenusMember>little_bits_brightled</BlockGenusMember>
        <BlockGenusMember>little_bits_dcmotor</BlockGenusMember>
        <BlockGenusMember>little_bits_fan</BlockGenusMember>
        <BlockGenusMember>little_bits_ir_led</BlockGenusMember>
        <BlockGenusMember>little_bits_led</BlockGenusMember>
        <BlockGenusMember>little_bits_lightwire</BlockGenusMember>
        <BlockGenusMember>little_bits_longled</BlockGenusMember>
        <BlockGenusMember>little_bits_number</BlockGenusMember>
        <BlockGenusMember>little_bits_rgbled</BlockGenusMember>
        <BlockGenusMember>little_bits_uvled</BlockGenusMember>
        <BlockGenusMember>little_bits_vibration_motor</BlockGenusMember>
        <BlockGenusMember>little_bits_synthspeaker</BlockGenusMember>
      </BlockDrawer>
	   -->
      <!-- keenlon -->
	    <!--
      <BlockDrawer button-color="20 150 30" name="bd.ke-keenlon" type="default" is-open="no">
        <BlockGenusMember>ke-motor-run</BlockGenusMember>
        <BlockGenusMember>ke-motor-setmoto</BlockGenusMember>
        <BlockGenusMember>ke-motor-stop</BlockGenusMember>
        <BlockGenusMember>ke-tft-print</BlockGenusMember>
        <BlockGenusMember>ke-tft-add</BlockGenusMember>
        <BlockGenusMember>ke-tft-clear</BlockGenusMember>
        <BlockGenusMember>ke-eye-minvalue</BlockGenusMember>
        <BlockGenusMember>ke-eye-minindex</BlockGenusMember>
        <BlockGenusMember>ke-eye-maxvalue</BlockGenusMember>
        <BlockGenusMember>ke-eye-maxindex</BlockGenusMember>
        <BlockGenusMember>ke-button-getbutton</BlockGenusMember>
        <BlockGenusMember>ke-encoder-clear</BlockGenusMember>
        <BlockGenusMember>ke-encoder-getencoder</BlockGenusMember>
        <BlockGenusMember>ke-compass</BlockGenusMember>
        <BlockGenusMember>ke-buzzer</BlockGenusMember>
        <BlockGenusMember>ke-relays</BlockGenusMember>
        <BlockGenusMember>ke-led-on-off</BlockGenusMember>
        <BlockGenusMember>ke-led-pwm</BlockGenusMember>
        <BlockGenusMember>ke-touch</BlockGenusMember>
        <BlockGenusMember>ke-ground-light</BlockGenusMember>
        <BlockGenusMember>ke-light</BlockGenusMember>
        <BlockGenusMember>ke-photo</BlockGenusMember>
        <BlockGenusMember>ke-potentiometer</BlockGenusMember>
        <BlockGenusMember>ke-tempe</BlockGenusMember>
        <BlockGenusMember>ke-psd</BlockGenusMember>
        <BlockGenusMember>ke-servo</BlockGenusMember>
      </BlockDrawer>
	  -->
	   <!--
      <BlockDrawer button-color="152 29 155" name="bd.jerusalab" type="factory" is-open="no">
        <BlockGenusMember>midi_command</BlockGenusMember> -->
        <!-- <BlockGenusMember>midi_note</BlockGenusMember> -->
		 <!--
      </BlockDrawer>
	  -->
      <!--
			<BlockDrawer button-color="135 206 235" name="bd.linksprite_LinkerKit">
				<BlockGenusMember>ls_10mmLEDModule</BlockGenusMember>
				<BlockGenusMember>ls_5mmLEDModule</BlockGenusMember>
				<BlockGenusMember>ls_AccelerometerModule_x</BlockGenusMember>
				<BlockGenusMember>ls_AccelerometerModule_y</BlockGenusMember>
				<BlockGenusMember>ls_AccelerometerModule_z</BlockGenusMember>
				<BlockGenusMember>ls_ButtonModule</BlockGenusMember>
				<BlockGenusMember>ls_BuzzerModule</BlockGenusMember>
				<BlockGenusMember>ls_HallSensor</BlockGenusMember>
				<BlockGenusMember>ls_HighPowerLedModule</BlockGenusMember>
				<BlockGenusMember>ls_JoystickSensorModule_x</BlockGenusMember>
				<BlockGenusMember>ls_JoystickSensorModule_y</BlockGenusMember>
				<BlockGenusMember>ls_LDRModule</BlockGenusMember>
				<BlockGenusMember>ls_LEDBar</BlockGenusMember>
				<BlockGenusMember>ls_Linear-SlidePotentiometerModule</BlockGenusMember>
				<BlockGenusMember>ls_MagneticSwitch</BlockGenusMember>
				<BlockGenusMember>ls_MosfetModule</BlockGenusMember>
				<BlockGenusMember>ls_RelayModule</BlockGenusMember>
				<BlockGenusMember>ls_RotaryPotentiometerModule</BlockGenusMember>
				<BlockGenusMember>ls_RTCModule</BlockGenusMember>
				<BlockGenusMember>ls_SoundSensor</BlockGenusMember>
				<BlockGenusMember>ls_ThermalModule</BlockGenusMember>
				<BlockGenusMember>ls_TiltModule</BlockGenusMember>
				<BlockGenusMember>ls_TouchSensorModule</BlockGenusMember>
			</BlockDrawer>
			-->
      <!--
			<BlockDrawer button-color="0 255 0" name="XinChejian" type="factory">
				<BlockGenusMember>xcj_motor_forward</BlockGenusMember>
				<BlockGenusMember>xcj_motor_backward</BlockGenusMember> 
				<BlockGenusMember>xcj_ms_digital_read</BlockGenusMember>
				<BlockGenusMember>xcj_ms_digital_write</BlockGenusMember>
			</BlockDrawer>
			-->
      <!-- Shapes are automatically loaded as blocks in the Shapes drawer (see slcodeblocks.ShapeBlocksGenerator for details) -->
      <!-- Sound blocks reside in the auto-generated String drawer. (see slcodeblocks.SoundBlocksGenerator for details) -->
    </BlockDrawerSet>
  </BlockDrawerSets>
  <Pages drawer-with-page="yes">
    <Page page-name="Main" page-width="400" page-color="128 128 128" />
  </Pages>
  <TrashCan>
    <OpenTrashImage>com/ardublock/block/trash_open.png</OpenTrashImage>
    <ClosedTrashImage>com/ardublock/block/trash.png</ClosedTrashImage>
  </TrashCan>
</BlockLangDef>
