PageRenderTime 9ms CodeModel.GetById 21ms app.highlight 25ms RepoModel.GetById 0ms app.codeStats 1ms

/src/main/resources/com/ardublock/block/ardublock.xml

https://github.com/haobug/ardublock
XML | 3100 lines | 2895 code | 180 blank | 25 comment | 0 complexity | dc91ca0956c5a3b8991fbe75a260676c MD5 | raw file
Possible License(s): GPL-3.0
   1<?xml version="1.0" encoding="UTF-8"?>
   2<!DOCTYPE BlockLangDef SYSTEM "lang_def.dtd">
   3<!-- This describes every BlockGenus, BlockDrawer, BlockFamilies in Starlogo-TNG. 
   4	Note: For BlockGenus, if genus A relies on another genus B, that genus B 
   5	must be specified in the xml file before genus A is specified./ We impose 
   6	this requirement so that sanity checks can be made regarding the validity 
   7	of a default argument when the BlockGenuses are first loaded. -->
   8<BlockLangDef>
   9
  10	<BlockConnectorShapes>
  11		<BlockConnectorShape shape-type="number"
  12			shape-number="1" />
  13		<BlockConnectorShape shape-type="number-list"
  14			shape-number="2" />
  15		<BlockConnectorShape shape-type="number-inv"
  16			shape-number="3" />
  17		<BlockConnectorShape shape-type="boolean"
  18			shape-number="4" />
  19		<BlockConnectorShape shape-type="boolean-list"
  20			shape-number="5" />
  21		<BlockConnectorShape shape-type="boolean-inv"
  22			shape-number="6" />
  23		<BlockConnectorShape shape-type="string"
  24			shape-number="7" />
  25		<BlockConnectorShape shape-type="string-list"
  26			shape-number="8" />
  27		<BlockConnectorShape shape-type="string-inv"
  28			shape-number="9" />
  29		<BlockConnectorShape shape-type="poly"
  30			shape-number="10" />
  31		<BlockConnectorShape shape-type="poly-list"
  32			shape-number="11" />
  33		<BlockConnectorShape shape-type="poly-inv"
  34			shape-number="12" />
  35		<BlockConnectorShape shape-type="proc-param"
  36			shape-number="13" />
  37		<BlockConnectorShape shape-type="cmd"
  38			shape-number="14" />
  39	</BlockConnectorShapes>
  40
  41	<BlockGenuses>
  42		<!-- Number -->
  43
  44		<BlockGenus name="number" kind="data" color="208 10 16"
  45			initlabel="bg.number" editable-label="yes">
  46			<BlockConnectors>
  47				<BlockConnector connector-type="number"
  48					connector-kind="plug" position-type="mirror" />
  49			</BlockConnectors>
  50		</BlockGenus>
  51
  52		<BlockGenus name="digital-high" kind="data" color="208 10 16"
  53			initlabel="bg.digital-high">
  54			<BlockConnectors>
  55				<BlockConnector connector-type="boolean"
  56					connector-kind="plug" position-type="mirror" />
  57			</BlockConnectors>
  58		</BlockGenus>
  59		<BlockGenus name="digital-low" kind="data" color="208 10 16"
  60			initlabel="bg.digital-low">
  61			<BlockConnectors>
  62				<BlockConnector connector-type="boolean"
  63					connector-kind="plug" position-type="mirror" />
  64			</BlockConnectors>
  65		</BlockGenus>
  66
  67		<BlockGenus name="digital-on" kind="data" color="208 10 16"
  68			initlabel="bg.digital-on">
  69			<BlockConnectors>
  70				<BlockConnector connector-type="boolean"
  71					connector-kind="plug" position-type="mirror" />
  72			</BlockConnectors>
  73		</BlockGenus>
  74
  75		<BlockGenus name="digital-off" kind="data" color="208 10 16"
  76			initlabel="bg.digital-off">
  77			<BlockConnectors>
  78				<BlockConnector connector-type="boolean"
  79					connector-kind="plug" position-type="mirror" />
  80			</BlockConnectors>
  81		</BlockGenus>
  82
  83		<BlockGenus name="true" kind="data" initlabel="bg.true"
  84			color="208 10 16">
  85			<description>
  86				<text>
  87					Reports the boolean true.
  88				</text>
  89			</description>
  90			<BlockConnectors>
  91				<BlockConnector connector-kind="plug" connector-type="boolean"
  92					position-type="mirror" />
  93			</BlockConnectors>
  94		</BlockGenus>
  95
  96		<BlockGenus name="false" kind="data" initlabel="bg.false"
  97			color="208 10 16">
  98			<description>
  99				<text>
 100					Reports the boolean false.
 101				</text>
 102			</description>
 103			<BlockConnectors>
 104				<BlockConnector connector-kind="plug" connector-type="boolean"
 105					position-type="mirror" />
 106			</BlockConnectors>
 107		</BlockGenus>
 108
 109		<BlockGenus name="message" kind="data" color="0 0 255"
 110			initlabel="bg.message" editable-label="yes">
 111			<description>
 112				<text>string message</text>
 113			</description>
 114			<BlockConnectors>
 115				<BlockConnector connector-type="string"
 116					connector-kind="plug" />
 117				<BlockConnector connector-type="string"
 118					connector-kind="socket" />
 119			</BlockConnectors>
 120		</BlockGenus>
 121
 122		<BlockGenus name="glue_sn" kind="data" color="127 127 127"
 123			initlabel="bg.glue_sn">
 124			<description>
 125				<text>glue number to string</text>
 126			</description>
 127			<BlockConnectors>
 128				<BlockConnector connector-type="string"
 129					connector-kind="plug" />
 130				<BlockConnector connector-type="number"
 131					connector-kind="socket" />
 132			</BlockConnectors>
 133		</BlockGenus>
 134
 135		<BlockGenus name="glue_sb" kind="data" color="127 127 127"
 136			initlabel="bg.glue_sb">
 137			<description>
 138				<text>glue boolean to string</text>
 139			</description>
 140			<BlockConnectors>
 141				<BlockConnector connector-type="string"
 142					connector-kind="plug" />
 143				<BlockConnector connector-type="boolean"
 144					connector-kind="socket" />
 145			</BlockConnectors>
 146		</BlockGenus>
 147
 148		<!-- Basic -->
 149
 150		<BlockGenus name="loop" kind="command" color="255 221 0"
 151			initlabel="bg.loop" is-starter="yes" is-terminator="yes"
 152			label-unique="yes">
 153			<description>
 154				<text>this is the loop of the arduino</text>
 155			</description>
 156			<BlockConnectors>
 157				<BlockConnector connector-type="cmd" connector-kind="socket"
 158					label="bc.do" />
 159			</BlockConnectors>
 160		</BlockGenus>
 161
 162		<BlockGenus name="pin-read-digital" kind="data" color="77 191 169"
 163			initlabel="bg.pin-read-digital">
 164			<description>
 165				<text>Read digital value from pin</text>
 166			</description>
 167			<BlockConnectors>
 168				<BlockConnector connector-type="number"
 169					connector-kind="socket" label="#">
 170					<DefaultArg genus-name="number" label="1" />
 171				</BlockConnector>
 172				<BlockConnector connector-type="boolean"
 173					connector-kind="plug" />
 174			</BlockConnectors>
 175		</BlockGenus>
 176
 177		<BlockGenus name="pin-read-analog" kind="data" color="77 191 169"
 178			initlabel="bg.pin-read-analog">
 179			<description>
 180				<text>Read analog value from pin</text>
 181			</description>
 182			<BlockConnectors>
 183				<BlockConnector connector-type="number"
 184					connector-kind="socket" label="#">
 185					<DefaultArg genus-name="number" label="1" />
 186				</BlockConnector>
 187				<BlockConnector connector-type="number"
 188					connector-kind="plug" />
 189			</BlockConnectors>
 190		</BlockGenus>
 191
 192		<BlockGenus name="pin-write-digital" kind="command" color="77 191 169"
 193			initlabel="bg.pin-write-digital">
 194			<description>
 195				<text>write digital to pin</text>
 196			</description>
 197			<BlockConnectors>
 198				<BlockConnector connector-type="number"
 199					connector-kind="socket" label="#">
 200					<DefaultArg genus-name="number" label="1" />
 201				</BlockConnector>
 202				<BlockConnector connector-type="boolean"
 203					connector-kind="socket">
 204					<DefaultArg genus-name="digital-high" label="HIGH" />
 205				</BlockConnector>
 206			</BlockConnectors>
 207		</BlockGenus>
 208
 209		<BlockGenus name="setter_variable_number" kind="command"
 210			color="255 0 0" initlabel="bg.setter_variable_number">
 211			<description>
 212				<text>set a number variable</text>
 213			</description>
 214			<BlockConnectors>
 215				<BlockConnector connector-type="number"
 216					connector-kind="socket" label="bc.variable">
 217					<DefaultArg genus-name="variable_number" label="var name" />
 218				</BlockConnector>
 219				<BlockConnector connector-type="number"
 220					connector-kind="socket" label="bc.value">
 221					<DefaultArg genus-name="number" label="0" />
 222				</BlockConnector>
 223			</BlockConnectors>
 224		</BlockGenus>
 225
 226		<BlockGenus name="variable_number" kind="data"
 227			initlabel="bg.variable_number" editable-label="yes" is-label-value="yes"
 228			color="255 0 255">
 229			<description>
 230				<text>
 231					Digital Var
 232				</text>
 233			</description>
 234			<BlockConnectors>
 235				<BlockConnector connector-type="number"
 236					connector-kind="plug" position-type="mirror" />
 237			</BlockConnectors>
 238		</BlockGenus>
 239
 240		<BlockGenus name="setter_variable_digital" kind="command"
 241			color="255 0 0" initlabel="bg.setter_variable_digital">
 242			<description>
 243				<text>write digital to pin</text>
 244			</description>
 245			<BlockConnectors>
 246				<BlockConnector connector-type="boolean"
 247					connector-kind="socket" label="bc.variable">
 248					<DefaultArg genus-name="variable_digital" label="variable name" />
 249				</BlockConnector>
 250				<BlockConnector connector-type="boolean"
 251					connector-kind="socket" label="bc.value">
 252					<DefaultArg genus-name="digital-high" label="HIGH" />
 253				</BlockConnector>
 254			</BlockConnectors>
 255		</BlockGenus>
 256
 257		<BlockGenus name="variable_digital" kind="data"
 258			initlabel="bg.variable_digital" editable-label="yes" is-label-value="yes"
 259			color="255 0 255">
 260			<description>
 261				<text>
 262					Digital Var
 263				</text>
 264			</description>
 265			<BlockConnectors>
 266				<BlockConnector connector-type="boolean"
 267					connector-kind="plug" position-type="mirror" />
 268			</BlockConnectors>
 269		</BlockGenus>
 270
 271		<BlockGenus name="pin-write-analog" kind="command" color="77 191 169"
 272			initlabel="bg.pin-write-analog">
 273			<description>
 274				<text>write analog to pin</text>
 275			</description>
 276			<BlockConnectors>
 277				<BlockConnector connector-type="number"
 278					connector-kind="socket" label="#">
 279					<DefaultArg genus-name="number" label="1" />
 280				</BlockConnector>
 281				<BlockConnector connector-type="number"
 282					connector-kind="socket">
 283					<DefaultArg genus-name="number" label="255" />
 284				</BlockConnector>
 285			</BlockConnectors>
 286		</BlockGenus>
 287
 288		<BlockGenus name="servo" kind="command" color="77 191 169"
 289			initlabel="bg.servo">
 290			<description>
 291				<text>set a pin to pwm</text>
 292			</description>
 293			<BlockConnectors>
 294				<BlockConnector connector-type="number"
 295					connector-kind="socket" label="bc.pin_number">
 296					<DefaultArg genus-name="number" label="1" />
 297				</BlockConnector>
 298				<BlockConnector connector-type="number"
 299					connector-kind="socket" label="bc.angle">
 300					<DefaultArg genus-name="number" label="1" />
 301				</BlockConnector>
 302			</BlockConnectors>
 303		</BlockGenus>
 304
 305		<BlockGenus name="ultrasonic" kind="data" color="77 191 169"
 306			initlabel="bg.ultrasonic">
 307			<description>
 308				<text>Ultrasonic distance sensor</text>
 309			</description>
 310			<BlockConnectors>
 311				<BlockConnector connector-type="number"
 312					connector-kind="plug" label="cm" />
 313				<BlockConnector connector-type="number"
 314					connector-kind="socket" label="trigger #">
 315					<DefaultArg genus-name="number" label="1" />
 316				</BlockConnector>
 317				<BlockConnector connector-type="number"
 318					connector-kind="socket" label="echo #">
 319					<DefaultArg genus-name="number" label="2" />
 320				</BlockConnector>
 321			</BlockConnectors>
 322			<Images>
 323				<Image>
 324					<FileLocation>com/ardublock/block/ultrasonic.jpg</FileLocation>
 325				</Image>
 326			</Images>
 327		</BlockGenus>
 328
 329		<BlockGenus name="tone" kind="command" color="77 191 169"
 330			initlabel="tone">
 331			<description>
 332				<text>Generates a square wave of the specified frequency (and 50%
 333					duty cycle) on a pin.
 334				</text>
 335			</description>
 336			<BlockConnectors>
 337				<BlockConnector connector-type="number"
 338					connector-kind="socket" label="bc.pin_number">
 339					<DefaultArg genus-name="number" label="8" />
 340				</BlockConnector>
 341				<BlockConnector connector-type="number"
 342					connector-kind="socket" label="bc.frequency">
 343					<DefaultArg genus-name="number" label="440" />
 344				</BlockConnector>
 345
 346			</BlockConnectors>
 347		</BlockGenus>
 348
 349		<BlockGenus name="tone_time" kind="command" color="77 191 169"
 350			initlabel="tone">
 351			<description>
 352				<text>Generates a square wave of the specified frequency (and 50%
 353					duty cycle) on a pin.
 354				</text>
 355			</description>
 356			<BlockConnectors>
 357				<BlockConnector connector-type="number"
 358					connector-kind="socket" label="bc.pin_number">
 359					<DefaultArg genus-name="number" label="8" />
 360				</BlockConnector>
 361				<BlockConnector connector-type="number"
 362					connector-kind="socket" label="bc.frequency">
 363					<DefaultArg genus-name="number" label="440" />
 364				</BlockConnector>
 365				<BlockConnector connector-type="number"
 366					connector-kind="socket" label="bc.milliseconds">
 367					<DefaultArg genus-name="number" label="1000" />
 368				</BlockConnector>
 369			</BlockConnectors>
 370		</BlockGenus>
 371
 372		<BlockGenus name="no_tone" kind="command" color="77 191 169"
 373			initlabel="noTone">
 374			<description>
 375				<text>Stops the generation of a square wave triggered by tone().
 376				</text>
 377			</description>
 378			<BlockConnectors>
 379				<BlockConnector connector-type="number"
 380					connector-kind="socket" label="bc.pin_number">
 381					<DefaultArg genus-name="number" label="8" />
 382				</BlockConnector>
 383			</BlockConnectors>
 384		</BlockGenus>
 385
 386
 387
 388		<BlockGenus name="if" kind="command" initlabel="bg.if"
 389			color="255 221 0">
 390			<description>
 391				<text>
 392					If
 393					<arg n="1" />
 394					is true, the agent will run the blocks attached to
 395					<arg n="2" />
 396				</text>
 397				<arg-description n="1" name="test">
 398					The condition being
 399					tested.
 400				</arg-description>
 401
 402				<arg-description n="2" name="then">
 403					The set of instructions
 404					that is done when the condition is true.
 405				</arg-description>
 406			</description>
 407			<BlockConnectors>
 408				<BlockConnector label="bc.test" connector-kind="socket"
 409					connector-type="boolean" />
 410				<BlockConnector label="bc.then" connector-kind="socket"
 411					connector-type="cmd" />
 412			</BlockConnectors>
 413		</BlockGenus>
 414
 415		<BlockGenus name="ifelse" kind="command" initlabel="bg.ifelse"
 416			color="255 221 0">
 417			<description>
 418				<text>
 419					Does the first set of commands if the condition specified is
 420					true,
 421					otherwise it will do the second set of commands.
 422				</text>
 423				<arg-description n="1" name="test">
 424					The condition being
 425					tested.
 426				</arg-description>
 427
 428				<arg-description n="2" name="then">
 429					The set of instructions
 430					that is done when the condition is true.
 431				</arg-description>
 432
 433				<arg-description n="3" name="else">
 434					The set of instructions
 435					that is done when the condition is false.
 436				</arg-description>
 437			</description>
 438			<BlockConnectors>
 439				<BlockConnector label="bc.test" connector-kind="socket"
 440					connector-type="boolean" />
 441				<BlockConnector label="bc.then" connector-kind="socket"
 442					connector-type="cmd" />
 443				<BlockConnector label="bc.else" connector-kind="socket"
 444					connector-type="cmd" />
 445			</BlockConnectors>
 446		</BlockGenus>
 447
 448		<BlockGenus name="while" kind="command" initlabel="bg.while"
 449			color="255 221 0">
 450			<description>
 451				<text>
 452					While Block
 453				</text>
 454			</description>
 455			<BlockConnectors>
 456				<BlockConnector label="bc.condition" connector-kind="socket"
 457					connector-type="boolean" />
 458				<BlockConnector label="" connector-kind="socket"
 459					connector-type="cmd" />
 460			</BlockConnectors>
 461		</BlockGenus>
 462
 463		<BlockGenus name="repeat_times" kind="command" color="255 221 0"
 464			initlabel="bg.repeat_times">
 465			<description>
 466				<text>repeat</text>
 467			</description>
 468			<BlockConnectors>
 469				<BlockConnector connector-type="number"
 470					connector-kind="socket">
 471					<DefaultArg genus-name="number" label="5" />
 472				</BlockConnector>
 473				<BlockConnector connector-type="cmd" connector-kind="socket" />
 474			</BlockConnectors>
 475		</BlockGenus>
 476		
 477		<BlockGenus name="subroutine" kind="command" color="177 10 255" initlabel="bg.subroutine" is-starter="yes" is-terminator="yes"
 478			label-unique="yes" editable-label="yes">
 479		    <description>
 480		    	<text>subroutine</text>
 481		    </description>
 482		    <BlockConnectors>
 483		        <BlockConnector connector-type="cmd" connector-kind="socket" />
 484		    </BlockConnectors>
 485		</BlockGenus>
 486		
 487		<BlockGenus name="subroutine-ref" kind="command" color="177 10 255" initlabel="bg.subroutine" editable-label="yes">
 488		    <description>
 489		    	<text>invoke subroutine</text>
 490		    </description>
 491		</BlockGenus>
 492
 493		<!-- operator -->
 494
 495		<BlockGenus name="and" kind="data" initlabel="bg.and"
 496			color="149 193 31">
 497			<description>
 498				<text>
 499					Reports true if both of the two conditions are true.
 500				</text>
 501			</description>
 502			<BlockConnectors>
 503				<BlockConnector connector-kind="plug" connector-type="boolean" />
 504				<BlockConnector label="" connector-kind="socket"
 505					connector-type="boolean" />
 506				<BlockConnector label="" connector-kind="socket"
 507					connector-type="boolean" />
 508			</BlockConnectors>
 509		</BlockGenus>
 510
 511
 512		<BlockGenus name="or" kind="function" initlabel="bg.or"
 513			color="149 193 31">
 514			<description>
 515				<text>
 516					Reports true if one or both of the two conditions are true.
 517				</text>
 518			</description>
 519			<BlockConnectors>
 520				<BlockConnector connector-kind="plug" connector-type="boolean" />
 521				<BlockConnector label="" connector-kind="socket"
 522					connector-type="boolean" />
 523				<BlockConnector label="" connector-kind="socket"
 524					connector-type="boolean" />
 525			</BlockConnectors>
 526		</BlockGenus>
 527
 528		<BlockGenus name="not" kind="function" initlabel="bg.not"
 529			color="149 193 31">
 530			<description>
 531				<text>
 532					Reports the opposite of
 533					<arg n="1" />
 534					.
 535				</text>
 536			</description>
 537			<BlockConnectors>
 538				<BlockConnector connector-kind="plug" connector-type="boolean" />
 539				<BlockConnector label="" connector-kind="socket"
 540					connector-type="boolean" />
 541			</BlockConnectors>
 542		</BlockGenus>
 543
 544
 545		<!-- Math -->
 546
 547		<BlockGenus name="addition" kind="function" initlabel="bg.addition"
 548			color="149 193 31">
 549			<description>
 550				<text>
 551					Reports the sum of two numbers (
 552					<arg n="1" />
 553					+
 554					<arg n="2" />
 555					).
 556				</text>
 557			</description>
 558			<BlockConnectors>
 559				<BlockConnector label="" connector-kind="plug"
 560					connector-type="number" position-type="mirror" />
 561				<BlockConnector label="" connector-kind="socket"
 562					connector-type="number" position-type="bottom" />
 563				<BlockConnector label="" connector-kind="socket"
 564					connector-type="number" position-type="bottom" />
 565			</BlockConnectors>
 566		</BlockGenus>
 567
 568		<BlockGenus name="subtraction" kind="function" initlabel="bg.subtraction"
 569			color="149 193 31">
 570			<description>
 571				<text>
 572					Reports the difference of two numbers (
 573					<arg n="1" />
 574					-
 575					<arg n="2" />
 576					).
 577				</text>
 578			</description>
 579			<BlockConnectors>
 580				<BlockConnector label="" connector-kind="plug"
 581					connector-type="number" position-type="mirror" />
 582				<BlockConnector label="" connector-kind="socket"
 583					connector-type="number" position-type="bottom" />
 584				<BlockConnector label="" connector-kind="socket"
 585					connector-type="number" position-type="bottom" />
 586			</BlockConnectors>
 587		</BlockGenus>
 588
 589		<BlockGenus name="multiplication" kind="function"
 590			initlabel="bg.multiplication" color="149 193 31">
 591			<description>
 592				<text>
 593					Reports the product of two numbers (
 594					<arg n="1" />
 595					x
 596					<arg n="2" />
 597					).
 598				</text>
 599			</description>
 600			<BlockConnectors>
 601				<BlockConnector label="" connector-kind="plug"
 602					connector-type="number" position-type="mirror" />
 603				<BlockConnector label="" connector-kind="socket"
 604					connector-type="number" position-type="bottom" />
 605				<BlockConnector label="" connector-kind="socket"
 606					connector-type="number" position-type="bottom" />
 607			</BlockConnectors>
 608		</BlockGenus>
 609
 610		<BlockGenus name="division" kind="function" initlabel="bg.division"
 611			color="149 193 31">
 612			<description>
 613				<text>
 614					Reports the quotient of two numbers (
 615					<arg n="1" />
 616					รท
 617					<arg n="2" />
 618					).
 619				</text>
 620			</description>
 621			<BlockConnectors>
 622				<BlockConnector label="" connector-kind="plug"
 623					connector-type="number" position-type="mirror" />
 624				<BlockConnector label="" connector-kind="socket"
 625					connector-type="number" position-type="bottom" />
 626				<BlockConnector label="" connector-kind="socket"
 627					connector-type="number" position-type="bottom" />
 628			</BlockConnectors>
 629		</BlockGenus>
 630
 631		<BlockGenus name="modulo" kind="function" color="149 193 31"
 632			initlabel="bg.modulo">
 633			<BlockConnectors>
 634				<BlockConnector label="" connector-kind="plug"
 635					connector-type="number" position-type="mirror" />
 636				<BlockConnector label="" connector-kind="socket"
 637					connector-type="number" position-type="bottom" />
 638				<BlockConnector label="" connector-kind="socket"
 639					connector-type="number" position-type="bottom" />
 640			</BlockConnectors>
 641		</BlockGenus>
 642
 643		<BlockGenus name="min" kind="function" color="149 193 31"
 644			initlabel="bg.min">
 645			<BlockConnectors>
 646				<BlockConnector connector-type="number"
 647					connector-kind="plug" position-type="mirror" />
 648				<BlockConnector connector-type="number"
 649					connector-kind="socket" position-type="bottom" />
 650				<BlockConnector connector-type="number"
 651					connector-kind="socket" position-type="bottom" />
 652			</BlockConnectors>
 653		</BlockGenus>
 654
 655		<BlockGenus name="max" kind="function" color="149 193 31"
 656			initlabel="bg.max">
 657			<BlockConnectors>
 658				<BlockConnector connector-type="number"
 659					connector-kind="plug" position-type="mirror" />
 660				<BlockConnector connector-type="number"
 661					connector-kind="socket" position-type="bottom" />
 662				<BlockConnector connector-type="number"
 663					connector-kind="socket" position-type="bottom" />
 664			</BlockConnectors>
 665		</BlockGenus>
 666
 667		<BlockGenus name="greater" kind="function" color="149 193 31"
 668			initlabel="bg.greater">
 669			<description>
 670				<text>is upper number greater then lower?</text>
 671			</description>
 672			<BlockConnectors>
 673				<BlockConnector connector-type="boolean"
 674					connector-kind="plug" position-type="mirror" />
 675				<BlockConnector connector-type="number"
 676					connector-kind="socket" position-type="bottom" />
 677				<BlockConnector connector-type="number"
 678					connector-kind="socket" position-type="bottom" />
 679			</BlockConnectors>
 680		</BlockGenus>
 681
 682		<BlockGenus name="less" kind="function" color="149 193 31"
 683			initlabel="bg.less">
 684			<description>
 685				<text>is upper number less then lower?</text>
 686			</description>
 687			<BlockConnectors>
 688				<BlockConnector connector-type="boolean"
 689					connector-kind="plug" position-type="mirror" />
 690				<BlockConnector connector-type="number"
 691					connector-kind="socket" position-type="bottom" />
 692				<BlockConnector connector-type="number"
 693					connector-kind="socket" position-type="bottom" />
 694			</BlockConnectors>
 695		</BlockGenus>
 696
 697		<BlockGenus name="equal" kind="function" color="149 193 31"
 698			initlabel="bg.equal">
 699			<description>
 700				<text>is upper number greater then lower?</text>
 701			</description>
 702			<BlockConnectors>
 703				<BlockConnector connector-type="boolean"
 704					connector-kind="plug" position-type="mirror" />
 705				<BlockConnector connector-type="number"
 706					connector-kind="socket" position-type="bottom" />
 707				<BlockConnector connector-type="number"
 708					connector-kind="socket" position-type="bottom" />
 709			</BlockConnectors>
 710		</BlockGenus>
 711
 712		<BlockGenus name="greater_equal" kind="function" color="149 193 31"
 713			initlabel="bg.greater_equal">
 714			<description>
 715				<text>is upper number greater then lower?</text>
 716			</description>
 717			<BlockConnectors>
 718				<BlockConnector connector-type="boolean"
 719					connector-kind="plug" position-type="mirror" />
 720				<BlockConnector connector-type="number"
 721					connector-kind="socket" position-type="bottom" />
 722				<BlockConnector connector-type="number"
 723					connector-kind="socket" position-type="bottom" />
 724			</BlockConnectors>
 725		</BlockGenus>
 726
 727		<BlockGenus name="less_equal" kind="function" color="149 193 31"
 728			initlabel="bg.less_equal">
 729			<description>
 730				<text>is upper number greater then lower?</text>
 731			</description>
 732			<BlockConnectors>
 733				<BlockConnector connector-type="boolean"
 734					connector-kind="plug" position-type="mirror" />
 735				<BlockConnector connector-type="number"
 736					connector-kind="socket" position-type="bottom" />
 737				<BlockConnector connector-type="number"
 738					connector-kind="socket" position-type="bottom" />
 739			</BlockConnectors>
 740		</BlockGenus>
 741
 742		<BlockGenus name="not_equal" kind="function" color="149 193 31"
 743			initlabel="bg.not_equal">
 744			<description>
 745				<text>is upper number greater then lower?</text>
 746			</description>
 747			<BlockConnectors>
 748				<BlockConnector connector-type="boolean"
 749					connector-kind="plug" position-type="mirror" />
 750				<BlockConnector connector-type="number"
 751					connector-kind="socket" position-type="bottom" />
 752				<BlockConnector connector-type="number"
 753					connector-kind="socket" position-type="bottom" />
 754			</BlockConnectors>
 755		</BlockGenus>
 756
 757		<BlockGenus name="abs" kind="function" color="149 193 31"
 758			initlabel="bg.abs">
 759			<BlockConnectors>
 760				<BlockConnector connector-type="number"
 761					connector-kind="plug" />
 762				<BlockConnector connector-type="number"
 763					connector-kind="socket" />
 764			</BlockConnectors>
 765		</BlockGenus>
 766
 767		<BlockGenus name="pow" kind="function" color="149 193 31"
 768			initlabel="bg.pow">
 769			<BlockConnectors>
 770				<BlockConnector connector-type="number"
 771					connector-kind="plug" />
 772				<BlockConnector connector-type="number"
 773					connector-kind="socket" label="bc.base" />
 774				<BlockConnector connector-type="number"
 775					connector-kind="socket" label="bc.exponent" />
 776			</BlockConnectors>
 777		</BlockGenus>
 778
 779		<BlockGenus name="sqrt" kind="function" color="149 193 31"
 780			initlabel="bg.sqrt">
 781			<BlockConnectors>
 782				<BlockConnector connector-type="number"
 783					connector-kind="plug" />
 784				<BlockConnector connector-type="number"
 785					connector-kind="socket" />
 786			</BlockConnectors>
 787		</BlockGenus>
 788
 789		<BlockGenus name="sin" kind="function" color="149 193 31"
 790			initlabel="bg.sin">
 791			<BlockConnectors>
 792				<BlockConnector connector-type="number"
 793					connector-kind="plug" />
 794				<BlockConnector connector-type="number"
 795					connector-kind="socket" />
 796			</BlockConnectors>
 797		</BlockGenus>
 798
 799		<BlockGenus name="cos" kind="function" color="149 193 31"
 800			initlabel="bg.cos">
 801			<BlockConnectors>
 802				<BlockConnector connector-type="number"
 803					connector-kind="plug" />
 804				<BlockConnector connector-type="number"
 805					connector-kind="socket" />
 806			</BlockConnectors>
 807		</BlockGenus>
 808
 809		<BlockGenus name="tan" kind="function" color="149 193 31"
 810			initlabel="bg.tan">
 811			<BlockConnectors>
 812				<BlockConnector connector-type="number"
 813					connector-kind="plug" />
 814				<BlockConnector connector-type="number"
 815					connector-kind="socket" />
 816			</BlockConnectors>
 817		</BlockGenus>
 818
 819
 820
 821
 822		<!-- Utility -->
 823		<BlockGenus name="delay" kind="command" color="142 160 210"
 824			initlabel="bg.delay">
 825			<description>
 826				<text>program delay in x milliseconds</text>
 827			</description>
 828			<BlockConnectors>
 829				<BlockConnector connector-type="number"
 830					connector-kind="socket" label="bc.milliseconds">
 831					<DefaultArg genus-name="number" label="1000" />
 832				</BlockConnector>
 833			</BlockConnectors>
 834		</BlockGenus>
 835
 836		<BlockGenus name="delay_microseconds" kind="command" color="142 160 210"
 837			initlabel="bg.delay_microseconds">
 838			<description>
 839				<text>program delay in x milliseconds</text>
 840			</description>
 841			<BlockConnectors>
 842				<BlockConnector connector-type="number"
 843					connector-kind="socket" label="bc.microseconds">
 844					<DefaultArg genus-name="number" label="1000" />
 845				</BlockConnector>
 846			</BlockConnectors>
 847		</BlockGenus>
 848
 849		<BlockGenus name="random" kind="data" color="142 160 210"
 850			initlabel="bg.random">
 851			<description>
 852				<text>generate a random number less than the number</text>
 853			</description>
 854			<BlockConnectors>
 855				<BlockConnector connector-type="number"
 856					connector-kind="plug" />
 857				<BlockConnector connector-type="number"
 858					connector-kind="socket" label="bc.max">
 859					<DefaultArg genus-name="number" label="1024" />
 860				</BlockConnector>
 861			</BlockConnectors>
 862		</BlockGenus>
 863
 864		<BlockGenus name="millis" kind="data" color="142 160 210"
 865			initlabel="bg.millis">
 866			<description>
 867				<text>generate a random number less than the number</text>
 868			</description>
 869			<BlockConnectors>
 870				<BlockConnector connector-type="number"
 871					connector-kind="plug" position-type="mirror" />
 872			</BlockConnectors>
 873		</BlockGenus>
 874
 875		<BlockGenus name="serial_println" kind="command" color="142 160 210"
 876			initlabel="bg.serial_println">
 877			<description>
 878				<text>send message via Serial port</text>
 879			</description>
 880			<BlockConnectors>
 881				<BlockConnector connector-type="string"
 882					connector-kind="socket">
 883					<DefaultArg genus-name="message" label="message" />
 884				</BlockConnector>
 885			</BlockConnectors>
 886		</BlockGenus>
 887
 888		<BlockGenus name="map_common" kind="data" color="142 160 210"
 889			initlabel="bg.map_common">
 890			<description>
 891				<text>map value from [0, 1023] to [0, 255]</text>
 892			</description>
 893			<BlockConnectors>
 894				<BlockConnector connector-type="number"
 895					connector-kind="plug" />
 896				<BlockConnector connector-type="number"
 897					connector-kind="socket" label="bc.value">
 898					<DefaultArg genus-name="number" label="1" />
 899				</BlockConnector>
 900			</BlockConnectors>
 901		</BlockGenus>
 902
 903		<BlockGenus name="map" kind="data" color="142 160 210"
 904			initlabel="bg.map">
 905			<description>
 906				<text>map</text>
 907			</description>
 908			<BlockConnectors>
 909				<BlockConnector connector-type="number"
 910					connector-kind="plug" />
 911				<BlockConnector connector-type="number"
 912					connector-kind="socket" label="bc.value" />
 913				<BlockConnector connector-type="number"
 914					connector-kind="socket" label="bc.from">
 915					<DefaultArg genus-name="number" label="0" />
 916				</BlockConnector>
 917				<BlockConnector connector-type="number"
 918					connector-kind="socket">
 919					<DefaultArg genus-name="number" label="1023" />
 920				</BlockConnector>
 921				<BlockConnector connector-type="number"
 922					connector-kind="socket" label="bc.to">
 923					<DefaultArg genus-name="number" label="0" />
 924				</BlockConnector>
 925				<BlockConnector connector-type="number"
 926					connector-kind="socket">
 927					<DefaultArg genus-name="number" label="255" />
 928				</BlockConnector>
 929			</BlockConnectors>
 930		</BlockGenus>
 931
 932		<BlockGenus name="wire_read" kind="data" color="142 160 210"
 933			initlabel="bg.wire_read">
 934			<description>
 935				<text>read data from i2c</text>
 936			</description>
 937			<BlockConnectors>
 938				<BlockConnector connector-type="number"
 939					connector-kind="plug" />
 940				<BlockConnector connector-type="number"
 941					connector-kind="socket" label="bc.device_address">
 942					<DefaultArg genus-name="number" label="0" />
 943				</BlockConnector>
 944				<BlockConnector connector-type="number"
 945					connector-kind="socket" label="bc.register_address">
 946					<DefaultArg genus-name="number" label="0" />
 947				</BlockConnector>
 948			</BlockConnectors>
 949		</BlockGenus>
 950
 951		<BlockGenus name="wire_write" kind="command" color="142 160 210"
 952			initlabel="bg.wire_write">
 953			<description>
 954				<text>write data via I2C</text>
 955			</description>
 956			<BlockConnectors>
 957				<BlockConnector connector-type="number"
 958					connector-kind="socket" label="bc.device_address">
 959					<DefaultArg genus-name="number" label="0" />
 960				</BlockConnector>
 961				<BlockConnector connector-type="number"
 962					connector-kind="socket" label="bc.register_address">
 963					<DefaultArg genus-name="number" label="0" />
 964				</BlockConnector>
 965				<BlockConnector connector-type="number"
 966					connector-kind="socket" label="bc.value">
 967					<DefaultArg genus-name="number" label="0" />
 968				</BlockConnector>
 969			</BlockConnectors>
 970		</BlockGenus>
 971
 972		<BlockGenus name="wire_isread" kind="data" color="142 160 210"
 973			initlabel="bg.wire_isread">
 974			<description>
 975				<text>is last read from I2C success?</text>
 976			</description>
 977			<BlockConnectors>
 978				<BlockConnector connector-type="boolean"
 979					connector-kind="plug" position-type="mirror" />
 980			</BlockConnectors>
 981		</BlockGenus>
 982
 983		<!--************************************************************** TinkerKit! **********************************************************************-->
 984		<BlockGenus name="Tinker_LED" kind="command" color="255 255 255"
 985			initlabel="bg.Tinker_LED">
 986			<description>
 987				<text>TinkerKit LED</text>
 988			</description>
 989			<BlockConnectors>
 990				<BlockConnector connector-type="number"
 991					connector-kind="socket" label="bc.pin_number">
 992					<DefaultArg genus-name="Tinker_O1" label="O1" />
 993				</BlockConnector>
 994				<BlockConnector connector-type="boolean"
 995					connector-kind="socket" label="bc.status">
 996					<DefaultArg genus-name="digital-on" label="ON" />
 997				</BlockConnector>
 998			</BlockConnectors>
 999			<Images>
1000				<Image>
1001					<FileLocation>com/ardublock/block/arduino/Tinker_LED.jpg</FileLocation>
1002				</Image>
1003			</Images>
1004		</BlockGenus>
1005
1006		<BlockGenus name="Tinker_LED_pwm" kind="command" color="255 255 255"
1007			initlabel="bg.Tinker_LED_pwm">
1008			<description>
1009				<text>TinkerKit LED</text>
1010			</description>
1011			<BlockConnectors>
1012				<BlockConnector connector-type="number"
1013					connector-kind="socket" label="bc.pin_number">
1014					<DefaultArg genus-name="Tinker_O1" label="O1" />
1015				</BlockConnector>
1016				<BlockConnector connector-type="number"
1017					connector-kind="socket" label="bc.level">
1018					<DefaultArg genus-name="number" label="255" />
1019				</BlockConnector>
1020			</BlockConnectors>
1021			<Images>
1022				<Image>
1023					<FileLocation>com/ardublock/block/arduino/Tinker_LED.jpg</FileLocation>
1024				</Image>
1025			</Images>
1026		</BlockGenus>
1027
1028		<BlockGenus name="Tinker_Mosfet" kind="command" color="255 255 255"
1029			initlabel="bg.Tinker_Mosfet">
1030			<description>
1031				<text>TinkerKit Mosfet</text>
1032			</description>
1033			<BlockConnectors>
1034				<BlockConnector connector-type="number"
1035					connector-kind="socket" label="bc.pin_number">
1036					<DefaultArg genus-name="Tinker_O1" label="O1" />
1037				</BlockConnector>
1038				<BlockConnector connector-type="boolean"
1039					connector-kind="socket" label="bc.status">
1040					<DefaultArg genus-name="digital-high" label="HIGH" />
1041				</BlockConnector>
1042			</BlockConnectors>
1043			<Images>
1044				<Image>
1045					<FileLocation>com/ardublock/block/arduino/Tinker_Mosfet.jpg</FileLocation>
1046				</Image>
1047			</Images>
1048		</BlockGenus>
1049
1050		<BlockGenus name="Tinker_Mosfet_pwm" kind="command" color="255 255 255"
1051			initlabel="bg.Tinker_Mosfet_pwm">
1052			<description>
1053				<text>TinkerKit Mosfet</text>
1054			</description>
1055			<BlockConnectors>
1056				<BlockConnector connector-type="number"
1057					connector-kind="socket" label="bc.pin_number">
1058					<DefaultArg genus-name="Tinker_O1" label="O1" />
1059				</BlockConnector>
1060				<BlockConnector connector-type="number"
1061					connector-kind="socket" label="bc.level">
1062					<DefaultArg genus-name="number" label="255" />
1063				</BlockConnector>
1064			</BlockConnectors>
1065			<Images>
1066				<Image>
1067					<FileLocation>com/ardublock/block/arduino/Tinker_Mosfet.jpg</FileLocation>
1068				</Image>
1069			</Images>
1070		</BlockGenus>
1071
1072		<BlockGenus name="Tinker_Relay" kind="command" color="255 255 255"
1073			initlabel="bg.Tinker_Relay">
1074			<description>
1075				<text>TinkerKit Relay</text>
1076			</description>
1077			<BlockConnectors>
1078				<BlockConnector connector-type="number"
1079					connector-kind="socket" label="bc.pin_number">
1080					<DefaultArg genus-name="Tinker_O1" label="O1" />
1081				</BlockConnector>
1082				<BlockConnector connector-type="boolean"
1083					connector-kind="socket" label="bc.status">
1084					<DefaultArg genus-name="digital-high" label="HIGH" />
1085				</BlockConnector>
1086			</BlockConnectors>
1087			<Images>
1088				<Image>
1089					<FileLocation>com/ardublock/block/arduino/Tinker_Relay.jpg</FileLocation>
1090				</Image>
1091			</Images>
1092		</BlockGenus>
1093
1094		<BlockGenus name="Tinker_Servo" kind="command" color="255 255 255"
1095			initlabel="bg.Tinker_Servo">
1096			<description>
1097				<text>TinkerKit Servo</text>
1098			</description>
1099			<BlockConnectors>
1100				<BlockConnector connector-type="number"
1101					connector-kind="socket" label="bc.pin_number">
1102					<DefaultArg genus-name="Tinker_O1" label="O1" />
1103				</BlockConnector>
1104				<BlockConnector connector-type="number"
1105					connector-kind="socket" label="bc.angle">
1106					<DefaultArg genus-name="number" label="90" />
1107				</BlockConnector>
1108			</BlockConnectors>
1109			<Images>
1110				<Image>
1111					<FileLocation>com/ardublock/block/arduino/Tinker_Servo.jpg</FileLocation>
1112				</Image>
1113			</Images>
1114		</BlockGenus>
1115
1116		<BlockGenus name="Tinker_Button" kind="data" color="255 255 255"
1117			initlabel="bg.Tinker_Button">
1118			<description>
1119				<text>TinkerKit Button</text>
1120			</description>
1121			<BlockConnectors>
1122				<BlockConnector connector-type="boolean"
1123					connector-kind="plug" />
1124				<BlockConnector connector-type="number"
1125					connector-kind="socket" label="bc.pin_number">
1126					<DefaultArg genus-name="Tinker_I1" label="I1" />
1127				</BlockConnector>
1128			</BlockConnectors>
1129			<Images>
1130				<Image>
1131					<FileLocation>com/ardublock/block/arduino/Tinker_Button.png</FileLocation>
1132				</Image>
1133			</Images>
1134		</BlockGenus>
1135
1136		<BlockGenus name="Tinker_Accmeter" kind="data" color="255 255 255"
1137			initlabel="bg.Tinker_Accmeter">
1138			<description>
1139				<text>TinkerKit Accelerometer</text>
1140			</description>
1141			<BlockConnectors>
1142				<BlockConnector connector-type="number"
1143					connector-kind="plug" />
1144				<BlockConnector connector-type="number"
1145					connector-kind="socket" label="bc.pin_number">
1146					<DefaultArg genus-name="Tinker_I1" label="I1" />
1147				</BlockConnector>
1148			</BlockConnectors>
1149			<Images>
1150				<Image>
1151					<FileLocation>com/ardublock/block/arduino/Tinker_Accmeter.png</FileLocation>
1152				</Image>
1153			</Images>
1154		</BlockGenus>
1155
1156		<BlockGenus name="Tinker_Hall" kind="data" color="255 255 255"
1157			initlabel="bg.Tinker_Hall">
1158			<description>
1159				<text>TinkerKit Hall Sensor</text>
1160			</description>
1161			<BlockConnectors>
1162				<BlockConnector connector-type="number"
1163					connector-kind="plug" />
1164				<BlockConnector connector-type="number"
1165					connector-kind="socket" label="bc.pin_number">
1166					<DefaultArg genus-name="Tinker_I1" label="I1" />
1167				</BlockConnector>
1168			</BlockConnectors>
1169			<Images>
1170				<Image>
1171					<FileLocation>com/ardublock/block/arduino/Tinker_Hall.png</FileLocation>
1172				</Image>
1173			</Images>
1174		</BlockGenus>
1175
1176		<BlockGenus name="Tinker_LDR" kind="data" color="255 255 255"
1177			initlabel="bg.Tinker_LDR">
1178			<description>
1179				<text>TinkerKit LDR</text>
1180			</description>
1181			<BlockConnectors>
1182				<BlockConnector connector-type="number"
1183					connector-kind="plug" />
1184				<BlockConnector connector-type="number"
1185					connector-kind="socket" label="bc.pin_number">
1186					<DefaultArg genus-name="Tinker_I1" label="I1" />
1187				</BlockConnector>
1188			</BlockConnectors>
1189			<Images>
1190				<Image>
1191					<FileLocation>com/ardublock/block/arduino/Tinker_LDR.jpg</FileLocation>
1192				</Image>
1193			</Images>
1194		</BlockGenus>
1195
1196		<BlockGenus name="Tinker_LinearPotentiometer" kind="data"
1197			color="255 255 255" initlabel="bg.Tinker_LinearPotentiometer">
1198			<description>
1199				<text>TinkerKit Accelerometer</text>
1200			</description>
1201			<BlockConnectors>
1202				<BlockConnector connector-type="number"
1203					connector-kind="plug" />
1204				<BlockConnector connector-type="number"
1205					connector-kind="socket" label="bc.pin_number">
1206					<DefaultArg genus-name="Tinker_I1" label="I1" />
1207				</BlockConnector>
1208			</BlockConnectors>
1209			<Images>
1210				<Image>
1211					<FileLocation>com/ardublock/block/arduino/Tinker_LinearPotentiometer.jpg</FileLocation>
1212				</Image>
1213			</Images>
1214		</BlockGenus>
1215
1216		<BlockGenus name="Tinker_RotaryPotentiometer" kind="data"
1217			color="255 255 255" initlabel="bg.Tinker_RotaryPotentiometer">
1218			<description>
1219				<text>TinkerKit RotaryPotentiometer</text>
1220			</description>
1221			<BlockConnectors>
1222				<BlockConnector connector-type="number"
1223					connector-kind="plug" />
1224				<BlockConnector connector-type="number"
1225					connector-kind="socket" label="bc.pin_number">
1226					<DefaultArg genus-name="Tinker_I1" label="I1" />
1227				</BlockConnector>
1228			</BlockConnectors>
1229			<Images>
1230				<Image>
1231					<FileLocation>com/ardublock/block/arduino/Tinker_RotaryPotentiometer.jpg</FileLocation>
1232				</Image>
1233			</Images>
1234		</BlockGenus>
1235
1236		<BlockGenus name="Tinker_Thermistor" kind="data" color="255 255 255"
1237			initlabel="bg.Tinker_Thermistor">
1238			<description>
1239				<text>TinkerKit Thermistor</text>
1240			</description>
1241			<BlockConnectors>
1242				<BlockConnector connector-type="number"
1243					connector-kind="plug" />
1244				<BlockConnector connector-type="number"
1245					connector-kind="socket" label="bc.pin_number">
1246					<DefaultArg genus-name="Tinker_I1" label="I1" />
1247				</BlockConnector>
1248			</BlockConnectors>
1249			<Images>
1250				<Image>
1251					<FileLocation>com/ardublock/block/arduino/Tinker_Thermistor.jpg</FileLocation>
1252				</Image>
1253			</Images>
1254		</BlockGenus>
1255
1256		<BlockGenus name="Tinker_Touch" kind="data" color="255 255 255"
1257			initlabel="bg.Tinker_Touch">
1258			<description>
1259				<text>TinkerKit Touch Sensor</text>
1260			</description>
1261			<BlockConnectors>
1262				<BlockConnector connector-type="boolean"
1263					connector-kind="plug" />
1264				<BlockConnector connector-type="number"
1265					connector-kind="socket" label="bc.pin_number">
1266					<DefaultArg genus-name="Tinker_I1" label="I1" />
1267				</BlockConnector>
1268			</BlockConnectors>
1269			<Images>
1270				<Image>
1271					<FileLocation>com/ardublock/block/arduino/Tinker_Touch.jpg</FileLocation>
1272				</Image>
1273			</Images>
1274		</BlockGenus>
1275
1276		<BlockGenus name="Tinker_Servo" kind="command" color="255 255 255"
1277			initlabel="bg.Tinker_Servo">
1278			<description>
1279				<text>TinkerKit Servo</text>
1280			</description>
1281			<BlockConnectors>
1282				<BlockConnector connector-type="number"
1283					connector-kind="socket" label="bc.pin_number">
1284					<DefaultArg genus-name="Tinker_I1" label="I1" />
1285				</BlockConnector>
1286				<BlockConnector connector-type="number"
1287					connector-kind="socket" label="bc.angle">
1288					<DefaultArg genus-name="number" label="90" />
1289				</BlockConnector>
1290			</BlockConnectors>
1291			<Images>
1292				<Image>
1293					<FileLocation>com/ardublock/block/arduino/Tinker_Servo.jpg</FileLocation>
1294				</Image>
1295			</Images>
1296		</BlockGenus>
1297
1298
1299		<BlockGenus name="Tinker_Tilt" kind="data" color="255 255 255"
1300			initlabel="bg.Tinker_Tilt">
1301			<description>
1302				<text>TinkerKit Tilt</text>
1303			</description>
1304			<BlockConnectors>
1305				<BlockConnector connector-type="boolean"
1306					connector-kind="plug" />
1307				<BlockConnector connector-type="number"
1308					connector-kind="socket" label="bc.pin_number">
1309					<DefaultArg genus-name="Tinker_I1" label="I1" />
1310				</BlockConnector>
1311			</BlockConnectors>
1312			<Images>
1313				<Image>
1314					<FileLocation>com/ardublock/block/arduino/Tinker_Tilt.jpg</FileLocation>
1315				</Image>
1316			</Images>
1317		</BlockGenus>
1318
1319		<BlockGenus name="Tinker_I0" kind="data" color="255 255 255"
1320			initlabel="bg.Tinker_I0" editable-label="no">
1321			<BlockConnectors>
1322				<BlockConnector connector-type="number"
1323					connector-kind="plug" position-type="mirror" />
1324			</BlockConnectors>
1325		</BlockGenus>
1326		<BlockGenus name="Tinker_I1" kind="data" color="255 255 255"
1327			initlabel="bg.Tinker_I1" editable-label="no">
1328			<BlockConnectors>
1329				<BlockConnector connector-type="number"
1330					connector-kind="plug" position-type="mirror" />
1331			</BlockConnectors>
1332		</BlockGenus>
1333		<BlockGenus name="Tinker_I2" kind="data" color="255 255 255"
1334			initlabel="bg.Tinker_I2" editable-label="no">
1335			<BlockConnectors>
1336				<BlockConnector connector-type="number"
1337					connector-kind="plug" position-type="mirror" />
1338			</BlockConnectors>
1339		</BlockGenus>
1340		<BlockGenus name="Tinker_I3" kind="data" color="255 255 255"
1341			initlabel="bg.Tinker_I3" editable-label="no">
1342			<BlockConnectors>
1343				<BlockConnector connector-type="number"
1344					connector-kind="plug" position-type="mirror" />
1345			</BlockConnectors>
1346		</BlockGenus>
1347		<BlockGenus name="Tinker_I4" kind="data" color="255 255 255"
1348			initlabel="bg.Tinker_I4" editable-label="no">
1349			<BlockConnectors>
1350				<BlockConnector connector-type="number"
1351					connector-kind="plug" position-type="mirror" />
1352			</BlockConnectors>
1353		</BlockGenus>
1354		<BlockGenus name="Tinker_I5" kind="data" color="255 255 255"
1355			initlabel="bg.Tinker_I5" editable-label="no">
1356			<BlockConnectors>
1357				<BlockConnector connector-type="number"
1358					connector-kind="plug" position-type="mirror" />
1359			</BlockConnectors>
1360		</BlockGenus>
1361
1362		<BlockGenus name="Tinker_O0" kind="data" color="214 169 54"
1363			initlabel="bg.Tinker_O0" editable-label="no">
1364			<BlockConnectors>
1365				<BlockConnector connector-type="number"
1366					connector-kind="plug" position-type="mirror" />
1367			</BlockConnectors>
1368		</BlockGenus>
1369		<BlockGenus name="Tinker_O1" kind="data" color="214 169 54"
1370			initlabel="bg.Tinker_O1" editable-label="no">
1371			<BlockConnectors>
1372				<BlockConnector connector-type="number"
1373					connector-kind="plug" position-type="mirror" />
1374			</BlockConnectors>
1375		</BlockGenus>
1376		<BlockGenus name="Tinker_O2" kind="data" color="214 169 54"
1377			initlabel="bg.Tinker_O2" editable-label="no">
1378			<BlockConnectors>
1379				<BlockConnector connector-type="number"
1380					connector-kind="plug" position-type="mirror" />
1381			</BlockConnectors>
1382		</BlockGenus>
1383		<BlockGenus name="Tinker_O3" kind="data" color="214 169 54"
1384			initlabel="bg.Tinker_O3" editable-label="no">
1385			<BlockConnectors>
1386				<BlockConnector connector-type="number"
1387					connector-kind="plug" position-type="mirror" />
1388			</BlockConnectors>
1389		</BlockGenus>
1390		<BlockGenus name="Tinker_O4" kind="data" color="214 169 54"
1391			initlabel="bg.Tinker_O4" editable-label="no">
1392			<BlockConnectors>
1393				<BlockConnector connector-type="number"
1394					connector-kind="plug" position-type="mirror" />
1395			</BlockConnectors>
1396		</BlockGenus>
1397		<BlockGenus name="Tinker_O5" kind="data" color="214 169 54"
1398			initlabel="bg.Tinker_O5" editable-label="no">
1399			<BlockConnectors>
1400				<BlockConnector connector-type="number"
1401					connector-kind="plug" position-type="mirror" />
1402			</BlockConnectors>
1403		</BlockGenus>
1404
1405		<!-- Xinchejian -->
1406
1407		<BlockGenus name="xcj_motor_forward" kind="command" color="0 255 0"
1408			initlabel="bg.xcj_motor_forward">
1409			<description>
1410				<text>forward</text>
1411			</description>
1412			<BlockConnectors>
1413				<BlockConnector connector-type="number"
1414					connector-kind="socket" label="M#">
1415					<DefaultArg genus-name="number" label="1" />
1416				</BlockConnector>
1417				<BlockConnector connector-type="number"
1418					connector-kind="socket" label="speed">
1419					<DefaultArg genus-name="number" label="255" />
1420				</BlockConnector>
1421			</BlockConnectors>
1422			<Images>
1423				<Image>
1424					<FileLocation>com/ardublock/block/motor.jpg</FileLocation>
1425				</Image>
1426			</Images>
1427		</BlockGenus>
1428
1429		<BlockGenus name="xcj_motor_backward" kind="command" color="0 255 0"
1430			initlabel="bg.xcj_motor_backward">
1431			<description>
1432				<text>Moving the car backward</text>
1433			</description>
1434			<BlockConnectors>
1435				<BlockConnector connector-type="number"
1436					connector-kind="socket" label="M#">
1437					<DefaultArg genus-name="number" label="1" />
1438				</BlockConnector>
1439				<BlockConnector connector-type="number"
1440					connector-kind="socket" label="speed">
1441					<DefaultArg genus-name="number" label="255" />
1442				</BlockConnector>
1443			</BlockConnectors>
1444			<Images>
1445				<Image>
1446					<FileLocation>com/ardublock/block/motor.jpg</FileLocation>
1447				</Image>
1448			</Images>
1449		</BlockGenus>
1450
1451		<BlockGenus name="xcj_ms_digital_write" kind="command"
1452			color="0 255 0" initlabel="bg.xcj_ms_digital_write">
1453			<description>
1454				<text>Write ditial singal to Socket</text>
1455			</description>
1456			<BlockConnectors>
1457				<BlockConnector connector-type="number"
1458					connector-kind="socket" label="S#">
1459					<DefaultArg genus-name="number" label="1" />
1460				</BlockConnector>
1461				<BlockConnector connector-type="boolean"
1462					connector-kind="socket" label="bc.status">
1463					<DefaultArg genus-name="digital-high" label="HIGH" />
1464				</BlockConnector>
1465			</BlockConnectors>
1466		</BlockGenus>
1467
1468		<BlockGenus name="xcj_ms_digital_read" kind="data" color="0 255 0"
1469			initlabel="bg.xcj_ms_digital_read">
1470			<description>
1471				<text>Read digital status from socket</text>
1472			</description>
1473			<BlockConnectors>
1474				<BlockConnector connector-type="boolean"
1475					connector-kind="plug" />
1476				<BlockConnector connector-type="number"
1477					connector-kind="socket" label="S#">
1478					<DefaultArg genus-name="number" label="1" />
1479				</BlockConnector>
1480			</BlockConnectors>
1481		</BlockGenus>
1482
1483		<!--************************************************************** DFRobot ***************************************************************************-->
1484
1485
1486		<BlockGenus name="df_digital_viberation_sensor" kind="data"
1487			color="255 102 0" initlabel="bg.df_digital_viberation_sensor">
1488			<BlockConnectors>
1489				<BlockConnector connector-type="boolean"
1490					connector-kind="plug" />
1491				<BlockConnector connector-type="number"
1492					connector-kind="socket" label="bc.pin_number">
1493					<DefaultArg genus-name="number" label="1" />
1494				</BlockConnector>
1495			</BlockConnectors>
1496			<Images>
1497				<Image>
1498					<FileLocation>com/ardublock/block/dfrobot/dfr0027.png</FileLocation>
1499				</Image>
1500			</Images>
1501		</BlockGenus>
1502		
1503		<BlockGenus name="df_digital_tilt_sensor" kind="data"
1504			color="255 102 0" initlabel="bg.df_digital_tilt_sensor">
1505			<BlockConnectors>
1506				<BlockConnector connector-type="boolean"
1507					connector-kind="plug" />
1508				<BlockConnector connector-type="number"
1509					connector-kind="socket" label="bc.pin_number">
1510					<DefaultArg genus-name="number" label="1" />
1511				</BlockConnector>
1512			</BlockConnectors>
1513			<Images>
1514				<Image>
1515					<FileLocation>com/ardublock/block/dfrobot/dfr0028.png</FileLocation>
1516				</Image>
1517			</Images>
1518		</BlockGenus>
1519
1520		<BlockGenus name="df_digital_infrared_motion_sensor" kind="data"
1521			color="255 102 0" initlabel="bg.df_digital_infrared_motion_sensor">
1522			<BlockConnectors>
1523				<BlockConnector connector-type="boolean"
1524					connector-kind="plug" />
1525				<BlockConnector connector-type="number"
1526					connector-kind="socket" label="bc.pin_number">
1527					<DefaultArg genus-name="number" label="1" />
1528				</BlockConnector>
1529			</BlockConnectors>
1530			<Images>
1531				<Image>
1532					<FileLocation>com/ardublock/block/dfrobot/sen0018.png</FileLocation>
1533				</Image>
1534			</Images>
1535		</BlockGenus>
1536
1537		<BlockGenus name="df_digital_ir_receiver_module" kind="data"
1538			color="255 102 0" initlabel="bg.df_digital_ir_receiver_module">
1539			<BlockConnectors>
1540				<BlockConnector connector-type="boolean"
1541					connector-kind="plug" />
1542				<BlockConnector connector-type="number"
1543					connector-kind="socket" label="bc.pin_number">
1544					<DefaultArg genus-name="number" label="1" />
1545				</BlockConnector>
1546			</BlockConnectors>
1547			<Images>
1548				<Image>
1549					<FileLocation>com/ardublock/block/dfrobot/dfr0094.jpg</FileLocation>
1550				</Image>
1551			</Images>
1552		</BlockGenus>
1553
1554		<BlockGenus name="df_adjustable_infrared_sensor_switch"
1555			kind="data" color="255 102 0" initlabel="bg.df_adjustable_infrared_sensor_switch">
1556			<BlockConnectors>
1557				<BlockConnector connector-type="boolean"
1558					connector-kind="plug" />
1559				<BlockConnector connector-type="number"
1560					connector-kind="socket" label="bc.pin_number">
1561					<DefaultArg genus-name="number" label="1" />
1562				</BlockConnector>
1563			</BlockConnectors>
1564			<Images>
1565				<Image>
1566					<FileLocation>com/ardublock/block/dfrobot/sen0019.jpg</FileLocation>
1567				</Image>
1568			</Images>
1569		</BlockGenus>
1570
1571		<BlockGenus name="df_line_tracking_sensor" kind="data"
1572			color="255 102 0" initlabel="bg.df_line_tracking_sensor">
1573			<BlockConnectors>
1574				<BlockConnector connector-type="boolean"
1575					connector-kind="plug" />
1576				<BlockConnector connector-type="number"
1577					connector-kind="socket" label="bc.pin_number">
1578					<DefaultArg genus-name="number" label="1" />
1579				</BlockConnector>
1580			</BlockConnectors>
1581			<Images>
1582				<Image>
1583					<FileLocation>com/ardublock/block/dfrobot/sen0017.jpg</FileLocation>
1584				</Image>
1585			</Images>
1586		</BlockGenus>
1587
1588		<BlockGenus name="df_digital_push_button" kind="data"
1589			color="255 102 0" initlabel="bg.df_digital_push_button">
1590			<BlockConnectors>
1591				<BlockConnector connector-type="boolean"
1592					connector-kind="plug" />
1593				<BlockConnector connector-type="number"
1594					connector-kind="socket" label="bc.pin_number">
1595					<DefaultArg genus-name="number" label="1" />
1596				</BlockConnector>
1597			</BlockConnectors>
1598			<Images>
1599				<Image>
1600					<FileLocation>com/ardublock/block/dfrobot/dfr0029.png</FileLocation>
1601				</Image>
1602			</Images>
1603		</BlockGenus>
1604
1605		<BlockGenus name="df_joystick_module_button" kind="data"
1606			color="255 102 0" initlabel="bg.df_joystick_module_button">
1607			<BlockConnectors>
1608				<BlockConnector connector-type="boolean"
1609					connector-kind="plug" />
1610				<BlockConnector connector-type="number"
1611					connector-kind="socket" label="bc.pin_number">
1612					<DefaultArg genus-name="number" label="1" />
1613				</BlockConnector>
1614			</BlockConnectors>
1615			<Images>
1616				<Image>
1617					<FileLocation>com/ardublock/block/dfrobot/dfr0061.png</FileLocation>
1618				</Image>
1619			</Images>
1620		</BlockGenus>
1621
1622		<BlockGenus name="df_capacitive_touch_sensor" kind="data"
1623			color="255 102 0" initlabel="bg.df_capacitive_touch_sensor">
1624			<BlockConnectors>
1625				<BlockConnector connector-type="boolean"
1626					connector-kind="plug" />
1627				<BlockConnector connector-type="number"
1628					connector-kind="socket" label="bc.pin_number">
1629					<DefaultArg genus-name="number" label="1" />
1630				</BlockConnector>
1631			</BlockConnectors>
1632			<Images>
1633				<Image>
1634					<FileLocation>com/ardublock/block/dfrobot/dfr0030.png</FileLocation>
1635				</Image>
1636			</Images>
1637		</BlockGenus>
1638
1639		<BlockGenus name="df_digital_magnetic_sensor" kind="data"
1640			color="255 102 0" initlabel="bg.df_digital_magnetic_sensor">
1641			<BlockConnectors>
1642				<BlockConnector connector-type="boolean"
1643					connector-kind="plug" />
1644				<BlockConnector connector-type="number"
1645					connector-kind="socket" label="bc.pin_number">
1646					<DefaultArg genus-name="number" label="1" />
1647				</BlockConnector>
1648			</BlockConnectors>
1649			<Images>
1650				<Image>
1651					<FileLocation>com/ardublock/block/dfrobot/dfr0033.png</FileLocation>
1652				</Image>
1653			</Images>
1654		</BlockGenus>
1655
1656
1657		<BlockGenus name="df_pizeo_disk_vibration_sensor" kind="data"
1658			color="255 102 0" initlabel="bg.df_pizeo_disk_vibration_sensor">
1659			<description>
1660				<text>Vibration Sensor buffers a piezoelectric transducer that
1661					responds to strain changes by generating a measurable output
1662					voltage change which is proportional to the strength of vibration.
1663				</text>
1664			</description>
1665			<BlockConnectors>
1666				<BlockConnector connector-type="number"
1667					connector-kind="socket" label="bc.pin_number">
1668					<DefaultArg genus-name="number" label="1" />
1669				</BlockConnector>
1670				<BlockConnector connector-type="number"
1671					connector-kind="plug" />
1672			</BlockConnectors>
1673			<Images>
1674				<Image>
1675					<FileLocation>com/ardublock/block/dfrobot/dfr0052.png</FileLocation>
1676				</Image>
1677			</Images>
1678		</BlockGenus>
1679		<BlockGenus name="df_analog_ambient_light_sensor" kind="data"
1680			color="255 102 0" initlabel="bg.df_analog_ambient_light_sensor">
1681			<description>
1682				<text>The ambient light sensor detects light density.  </text>
1683			</description>
1684			<BlockConnectors>
1685				<BlockConnector connector-type="number"
1686					connector-kind="socket" label="bc.pin_number">
1687					<DefaultArg genus-name="number" label="1" />
1688				</BlockConnector>
1689				<BlockConnector connector-type="number"
1690					connector-kind="plug" />
1691			</BlockConnectors>
1692			<Images>
1693				<Image>
1694					<FileLocation>com/ardublock/block/dfrobot/dfr0026.png</FileLocation>
1695				</Image>
1696			</Images>
1697		</BlockGenus>
1698		<BlockGenus name="df_analog_grayscale_sensor" kind="data"
1699			color="255 102 0" initlabel="bg.df_analog_grayscale_sensor">
1700			<description>
1701				<text>Analog Grayscale Sensor detect the grayscale.</text>
1702			</description>
1703			<BlockConnectors>
1704				<BlockConnector connector-type="number"
1705					connector-kind="socket" label="bc.pin_number">
1706					<DefaultArg genus-name="number" label="1" />
1707				</BlockConnector>
1708				<BlockConnector connector-type="number"
1709					connector-kind="plug" />
1710			</BlockConnectors>
1711			<Images>
1712				<Image>
1713					<FileLocation>com/ardublock/block/dfrobot/dfr0022.png</FileLocation>
1714				</Image>
1715			</Images>
1716		</BlockGenus>
1717		<BlockGenus name="df_flame_sensor" kind="data" color="255 102 0"
1718			initlabel="bg.df_flame_sensor">
1719			<description>
1720				<text>Read analog value from pin</text>
1721			</description>
1722			<BlockConnectors>
1723				<BlockConnector connector-type="number"
1724					connector-kind="socket" label="bc.pin_number">
1725					<DefaultArg genus-name="number" label="1" />
1726				</BlockConnector>
1727				<BlockConnector connector-type="number"
1728					connector-kind="plug" />
1729			</BlockConnectors>
1730			<Images>
1731				<Image>
1732					<FileLocation>com/ardublock/block/dfrobot/dfr0076.png</FileLocation>
1733				</Image>
1734			</Images>
1735		</BlockGenus>
1736
1737		<BlockGenus name="df_analog_mma7361_x" kind="data" color="255 102 0"
1738			initlabel="bg.df_analog_mma7361_x">
1739			<description>
1740				<text>Read analog value from pin</text>
1741			</description>
1742			<BlockConnectors>
1743				<BlockConnector connector-type="number"
1744					connector-kind="socket" label="bc.pin_number">
1745					<DefaultArg genus-name="number" label="1" />
1746				</BlockConnector>
1747				<BlockConnector connector-type="number"
1748					connector-kind="plug" />
1749			</BlockConnectors>
1750			<Images>
1751				<Image>
1752					<FileLocation>com/ardublock/block/dfrobot/dfr0143.png</FileLocation>
1753				</Image>
1754			</Images>
1755		</BlockGenus>
1756		
1757		<BlockGenus name="df_analog_mma7361_y" kind="data" color="255 102 0"
1758			initlabel="bg.df_analog_mma7361_y">
1759			<description>
1760				<text>Read analog value from pin</text>
1761			</description>
1762			<BlockConnectors>
1763				<BlockConnector connector-type="number"
1764					connector-kind="socket" label="bc.pin_number">
1765					<DefaultArg genus-name="number" label="1" />
1766				</BlockConnector>
1767				<BlockConnector connector-type="number"
1768					connector-kind="plug" />
1769			</BlockConnectors>
1770			<Images>
1771				<Image>
1772					<FileLocation>com/ardublock/block/dfrobot/dfr0143.png</FileLocation>
1773				</Image>
1774			</Images>
1775		</BlockGenus>
1776		
1777		
1778		<BlockGenus name="df_analog_mma7361_z" kind="data" color="255 102 0"
1779			initlabel="bg.df_analog_mma7361_z">
1780			<description>
1781				<text>Read analog value from pin</text>
1782			</description>
1783			<BlockConnectors>
1784				<BlockConnector connector-type="number"
1785					connector-kind="socket" label="bc.pin_number">
1786					<DefaultArg genus-name="number" label="1" />
1787				</BlockConnector>
1788				<BlockConnector connector-type="number"
1789					connector-kind="plug" />
1790			</BlockConnectors>
1791			<Images>
1792				<Image>
1793					<FileLocation>com/ardublock/block/dfrobot/dfr0143.png</FileLocation>
1794				</Image>
1795			</Images>
1796		</BlockGenus>
1797		
1798		<BlockGenus name="df_analog_gp2y0a21" kind="data" color="255 102 0"
1799			initlabel="bg.df_analog_gp2y0a21">
1800			<description>
1801				<text>Read analog value from pin</text>
1802			</description>
1803			<BlockConnectors>
1804				<BlockConnector connector-type="number"
1805					connector-kind="socket" label="bc.pin_number">
1806					<DefaultArg genus-name="number" label="1" />
1807				</BlockConnector>
1808				<BlockConnector connector-type="number"
1809					connector-kind="plug" />
1810			</BlockConnectors>
1811			<Images>
1812				<Image>
1813					<FileLocation>com/ardublock/block/dfrobot/sen0014.png</FileLocation>
1814				</Image>
1815			</Images>
1816		</BlockGenus>
1817		
1818		<BlockGenus name="df_analog_moisture" kind="data" color="255 102 0"
1819			initlabel="bg.df_analog_moisture">
1820			<description>
1821				<text>Read analog value from pin</text>
1822			</description>
1823			<BlockConnectors>
1824				<BlockConnector connector-type="number"
1825					connector-kind="socket" label="bc.pin_number">
1826					<DefaultArg genus-name="number" label="1" />
1827				</BlockConnector>
1828				<BlockConnector connector-type="number"
1829					connector-kind="plug" />
1830			</BlockConnectors>
1831			<Images>
1832				<Image>
1833					<FileLocation>com/ardublock/block/dfrobot/sen0114.png</FileLocation>
1834				</Image>
1835			</Images>
1836		</BlockGenus>
1837		
1838		
1839		<BlockGenus name="df_temperature_sensor" kind="data" color="255 102 0"
1840			initlabel="bg.df_temperature_sensor">
1841			<description>
1842				<text>Read analog value from pin</text>
1843			</description>
1844			<BlockConnectors>
1845				<BlockConnector connector-type="number"
1846					connector-kind="socket" label="bc.pin_number">
1847					<DefaultArg genus-name="number" label="1" />
1848				</BlockConnector>
1849				<BlockConnector connector-type="number"
1850					connector-kind="plug" />
1851			</BlockConnectors>
1852			<Images>
1853				<Image>
1854					<FileLocation>com/ardublock/block/dfrobot/dfr0023.png</FileLocation>
1855				</Image>
1856			</Images>
1857		</BlockGenus>
1858		<BlockGenus name="df_joystick_module_x" kind="data" color="255 102 0"
1859			initlabel="bg.df_joystick_module_x">
1860			<description>
1861				<text>Read analog value from pin</text>
1862			</description>
1863			<BlockConnectors>
1864				<BlockConnector connector-type="number"
1865					connector-kind="socket" label="bc.pin_number">
1866					<DefaultArg genus-name="number" label="1" />
1867				</BlockConnector>
1868				<BlockConnector connector-type="number"
1869					connector-kind="plug" />
1870			</BlockConnectors>
1871			<Images>
1872				<Image>
1873					<FileLocation>com/ardublock/block/dfrobot/dfr0061.png</FileLocation>
1874				</Image>
1875			</Images>
1876		</BlockGenus>
1877		<BlockGenus name="df_joystick_module_y" kind="data" color="255 102 0"
1878			initlabel="bg.df_joystick_module_y">
1879			<description>
1880				<text>Read analog value from pin</text>
1881			</description>
1882			<BlockConnectors>
1883				<BlockConnector connector-type="number"
1884					connector-kind="socket" label="bc.pin_number">
1885					<DefaultArg genus-name="number" label="1" />
1886				</BlockConnector>
1887				<BlockConnector connector-type="number"
1888					connector-kind="plug" />
1889			</BlockConnectors>
1890			<Images>
1891				<Image>
1892					<FileLocation>com/ardublock/block/dfrobot/dfr0061.png</FileLocation>
1893				</Image>
1894			</Images>
1895		</BlockGenus>
1896		<BlockGenus name="df_mma7260_x" kind="data" color="255 102 0"
1897			initlabel="bg.df_mma7260_x">
1898			<description>
1899				<text>Read analog value from pin</text>
1900			</description>
1901			<BlockConnectors>
1902				<BlockConnector connector-type="number"
1903					connector-kind="socket" label="bc.pin_number">
1904					<DefaultArg genus-name="number" label="1" />
1905				</BlockConnector>
1906				<BlockConnector connector-type="number"
1907					connector-kind="plug" />
1908			</BlockConnectors>
1909			<Images>
1910				<Image>
1911					<FileLocation>com/ardublock/block/dfrobot/dfr0068.jpg</FileLocation>
1912				</Image>
1913			</Images>
1914		</BlockGenus>
1915		<BlockGenus name="df_mma7260_y" kind="data" color="255 102 0"
1916			initlabel="bg.df_mma7260_y">
1917			<description>
1918				<text>Read analog value from pin</text>
1919			</description>
1920			<BlockConnectors>
1921				<BlockConnector connector-type="number"
1922					connector-kind="socket" label="bc.pin_number">
1923					<DefaultArg genus-name="number" label="1" />
1924				</BlockConnector>
1925				<BlockConnector connector-type="number"
1926					connector-kind="plug" />
1927			</BlockConnectors>
1928			<Images>
1929				<Image>
1930					<FileLocation>com/ardublock/block/dfrobot/dfr0068.jpg</FileLocation>
1931				</Image>
1932			</Images>
1933		</BlockGenus>
1934		<BlockGenus name="df_mma7260_z" kind="data" color="255 102 0"
1935			initlabel="bg.df_mma7260_z">
1936			<description>
1937				<text>Read analog value from pin</text>
1938			</description>
1939			<BlockConnectors>
1940				<BlockConnector connector-type="number"
1941					connector-kind="socket" label="bc.pin_number">
1942					<DefaultArg genus-name="number" label="1" />
1943				</BlockConnector>
1944				<BlockConnector connector-type="number"
1945					connector-kind="plug" />
1946			</BlockConnectors>
1947			<Images>
1948				<Image>
1949					<FileLocation>com/ardublock/block/dfrobot/dfr0068.jpg</FileLocation>
1950				</Image>
1951			</Images>
1952		</BlockGenus>
1953		<BlockGenus name="df_analog_rotation_sensor_v1" kind="data"
1954			color="255 102 0" initlabel="bg.df_analog_rotation_sensor_v1">
1955			<description>
1956				<text>Read analog value from pin</text>
1957			</description>
1958			<BlockConnectors>
1959				<BlockConnector connector-type="number"
1960					connector-kind="socket" label="bc.pin_number">
1961					<DefaultArg genus-name="number" label="1" />
1962				</BlockConnector>
1963				<BlockConnector connector-type="number"
1964					connector-kind="plug" />
1965			</BlockConnectors>
1966			<Images>
1967				<Image>
1968					<FileLocation>com/ardublock/block/dfrobot/dfr0054.jpg</FileLocation>
1969				</Image>
1970			</Images>
1971		</BlockGenus>
1972		<BlockGenus name="df_analog_rotation_sensor_v2" kind="data"
1973			color="255 102 0" initlabel="bg.df_analog_rotation_sensor_v2">
1974			<description>
1975				<text>Read analog value from pin</text>
1976			</description>
1977			<BlockConnectors>
1978				<BlockConnector connector-type="number"
1979					connector-kind="socket" label="bc.pin_number">
1980					<DefaultArg genus-name="number" label="1" />
1981				</BlockConnector>
1982				<BlockConnector connector-type="number"
1983					connector-kind="plug" />
1984			</BlockConnectors>
1985			<Images>
1986				<Image>
1987					<FileLocation>com/ardublock/block/dfrobot/dfr0058.png</FileLocation>
1988				</Image>
1989			</Images>
1990		</BlockGenus>
1991		<BlockGenus name="df_analog_sound_sensor" kind="data"
1992			color="255 102 0" initlabel="bg.df_analog_sound_sensor">
1993			<description>
1994				<text>Read analog value from pin</text>
1995			</description>
1996			<BlockConnectors>
1997				<BlockConnector connector-type="number"
1998					connector-kind="socket" label="bc.pin_number">
1999					<DefaultArg genus-name="number" label="1" />
2000				</BlockConnector>
2001				<BlockConnector connector-type="number"
2002					connector-kind="plug" />
2003			</BlockConnectors>
2004			<Images>
2005				<Image>
2006					<FileLocation>com/ardublock/block/dfrobot/dfr0034.png</FileLocation>
2007				</Image>
2008			</Images>
2009		</BlockGenus>
2010		
2011		<BlockGenus name="df_analog_gas_sensor" kind="data" color="255 102 0"
2012			initlabel="bg.df_analog_gas_sensor">
2013			<description>
2014				<text>Read analog value from pin</text>
2015			</description>
2016			<BlockConnectors>
2017				<BlockConnector connector-type="number"
2018					connector-kind="socket" label="bc.pin_number">
2019					<DefaultArg genus-name="number" label="1" />
2020				</BlockConnector>
2021				<BlockConnector connector-type="number"
2022					connector-kind="plug" />
2023			</BlockConnectors>
2024			<Images>
2025				<Image>
2026					<FileLocation>com/ardublock/block/dfrobot/dfr0049.jpg</FileLocation>
2027				</Image>
2028			</Images>
2029		</BlockGenus>
2030
2031
2032		<BlockGenus name="df_analog_co_sensor" kind="data" color="255 102 0"
2033			initlabel="bg.df_analog_co_sensor">
2034			<description>
2035				<text>Read analog value from pin</text>
2036			</description>
2037			<BlockConnectors>
2038				<BlockConnector connector-type="number"
2039					connector-kind="socket" label="bc.pin_number">
2040					<DefaultArg genus-name="number" label="1" />
2041				</BlockConnector>
2042				<BlockConnector connector-type="number"
2043					connector-kind="plug" />
2044			</BlockConnectors>
2045			<Images>
2046				<Image>
2047					<FileLocation>com/ardublock/block/dfrobot/sen0132.png</FileLocation>
2048				</Image>
2049			</Images>
2050		</BlockGenus>
2051
2052		<BlockGenus name="df_analog_voltage_divider" kind="data" color="255 102 0"
2053			initlabel="bg.df_analog_voltage_divider">
2054			<description>
2055				<text>Read analog value from pin</text>
2056			</description>
2057			<BlockConnectors>
2058				<BlockConnector connector-type="number"
2059					connector-kind="socket" label="bc.pin_number">
2060					<DefaultArg genus-name="number" label="1" />
2061				</BlockConnector>
2062				<BlockConnector connector-type="number"
2063					connector-kind="plug" />
2064			</BlockConnectors>
2065			<Images>
2066				<Image>
2067					<FileLocation>com/ardublock/block/dfrobot/dfr0051.png</FileLocation>
2068				</Image>
2069			</Images>
2070		</BlockGenus>
2071
2072		<BlockGenus name="df_servo" kind="command" color="255 102 0"
2073			initlabel="bg.df_servo">
2074			<description>
2075				<text>set a pin to pwm</text>
2076			</description>
2077			<BlockConnectors>
2078				<BlockConnector connector-type="number"
2079					connector-kind="socket" label="bc.pin_number">
2080					<DefaultArg genus-name="number" label="1" />
2081				</BlockConnector>
2082				<BlockConnector connector-type="number"
2083					connector-kind="socket" label="bc.angle">
2084					<DefaultArg genus-name="number" label="1" />
2085				</BlockConnector>
2086			</BlockConnectors>
2087			<Images>
2088				<Image>
2089					<FileLocation>com/ardublock/block/dfrobot/ser0017.jpg</FileLocation>
2090				</Image>
2091			</Images>
2092		</BlockGenus>
2093
2094		<BlockGenus name="df_360_degree_rotation_motor" kind="command"
2095			color="255 102 0" initlabel="bg.df_360_degree_rotation_motor">
2096			<description>
2097				<text>set a pin to pwm</text>
2098			</description>
2099			<BlockConnectors>
2100				<BlockConnector connector-type="number"
2101					connector-kind="socket" label="bc.pin_number">
2102					<DefaultArg genus-name="number" label="1" />
2103				</BlockConnector>
2104				<BlockConnector connector-type="number"
2105					connector-kind="socket" label="bc.angle">
2106					<DefaultArg genus-name="number" label="1" />
2107				</BlockConnector>
2108			</BlockConnectors>
2109			<Images>
2110				<Image>
2111					<FileLocation>com/ardublock/block/dfrobot/ser0017.jpg</FileLocation>
2112				</Image>
2113			</Images>
2114		</BlockGenus>
2115
2116		<BlockGenus name="df_led" kind="command" color="255 102 0"
2117			initlabel="bg.df_led">
2118			<description>
2119				<text>DFRobot LED Module</text>
2120			</description>
2121			<BlockConnectors>
2122				<BlockConnector connector-type="number"
2123					connector-kind="socket" label="bc.pin_number">
2124					<DefaultArg genus-name="number" label="1" />
2125				</BlockConnector>
2126				<BlockConnector connector-type="boolean"
2127					connector-kind="socket" label="bc.status">
2128					<DefaultArg genus-name="digital-on" label="ON" />
2129				</BlockConnector>
2130			</BlockConnectors>
2131			<Images>
2132				<Image>
2133					<FileLocation>com/ardublock/block/dfrobot/dfr0021.png</FileLocation>
2134				</Image>
2135			</Images>
2136		</BlockGenus>
2137
2138		<BlockGenus name="df_led_pwm" kind="command" color="255 102 0"
2139			initlabel="bg.df_led_pwm">
2140			<description>
2141				<text>DFRobot LED Module</text>
2142			</description>
2143			<BlockConnectors>
2144				<BlockConnector connector-type="number"
2145					connector-kind="socket" label="bc.pin_number">
2146					<DefaultArg genus-name="number" label="1" />
2147				</BlockConnector>
2148				<BlockConnector connector-type="number"
2149					connector-kind="socket" label="bc.level">
2150					<DefaultArg genus-name="number" label="255" />
2151				</BlockConnector>
2152			</BlockConnectors>
2153			<Images>
2154				<Image>
2155					<FileLocation>com/ardublock/block/dfrobot/dfr0021.png</FileLocation>
2156				</Image>
2157			</Images>
2158		</BlockGenus>
2159
2160		<BlockGenus name="df_piranha_led" kind="command" color="255 102 0"
2161			initlabel="bg.df_piranha_led">
2162			<description>
2163				<text>DFRobot piranha LED Module</text>
2164			</description>
2165			<BlockConnectors>
2166				<BlockConnector connector-type="number"
2167					connector-kind="socket" label="bc.pin_number">
2168					<DefaultArg genus-name="number" label="1" />
2169				</BlockConnector>
2170				<BlockConnector connector-type="boolean"
2171					connector-kind="socket" label="bc.status">
2172					<DefaultArg genus-name="digital-on" label="ON" />
2173				</BlockConnector>
2174			</BlockConnectors>
2175			<Images>
2176				<Image>
2177					<FileLocation>com/ardublock/block/dfrobot/dfr0031.jpg</FileLocation>
2178				</Image>
2179			</Images>
2180		</BlockGenus>
2181
2182		<BlockGenus name="df_piranha_led_pwm" kind="command" color="255 102 0"
2183			initlabel="bg.df_piranha_led_pwm">
2184			<description>
2185				<text>DFRobot pianha LED Module with brightnes level</text>
2186			</description>
2187			<BlockConnectors>
2188				<BlockConnector connector-type="number"
2189					connector-kind="socket" label="bc.pin_number">
2190					<DefaultArg genus-name="number" label="1" />
2191				</BlockConnector>
2192				<BlockConnector connector-type="number"
2193					connector-kind="socket" label="bc.level">
2194					<DefaultArg genus-name="number" label="255" />
2195				</BlockConnector>
2196			</BlockConnectors>
2197			<Images>
2198				<Image>
2199					<FileLocation>com/ardublock/block/dfrobot/dfr0031.jpg</FileLocation>
2200				</Image>
2201			</Images>
2202		</BlockGenus>
2203
2204		<BlockGenus name="df_relay" kind="command" color="255 102 0"
2205			initlabel="bg.df_relay">
2206			<description>
2207				<text>Dfrobot Relay Module</text>
2208			</description>
2209			<BlockConnectors>
2210				<BlockConnector connector-type="number"
2211					connector-kind="socket" label="bc.pin_number">
2212					<DefaultArg genus-name="number" label="1" />
2213				</BlockConnector>
2214				<BlockConnector connector-type="boolean"
2215					connector-kind="socket" label="bc.status">
2216					<DefaultArg genus-name="digital-high" label="HIGH" />
2217				</BlockConnector>
2218			</BlockConnectors>
2219			<Images>
2220				<Image>
2221					<FileLocation>com/ardublock/block/dfrobot/dfr0017.png</FileLocation>
2222				</Image>
2223			</Images>
2224		</BlockGenus>
2225
2226		<BlockGenus name="df_buzzer" kind="command" color="255 102 0"
2227			initlabel="bg.df_buzzer">
2228			<description>
2229				<text>DFRobot buzzer Module</text>
2230			</description>
2231			<BlockConnectors>
2232				<BlockConnector connector-type="number"
2233					connector-kind="socket" label="bc.pin_number">
2234					<DefaultArg genus-name="number" label="1" />
2235				</BlockConnector>
2236				<BlockConnector connector-type="boolean"
2237					connector-kind="socket" label="bc.status">
2238					<DefaultArg genus-name="digital-on" label="ON" />
2239				</BlockConnector>
2240			</BlockConnectors>
2241			<Images>
2242				<Image>
2243					<FileLocation>com/ardublock/block/dfrobot/dfr0032.png</FileLocation>
2244				</Image>
2245			</Images>
2246		</BlockGenus>
2247
2248		<BlockGenus name="df_buzzer_tone" kind="command" color="255 102 0"
2249			initlabel="bg.df_buzzer">
2250			<description>
2251				<text>Generates a square wave of the specified frequency (and 50%
2252					duty cycle) on a pin.
2253				</text>
2254			</description>
2255			<BlockConnectors>
2256				<BlockConnector connector-type="number"
2257					connector-kind="socket" label="bc.pin_number">
2258					<DefaultArg genus-name="number" label="8" />
2259				</BlockConnector>
2260				<BlockConnector connector-type="number"
2261					connector-kind="socket" label="bc.frequency">
2262					<DefaultArg genus-name="number" label="440" />
2263				</BlockConnector>
2264
2265			</BlockConnectors>
2266			<Images>
2267				<Image>
2268					<FileLocation>com/ardublock/block/dfrobot/dfr0032.png</FileLocation>
2269				</Image>
2270			</Images>
2271		</BlockGenus>
2272
2273		<BlockGenus name="df_buzzer_tone_delay" kind="command"
2274			color="255 102 0" initlabel="bg.df_buzzer">
2275			<description>
2276				<text>Generates a square wave of the specified frequency (and 50%
2277					duty cycle) on a pin.
2278				</text>
2279			</description>
2280			<BlockConnectors>
2281				<BlockConnector connector-type="number"
2282					connector-kind="socket" label="bc.pin_number">
2283					<DefaultArg genus-name="number" label="8" />
2284				</BlockConnector>
2285				<BlockConnector connector-type="number"
2286					connector-kind="socket" label="bc.frequency">
2287					<DefaultArg genus-name="number" label="440" />
2288				</BlockConnector>
2289				<BlockConnector connector-type="number"
2290					connector-kind="socket" label="bc.milliseconds">
2291					<DefaultArg genus-name="number" label="1000" />
2292				</BlockConnector>
2293			</BlockConnectors>
2294			<Images>
2295				<Image>
2296					<FileLocation>com/ardublock/block/dfrobot/dfr0032.png</FileLocation>
2297				</Image>
2298			</Images>
2299		</BlockGenus>
2300
2301		<!-- seeedstudio grove -->
2302
2303		<BlockGenus name="seeed_joystick" kind="data" color="0 255 0"
2304			initlabel="bg.seeed_joystick">
2305			<description>
2306				<text>Read analog value from analog pin</text>
2307			</description>
2308			<BlockConnectors>
2309				<BlockConnector connector-type="number"
2310					connector-kind="socket">
2311					<DefaultArg genus-name="number" label="1" />
2312				</BlockConnector>
2313				<BlockConnector connector-type="number"
2314					connector-kind="plug" />
2315			</BlockConnectors>
2316			<Images>
2317				<Image>
2318					<FileLocation>com/ardublock/block/seeedstudio/COM90133P.jpg</FileLocation>
2319				</Image>
2320			</Images>
2321		</BlockGenus>
2322
2323		<BlockGenus name="seeed_joystick_button" kind="data" color="0 255 0"
2324			initlabel="bg.seeed_joystick_button">
2325			<description>
2326				<text>Read analog value from analog pin</text>
2327			</description>
2328			<BlockConnectors>
2329				<BlockConnector connector-type="number"
2330					connector-kind="socket">
2331					<DefaultArg genus-name="number" label="1" />
2332				</BlockConnector>
2333				<BlockConnector connector-type="boolean"
2334					connector-kind="plug" />
2335			</BlockConnectors>
2336			<Images>
2337				<Image>
2338					<FileLocation>com/ardublock/block/seeedstudio/COM90133P.jpg</FileLocation>
2339				</Image>
2340			</Images>
2341		</BlockGenus>
2342		
2343		<!--************************************************************* linksprite_LinkerKit*******************************************************-->
2344
2345		<BlockGenus name="ls_10mmLEDModule" kind="command" color="135 206 235"
2346			initlabel="bg.ls_10mmLEDModule">
2347			<description>
2348				<text>10mm Blue/Green/Yellow/Red LED Module</text>
2349			</description>
2350			<BlockConnectors>
2351				<BlockConnector connector-type="number"
2352					connector-kind="socket" label="bc.pin_number">
2353					<DefaultArg genus-name="number" label="1" />
2354				</BlockConnector>
2355				<BlockConnector connector-type="boolean"
2356					connector-kind="socket" label="bc.status">
2357					<DefaultArg genus-name="digital-on" label="ON" />
2358				</BlockConnector>
2359			</BlockConnectors>
2360			<Images>
2361				<Image>
2362					<FileLocation>com/ardublock/block/linksprite/10mmLEDModule.jpg</FileLocation>
2363				</Image>
2364			</Images>
2365		</BlockGenus>	
2366		
2367		<BlockGenus name="ls_5mmLEDModule" kind="command" color="135 206 235"
2368			initlabel="bg.ls_5mmLEDModule">
2369			<description>
2370				<text>5mm Blue/Green/Yellow/Red LED Module</text>
2371			</description>
2372			<BlockConnectors>
2373				<BlockConnector connector-type="number"
2374					connector-kind="socket" label="bc.pin_number">
2375					<DefaultArg genus-name="number" label="1" />
2376				</BlockConnector>
2377				<BlockConnector connector-type="boolean"
2378					connector-kind="socket" label="bc.status">
2379					<DefaultArg genus-name="digital-on" label="ON" />
2380				</BlockConnector>
2381			</BlockConnectors>
2382			<Images>
2383				<Image>
2384					<FileLocation>com/ardublock/block/linksprite/5mmLEDModule.jpg</FileLocation>
2385				</Image>
2386			</Images>
2387		</BlockGenus>
2388		
2389		<BlockGenus name="ls_AccelerometerModule_x" kind="data" color="135 206 235"
2390			initlabel="bg.ls_AccelerometerModule_x">
2391			<description>
2392				<text>Based on the excellent ADXL-345, this digital 3-axis accelerometer has excellent EMI protection.</text>
2393			</description>
2394			<BlockConnectors>
2395				<BlockConnector connector-type="boolean"
2396					connector-kind="plug" />
2397				<BlockConnector connector-type="number"
2398					connector-kind="socket" label="bc.pin_number">
2399					<DefaultArg genus-name="number" label="1" />
2400				</BlockConnector>
2401			</BlockConnectors>	
2402			<Images>
2403				<Image>
2404					<FileLocation>com/ardublock/block/linksprite/AccelerometerModule.jpg</FileLocation>
2405				</Image>
2406			</Images>
2407		</BlockGenus>	
2408		
2409		<BlockGenus name="ls_AccelerometerModule_y" kind="data" color="135 206 235"
2410			initlabel="bg.ls_AccelerometerModule_y">
2411			<description>
2412				<text>Based on the excellent ADXL-345, this digital 3-axis accelerometer has excellent EMI protection.</text>
2413			</description>
2414			<BlockConnectors>
2415				<BlockConnector connector-type="boolean"
2416					connector-kind="plug" />
2417				<BlockConnector connector-type="number"
2418					connector-kind="socket" label="bc.pin_number">
2419					<DefaultArg genus-name="number" label="1" />
2420				</BlockConnector>
2421			</BlockConnectors>
2422			<Images>
2423				<Image>
2424					<FileLocation>com/ardublock/block/linksprite/AccelerometerModule.jpg</FileLocation>
2425				</Image>
2426			</Images>
2427		</BlockGenus>	
2428		
2429		<BlockGenus name="ls_AccelerometerModule_z" kind="data" color="135 206 235"
2430			initlabel="bg.ls_AccelerometerModule_z">
2431			<description>
2432				<text>Based on the excellent ADXL-345, this digital 3-axis accelerometer has excellent EMI protection.</text>
2433			</description>
2434			<BlockConnectors>
2435				<BlockConnector connector-type="boolean"
2436					connector-kind="plug" />
2437				<BlockConnector connector-type="number"
2438					connector-kind="socket" label="bc.pin_number">
2439					<DefaultArg genus-name="number" label="1" />
2440				</BlockConnector>
2441			</BlockConnectors>
2442			<Images>
2443				<Image>
2444					<FileLocation>com/ardublock/block/linksprite/AccelerometerModule.jpg</FileLocation>
2445				</Image>
2446			</Images>
2447		</BlockGenus>							
2448
2449		<BlockGenus name="ls_ButtonModule" kind="data" color="135 206 235"
2450			initlabel="bg.ls_ButtonModule">
2451			<description>
2452				<text>Button Module</text>
2453			</description>
2454			<BlockConnectors>
2455				<BlockConnector connector-type="boolean"
2456					connector-kind="plug" />
2457				<BlockConnector connector-type="number"
2458					connector-kind="socket" label="bc.pin_number">
2459					<DefaultArg genus-name="number" label="1" />
2460				</BlockConnector>
2461			</BlockConnectors>
2462			<Images>
2463				<Image>
2464					<FileLocation>com/ardublock/block/linksprite/ButtonModule.jpg</FileLocation>
2465				</Image>
2466			</Images>
2467		</BlockGenus>	
2468		
2469		<BlockGenus name="ls_BuzzerModule" kind="command" color="135 206 235"
2470			initlabel="bg.ls_BuzzerModule">
2471			<description>
2472				<text>Buzzer Module</text>
2473			</description>
2474			<BlockConnectors>
2475				<BlockConnector connector-type="number"
2476					connector-kind="socket" label="bc.pin_number">
2477					<DefaultArg genus-name="number" label="1" />
2478				</BlockConnector>
2479				<BlockConnector connector-type="boolean"
2480					connector-kind="socket" label="bc.status">
2481					<DefaultArg genus-name="digital-on" label="ON" />
2482				</BlockConnector>
2483			</BlockConnectors>
2484			<Images>
2485				<Image>
2486					<FileLocation>com/ardublock/block/linksprite/BuzzerModule.jpg</FileLocation>
2487				</Image>
2488			</Images>
2489		</BlockGenus>			
2490
2491		<BlockGenus name="ls_HallSensor" kind="data" color="135 206 235"
2492			initlabel="bg.ls_HallSensor">
2493			<description>
2494				<text>Hall Sensor</text>
2495			</description>
2496			<BlockConnectors>
2497				<BlockConnector connector-type="number"
2498					connector-kind="plug" />
2499				<BlockConnector connector-type="number"
2500					connector-kind="socket" label="bc.pin_number">
2501					<DefaultArg genus-name="number" label="1" />
2502				</BlockConnector>
2503			</BlockConnectors>
2504			<Images>
2505				<Image>
2506					<FileLocation>com/ardublock/block/linksprite/HallSensor.jpg</FileLocation>
2507				</Image>
2508			</Images>
2509		</BlockGenus>	
2510		
2511		<BlockGenus name="ls_HighPowerLedModule" kind="command" color="135 206 235"
2512			initlabel="bg.ls_HighPowerLedModule">
2513			<description>
2514				<text>High Power Led Module</text>
2515			</description>
2516			<BlockConnectors>
2517				<BlockConnector connector-type="number"
2518					connector-kind="socket" label="bc.pin_number">
2519					<DefaultArg genus-name="number" label="1" />
2520				</BlockConnector>
2521				<BlockConnector connector-type="boolean"
2522					connector-kind="socket" label="bc.status">
2523					<DefaultArg genus-name="digital-on" label="ON" />
2524				</BlockConnector>
2525			</BlockConnectors>
2526			<Images>
2527				<Image>
2528					<FileLocation>com/ardublock/block/linksprite/HighPowerLedModule.jpg</FileLocation>
2529				</Image>
2530			</Images>
2531		</BlockGenus>	
2532		
2533		<BlockGenus name="ls_JoystickSensorModule_x" kind="data" color="135 206 235"
2534			initlabel="bg.ls_JoystickSensorModule_x">
2535			<description>
2536				<text>Joystick Sensor Module</text>
2537			</description>
2538			<BlockConnectors>
2539				<BlockConnector connector-type="number"
2540					connector-kind="socket" label="bc.pin_number">
2541					<DefaultArg genus-name="number" label="1" />
2542				</BlockConnector>
2543				<BlockConnector connector-type="number"
2544					connector-kind="plug" />
2545			</BlockConnectors>
2546			<Images>
2547				<Image>
2548					<FileLocation>com/ardublock/block/linksprite/JoystickSensorModule.jpg</FileLocation>
2549				</Image>
2550			</Images>
2551		</BlockGenus>		
2552		
2553		<BlockGenus name="ls_JoystickSensorModule_y" kind="data" color="135 206 235"
2554			initlabel="bg.ls_JoystickSensorModule_y">
2555			<description>
2556				<text>Joystick Sensor Module</text>
2557			</description>
2558			<BlockConnectors>
2559				<BlockConnector connector-type="number"
2560					connector-kind="socket" label="bc.pin_number">
2561					<DefaultArg genus-name="number" label="1" />
2562				</BlockConnector>
2563				<BlockConnector connector-type="number"
2564					connector-kind="plug" />
2565			</BlockConnectors>
2566			<Images>
2567				<Image>
2568					<FileLocation>com/ardublock/block/linksprite/JoystickSensorModule.jpg</FileLocation>
2569				</Image>
2570			</Images>
2571		</BlockGenus>			
2572		
2573		<BlockGenus name="ls_LDRModule" kind="data" color="135 206 235"
2574			initlabel="bg.ls_LDRModule">
2575			<description>
2576				<text>LDR Module</text>
2577			</description>
2578			<BlockConnectors>
2579				<BlockConnector connector-type="number"
2580					connector-kind="plug" />
2581				<BlockConnector connector-type="number"
2582					connector-kind="socket" label="bc.pin_number">
2583					<DefaultArg genus-name="number" label="1" />
2584				</BlockConnector>
2585			</BlockConnectors>		
2586			<Images>
2587				<Image>
2588					<FileLocation>com/ardublock/block/linksprite/LDRModule.jpg</FileLocation>
2589				</Image>
2590			</Images>
2591		</BlockGenus>	
2592		
2593		<BlockGenus name="ls_LEDBar" kind="command" color="135 206 235"
2594			initlabel="bg.ls_LEDBar">
2595			<description>
2596				<text>LED Bar</text>
2597			</description>
2598			<BlockConnectors>
2599				<BlockConnector connector-type="number"
2600					connector-kind="socket" label="bc.pin_number">
2601					<DefaultArg genus-name="number" label="1" />
2602				</BlockConnector>
2603				<BlockConnector connector-type="boolean"
2604					connector-kind="socket" label="bc.status">
2605					<DefaultArg genus-name="digital-on" label="ON" />
2606				</BlockConnector>
2607			</BlockConnectors>
2608			<Images>
2609				<Image>
2610					<FileLocation>com/ardublock/block/linksprite/LEDBarr.jpg</FileLocation>
2611				</Image>
2612			</Images>
2613		</BlockGenus>	
2614		
2615		<BlockGenus name="ls_Linear-SlidePotentiometerModule" kind="data" color="135 206 235"
2616			initlabel="bg.ls_Linear-SlidePotentiometerModule">
2617			<description>
2618				<text>Linear/Slide Potentiometer Module</text>
2619			</description>
2620			<BlockConnectors>
2621				<BlockConnector connector-type="number"
2622					connector-kind="plug" />
2623				<BlockConnector connector-type="number"
2624					connector-kind="socket" label="bc.pin_number">
2625					<DefaultArg genus-name="number" label="1" />
2626				</BlockConnector>
2627			</BlockConnectors>
2628			<Images>
2629				<Image>
2630					<FileLocation>com/ardublock/block/linksprite/Linear-SlidePotentiometerModule.jpg</FileLocation>
2631				</Image>
2632			</Images>
2633		</BlockGenus>	
2634		
2635		<BlockGenus name="ls_MagneticSwitch" kind="data" color="135 206 235"
2636			initlabel="bg.ls_MagneticSwitch">
2637			<description>
2638				<text>Magnetic Switch</text>
2639			</description>
2640			<BlockConnectors>
2641				<BlockConnector connector-type="boolean"
2642					connector-kind="plug" />
2643				<BlockConnector connector-type="number"
2644					connector-kind="socket" label="bc.pin_number">
2645					<DefaultArg genus-name="number" label="1" />
2646				</BlockConnector>
2647			</BlockConnectors>
2648			<Images>
2649				<Image>
2650					<FileLocation>com/ardublock/block/linksprite/MagneticSwitch.jpg</FileLocation>
2651				</Image>
2652			</Images>
2653		</BlockGenus>		
2654		
2655		<BlockGenus name="ls_MosfetModule" kind="command" color="135 206 235"
2656			initlabel="bg.ls_MosfetModule">
2657			<description>
2658				<text>Mosfet Module</text>
2659			</description>
2660			<BlockConnectors>
2661				<BlockConnector connector-type="number"
2662					connector-kind="socket" label="bc.pin_number">
2663					<DefaultArg genus-name="number" label="1" />
2664				</BlockConnector>
2665				<BlockConnector connector-type="boolean"
2666					connector-kind="socket" label="bc.status">
2667					<DefaultArg genus-name="digital-high" label="HIGH" />
2668				</BlockConnector>
2669			</BlockConnectors>
2670			<Images>
2671				<Image>
2672					<FileLocation>com/ardublock/block/linksprite/MosfetModule.jpg</FileLocation>
2673				</Image>
2674			</Images>
2675		</BlockGenus>		
2676		
2677		<BlockGenus name="ls_RelayModule" kind="command" color="135 206 235"
2678			initlabel="bg.ls_RelayModule">
2679			<description>
2680				<text>Relay Module</text>
2681			</description>
2682			<BlockConnectors>
2683				<BlockConnector connector-type="number"
2684					connector-kind="socket" label="bc.pin_number">
2685					<DefaultArg genus-name="number" label="1" />
2686				</BlockConnector>
2687				<BlockConnector connector-type="boolean"
2688					connector-kind="socket" label="bc.status">
2689					<DefaultArg genus-name="digital-high" label="HIGH" />
2690				</BlockConnector>
2691			</BlockConnectors>
2692			<Images>
2693				<Image>
2694					<FileLocation>com/ardublock/block/linksprite/RelayModule.jpg</FileLocation>
2695				</Image>
2696			</Images>
2697		</BlockGenus>
2698		
2699		<BlockGenus name="ls_RotaryPotentiometerModule" kind="data" color="135 206 235"
2700			initlabel="bg.ls_RotaryPotentiometerModule">
2701			<description>
2702				<text>Rotary Potentiometer Module</text>
2703			</description>
2704			<BlockConnectors>
2705				<BlockConnector connector-type="number"
2706					connector-kind="plug" />
2707				<BlockConnector connector-type="number"
2708					connector-kind="socket" label="bc.pin_number">
2709					<DefaultArg genus-name="number" label="1" />
2710				</BlockConnector>
2711			</BlockConnectors>
2712			<Images>
2713				<Image>
2714					<FileLocation>com/ardublock/block/linksprite/RotaryPotentiometerModule.jpg</FileLocation>
2715				</Image>
2716			</Images>
2717		</BlockGenus>																
2718
2719		<BlockGenus name="ls_RTCModule" kind="data" color="135 206 235"
2720			initlabel="bg.ls_RTCModule">
2721			<description>
2722				<text>RTC Module</text>
2723			</description>
2724			<BlockConnectors>
2725				<BlockConnector connector-type="boolean"
2726					connector-kind="plug" />
2727				<BlockConnector connector-type="number"
2728					connector-kind="socket" label="bc.pin_number">
2729					<DefaultArg genus-name="number" label="1" />
2730				</BlockConnector>
2731			</BlockConnectors>
2732			<Images>
2733				<Image>
2734					<FileLocation>com/ardublock/block/linksprite/RTCModule.jpg</FileLocation>
2735				</Image>
2736			</Images>
2737		</BlockGenus>
2738		
2739		<BlockGenus name="ls_SoundSensor" kind="data" color="135 206 235"
2740			initlabel="bg.ls_SoundSensor">
2741			<description>
2742				<text>Sound Sensor</text>
2743			</description>
2744			<BlockConnectors>
2745				<BlockConnector connector-type="number"
2746					connector-kind="socket" label="bc.pin_number">
2747					<DefaultArg genus-name="number" label="1" />
2748				</BlockConnector>
2749				<BlockConnector connector-type="number"
2750					connector-kind="plug" />
2751			</BlockConnectors>
2752			<Images>
2753				<Image>
2754					<FileLocation>com/ardublock/block/linksprite/SoundSensor.jpg</FileLocation>
2755				</Image>
2756			</Images>
2757		</BlockGenus>		
2758		
2759		<BlockGenus name="ls_ThermalModule" kind="data" color="135 206 235"
2760			initlabel="bg.ls_ThermalModule">
2761			<description>
2762				<text>Thermal Module</text>
2763			</description>
2764			<BlockConnectors>
2765				<BlockConnector connector-type="number"
2766					connector-kind="socket" label="bc.pin_number">
2767					<DefaultArg genus-name="number" label="1" />
2768				</BlockConnector>
2769				<BlockConnector connector-type="number"
2770					connector-kind="plug" />
2771			</BlockConnectors>
2772			<Images>
2773				<Image>
2774					<FileLocation>com/ardublock/block/linksprite/ThermalModule.jpg</FileLocation>
2775				</Image>
2776			</Images>
2777		</BlockGenus>	
2778		
2779		<BlockGenus name="ls_TiltModule" kind="data" color="135 206 235"
2780			initlabel="bg.ls_TiltModule">
2781			<description>
2782				<text>Tilt Module</text>
2783			</description>
2784			<BlockConnectors>
2785				<BlockConnector connector-type="boolean"
2786					connector-kind="plug" />
2787				<BlockConnector connector-type="number"
2788					connector-kind="socket" label="bc.pin_number">
2789					<DefaultArg genus-name="number" label="1" />
2790				</BlockConnector>
2791			</BlockConnectors>
2792			<Images>
2793				<Image>
2794					<FileLocation>com/ardublock/block/linksprite/TiltModule.jpg</FileLocation>
2795				</Image>
2796			</Images>
2797		</BlockGenus>		
2798		
2799		<BlockGenus name="ls_TouchSensorModule" kind="data" color="135 206 235"
2800			initlabel="bg.ls_TouchSensorModule">
2801			<description>
2802				<text>Touch Sensor Module</text>
2803			</description>
2804			<BlockConnectors>
2805				<BlockConnector connector-type="boolean"
2806					connector-kind="plug" />
2807				<BlockConnector connector-type="number"
2808					connector-kind="socket" label="bc.pin_number">
2809					<DefaultArg genus-name="number" label="1" />
2810				</BlockConnector>
2811			</BlockConnectors>
2812			<Images>
2813				<Image>
2814					<FileLocation>com/ardublock/block/linksprite/TouchSensorModule.jpg</FileLocation>
2815				</Image>
2816			</Images>
2817		</BlockGenus>							
2818		
2819	</BlockGenuses>
2820
2821	<BlockFamilies>
2822		<BlockFamily>
2823			<FamilyMember>digital-high</FamilyMember>
2824			<FamilyMember>digital-low</FamilyMember>
2825		</BlockFamily>
2826		<BlockFamily>
2827			<FamilyMember>and</FamilyMember>
2828			<FamilyMember>or</FamilyMember>
2829		</BlockFamily>
2830		<BlockFamily>
2831			<FamilyMember>true</FamilyMember>
2832			<FamilyMember>false</FamilyMember>
2833		</BlockFamily>
2834		<BlockFamily>
2835			<FamilyMember>addition</FamilyMember>
2836			<FamilyMember>subtraction</FamilyMember>
2837			<FamilyMember>multiplication</FamilyMember>
2838			<FamilyMember>division</FamilyMember>
2839			<FamilyMember>modulo</FamilyMember>
2840		</BlockFamily>
2841		<BlockFamily>
2842			<FamilyMember>min</FamilyMember>
2843			<FamilyMember>max</FamilyMember>
2844		</BlockFamily>
2845		<BlockFamily>
2846			<FamilyMember>greater</FamilyMember>
2847			<FamilyMember>less</FamilyMember>
2848			<FamilyMember>equal</FamilyMember>
2849			<FamilyMember>greater_equal</FamilyMember>
2850			<FamilyMember>less_equal</FamilyMember>
2851			<FamilyMember>not_equal</FamilyMember>
2852		</BlockFamily>
2853		<BlockFamily>
2854			<FamilyMember>sin</FamilyMember>
2855			<FamilyMember>cos</FamilyMember>
2856			<FamilyMember>tan</FamilyMember>
2857		</BlockFamily>
2858		<BlockFamily>
2859			<FamilyMember>digital-on</FamilyMember>
2860			<FamilyMember>digital-off</FamilyMember>
2861		</BlockFamily>
2862		<BlockFamily>
2863			<FamilyMember>df_joystick_module_x</FamilyMember>
2864			<FamilyMember>df_joystick_module_y</FamilyMember>
2865		</BlockFamily>
2866		<BlockFamily>
2867			<FamilyMember>df_mma7260_x</FamilyMember>
2868			<FamilyMember>df_mma7260_y</FamilyMember>
2869			<FamilyMember>df_mma7260_z</FamilyMember>
2870		</BlockFamily>
2871		<BlockFamily>
2872			<FamilyMember>Tinker_I0</FamilyMember>
2873			<FamilyMember>Tinker_I1</FamilyMember>
2874			<FamilyMember>Tinker_I2</FamilyMember>
2875			<FamilyMember>Tinker_I3</FamilyMember>
2876			<FamilyMember>Tinker_I4</FamilyMember>
2877			<FamilyMember>Tinker_I5</FamilyMember>
2878		</BlockFamily>
2879		<BlockFamily>
2880			<FamilyMember>Tinker_O0</FamilyMember>
2881			<FamilyMember>Tinker_O1</FamilyMember>
2882			<FamilyMember>Tinker_O2</FamilyMember>
2883			<FamilyMember>Tinker_O3</FamilyMember>
2884			<FamilyMember>Tinker_O4</FamilyMember>
2885			<FamilyMember>Tinker_O5</FamilyMember>
2886		</BlockFamily>
2887	</BlockFamilies>
2888
2889	<BlockDrawerSets>
2890		<BlockDrawerSet name="factory" type="stack" location="southwest"
2891			window-per-drawer="no" drawer-draggable="no">
2892			<BlockDrawer name="bd.control" type="factory" is-open="yes"
2893				button-color="252 203 125">
2894				<BlockGenusMember>loop</BlockGenusMember>
2895				<BlockGenusMember>ifelse</BlockGenusMember>
2896				<BlockGenusMember>if</BlockGenusMember>
2897				<BlockGenusMember>while</BlockGenusMember>
2898				<BlockGenusMember>repeat_times</BlockGenusMember>
2899				<BlockGenusMember>subroutine</BlockGenusMember>
2900				<BlockGenusMember>subroutine-ref</BlockGenusMember>
2901			</BlockDrawer>
2902
2903			<BlockDrawer button-color="29 152 155" name="bd.pins"
2904				type="factory">
2905				<BlockGenusMember>pin-read-digital</BlockGenusMember>
2906				<BlockGenusMember>pin-read-analog</BlockGenusMember>
2907				<BlockGenusMember>pin-write-digital</BlockGenusMember>
2908				<BlockGenusMember>pin-write-analog</BlockGenusMember>
2909				<BlockGenusMember>servo</BlockGenusMember>
2910				<BlockGenusMember>ultrasonic</BlockGenusMember>
2911				<BlockGenusMember>tone</BlockGenusMember>
2912				<BlockGenusMember>tone_time</BlockGenusMember>
2913				<BlockGenusMember>no_tone</BlockGenusMember>
2914			</BlockDrawer>
2915
2916			<BlockDrawer button-color="182 85 52" name="bd.number"
2917				type="factory">
2918				<BlockGenusMember>number</BlockGenusMember>
2919				<BlockGenusMember>digital-high</BlockGenusMember>
2920				<BlockGenusMember>digital-low</BlockGenusMember>
2921				<BlockGenusMember>true</BlockGenusMember>
2922				<BlockGenusMember>false</BlockGenusMember>
2923				<BlockGenusMember>variable_number</BlockGenusMember>
2924				<BlockGenusMember>variable_digital</BlockGenusMember>
2925				<BlockGenusMember>setter_variable_number</BlockGenusMember>
2926				<BlockGenusMember>setter_variable_digital</BlockGenusMember>
2927				<BlockGenusMember>message</BlockGenusMember>
2928				<BlockGenusMember>glue_sn</BlockGenusMember>
2929				<BlockGenusMember>glue_sb</BlockGenusMember>
2930				<BlockGenusMember>Tinker_I0</BlockGenusMember>
2931				<BlockGenusMember>Tinker_I1</BlockGenusMember>
2932				<BlockGenusMember>Tinker_I2</BlockGenusMember>
2933				<BlockGenusMember>Tinker_I3</BlockGenusMember>
2934				<BlockGenusMember>Tinker_I4</BlockGenusMember>
2935				<BlockGenusMember>Tinker_I5</BlockGenusMember>
2936				<BlockGenusMember>Tinker_O0</BlockGenusMember>
2937				<BlockGenusMember>Tinker_O1</BlockGenusMember>
2938				<BlockGenusMember>Tinker_O2</BlockGenusMember>
2939				<BlockGenusMember>Tinker_O3</BlockGenusMember>
2940				<BlockGenusMember>Tinker_O4</BlockGenusMember>
2941				<BlockGenusMember>Tinker_O5</BlockGenusMember>
2942			</BlockDrawer>
2943
2944			<BlockDrawer button-color="114 147 71" name="bd.operators"
2945				type="factory">
2946				<BlockGenusMember>and</BlockGenusMember>
2947				<BlockGenusMember>or</BlockGenusMember>
2948				<BlockGenusMember>not</BlockGenusMember>
2949
2950				<BlockGenusMember>addition</BlockGenusMember>
2951				<BlockGenusMember>subtraction</BlockGenusMember>
2952				<BlockGenusMember>multiplication</BlockGenusMember>
2953				<BlockGenusMember>division</BlockGenusMember>
2954				<BlockGenusMember>modulo</BlockGenusMember>
2955				<BlockGenusMember>min</BlockGenusMember>
2956				<BlockGenusMember>max</BlockGenusMember>
2957
2958				<BlockGenusMember>greater</BlockGenusMember>
2959				<BlockGenusMember>less</BlockGenusMember>
2960				<BlockGenusMember>equal</BlockGenusMember>
2961				<BlockGenusMember>greater_equal</BlockGenusMember>
2962				<BlockGenusMember>less_equal</BlockGenusMember>
2963				<BlockGenusMember>not_equal</BlockGenusMember>
2964
2965				<BlockGenusMember>abs</BlockGenusMember>
2966				<BlockGenusMember>pow</BlockGenusMember>
2967				<BlockGenusMember>sqrt</BlockGenusMember>
2968				<BlockGenusMember>sin</BlockGenusMember>
2969				<BlockGenusMember>cos</BlockGenusMember>
2970				<BlockGenusMember>tan</BlockGenusMember>
2971			</BlockDrawer>
2972			<BlockDrawer button-color="95 120 132" name="bd.utilities"
2973				type="factory">
2974				<BlockGenusMember>delay</BlockGenusMember>
2975				<BlockGenusMember>random</BlockGenusMember>
2976				<BlockGenusMember>delay_microseconds</BlockGenusMember>
2977				<BlockGenusMember>millis</BlockGenusMember>
2978				<BlockGenusMember>serial_println</BlockGenusMember>
2979				<BlockGenusMember>map_common</BlockGenusMember>
2980				<BlockGenusMember>map</BlockGenusMember>
2981				<BlockGenusMember>wire_write</BlockGenusMember>
2982				<BlockGenusMember>wire_read</BlockGenusMember>
2983				<BlockGenusMember>wire_isread</BlockGenusMember>
2984			</BlockDrawer>
2985
2986			<BlockDrawer button-color="255 255 255" name="bd.tinkerkit"
2987				type="factory">
2988				<BlockGenusMember>Tinker_LED</BlockGenusMember>
2989				<BlockGenusMember>Tinker_LED_pwm</BlockGenusMember>
2990				<BlockGenusMember>Tinker_Button</BlockGenusMember>
2991				<BlockGenusMember>Tinker_Accmeter</BlockGenusMember>
2992				<BlockGenusMember>Tinker_Hall</BlockGenusMember>
2993				<BlockGenusMember>Tinker_LDR</BlockGenusMember>
2994				<BlockGenusMember>Tinker_LinearPotentiometer</BlockGenusMember>
2995				<BlockGenusMember>Tinker_RotaryPotentiometer</BlockGenusMember>
2996				<BlockGenusMember>Tinker_Thermistor</BlockGenusMember>
2997				<BlockGenusMember>Tinker_Touch</BlockGenusMember>
2998				<BlockGenusMember>Tinker_Tilt</BlockGenusMember>
2999				<BlockGenusMember>Tinker_Relay</BlockGenusMember>
3000				<BlockGenusMember>Tinker_Mosfet</BlockGenusMember>
3001				<BlockGenusMember>Tinker_Mosfet_pwm</BlockGenusMember>
3002			</BlockDrawer>
3003			<!-- <BlockDrawer button-color="0 255 0" name="XinChejian" type="factory"> 
3004				<BlockGenusMember>xcj_motor_forward</BlockGenusMember> <BlockGenusMember>xcj_motor_backward</BlockGenusMember> 
3005				<BlockGenusMember>xcj_ms_digital_read</BlockGenusMember> <BlockGenusMember>xcj_ms_digital_write</BlockGenusMember> 
3006				</BlockDrawer> -->
3007			<BlockDrawer button-color="255 102 0" name="bd.dfrobot"
3008				type="factory">
3009				<BlockGenusMember>df_digital_viberation_sensor</BlockGenusMember>
3010				<BlockGenusMember>df_digital_tilt_sensor</BlockGenusMember>
3011				<BlockGenusMember>df_digital_infrared_motion_sensor</BlockGenusMember>
3012				<BlockGenusMember>df_digital_ir_receiver_module</BlockGenusMember>
3013				<BlockGenusMember>df_adjustable_infrared_sensor_switch</BlockGenusMember>
3014				<BlockGenusMember>df_line_tracking_sensor</BlockGenusMember>
3015				<BlockGenusMember>df_digital_push_button</BlockGenusMember>
3016				<BlockGenusMember>df_joystick_module_button</BlockGenusMember>
3017				<BlockGenusMember>df_capacitive_touch_sensor</BlockGenusMember>
3018				<BlockGenusMember>df_digital_magnetic_sensor</BlockGenusMember>
3019				<BlockGenusMember>df_pizeo_disk_vibration_sensor</BlockGenusMember>
3020				<BlockGenusMember>df_analog_ambient_light_sensor</BlockGenusMember>
3021				<BlockGenusMember>df_analog_grayscale_sensor</BlockGenusMember>
3022				<BlockGenusMember>df_flame_sensor</BlockGenusMember>
3023				<BlockGenusMember>df_temperature_sensor</BlockGenusMember>
3024				<BlockGenusMember>df_joystick_module_x</BlockGenusMember>
3025				<BlockGenusMember>df_joystick_module_y</BlockGenusMember>
3026				<BlockGenusMember>df_analog_mma7361_x</BlockGenusMember>
3027				<BlockGenusMember>df_analog_mma7361_y</BlockGenusMember>
3028				<BlockGenusMember>df_analog_mma7361_z</BlockGenusMember>
3029				<BlockGenusMember>df_mma7260_x</BlockGenusMember>
3030				<BlockGenusMember>df_mma7260_y</BlockGenusMember>
3031				<BlockGenusMember>df_mma7260_z</BlockGenusMember>
3032				<BlockGenusMember>df_analog_gp2y0a21</BlockGenusMember>
3033				<BlockGenusMember>df_analog_moisture</BlockGenusMember>
3034				<BlockGenusMember>df_analog_rotation_sensor_v1</BlockGenusMember>
3035				<BlockGenusMember>df_analog_rotation_sensor_v2</BlockGenusMember>
3036				<BlockGenusMember>df_analog_sound_sensor</BlockGenusMember>
3037				<BlockGenusMember>df_analog_gas_sensor</BlockGenusMember>
3038				<BlockGenusMember>df_analog_co_sensor</BlockGenusMember>
3039				<BlockGenusMember>df_analog_voltage_divider</BlockGenusMember>
3040				<BlockGenusMember>df_servo</BlockGenusMember>
3041				<BlockGenusMember>df_360_degree_rotation_motor</BlockGenusMember>
3042				<BlockGenusMember>df_led</BlockGenusMember>
3043				<BlockGenusMember>df_led_pwm</BlockGenusMember>
3044				<BlockGenusMember>df_piranha_led</BlockGenusMember>
3045				<BlockGenusMember>df_piranha_led_pwm</BlockGenusMember>
3046				<BlockGenusMember>df_relay</BlockGenusMember>
3047				<BlockGenusMember>df_buzzer</BlockGenusMember>
3048				<BlockGenusMember>df_buzzer_tone</BlockGenusMember>
3049				<BlockGenusMember>df_buzzer_tone_delay</BlockGenusMember>
3050			</BlockDrawer>
3051
3052			<BlockDrawer button-color="0 255 0" name="bd.seeedstudio">
3053				<BlockGenusMember>seeed_joystick</BlockGenusMember>
3054				<BlockGenusMember>seeed_joystick_button</BlockGenusMember>
3055			</BlockDrawer>
3056			
3057			<BlockDrawer button-color="135 206 235" name="bd.linksprite_LinkerKit">
3058				<BlockGenusMember>ls_10mmLEDModule</BlockGenusMember>
3059				<BlockGenusMember>ls_5mmLEDModule</BlockGenusMember>
3060				<BlockGenusMember>ls_AccelerometerModule_x</BlockGenusMember>
3061				<BlockGenusMember>ls_AccelerometerModule_y</BlockGenusMember>
3062				<BlockGenusMember>ls_AccelerometerModule_z</BlockGenusMember>
3063				<BlockGenusMember>ls_ButtonModule</BlockGenusMember>
3064				<BlockGenusMember>ls_BuzzerModule</BlockGenusMember>				
3065				<BlockGenusMember>ls_HallSensor</BlockGenusMember>
3066				<BlockGenusMember>ls_HighPowerLedModule</BlockGenusMember>
3067				<BlockGenusMember>ls_JoystickSensorModule_x</BlockGenusMember>
3068				<BlockGenusMember>ls_JoystickSensorModule_y</BlockGenusMember>
3069				<BlockGenusMember>ls_LDRModule</BlockGenusMember>	
3070				<BlockGenusMember>ls_LEDBar</BlockGenusMember>
3071				<BlockGenusMember>ls_Linear-SlidePotentiometerModule</BlockGenusMember>
3072				<BlockGenusMember>ls_MagneticSwitch</BlockGenusMember>
3073				<BlockGenusMember>ls_MosfetModule</BlockGenusMember>				
3074				<BlockGenusMember>ls_RelayModule</BlockGenusMember>
3075				<BlockGenusMember>ls_RotaryPotentiometerModule</BlockGenusMember>
3076				<BlockGenusMember>ls_RTCModule</BlockGenusMember>
3077				<BlockGenusMember>ls_SoundSensor</BlockGenusMember>					
3078				<BlockGenusMember>ls_ThermalModule</BlockGenusMember>
3079				<BlockGenusMember>ls_TiltModule</BlockGenusMember>
3080				<BlockGenusMember>ls_TouchSensorModule</BlockGenusMember>	
3081			</BlockDrawer>
3082			<!-- Shapes are automatically loaded as blocks in the Shapes drawer (see 
3083				slcodeblocks.ShapeBlocksGenerator for details) -->
3084			<!-- Sound blocks reside in the auto-generated String drawer. (see slcodeblocks.SoundBlocksGenerator 
3085				for details) -->
3086		</BlockDrawerSet>
3087	</BlockDrawerSets>
3088
3089	<Pages drawer-with-page="yes">
3090		<Page page-name="ArduBlock" page-width="400" />
3091		<!-- <Page page-name="Everyone" page-width="400"></Page> <Page page-name="Setup" 
3092			page-width="400"></Page> <Page page-name="Runtime" page-width="400"></Page> -->
3093	</Pages>
3094
3095	<TrashCan>
3096		<OpenTrashImage>com/ardublock/block/trash_open.png</OpenTrashImage>
3097		<ClosedTrashImage>com/ardublock/block/trash.png</ClosedTrashImage>
3098	</TrashCan>
3099
3100</BlockLangDef>