From 07be07a055161a9c703254d1d2f533b711542bb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anian=20B=C3=BChler?= <anian.buehler@reutlingen-university.de> Date: Tue, 17 May 2022 12:23:46 +0200 Subject: [PATCH] added abp examples & example-properties --- .../com/ardublock/ui/OpenblocksFrame.java | 32 ++- .../com/ardublock/block/ardublock.properties | 7 +- .../ardublock/block/ardublock_de.properties | 6 + .../block/ardublock_en_GB.properties | 6 + .../ardublock/examples/AnalogReadSerial.abp | 179 +++++++++++++ .../com/ardublock/examples/ButtonLED.abp | 249 ++++++++++++++++++ .../ardublock/examples/CounterVariable.abp | 244 +++++++++++++++++ .../ardublock/examples/DigitalReadSerial.abp | 179 +++++++++++++ .../examples/DigitalVariableToggle.abp | 229 ++++++++++++++++ .../ardublock/examples/WhileButtonBlink.abp | 221 ++++++++++++++++ 10 files changed, 1347 insertions(+), 5 deletions(-) create mode 100644 src/main/resources/com/ardublock/examples/AnalogReadSerial.abp create mode 100644 src/main/resources/com/ardublock/examples/ButtonLED.abp create mode 100644 src/main/resources/com/ardublock/examples/CounterVariable.abp create mode 100644 src/main/resources/com/ardublock/examples/DigitalReadSerial.abp create mode 100644 src/main/resources/com/ardublock/examples/DigitalVariableToggle.abp create mode 100644 src/main/resources/com/ardublock/examples/WhileButtonBlink.abp diff --git a/src/main/java/com/ardublock/ui/OpenblocksFrame.java b/src/main/java/com/ardublock/ui/OpenblocksFrame.java index 72d2071..0cf8ba0 100644 --- a/src/main/java/com/ardublock/ui/OpenblocksFrame.java +++ b/src/main/java/com/ardublock/ui/OpenblocksFrame.java @@ -897,9 +897,29 @@ public class OpenblocksFrame extends JFrame //************************************ //EXAMPLES //************************************* + //TODO: test if adding automatically is possible JMenuItem blinkExample = new JMenuItem(uiMessageBundle.getString("ardublock.examples.blink")); blinkExample.addActionListener(new OpenExampleButtonListener("Blink.abp", this)); + JMenuItem digitalSerialExample = new JMenuItem(uiMessageBundle.getString("ardublock.examples.digitalserial")); + digitalSerialExample.addActionListener(new OpenExampleButtonListener("DigitalReadSerial.abp", this)); + + JMenuItem analogSerialExample = new JMenuItem(uiMessageBundle.getString("ardublock.examples.analogserial")); + analogSerialExample.addActionListener(new OpenExampleButtonListener("DigitalReadSerial.abp", this)); + + JMenuItem buttonLedExample = new JMenuItem(uiMessageBundle.getString("ardublock.examples.buttonled")); + buttonLedExample.addActionListener(new OpenExampleButtonListener("ButtonLED.abp", this)); + + JMenuItem digitalVariableToggleExample = new JMenuItem(uiMessageBundle.getString("ardublock.examples.digitalvariabletoggle")); + digitalVariableToggleExample.addActionListener(new OpenExampleButtonListener("DigitalVariableToggle.abp", this)); + + JMenuItem counterVariableExample = new JMenuItem(uiMessageBundle.getString("ardublock.examples.countervariable")); + counterVariableExample.addActionListener(new OpenExampleButtonListener("CounterVariable.abp", this)); + + JMenuItem whileButtonExample = new JMenuItem(uiMessageBundle.getString("ardublock.examples.whilebutton")); + whileButtonExample.addActionListener(new OpenExampleButtonListener("WhileButtonBlink.abp", this)); + + @@ -952,9 +972,12 @@ public class OpenblocksFrame extends JFrame examplesSubMenu.add(communicationExamplesSubMenu); basicExamplesSubMenu.add(blinkExample); - digitalExamplesSubMenu.add("digitalRead"); - analogExamplesSubMenu.add("analogRead"); - communicationExamplesSubMenu.add("serialReadExample"); + digitalExamplesSubMenu.add(digitalSerialExample); + digitalExamplesSubMenu.add(buttonLedExample); + digitalExamplesSubMenu.add(digitalVariableToggleExample); + digitalExamplesSubMenu.add(whileButtonExample); + analogExamplesSubMenu.add(analogSerialExample); + analogExamplesSubMenu.add(counterVariableExample); programMenu.add(generateMenuItem); programMenu.add(simulateMenuItem); @@ -1155,7 +1178,8 @@ public class OpenblocksFrame extends JFrame // TODO Auto-generated catch block e.printStackTrace(); } - + context.setSaveFileName(exampleName); + //TODO: SET programm title this.setTitle(makeFrameTitle()); } diff --git a/src/main/resources/com/ardublock/block/ardublock.properties b/src/main/resources/com/ardublock/block/ardublock.properties index 4791a7e..4c99959 100644 --- a/src/main/resources/com/ardublock/block/ardublock.properties +++ b/src/main/resources/com/ardublock/block/ardublock.properties @@ -157,7 +157,12 @@ message.question.newfile_on_workspace_changed=The program has changed, do you wa # EXAMPLES #**************************** ardublock.examples.blink=Blink - +ardublock.examples.digitalserial=digitalRead Serial +ardublock.examples.analogserial=analogRead Serial +ardublock.examples.buttonled=digitalRead LED +ardublock.examples.digitalvariabletoggle=toggle digital Variable +ardublock.examples.countervariable=counter +ardublock.examples.whilebutton=digitalRead while ################## # BLOCK CONFIG # diff --git a/src/main/resources/com/ardublock/block/ardublock_de.properties b/src/main/resources/com/ardublock/block/ardublock_de.properties index af8a444..31fc071 100644 --- a/src/main/resources/com/ardublock/block/ardublock_de.properties +++ b/src/main/resources/com/ardublock/block/ardublock_de.properties @@ -158,6 +158,12 @@ message.content.saveOnExit=Soll das Programm gespeichert werden bevor ArduBlock # EXAMPLES #**************************** ardublock.examples.blink=Blink +ardublock.examples.digitalserial=digitalRead Serial +ardublock.examples.analogserial=analogRead Serial +ardublock.examples.buttonled=digitalRead LED +ardublock.examples.digitalvariabletoggle=toggle digitale Variable +ardublock.examples.countervariable=Zaehler +ardublock.examples.whilebutton=digitalRead solange ################## # BLOCK CONFIG # diff --git a/src/main/resources/com/ardublock/block/ardublock_en_GB.properties b/src/main/resources/com/ardublock/block/ardublock_en_GB.properties index b14ab3d..0655a81 100644 --- a/src/main/resources/com/ardublock/block/ardublock_en_GB.properties +++ b/src/main/resources/com/ardublock/block/ardublock_en_GB.properties @@ -159,6 +159,12 @@ message.content.saveOnExit=Soll das Programm gespeichert werden bevor ArduBlock # EXAMPLES #**************************** ardublock.examples.blink=Blink +ardublock.examples.digitalserial=digitalRead Serial +ardublock.examples.analogserial=analogRead Serial +ardublock.examples.buttonled=digitalRead LED +ardublock.examples.digitalvariabletoggle=toggle bool Variable +ardublock.examples.countervariable=Zaehler +ardublock.examples.whilebutton=digitalRead while ################## # BLOCK CONFIG # diff --git a/src/main/resources/com/ardublock/examples/AnalogReadSerial.abp b/src/main/resources/com/ardublock/examples/AnalogReadSerial.abp new file mode 100644 index 0000000..65c2390 --- /dev/null +++ b/src/main/resources/com/ardublock/examples/AnalogReadSerial.abp @@ -0,0 +1,179 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<cb:CODEBLOCKS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://education.mit.edu/openblocks/ns http://education.mit.edu/openblocks/codeblocks.xsd" xmlns:cb="http://education.mit.edu/openblocks/ns"> +<Pages collapsible-pages="yes" drawer-with-page="yes"> +<Page page-color="128 128 128" page-drawer="Main" page-infullview="yes" page-name="Main" page-width="4480"> +<PageBlocks> +<Block genus-name="string" id="176"> +<Label>Ausgabe auf SerialMonitor mit Zeilenumbruch</Label> +<Location> +<X>206</X> +<Y>95</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="84"> +<Label>letsgoING</Label> +<Location> +<X>206</X> +<Y>47</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="pin-read-analog" id="174"> +<Location> +<X>611</X> +<Y>264</Y> +</Location> +<Plug> +<BlockConnector con-block-id="173" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="single"/> +</Plug> +<Sockets num-sockets="1"> +<BlockConnector con-block-id="175" connector-kind="socket" connector-type="number" init-type="number" label="Pin A" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="number" id="175"> +<Label>0</Label> +<Location> +<X>747</X> +<Y>264</Y> +</Location> +<Plug> +<BlockConnector con-block-id="174" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="166"> +<Label>Wert Poti</Label> +<Location> +<X>427</X> +<Y>264</Y> +</Location> +<Plug> +<BlockConnector con-block-id="173" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="glue_number" id="173"> +<Location> +<X>417</X> +<Y>261</Y> +</Location> +<Plug> +<BlockConnector con-block-id="165" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="166" connector-kind="socket" connector-type="string" init-type="string" label="" position-type="bottom"/> +<BlockConnector con-block-id="174" connector-kind="socket" connector-type="number" init-type="number" label="" position-type="bottom"/> +</Sockets> +</Block> +<Block genus-name="delay" id="171"> +<Location> +<X>231</X> +<Y>316</Y> +</Location> +<BeforeBlockId>165</BeforeBlockId> +<Sockets num-sockets="1"> +<BlockConnector con-block-id="172" connector-kind="socket" connector-type="number" init-type="number" label="Millisekunden" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="number" id="172"> +<Label>10</Label> +<Location> +<X>473</X> +<Y>319</Y> +</Location> +<Plug> +<BlockConnector con-block-id="171" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="serial_print" id="165"> +<Location> +<X>231</X> +<Y>258</Y> +</Location> +<BeforeBlockId>80</BeforeBlockId> +<AfterBlockId>171</AfterBlockId> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="173" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> +<BlockConnector con-block-id="167" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="true" id="167"> +<Location> +<X>417</X> +<Y>289</Y> +</Location> +<Plug> +<BlockConnector con-block-id="165" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="program_comment" id="82"> +<Location> +<X>20</X> +<Y>20</Y> +</Location> +<Sockets num-sockets="7"> +<BlockConnector con-block-id="83" connector-kind="socket" connector-type="string" init-type="string" label="Dateiname" position-type="single"/> +<BlockConnector con-block-id="84" connector-kind="socket" connector-type="string" init-type="string" label="Autor" position-type="single"/> +<BlockConnector con-block-id="85" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> +<BlockConnector con-block-id="176" connector-kind="socket" connector-type="string" init-type="string" label="" position-type="single"/> +<BlockConnector connector-kind="socket" connector-type="string" init-type="string" label="" position-type="single"/> +<BlockConnector con-block-id="86" connector-kind="socket" connector-type="string" init-type="string" label="Datum" position-type="single"/> +<BlockConnector con-block-id="87" connector-kind="socket" connector-type="number" init-type="number" label="Version" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="number" id="87"> +<Label>0.1</Label> +<Location> +<X>206</X> +<Y>167</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="86"> +<Label>01.01.2022</Label> +<Location> +<X>206</X> +<Y>143</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="85"> +<Label>Einlesen Analoger Eingang an A0</Label> +<Location> +<X>206</X> +<Y>71</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="83"> +<Label>AnalogReadSerial</Label> +<Location> +<X>206</X> +<Y>23</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="loop" id="80"> +<Location> +<X>20</X> +<Y>250</Y> +</Location> +<Sockets num-sockets="1"> +<BlockConnector con-block-id="165" connector-kind="socket" connector-type="cmd" init-type="cmd" label="mache" position-type="single"/> +</Sockets> +</Block> +</PageBlocks> +</Page> +</Pages> +</cb:CODEBLOCKS> diff --git a/src/main/resources/com/ardublock/examples/ButtonLED.abp b/src/main/resources/com/ardublock/examples/ButtonLED.abp new file mode 100644 index 0000000..55c1d36 --- /dev/null +++ b/src/main/resources/com/ardublock/examples/ButtonLED.abp @@ -0,0 +1,249 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<cb:CODEBLOCKS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://education.mit.edu/openblocks/ns http://education.mit.edu/openblocks/codeblocks.xsd" xmlns:cb="http://education.mit.edu/openblocks/ns"> +<Pages collapsible-pages="yes" drawer-with-page="yes"> +<Page page-color="128 128 128" page-drawer="Main" page-infullview="yes" page-name="Main" page-width="4480"> +<PageBlocks> +<Block genus-name="else" id="347"> +<Location> +<X>234</X> +<Y>395</Y> +</Location> +<BeforeBlockId>343</BeforeBlockId> +<Sockets num-sockets="1"> +<BlockConnector con-block-id="381" connector-kind="socket" connector-type="cmd" init-type="cmd" label="dann" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="pin-write-digital" id="381"> +<Location> +<X>321</X> +<Y>403</Y> +</Location> +<BeforeBlockId>347</BeforeBlockId> +<AfterBlockId>384</AfterBlockId> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="382" connector-kind="socket" connector-type="number" init-type="number" label="Pin" position-type="single"/> +<BlockConnector con-block-id="383" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Wert" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="pin-write-digital" id="384"> +<Location> +<X>321</X> +<Y>457</Y> +</Location> +<BeforeBlockId>381</BeforeBlockId> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="385" connector-kind="socket" connector-type="number" init-type="number" label="Pin" position-type="single"/> +<BlockConnector con-block-id="386" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Wert" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="digital-high" id="386"> +<Location> +<X>459</X> +<Y>484</Y> +</Location> +<Plug> +<BlockConnector con-block-id="384" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="number" id="385"> +<Label>10</Label> +<Location> +<X>459</X> +<Y>460</Y> +</Location> +<Plug> +<BlockConnector con-block-id="384" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="digital-low" id="383"> +<Location> +<X>459</X> +<Y>430</Y> +</Location> +<Plug> +<BlockConnector con-block-id="381" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="number" id="382"> +<Label>9</Label> +<Location> +<X>459</X> +<Y>406</Y> +</Location> +<Plug> +<BlockConnector con-block-id="381" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="pin-write-digital" id="357"> +<Location> +<X>327</X> +<Y>332</Y> +</Location> +<BeforeBlockId>354</BeforeBlockId> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="358" connector-kind="socket" connector-type="number" init-type="number" label="Pin" position-type="single"/> +<BlockConnector con-block-id="359" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Wert" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="digital-low" id="359"> +<Location> +<X>465</X> +<Y>359</Y> +</Location> +<Plug> +<BlockConnector con-block-id="357" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="number" id="358"> +<Label>10</Label> +<Location> +<X>465</X> +<Y>335</Y> +</Location> +<Plug> +<BlockConnector con-block-id="357" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="pin-write-digital" id="354"> +<Location> +<X>327</X> +<Y>278</Y> +</Location> +<BeforeBlockId>343</BeforeBlockId> +<AfterBlockId>357</AfterBlockId> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="355" connector-kind="socket" connector-type="number" init-type="number" label="Pin" position-type="single"/> +<BlockConnector con-block-id="356" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Wert" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="digital-high" id="356"> +<Location> +<X>465</X> +<Y>305</Y> +</Location> +<Plug> +<BlockConnector con-block-id="354" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="number" id="355"> +<Label>9</Label> +<Location> +<X>465</X> +<Y>281</Y> +</Location> +<Plug> +<BlockConnector con-block-id="354" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="pin-read-digital" id="348"> +<Location> +<X>330</X> +<Y>249</Y> +</Location> +<Plug> +<BlockConnector con-block-id="343" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="single"/> +</Plug> +<Sockets num-sockets="1"> +<BlockConnector con-block-id="349" connector-kind="socket" connector-type="number" init-type="number" label="Pin" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="number" id="349"> +<Label>2</Label> +<Location> +<X>462</X> +<Y>249</Y> +</Location> +<Plug> +<BlockConnector con-block-id="348" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="if" id="343"> +<Location> +<X>234</X> +<Y>246</Y> +</Location> +<BeforeBlockId>245</BeforeBlockId> +<AfterBlockId>347</AfterBlockId> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="348" connector-kind="socket" connector-type="boolean" init-type="boolean" label="teste" position-type="single"/> +<BlockConnector con-block-id="354" connector-kind="socket" connector-type="cmd" init-type="cmd" label="dann" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="loop" id="245"> +<Location> +<X>23</X> +<Y>238</Y> +</Location> +<Sockets num-sockets="1"> +<BlockConnector con-block-id="343" connector-kind="socket" connector-type="cmd" init-type="cmd" label="mache" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="program_comment" id="82"> +<Location> +<X>20</X> +<Y>20</Y> +</Location> +<Sockets num-sockets="7"> +<BlockConnector con-block-id="83" connector-kind="socket" connector-type="string" init-type="string" label="Dateiname" position-type="single"/> +<BlockConnector con-block-id="84" connector-kind="socket" connector-type="string" init-type="string" label="Autor" position-type="single"/> +<BlockConnector con-block-id="85" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> +<BlockConnector connector-kind="socket" connector-type="string" init-type="string" label="" position-type="single"/> +<BlockConnector connector-kind="socket" connector-type="string" init-type="string" label="" position-type="single"/> +<BlockConnector con-block-id="86" connector-kind="socket" connector-type="string" init-type="string" label="Datum" position-type="single"/> +<BlockConnector con-block-id="87" connector-kind="socket" connector-type="number" init-type="number" label="Version" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="number" id="87"> +<Label>0.1</Label> +<Location> +<X>206</X> +<Y>167</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="86"> +<Label>01.01.2021</Label> +<Location> +<X>206</X> +<Y>143</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="85"> +<Label>Übungsaufgabe zur Fortbildung</Label> +<Location> +<X>206</X> +<Y>71</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="84"> +<Label>letsgoING</Label> +<Location> +<X>206</X> +<Y>47</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="83"> +<Label>Übung 5</Label> +<Location> +<X>206</X> +<Y>23</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +</PageBlocks> +</Page> +</Pages> +</cb:CODEBLOCKS> diff --git a/src/main/resources/com/ardublock/examples/CounterVariable.abp b/src/main/resources/com/ardublock/examples/CounterVariable.abp new file mode 100644 index 0000000..58f1011 --- /dev/null +++ b/src/main/resources/com/ardublock/examples/CounterVariable.abp @@ -0,0 +1,244 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<cb:CODEBLOCKS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://education.mit.edu/openblocks/ns http://education.mit.edu/openblocks/codeblocks.xsd" xmlns:cb="http://education.mit.edu/openblocks/ns"> +<Pages collapsible-pages="yes" drawer-with-page="yes"> +<Page page-color="128 128 128" page-drawer="Main" page-infullview="yes" page-name="Main" page-width="4480"> +<PageBlocks> +<Block genus-name="delay" id="447"> +<Location> +<X>142</X> +<Y>436</Y> +</Location> +<BeforeBlockId>444</BeforeBlockId> +<Sockets num-sockets="1"> +<BlockConnector con-block-id="448" connector-kind="socket" connector-type="number" init-type="number" label="Millisekunden" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="number" id="448"> +<Label>1000</Label> +<Location> +<X>384</X> +<Y>439</Y> +</Location> +<Plug> +<BlockConnector con-block-id="447" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="serial_print" id="451"> +<Location> +<X>142</X> +<Y>320</Y> +</Location> +<BeforeBlockId>443</BeforeBlockId> +<AfterBlockId>444</AfterBlockId> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="454" connector-kind="socket" connector-type="string" init-type="string" label="String" position-type="single"/> +<BlockConnector con-block-id="453" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="true" id="453"> +<Location> +<X>316</X> +<Y>351</Y> +</Location> +<Plug> +<BlockConnector con-block-id="451" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="glue_number" id="454"> +<Location> +<X>316</X> +<Y>323</Y> +</Location> +<Plug> +<BlockConnector con-block-id="451" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="452" connector-kind="socket" connector-type="string" init-type="string" label="" position-type="bottom"/> +<BlockConnector con-block-id="455" connector-kind="socket" connector-type="number" init-type="number" label="" position-type="bottom"/> +</Sockets> +</Block> +<Block genus-name="variable_number" id="455"> +<Label>zaehlWert</Label> +<Location> +<X>552</X> +<Y>326</Y> +</Location> +<Plug> +<BlockConnector con-block-id="454" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="452"> +<Label>Aktueller Wert:</Label> +<Location> +<X>326</X> +<Y>326</Y> +</Location> +<Plug> +<BlockConnector con-block-id="454" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="setter_variable_number" id="444"> +<Location> +<X>142</X> +<Y>378</Y> +</Location> +<BeforeBlockId>451</BeforeBlockId> +<AfterBlockId>447</AfterBlockId> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="445" connector-kind="socket" connector-type="number" init-type="number" label="Variable" position-type="single"/> +<BlockConnector con-block-id="450" connector-kind="socket" connector-type="number" init-type="number" label="Wert" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="addition" id="450"> +<Location> +<X>374</X> +<Y>405</Y> +</Location> +<Plug> +<BlockConnector con-block-id="444" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="449" connector-kind="socket" connector-type="number" init-type="number" label="" position-type="bottom"/> +<BlockConnector con-block-id="446" connector-kind="socket" connector-type="number" init-type="number" label="" position-type="bottom"/> +</Sockets> +</Block> +<Block genus-name="number" id="446"> +<Location> +<X>519</X> +<Y>408</Y> +</Location> +<Plug> +<BlockConnector con-block-id="450" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="variable_number" id="449"> +<Label>zaehlWert</Label> +<Location> +<X>384</X> +<Y>408</Y> +</Location> +<Plug> +<BlockConnector con-block-id="450" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="variable_number" id="445"> +<Label>zaehlWert</Label> +<Location> +<X>374</X> +<Y>381</Y> +</Location> +<Plug> +<BlockConnector con-block-id="444" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="setter_variable_number" id="440"> +<Location> +<X>143</X> +<Y>255</Y> +</Location> +<BeforeBlockId>443</BeforeBlockId> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="441" connector-kind="socket" connector-type="number" init-type="number" label="Variable" position-type="single"/> +<BlockConnector con-block-id="442" connector-kind="socket" connector-type="number" init-type="number" label="Wert" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="number" id="442"> +<Label>0</Label> +<Location> +<X>375</X> +<Y>282</Y> +</Location> +<Plug> +<BlockConnector con-block-id="440" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="variable_number" id="441"> +<Label>zaehlWert</Label> +<Location> +<X>375</X> +<Y>258</Y> +</Location> +<Plug> +<BlockConnector con-block-id="440" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="sketch" id="443"> +<Location> +<X>31</X> +<Y>212</Y> +</Location> +<Sockets num-sockets="3"> +<BlockConnector connector-kind="socket" connector-type="cmd" init-type="cmd" label="" position-type="single"/> +<BlockConnector con-block-id="440" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Setup" position-type="single"/> +<BlockConnector con-block-id="451" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Loop" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="program_comment" id="82"> +<Location> +<X>20</X> +<Y>20</Y> +</Location> +<Sockets num-sockets="7"> +<BlockConnector con-block-id="83" connector-kind="socket" connector-type="string" init-type="string" label="Dateiname" position-type="single"/> +<BlockConnector con-block-id="84" connector-kind="socket" connector-type="string" init-type="string" label="Autor" position-type="single"/> +<BlockConnector con-block-id="85" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> +<BlockConnector connector-kind="socket" connector-type="string" init-type="string" label="" position-type="single"/> +<BlockConnector connector-kind="socket" connector-type="string" init-type="string" label="" position-type="single"/> +<BlockConnector con-block-id="86" connector-kind="socket" connector-type="string" init-type="string" label="Datum" position-type="single"/> +<BlockConnector con-block-id="87" connector-kind="socket" connector-type="number" init-type="number" label="Version" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="number" id="87"> +<Label>0.1</Label> +<Location> +<X>206</X> +<Y>167</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="86"> +<Label>01.01.2021</Label> +<Location> +<X>206</X> +<Y>143</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="85"> +<Label>Übungsaufgabe zur Fortbildung</Label> +<Location> +<X>206</X> +<Y>71</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="84"> +<Label>letsgoING</Label> +<Location> +<X>206</X> +<Y>47</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="83"> +<Label>Übung 5</Label> +<Location> +<X>206</X> +<Y>23</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +</PageBlocks> +</Page> +</Pages> +</cb:CODEBLOCKS> diff --git a/src/main/resources/com/ardublock/examples/DigitalReadSerial.abp b/src/main/resources/com/ardublock/examples/DigitalReadSerial.abp new file mode 100644 index 0000000..972e70f --- /dev/null +++ b/src/main/resources/com/ardublock/examples/DigitalReadSerial.abp @@ -0,0 +1,179 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<cb:CODEBLOCKS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://education.mit.edu/openblocks/ns http://education.mit.edu/openblocks/codeblocks.xsd" xmlns:cb="http://education.mit.edu/openblocks/ns"> +<Pages collapsible-pages="yes" drawer-with-page="yes"> +<Page page-color="128 128 128" page-drawer="Main" page-infullview="yes" page-name="Main" page-width="4480"> +<PageBlocks> +<Block genus-name="string" id="250"> +<Label>Ausgabe auf SerialMonitor mit Zeilenumbruch</Label> +<Location> +<X>206</X> +<Y>95</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="delay" id="171"> +<Location> +<X>231</X> +<Y>316</Y> +</Location> +<BeforeBlockId>165</BeforeBlockId> +<Sockets num-sockets="1"> +<BlockConnector con-block-id="172" connector-kind="socket" connector-type="number" init-type="number" label="Millisekunden" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="number" id="172"> +<Label>10</Label> +<Location> +<X>473</X> +<Y>319</Y> +</Location> +<Plug> +<BlockConnector con-block-id="171" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="serial_print" id="165"> +<Location> +<X>231</X> +<Y>258</Y> +</Location> +<BeforeBlockId>80</BeforeBlockId> +<AfterBlockId>171</AfterBlockId> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="168" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> +<BlockConnector con-block-id="167" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="true" id="167"> +<Location> +<X>417</X> +<Y>289</Y> +</Location> +<Plug> +<BlockConnector con-block-id="165" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="glue_digital" id="168"> +<Location> +<X>417</X> +<Y>261</Y> +</Location> +<Plug> +<BlockConnector con-block-id="165" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="166" connector-kind="socket" connector-type="string" init-type="string" label="" position-type="bottom"/> +<BlockConnector con-block-id="169" connector-kind="socket" connector-type="boolean" init-type="boolean" label="" position-type="bottom"/> +</Sockets> +</Block> +<Block genus-name="pin-read-digital" id="169"> +<Location> +<X>645</X> +<Y>264</Y> +</Location> +<Plug> +<BlockConnector con-block-id="168" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="single"/> +</Plug> +<Sockets num-sockets="1"> +<BlockConnector con-block-id="170" connector-kind="socket" connector-type="number" init-type="number" label="Pin" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="number" id="170"> +<Label>2</Label> +<Location> +<X>777</X> +<Y>264</Y> +</Location> +<Plug> +<BlockConnector con-block-id="169" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="166"> +<Label>Zustand Taster</Label> +<Location> +<X>427</X> +<Y>264</Y> +</Location> +<Plug> +<BlockConnector con-block-id="168" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="program_comment" id="82"> +<Location> +<X>20</X> +<Y>20</Y> +</Location> +<Sockets num-sockets="7"> +<BlockConnector con-block-id="83" connector-kind="socket" connector-type="string" init-type="string" label="Dateiname" position-type="single"/> +<BlockConnector con-block-id="84" connector-kind="socket" connector-type="string" init-type="string" label="Autor" position-type="single"/> +<BlockConnector con-block-id="85" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> +<BlockConnector con-block-id="250" connector-kind="socket" connector-type="string" init-type="string" label="" position-type="single"/> +<BlockConnector connector-kind="socket" connector-type="string" init-type="string" label="" position-type="single"/> +<BlockConnector con-block-id="86" connector-kind="socket" connector-type="string" init-type="string" label="Datum" position-type="single"/> +<BlockConnector con-block-id="87" connector-kind="socket" connector-type="number" init-type="number" label="Version" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="number" id="87"> +<Label>0.1</Label> +<Location> +<X>206</X> +<Y>167</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="86"> +<Label>01.01.2022</Label> +<Location> +<X>206</X> +<Y>143</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="85"> +<Label>Einlesen digitaler Eingang</Label> +<Location> +<X>206</X> +<Y>71</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="84"> +<Label>letsgoING</Label> +<Location> +<X>206</X> +<Y>47</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="83"> +<Label>DigitalReadSerial</Label> +<Location> +<X>206</X> +<Y>23</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="loop" id="80"> +<Location> +<X>20</X> +<Y>250</Y> +</Location> +<Sockets num-sockets="1"> +<BlockConnector con-block-id="165" connector-kind="socket" connector-type="cmd" init-type="cmd" label="mache" position-type="single"/> +</Sockets> +</Block> +</PageBlocks> +</Page> +</Pages> +</cb:CODEBLOCKS> diff --git a/src/main/resources/com/ardublock/examples/DigitalVariableToggle.abp b/src/main/resources/com/ardublock/examples/DigitalVariableToggle.abp new file mode 100644 index 0000000..efbb8ec --- /dev/null +++ b/src/main/resources/com/ardublock/examples/DigitalVariableToggle.abp @@ -0,0 +1,229 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<cb:CODEBLOCKS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://education.mit.edu/openblocks/ns http://education.mit.edu/openblocks/codeblocks.xsd" xmlns:cb="http://education.mit.edu/openblocks/ns"> +<Pages collapsible-pages="yes" drawer-with-page="yes"> +<Page page-color="128 128 128" page-drawer="Main" page-infullview="yes" page-name="Main" page-width="4480"> +<PageBlocks> +<Block genus-name="setter_variable_digital" id="534"> +<Location> +<X>142</X> +<Y>320</Y> +</Location> +<BeforeBlockId>443</BeforeBlockId> +<AfterBlockId>451</AfterBlockId> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="535" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Variable" position-type="single"/> +<BlockConnector con-block-id="537" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Wert" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="serial_print" id="451"> +<Location> +<X>142</X> +<Y>374</Y> +</Location> +<BeforeBlockId>534</BeforeBlockId> +<AfterBlockId>447</AfterBlockId> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="539" connector-kind="socket" connector-type="string" init-type="string" label="String" position-type="single"/> +<BlockConnector con-block-id="453" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="delay" id="447"> +<Location> +<X>142</X> +<Y>432</Y> +</Location> +<BeforeBlockId>451</BeforeBlockId> +<Sockets num-sockets="1"> +<BlockConnector con-block-id="448" connector-kind="socket" connector-type="number" init-type="number" label="Millisekunden" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="number" id="448"> +<Label>1000</Label> +<Location> +<X>384</X> +<Y>435</Y> +</Location> +<Plug> +<BlockConnector con-block-id="447" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="true" id="453"> +<Location> +<X>316</X> +<Y>405</Y> +</Location> +<Plug> +<BlockConnector con-block-id="451" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="glue_digital" id="539"> +<Location> +<X>316</X> +<Y>377</Y> +</Location> +<Plug> +<BlockConnector con-block-id="451" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="452" connector-kind="socket" connector-type="string" init-type="string" label="" position-type="bottom"/> +<BlockConnector con-block-id="540" connector-kind="socket" connector-type="boolean" init-type="boolean" label="" position-type="bottom"/> +</Sockets> +</Block> +<Block genus-name="variable_digital" id="540"> +<Location> +<X>552</X> +<Y>380</Y> +</Location> +<Plug> +<BlockConnector con-block-id="539" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="452"> +<Label>Aktueller Wert:</Label> +<Location> +<X>326</X> +<Y>380</Y> +</Location> +<Plug> +<BlockConnector con-block-id="539" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="not" id="537"> +<Location> +<X>382</X> +<Y>347</Y> +</Location> +<Plug> +<BlockConnector con-block-id="534" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="single"/> +</Plug> +<Sockets num-sockets="1"> +<BlockConnector con-block-id="538" connector-kind="socket" connector-type="boolean" init-type="boolean" label="" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="variable_digital" id="538"> +<Location> +<X>446</X> +<Y>347</Y> +</Location> +<Plug> +<BlockConnector con-block-id="537" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="variable_digital" id="535"> +<Location> +<X>382</X> +<Y>323</Y> +</Location> +<Plug> +<BlockConnector con-block-id="534" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="setter_variable_digital" id="531"> +<Location> +<X>143</X> +<Y>255</Y> +</Location> +<BeforeBlockId>443</BeforeBlockId> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="532" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Variable" position-type="single"/> +<BlockConnector con-block-id="533" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Wert" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="false" id="533"> +<Location> +<X>383</X> +<Y>282</Y> +</Location> +<Plug> +<BlockConnector con-block-id="531" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="variable_digital" id="532"> +<Location> +<X>383</X> +<Y>258</Y> +</Location> +<Plug> +<BlockConnector con-block-id="531" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="sketch" id="443"> +<Location> +<X>31</X> +<Y>212</Y> +</Location> +<Sockets num-sockets="3"> +<BlockConnector connector-kind="socket" connector-type="cmd" init-type="cmd" label="" position-type="single"/> +<BlockConnector con-block-id="531" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Setup" position-type="single"/> +<BlockConnector con-block-id="534" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Loop" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="program_comment" id="82"> +<Location> +<X>20</X> +<Y>20</Y> +</Location> +<Sockets num-sockets="7"> +<BlockConnector con-block-id="83" connector-kind="socket" connector-type="string" init-type="string" label="Dateiname" position-type="single"/> +<BlockConnector con-block-id="84" connector-kind="socket" connector-type="string" init-type="string" label="Autor" position-type="single"/> +<BlockConnector con-block-id="85" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> +<BlockConnector connector-kind="socket" connector-type="string" init-type="string" label="" position-type="single"/> +<BlockConnector connector-kind="socket" connector-type="string" init-type="string" label="" position-type="single"/> +<BlockConnector con-block-id="86" connector-kind="socket" connector-type="string" init-type="string" label="Datum" position-type="single"/> +<BlockConnector con-block-id="87" connector-kind="socket" connector-type="number" init-type="number" label="Version" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="number" id="87"> +<Label>0.1</Label> +<Location> +<X>206</X> +<Y>167</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="86"> +<Label>01.01.2021</Label> +<Location> +<X>206</X> +<Y>143</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="85"> +<Label>Übungsaufgabe zur Fortbildung</Label> +<Location> +<X>206</X> +<Y>71</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="84"> +<Label>letsgoING</Label> +<Location> +<X>206</X> +<Y>47</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="83"> +<Label>Übung 5</Label> +<Location> +<X>206</X> +<Y>23</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +</PageBlocks> +</Page> +</Pages> +</cb:CODEBLOCKS> diff --git a/src/main/resources/com/ardublock/examples/WhileButtonBlink.abp b/src/main/resources/com/ardublock/examples/WhileButtonBlink.abp new file mode 100644 index 0000000..079714d --- /dev/null +++ b/src/main/resources/com/ardublock/examples/WhileButtonBlink.abp @@ -0,0 +1,221 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<cb:CODEBLOCKS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://education.mit.edu/openblocks/ns http://education.mit.edu/openblocks/codeblocks.xsd" xmlns:cb="http://education.mit.edu/openblocks/ns"> +<Pages collapsible-pages="yes" drawer-with-page="yes"> +<Page page-color="128 128 128" page-drawer="Main" page-infullview="yes" page-name="Main" page-width="5760"> +<PageBlocks> +<Block genus-name="sketch" id="443"> +<Location> +<X>30</X> +<Y>233</Y> +</Location> +<Sockets num-sockets="3"> +<BlockConnector connector-kind="socket" connector-type="cmd" init-type="cmd" label="" position-type="single"/> +<BlockConnector connector-kind="socket" connector-type="cmd" init-type="cmd" label="Setup" position-type="single"/> +<BlockConnector con-block-id="456" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Loop" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="while" id="456"> +<Location> +<X>141</X> +<Y>311</Y> +</Location> +<BeforeBlockId>443</BeforeBlockId> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="457" connector-kind="socket" connector-type="boolean" init-type="boolean" label="teste" position-type="single"/> +<BlockConnector con-block-id="459" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Befehle" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="pin-write-digital" id="459"> +<Location> +<X>260</X> +<Y>343</Y> +</Location> +<BeforeBlockId>456</BeforeBlockId> +<AfterBlockId>465</AfterBlockId> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="460" connector-kind="socket" connector-type="number" init-type="number" label="Pin" position-type="single"/> +<BlockConnector con-block-id="461" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Wert" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="delay" id="465"> +<Location> +<X>260</X> +<Y>397</Y> +</Location> +<BeforeBlockId>459</BeforeBlockId> +<AfterBlockId>462</AfterBlockId> +<Sockets num-sockets="1"> +<BlockConnector con-block-id="466" connector-kind="socket" connector-type="number" init-type="number" label="Millisekunden" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="pin-write-digital" id="462"> +<Location> +<X>260</X> +<Y>427</Y> +</Location> +<BeforeBlockId>465</BeforeBlockId> +<AfterBlockId>467</AfterBlockId> +<Sockets num-sockets="2"> +<BlockConnector con-block-id="463" connector-kind="socket" connector-type="number" init-type="number" label="Pin" position-type="single"/> +<BlockConnector con-block-id="464" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Wert" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="delay" id="467"> +<Location> +<X>260</X> +<Y>481</Y> +</Location> +<BeforeBlockId>462</BeforeBlockId> +<Sockets num-sockets="1"> +<BlockConnector con-block-id="468" connector-kind="socket" connector-type="number" init-type="number" label="Millisekunden" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="number" id="468"> +<Label>500</Label> +<Location> +<X>502</X> +<Y>484</Y> +</Location> +<Plug> +<BlockConnector con-block-id="467" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="digital-low" id="464"> +<Location> +<X>398</X> +<Y>454</Y> +</Location> +<Plug> +<BlockConnector con-block-id="462" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="number" id="463"> +<Label>9</Label> +<Location> +<X>398</X> +<Y>430</Y> +</Location> +<Plug> +<BlockConnector con-block-id="462" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="number" id="466"> +<Label>500</Label> +<Location> +<X>502</X> +<Y>400</Y> +</Location> +<Plug> +<BlockConnector con-block-id="465" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="digital-high" id="461"> +<Location> +<X>398</X> +<Y>370</Y> +</Location> +<Plug> +<BlockConnector con-block-id="459" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="number" id="460"> +<Label>9</Label> +<Location> +<X>398</X> +<Y>346</Y> +</Location> +<Plug> +<BlockConnector con-block-id="459" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="pin-read-digital" id="457"> +<Location> +<X>263</X> +<Y>314</Y> +</Location> +<Plug> +<BlockConnector con-block-id="456" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="single"/> +</Plug> +<Sockets num-sockets="1"> +<BlockConnector con-block-id="458" connector-kind="socket" connector-type="number" init-type="number" label="Pin" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="number" id="458"> +<Label>2</Label> +<Location> +<X>395</X> +<Y>314</Y> +</Location> +<Plug> +<BlockConnector con-block-id="457" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="program_comment" id="82"> +<Location> +<X>19</X> +<Y>19</Y> +</Location> +<Sockets num-sockets="7"> +<BlockConnector con-block-id="83" connector-kind="socket" connector-type="string" init-type="string" label="Dateiname" position-type="single"/> +<BlockConnector con-block-id="84" connector-kind="socket" connector-type="string" init-type="string" label="Autor" position-type="single"/> +<BlockConnector con-block-id="85" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> +<BlockConnector connector-kind="socket" connector-type="string" init-type="string" label="" position-type="single"/> +<BlockConnector connector-kind="socket" connector-type="string" init-type="string" label="" position-type="single"/> +<BlockConnector con-block-id="86" connector-kind="socket" connector-type="string" init-type="string" label="Datum" position-type="single"/> +<BlockConnector con-block-id="87" connector-kind="socket" connector-type="number" init-type="number" label="Version" position-type="single"/> +</Sockets> +</Block> +<Block genus-name="number" id="87"> +<Label>0.1</Label> +<Location> +<X>205</X> +<Y>166</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="86"> +<Label>01.01.2021</Label> +<Location> +<X>205</X> +<Y>142</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="85"> +<Label>Übungsaufgabe zur Fortbildung</Label> +<Location> +<X>205</X> +<Y>70</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="84"> +<Label>letsgoING</Label> +<Location> +<X>205</X> +<Y>46</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +<Block genus-name="string" id="83"> +<Label>Übung 5</Label> +<Location> +<X>205</X> +<Y>22</Y> +</Location> +<Plug> +<BlockConnector con-block-id="82" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> +</Plug> +</Block> +</PageBlocks> +</Page> +</Pages> +</cb:CODEBLOCKS> -- GitLab