diff --git a/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnBrokerBlock.java b/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnBrokerBlock.java index 8134f5563edd192adbbfd5bf19d686a39de6cd35..1a77e09ed06c77c83f9a298457a2b6bdbe81c865 100644 --- a/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnBrokerBlock.java +++ b/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnBrokerBlock.java @@ -31,7 +31,7 @@ public class PsnBrokerBlock extends TranslatorBlock //pubSubName = psnName.toCode().replaceAll("\\s*_.new\\b\\s*", "").replaceAll("\"", ""); - translator.addHeaderFile("didacticNet.h"); + translator.addHeaderFile("DidacticNet.h"); translator.addHeaderFile("SoftwareSerial.h"); translator.addDefinitionCommand(pubSubType + " " +pubSubName+";\n"); diff --git a/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnCallbackBlock.java b/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnCallbackBlock.java index a28db2931c0d6bb3027972d6cbc145d259d29211..12d29ea7674cbd4e51b134a2493c999815ea49c9 100644 --- a/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnCallbackBlock.java +++ b/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnCallbackBlock.java @@ -7,7 +7,6 @@ import com.ardublock.translator.block.TranslatorBlock; import com.ardublock.translator.block.exception.BlockException; import com.ardublock.translator.block.exception.SocketNullException; import com.ardublock.translator.block.exception.SubroutineNotDeclaredException; -import com.ardublock.translator.block.numbers.LocalVariableNumberBlock; import com.ardublock.translator.block.numbers.LocalVariableStringBlock; @@ -28,48 +27,62 @@ public class PsnCallbackBlock extends TranslatorBlock String callbackName = label.trim(); String topicVar = ""; - String topicLenVar = ""; + //String topicLenVar = ""; String dataVar = ""; - String dataLenVar = ""; + //String dataLenVar = ""; String ret = ""; TranslatorBlock tb_commentBlock = getRequiredTranslatorBlockAtSocket(0); ret += "//"+tb_commentBlock.toCode().replaceAll("\"", "")+"\n"; TranslatorBlock tb_topicVar = getRequiredTranslatorBlockAtSocket(1); - TranslatorBlock tb_topicLenVar = getRequiredTranslatorBlockAtSocket(2); - TranslatorBlock tb_dataVar = getRequiredTranslatorBlockAtSocket(3); - TranslatorBlock tb_dataLenVar = getRequiredTranslatorBlockAtSocket(4); + //TranslatorBlock tb_topicLenVar = getRequiredTranslatorBlockAtSocket(2); + TranslatorBlock tb_dataVar = getRequiredTranslatorBlockAtSocket(2);//3); + //TranslatorBlock tb_dataLenVar = getRequiredTranslatorBlockAtSocket(4); - TranslatorBlock tb_code = getTranslatorBlockAtSocket(5); + TranslatorBlock tb_code = getTranslatorBlockAtSocket(3);//5); topicVar = tb_topicVar.toCode();//.replaceAll("\\s*_.new\\b\\s*", ""); - topicLenVar = tb_topicLenVar.toCode();//.replaceAll("\\s*_.new\\b\\s*", ""); + //topicLenVar = tb_topicLenVar.toCode();//.replaceAll("\\s*_.new\\b\\s*", ""); dataVar = tb_dataVar.toCode();//.replaceAll("\\s*_.new\\b\\s*", ""); - dataLenVar = tb_dataLenVar.toCode();//.replaceAll("\\s*_.new\\b\\s*", ""); + //dataLenVar = tb_dataLenVar.toCode();//.replaceAll("\\s*_.new\\b\\s*", ""); //LOCAL VARs if ((tb_topicVar instanceof LocalVariableStringBlock) && topicVar.contains(newMarker)) { topicVar = topicVar.replaceAll(regex, ""); translator.addNumberVariable(topicVar, topicVar); //remove the "new" Tag after declaration } - if ((tb_topicLenVar instanceof LocalVariableNumberBlock) && topicLenVar.contains(newMarker)) { + + /*if ((tb_topicLenVar instanceof LocalVariableNumberBlock) && topicLenVar.contains(newMarker)) { topicLenVar = topicLenVar.replaceAll(regex, ""); translator.addNumberVariable(topicLenVar, topicLenVar); //remove the "new" Tag after declaration - } + }*/ + if ((tb_dataVar instanceof LocalVariableStringBlock) && dataVar.contains(newMarker)) { dataVar = dataVar.replaceAll(regex, ""); translator.addNumberVariable(dataVar, dataVar); //remove the "new" Tag after declaration } - if ((tb_dataLenVar instanceof LocalVariableNumberBlock) && dataLenVar.contains(newMarker)) { + + /*if ((tb_dataLenVar instanceof LocalVariableNumberBlock) && dataLenVar.contains(newMarker)) { dataLenVar = dataLenVar.replaceAll(regex, ""); translator.addNumberVariable(dataLenVar, dataLenVar); //remove the "new" Tag after declaration - } + }*/ - if (tb_topicVar instanceof LocalVariableStringBlock && tb_topicLenVar instanceof LocalVariableNumberBlock && tb_dataVar instanceof LocalVariableStringBlock && tb_dataLenVar instanceof LocalVariableNumberBlock) { + /*if (tb_topicVar instanceof LocalVariableStringBlock && tb_topicLenVar instanceof LocalVariableNumberBlock && tb_dataVar instanceof LocalVariableStringBlock && tb_dataLenVar instanceof LocalVariableNumberBlock) { translator.addDefinitionCommand("void " + callbackName + "(char*, int, char*, int);\n"); ret += "void " + callbackName + "(char* "+ topicVar +", int "+ topicLenVar +", char* "+ dataVar +", int "+ dataLenVar +" ){\n"; + while (tb_code != null) + { + ret += tb_code.toCode(); + tb_code = tb_code.nextTranslatorBlock(); + } + ret += "}\n\n"; + }*/ + if (tb_topicVar instanceof LocalVariableStringBlock && tb_dataVar instanceof LocalVariableStringBlock ) { + translator.addDefinitionCommand("void " + callbackName + "(char*, int, char*, int);\n"); + ret += "void " + callbackName + "(char* "+ topicVar +", char* "+ dataVar+" ){\n"; + while (tb_code != null) { ret += tb_code.toCode(); diff --git a/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnClientBlock.java b/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnClientBlock.java index 383e0440034d9a5593aaae18c337b04b1345cd70..f38bb7c6b6a09995691982cc3568a6a0942ab476 100644 --- a/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnClientBlock.java +++ b/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnClientBlock.java @@ -34,7 +34,7 @@ public class PsnClientBlock extends TranslatorBlock //pubSubName = psnName.toCode().replaceAll("\\s*_.new\\b\\s*\"", "").replaceAll("\"", ""); callbackName = cbName.toCode().replaceAll("\\s*_.new\\b\\s*\"", "").replaceAll("\"", ""); - translator.addHeaderFile("didacticNet.h"); + translator.addHeaderFile("DidacticNet.h"); translator.addHeaderFile("SoftwareSerial.h"); translator.addDefinitionCommand("SoftwareSerial " + serialName+"(" + rxPin.toCode().replaceAll("\\s*_.new\\b\\s*", "") + ", "+ txPin.toCode().replaceAll("\\s*_.new\\b\\s*", "") +");\n"); diff --git a/src/main/resources/com/ardublock/block/ardublock.properties b/src/main/resources/com/ardublock/block/ardublock.properties index 7857393ef7158abb6efdaab0c556b119e4caf1ba..7d9ab339b278768cd3c70fc59bea4ae3c58edfba 100644 --- a/src/main/resources/com/ardublock/block/ardublock.properties +++ b/src/main/resources/com/ardublock/block/ardublock.properties @@ -864,20 +864,20 @@ bg.didacticnetworkDivider2=| PubSub publish | bg.didacticnetworkDivider3=| PubSub subscribe | bg.didacticnetworkDivider4=| PubSub callback | -bg.psn_broker=psnName Broker -bg.psn_client=psnName Client -bg.psn_callback=psnClientCallback -bg.psn_handle_network=psnName handleNetwork -bg.psn_data_to_send=psnName isDataToSend? -bg.psn_set_interval=psnName setInterval -bg.psn_publish=psnName publish -bg.psn_publish=psnName publish -bg.psn_publish_analog=psnName publish -bg.psn_publish_digital=psnName publish -bg.psn_publish_onchange=psnName publishOnChange -bg.psn_publish_onchange_bool=psnName publishOnChange -bg.psn_subscribe=psnName subscribe -bg.psn_unsubscribe=psnName unsubscribe +bg.psn_broker=pubSubNet Broker +bg.psn_client=pubSubNet Client +bg.psn_callback=psnNewData +bg.psn_handle_network=pubSubNet handleNetwork +bg.psn_data_to_send=pubSubNet isDataToSend? +bg.psn_set_interval=pubSubNet setInterval +bg.psn_publish=pubSubNet publish +bg.psn_publish=pubSubNet publish +bg.psn_publish_analog=pubSubNet publish +bg.psn_publish_digital=pubSubNet publish +bg.psn_publish_onchange=pubSubNet publishOnChange +bg.psn_publish_onchange_bool=pubSubNet publishOnChange +bg.psn_subscribe=pubSubNet subscribe +bg.psn_unsubscribe=pubSubNet unsubscribe bg.psn_broker.description=set up Server bg.psn_client.description=set up Client diff --git a/src/main/resources/com/ardublock/block/ardublock.xml b/src/main/resources/com/ardublock/block/ardublock.xml index ff314cff1a8a00a9d99d542b7c88b7e3fbd4a8a3..ed462928a35c69d20d3344c42ad582522dc4df65 100644 --- a/src/main/resources/com/ardublock/block/ardublock.xml +++ b/src/main/resources/com/ardublock/block/ardublock.xml @@ -2691,7 +2691,7 @@ <DefaultArg genus-name="number" label="11" /> </BlockConnector> <BlockConnector connector-type="string" connector-kind="socket" label="bc.callback"> - <DefaultArg genus-name="string" label="psnClientCallback" /> + <DefaultArg genus-name="string" label="psnNewData" /> </BlockConnector> </BlockConnectors> </BlockGenus> @@ -2706,15 +2706,15 @@ <BlockConnector connector-type="string" connector-kind="socket" label="bc.topicVar"> <DefaultArg genus-name="local_variable_string" label="topic" /> </BlockConnector> - <BlockConnector connector-type="number" connector-kind="socket" label="bc.topicLengthVar"> + <!-- <BlockConnector connector-type="number" connector-kind="socket" label="bc.topicLengthVar"> <DefaultArg genus-name="local_variable_number" label="topicLength" /> - </BlockConnector> + </BlockConnector> --> <BlockConnector connector-type="string" connector-kind="socket" label="bc.payloadVar"> <DefaultArg genus-name="local_variable_string" label="data" /> </BlockConnector> - <BlockConnector connector-type="number" connector-kind="socket" label="bc.payloadLengthVar"> + <!-- <BlockConnector connector-type="number" connector-kind="socket" label="bc.payloadLengthVar"> <DefaultArg genus-name="local_variable_number" label="dataLength" /> - </BlockConnector> + </BlockConnector> --> <BlockConnector label="bc.commands" connector-type="cmd" connector-kind="socket" /> </BlockConnectors> </BlockGenus> diff --git a/src/main/resources/com/ardublock/block/ardublock_de.properties b/src/main/resources/com/ardublock/block/ardublock_de.properties index f5fdea2a0f3cd906bc9b932d9fde9697397c56a9..982f958f128560483b1f955335590f718dd29162 100644 --- a/src/main/resources/com/ardublock/block/ardublock_de.properties +++ b/src/main/resources/com/ardublock/block/ardublock_de.properties @@ -859,19 +859,19 @@ bg.didacticnetworkDivider2=| PubSub publish | bg.didacticnetworkDivider3=| PubSub subscribe | bg.didacticnetworkDivider4=| PubSub callback | -bg.psn_broker=Broker psnName -bg.psn_client=Client psnName -bg.psn_callback=psnClientCallback -bg.psn_handle_network=psnName handleNetwork -bg.psn_data_to_send=psnName isDataToSend? -bg.psn_set_interval=psnName setInterval -bg.psn_publish=psnName publish -bg.psn_publish_analog=psnName publish -bg.psn_publish_digital=psnName publish -bg.psn_publish_onchange=psnName publishOnChange -bg.psn_publish_onchange_bool=psnName publishOnChange -bg.psn_subscribe=psnName subscribe -bg.psn_unsubscribe=psnName unsubscribe +bg.psn_broker=Broker pubSubNet +bg.psn_client=Client pubSubNet +bg.psn_callback=psnNewData +bg.psn_handle_network=pubSubNet handleNetwork +bg.psn_data_to_send=pubSubNet isDataToSend? +bg.psn_set_interval=pubSubNet setInterval +bg.psn_publish=pubSubNet publish +bg.psn_publish_analog=pubSubNet publish +bg.psn_publish_digital=pubSubNet publish +bg.psn_publish_onchange=pubSubNet publishOnChange +bg.psn_publish_onchange_bool=pubSubNet publishOnChange +bg.psn_subscribe=pubSubNet subscribe +bg.psn_unsubscribe=pubSubNet unsubscribe bg.psn_broker.description=Broker fuer PubSub Netzwerk erzeugen bg.psn_client.description=Client fuer PubSub Netzwerk erzeugen @@ -892,7 +892,7 @@ bc.ps_interval=ms bc.callback=Uebergabefunktion bc.payloadVar=Nutzdaten-Variable bc.payloadLengthVar=Nutzdaten-Laenge-Variable -bc.topicVar=Topic Variable +bc.topicVar=Topic-Variable bc.topicLengthVar=Topic-Laenge-Variable bc.payload=Nutzdaten bc.payloadLength=Länge Nutzdaten 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 35fbf5a66da528e4cff33afe0e573bc31a8ce43d..6e99dec70b558d822e09902106a1638de9f82030 100644 --- a/src/main/resources/com/ardublock/block/ardublock_en_GB.properties +++ b/src/main/resources/com/ardublock/block/ardublock_en_GB.properties @@ -856,19 +856,19 @@ bg.didacticnetworkDivider2=| PubSub publish | bg.didacticnetworkDivider3=| PubSub subscribe | bg.didacticnetworkDivider4=| PubSub callback | -bg.psn_broker=Broker psnName -bg.psn_client=Client psnName -bg.psn_callback=psnClientCallback -bg.psn_handle_network=psnName handleNetwork -bg.psn_data_to_send=psnName isDataToSend? +bg.psn_broker=Broker pubSubNet +bg.psn_client=Client pubSubNet +bg.psn_callback=psnNewData +bg.psn_handle_network=pubSubNet handleNetwork +bg.psn_data_to_send=pubSubNet isDataToSend? bg.psn_set_interval=PubSub setInterval -bg.psn_publish=psnName publish -bg.psn_publish_analog=psnName publish -bg.psn_publish_digital=psnName publish -bg.psn_publish_onchange=psnName publishOnChange -bg.psn_publish_onchange_bool=psnName publishOnChange -bg.psn_subscribe=psnName subscribe -bg.psn_unsubscribe=psnName unsubscribe +bg.psn_publish=pubSubNet publish +bg.psn_publish_analog=pubSubNet publish +bg.psn_publish_digital=pubSubNet publish +bg.psn_publish_onchange=pubSubNet publishOnChange +bg.psn_publish_onchange_bool=pubSubNet publishOnChange +bg.psn_subscribe=pubSubNet subscribe +bg.psn_unsubscribe=pubSubNet unsubscribe bg.psn_broker.description=Broker fuer PubSub Netzwerk erzeugen bg.psn_client.description=Client fuer PubSub Netzwerk erzeugen