diff --git a/src/main/java/com/ardublock/translator/block/communication/SoftSerialAvailableBlock.java b/src/main/java/com/ardublock/translator/block/communication/SoftSerialAvailableBlock.java index 069806c29d74bcc4ebdcce4ef15213d657e98951..98df7ac0309a5e6cf07dc315038103b343263564 100644 --- a/src/main/java/com/ardublock/translator/block/communication/SoftSerialAvailableBlock.java +++ b/src/main/java/com/ardublock/translator/block/communication/SoftSerialAvailableBlock.java @@ -19,13 +19,24 @@ public class SoftSerialAvailableBlock extends TranslatorBlock TranslatorBlock tB1 = this.getRequiredTranslatorBlockAtSocket(0);//Pin Rx TranslatorBlock tB2 = this.getRequiredTranslatorBlockAtSocket(1);//Pin Tx - String SerialNumber = tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + tB2.toCode().replaceAll("\\s*_.new\\b\\s*", ""); - - if(!translator.containsSetupCommand("softSerial"+SerialNumber+".begin")){ - translator.addSetupCommand("softSerial"+SerialNumber+".begin(4800);"); - translator.addDefinitionCommand("SoftwareSerial softSerial"+SerialNumber+"(" + tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + ", "+ tB2.toCode().replaceAll("\\s*_.new\\b\\s*", "") +");\n"); + //String SerialNumber = tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + tB2.toCode().replaceAll("\\s*_.new\\b\\s*", ""); + + String SerialName = label.trim(); + if(SerialName.contains(" ")) { + SerialName = SerialName.substring(0, SerialName.indexOf(" ")); + } + + /*if(!translator.containsSetupCommand("softSerial"+SerialNumber+".begin")){ + translator.addSetupCommand("softSerial"+SerialNumber+".begin(4800);"); + translator.addDefinitionCommand("SoftwareSerial softSerial"+SerialNumber+"(" + tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + ", "+ tB2.toCode().replaceAll("\\s*_.new\\b\\s*", "") +");\n"); + }*/ + + if(!translator.containsSetupCommand(SerialName+".begin")){ + translator.addSetupCommand(SerialName+".begin(4800);"); + translator.addDefinitionCommand("SoftwareSerial "+SerialName+"(" + tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + ", "+ tB2.toCode().replaceAll("\\s*_.new\\b\\s*", "") +");\n"); } - return "softSerial"+SerialNumber+".available()"; + //return "softSerial"+SerialNumber+".available()"; + return SerialName+".available()"; } } diff --git a/src/main/java/com/ardublock/translator/block/communication/SoftSerialBeginBlock.java b/src/main/java/com/ardublock/translator/block/communication/SoftSerialBeginBlock.java index 15ef2aa91d586fb97ac2eb98e34df626b480ac73..4bd1c90255c11579a5cfd85f42dd2d49e34dca4d 100644 --- a/src/main/java/com/ardublock/translator/block/communication/SoftSerialBeginBlock.java +++ b/src/main/java/com/ardublock/translator/block/communication/SoftSerialBeginBlock.java @@ -23,10 +23,18 @@ public class SoftSerialBeginBlock extends TranslatorBlock TranslatorBlock tB1 = this.getRequiredTranslatorBlockAtSocket(0);//Pin Rx TranslatorBlock tB2 = this.getRequiredTranslatorBlockAtSocket(1);//Pin Tx TranslatorBlock tB3 = this.getRequiredTranslatorBlockAtSocket(2);//Baud - String SerialNumber = tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + tB2.toCode().replaceAll("\\s*_.new\\b\\s*", ""); + //String SerialNumber = tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + tB2.toCode().replaceAll("\\s*_.new\\b\\s*", ""); - translator.addDefinitionCommand("SoftwareSerial softSerial"+SerialNumber+"(" + tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + ", "+ tB2.toCode().replaceAll("\\s*_.new\\b\\s*", "") +");\n"); - translator.addSetupCommand("softSerial"+SerialNumber+".begin("+tB3.toCode().replaceAll("\\s*_.new\\b\\s*", "")+");"); + String SerialName = label.trim(); + if(SerialName.contains(" ")) { + SerialName = SerialName.substring(0, SerialName.indexOf(" ")); + } + + //translator.addDefinitionCommand("SoftwareSerial softSerial"+SerialNumber+"(" + tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + ", "+ tB2.toCode().replaceAll("\\s*_.new\\b\\s*", "") +");\n"); + //translator.addSetupCommand("softSerial"+SerialNumber+".begin("+tB3.toCode().replaceAll("\\s*_.new\\b\\s*", "")+");"); + + translator.addDefinitionCommand("SoftwareSerial "+SerialName+"(" + tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + ", "+ tB2.toCode().replaceAll("\\s*_.new\\b\\s*", "") +");\n"); + translator.addSetupCommand(SerialName+".begin("+tB3.toCode().replaceAll("\\s*_.new\\b\\s*", "")+");"); return ""; } diff --git a/src/main/java/com/ardublock/translator/block/communication/SoftSerialPrintBlock.java b/src/main/java/com/ardublock/translator/block/communication/SoftSerialPrintBlock.java index ec19ffb72f5487bbb48e71c37d37e1d5e43e2b4d..baceebf17c859d34e16f7aef489529e5e9530c7a 100644 --- a/src/main/java/com/ardublock/translator/block/communication/SoftSerialPrintBlock.java +++ b/src/main/java/com/ardublock/translator/block/communication/SoftSerialPrintBlock.java @@ -25,14 +25,25 @@ public class SoftSerialPrintBlock extends TranslatorBlock TranslatorBlock tB1 = this.getRequiredTranslatorBlockAtSocket(0);//Pin Rx TranslatorBlock tB2 = this.getRequiredTranslatorBlockAtSocket(1);//Pin Tx - String SerialNumber = tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + tB2.toCode().replaceAll("\\s*_.new\\b\\s*", ""); + //String SerialNumber = tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + tB2.toCode().replaceAll("\\s*_.new\\b\\s*", ""); TranslatorBlock tB3 = this.getRequiredTranslatorBlockAtSocket(2);//,"softSerial"+tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "")+".print(",");\n");//Code TranslatorBlock tB4 = this.getRequiredTranslatorBlockAtSocket(3);//newLine? - if(!translator.containsSetupCommand("softSerial"+SerialNumber+".begin")){ + String SerialName = label.trim(); + if(SerialName.contains(" ")) { + SerialName = SerialName.substring(0, SerialName.indexOf(" ")); + } + + + /*if(!translator.containsSetupCommand("softSerial"+SerialNumber+".begin")){ translator.addSetupCommand("softSerial"+SerialNumber+".begin(4800);"); translator.addDefinitionCommand("SoftwareSerial softSerial"+SerialNumber+"(" + tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + ", "+ tB2.toCode().replaceAll("\\s*_.new\\b\\s*", "") +");\n"); + }*/ + + if(!translator.containsSetupCommand(SerialName+".begin")){ + translator.addSetupCommand(SerialName+".begin(4800);"); + translator.addDefinitionCommand("SoftwareSerial "+SerialName+"(" + tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + ", "+ tB2.toCode().replaceAll("\\s*_.new\\b\\s*", "") +");\n"); } String stringInput = tB3.toCode(); @@ -40,13 +51,15 @@ public class SoftSerialPrintBlock extends TranslatorBlock for(int i = 0; i < stringParts.length; i += 1){ stringParts[i] += " ";// SPACE added at the end of every part - ret += "softSerial"+SerialNumber+".print(" + stringParts[i] + ");\n"; + //ret += "softSerial"+SerialNumber+".print(" + stringParts[i] + ");\n"; + ret += SerialName+".print(" + stringParts[i] + ");\n"; } String newLine = tB4.toCode().replaceAll("\\s*_.new\\b\\s*", ""); if(newLine.equals("true")||newLine.equals("HIGH")){ - ret += "softSerial"+SerialNumber+".println();\n"; + //ret += "softSerial"+SerialNumber+".println();\n"; + ret += SerialName+".println();\n"; } return ret; diff --git a/src/main/java/com/ardublock/translator/block/communication/SoftSerialReadBlock.java b/src/main/java/com/ardublock/translator/block/communication/SoftSerialReadBlock.java index b2bdfd38f457a50e63febba739de91bcff23b99e..3b57744d686b693b35e25e968392d2d8335605f7 100644 --- a/src/main/java/com/ardublock/translator/block/communication/SoftSerialReadBlock.java +++ b/src/main/java/com/ardublock/translator/block/communication/SoftSerialReadBlock.java @@ -22,14 +22,25 @@ public class SoftSerialReadBlock extends TranslatorBlock TranslatorBlock tB1 = this.getRequiredTranslatorBlockAtSocket(0);//Pin Rx TranslatorBlock tB2 = this.getRequiredTranslatorBlockAtSocket(1);//Pin Tx - String SerialNumber = tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + tB2.toCode().replaceAll("\\s*_.new\\b\\s*", ""); + //String SerialNumber = tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + tB2.toCode().replaceAll("\\s*_.new\\b\\s*", ""); - if(!translator.containsSetupCommand("softSerial"+SerialNumber+".begin")){ + String SerialName = label.trim(); + if(SerialName.contains(" ")) { + SerialName = SerialName.substring(0, SerialName.indexOf(" ")); + } + + /*if(!translator.containsSetupCommand("softSerial"+SerialNumber+".begin")){ translator.addSetupCommand("softSerial"+SerialNumber+".begin(4800);"); translator.addDefinitionCommand("SoftwareSerial softSerial"+SerialNumber+"(" + tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + ", "+ tB2.toCode().replaceAll("\\s*_.new\\b\\s*", "") +");\n"); + }*/ + + if(!translator.containsSetupCommand(SerialName+".begin")){ + translator.addSetupCommand(SerialName+".begin(4800);"); + translator.addDefinitionCommand("SoftwareSerial "+SerialName+"(" + tB1.toCode().replaceAll("\\s*_.new\\b\\s*", "") + ", "+ tB2.toCode().replaceAll("\\s*_.new\\b\\s*", "") +");\n"); } - String ret = "softSerial"+SerialNumber+".read()"; + //String ret = "softSerial"+SerialNumber+".read()"; + String ret = SerialName+".read()"; return codePrefix+ret+codeSuffix; } diff --git a/src/main/resources/com/ardublock/block/ardublock.xml b/src/main/resources/com/ardublock/block/ardublock.xml index ed462928a35c69d20d3344c42ad582522dc4df65..20118081cc23491cf4e1f0832bad11849b7c7b85 100644 --- a/src/main/resources/com/ardublock/block/ardublock.xml +++ b/src/main/resources/com/ardublock/block/ardublock.xml @@ -2431,7 +2431,7 @@ </BlockConnector> </BlockConnectors> </BlockGenus> - <BlockGenus name="soft_serial_print" kind="command" color="165 42 42" initlabel="bg.soft_serial_print"> + <BlockGenus name="soft_serial_print" kind="command" color="165 42 42" initlabel="bg.soft_serial_print" editable-label="yes"> <description> <text>send message via Serial port</text> </description> @@ -2450,7 +2450,7 @@ </BlockConnector> </BlockConnectors> </BlockGenus> - <BlockGenus name="soft_serial_begin" kind="command" color="165 42 42" initlabel="bg.soft_serial_print"> + <BlockGenus name="soft_serial_begin" kind="command" color="165 42 42" initlabel="bg.soft_serial_print" editable-label="yes"> <description> <text>send message via Serial port</text> </description> @@ -2466,7 +2466,7 @@ </BlockConnector> </BlockConnectors> </BlockGenus> - <BlockGenus name="soft_serial_read" kind="data" color="165 42 42" initlabel="bg.soft_serial_read"> + <BlockGenus name="soft_serial_read" kind="data" color="165 42 42" initlabel="bg.soft_serial_read" editable-label="yes"> <BlockConnectors> <BlockConnector connector-type="string-list" connector-kind="plug" /> <BlockConnector connector-type="number" connector-kind="socket" label="bc.rx_pin_number"> @@ -2477,7 +2477,7 @@ </BlockConnector> </BlockConnectors> </BlockGenus> - <BlockGenus name="soft_serial_available" kind="data" color="165 42 42" initlabel="bg.soft_serial_available"> + <BlockGenus name="soft_serial_available" kind="data" color="165 42 42" initlabel="bg.soft_serial_available" editable-label="yes"> <BlockConnectors> <BlockConnector connector-type="boolean" connector-kind="plug" /> <BlockConnector connector-type="number" connector-kind="socket" label="bc.rx_pin_number">