PageRenderTime 55ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/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

Large files files are truncated, but you can click here to view the full file

  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. <BlockConnectorShapes>
  10. <BlockConnectorShape shape-type="number"
  11. shape-number="1" />
  12. <BlockConnectorShape shape-type="number-list"
  13. shape-number="2" />
  14. <BlockConnectorShape shape-type="number-inv"
  15. shape-number="3" />
  16. <BlockConnectorShape shape-type="boolean"
  17. shape-number="4" />
  18. <BlockConnectorShape shape-type="boolean-list"
  19. shape-number="5" />
  20. <BlockConnectorShape shape-type="boolean-inv"
  21. shape-number="6" />
  22. <BlockConnectorShape shape-type="string"
  23. shape-number="7" />
  24. <BlockConnectorShape shape-type="string-list"
  25. shape-number="8" />
  26. <BlockConnectorShape shape-type="string-inv"
  27. shape-number="9" />
  28. <BlockConnectorShape shape-type="poly"
  29. shape-number="10" />
  30. <BlockConnectorShape shape-type="poly-list"
  31. shape-number="11" />
  32. <BlockConnectorShape shape-type="poly-inv"
  33. shape-number="12" />
  34. <BlockConnectorShape shape-type="proc-param"
  35. shape-number="13" />
  36. <BlockConnectorShape shape-type="cmd"
  37. shape-number="14" />
  38. </BlockConnectorShapes>
  39. <BlockGenuses>
  40. <!-- Number -->
  41. <BlockGenus name="number" kind="data" color="208 10 16"
  42. initlabel="bg.number" editable-label="yes">
  43. <BlockConnectors>
  44. <BlockConnector connector-type="number"
  45. connector-kind="plug" position-type="mirror" />
  46. </BlockConnectors>
  47. </BlockGenus>
  48. <BlockGenus name="digital-high" kind="data" color="208 10 16"
  49. initlabel="bg.digital-high">
  50. <BlockConnectors>
  51. <BlockConnector connector-type="boolean"
  52. connector-kind="plug" position-type="mirror" />
  53. </BlockConnectors>
  54. </BlockGenus>
  55. <BlockGenus name="digital-low" kind="data" color="208 10 16"
  56. initlabel="bg.digital-low">
  57. <BlockConnectors>
  58. <BlockConnector connector-type="boolean"
  59. connector-kind="plug" position-type="mirror" />
  60. </BlockConnectors>
  61. </BlockGenus>
  62. <BlockGenus name="digital-on" kind="data" color="208 10 16"
  63. initlabel="bg.digital-on">
  64. <BlockConnectors>
  65. <BlockConnector connector-type="boolean"
  66. connector-kind="plug" position-type="mirror" />
  67. </BlockConnectors>
  68. </BlockGenus>
  69. <BlockGenus name="digital-off" kind="data" color="208 10 16"
  70. initlabel="bg.digital-off">
  71. <BlockConnectors>
  72. <BlockConnector connector-type="boolean"
  73. connector-kind="plug" position-type="mirror" />
  74. </BlockConnectors>
  75. </BlockGenus>
  76. <BlockGenus name="true" kind="data" initlabel="bg.true"
  77. color="208 10 16">
  78. <description>
  79. <text>
  80. Reports the boolean true.
  81. </text>
  82. </description>
  83. <BlockConnectors>
  84. <BlockConnector connector-kind="plug" connector-type="boolean"
  85. position-type="mirror" />
  86. </BlockConnectors>
  87. </BlockGenus>
  88. <BlockGenus name="false" kind="data" initlabel="bg.false"
  89. color="208 10 16">
  90. <description>
  91. <text>
  92. Reports the boolean false.
  93. </text>
  94. </description>
  95. <BlockConnectors>
  96. <BlockConnector connector-kind="plug" connector-type="boolean"
  97. position-type="mirror" />
  98. </BlockConnectors>
  99. </BlockGenus>
  100. <BlockGenus name="message" kind="data" color="0 0 255"
  101. initlabel="bg.message" editable-label="yes">
  102. <description>
  103. <text>string message</text>
  104. </description>
  105. <BlockConnectors>
  106. <BlockConnector connector-type="string"
  107. connector-kind="plug" />
  108. <BlockConnector connector-type="string"
  109. connector-kind="socket" />
  110. </BlockConnectors>
  111. </BlockGenus>
  112. <BlockGenus name="glue_sn" kind="data" color="127 127 127"
  113. initlabel="bg.glue_sn">
  114. <description>
  115. <text>glue number to string</text>
  116. </description>
  117. <BlockConnectors>
  118. <BlockConnector connector-type="string"
  119. connector-kind="plug" />
  120. <BlockConnector connector-type="number"
  121. connector-kind="socket" />
  122. </BlockConnectors>
  123. </BlockGenus>
  124. <BlockGenus name="glue_sb" kind="data" color="127 127 127"
  125. initlabel="bg.glue_sb">
  126. <description>
  127. <text>glue boolean to string</text>
  128. </description>
  129. <BlockConnectors>
  130. <BlockConnector connector-type="string"
  131. connector-kind="plug" />
  132. <BlockConnector connector-type="boolean"
  133. connector-kind="socket" />
  134. </BlockConnectors>
  135. </BlockGenus>
  136. <!-- Basic -->
  137. <BlockGenus name="loop" kind="command" color="255 221 0"
  138. initlabel="bg.loop" is-starter="yes" is-terminator="yes"
  139. label-unique="yes">
  140. <description>
  141. <text>this is the loop of the arduino</text>
  142. </description>
  143. <BlockConnectors>
  144. <BlockConnector connector-type="cmd" connector-kind="socket"
  145. label="bc.do" />
  146. </BlockConnectors>
  147. </BlockGenus>
  148. <BlockGenus name="pin-read-digital" kind="data" color="77 191 169"
  149. initlabel="bg.pin-read-digital">
  150. <description>
  151. <text>Read digital value from pin</text>
  152. </description>
  153. <BlockConnectors>
  154. <BlockConnector connector-type="number"
  155. connector-kind="socket" label="#">
  156. <DefaultArg genus-name="number" label="1" />
  157. </BlockConnector>
  158. <BlockConnector connector-type="boolean"
  159. connector-kind="plug" />
  160. </BlockConnectors>
  161. </BlockGenus>
  162. <BlockGenus name="pin-read-analog" kind="data" color="77 191 169"
  163. initlabel="bg.pin-read-analog">
  164. <description>
  165. <text>Read analog 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="number"
  173. connector-kind="plug" />
  174. </BlockConnectors>
  175. </BlockGenus>
  176. <BlockGenus name="pin-write-digital" kind="command" color="77 191 169"
  177. initlabel="bg.pin-write-digital">
  178. <description>
  179. <text>write digital to pin</text>
  180. </description>
  181. <BlockConnectors>
  182. <BlockConnector connector-type="number"
  183. connector-kind="socket" label="#">
  184. <DefaultArg genus-name="number" label="1" />
  185. </BlockConnector>
  186. <BlockConnector connector-type="boolean"
  187. connector-kind="socket">
  188. <DefaultArg genus-name="digital-high" label="HIGH" />
  189. </BlockConnector>
  190. </BlockConnectors>
  191. </BlockGenus>
  192. <BlockGenus name="setter_variable_number" kind="command"
  193. color="255 0 0" initlabel="bg.setter_variable_number">
  194. <description>
  195. <text>set a number variable</text>
  196. </description>
  197. <BlockConnectors>
  198. <BlockConnector connector-type="number"
  199. connector-kind="socket" label="bc.variable">
  200. <DefaultArg genus-name="variable_number" label="var name" />
  201. </BlockConnector>
  202. <BlockConnector connector-type="number"
  203. connector-kind="socket" label="bc.value">
  204. <DefaultArg genus-name="number" label="0" />
  205. </BlockConnector>
  206. </BlockConnectors>
  207. </BlockGenus>
  208. <BlockGenus name="variable_number" kind="data"
  209. initlabel="bg.variable_number" editable-label="yes" is-label-value="yes"
  210. color="255 0 255">
  211. <description>
  212. <text>
  213. Digital Var
  214. </text>
  215. </description>
  216. <BlockConnectors>
  217. <BlockConnector connector-type="number"
  218. connector-kind="plug" position-type="mirror" />
  219. </BlockConnectors>
  220. </BlockGenus>
  221. <BlockGenus name="setter_variable_digital" kind="command"
  222. color="255 0 0" initlabel="bg.setter_variable_digital">
  223. <description>
  224. <text>write digital to pin</text>
  225. </description>
  226. <BlockConnectors>
  227. <BlockConnector connector-type="boolean"
  228. connector-kind="socket" label="bc.variable">
  229. <DefaultArg genus-name="variable_digital" label="variable name" />
  230. </BlockConnector>
  231. <BlockConnector connector-type="boolean"
  232. connector-kind="socket" label="bc.value">
  233. <DefaultArg genus-name="digital-high" label="HIGH" />
  234. </BlockConnector>
  235. </BlockConnectors>
  236. </BlockGenus>
  237. <BlockGenus name="variable_digital" kind="data"
  238. initlabel="bg.variable_digital" editable-label="yes" is-label-value="yes"
  239. color="255 0 255">
  240. <description>
  241. <text>
  242. Digital Var
  243. </text>
  244. </description>
  245. <BlockConnectors>
  246. <BlockConnector connector-type="boolean"
  247. connector-kind="plug" position-type="mirror" />
  248. </BlockConnectors>
  249. </BlockGenus>
  250. <BlockGenus name="pin-write-analog" kind="command" color="77 191 169"
  251. initlabel="bg.pin-write-analog">
  252. <description>
  253. <text>write analog to pin</text>
  254. </description>
  255. <BlockConnectors>
  256. <BlockConnector connector-type="number"
  257. connector-kind="socket" label="#">
  258. <DefaultArg genus-name="number" label="1" />
  259. </BlockConnector>
  260. <BlockConnector connector-type="number"
  261. connector-kind="socket">
  262. <DefaultArg genus-name="number" label="255" />
  263. </BlockConnector>
  264. </BlockConnectors>
  265. </BlockGenus>
  266. <BlockGenus name="servo" kind="command" color="77 191 169"
  267. initlabel="bg.servo">
  268. <description>
  269. <text>set a pin to pwm</text>
  270. </description>
  271. <BlockConnectors>
  272. <BlockConnector connector-type="number"
  273. connector-kind="socket" label="bc.pin_number">
  274. <DefaultArg genus-name="number" label="1" />
  275. </BlockConnector>
  276. <BlockConnector connector-type="number"
  277. connector-kind="socket" label="bc.angle">
  278. <DefaultArg genus-name="number" label="1" />
  279. </BlockConnector>
  280. </BlockConnectors>
  281. </BlockGenus>
  282. <BlockGenus name="ultrasonic" kind="data" color="77 191 169"
  283. initlabel="bg.ultrasonic">
  284. <description>
  285. <text>Ultrasonic distance sensor</text>
  286. </description>
  287. <BlockConnectors>
  288. <BlockConnector connector-type="number"
  289. connector-kind="plug" label="cm" />
  290. <BlockConnector connector-type="number"
  291. connector-kind="socket" label="trigger #">
  292. <DefaultArg genus-name="number" label="1" />
  293. </BlockConnector>
  294. <BlockConnector connector-type="number"
  295. connector-kind="socket" label="echo #">
  296. <DefaultArg genus-name="number" label="2" />
  297. </BlockConnector>
  298. </BlockConnectors>
  299. <Images>
  300. <Image>
  301. <FileLocation>com/ardublock/block/ultrasonic.jpg</FileLocation>
  302. </Image>
  303. </Images>
  304. </BlockGenus>
  305. <BlockGenus name="tone" kind="command" color="77 191 169"
  306. initlabel="tone">
  307. <description>
  308. <text>Generates a square wave of the specified frequency (and 50%
  309. duty cycle) on a pin.
  310. </text>
  311. </description>
  312. <BlockConnectors>
  313. <BlockConnector connector-type="number"
  314. connector-kind="socket" label="bc.pin_number">
  315. <DefaultArg genus-name="number" label="8" />
  316. </BlockConnector>
  317. <BlockConnector connector-type="number"
  318. connector-kind="socket" label="bc.frequency">
  319. <DefaultArg genus-name="number" label="440" />
  320. </BlockConnector>
  321. </BlockConnectors>
  322. </BlockGenus>
  323. <BlockGenus name="tone_time" kind="command" color="77 191 169"
  324. initlabel="tone">
  325. <description>
  326. <text>Generates a square wave of the specified frequency (and 50%
  327. duty cycle) on a pin.
  328. </text>
  329. </description>
  330. <BlockConnectors>
  331. <BlockConnector connector-type="number"
  332. connector-kind="socket" label="bc.pin_number">
  333. <DefaultArg genus-name="number" label="8" />
  334. </BlockConnector>
  335. <BlockConnector connector-type="number"
  336. connector-kind="socket" label="bc.frequency">
  337. <DefaultArg genus-name="number" label="440" />
  338. </BlockConnector>
  339. <BlockConnector connector-type="number"
  340. connector-kind="socket" label="bc.milliseconds">
  341. <DefaultArg genus-name="number" label="1000" />
  342. </BlockConnector>
  343. </BlockConnectors>
  344. </BlockGenus>
  345. <BlockGenus name="no_tone" kind="command" color="77 191 169"
  346. initlabel="noTone">
  347. <description>
  348. <text>Stops the generation of a square wave triggered by tone().
  349. </text>
  350. </description>
  351. <BlockConnectors>
  352. <BlockConnector connector-type="number"
  353. connector-kind="socket" label="bc.pin_number">
  354. <DefaultArg genus-name="number" label="8" />
  355. </BlockConnector>
  356. </BlockConnectors>
  357. </BlockGenus>
  358. <BlockGenus name="if" kind="command" initlabel="bg.if"
  359. color="255 221 0">
  360. <description>
  361. <text>
  362. If
  363. <arg n="1" />
  364. is true, the agent will run the blocks attached to
  365. <arg n="2" />
  366. </text>
  367. <arg-description n="1" name="test">
  368. The condition being
  369. tested.
  370. </arg-description>
  371. <arg-description n="2" name="then">
  372. The set of instructions
  373. that is done when the condition is true.
  374. </arg-description>
  375. </description>
  376. <BlockConnectors>
  377. <BlockConnector label="bc.test" connector-kind="socket"
  378. connector-type="boolean" />
  379. <BlockConnector label="bc.then" connector-kind="socket"
  380. connector-type="cmd" />
  381. </BlockConnectors>
  382. </BlockGenus>
  383. <BlockGenus name="ifelse" kind="command" initlabel="bg.ifelse"
  384. color="255 221 0">
  385. <description>
  386. <text>
  387. Does the first set of commands if the condition specified is
  388. true,
  389. otherwise it will do the second set of commands.
  390. </text>
  391. <arg-description n="1" name="test">
  392. The condition being
  393. tested.
  394. </arg-description>
  395. <arg-description n="2" name="then">
  396. The set of instructions
  397. that is done when the condition is true.
  398. </arg-description>
  399. <arg-description n="3" name="else">
  400. The set of instructions
  401. that is done when the condition is false.
  402. </arg-description>
  403. </description>
  404. <BlockConnectors>
  405. <BlockConnector label="bc.test" connector-kind="socket"
  406. connector-type="boolean" />
  407. <BlockConnector label="bc.then" connector-kind="socket"
  408. connector-type="cmd" />
  409. <BlockConnector label="bc.else" connector-kind="socket"
  410. connector-type="cmd" />
  411. </BlockConnectors>
  412. </BlockGenus>
  413. <BlockGenus name="while" kind="command" initlabel="bg.while"
  414. color="255 221 0">
  415. <description>
  416. <text>
  417. While Block
  418. </text>
  419. </description>
  420. <BlockConnectors>
  421. <BlockConnector label="bc.condition" connector-kind="socket"
  422. connector-type="boolean" />
  423. <BlockConnector label="" connector-kind="socket"
  424. connector-type="cmd" />
  425. </BlockConnectors>
  426. </BlockGenus>
  427. <BlockGenus name="repeat_times" kind="command" color="255 221 0"
  428. initlabel="bg.repeat_times">
  429. <description>
  430. <text>repeat</text>
  431. </description>
  432. <BlockConnectors>
  433. <BlockConnector connector-type="number"
  434. connector-kind="socket">
  435. <DefaultArg genus-name="number" label="5" />
  436. </BlockConnector>
  437. <BlockConnector connector-type="cmd" connector-kind="socket" />
  438. </BlockConnectors>
  439. </BlockGenus>
  440. <BlockGenus name="subroutine" kind="command" color="177 10 255" initlabel="bg.subroutine" is-starter="yes" is-terminator="yes"
  441. label-unique="yes" editable-label="yes">
  442. <description>
  443. <text>subroutine</text>
  444. </description>
  445. <BlockConnectors>
  446. <BlockConnector connector-type="cmd" connector-kind="socket" />
  447. </BlockConnectors>
  448. </BlockGenus>
  449. <BlockGenus name="subroutine-ref" kind="command" color="177 10 255" initlabel="bg.subroutine" editable-label="yes">
  450. <description>
  451. <text>invoke subroutine</text>
  452. </description>
  453. </BlockGenus>
  454. <!-- operator -->
  455. <BlockGenus name="and" kind="data" initlabel="bg.and"
  456. color="149 193 31">
  457. <description>
  458. <text>
  459. Reports true if both of the two conditions are true.
  460. </text>
  461. </description>
  462. <BlockConnectors>
  463. <BlockConnector connector-kind="plug" connector-type="boolean" />
  464. <BlockConnector label="" connector-kind="socket"
  465. connector-type="boolean" />
  466. <BlockConnector label="" connector-kind="socket"
  467. connector-type="boolean" />
  468. </BlockConnectors>
  469. </BlockGenus>
  470. <BlockGenus name="or" kind="function" initlabel="bg.or"
  471. color="149 193 31">
  472. <description>
  473. <text>
  474. Reports true if one or both of the two conditions are true.
  475. </text>
  476. </description>
  477. <BlockConnectors>
  478. <BlockConnector connector-kind="plug" connector-type="boolean" />
  479. <BlockConnector label="" connector-kind="socket"
  480. connector-type="boolean" />
  481. <BlockConnector label="" connector-kind="socket"
  482. connector-type="boolean" />
  483. </BlockConnectors>
  484. </BlockGenus>
  485. <BlockGenus name="not" kind="function" initlabel="bg.not"
  486. color="149 193 31">
  487. <description>
  488. <text>
  489. Reports the opposite of
  490. <arg n="1" />
  491. .
  492. </text>
  493. </description>
  494. <BlockConnectors>
  495. <BlockConnector connector-kind="plug" connector-type="boolean" />
  496. <BlockConnector label="" connector-kind="socket"
  497. connector-type="boolean" />
  498. </BlockConnectors>
  499. </BlockGenus>
  500. <!-- Math -->
  501. <BlockGenus name="addition" kind="function" initlabel="bg.addition"
  502. color="149 193 31">
  503. <description>
  504. <text>
  505. Reports the sum of two numbers (
  506. <arg n="1" />
  507. +
  508. <arg n="2" />
  509. ).
  510. </text>
  511. </description>
  512. <BlockConnectors>
  513. <BlockConnector label="" connector-kind="plug"
  514. connector-type="number" position-type="mirror" />
  515. <BlockConnector label="" connector-kind="socket"
  516. connector-type="number" position-type="bottom" />
  517. <BlockConnector label="" connector-kind="socket"
  518. connector-type="number" position-type="bottom" />
  519. </BlockConnectors>
  520. </BlockGenus>
  521. <BlockGenus name="subtraction" kind="function" initlabel="bg.subtraction"
  522. color="149 193 31">
  523. <description>
  524. <text>
  525. Reports the difference of two numbers (
  526. <arg n="1" />
  527. -
  528. <arg n="2" />
  529. ).
  530. </text>
  531. </description>
  532. <BlockConnectors>
  533. <BlockConnector label="" connector-kind="plug"
  534. connector-type="number" position-type="mirror" />
  535. <BlockConnector label="" connector-kind="socket"
  536. connector-type="number" position-type="bottom" />
  537. <BlockConnector label="" connector-kind="socket"
  538. connector-type="number" position-type="bottom" />
  539. </BlockConnectors>
  540. </BlockGenus>
  541. <BlockGenus name="multiplication" kind="function"
  542. initlabel="bg.multiplication" color="149 193 31">
  543. <description>
  544. <text>
  545. Reports the product of two numbers (
  546. <arg n="1" />
  547. x
  548. <arg n="2" />
  549. ).
  550. </text>
  551. </description>
  552. <BlockConnectors>
  553. <BlockConnector label="" connector-kind="plug"
  554. connector-type="number" position-type="mirror" />
  555. <BlockConnector label="" connector-kind="socket"
  556. connector-type="number" position-type="bottom" />
  557. <BlockConnector label="" connector-kind="socket"
  558. connector-type="number" position-type="bottom" />
  559. </BlockConnectors>
  560. </BlockGenus>
  561. <BlockGenus name="division" kind="function" initlabel="bg.division"
  562. color="149 193 31">
  563. <description>
  564. <text>
  565. Reports the quotient of two numbers (
  566. <arg n="1" />
  567. ÷
  568. <arg n="2" />
  569. ).
  570. </text>
  571. </description>
  572. <BlockConnectors>
  573. <BlockConnector label="" connector-kind="plug"
  574. connector-type="number" position-type="mirror" />
  575. <BlockConnector label="" connector-kind="socket"
  576. connector-type="number" position-type="bottom" />
  577. <BlockConnector label="" connector-kind="socket"
  578. connector-type="number" position-type="bottom" />
  579. </BlockConnectors>
  580. </BlockGenus>
  581. <BlockGenus name="modulo" kind="function" color="149 193 31"
  582. initlabel="bg.modulo">
  583. <BlockConnectors>
  584. <BlockConnector label="" connector-kind="plug"
  585. connector-type="number" position-type="mirror" />
  586. <BlockConnector label="" connector-kind="socket"
  587. connector-type="number" position-type="bottom" />
  588. <BlockConnector label="" connector-kind="socket"
  589. connector-type="number" position-type="bottom" />
  590. </BlockConnectors>
  591. </BlockGenus>
  592. <BlockGenus name="min" kind="function" color="149 193 31"
  593. initlabel="bg.min">
  594. <BlockConnectors>
  595. <BlockConnector connector-type="number"
  596. connector-kind="plug" position-type="mirror" />
  597. <BlockConnector connector-type="number"
  598. connector-kind="socket" position-type="bottom" />
  599. <BlockConnector connector-type="number"
  600. connector-kind="socket" position-type="bottom" />
  601. </BlockConnectors>
  602. </BlockGenus>
  603. <BlockGenus name="max" kind="function" color="149 193 31"
  604. initlabel="bg.max">
  605. <BlockConnectors>
  606. <BlockConnector connector-type="number"
  607. connector-kind="plug" position-type="mirror" />
  608. <BlockConnector connector-type="number"
  609. connector-kind="socket" position-type="bottom" />
  610. <BlockConnector connector-type="number"
  611. connector-kind="socket" position-type="bottom" />
  612. </BlockConnectors>
  613. </BlockGenus>
  614. <BlockGenus name="greater" kind="function" color="149 193 31"
  615. initlabel="bg.greater">
  616. <description>
  617. <text>is upper number greater then lower?</text>
  618. </description>
  619. <BlockConnectors>
  620. <BlockConnector connector-type="boolean"
  621. connector-kind="plug" position-type="mirror" />
  622. <BlockConnector connector-type="number"
  623. connector-kind="socket" position-type="bottom" />
  624. <BlockConnector connector-type="number"
  625. connector-kind="socket" position-type="bottom" />
  626. </BlockConnectors>
  627. </BlockGenus>
  628. <BlockGenus name="less" kind="function" color="149 193 31"
  629. initlabel="bg.less">
  630. <description>
  631. <text>is upper number less then lower?</text>
  632. </description>
  633. <BlockConnectors>
  634. <BlockConnector connector-type="boolean"
  635. connector-kind="plug" position-type="mirror" />
  636. <BlockConnector connector-type="number"
  637. connector-kind="socket" position-type="bottom" />
  638. <BlockConnector connector-type="number"
  639. connector-kind="socket" position-type="bottom" />
  640. </BlockConnectors>
  641. </BlockGenus>
  642. <BlockGenus name="equal" kind="function" color="149 193 31"
  643. initlabel="bg.equal">
  644. <description>
  645. <text>is upper number greater then lower?</text>
  646. </description>
  647. <BlockConnectors>
  648. <BlockConnector connector-type="boolean"
  649. connector-kind="plug" position-type="mirror" />
  650. <BlockConnector connector-type="number"
  651. connector-kind="socket" position-type="bottom" />
  652. <BlockConnector connector-type="number"
  653. connector-kind="socket" position-type="bottom" />
  654. </BlockConnectors>
  655. </BlockGenus>
  656. <BlockGenus name="greater_equal" kind="function" color="149 193 31"
  657. initlabel="bg.greater_equal">
  658. <description>
  659. <text>is upper number greater then lower?</text>
  660. </description>
  661. <BlockConnectors>
  662. <BlockConnector connector-type="boolean"
  663. connector-kind="plug" position-type="mirror" />
  664. <BlockConnector connector-type="number"
  665. connector-kind="socket" position-type="bottom" />
  666. <BlockConnector connector-type="number"
  667. connector-kind="socket" position-type="bottom" />
  668. </BlockConnectors>
  669. </BlockGenus>
  670. <BlockGenus name="less_equal" kind="function" color="149 193 31"
  671. initlabel="bg.less_equal">
  672. <description>
  673. <text>is upper number greater then lower?</text>
  674. </description>
  675. <BlockConnectors>
  676. <BlockConnector connector-type="boolean"
  677. connector-kind="plug" position-type="mirror" />
  678. <BlockConnector connector-type="number"
  679. connector-kind="socket" position-type="bottom" />
  680. <BlockConnector connector-type="number"
  681. connector-kind="socket" position-type="bottom" />
  682. </BlockConnectors>
  683. </BlockGenus>
  684. <BlockGenus name="not_equal" kind="function" color="149 193 31"
  685. initlabel="bg.not_equal">
  686. <description>
  687. <text>is upper number greater then lower?</text>
  688. </description>
  689. <BlockConnectors>
  690. <BlockConnector connector-type="boolean"
  691. connector-kind="plug" position-type="mirror" />
  692. <BlockConnector connector-type="number"
  693. connector-kind="socket" position-type="bottom" />
  694. <BlockConnector connector-type="number"
  695. connector-kind="socket" position-type="bottom" />
  696. </BlockConnectors>
  697. </BlockGenus>
  698. <BlockGenus name="abs" kind="function" color="149 193 31"
  699. initlabel="bg.abs">
  700. <BlockConnectors>
  701. <BlockConnector connector-type="number"
  702. connector-kind="plug" />
  703. <BlockConnector connector-type="number"
  704. connector-kind="socket" />
  705. </BlockConnectors>
  706. </BlockGenus>
  707. <BlockGenus name="pow" kind="function" color="149 193 31"
  708. initlabel="bg.pow">
  709. <BlockConnectors>
  710. <BlockConnector connector-type="number"
  711. connector-kind="plug" />
  712. <BlockConnector connector-type="number"
  713. connector-kind="socket" label="bc.base" />
  714. <BlockConnector connector-type="number"
  715. connector-kind="socket" label="bc.exponent" />
  716. </BlockConnectors>
  717. </BlockGenus>
  718. <BlockGenus name="sqrt" kind="function" color="149 193 31"
  719. initlabel="bg.sqrt">
  720. <BlockConnectors>
  721. <BlockConnector connector-type="number"
  722. connector-kind="plug" />
  723. <BlockConnector connector-type="number"
  724. connector-kind="socket" />
  725. </BlockConnectors>
  726. </BlockGenus>
  727. <BlockGenus name="sin" kind="function" color="149 193 31"
  728. initlabel="bg.sin">
  729. <BlockConnectors>
  730. <BlockConnector connector-type="number"
  731. connector-kind="plug" />
  732. <BlockConnector connector-type="number"
  733. connector-kind="socket" />
  734. </BlockConnectors>
  735. </BlockGenus>
  736. <BlockGenus name="cos" kind="function" color="149 193 31"
  737. initlabel="bg.cos">
  738. <BlockConnectors>
  739. <BlockConnector connector-type="number"
  740. connector-kind="plug" />
  741. <BlockConnector connector-type="number"
  742. connector-kind="socket" />
  743. </BlockConnectors>
  744. </BlockGenus>
  745. <BlockGenus name="tan" kind="function" color="149 193 31"
  746. initlabel="bg.tan">
  747. <BlockConnectors>
  748. <BlockConnector connector-type="number"
  749. connector-kind="plug" />
  750. <BlockConnector connector-type="number"
  751. connector-kind="socket" />
  752. </BlockConnectors>
  753. </BlockGenus>
  754. <!-- Utility -->
  755. <BlockGenus name="delay" kind="command" color="142 160 210"
  756. initlabel="bg.delay">
  757. <description>
  758. <text>program delay in x milliseconds</text>
  759. </description>
  760. <BlockConnectors>
  761. <BlockConnector connector-type="number"
  762. connector-kind="socket" label="bc.milliseconds">
  763. <DefaultArg genus-name="number" label="1000" />
  764. </BlockConnector>
  765. </BlockConnectors>
  766. </BlockGenus>
  767. <BlockGenus name="delay_microseconds" kind="command" color="142 160 210"
  768. initlabel="bg.delay_microseconds">
  769. <description>
  770. <text>program delay in x milliseconds</text>
  771. </description>
  772. <BlockConnectors>
  773. <BlockConnector connector-type="number"
  774. connector-kind="socket" label="bc.microseconds">
  775. <DefaultArg genus-name="number" label="1000" />
  776. </BlockConnector>
  777. </BlockConnectors>
  778. </BlockGenus>
  779. <BlockGenus name="random" kind="data" color="142 160 210"
  780. initlabel="bg.random">
  781. <description>
  782. <text>generate a random number less than the number</text>
  783. </description>
  784. <BlockConnectors>
  785. <BlockConnector connector-type="number"
  786. connector-kind="plug" />
  787. <BlockConnector connector-type="number"
  788. connector-kind="socket" label="bc.max">
  789. <DefaultArg genus-name="number" label="1024" />
  790. </BlockConnector>
  791. </BlockConnectors>
  792. </BlockGenus>
  793. <BlockGenus name="millis" kind="data" color="142 160 210"
  794. initlabel="bg.millis">
  795. <description>
  796. <text>generate a random number less than the number</text>
  797. </description>
  798. <BlockConnectors>
  799. <BlockConnector connector-type="number"
  800. connector-kind="plug" position-type="mirror" />
  801. </BlockConnectors>
  802. </BlockGenus>
  803. <BlockGenus name="serial_println" kind="command" color="142 160 210"
  804. initlabel="bg.serial_println">
  805. <description>
  806. <text>send message via Serial port</text>
  807. </description>
  808. <BlockConnectors>
  809. <BlockConnector connector-type="string"
  810. connector-kind="socket">
  811. <DefaultArg genus-name="message" label="message" />
  812. </BlockConnector>
  813. </BlockConnectors>
  814. </BlockGenus>
  815. <BlockGenus name="map_common" kind="data" color="142 160 210"
  816. initlabel="bg.map_common">
  817. <description>
  818. <text>map value from [0, 1023] to [0, 255]</text>
  819. </description>
  820. <BlockConnectors>
  821. <BlockConnector connector-type="number"
  822. connector-kind="plug" />
  823. <BlockConnector connector-type="number"
  824. connector-kind="socket" label="bc.value">
  825. <DefaultArg genus-name="number" label="1" />
  826. </BlockConnector>
  827. </BlockConnectors>
  828. </BlockGenus>
  829. <BlockGenus name="map" kind="data" color="142 160 210"
  830. initlabel="bg.map">
  831. <description>
  832. <text>map</text>
  833. </description>
  834. <BlockConnectors>
  835. <BlockConnector connector-type="number"
  836. connector-kind="plug" />
  837. <BlockConnector connector-type="number"
  838. connector-kind="socket" label="bc.value" />
  839. <BlockConnector connector-type="number"
  840. connector-kind="socket" label="bc.from">
  841. <DefaultArg genus-name="number" label="0" />
  842. </BlockConnector>
  843. <BlockConnector connector-type="number"
  844. connector-kind="socket">
  845. <DefaultArg genus-name="number" label="1023" />
  846. </BlockConnector>
  847. <BlockConnector connector-type="number"
  848. connector-kind="socket" label="bc.to">
  849. <DefaultArg genus-name="number" label="0" />
  850. </BlockConnector>
  851. <BlockConnector connector-type="number"
  852. connector-kind="socket">
  853. <DefaultArg genus-name="number" label="255" />
  854. </BlockConnector>
  855. </BlockConnectors>
  856. </BlockGenus>
  857. <BlockGenus name="wire_read" kind="data" color="142 160 210"
  858. initlabel="bg.wire_read">
  859. <description>
  860. <text>read data from i2c</text>
  861. </description>
  862. <BlockConnectors>
  863. <BlockConnector connector-type="number"
  864. connector-kind="plug" />
  865. <BlockConnector connector-type="number"
  866. connector-kind="socket" label="bc.device_address">
  867. <DefaultArg genus-name="number" label="0" />
  868. </BlockConnector>
  869. <BlockConnector connector-type="number"
  870. connector-kind="socket" label="bc.register_address">
  871. <DefaultArg genus-name="number" label="0" />
  872. </BlockConnector>
  873. </BlockConnectors>
  874. </BlockGenus>
  875. <BlockGenus name="wire_write" kind="command" color="142 160 210"
  876. initlabel="bg.wire_write">
  877. <description>
  878. <text>write data via I2C</text>
  879. </description>
  880. <BlockConnectors>
  881. <BlockConnector connector-type="number"
  882. connector-kind="socket" label="bc.device_address">
  883. <DefaultArg genus-name="number" label="0" />
  884. </BlockConnector>
  885. <BlockConnector connector-type="number"
  886. connector-kind="socket" label="bc.register_address">
  887. <DefaultArg genus-name="number" label="0" />
  888. </BlockConnector>
  889. <BlockConnector connector-type="number"
  890. connector-kind="socket" label="bc.value">
  891. <DefaultArg genus-name="number" label="0" />
  892. </BlockConnector>
  893. </BlockConnectors>
  894. </BlockGenus>
  895. <BlockGenus name="wire_isread" kind="data" color="142 160 210"
  896. initlabel="bg.wire_isread">
  897. <description>
  898. <text>is last read from I2C success?</text>
  899. </description>
  900. <BlockConnectors>
  901. <BlockConnector connector-type="boolean"
  902. connector-kind="plug" position-type="mirror" />
  903. </BlockConnectors>
  904. </BlockGenus>
  905. <!--************************************************************** TinkerKit! **********************************************************************-->
  906. <BlockGenus name="Tinker_LED" kind="command" color="255 255 255"
  907. initlabel="bg.Tinker_LED">
  908. <description>
  909. <text>TinkerKit LED</text>
  910. </description>
  911. <BlockConnectors>
  912. <BlockConnector connector-type="number"
  913. connector-kind="socket" label="bc.pin_number">
  914. <DefaultArg genus-name="Tinker_O1" label="O1" />
  915. </BlockConnector>
  916. <BlockConnector connector-type="boolean"
  917. connector-kind="socket" label="bc.status">
  918. <DefaultArg genus-name="digital-on" label="ON" />
  919. </BlockConnector>
  920. </BlockConnectors>
  921. <Images>
  922. <Image>
  923. <FileLocation>com/ardublock/block/arduino/Tinker_LED.jpg</FileLocation>
  924. </Image>
  925. </Images>
  926. </BlockGenus>
  927. <BlockGenus name="Tinker_LED_pwm" kind="command" color="255 255 255"
  928. initlabel="bg.Tinker_LED_pwm">
  929. <description>
  930. <text>TinkerKit LED</text>
  931. </description>
  932. <BlockConnectors>
  933. <BlockConnector connector-type="number"
  934. connector-kind="socket" label="bc.pin_number">
  935. <DefaultArg genus-name="Tinker_O1" label="O1" />
  936. </BlockConnector>
  937. <BlockConnector connector-type="number"
  938. connector-kind="socket" label="bc.level">
  939. <DefaultArg genus-name="number" label="255" />
  940. </BlockConnector>
  941. </BlockConnectors>
  942. <Images>
  943. <Image>
  944. <FileLocation>com/ardublock/block/arduino/Tinker_LED.jpg</FileLocation>
  945. </Image>
  946. </Images>
  947. </BlockGenus>
  948. <BlockGenus name="Tinker_Mosfet" kind="command" color="255 255 255"
  949. initlabel="bg.Tinker_Mosfet">
  950. <description>
  951. <text>TinkerKit Mosfet</text>
  952. </description>
  953. <BlockConnectors>
  954. <BlockConnector connector-type="number"
  955. connector-kind="socket" label="bc.pin_number">
  956. <DefaultArg genus-name="Tinker_O1" label="O1" />
  957. </BlockConnector>
  958. <BlockConnector connector-type="boolean"
  959. connector-kind="socket" label="bc.status">
  960. <DefaultArg genus-name="digital-high" label="HIGH" />
  961. </BlockConnector>
  962. </BlockConnectors>
  963. <Images>
  964. <Image>
  965. <FileLocation>com/ardublock/block/arduino/Tinker_Mosfet.jpg</FileLocation>
  966. </Image>
  967. </Images>
  968. </BlockGenus>
  969. <BlockGenus name="Tinker_Mosfet_pwm" kind="command" color="255 255 255"
  970. initlabel="bg.Tinker_Mosfet_pwm">
  971. <description>
  972. <text>TinkerKit Mosfet</text>
  973. </description>
  974. <BlockConnectors>
  975. <BlockConnector connector-type="number"
  976. connector-kind="socket" label="bc.pin_number">
  977. <DefaultArg genus-name="Tinker_O1" label="O1" />
  978. </BlockConnector>
  979. <BlockConnector connector-type="number"
  980. connector-kind="socket" label="bc.level">
  981. <DefaultArg genus-name="number" label="255" />
  982. </BlockConnector>
  983. </BlockConnectors>
  984. <Images>
  985. <Image>
  986. <FileLocation>com/ardublock/block/arduino/Tinker_Mosfet.jpg</FileLocation>
  987. </Image>
  988. </Images>
  989. </BlockGenus>
  990. <BlockGenus name="Tinker_Relay" kind="command" color="255 255 255"
  991. initlabel="bg.Tinker_Relay">
  992. <description>
  993. <text>TinkerKit Relay</text>
  994. </description>
  995. <BlockConnectors>
  996. <BlockConnector connector-type="number"
  997. connector-kind="socket" label="bc.pin_number">
  998. <DefaultArg genus-name="Tinker_O1" label="O1" />
  999. </BlockConnector>
  1000. <BlockConnector connector-type="boolean"
  1001. connector-kind="socket" label="bc.status">
  1002. <DefaultArg genus-name="digital-high" label="HIGH" />
  1003. </BlockConnector>
  1004. </BlockConnectors>
  1005. <Images>
  1006. <Image>
  1007. <FileLocation>com/ardublock/block/arduino/Tinker_Relay.jpg</FileLocation>
  1008. </Image>
  1009. </Images>
  1010. </BlockGenus>
  1011. <BlockGenus name="Tinker_Servo" kind="command" color="255 255 255"
  1012. initlabel="bg.Tinker_Servo">
  1013. <description>
  1014. <text>TinkerKit Servo</text>
  1015. </description>
  1016. <BlockConnectors>
  1017. <BlockConnector connector-type="number"
  1018. connector-kind="socket" label="bc.pin_number">
  1019. <DefaultArg genus-name="Tinker_O1" label="O1" />
  1020. </BlockConnector>
  1021. <BlockConnector connector-type="number"
  1022. connector-kind="socket" label="bc.angle">
  1023. <DefaultArg genus-name="number" label="90" />
  1024. </BlockConnector>
  1025. </BlockConnectors>
  1026. <Images>
  1027. <Image>
  1028. <FileLocation>com/ardublock/block/arduino/Tinker_Servo.jpg</FileLocation>
  1029. </Image>
  1030. </Images>
  1031. </BlockGenus>
  1032. <BlockGenus name="Tinker_Button" kind="data" color="255 255 255"
  1033. initlabel="bg.Tinker_Button">
  1034. <description>
  1035. <text>TinkerKit Button</text>
  1036. </description>
  1037. <BlockConnectors>
  1038. <BlockConnector connector-type="boolean"
  1039. connector-kind="plug" />
  1040. <BlockConnector connector-type="number"
  1041. connector-kind="socket" label="bc.pin_number">
  1042. <DefaultArg genus-name="Tinker_I1" label="I1" />
  1043. </BlockConnector>
  1044. </BlockConnectors>
  1045. <Images>
  1046. <Image>
  1047. <FileLocation>com/ardublock/block/arduino/Tinker_Button.png</FileLocation>
  1048. </Image>
  1049. </Images>
  1050. </BlockGenus>
  1051. <BlockGenus name="Tinker_Accmeter" kind="data" color="255 255 255"
  1052. initlabel="bg.Tinker_Accmeter">
  1053. <description>
  1054. <text>TinkerKit Accelerometer</text>
  1055. </description>
  1056. <BlockConnectors>
  1057. <BlockConnector connector-type="number"
  1058. connector-kind="plug" />
  1059. <BlockConnector connector-type="number"
  1060. connector-kind="socket" label="bc.pin_number">
  1061. <DefaultArg genus-name="Tinker_I1" label="I1" />
  1062. </BlockConnector>
  1063. </BlockConnectors>
  1064. <Images>
  1065. <Image>
  1066. <FileLocation>com/ardublock/block/arduino/Tinker_Accmeter.png</FileLocation>
  1067. </Image>
  1068. </Images>
  1069. </BlockGenus>
  1070. <BlockGenus name="Tinker_Hall" kind="data" color="255 255 255"
  1071. initlabel="bg.Tinker_Hall">
  1072. <description>
  1073. <text>TinkerKit Hall Sensor</text>
  1074. </description>
  1075. <BlockConnectors>
  1076. <BlockConnector connector-type="number"
  1077. connector-kind="plug" />
  1078. <BlockConnector connector-type="number"
  1079. connector-kind="socket" label="bc.pin_number">
  1080. <DefaultArg genus-name="Tinker_I1" label="I1" />
  1081. </BlockConnector>
  1082. </BlockConnectors>
  1083. <Images>
  1084. <Image>
  1085. <FileLocation>com/ardublock/block/arduino/Tinker_Hall.png</FileLocation>
  1086. </Image>
  1087. </Images>
  1088. </BlockGenus>
  1089. <BlockGenus name="Tinker_LDR" kind="data" color="255 255 255"
  1090. initlabel="bg.Tinker_LDR">
  1091. <description>
  1092. <text>TinkerKit LDR</text>
  1093. </description>
  1094. <BlockConnectors>
  1095. <BlockConnector connector-type="number"
  1096. connector-kind="plug" />
  1097. <BlockConnector connector-type="number"
  1098. connector-kind="socket" label="bc.pin_number">
  1099. <DefaultArg genus-name="Tinker_I1" label="I1" />
  1100. </BlockConnector>
  1101. </BlockConnectors>
  1102. <Images>
  1103. <Image>
  1104. <FileLocation>com/ardublock/block/arduino/Tinker_LDR.jpg</FileLocation>
  1105. </Image>
  1106. </Images>
  1107. </BlockGenus>
  1108. <BlockGenus name="Tinker_LinearPotentiometer" kind="data"
  1109. color="255 255 255" initlabel="bg.Tinker_LinearPotentiometer">
  1110. <description>
  1111. <text>TinkerKit Accelerometer</text>
  1112. </description>
  1113. <BlockConnectors>
  1114. <BlockConnector connector-type="number"
  1115. connector-kind="plug" />
  1116. <BlockConnector connector-type="number"
  1117. connector-kind="socket" label="bc.pin_number">
  1118. <DefaultArg genus-name="Tinker_I1" label="I1" />
  1119. </BlockConnector>
  1120. </BlockConnectors>
  1121. <Images>
  1122. <Image>
  1123. <FileLocation>com/ardublock/block/arduino/Tinker_LinearPotentiometer.jpg</FileLocation>
  1124. </Image>
  1125. </Images>
  1126. </BlockGenus>
  1127. <BlockGenus name="Tinker_RotaryPotentiometer" kind="data"
  1128. color="255 255 255" initlabel="bg.Tinker_RotaryPotentiometer">
  1129. <description>
  1130. <text>TinkerKit RotaryPotentiometer</text>
  1131. </description>
  1132. <BlockConnectors>
  1133. <BlockConnector connector-type="number"
  1134. connector-kind="plug" />
  1135. <BlockConnector connector-type="number"
  1136. connector-kind="socket" label="bc.pin_number">
  1137. <DefaultArg genus-name="Tinker_I1" label="I1" />
  1138. </BlockConnector>
  1139. </BlockConnectors>
  1140. <Images>
  1141. <Image>
  1142. <FileLocation>com/ardublock/block/arduino/Tinker_RotaryPotentiometer.jpg</FileLocation>
  1143. </Image>
  1144. </Images>
  1145. </BlockGenus>
  1146. <BlockGenus name="Tinker_Thermistor" kind="data" color="255 255 255"
  1147. initlabel="bg.Tinker_Thermistor">
  1148. <description>
  1149. <text>TinkerKit Thermistor</text>
  1150. </description>
  1151. <BlockConnectors>
  1152. <BlockConnector connector-type="number"
  1153. connector-kind="plug" />
  1154. <BlockConnector connector-type="number"
  1155. connector-kind="socket" label="bc.pin_number">
  1156. <DefaultArg genus-name="Tinker_I1" label="I1" />
  1157. </BlockConnector>
  1158. </BlockConnectors>
  1159. <Images>
  1160. <Image>
  1161. <FileLocation>com/ardublock/block/arduino/Tinker_Thermistor.jpg</FileLocation>
  1162. </Image>
  1163. </Images>
  1164. </BlockGenus>
  1165. <BlockGenus name="Tinker_Touch" kind="data" color="255 255 255"
  1166. initlabel="bg.Tinker_Touch">
  1167. <description>
  1168. <text>TinkerKit Touch Sensor</text>
  1169. </description>
  1170. <BlockConnectors>
  1171. <BlockConnector connector-type="boolean"
  1172. connector-kind="plug" />
  1173. <BlockConnector connector-type="number"
  1174. connector-kind="socket" label="bc.pin_number">
  1175. <DefaultArg genus-name="Tinker_I1" label="I1" />
  1176. </BlockConnector>
  1177. </BlockConnectors>
  1178. <Images>
  1179. <Image>
  1180. <FileLocation>com/ardublock/block/arduino/Tinker_Touch.jpg</FileLocation>
  1181. </Image>
  1182. </Images>
  1183. </BlockGenus>
  1184. <BlockGenus name="Tinker_Servo" kind="command" color="255 255 255"
  1185. initlabel="bg.Tinker_Servo">
  1186. <description>
  1187. <text>TinkerKit Servo</text>
  1188. </description>
  1189. <BlockConnectors>
  1190. <BlockConnector connector-type="number"
  1191. connector-kind="socket" label="bc.pin_number">
  1192. <DefaultArg genus-name="Tinker_I1" label="I1" />
  1193. </BlockConnector>
  1194. <BlockConnector connector-type="number"
  1195. connector-kind="socket" label="bc.angle">
  1196. <DefaultArg genus-name="number" label="90" />
  1197. </BlockConnector>
  1198. </BlockConnectors>
  1199. <Images>
  1200. <Image>
  1201. <FileLocation>com/ardublock/block/arduino/Tinker_Servo.jpg</FileLocation>
  1202. </Image>
  1203. </Images>
  1204. </BlockGenus>
  1205. <BlockGenus name="Tinker_Tilt" kind="data" color="255 255 255"
  1206. initlabel="bg.Tinker_Tilt">
  1207. <description>
  1208. <text>TinkerKit Tilt</text>
  1209. </description>
  1210. <BlockConnectors>
  1211. <BlockConnector connector-type="boolean"
  1212. connector-kind="plug" />
  1213. <BlockConnector connector-type="number"
  1214. connector-kind="socket" label="bc.pin_number">
  1215. <DefaultArg genus-name="Tinker_I1" label="I1" />
  1216. </BlockConnector>
  1217. </BlockConnectors>
  1218. <Images>
  1219. <Image>
  1220. <FileLocation>com/ardublock/block/arduino/Tinker_Tilt.jpg</FileLocation>
  1221. </Image>
  1222. </Images>
  1223. </BlockGenus>
  1224. <BlockGenus name="Tinker_I0" kind="data" color="255 255 255"
  1225. initlabel="bg.Tinker_I0" editable-label="no">
  1226. <BlockConnectors>
  1227. <BlockConnector connector-type="number"
  1228. connector-kind="plug" position-type="mirror" />
  1229. </BlockConnectors>
  1230. </BlockGenus>
  1231. <BlockGenus name="Tinker_I1" kind="data" color="255 255 255"
  1232. initlabel="bg.Tinker_I1" editable-label="no">
  1233. <BlockConnectors>
  1234. <BlockConnector connector-type="number"
  1235. connector-kind="plug" position-type="mirror" />
  1236. </BlockConnectors>
  1237. </BlockGenus>
  1238. <BlockGenus name="Tinker_I2" kind="data" color="255 255 255"
  1239. initlabel="bg.Tinker_I2" editable-label="no">
  1240. <BlockConnectors>
  1241. <BlockConnector connector-type="number"
  1242. connector-kind="plug" position-type="mirror" />
  1243. </BlockConnectors>
  1244. </BlockGenus>
  1245. <BlockGenus name="Tinker_I3" kind="data" color="255 255 255"
  1246. initlabel="bg.Tinker_I3" editable-label="no">
  1247. <BlockConnectors>
  1248. <BlockConnector connector-type="number"
  1249. connector-kind="plug" position-type="mirror" />
  1250. </BlockConnectors>
  1251. </BlockGenus>
  1252. <BlockGenus name="Tinker_I4" kind="data" color="255 255 255"
  1253. initlabel="bg.Tinker_I4" editable-label="no">
  1254. <BlockConnectors>
  1255. <BlockConnector connector-type="number"
  1256. connector-kind="plug" position-type="mirror" />
  1257. </BlockConnectors>
  1258. </BlockGenus>
  1259. <BlockGenus name="Tinker_I5" kind="data" color="255 255 255"
  1260. initlabel="bg.Tinker_I5" editable-label="no">
  1261. <BlockConnectors>
  1262. <BlockConnector connector-type="number"
  1263. connector-kind="plug" position-type="mirror" />
  1264. </BlockConnectors>
  1265. </BlockGenus>
  1266. <BlockGenus name="Tinker_O0" kind="data" color="214 169 54"
  1267. initlabel="bg.Tinker_O0" editable-label="no">
  1268. <BlockConnectors>
  1269. <BlockConnector connector-type="number"
  1270. connector-kind="plug" position-type="mirror" />
  1271. </BlockConnectors>
  1272. </BlockGenus>
  1273. <BlockGenus name="Tinker_O1" kind="data" color="214 169 54"
  1274. initlabel="bg.Tinker_O1" editable-label="no">
  1275. <BlockConnectors>
  1276. <BlockConnector connector-type="number"
  1277. connector-kind="plug" position-type="mirror" />
  1278. </BlockConnectors>
  1279. </BlockGenus>
  1280. <BlockGenus name="Tinker_O2" kind="data" color="214 169 54"
  1281. initlabel="bg.Tinker_O2" editable-label="no">
  1282. <BlockConnectors>
  1283. <BlockConnector connector-type="number"
  1284. connector-kind="plug" position-type="mirror" />
  1285. </BlockConnectors>
  1286. </BlockGenus>
  1287. <BlockGenus name="Tinker_O3" kind="data" color="214 169 54"
  1288. initlabel="bg.Tinker_O3" editable-label="no">
  1289. <BlockConnectors>
  1290. <BlockConnector connector-type="number"
  1291. connector-kind="plug" position-type="mirror" />
  1292. </BlockConnectors>
  1293. </BlockGenus>
  1294. <BlockGenus name="Tinker_O4" kind="data" color="214 169 54"
  1295. initlabel="bg.Tinker_O4" editable-label="no">
  1296. <BlockConnectors>
  1297. <BlockConnector connector-type="number"
  1298. connector-kind="plug" position-type="mirror" />
  1299. </BlockConnectors>
  1300. </BlockGenus>
  1301. <BlockGenus name="Tinker_O5" kind="data" color="214 169 54"
  1302. initlabel="bg.Tinker_O5" editable-label="no">
  1303. <BlockConnectors>
  1304. <BlockConnector connector-type="number"
  1305. connector-kind="plug" position-type="mirror" />
  1306. </BlockConnectors>
  1307. </BlockGenus>
  1308. <!-- Xinchejian -->
  1309. <BlockGenus name="xcj_motor_forward" kind="command" color="0 255 0"
  1310. initlabel="bg.xcj_motor_forward">
  1311. <description>
  1312. <text>forward</text>
  1313. </description>
  1314. <BlockConnectors>
  1315. <BlockConnector connector-type="number"
  1316. connector-kind="socket" label="M#">
  1317. <DefaultArg genus-name="number" label="1" />
  1318. </BlockConnector>
  1319. <BlockConnector connector-type="number"
  1320. connector-kind="socket" label="speed">
  1321. <DefaultArg genus-name="number" label="255" />
  1322. </BlockConnector>
  1323. </BlockConnectors>
  1324. <Images>
  1325. <Image>
  1326. <FileLocation>com/ardublock/block/motor.jpg</FileLocation>
  1327. </Image>
  1328. </Images>
  1329. </BlockGenus>
  1330. <BlockGenus name="xcj_motor_backward" kind="command" color="0 255 0"
  1331. initlabel="bg.xcj_motor_backward">
  1332. <description>
  1333. <text>Moving the car backward</text>
  1334. </description>
  1335. <BlockConnectors>
  1336. <BlockConnector connector-type="number"
  1337. connector-kind="socket" label="M#">
  1338. <DefaultArg genus-name="number" label="1" />
  1339. </BlockConnector>
  1340. <BlockConnector connector-type="number"
  1341. connector-kind="socket" label="speed">
  1342. <DefaultArg genus-name="number" label="255" />
  1343. </BlockConnector>
  1344. </BlockConnectors>
  1345. <Images>
  1346. <Image>
  1347. <FileLocation>com/ardublock/block/motor.jpg</FileLocation>
  1348. </Image>
  1349. </Images>
  1350. </BlockGenus>
  1351. <BlockGenus name="xcj_ms_digital_write" kind="command"
  1352. color="0 255 0" initlabel="bg.xcj_ms_digital_write">
  1353. <description>
  1354. <text>Write ditial singal to Socket</text>
  1355. </description>
  1356. <BlockConnectors>
  1357. <BlockConnector connector-type="number"
  1358. connector-kind="socket" label="S#">
  1359. <DefaultArg genus-name="number" label="1" />
  1360. </BlockConnector>
  1361. <BlockConnector connector-type="boolean"
  1362. connector-kind="socket" label="bc.status">
  1363. <DefaultArg genus-name="digital-high" label="HIGH" />
  1364. </BlockConnector>
  1365. </BlockConnectors>
  1366. </BlockGenus>
  1367. <BlockGenus name="xcj_ms_digital_read" kind="data" color="0 255 0"
  1368. initlabel="bg.xcj_ms_digital_read">
  1369. <description>
  1370. <text>Read digital status from socket</text>
  1371. </description>
  1372. <BlockConnectors>
  1373. <BlockConnector connector-type="boolean"
  1374. connector-kind="plug" />
  1375. <BlockConnector connector-type="number"
  1376. connector-kind="socket" label="S#">
  1377. <DefaultArg genus-name="number" label="1" />
  1378. </BlockConnector>
  1379. </BlockConnectors>
  1380. </BlockGenus>
  1381. <!--************************************************************** DFRobot ***************************************************************************-->
  1382. <BlockGenus name="df_digital_viberation_sensor" kind="data"
  1383. color="255 102 0" initlabel="bg.df_digital_viberation_sensor">
  1384. <BlockConnectors>
  1385. <BlockConnector connector-type="boolean"
  1386. connector-kind="plug" />
  1387. <BlockConnector connector-type="number"
  1388. connector-kind="socket" label="bc.pin_number">
  1389. <DefaultArg genus-name="number" label="1" />
  1390. </BlockConnector>
  1391. </BlockConnectors>
  1392. <Images>
  1393. <Image>
  1394. <FileLocation>com/ardublock/block/dfrobot/dfr0027.png</FileLocation>
  1395. </Image>
  1396. </Images>
  1397. </BlockGenus>
  1398. <BlockGenus name="df_digital_tilt_sensor" kind="data"
  1399. color="255 102 0" initlabel="bg.df_digital_tilt_sensor">
  1400. <BlockConnectors>
  1401. <BlockConnector connector-type="boolean"
  1402. connector-kind="plug" />
  1403. <BlockConnector connector-type="number"
  1404. connector-kind="socket" label="bc.pin_number">
  1405. <DefaultArg genus-name="number" label="1" />
  1406. </BlockConnector>
  1407. </BlockConnectors>
  1408. <Images>
  1409. <Image>
  1410. <FileLocation>com/ardublock/block/dfrobot/dfr0028.png</FileLocation>
  1411. </Image>
  1412. </Images>
  1413. </BlockGenus>
  1414. <BlockGenus name="df_digital_infrared_motion_sensor" kind="data"
  1415. color="255 102 0" initlabel="bg.df_digital_infrared_motion_sensor">
  1416. <BlockConnectors>
  1417. <BlockConnector connector-type="boolean"
  1418. connector-kind="plug" />
  1419. <BlockConnector connector-type="number"
  1420. connector-kind="socket" label="bc.pin_number">
  1421. <DefaultArg genus-name="number" label="1" />
  1422. </BlockConnector>
  1423. </BlockConnectors>
  1424. <Images>
  1425. <Image>
  1426. <FileLocation>com/ardublock/block/dfrobot/sen0018.png</FileLocation>
  1427. </Image>
  1428. </Images>
  1429. </BlockGenus>
  1430. <BlockGenus name="df_digital_ir_receiver_module" kind="data"
  1431. color="255 102 0" initlabel="bg.df_digital_ir_receiver_module">
  1432. <BlockConnectors>
  1433. <BlockConnector connector-type="boolean"
  1434. connector-kind="plug" />
  1435. <BlockConnector connector-type="number"
  1436. connector-kind="socket" label="bc.pin_number">
  1437. <DefaultArg genus-name="number" label="1" />
  1438. </BlockConnector>
  1439. </BlockConnectors>
  1440. <Images>
  1441. <Image>
  1442. <FileLocation>com/ardublock/block/dfrobot/dfr0094.jpg</FileLocation>
  1443. </Image>
  1444. </Images>
  1445. </BlockGenus>
  1446. <BlockGenus name="df_adjustable_infrared_sensor_switch"
  1447. kind="data" color="255 102 0" initlabel="bg.df_adjustable_infrared_sensor_switch">
  1448. <BlockConnectors>
  1449. <BlockConnector connector-type="boolean"
  1450. connector-kind="plug" />
  1451. <BlockConnector connector-type="number"
  1452. connector-kind="socket" label="bc.pin_number">
  1453. <DefaultArg genus-name="number" label="1" />
  1454. </Bloc

Large files files are truncated, but you can click here to view the full file