diff --git a/src/main/resources/com/ardublock/block/ardublock.properties b/src/main/resources/com/ardublock/block/ardublock.properties index 8cc822cfff1e9d13f1ceeb9b0ed25ce3cf558621..7525989ab2bc695b6581589c9af7e96247936127 100644 --- a/src/main/resources/com/ardublock/block/ardublock.properties +++ b/src/main/resources/com/ardublock/block/ardublock.properties @@ -163,6 +163,10 @@ ardublock.examples.buttonled=digitalRead LED ardublock.examples.digitalvariabletoggle=toggle digital Variable ardublock.examples.countervariable=counter ardublock.examples.whilebutton=digitalRead while +ardublock.examples.psnBroker=PubSubNet Broker +ardublock.examples.psnClient1=PubSubNet Client1 +ardublock.examples.psnClient2=PubSubNet Client2 +ardublock.examples.psnChat=PubSubNet Chat-Client ################## # 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 e1e69d3346294eea56a3f27b4ddbfc9ff964b058..227c4a453e7ecd75f5ab5c5c9dda536b4ae437a8 100644 --- a/src/main/resources/com/ardublock/block/ardublock_de.properties +++ b/src/main/resources/com/ardublock/block/ardublock_de.properties @@ -164,6 +164,11 @@ ardublock.examples.buttonled=digitalRead LED ardublock.examples.digitalvariabletoggle=toggle digitale Variable ardublock.examples.countervariable=Zaehler ardublock.examples.whilebutton=digitalRead solange +ardublock.examples.psnBroker=PubSubNet Broker +ardublock.examples.psnClient1=PubSubNet Client1 +ardublock.examples.psnClient2=PubSubNet Client2 +ardublock.examples.psnChat=PubSubNet Chat-Client + ################## # 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 821082c0f3ded2e13e1d3457ebd0a4ba3dbb8fe6..dd3c2171341511c8a4c5a9ce51b538de732da20b 100644 --- a/src/main/resources/com/ardublock/block/ardublock_en_GB.properties +++ b/src/main/resources/com/ardublock/block/ardublock_en_GB.properties @@ -165,6 +165,11 @@ ardublock.examples.buttonled=digitalRead LED ardublock.examples.digitalvariabletoggle=toggle bool Variable ardublock.examples.countervariable=Zaehler ardublock.examples.whilebutton=digitalRead while +ardublock.examples.psnBroker=PubSubNet Broker +ardublock.examples.psnClient1=PubSubNet Client1 +ardublock.examples.psnClient2=PubSubNet Client2 +ardublock.examples.psnChat=PubSubNet Chat-Client + ################## # BLOCK CONFIG # diff --git a/src/main/resources/com/ardublock/examples/Broker.abp b/src/main/resources/com/ardublock/examples/Broker.abp new file mode 100644 index 0000000000000000000000000000000000000000..e6cacffc8a81300fc302f7861dfcc6e963e35820 --- /dev/null +++ b/src/main/resources/com/ardublock/examples/Broker.abp @@ -0,0 +1,123 @@ +<?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="2560"> + <PageBlocks> + <Block genus-name="psn_handle_network" id="562"> + <Location> + <X>154</X> + <Y>360</Y> + </Location> + <BeforeBlockId>311</BeforeBlockId> + </Block> + <Block genus-name="psn_broker" id="559"> + <Location> + <X>156</X> + <Y>260</Y> + </Location> + <BeforeBlockId>311</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="560" connector-kind="socket" connector-type="number" init-type="number" label="Rx Pin" position-type="single"/> + <BlockConnector con-block-id="561" connector-kind="socket" connector-type="number" init-type="number" label="Tx Pin" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="561"> + <Label>11</Label> + <Location> + <X>336</X> + <Y>287</Y> + </Location> + <Plug> + <BlockConnector con-block-id="559" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="number" id="560"> + <Label>10</Label> + <Location> + <X>336</X> + <Y>263</Y> + </Location> + <Plug> + <BlockConnector con-block-id="559" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="sketch" id="311"> + <Location> + <X>41</X> + <Y>252</Y> + </Location> + <Sockets num-sockets="3"> + <BlockConnector con-block-id="559" 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="562" 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>1.0</Label> + <Location> + <X>208</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>06.07.22</Label> + <Location> + <X>208</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>Broker für PubSub Netzwerk</Label> + <Location> + <X>208</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>208</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>PubSub Broker</Label> + <Location> + <X>208</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/Chat.abp b/src/main/resources/com/ardublock/examples/Chat.abp new file mode 100644 index 0000000000000000000000000000000000000000..34085247fe752a29d7281716a54a6a8eaacce62c --- /dev/null +++ b/src/main/resources/com/ardublock/examples/Chat.abp @@ -0,0 +1,1484 @@ +<?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="2560"> + <PageBlocks> + <Block genus-name="strcpy_string" id="946"> + <Location> + <X>323</X> + <Y>704</Y> + </Location> + <BeforeBlockId>581</BeforeBlockId> + <AfterBlockId>692</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="947" connector-kind="socket" connector-type="string" init-type="string" label="Ziel" position-type="single"/> + <BlockConnector con-block-id="943" connector-kind="socket" connector-type="string" init-type="string" label="Quelle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="reference_string" id="943"> + <Location> + <X>531</X> + <Y>731</Y> + </Location> + <Plug> + <BlockConnector con-block-id="946" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="944" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="945" connector-kind="socket" connector-type="number" init-type="number" label="Offset" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="945"> + <Location> + <X>775</X> + <Y>755</Y> + </Location> + <Plug> + <BlockConnector con-block-id="943" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="944"> + <Label>serialMonitorData</Label> + <Location> + <X>775</X> + <Y>731</Y> + </Location> + <Plug> + <BlockConnector con-block-id="943" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="947"> + <Label>topicPub</Label> + <Location> + <X>531</X> + <Y>707</Y> + </Location> + <Plug> + <BlockConnector con-block-id="946" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="subroutine-ref" id="692"> + <Label>gebeNameAendernTextAus</Label> + <Location> + <X>323</X> + <Y>782</Y> + </Location> + <BeforeBlockId>946</BeforeBlockId> + </Block> + <Block genus-name="psn_callback" id="976"> + <Location> + <X>1149</X> + <Y>196</Y> + </Location> + <Sockets num-sockets="4"> + <BlockConnector con-block-id="977" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> + <BlockConnector con-block-id="978" connector-kind="socket" connector-type="string" init-type="string" label="Topic-Variable" position-type="single"/> + <BlockConnector con-block-id="979" connector-kind="socket" connector-type="string" init-type="string" label="Nutzdaten-Variable" position-type="single"/> + <BlockConnector con-block-id="339" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Befehle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="339"> + <Location> + <X>1356</X> + <Y>276</Y> + </Location> + <BeforeBlockId>976</BeforeBlockId> + <AfterBlockId>343</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="342" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="341" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="343"> + <Location> + <X>1356</X> + <Y>330</Y> + </Location> + <BeforeBlockId>339</BeforeBlockId> + <AfterBlockId>346</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="340" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="345" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="346"> + <Location> + <X>1356</X> + <Y>384</Y> + </Location> + <BeforeBlockId>343</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="349" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="348" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="true" id="348"> + <Location> + <X>1544</X> + <Y>411</Y> + </Location> + <Plug> + <BlockConnector con-block-id="346" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_string" id="349"> + <Label>loc_data</Label> + <Location> + <X>1544</X> + <Y>387</Y> + </Location> + <Plug> + <BlockConnector con-block-id="346" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="false" id="345"> + <Location> + <X>1544</X> + <Y>357</Y> + </Location> + <Plug> + <BlockConnector con-block-id="343" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="340"> + <Label>:</Label> + <Location> + <X>1544</X> + <Y>333</Y> + </Location> + <Plug> + <BlockConnector con-block-id="343" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="false" id="341"> + <Location> + <X>1544</X> + <Y>303</Y> + </Location> + <Plug> + <BlockConnector con-block-id="339" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_string" id="342"> + <Label>loc_topic</Label> + <Location> + <X>1544</X> + <Y>279</Y> + </Location> + <Plug> + <BlockConnector con-block-id="339" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_string" id="979"> + <Label>loc_data</Label> + <Location> + <X>1359</X> + <Y>247</Y> + </Location> + <Plug> + <BlockConnector con-block-id="976" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_string" id="978"> + <Label>loc_topic</Label> + <Location> + <X>1359</X> + <Y>223</Y> + </Location> + <Plug> + <BlockConnector con-block-id="976" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="977"> + <Label>Beschreibung Callback</Label> + <Location> + <X>1359</X> + <Y>199</Y> + </Location> + <Plug> + <BlockConnector con-block-id="976" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="subroutine-ref" id="975"> + <Label>gebeSubscribeTextAus</Label> + <Location> + <X>365</X> + <Y>1009</Y> + </Location> + <BeforeBlockId>971</BeforeBlockId> + </Block> + <Block genus-name="if" id="578"> + <Location> + <X>133</X> + <Y>584</Y> + </Location> + <BeforeBlockId>963</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="579" connector-kind="socket" connector-type="boolean" init-type="boolean" label="teste" position-type="single"/> + <BlockConnector con-block-id="959" connector-kind="socket" connector-type="cmd" init-type="cmd" label="dann" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="code_comment" id="959"> + <Label>//EIGENEN NAMEN AENDERN</Label> + <Location> + <X>228</X> + <Y>620</Y> + </Location> + <BeforeBlockId>578</BeforeBlockId> + <AfterBlockId>581</AfterBlockId> + </Block> + <Block genus-name="if" id="581"> + <Location> + <X>228</X> + <Y>644</Y> + </Location> + <BeforeBlockId>959</BeforeBlockId> + <AfterBlockId>960</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="588" connector-kind="socket" connector-type="boolean" init-type="boolean" label="teste" position-type="single"/> + <BlockConnector con-block-id="946" connector-kind="socket" connector-type="cmd" init-type="cmd" label="dann" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="code_comment" id="960"> + <Label>//NEUEM NAMEN FOLGEN</Label> + <Location> + <X>228</X> + <Y>817</Y> + </Location> + <BeforeBlockId>581</BeforeBlockId> + <AfterBlockId>582</AfterBlockId> + </Block> + <Block genus-name="elseif" id="582"> + <Location> + <X>228</X> + <Y>841</Y> + </Location> + <BeforeBlockId>960</BeforeBlockId> + <AfterBlockId>961</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="590" connector-kind="socket" connector-type="boolean" init-type="boolean" label="teste" position-type="single"/> + <BlockConnector con-block-id="949" connector-kind="socket" connector-type="cmd" init-type="cmd" label="dann" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="code_comment" id="961"> + <Label>//NAMEN ENTFOLGEN</Label> + <Location> + <X>228</X> + <Y>1044</Y> + </Location> + <BeforeBlockId>582</BeforeBlockId> + <AfterBlockId>597</AfterBlockId> + </Block> + <Block genus-name="elseif" id="597"> + <Location> + <X>228</X> + <Y>1068</Y> + </Location> + <BeforeBlockId>961</BeforeBlockId> + <AfterBlockId>962</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="598" connector-kind="socket" connector-type="boolean" init-type="boolean" label="teste" position-type="single"/> + <BlockConnector con-block-id="954" connector-kind="socket" connector-type="cmd" init-type="cmd" label="dann" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="code_comment" id="962"> + <Label>//NACHRICHT SENDEN UND AUSGEBEN</Label> + <Location> + <X>228</X> + <Y>1271</Y> + </Location> + <BeforeBlockId>597</BeforeBlockId> + <AfterBlockId>587</AfterBlockId> + </Block> + <Block genus-name="else" id="587"> + <Location> + <X>228</X> + <Y>1295</Y> + </Location> + <BeforeBlockId>962</BeforeBlockId> + <Sockets num-sockets="1"> + <BlockConnector connector-kind="socket" connector-type="cmd" init-type="cmd" label="dann" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="strcpy_string" id="954"> + <Location> + <X>365</X> + <Y>1128</Y> + </Location> + <BeforeBlockId>597</BeforeBlockId> + <AfterBlockId>969</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="955" connector-kind="socket" connector-type="string" init-type="string" label="Ziel" position-type="single"/> + <BlockConnector con-block-id="956" connector-kind="socket" connector-type="string" init-type="string" label="Quelle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="psn_unsubscribe" id="969"> + <Label>pubSubNet unsubscribe</Label> + <Location> + <X>365</X> + <Y>1206</Y> + </Location> + <BeforeBlockId>954</BeforeBlockId> + <AfterBlockId>680</AfterBlockId> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="614" connector-kind="socket" connector-type="string" init-type="string" label="Topic" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="subroutine-ref" id="680"> + <Label>gebeUnsubscribeTextAus</Label> + <Location> + <X>365</X> + <Y>1236</Y> + </Location> + <BeforeBlockId>969</BeforeBlockId> + </Block> + <Block genus-name="variable_string" id="614"> + <Label>serialMonitorData</Label> + <Location> + <X>575</X> + <Y>1209</Y> + </Location> + <Plug> + <BlockConnector con-block-id="969" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="reference_string" id="956"> + <Location> + <X>573</X> + <Y>1155</Y> + </Location> + <Plug> + <BlockConnector con-block-id="954" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="957" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="958" connector-kind="socket" connector-type="number" init-type="number" label="Offset" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="958"> + <Location> + <X>817</X> + <Y>1179</Y> + </Location> + <Plug> + <BlockConnector con-block-id="956" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="957"> + <Label>serialMonitorData</Label> + <Location> + <X>817</X> + <Y>1155</Y> + </Location> + <Plug> + <BlockConnector con-block-id="956" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="955"> + <Label>serialMonitorData</Label> + <Location> + <X>573</X> + <Y>1131</Y> + </Location> + <Plug> + <BlockConnector con-block-id="954" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="equal_poly" id="598"> + <Location> + <X>368</X> + <Y>1071</Y> + </Location> + <Plug> + <BlockConnector con-block-id="597" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="599" connector-kind="socket" connector-type="string-list" init-type="string-list" label="" position-type="bottom"/> + <BlockConnector con-block-id="602" connector-kind="socket" connector-type="string-list" init-type="string-list" label="" position-type="bottom"/> + </Sockets> + </Block> + <Block genus-name="char" id="602"> + <Label>!</Label> + <Location> + <X>777</X> + <Y>1098</Y> + </Location> + <Plug> + <BlockConnector con-block-id="598" connector-kind="plug" connector-type="string-list" init-type="string-list" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="read_char_array" id="599"> + <Location> + <X>378</X> + <Y>1074</Y> + </Location> + <Plug> + <BlockConnector con-block-id="598" connector-kind="plug" connector-type="string-list" init-type="string-list" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="600" connector-kind="socket" connector-type="string" init-type="string" label="Tabellen-Name" position-type="single"/> + <BlockConnector con-block-id="601" connector-kind="socket" connector-type="number" init-type="number" label="Stelle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="601"> + <Label>0</Label> + <Location> + <X>578</X> + <Y>1098</Y> + </Location> + <Plug> + <BlockConnector con-block-id="599" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="600"> + <Label>serialMonitorData</Label> + <Location> + <X>578</X> + <Y>1074</Y> + </Location> + <Plug> + <BlockConnector con-block-id="599" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="strcpy_string" id="949"> + <Location> + <X>365</X> + <Y>901</Y> + </Location> + <BeforeBlockId>582</BeforeBlockId> + <AfterBlockId>971</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="950" connector-kind="socket" connector-type="string" init-type="string" label="Ziel" position-type="single"/> + <BlockConnector con-block-id="951" connector-kind="socket" connector-type="string" init-type="string" label="Quelle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="psn_subscribe" id="971"> + <Label>pubSubNet susbcribe</Label> + <Location> + <X>365</X> + <Y>979</Y> + </Location> + <BeforeBlockId>949</BeforeBlockId> + <AfterBlockId>975</AfterBlockId> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="615" connector-kind="socket" connector-type="string" init-type="string" label="Topic" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="variable_string" id="615"> + <Label>serialMonitorData</Label> + <Location> + <X>561</X> + <Y>982</Y> + </Location> + <Plug> + <BlockConnector con-block-id="971" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="reference_string" id="951"> + <Location> + <X>573</X> + <Y>928</Y> + </Location> + <Plug> + <BlockConnector con-block-id="949" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="952" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="953" connector-kind="socket" connector-type="number" init-type="number" label="Offset" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="953"> + <Location> + <X>817</X> + <Y>952</Y> + </Location> + <Plug> + <BlockConnector con-block-id="951" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="952"> + <Label>serialMonitorData</Label> + <Location> + <X>817</X> + <Y>928</Y> + </Location> + <Plug> + <BlockConnector con-block-id="951" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="950"> + <Label>serialMonitorData</Label> + <Location> + <X>573</X> + <Y>904</Y> + </Location> + <Plug> + <BlockConnector con-block-id="949" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="equal_poly" id="590"> + <Location> + <X>368</X> + <Y>844</Y> + </Location> + <Plug> + <BlockConnector con-block-id="582" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="591" connector-kind="socket" connector-type="string-list" init-type="string-list" label="" position-type="bottom"/> + <BlockConnector con-block-id="594" connector-kind="socket" connector-type="string-list" init-type="string-list" label="" position-type="bottom"/> + </Sockets> + </Block> + <Block genus-name="char" id="594"> + <Label>@</Label> + <Location> + <X>777</X> + <Y>871</Y> + </Location> + <Plug> + <BlockConnector con-block-id="590" connector-kind="plug" connector-type="string-list" init-type="string-list" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="read_char_array" id="591"> + <Location> + <X>378</X> + <Y>847</Y> + </Location> + <Plug> + <BlockConnector con-block-id="590" connector-kind="plug" connector-type="string-list" init-type="string-list" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="592" connector-kind="socket" connector-type="string" init-type="string" label="Tabellen-Name" position-type="single"/> + <BlockConnector con-block-id="593" connector-kind="socket" connector-type="number" init-type="number" label="Stelle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="593"> + <Label>0</Label> + <Location> + <X>578</X> + <Y>871</Y> + </Location> + <Plug> + <BlockConnector con-block-id="591" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="592"> + <Label>serialMonitorData</Label> + <Location> + <X>578</X> + <Y>847</Y> + </Location> + <Plug> + <BlockConnector con-block-id="591" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="equal_poly" id="588"> + <Location> + <X>326</X> + <Y>647</Y> + </Location> + <Plug> + <BlockConnector con-block-id="581" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="584" connector-kind="socket" connector-type="string-list" init-type="string-list" label="" position-type="bottom"/> + <BlockConnector con-block-id="589" connector-kind="socket" connector-type="string-list" init-type="string-list" label="" position-type="bottom"/> + </Sockets> + </Block> + <Block genus-name="char" id="589"> + <Label>#</Label> + <Location> + <X>735</X> + <Y>674</Y> + </Location> + <Plug> + <BlockConnector con-block-id="588" connector-kind="plug" connector-type="string-list" init-type="string-list" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="read_char_array" id="584"> + <Location> + <X>336</X> + <Y>650</Y> + </Location> + <Plug> + <BlockConnector con-block-id="588" connector-kind="plug" connector-type="string-list" init-type="string-list" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="585" connector-kind="socket" connector-type="string" init-type="string" label="Tabellen-Name" position-type="single"/> + <BlockConnector con-block-id="586" connector-kind="socket" connector-type="number" init-type="number" label="Stelle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="586"> + <Label>0</Label> + <Location> + <X>536</X> + <Y>674</Y> + </Location> + <Plug> + <BlockConnector con-block-id="584" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="585"> + <Label>serialMonitorData</Label> + <Location> + <X>536</X> + <Y>650</Y> + </Location> + <Plug> + <BlockConnector con-block-id="584" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="greater" id="579"> + <Location> + <X>231</X> + <Y>587</Y> + </Location> + <Plug> + <BlockConnector con-block-id="578" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="573" connector-kind="socket" connector-type="number" init-type="number" label="" position-type="bottom"/> + <BlockConnector con-block-id="580" connector-kind="socket" connector-type="number" init-type="number" label="" position-type="bottom"/> + </Sockets> + </Block> + <Block genus-name="number" id="580"> + <Label>0</Label> + <Location> + <X>727</X> + <Y>590</Y> + </Location> + <Plug> + <BlockConnector con-block-id="579" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="read_serial_monitor" id="573"> + <Location> + <X>241</X> + <Y>590</Y> + </Location> + <Plug> + <BlockConnector con-block-id="579" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="574" connector-kind="socket" connector-type="string" init-type="string" label="lese-Zeichenkette" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="variable_string" id="574"> + <Label>serialMonitorData</Label> + <Location> + <X>535</X> + <Y>590</Y> + </Location> + <Plug> + <BlockConnector con-block-id="573" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="psn_handle_network" id="968"> + <Location> + <X>133</X> + <Y>536</Y> + </Location> + <BeforeBlockId>311</BeforeBlockId> + <AfterBlockId>963</AfterBlockId> + </Block> + <Block genus-name="code_comment" id="963"> + <Label>// WENN NUTZERDATEN AM SERIAL MONITOR EINGEGEBEN -> # neuer Name | @ subscribe | ! unsubscribe | Nachricht senden</Label> + <Location> + <X>133</X> + <Y>560</Y> + </Location> + <BeforeBlockId>968</BeforeBlockId> + <AfterBlockId>578</AfterBlockId> + </Block> + <Block genus-name="psn_publish" id="973"> + <Location> + <X>493</X> + <Y>1336</Y> + </Location> + <AfterBlockId>621</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="606" connector-kind="socket" connector-type="string" init-type="string" label="Topic" position-type="single"/> + <BlockConnector con-block-id="617" connector-kind="socket" connector-type="string" init-type="string" label="Nutzdaten" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="621"> + <Location> + <X>493</X> + <Y>1390</Y> + </Location> + <BeforeBlockId>973</BeforeBlockId> + <AfterBlockId>624</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="622" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="623" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="624"> + <Location> + <X>493</X> + <Y>1444</Y> + </Location> + <BeforeBlockId>621</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="627" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="626" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="true" id="626"> + <Location> + <X>681</X> + <Y>1471</Y> + </Location> + <Plug> + <BlockConnector con-block-id="624" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="627"> + <Label>serialMonitorData</Label> + <Location> + <X>681</X> + <Y>1447</Y> + </Location> + <Plug> + <BlockConnector con-block-id="624" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="false" id="623"> + <Location> + <X>681</X> + <Y>1417</Y> + </Location> + <Plug> + <BlockConnector con-block-id="621" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="622"> + <Label>Ich:</Label> + <Location> + <X>681</X> + <Y>1393</Y> + </Location> + <Plug> + <BlockConnector con-block-id="621" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="617"> + <Label>serialMonitorData</Label> + <Location> + <X>699</X> + <Y>1363</Y> + </Location> + <Plug> + <BlockConnector con-block-id="973" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="606"> + <Label>topicPub</Label> + <Location> + <X>699</X> + <Y>1339</Y> + </Location> + <Plug> + <BlockConnector con-block-id="973" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="psn_client" id="964"> + <Location> + <X>135</X> + <Y>222</Y> + </Location> + <BeforeBlockId>311</BeforeBlockId> + <AfterBlockId>575</AfterBlockId> + <Sockets num-sockets="3"> + <BlockConnector con-block-id="965" connector-kind="socket" connector-type="number" init-type="number" label="Rx Pin" position-type="single"/> + <BlockConnector con-block-id="966" connector-kind="socket" connector-type="number" init-type="number" label="Tx Pin" position-type="single"/> + <BlockConnector con-block-id="967" connector-kind="socket" connector-type="string" init-type="string" label="Uebergabefunktion" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="create_char_array" id="575"> + <Location> + <X>135</X> + <Y>300</Y> + </Location> + <BeforeBlockId>964</BeforeBlockId> + <AfterBlockId>603</AfterBlockId> + <Sockets num-sockets="3"> + <BlockConnector con-block-id="576" connector-kind="socket" connector-type="string" init-type="string" label="Tabellen-Name" position-type="single"/> + <BlockConnector con-block-id="577" connector-kind="socket" connector-type="number" init-type="number" label="Anzahl Zeichen" position-type="single"/> + <BlockConnector connector-kind="socket" connector-type="string" init-type="string" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="create_char_array" id="603"> + <Location> + <X>135</X> + <Y>378</Y> + </Location> + <BeforeBlockId>575</BeforeBlockId> + <Sockets num-sockets="3"> + <BlockConnector con-block-id="604" connector-kind="socket" connector-type="string" init-type="string" label="Tabellen-Name" position-type="single"/> + <BlockConnector con-block-id="605" connector-kind="socket" connector-type="number" init-type="number" label="Anzahl Zeichen" position-type="single"/> + <BlockConnector connector-kind="socket" connector-type="string" init-type="string" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="605"> + <Label>20</Label> + <Location> + <X>399</X> + <Y>405</Y> + </Location> + <Plug> + <BlockConnector con-block-id="603" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="604"> + <Label>topicPub</Label> + <Location> + <X>399</X> + <Y>381</Y> + </Location> + <Plug> + <BlockConnector con-block-id="603" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="number" id="577"> + <Label>30</Label> + <Location> + <X>399</X> + <Y>327</Y> + </Location> + <Plug> + <BlockConnector con-block-id="575" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="576"> + <Label>serialMonitorData</Label> + <Location> + <X>399</X> + <Y>303</Y> + </Location> + <Plug> + <BlockConnector con-block-id="575" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="967"> + <Label>psnNewData</Label> + <Location> + <X>381</X> + <Y>273</Y> + </Location> + <Plug> + <BlockConnector con-block-id="964" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="number" id="966"> + <Label>11</Label> + <Location> + <X>381</X> + <Y>249</Y> + </Location> + <Plug> + <BlockConnector con-block-id="964" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="number" id="965"> + <Label>10</Label> + <Location> + <X>381</X> + <Y>225</Y> + </Location> + <Plug> + <BlockConnector con-block-id="964" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="subroutine_com" id="665"> + <Label>gebeUnsubscribeTextAus</Label> + <Location> + <X>1146</X> + <Y>1214</Y> + </Location> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="666" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> + <BlockConnector con-block-id="656" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Befehle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="656"> + <Location> + <X>1401</X> + <Y>1246</Y> + </Location> + <BeforeBlockId>665</BeforeBlockId> + <AfterBlockId>659</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="657" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="658" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="659"> + <Location> + <X>1401</X> + <Y>1300</Y> + </Location> + <BeforeBlockId>656</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="667" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="661" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="true" id="661"> + <Location> + <X>1589</X> + <Y>1327</Y> + </Location> + <Plug> + <BlockConnector con-block-id="659" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="667"> + <Label>serialMonitorData</Label> + <Location> + <X>1589</X> + <Y>1303</Y> + </Location> + <Plug> + <BlockConnector con-block-id="659" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="false" id="658"> + <Location> + <X>1589</X> + <Y>1273</Y> + </Location> + <Plug> + <BlockConnector con-block-id="656" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="657"> + <Label>Nachrichten nicht mehr abonniert von</Label> + <Location> + <X>1589</X> + <Y>1249</Y> + </Location> + <Plug> + <BlockConnector con-block-id="656" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="666"> + <Label>Text wenn "unsubscribe"</Label> + <Location> + <X>1404</X> + <Y>1217</Y> + </Location> + <Plug> + <BlockConnector con-block-id="665" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="subroutine_com" id="668"> + <Label>gebeSubscribeTextAus</Label> + <Location> + <X>1144</X> + <Y>1059</Y> + </Location> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="669" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> + <BlockConnector con-block-id="670" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Befehle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="670"> + <Location> + <X>1385</X> + <Y>1091</Y> + </Location> + <BeforeBlockId>668</BeforeBlockId> + <AfterBlockId>673</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="671" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="672" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="673"> + <Location> + <X>1385</X> + <Y>1145</Y> + </Location> + <BeforeBlockId>670</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="674" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="675" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="true" id="675"> + <Location> + <X>1573</X> + <Y>1172</Y> + </Location> + <Plug> + <BlockConnector con-block-id="673" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="674"> + <Label>serialMonitorData</Label> + <Location> + <X>1573</X> + <Y>1148</Y> + </Location> + <Plug> + <BlockConnector con-block-id="673" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="false" id="672"> + <Location> + <X>1573</X> + <Y>1118</Y> + </Location> + <Plug> + <BlockConnector con-block-id="670" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="671"> + <Label>Nachrichten abonniert von</Label> + <Location> + <X>1573</X> + <Y>1094</Y> + </Location> + <Plug> + <BlockConnector con-block-id="670" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="669"> + <Label>Text wenn "subscribe"</Label> + <Location> + <X>1388</X> + <Y>1062</Y> + </Location> + <Plug> + <BlockConnector con-block-id="668" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="subroutine_com" id="681"> + <Label>gebeNameAendernTextAus</Label> + <Location> + <X>1143</X> + <Y>903</Y> + </Location> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="682" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> + <BlockConnector con-block-id="683" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Befehle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="683"> + <Location> + <X>1398</X> + <Y>935</Y> + </Location> + <BeforeBlockId>681</BeforeBlockId> + <AfterBlockId>686</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="684" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="685" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="686"> + <Location> + <X>1398</X> + <Y>989</Y> + </Location> + <BeforeBlockId>683</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="687" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="688" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="true" id="688"> + <Location> + <X>1586</X> + <Y>1016</Y> + </Location> + <Plug> + <BlockConnector con-block-id="686" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="687"> + <Label>topicPub</Label> + <Location> + <X>1586</X> + <Y>992</Y> + </Location> + <Plug> + <BlockConnector con-block-id="686" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="false" id="685"> + <Location> + <X>1586</X> + <Y>962</Y> + </Location> + <Plug> + <BlockConnector con-block-id="683" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="684"> + <Label>Dein Name:</Label> + <Location> + <X>1586</X> + <Y>938</Y> + </Location> + <Plug> + <BlockConnector con-block-id="683" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="682"> + <Label>Text wenn "unsubscribe"</Label> + <Location> + <X>1401</X> + <Y>906</Y> + </Location> + <Plug> + <BlockConnector con-block-id="681" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="subroutine_com" id="628"> + <Label>gebeInfoTextAus</Label> + <Location> + <X>1141</X> + <Y>474</Y> + </Location> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="629" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> + <BlockConnector con-block-id="631" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Befehle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="631"> + <Location> + <X>1348</X> + <Y>506</Y> + </Location> + <BeforeBlockId>628</BeforeBlockId> + <AfterBlockId>635</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="634" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="633" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="635"> + <Location> + <X>1348</X> + <Y>560</Y> + </Location> + <BeforeBlockId>631</BeforeBlockId> + <AfterBlockId>638</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="636" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="637" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="638"> + <Location> + <X>1348</X> + <Y>614</Y> + </Location> + <BeforeBlockId>635</BeforeBlockId> + <AfterBlockId>641</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="639" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="640" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="641"> + <Location> + <X>1348</X> + <Y>668</Y> + </Location> + <BeforeBlockId>638</BeforeBlockId> + <AfterBlockId>647</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="642" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="643" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="647"> + <Location> + <X>1348</X> + <Y>722</Y> + </Location> + <BeforeBlockId>641</BeforeBlockId> + <AfterBlockId>650</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="648" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="649" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="650"> + <Location> + <X>1348</X> + <Y>776</Y> + </Location> + <BeforeBlockId>647</BeforeBlockId> + <AfterBlockId>653</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="651" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="652" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="653"> + <Location> + <X>1348</X> + <Y>830</Y> + </Location> + <BeforeBlockId>650</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="654" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="655" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="true" id="655"> + <Location> + <X>1536</X> + <Y>857</Y> + </Location> + <Plug> + <BlockConnector con-block-id="653" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="654"> + <Label>*********************************************************************\n</Label> + <Location> + <X>1536</X> + <Y>833</Y> + </Location> + <Plug> + <BlockConnector con-block-id="653" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="true" id="652"> + <Location> + <X>1536</X> + <Y>803</Y> + </Location> + <Plug> + <BlockConnector con-block-id="650" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="651"> + <Label>Stelle das Zeilenende im SerialMonitor auf \"Zeilenumbruch (CR)\"</Label> + <Location> + <X>1536</X> + <Y>779</Y> + </Location> + <Plug> + <BlockConnector con-block-id="650" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="true" id="649"> + <Location> + <X>1536</X> + <Y>749</Y> + </Location> + <Plug> + <BlockConnector con-block-id="647" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="648"> + <Label>HINWEIS:</Label> + <Location> + <X>1536</X> + <Y>725</Y> + </Location> + <Plug> + <BlockConnector con-block-id="647" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="true" id="643"> + <Location> + <X>1536</X> + <Y>695</Y> + </Location> + <Plug> + <BlockConnector con-block-id="641" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="642"> + <Label>Pro Nachricht duerfen maximal 20 Zeichen eingegeben werden!\n</Label> + <Location> + <X>1536</X> + <Y>671</Y> + </Location> + <Plug> + <BlockConnector con-block-id="641" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="true" id="640"> + <Location> + <X>1536</X> + <Y>641</Y> + </Location> + <Plug> + <BlockConnector con-block-id="638" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="639"> + <Label>Anschließend kannst du mit ihnen schreiben.</Label> + <Location> + <X>1536</X> + <Y>617</Y> + </Location> + <Plug> + <BlockConnector con-block-id="638" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="true" id="637"> + <Location> + <X>1536</X> + <Y>587</Y> + </Location> + <Plug> + <BlockConnector con-block-id="635" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="636"> + <Label>Gebe dann die Namen deiner Chatpartner mit einem @ ein. -> @ChatPartner</Label> + <Location> + <X>1536</X> + <Y>563</Y> + </Location> + <Plug> + <BlockConnector con-block-id="635" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="true" id="633"> + <Location> + <X>1536</X> + <Y>533</Y> + </Location> + <Plug> + <BlockConnector con-block-id="631" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="634"> + <Label>Bitte den eigenen Namen mit einem # eingeben\nund mit Enter bestaetigen. -> #DeinName</Label> + <Location> + <X>1536</X> + <Y>509</Y> + </Location> + <Plug> + <BlockConnector con-block-id="631" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="629"> + <Label>Ausgabe Infotext bei Programmstart</Label> + <Location> + <X>1351</X> + <Y>477</Y> + </Location> + <Plug> + <BlockConnector con-block-id="628" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="subroutine-ref" id="630"> + <Label>gebeInfoTextAus</Label> + <Location> + <X>134</X> + <Y>500</Y> + </Location> + <BeforeBlockId>337</BeforeBlockId> + </Block> + <Block genus-name="serial_begin" id="337"> + <Location> + <X>134</X> + <Y>470</Y> + </Location> + <BeforeBlockId>311</BeforeBlockId> + <AfterBlockId>630</AfterBlockId> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="338" connector-kind="socket" connector-type="number" init-type="number" label="Baud" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="338"> + <Label>2400</Label> + <Location> + <X>274</X> + <Y>473</Y> + </Location> + <Plug> + <BlockConnector con-block-id="337" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="sketch" id="311"> + <Location> + <X>20</X> + <Y>214</Y> + </Location> + <Sockets num-sockets="3"> + <BlockConnector con-block-id="964" connector-kind="socket" connector-type="cmd" init-type="cmd" label="" position-type="single"/> + <BlockConnector con-block-id="337" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Setup" position-type="single"/> + <BlockConnector con-block-id="968" 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>208</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>06.07.22</Label> + <Location> + <X>208</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>Chat über PubSub-Netzwerk</Label> + <Location> + <X>208</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>208</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>PubSub Chat</Label> + <Location> + <X>208</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/ChatOld.abp b/src/main/resources/com/ardublock/examples/ChatOld.abp new file mode 100644 index 0000000000000000000000000000000000000000..5669fc34a94850014ee2b48d1a766194d8c95682 --- /dev/null +++ b/src/main/resources/com/ardublock/examples/ChatOld.abp @@ -0,0 +1,1360 @@ +<?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="2560"> + <PageBlocks> + <Block genus-name="strcpy_string" id="946"> + <Location> + <X>550</X> + <Y>405</Y> + </Location> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="947" connector-kind="socket" connector-type="string" init-type="string" label="Ziel" position-type="single"/> + <BlockConnector con-block-id="943" connector-kind="socket" connector-type="string" init-type="string" label="Quelle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="reference_string" id="943"> + <Location> + <X>758</X> + <Y>432</Y> + </Location> + <Plug> + <BlockConnector con-block-id="946" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="944" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="945" connector-kind="socket" connector-type="number" init-type="number" label="Offset" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="945"> + <Location> + <X>1002</X> + <Y>456</Y> + </Location> + <Plug> + <BlockConnector con-block-id="943" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="944"> + <Label>serialMonitorData</Label> + <Location> + <X>1002</X> + <Y>432</Y> + </Location> + <Plug> + <BlockConnector con-block-id="943" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="947"> + <Label>serialMonitorData</Label> + <Location> + <X>758</X> + <Y>408</Y> + </Location> + <Plug> + <BlockConnector con-block-id="946" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="subroutine_com" id="665"> + <Label>gebeUnsubscribeTextAus</Label> + <Location> + <X>1146</X> + <Y>1214</Y> + </Location> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="666" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> + <BlockConnector con-block-id="656" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Befehle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="656"> + <Location> + <X>1401</X> + <Y>1246</Y> + </Location> + <BeforeBlockId>665</BeforeBlockId> + <AfterBlockId>659</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="657" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="658" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="659"> + <Location> + <X>1401</X> + <Y>1300</Y> + </Location> + <BeforeBlockId>656</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="667" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="661" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="true" id="661"> + <Location> + <X>1589</X> + <Y>1327</Y> + </Location> + <Plug> + <BlockConnector con-block-id="659" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="667"> + <Label>serialMonitorData</Label> + <Location> + <X>1589</X> + <Y>1303</Y> + </Location> + <Plug> + <BlockConnector con-block-id="659" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="false" id="658"> + <Location> + <X>1589</X> + <Y>1273</Y> + </Location> + <Plug> + <BlockConnector con-block-id="656" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="657"> + <Label>Nachrichten nicht mehr abonniert von</Label> + <Location> + <X>1589</X> + <Y>1249</Y> + </Location> + <Plug> + <BlockConnector con-block-id="656" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="666"> + <Label>Text wenn "unsubscribe"</Label> + <Location> + <X>1404</X> + <Y>1217</Y> + </Location> + <Plug> + <BlockConnector con-block-id="665" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="subroutine_com" id="668"> + <Label>gebeSubscribeTextAus</Label> + <Location> + <X>1144</X> + <Y>1059</Y> + </Location> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="669" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> + <BlockConnector con-block-id="670" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Befehle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="670"> + <Location> + <X>1385</X> + <Y>1091</Y> + </Location> + <BeforeBlockId>668</BeforeBlockId> + <AfterBlockId>673</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="671" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="672" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="673"> + <Location> + <X>1385</X> + <Y>1145</Y> + </Location> + <BeforeBlockId>670</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="674" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="675" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="true" id="675"> + <Location> + <X>1573</X> + <Y>1172</Y> + </Location> + <Plug> + <BlockConnector con-block-id="673" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="674"> + <Label>serialMonitorData</Label> + <Location> + <X>1573</X> + <Y>1148</Y> + </Location> + <Plug> + <BlockConnector con-block-id="673" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="false" id="672"> + <Location> + <X>1573</X> + <Y>1118</Y> + </Location> + <Plug> + <BlockConnector con-block-id="670" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="671"> + <Label>Nachrichten abonniert von</Label> + <Location> + <X>1573</X> + <Y>1094</Y> + </Location> + <Plug> + <BlockConnector con-block-id="670" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="669"> + <Label>Text wenn "subscribe"</Label> + <Location> + <X>1388</X> + <Y>1062</Y> + </Location> + <Plug> + <BlockConnector con-block-id="668" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="subroutine_com" id="681"> + <Label>gebeNameAendernTextAus</Label> + <Location> + <X>1143</X> + <Y>903</Y> + </Location> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="682" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> + <BlockConnector con-block-id="683" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Befehle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="683"> + <Location> + <X>1398</X> + <Y>935</Y> + </Location> + <BeforeBlockId>681</BeforeBlockId> + <AfterBlockId>686</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="684" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="685" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="686"> + <Location> + <X>1398</X> + <Y>989</Y> + </Location> + <BeforeBlockId>683</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="687" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="688" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="true" id="688"> + <Location> + <X>1586</X> + <Y>1016</Y> + </Location> + <Plug> + <BlockConnector con-block-id="686" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="687"> + <Label>topicPub</Label> + <Location> + <X>1586</X> + <Y>992</Y> + </Location> + <Plug> + <BlockConnector con-block-id="686" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="false" id="685"> + <Location> + <X>1586</X> + <Y>962</Y> + </Location> + <Plug> + <BlockConnector con-block-id="683" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="684"> + <Label>Dein Name:</Label> + <Location> + <X>1586</X> + <Y>938</Y> + </Location> + <Plug> + <BlockConnector con-block-id="683" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="682"> + <Label>Text wenn "unsubscribe"</Label> + <Location> + <X>1401</X> + <Y>906</Y> + </Location> + <Plug> + <BlockConnector con-block-id="681" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="subroutine_com" id="628"> + <Label>gebeInfoTextAus</Label> + <Location> + <X>1141</X> + <Y>474</Y> + </Location> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="629" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> + <BlockConnector con-block-id="631" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Befehle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="631"> + <Location> + <X>1348</X> + <Y>506</Y> + </Location> + <BeforeBlockId>628</BeforeBlockId> + <AfterBlockId>635</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="634" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="633" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="635"> + <Location> + <X>1348</X> + <Y>560</Y> + </Location> + <BeforeBlockId>631</BeforeBlockId> + <AfterBlockId>638</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="636" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="637" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="638"> + <Location> + <X>1348</X> + <Y>614</Y> + </Location> + <BeforeBlockId>635</BeforeBlockId> + <AfterBlockId>641</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="639" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="640" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="641"> + <Location> + <X>1348</X> + <Y>668</Y> + </Location> + <BeforeBlockId>638</BeforeBlockId> + <AfterBlockId>647</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="642" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="643" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="647"> + <Location> + <X>1348</X> + <Y>722</Y> + </Location> + <BeforeBlockId>641</BeforeBlockId> + <AfterBlockId>650</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="648" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="649" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="650"> + <Location> + <X>1348</X> + <Y>776</Y> + </Location> + <BeforeBlockId>647</BeforeBlockId> + <AfterBlockId>653</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="651" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="652" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="653"> + <Location> + <X>1348</X> + <Y>830</Y> + </Location> + <BeforeBlockId>650</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="654" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="655" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="true" id="655"> + <Location> + <X>1536</X> + <Y>857</Y> + </Location> + <Plug> + <BlockConnector con-block-id="653" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="654"> + <Label>*********************************************************************\n</Label> + <Location> + <X>1536</X> + <Y>833</Y> + </Location> + <Plug> + <BlockConnector con-block-id="653" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="true" id="652"> + <Location> + <X>1536</X> + <Y>803</Y> + </Location> + <Plug> + <BlockConnector con-block-id="650" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="651"> + <Label>Stelle das Zeilenende im SerialMonitor auf \"Zeilenumbruch (CR)\"</Label> + <Location> + <X>1536</X> + <Y>779</Y> + </Location> + <Plug> + <BlockConnector con-block-id="650" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="true" id="649"> + <Location> + <X>1536</X> + <Y>749</Y> + </Location> + <Plug> + <BlockConnector con-block-id="647" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="648"> + <Label>HINWEIS:</Label> + <Location> + <X>1536</X> + <Y>725</Y> + </Location> + <Plug> + <BlockConnector con-block-id="647" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="true" id="643"> + <Location> + <X>1536</X> + <Y>695</Y> + </Location> + <Plug> + <BlockConnector con-block-id="641" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="642"> + <Label>Pro Nachricht duerfen maximal 20 Zeichen eingegeben werden!\n</Label> + <Location> + <X>1536</X> + <Y>671</Y> + </Location> + <Plug> + <BlockConnector con-block-id="641" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="true" id="640"> + <Location> + <X>1536</X> + <Y>641</Y> + </Location> + <Plug> + <BlockConnector con-block-id="638" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="639"> + <Label>Anschließend kannst du mit ihnen schreiben.</Label> + <Location> + <X>1536</X> + <Y>617</Y> + </Location> + <Plug> + <BlockConnector con-block-id="638" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="true" id="637"> + <Location> + <X>1536</X> + <Y>587</Y> + </Location> + <Plug> + <BlockConnector con-block-id="635" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="636"> + <Label>Gebe dann die Namen deiner Chatpartner mit einem @ ein. -> @ChatPartner</Label> + <Location> + <X>1536</X> + <Y>563</Y> + </Location> + <Plug> + <BlockConnector con-block-id="635" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="true" id="633"> + <Location> + <X>1536</X> + <Y>533</Y> + </Location> + <Plug> + <BlockConnector con-block-id="631" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="634"> + <Label>Bitte den eigenen Namen mit einem # eingeben\nund mit Enter bestaetigen. -> #DeinName</Label> + <Location> + <X>1536</X> + <Y>509</Y> + </Location> + <Plug> + <BlockConnector con-block-id="631" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="629"> + <Label>Ausgabe Infotext bei Programmstart</Label> + <Location> + <X>1351</X> + <Y>477</Y> + </Location> + <Plug> + <BlockConnector con-block-id="628" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="psn_callback" id="936"> + <Location> + <X>1140</X> + <Y>208</Y> + </Location> + <Sockets num-sockets="4"> + <BlockConnector con-block-id="937" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> + <BlockConnector con-block-id="938" connector-kind="socket" connector-type="string" init-type="string" label="Topic-Variable" position-type="single"/> + <BlockConnector con-block-id="939" connector-kind="socket" connector-type="string" init-type="string" label="Nutzdaten-Variable" position-type="single"/> + <BlockConnector con-block-id="339" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Befehle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="339"> + <Location> + <X>1347</X> + <Y>288</Y> + </Location> + <BeforeBlockId>936</BeforeBlockId> + <AfterBlockId>343</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="342" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="341" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="343"> + <Location> + <X>1347</X> + <Y>342</Y> + </Location> + <BeforeBlockId>339</BeforeBlockId> + <AfterBlockId>346</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="340" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="345" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="346"> + <Location> + <X>1347</X> + <Y>396</Y> + </Location> + <BeforeBlockId>343</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="349" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="348" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="true" id="348"> + <Location> + <X>1535</X> + <Y>423</Y> + </Location> + <Plug> + <BlockConnector con-block-id="346" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_string" id="349"> + <Label>loc_data</Label> + <Location> + <X>1535</X> + <Y>399</Y> + </Location> + <Plug> + <BlockConnector con-block-id="346" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="false" id="345"> + <Location> + <X>1535</X> + <Y>369</Y> + </Location> + <Plug> + <BlockConnector con-block-id="343" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="340"> + <Label>:</Label> + <Location> + <X>1535</X> + <Y>345</Y> + </Location> + <Plug> + <BlockConnector con-block-id="343" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="false" id="341"> + <Location> + <X>1535</X> + <Y>315</Y> + </Location> + <Plug> + <BlockConnector con-block-id="339" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_string" id="342"> + <Label>loc_topic</Label> + <Location> + <X>1535</X> + <Y>291</Y> + </Location> + <Plug> + <BlockConnector con-block-id="339" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_string" id="939"> + <Label>loc_data</Label> + <Location> + <X>1350</X> + <Y>259</Y> + </Location> + <Plug> + <BlockConnector con-block-id="936" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_string" id="938"> + <Label>loc_topic</Label> + <Location> + <X>1350</X> + <Y>235</Y> + </Location> + <Plug> + <BlockConnector con-block-id="936" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="937"> + <Label>Beschreibung Callback</Label> + <Location> + <X>1350</X> + <Y>211</Y> + </Location> + <Plug> + <BlockConnector con-block-id="936" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="code_loop" id="613"> + <Label>strcpy(serialMonitorData, &serialMonitorData[1]);</Label> + <Location> + <X>365</X> + <Y>924</Y> + </Location> + <BeforeBlockId>597</BeforeBlockId> + <AfterBlockId>609</AfterBlockId> + </Block> + <Block genus-name="psn_unsubscribe" id="609"> + <Label>psnChat unsubscribe</Label> + <Location> + <X>365</X> + <Y>948</Y> + </Location> + <BeforeBlockId>613</BeforeBlockId> + <AfterBlockId>680</AfterBlockId> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="614" connector-kind="socket" connector-type="string" init-type="string" label="Topic" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="subroutine-ref" id="680"> + <Label>gebeUnsubscribeTextAus</Label> + <Location> + <X>365</X> + <Y>978</Y> + </Location> + <BeforeBlockId>609</BeforeBlockId> + </Block> + <Block genus-name="variable_string" id="614"> + <Label>serialMonitorData</Label> + <Location> + <X>561</X> + <Y>951</Y> + </Location> + <Plug> + <BlockConnector con-block-id="609" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="subroutine-ref" id="692"> + <Label>gebeNameAendernTextAus</Label> + <Location> + <X>323</X> + <Y>680</Y> + </Location> + <BeforeBlockId>611</BeforeBlockId> + </Block> + <Block genus-name="subroutine-ref" id="679"> + <Label>gebeSubscribeTextAus</Label> + <Location> + <X>365</X> + <Y>829</Y> + </Location> + <BeforeBlockId>607</BeforeBlockId> + </Block> + <Block genus-name="subroutine-ref" id="630"> + <Label>gebeInfoTextAus</Label> + <Location> + <X>134</X> + <Y>500</Y> + </Location> + <BeforeBlockId>337</BeforeBlockId> + </Block> + <Block genus-name="variable_string" id="627"> + <Label>serialMonitorData</Label> + <Location> + <X>505</X> + <Y>1132</Y> + </Location> + <Plug> + <BlockConnector con-block-id="624" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="serial_print" id="621"> + <Location> + <X>317</X> + <Y>1075</Y> + </Location> + <BeforeBlockId>595</BeforeBlockId> + <AfterBlockId>624</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="622" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="623" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="624"> + <Location> + <X>317</X> + <Y>1129</Y> + </Location> + <BeforeBlockId>621</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="627" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="626" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="true" id="626"> + <Location> + <X>505</X> + <Y>1156</Y> + </Location> + <Plug> + <BlockConnector con-block-id="624" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="false" id="623"> + <Location> + <X>505</X> + <Y>1102</Y> + </Location> + <Plug> + <BlockConnector con-block-id="621" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="622"> + <Label>Ich:</Label> + <Location> + <X>505</X> + <Y>1078</Y> + </Location> + <Plug> + <BlockConnector con-block-id="621" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="617"> + <Label>serialMonitorData</Label> + <Location> + <X>509</X> + <Y>1048</Y> + </Location> + <Plug> + <BlockConnector con-block-id="595" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="615"> + <Label>serialMonitorData</Label> + <Location> + <X>547</X> + <Y>802</Y> + </Location> + <Plug> + <BlockConnector con-block-id="607" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="code_loop" id="612"> + <Label>strcpy(serialMonitorData, &serialMonitorData[1]);</Label> + <Location> + <X>365</X> + <Y>775</Y> + </Location> + <BeforeBlockId>582</BeforeBlockId> + <AfterBlockId>607</AfterBlockId> + </Block> + <Block genus-name="code_loop" id="611"> + <Label>strcpy(topicPub, &serialMonitorData[1]);</Label> + <Location> + <X>323</X> + <Y>656</Y> + </Location> + <BeforeBlockId>581</BeforeBlockId> + <AfterBlockId>692</AfterBlockId> + </Block> + <Block genus-name="psn_subscribe" id="607"> + <Label>psnChat susbcribe</Label> + <Location> + <X>365</X> + <Y>799</Y> + </Location> + <BeforeBlockId>612</BeforeBlockId> + <AfterBlockId>679</AfterBlockId> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="615" connector-kind="socket" connector-type="string" init-type="string" label="Topic" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="if" id="578"> + <Location> + <X>133</X> + <Y>560</Y> + </Location> + <BeforeBlockId>336</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="579" connector-kind="socket" connector-type="boolean" init-type="boolean" label="teste" position-type="single"/> + <BlockConnector con-block-id="581" connector-kind="socket" connector-type="cmd" init-type="cmd" label="dann" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="if" id="581"> + <Location> + <X>228</X> + <Y>596</Y> + </Location> + <BeforeBlockId>578</BeforeBlockId> + <AfterBlockId>582</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="588" connector-kind="socket" connector-type="boolean" init-type="boolean" label="teste" position-type="single"/> + <BlockConnector con-block-id="611" connector-kind="socket" connector-type="cmd" init-type="cmd" label="dann" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="elseif" id="582"> + <Location> + <X>228</X> + <Y>715</Y> + </Location> + <BeforeBlockId>581</BeforeBlockId> + <AfterBlockId>597</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="590" connector-kind="socket" connector-type="boolean" init-type="boolean" label="teste" position-type="single"/> + <BlockConnector con-block-id="612" connector-kind="socket" connector-type="cmd" init-type="cmd" label="dann" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="elseif" id="597"> + <Location> + <X>228</X> + <Y>864</Y> + </Location> + <BeforeBlockId>582</BeforeBlockId> + <AfterBlockId>587</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="598" connector-kind="socket" connector-type="boolean" init-type="boolean" label="teste" position-type="single"/> + <BlockConnector con-block-id="613" connector-kind="socket" connector-type="cmd" init-type="cmd" label="dann" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="else" id="587"> + <Location> + <X>228</X> + <Y>1013</Y> + </Location> + <BeforeBlockId>597</BeforeBlockId> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="595" connector-kind="socket" connector-type="cmd" init-type="cmd" label="dann" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="psn_publish" id="595"> + <Label>psnChat publish</Label> + <Location> + <X>317</X> + <Y>1021</Y> + </Location> + <BeforeBlockId>587</BeforeBlockId> + <AfterBlockId>621</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="606" connector-kind="socket" connector-type="string" init-type="string" label="Topic" position-type="single"/> + <BlockConnector con-block-id="617" connector-kind="socket" connector-type="string" init-type="string" label="Nutzdaten" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="variable_string" id="606"> + <Label>topicPub</Label> + <Location> + <X>509</X> + <Y>1024</Y> + </Location> + <Plug> + <BlockConnector con-block-id="595" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="equal_poly" id="598"> + <Location> + <X>368</X> + <Y>867</Y> + </Location> + <Plug> + <BlockConnector con-block-id="597" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="599" connector-kind="socket" connector-type="string-list" init-type="string-list" label="" position-type="bottom"/> + <BlockConnector con-block-id="602" connector-kind="socket" connector-type="string-list" init-type="string-list" label="" position-type="bottom"/> + </Sockets> + </Block> + <Block genus-name="char" id="602"> + <Label>!</Label> + <Location> + <X>777</X> + <Y>894</Y> + </Location> + <Plug> + <BlockConnector con-block-id="598" connector-kind="plug" connector-type="string-list" init-type="string-list" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="read_char_array" id="599"> + <Location> + <X>378</X> + <Y>870</Y> + </Location> + <Plug> + <BlockConnector con-block-id="598" connector-kind="plug" connector-type="string-list" init-type="string-list" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="600" connector-kind="socket" connector-type="string" init-type="string" label="Tabellen-Name" position-type="single"/> + <BlockConnector con-block-id="601" connector-kind="socket" connector-type="number" init-type="number" label="Stelle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="601"> + <Label>0</Label> + <Location> + <X>578</X> + <Y>894</Y> + </Location> + <Plug> + <BlockConnector con-block-id="599" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="600"> + <Label>serialMonitorData</Label> + <Location> + <X>578</X> + <Y>870</Y> + </Location> + <Plug> + <BlockConnector con-block-id="599" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="equal_poly" id="590"> + <Location> + <X>368</X> + <Y>718</Y> + </Location> + <Plug> + <BlockConnector con-block-id="582" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="591" connector-kind="socket" connector-type="string-list" init-type="string-list" label="" position-type="bottom"/> + <BlockConnector con-block-id="594" connector-kind="socket" connector-type="string-list" init-type="string-list" label="" position-type="bottom"/> + </Sockets> + </Block> + <Block genus-name="char" id="594"> + <Label>@</Label> + <Location> + <X>777</X> + <Y>745</Y> + </Location> + <Plug> + <BlockConnector con-block-id="590" connector-kind="plug" connector-type="string-list" init-type="string-list" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="read_char_array" id="591"> + <Location> + <X>378</X> + <Y>721</Y> + </Location> + <Plug> + <BlockConnector con-block-id="590" connector-kind="plug" connector-type="string-list" init-type="string-list" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="592" connector-kind="socket" connector-type="string" init-type="string" label="Tabellen-Name" position-type="single"/> + <BlockConnector con-block-id="593" connector-kind="socket" connector-type="number" init-type="number" label="Stelle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="593"> + <Label>0</Label> + <Location> + <X>578</X> + <Y>745</Y> + </Location> + <Plug> + <BlockConnector con-block-id="591" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="592"> + <Label>serialMonitorData</Label> + <Location> + <X>578</X> + <Y>721</Y> + </Location> + <Plug> + <BlockConnector con-block-id="591" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="equal_poly" id="588"> + <Location> + <X>326</X> + <Y>599</Y> + </Location> + <Plug> + <BlockConnector con-block-id="581" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="584" connector-kind="socket" connector-type="string-list" init-type="string-list" label="" position-type="bottom"/> + <BlockConnector con-block-id="589" connector-kind="socket" connector-type="string-list" init-type="string-list" label="" position-type="bottom"/> + </Sockets> + </Block> + <Block genus-name="char" id="589"> + <Label>#</Label> + <Location> + <X>735</X> + <Y>626</Y> + </Location> + <Plug> + <BlockConnector con-block-id="588" connector-kind="plug" connector-type="string-list" init-type="string-list" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="read_char_array" id="584"> + <Location> + <X>336</X> + <Y>602</Y> + </Location> + <Plug> + <BlockConnector con-block-id="588" connector-kind="plug" connector-type="string-list" init-type="string-list" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="585" connector-kind="socket" connector-type="string" init-type="string" label="Tabellen-Name" position-type="single"/> + <BlockConnector con-block-id="586" connector-kind="socket" connector-type="number" init-type="number" label="Stelle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="586"> + <Label>0</Label> + <Location> + <X>536</X> + <Y>626</Y> + </Location> + <Plug> + <BlockConnector con-block-id="584" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="585"> + <Label>serialMonitorData</Label> + <Location> + <X>536</X> + <Y>602</Y> + </Location> + <Plug> + <BlockConnector con-block-id="584" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="greater" id="579"> + <Location> + <X>231</X> + <Y>563</Y> + </Location> + <Plug> + <BlockConnector con-block-id="578" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="573" connector-kind="socket" connector-type="number" init-type="number" label="" position-type="bottom"/> + <BlockConnector con-block-id="580" connector-kind="socket" connector-type="number" init-type="number" label="" position-type="bottom"/> + </Sockets> + </Block> + <Block genus-name="number" id="580"> + <Label>0</Label> + <Location> + <X>727</X> + <Y>566</Y> + </Location> + <Plug> + <BlockConnector con-block-id="579" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="read_serial_monitor" id="573"> + <Location> + <X>241</X> + <Y>566</Y> + </Location> + <Plug> + <BlockConnector con-block-id="579" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="574" connector-kind="socket" connector-type="string" init-type="string" label="lese-Zeichenkette" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="variable_string" id="574"> + <Label>serialMonitorData</Label> + <Location> + <X>535</X> + <Y>566</Y> + </Location> + <Plug> + <BlockConnector con-block-id="573" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="create_char_array" id="603"> + <Location> + <X>135</X> + <Y>378</Y> + </Location> + <BeforeBlockId>575</BeforeBlockId> + <Sockets num-sockets="3"> + <BlockConnector con-block-id="604" connector-kind="socket" connector-type="string" init-type="string" label="Tabellen-Name" position-type="single"/> + <BlockConnector con-block-id="605" connector-kind="socket" connector-type="number" init-type="number" label="Anzahl Zeichen" position-type="single"/> + <BlockConnector connector-kind="socket" connector-type="string" init-type="string" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="605"> + <Label>20</Label> + <Location> + <X>399</X> + <Y>405</Y> + </Location> + <Plug> + <BlockConnector con-block-id="603" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="604"> + <Label>topicPub</Label> + <Location> + <X>399</X> + <Y>381</Y> + </Location> + <Plug> + <BlockConnector con-block-id="603" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="create_char_array" id="575"> + <Location> + <X>135</X> + <Y>300</Y> + </Location> + <BeforeBlockId>312</BeforeBlockId> + <AfterBlockId>603</AfterBlockId> + <Sockets num-sockets="3"> + <BlockConnector con-block-id="576" connector-kind="socket" connector-type="string" init-type="string" label="Tabellen-Name" position-type="single"/> + <BlockConnector con-block-id="577" connector-kind="socket" connector-type="number" init-type="number" label="Anzahl Zeichen" position-type="single"/> + <BlockConnector connector-kind="socket" connector-type="string" init-type="string" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="577"> + <Label>30</Label> + <Location> + <X>399</X> + <Y>327</Y> + </Location> + <Plug> + <BlockConnector con-block-id="575" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_string" id="576"> + <Label>serialMonitorData</Label> + <Location> + <X>399</X> + <Y>303</Y> + </Location> + <Plug> + <BlockConnector con-block-id="575" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="serial_begin" id="337"> + <Location> + <X>134</X> + <Y>470</Y> + </Location> + <BeforeBlockId>311</BeforeBlockId> + <AfterBlockId>630</AfterBlockId> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="338" connector-kind="socket" connector-type="number" init-type="number" label="Baud" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="338"> + <Label>2400</Label> + <Location> + <X>274</X> + <Y>473</Y> + </Location> + <Plug> + <BlockConnector con-block-id="337" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="psn_handle_network" id="336"> + <Label>psnChat handleNetwork</Label> + <Location> + <X>133</X> + <Y>536</Y> + </Location> + <BeforeBlockId>311</BeforeBlockId> + <AfterBlockId>578</AfterBlockId> + </Block> + <Block genus-name="psn_client" id="312"> + <Label>Client psnChat</Label> + <Location> + <X>135</X> + <Y>222</Y> + </Location> + <BeforeBlockId>311</BeforeBlockId> + <AfterBlockId>575</AfterBlockId> + <Sockets num-sockets="3"> + <BlockConnector con-block-id="313" connector-kind="socket" connector-type="number" init-type="number" label="Rx Pin" position-type="single"/> + <BlockConnector con-block-id="314" connector-kind="socket" connector-type="number" init-type="number" label="Tx Pin" position-type="single"/> + <BlockConnector con-block-id="315" connector-kind="socket" connector-type="string" init-type="string" label="Uebergabefunktion" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="string" id="315"> + <Label>psnNewData</Label> + <Location> + <X>367</X> + <Y>273</Y> + </Location> + <Plug> + <BlockConnector con-block-id="312" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="number" id="314"> + <Label>11</Label> + <Location> + <X>367</X> + <Y>249</Y> + </Location> + <Plug> + <BlockConnector con-block-id="312" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="number" id="313"> + <Label>10</Label> + <Location> + <X>367</X> + <Y>225</Y> + </Location> + <Plug> + <BlockConnector con-block-id="312" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="sketch" id="311"> + <Location> + <X>20</X> + <Y>214</Y> + </Location> + <Sockets num-sockets="3"> + <BlockConnector con-block-id="312" connector-kind="socket" connector-type="cmd" init-type="cmd" label="" position-type="single"/> + <BlockConnector con-block-id="337" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Setup" position-type="single"/> + <BlockConnector con-block-id="336" 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>208</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>25.11.21</Label> + <Location> + <X>208</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>Chat über PubSub-Netzwerk</Label> + <Location> + <X>208</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>208</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>PubSub Chat</Label> + <Location> + <X>208</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/Client1.abp b/src/main/resources/com/ardublock/examples/Client1.abp new file mode 100644 index 0000000000000000000000000000000000000000..44ddfdd7b0bf3491027b9a973df2b7f3d6d1282a --- /dev/null +++ b/src/main/resources/com/ardublock/examples/Client1.abp @@ -0,0 +1,719 @@ +<?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="psn_client" id="1628"> + <Location> + <X>134</X> + <Y>436</Y> + </Location> + <BeforeBlockId>1105</BeforeBlockId> + <Sockets num-sockets="3"> + <BlockConnector con-block-id="1629" connector-kind="socket" connector-type="number" init-type="number" label="Rx Pin" position-type="single"/> + <BlockConnector con-block-id="1630" connector-kind="socket" connector-type="number" init-type="number" label="Tx Pin" position-type="single"/> + <BlockConnector con-block-id="1631" connector-kind="socket" connector-type="string" init-type="string" label="Uebergabefunktion" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="string" id="1631"> + <Label>psnNewData</Label> + <Location> + <X>380</X> + <Y>487</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1628" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="number" id="1630"> + <Label>11</Label> + <Location> + <X>380</X> + <Y>463</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1628" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="number" id="1629"> + <Label>10</Label> + <Location> + <X>380</X> + <Y>439</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1628" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="psn_subscribe" id="1620"> + <Label>pubSubNet susbcribe</Label> + <Location> + <X>133</X> + <Y>556</Y> + </Location> + <Comment> + <Text>Abboniert Daten zum Topic "C2_btn"</Text> + <Location> + <X>437</X> + <Y>543</Y> + </Location> + <BoxSize> + <Width>280</Width> + <Height>45</Height> + </BoxSize> + </Comment> + <BeforeBlockId>337</BeforeBlockId> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="323" connector-kind="socket" connector-type="string" init-type="string" label="Topic" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="string" id="323"> + <Label>C2_btn</Label> + <Location> + <X>343</X> + <Y>559</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1620" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="psn_publish_onchange" id="1622"> + <Location> + <X>132</X> + <Y>675</Y> + </Location> + <Comment> + <Text>Veröffentlicht Daten unter Topic "C1_poti" wenn Wertänderung > THRESHOLD</Text> + <Location> + <X>142</X> + <Y>759</Y> + </Location> + <BoxSize> + <Width>374</Width> + <Height>52</Height> + </BoxSize> + </Comment> + <BeforeBlockId>329</BeforeBlockId> + <Sockets num-sockets="3"> + <BlockConnector con-block-id="327" connector-kind="socket" connector-type="string" init-type="string" label="Topic" position-type="single"/> + <BlockConnector con-block-id="334" connector-kind="socket" connector-type="number" init-type="number" label="Nutzdaten" position-type="single"/> + <BlockConnector con-block-id="1120" connector-kind="socket" connector-type="number" init-type="number" label="Schwellwert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="constant_number" id="1120"> + <Label>THRESHOLD</Label> + <Location> + <X>420</X> + <Y>726</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1622" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_number" id="334"> + <Label>potiWert</Label> + <Location> + <X>420</X> + <Y>702</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1622" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="327"> + <Label>C1_poti</Label> + <Location> + <X>420</X> + <Y>678</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1622" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="setter_variable_number" id="329"> + <Location> + <X>132</X> + <Y>621</Y> + </Location> + <BeforeBlockId>1619</BeforeBlockId> + <AfterBlockId>1622</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="330" connector-kind="socket" connector-type="number" init-type="number" label="Variable" position-type="single"/> + <BlockConnector con-block-id="332" connector-kind="socket" connector-type="number" init-type="number" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="pin-read-analog" id="332"> + <Location> + <X>366</X> + <Y>648</Y> + </Location> + <Plug> + <BlockConnector con-block-id="329" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="1128" connector-kind="socket" connector-type="number" init-type="number" label="Pin A" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="constant_number" id="1128"> + <Label>POTI_PIN</Label> + <Location> + <X>504</X> + <Y>648</Y> + </Location> + <Plug> + <BlockConnector con-block-id="332" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_number" id="330"> + <Label>potiWert</Label> + <Location> + <X>366</X> + <Y>624</Y> + </Location> + <Plug> + <BlockConnector con-block-id="329" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="psn_handle_network" id="1619"> + <Location> + <X>132</X> + <Y>597</Y> + </Location> + <Comment> + <Text>Überprüft auf neue Nachrichten und versendet Daten</Text> + <Location> + <X>625</X> + <Y>612</Y> + </Location> + <BoxSize> + <Width>150</Width> + <Height>100</Height> + </BoxSize> + </Comment> + <BeforeBlockId>311</BeforeBlockId> + <AfterBlockId>329</AfterBlockId> + </Block> + <Block genus-name="psn_callback" id="1372"> + <Location> + <X>837</X> + <Y>221</Y> + </Location> + <Comment> + <Text>Unterprogramm das bei neu empfangenen Daten aufgerufen wird.</Text> + <Location> + <X>842</X> + <Y>137</Y> + </Location> + <BoxSize> + <Width>232</Width> + <Height>75</Height> + </BoxSize> + </Comment> + <Sockets num-sockets="4"> + <BlockConnector con-block-id="317" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> + <BlockConnector con-block-id="1374" connector-kind="socket" connector-type="string" init-type="string" label="Topic-Variable" position-type="single"/> + <BlockConnector con-block-id="1375" connector-kind="socket" connector-type="string" init-type="string" label="Nutzdaten-Variable" position-type="single"/> + <BlockConnector con-block-id="339" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Befehle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="339"> + <Location> + <X>1058</X> + <Y>301</Y> + </Location> + <BeforeBlockId>1372</BeforeBlockId> + <AfterBlockId>343</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="342" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="341" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="343"> + <Location> + <X>1058</X> + <Y>355</Y> + </Location> + <BeforeBlockId>339</BeforeBlockId> + <AfterBlockId>346</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="340" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="345" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="346"> + <Location> + <X>1058</X> + <Y>409</Y> + </Location> + <BeforeBlockId>343</BeforeBlockId> + <AfterBlockId>1113</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="349" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="348" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="if" id="1113"> + <Location> + <X>1058</X> + <Y>463</Y> + </Location> + <BeforeBlockId>346</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="655" connector-kind="socket" connector-type="boolean" init-type="boolean" label="teste" position-type="single"/> + <BlockConnector con-block-id="1110" connector-kind="socket" connector-type="cmd" init-type="cmd" label="dann" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="setter_variable_digital" id="1110"> + <Location> + <X>1153</X> + <Y>499</Y> + </Location> + <BeforeBlockId>1113</BeforeBlockId> + <AfterBlockId>427</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="1115" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Variable" position-type="single"/> + <BlockConnector con-block-id="1114" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="pin-write-digital" id="427"> + <Location> + <X>1153</X> + <Y>553</Y> + </Location> + <BeforeBlockId>1110</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="1124" connector-kind="socket" connector-type="number" init-type="number" label="Pin" position-type="single"/> + <BlockConnector con-block-id="1116" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="variable_digital" id="1116"> + <Label>zustandLED</Label> + <Location> + <X>1293</X> + <Y>580</Y> + </Location> + <Plug> + <BlockConnector con-block-id="427" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="constant_number" id="1124"> + <Label>LED_PIN</Label> + <Location> + <X>1293</X> + <Y>556</Y> + </Location> + <Plug> + <BlockConnector con-block-id="427" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="not" id="1114"> + <Location> + <X>1395</X> + <Y>526</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1110" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="1111" connector-kind="socket" connector-type="boolean" init-type="boolean" label="" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="variable_digital" id="1111"> + <Label>zustandLED</Label> + <Location> + <X>1459</X> + <Y>526</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1114" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_digital" id="1115"> + <Label>zustandLED</Label> + <Location> + <X>1395</X> + <Y>502</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1110" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="equal" id="655"> + <Location> + <X>1156</X> + <Y>466</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1113" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="653" connector-kind="socket" connector-type="number" init-type="number" label="" position-type="bottom"/> + <BlockConnector con-block-id="656" connector-kind="socket" connector-type="number" init-type="number" label="" position-type="bottom"/> + </Sockets> + </Block> + <Block genus-name="number" id="656"> + <Location> + <X>1535</X> + <Y>469</Y> + </Location> + <Plug> + <BlockConnector con-block-id="655" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="cast_atoi" id="653"> + <Location> + <X>1166</X> + <Y>469</Y> + </Location> + <Plug> + <BlockConnector con-block-id="655" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="654" connector-kind="socket" connector-type="string" init-type="string" label="" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="local_variable_string" id="654"> + <Label>loc_data</Label> + <Location> + <X>1398</X> + <Y>469</Y> + </Location> + <Plug> + <BlockConnector con-block-id="653" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="true" id="348"> + <Location> + <X>1246</X> + <Y>436</Y> + </Location> + <Plug> + <BlockConnector con-block-id="346" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_string" id="349"> + <Label>loc_data</Label> + <Location> + <X>1246</X> + <Y>412</Y> + </Location> + <Plug> + <BlockConnector con-block-id="346" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="false" id="345"> + <Location> + <X>1246</X> + <Y>382</Y> + </Location> + <Plug> + <BlockConnector con-block-id="343" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="340"> + <Label>:</Label> + <Location> + <X>1246</X> + <Y>358</Y> + </Location> + <Plug> + <BlockConnector con-block-id="343" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="false" id="341"> + <Location> + <X>1246</X> + <Y>328</Y> + </Location> + <Plug> + <BlockConnector con-block-id="339" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_string" id="342"> + <Label>loc_topic</Label> + <Location> + <X>1246</X> + <Y>304</Y> + </Location> + <Plug> + <BlockConnector con-block-id="339" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_string" id="1375"> + <Label>loc_data</Label> + <Location> + <X>1061</X> + <Y>272</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1372" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_string" id="1374"> + <Label>loc_topic</Label> + <Location> + <X>1061</X> + <Y>248</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1372" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="317"> + <Label>Empfangene Daten auf SerialMonitor ausgeben und LED togglen</Label> + <Location> + <X>1061</X> + <Y>224</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1372" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="setter_define_number" id="1125"> + <Location> + <X>134</X> + <Y>328</Y> + </Location> + <BeforeBlockId>1121</BeforeBlockId> + <AfterBlockId>1105</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="1126" connector-kind="socket" connector-type="number" init-type="number" label="Variable" position-type="single"/> + <BlockConnector con-block-id="1127" connector-kind="socket" connector-type="number" init-type="number" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="1127"> + <Label>0</Label> + <Location> + <X>348</X> + <Y>355</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1125" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="constant_number" id="1126"> + <Label>POTI_PIN</Label> + <Location> + <X>348</X> + <Y>331</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1125" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="setter_define_number" id="1121"> + <Location> + <X>134</X> + <Y>274</Y> + </Location> + <BeforeBlockId>1117</BeforeBlockId> + <AfterBlockId>1125</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="1122" connector-kind="socket" connector-type="number" init-type="number" label="Variable" position-type="single"/> + <BlockConnector con-block-id="1123" connector-kind="socket" connector-type="number" init-type="number" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="1123"> + <Label>5</Label> + <Location> + <X>348</X> + <Y>301</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1121" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="constant_number" id="1122"> + <Label>LED_PIN</Label> + <Location> + <X>348</X> + <Y>277</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1121" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="setter_define_number" id="1117"> + <Location> + <X>134</X> + <Y>220</Y> + </Location> + <BeforeBlockId>311</BeforeBlockId> + <AfterBlockId>1121</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="1118" connector-kind="socket" connector-type="number" init-type="number" label="Variable" position-type="single"/> + <BlockConnector con-block-id="1119" connector-kind="socket" connector-type="number" init-type="number" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="setter_variable_digital" id="1105"> + <Location> + <X>134</X> + <Y>382</Y> + </Location> + <BeforeBlockId>1125</BeforeBlockId> + <AfterBlockId>1628</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="1106" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Variable" position-type="single"/> + <BlockConnector con-block-id="1107" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="false" id="1107"> + <Location> + <X>376</X> + <Y>409</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1105" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_digital" id="1106"> + <Label>zustandLED</Label> + <Location> + <X>376</X> + <Y>385</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1105" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="number" id="1119"> + <Label>20</Label> + <Location> + <X>348</X> + <Y>247</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1117" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="constant_number" id="1118"> + <Label>THRESHOLD</Label> + <Location> + <X>348</X> + <Y>223</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1117" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="881"> + <Label>Abonniert: Taster-Wert</Label> + <Location> + <X>207</X> + <Y>118</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="880"> + <Label>Veröffentlicht: Poti-Wert</Label> + <Location> + <X>207</X> + <Y>94</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="serial_begin" id="337"> + <Location> + <X>133</X> + <Y>526</Y> + </Location> + <BeforeBlockId>311</BeforeBlockId> + <AfterBlockId>1620</AfterBlockId> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="338" connector-kind="socket" connector-type="number" init-type="number" label="Baud" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="338"> + <Label>2400</Label> + <Location> + <X>273</X> + <Y>529</Y> + </Location> + <Plug> + <BlockConnector con-block-id="337" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="sketch" id="311"> + <Location> + <X>19</X> + <Y>212</Y> + </Location> + <Sockets num-sockets="3"> + <BlockConnector con-block-id="1117" connector-kind="socket" connector-type="cmd" init-type="cmd" label="" position-type="single"/> + <BlockConnector con-block-id="337" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Setup" position-type="single"/> + <BlockConnector con-block-id="1619" 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>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 con-block-id="880" connector-kind="socket" connector-type="string" init-type="string" label="" position-type="single"/> + <BlockConnector con-block-id="881" 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>207</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>25.11.21</Label> + <Location> + <X>207</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>Client für PubSub Netzwerk</Label> + <Location> + <X>207</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>207</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>PubSub Client 1</Label> + <Location> + <X>207</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> diff --git a/src/main/resources/com/ardublock/examples/Client2.abp b/src/main/resources/com/ardublock/examples/Client2.abp new file mode 100644 index 0000000000000000000000000000000000000000..385f41a044dff9de1b163d8efb92a24f59619690 --- /dev/null +++ b/src/main/resources/com/ardublock/examples/Client2.abp @@ -0,0 +1,689 @@ +<?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="psn_handle_network" id="1558"> + <Location> + <X>134</X> + <Y>546</Y> + </Location> + <Comment> + <Text>Überprüft auf neue Nachrichten und versendet Daten</Text> + <Location> + <X>484</X> + <Y>539</Y> + </Location> + <BoxSize> + <Width>320</Width> + <Height>49</Height> + </BoxSize> + </Comment> + <BeforeBlockId>311</BeforeBlockId> + <AfterBlockId>577</AfterBlockId> + </Block> + <Block genus-name="setter_variable_digital" id="577"> + <Location> + <X>134</X> + <Y>570</Y> + </Location> + <BeforeBlockId>1558</BeforeBlockId> + <AfterBlockId>1559</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="578" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Variable" position-type="single"/> + <BlockConnector con-block-id="575" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="psn_publish_onchange_bool" id="1559"> + <Location> + <X>134</X> + <Y>623</Y> + </Location> + <Comment> + <Text>Veröffentlicht Daten unter Topic "C2_btn" wenn sich Tasterzustand ändert (false->true / true->false)</Text> + <Location> + <X>510</X> + <Y>623</Y> + </Location> + <BoxSize> + <Width>366</Width> + <Height>70</Height> + </BoxSize> + </Comment> + <BeforeBlockId>577</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="574" connector-kind="socket" connector-type="string" init-type="string" label="Topic" position-type="single"/> + <BlockConnector con-block-id="580" connector-kind="socket" connector-type="boolean" init-type="boolean" label="Nutzdaten" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="variable_digital" id="580"> + <Label>zustandTaster</Label> + <Location> + <X>419</X> + <Y>650</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1559" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="574"> + <Label>C2_btn</Label> + <Location> + <X>419</X> + <Y>626</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1559" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="pin-read-digital" id="575"> + <Location> + <X>382</X> + <Y>596</Y> + </Location> + <Plug> + <BlockConnector con-block-id="577" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="1053" connector-kind="socket" connector-type="number" init-type="number" label="Pin" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="constant_number" id="1053"> + <Label>BUTTON_PIN</Label> + <Location> + <X>519</X> + <Y>596</Y> + </Location> + <Plug> + <BlockConnector con-block-id="575" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="variable_digital" id="578"> + <Label>zustandTaster</Label> + <Location> + <X>382</X> + <Y>572</Y> + </Location> + <Plug> + <BlockConnector con-block-id="577" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="psn_subscribe" id="1562"> + <Label>pubSubNet susbcribe</Label> + <Location> + <X>135</X> + <Y>504</Y> + </Location> + <Comment> + <Text>Abboniert Daten zum Topic "C1_poti"</Text> + <Location> + <X>466</X> + <Y>488</Y> + </Location> + <BoxSize> + <Width>352</Width> + <Height>42</Height> + </BoxSize> + </Comment> + <BeforeBlockId>337</BeforeBlockId> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="323" connector-kind="socket" connector-type="string" init-type="string" label="Topic" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="string" id="323"> + <Label>C1_poti</Label> + <Location> + <X>351</X> + <Y>507</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1562" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="psn_client" id="1554"> + <Location> + <X>136</X> + <Y>381</Y> + </Location> + <BeforeBlockId>1048</BeforeBlockId> + <Sockets num-sockets="3"> + <BlockConnector con-block-id="1555" connector-kind="socket" connector-type="number" init-type="number" label="Rx Pin" position-type="single"/> + <BlockConnector con-block-id="1556" connector-kind="socket" connector-type="number" init-type="number" label="Tx Pin" position-type="single"/> + <BlockConnector con-block-id="1557" connector-kind="socket" connector-type="string" init-type="string" label="Uebergabefunktion" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="string" id="1557"> + <Label>psnNewData</Label> + <Location> + <X>390</X> + <Y>432</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1554" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="number" id="1556"> + <Label>11</Label> + <Location> + <X>390</X> + <Y>408</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1554" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="number" id="1555"> + <Label>10</Label> + <Location> + <X>390</X> + <Y>384</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1554" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="psn_callback" id="1307"> + <Location> + <X>925</X> + <Y>245</Y> + </Location> + <Comment> + <Text>Unterprogramm das bei neu empfangenen Daten aufgerufen wird.</Text> + <Location> + <X>925</X> + <Y>162</Y> + </Location> + <BoxSize> + <Width>223</Width> + <Height>78</Height> + </BoxSize> + </Comment> + <Sockets num-sockets="4"> + <BlockConnector con-block-id="317" connector-kind="socket" connector-type="string" init-type="string" label="Beschreibung" position-type="single"/> + <BlockConnector con-block-id="1309" connector-kind="socket" connector-type="string" init-type="string" label="Topic-Variable" position-type="single"/> + <BlockConnector con-block-id="1310" connector-kind="socket" connector-type="string" init-type="string" label="Nutzdaten-Variable" position-type="single"/> + <BlockConnector con-block-id="339" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Befehle" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="339"> + <Location> + <X>1154</X> + <Y>325</Y> + </Location> + <BeforeBlockId>1307</BeforeBlockId> + <AfterBlockId>343</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="342" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="341" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="343"> + <Location> + <X>1154</X> + <Y>379</Y> + </Location> + <BeforeBlockId>339</BeforeBlockId> + <AfterBlockId>346</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="340" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="345" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="serial_print" id="346"> + <Location> + <X>1154</X> + <Y>432</Y> + </Location> + <BeforeBlockId>343</BeforeBlockId> + <AfterBlockId>1054</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="349" connector-kind="socket" connector-type="string" init-type="string" label="Zeichenkette" position-type="single"/> + <BlockConnector con-block-id="348" connector-kind="socket" connector-type="boolean" init-type="boolean" label="neue Zeile" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="setter_variable_number" id="1054"> + <Location> + <X>1154</X> + <Y>486</Y> + </Location> + <BeforeBlockId>346</BeforeBlockId> + <AfterBlockId>592</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="1057" connector-kind="socket" connector-type="number" init-type="number" label="Variable" position-type="single"/> + <BlockConnector con-block-id="590" connector-kind="socket" connector-type="number" init-type="number" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="pin-write-analog" id="592"> + <Location> + <X>1154</X> + <Y>540</Y> + </Location> + <BeforeBlockId>1054</BeforeBlockId> + <AfterBlockId>1059</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="1051" connector-kind="socket" connector-type="number" init-type="number" label="~Pin" position-type="single"/> + <BlockConnector con-block-id="1058" connector-kind="socket" connector-type="number" init-type="number" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="pin-write-analog" id="1059"> + <Location> + <X>1154</X> + <Y>593</Y> + </Location> + <BeforeBlockId>592</BeforeBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="1060" connector-kind="socket" connector-type="number" init-type="number" label="~Pin" position-type="single"/> + <BlockConnector con-block-id="1062" connector-kind="socket" connector-type="number" init-type="number" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="subtraction" id="1062"> + <Location> + <X>1290</X> + <Y>620</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1059" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="1063" connector-kind="socket" connector-type="number" init-type="number" label="" position-type="bottom"/> + <BlockConnector con-block-id="1061" connector-kind="socket" connector-type="number" init-type="number" label="" position-type="bottom"/> + </Sockets> + </Block> + <Block genus-name="local_variable_number" id="1061"> + <Label>loc_valueLed</Label> + <Location> + <X>1394</X> + <Y>622</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1062" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="number" id="1063"> + <Label>255</Label> + <Location> + <X>1300</X> + <Y>622</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1062" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="constant_number" id="1060"> + <Label>LED2_PIN</Label> + <Location> + <X>1290</X> + <Y>596</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1059" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_number" id="1058"> + <Label>loc_valueLed</Label> + <Location> + <X>1290</X> + <Y>566</Y> + </Location> + <Plug> + <BlockConnector con-block-id="592" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="constant_number" id="1051"> + <Label>LED_PIN</Label> + <Location> + <X>1290</X> + <Y>542</Y> + </Location> + <Plug> + <BlockConnector con-block-id="592" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="map_common" id="590"> + <Location> + <X>1397</X> + <Y>512</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1054" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="588" connector-kind="socket" connector-type="number" init-type="number" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="cast_atoi" id="588"> + <Location> + <X>1639</X> + <Y>512</Y> + </Location> + <Plug> + <BlockConnector con-block-id="590" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="single"/> + </Plug> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="589" connector-kind="socket" connector-type="string" init-type="string" label="" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="local_variable_string" id="589"> + <Label>loc_data</Label> + <Location> + <X>1879</X> + <Y>512</Y> + </Location> + <Plug> + <BlockConnector con-block-id="588" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_number" id="1057"> + <Label>loc_valueLed</Label> + <Location> + <X>1397</X> + <Y>489</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1054" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="true" id="348"> + <Location> + <X>1349</X> + <Y>459</Y> + </Location> + <Plug> + <BlockConnector con-block-id="346" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_string" id="349"> + <Label>loc_data</Label> + <Location> + <X>1349</X> + <Y>435</Y> + </Location> + <Plug> + <BlockConnector con-block-id="346" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="false" id="345"> + <Location> + <X>1349</X> + <Y>405</Y> + </Location> + <Plug> + <BlockConnector con-block-id="343" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="340"> + <Label>:</Label> + <Location> + <X>1349</X> + <Y>381</Y> + </Location> + <Plug> + <BlockConnector con-block-id="343" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="false" id="341"> + <Location> + <X>1349</X> + <Y>351</Y> + </Location> + <Plug> + <BlockConnector con-block-id="339" connector-kind="plug" connector-type="boolean" init-type="boolean" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_string" id="342"> + <Label>loc_topic</Label> + <Location> + <X>1349</X> + <Y>328</Y> + </Location> + <Plug> + <BlockConnector con-block-id="339" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_string" id="1310"> + <Label>loc_data</Label> + <Location> + <X>1158</X> + <Y>296</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1307" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="local_variable_string" id="1309"> + <Label>loc_topic</Label> + <Location> + <X>1158</X> + <Y>271</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1307" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="317"> + <Label>empfangene Daten auf SerialMonitor ausgeben und zwei LEDs entgegengesetzt dimmen</Label> + <Location> + <X>1158</X> + <Y>248</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1307" connector-kind="plug" connector-type="string" init-type="string" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="setter_define_number" id="1042"> + <Location> + <X>136</X> + <Y>220</Y> + </Location> + <BeforeBlockId>311</BeforeBlockId> + <AfterBlockId>1045</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="1043" connector-kind="socket" connector-type="number" init-type="number" label="Variable" position-type="single"/> + <BlockConnector con-block-id="1044" connector-kind="socket" connector-type="number" init-type="number" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="setter_define_number" id="1045"> + <Location> + <X>136</X> + <Y>274</Y> + </Location> + <BeforeBlockId>1042</BeforeBlockId> + <AfterBlockId>1048</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="1046" connector-kind="socket" connector-type="number" init-type="number" label="Variable" position-type="single"/> + <BlockConnector con-block-id="1047" connector-kind="socket" connector-type="number" init-type="number" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="setter_define_number" id="1048"> + <Location> + <X>136</X> + <Y>328</Y> + </Location> + <BeforeBlockId>1045</BeforeBlockId> + <AfterBlockId>1554</AfterBlockId> + <Sockets num-sockets="2"> + <BlockConnector con-block-id="1049" connector-kind="socket" connector-type="number" init-type="number" label="Variable" position-type="single"/> + <BlockConnector con-block-id="1050" connector-kind="socket" connector-type="number" init-type="number" label="Wert" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="1050"> + <Label>2</Label> + <Location> + <X>356</X> + <Y>354</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1048" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="constant_number" id="1049"> + <Label>BUTTON_PIN</Label> + <Location> + <X>356</X> + <Y>330</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1048" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="number" id="1047"> + <Label>6</Label> + <Location> + <X>356</X> + <Y>300</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1045" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="constant_number" id="1046"> + <Label>LED2_PIN</Label> + <Location> + <X>356</X> + <Y>277</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1045" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="number" id="1044"> + <Label>5</Label> + <Location> + <X>356</X> + <Y>247</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1042" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="constant_number" id="1043"> + <Label>LED_PIN</Label> + <Location> + <X>356</X> + <Y>223</Y> + </Location> + <Plug> + <BlockConnector con-block-id="1042" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="string" id="818"> + <Label>Abboniert: Poti-Wert</Label> + <Location> + <X>214</X> + <Y>119</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="817"> + <Label>Veröffentlicht: Taster-Wert</Label> + <Location> + <X>214</X> + <Y>94</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="serial_begin" id="337"> + <Location> + <X>135</X> + <Y>474</Y> + </Location> + <BeforeBlockId>311</BeforeBlockId> + <AfterBlockId>1562</AfterBlockId> + <Sockets num-sockets="1"> + <BlockConnector con-block-id="338" connector-kind="socket" connector-type="number" init-type="number" label="Baud" position-type="single"/> + </Sockets> + </Block> + <Block genus-name="number" id="338"> + <Label>2400</Label> + <Location> + <X>278</X> + <Y>477</Y> + </Location> + <Plug> + <BlockConnector con-block-id="337" connector-kind="plug" connector-type="number" init-type="number" label="" position-type="mirror"/> + </Plug> + </Block> + <Block genus-name="sketch" id="311"> + <Location> + <X>20</X> + <Y>213</Y> + </Location> + <Sockets num-sockets="3"> + <BlockConnector con-block-id="1042" connector-kind="socket" connector-type="cmd" init-type="cmd" label="" position-type="single"/> + <BlockConnector con-block-id="337" connector-kind="socket" connector-type="cmd" init-type="cmd" label="Setup" position-type="single"/> + <BlockConnector con-block-id="1558" 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 con-block-id="817" connector-kind="socket" connector-type="string" init-type="string" label="" position-type="single"/> + <BlockConnector con-block-id="818" 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>214</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>25.11.21</Label> + <Location> + <X>214</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>Client für PubSub Netzwerk</Label> + <Location> + <X>214</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>214</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>PubSub Client 2</Label> + <Location> + <X>214</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>