Skip to content
Snippets Groups Projects
Verified Commit 73a54808 authored by Anian Bühler's avatar Anian Bühler
Browse files

added sPSN Basic block-files

parent 9f7713da
No related merge requests found
Showing with 191 additions and 3 deletions
package com.ardublock.translator.block.didacticnetwork;
import com.ardublock.translator.Translator;
import com.ardublock.translator.block.TranslatorBlock;
import com.ardublock.translator.block.exception.SocketNullException;
import com.ardublock.translator.block.exception.SubroutineNotDeclaredException;
import com.ardublock.translator.block.numbers.StringBlock;
public class PsnAvailableBlock extends TranslatorBlock
{
public PsnAvailableBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label)
{
super(blockId, translator, codePrefix, codeSuffix, label);
}
@Override
public String toCode() throws SocketNullException, SubroutineNotDeclaredException
{
//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
String name = label.trim();
if(name.contains(" ")) {
name = name.substring(0, name.indexOf(" "));
}
return name + ".available()";
}
}
...@@ -19,10 +19,14 @@ public class PsnPublishBlock extends TranslatorBlock ...@@ -19,10 +19,14 @@ public class PsnPublishBlock extends TranslatorBlock
{ {
//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText() //Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
String name = label.trim(); String name = label.trim();
if(name.contains(" ")) { if(name.contains(" ")) {
name = name.substring(0, name.indexOf(" ")); name = name.substring(0, name.indexOf(" "));
} }
String sendString = "\nwhile(!"+name+".handleNetwork);";
//TranslatorBlock tb_name = getRequiredTranslatorBlockAtSocket(0); //TranslatorBlock tb_name = getRequiredTranslatorBlockAtSocket(0);
TranslatorBlock tb_topic = getRequiredTranslatorBlockAtSocket(0); TranslatorBlock tb_topic = getRequiredTranslatorBlockAtSocket(0);
TranslatorBlock tb_data = getRequiredTranslatorBlockAtSocket(1); TranslatorBlock tb_data = getRequiredTranslatorBlockAtSocket(1);
...@@ -39,6 +43,6 @@ public class PsnPublishBlock extends TranslatorBlock ...@@ -39,6 +43,6 @@ public class PsnPublishBlock extends TranslatorBlock
data = data.replaceAll("\"", ""); data = data.replaceAll("\"", "");
} }
return name + ".publish("+topic+", "+data+");"; return name + ".publish("+topic+", "+data+");"+sendString;
} }
} }
...@@ -24,6 +24,9 @@ public class PsnPublishOnChangeBlock extends TranslatorBlock ...@@ -24,6 +24,9 @@ public class PsnPublishOnChangeBlock extends TranslatorBlock
if(name.contains(" ")) { if(name.contains(" ")) {
name = name.substring(0, name.indexOf(" ")); name = name.substring(0, name.indexOf(" "));
} }
String sendString = "\nwhile(!"+name+".handleNetwork);";
//TranslatorBlock tb_name = getRequiredTranslatorBlockAtSocket(0); //TranslatorBlock tb_name = getRequiredTranslatorBlockAtSocket(0);
TranslatorBlock tb_topic = getRequiredTranslatorBlockAtSocket(0); TranslatorBlock tb_topic = getRequiredTranslatorBlockAtSocket(0);
TranslatorBlock tb_data = getRequiredTranslatorBlockAtSocket(1); TranslatorBlock tb_data = getRequiredTranslatorBlockAtSocket(1);
...@@ -42,6 +45,6 @@ public class PsnPublishOnChangeBlock extends TranslatorBlock ...@@ -42,6 +45,6 @@ public class PsnPublishOnChangeBlock extends TranslatorBlock
data = data.replaceAll("\"", ""); data = data.replaceAll("\"", "");
} }
return name + ".publishOnChange("+topic+", "+data+", "+threshold+");"; return name + ".publishOnChange("+topic+", "+data+", "+threshold+");"+sendString;
} }
} }
...@@ -24,6 +24,9 @@ public class PsnPublishOnChangeBoolBlock extends TranslatorBlock ...@@ -24,6 +24,9 @@ public class PsnPublishOnChangeBoolBlock extends TranslatorBlock
if(name.contains(" ")) { if(name.contains(" ")) {
name = name.substring(0, name.indexOf(" ")); name = name.substring(0, name.indexOf(" "));
} }
String sendString = "\nwhile(!"+name+".handleNetwork);";
//TranslatorBlock tb_name = getRequiredTranslatorBlockAtSocket(0); //TranslatorBlock tb_name = getRequiredTranslatorBlockAtSocket(0);
TranslatorBlock tb_topic = getRequiredTranslatorBlockAtSocket(0); TranslatorBlock tb_topic = getRequiredTranslatorBlockAtSocket(0);
TranslatorBlock tb_data = getRequiredTranslatorBlockAtSocket(1); TranslatorBlock tb_data = getRequiredTranslatorBlockAtSocket(1);
...@@ -40,6 +43,6 @@ public class PsnPublishOnChangeBoolBlock extends TranslatorBlock ...@@ -40,6 +43,6 @@ public class PsnPublishOnChangeBoolBlock extends TranslatorBlock
data = data.replaceAll("\"", ""); data = data.replaceAll("\"", "");
} }
return name + ".publishOnChange("+topic+", "+data+");"; return name + ".publishOnChange("+topic+", "+data+");"+sendString;
} }
} }
package com.ardublock.translator.block.didacticnetwork;
import com.ardublock.translator.Translator;
import com.ardublock.translator.block.TranslatorBlock;
import com.ardublock.translator.block.exception.SocketNullException;
import com.ardublock.translator.block.exception.SubroutineNotDeclaredException;
import com.ardublock.translator.block.numbers.StringBlock;
public class PsnReadBooleanBlock extends TranslatorBlock
{
public PsnReadBooleanBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label)
{
super(blockId, translator, codePrefix, codeSuffix, label);
}
@Override
public String toCode() throws SocketNullException, SubroutineNotDeclaredException
{
//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
String name = label.trim();
if(name.contains(" ")) {
name = name.substring(0, name.indexOf(" "));
}
return name + ".readBooleanPayload();";
}
}
package com.ardublock.translator.block.didacticnetwork;
import com.ardublock.translator.Translator;
import com.ardublock.translator.block.TranslatorBlock;
import com.ardublock.translator.block.exception.SocketNullException;
import com.ardublock.translator.block.exception.SubroutineNotDeclaredException;
import com.ardublock.translator.block.numbers.StringBlock;
public class PsnReadIntegerBlock extends TranslatorBlock
{
public PsnReadIntegerBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label)
{
super(blockId, translator, codePrefix, codeSuffix, label);
}
@Override
public String toCode() throws SocketNullException, SubroutineNotDeclaredException
{
//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
String name = label.trim();
if(name.contains(" ")) {
name = name.substring(0, name.indexOf(" "));
}
return name + ".readIntegerPayload();";
}
}
package com.ardublock.translator.block.didacticnetwork;
import java.util.ResourceBundle;
import com.ardublock.translator.Translator;
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.LocalVariableStringBlock;
import com.ardublock.translator.block.numbers.StringBlock;
import com.ardublock.translator.block.numbers.VariableStringBlock;
public class PsnReadPayloadBlock extends TranslatorBlock
{
private static ResourceBundle uiMessageBundle = ResourceBundle.getBundle("com/ardublock/block/ardublock");
public PsnReadPayloadBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label)
{
super(blockId, translator, codePrefix, codeSuffix, label);
}
@Override
public String toCode() throws SocketNullException, SubroutineNotDeclaredException
{
//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
String name = label.trim();
if(name.contains(" ")) {
name = name.substring(0, name.indexOf(" "));
}
TranslatorBlock tb_stringVar = getRequiredTranslatorBlockAtSocket(0);
String strinVar = tb_stringVar.toCode().replaceAll("\\s*_.new\\b\\s*", "");
if(!(tb_stringVar instanceof VariableStringBlock) || !(tb_stringVar instanceof LocalVariableStringBlock)) {
throw new BlockException(blockId, uiMessageBundle.getString("ardublock.error_msg.string_var_slot"));
}
return name + ".readPayload("+strinVar+");";
}
}
package com.ardublock.translator.block.didacticnetwork;
import java.util.ResourceBundle;
import com.ardublock.translator.Translator;
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.LocalVariableStringBlock;
import com.ardublock.translator.block.numbers.StringBlock;
import com.ardublock.translator.block.numbers.VariableStringBlock;
public class PsnReadTopicBlock extends TranslatorBlock
{
private static ResourceBundle uiMessageBundle = ResourceBundle.getBundle("com/ardublock/block/ardublock");
public PsnReadTopicBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label)
{
super(blockId, translator, codePrefix, codeSuffix, label);
}
@Override
public String toCode() throws SocketNullException, SubroutineNotDeclaredException
{
//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
String name = label.trim();
if(name.contains(" ")) {
name = name.substring(0, name.indexOf(" "));
}
TranslatorBlock tb_stringVar = getRequiredTranslatorBlockAtSocket(0);
String strinVar = tb_stringVar.toCode().replaceAll("\\s*_.new\\b\\s*", "");
if(!(tb_stringVar instanceof VariableStringBlock) || !(tb_stringVar instanceof LocalVariableStringBlock)) {
throw new BlockException(blockId, uiMessageBundle.getString("ardublock.error_msg.string_var_slot"));
}
return name + ".readTopic("+strinVar+");";
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment