Skip to content

Commit

Permalink
Add ArduinoToSerial block for sending data to MoleGraph multiplatform…
Browse files Browse the repository at this point in the history
  • Loading branch information
e-Mole committed Jun 8, 2016
1 parent fdb6015 commit 0672972
Show file tree
Hide file tree
Showing 6 changed files with 1,289 additions and 91 deletions.
12 changes: 11 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,16 @@
<version>6.3.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.6.4</version>
</dependency>
</dependencies>
<url>http://ardublock.com/</url>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
// Not now used by standard blocks. Retained as long as it is referenced by legacy blocks.
package com.ardublock.translator.block.molegraph;

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;

public class ArduinoToSerial extends TranslatorBlock
{

public ArduinoToSerial(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label)
{
super(blockId, translator, codePrefix, codeSuffix, label);
}

@Override
public String toCode() throws SocketNullException, SubroutineNotDeclaredException
{
TranslatorBlock translatorBlock = this.getRequiredTranslatorBlockAtSocket(0);

translator.addHeaderFile("ArduinoToSerial.h");
translator.addDefinitionCommand("ArduinoToSerial arduinoToSerial;");
translator.addSetupCommand("arduinoToSerial.Setup();\n" +
"arduinoToSerial.SetSendingCallback(&UpdateGraphChannels);\n" +
"arduinoToSerial.SetMeasurementStartedCallback(&MeasurementStartedCallback);\n" +
"arduinoToSerial.SetMeasurementStoppedCallback(&MeasurementStoppedCallback);\n" +
"arduinoToSerial.SetMeasurementPausedCallback(&MeasurementPausedCallback);\n" +
"arduinoToSerial.SetMeasurementContinuedCallback(&MeasurementContinuedCallback);\n" +
"pinMode(13, OUTPUT);");

String ch1 = translatorBlock.toCode();
translatorBlock = getRequiredTranslatorBlockAtSocket(1);
String ch2 = translatorBlock.toCode();
translatorBlock = getRequiredTranslatorBlockAtSocket(2);
String ch3 = translatorBlock.toCode();
translatorBlock = getRequiredTranslatorBlockAtSocket(3);
String ch4 = translatorBlock.toCode();
translatorBlock = getRequiredTranslatorBlockAtSocket(4);
String ch5 = translatorBlock.toCode();
translatorBlock = getRequiredTranslatorBlockAtSocket(5);
String ch6 = translatorBlock.toCode();
translatorBlock = getRequiredTranslatorBlockAtSocket(6);
String ch7 = translatorBlock.toCode();
translatorBlock = getRequiredTranslatorBlockAtSocket(7);
String ch8 = translatorBlock.toCode();

translator.addDefinitionCommand("\n" +
"void UpdateGraphChannels(void)\n" +
"{\n" +
"arduinoToSerial.SetChannelValue(1, " + ch1 + ");\n" +
"arduinoToSerial.SetChannelValue(2, " + ch2 + ");\n" +
"arduinoToSerial.SetChannelValue(3, " + ch3 + ");\n" +
"arduinoToSerial.SetChannelValue(4, " + ch4 + ");\n" +
"arduinoToSerial.SetChannelValue(5, " + ch5 + ");\n" +
"arduinoToSerial.SetChannelValue(6, " + ch6 + ");\n" +
"arduinoToSerial.SetChannelValue(7, " + ch7 + ");\n" +
"arduinoToSerial.SetChannelValue(8, " + ch8 + ");\n" +
"}");

translator.addDefinitionCommand("void MeasurementStartedCallback(void)\n" +
"{\n" +
"digitalWrite(13, HIGH);\n" +
"}\n" +
"void MeasurementStoppedCallback(void)\n" +
"{\n" +
"digitalWrite(13, LOW);\n" +
"}\n" +
"void MeasurementPausedCallback(void)\n" +
"{\n" +
"digitalWrite(13, LOW);\n" +
"}\n" +
"void MeasurementContinuedCallback(void)\n" +
"{\n" +
"digitalWrite(13, HIGH);\n" +
"}\n");

String ret = "arduinoToSerial.InLoop();\n";
return ret;
}

}
13 changes: 13 additions & 0 deletions src/main/resources/com/ardublock/block/ardublock.properties
Original file line number Diff line number Diff line change
Expand Up @@ -1047,6 +1047,7 @@ bg.DuinoEDU_IRREMOTE_NE_PAS_MEMORISER=No Mem
bg.DuinoEDU_IRREMOTE_MEMORISER_200_MS=200Ms Mem
bg.DuinoEDU_IRREMOTE_MEMORISER_2000_MS=20000Ms Mem
bg.DuinoEDU_infrared_compare=Key of Infrared
bg.DuinoEDU_infrared_compare.description=Key of Infrared
bc.DuinoEDU_Brightness=Brightness
bc.DuinoEDU_Display=Display
bg.DuinoEDU_On_digit1=1
Expand Down Expand Up @@ -1742,3 +1743,15 @@ bg.Midi_GS=G#
bg.Midi_A=A
bg.Midi_AS=A#
bg.Midi_B=B

bd.molegraph=MoleGraph
bg.arduinotoserial_default=ArduinoToSerial
bg.arduinotoserial_default.description=Add the ability to send data from Arduino to MoleGraph app (www.e-mole.cz/diy/molegraph)
bc.channel-1=ch 1
bc.channel-2=ch 2
bc.channel-3=ch 3
bc.channel-4=ch 4
bc.channel-5=ch 5
bc.channel-6=ch 6
bc.channel-7=ch 7
bc.channel-8=ch 8
56 changes: 51 additions & 5 deletions src/main/resources/com/ardublock/block/ardublock.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4483,7 +4483,7 @@
</BlockGenus>
<BlockGenus name="DuinoEDU_infrared_compare" kind="function" color="0 255 0" initlabel="bg.DuinoEDU_infrared_compare">
<description>
<text>DuinoEDU infrared compare</text>
<text>infrared compare</text>
</description>
<BlockConnectors>
<BlockConnector connector-type="boolean" connector-kind="plug" label="code" />
Expand Down Expand Up @@ -10457,7 +10457,47 @@
<BlockConnector connector-type="number" connector-kind="plug" position-type="mirror"/>
</BlockConnectors>
</BlockGenus>


<!-- ArduinoToGraph e-Mole tests -->
<BlockGenus name="arduinotoserial_default" kind="command" color="0 67 189" initlabel="bg.arduinotoserial_default">
<description>
<text>ArduinoToSerial Default</text>
</description>
<BlockConnectors>
<BlockConnector connector-type="number" connector-kind="socket" label="bc.channel-1">
<DefaultArg genus-name="number_double" label="0.0" />
</BlockConnector>
<BlockConnector connector-type="number" connector-kind="socket" label="bc.channel-2">
<DefaultArg genus-name="number_double" label="0.0" />
</BlockConnector>
<BlockConnector connector-type="number" connector-kind="socket" label="bc.channel-3">
<DefaultArg genus-name="number_double" label="0.0" />
</BlockConnector>
<BlockConnector connector-type="number" connector-kind="socket" label="bc.channel-4">
<DefaultArg genus-name="number_double" label="0.0" />
</BlockConnector>
<BlockConnector connector-type="number" connector-kind="socket" label="bc.channel-5">
<DefaultArg genus-name="number_double" label="0.0" />
</BlockConnector>
<BlockConnector connector-type="number" connector-kind="socket" label="bc.channel-6">
<DefaultArg genus-name="number_double" label="0.0" />
</BlockConnector>
<BlockConnector connector-type="number" connector-kind="socket" label="bc.channel-7">
<DefaultArg genus-name="number_double" label="0.0" />
</BlockConnector>
<BlockConnector connector-type="number" connector-kind="socket" label="bc.channel-8">
<DefaultArg genus-name="number_double" label="0.0" />
</BlockConnector>
</BlockConnectors>
<!--
<Images>
<Image>
<FileLocation>com/ardublock/block/SG90.png</FileLocation>
</Image>
</Images>
-->
</BlockGenus>

</BlockGenuses>

<BlockFamilies>
Expand Down Expand Up @@ -10724,7 +10764,7 @@
<FamilyMember>DuinoEDU_neopixel_pixel_colorGRB</FamilyMember>
<FamilyMember>DuinoEDU_neopixel_pixel_colorRGB</FamilyMember>
</BlockFamily>
<BlockFamily>
<BlockFamily>
<FamilyMember>DDRA</FamilyMember>
<FamilyMember>DDRB</FamilyMember>
<FamilyMember>DDRC</FamilyMember>
Expand Down Expand Up @@ -10982,7 +11022,7 @@
<FamilyMember>DUPONT_CS</FamilyMember>
<FamilyMember>ESPLORA_CS</FamilyMember>
</BlockFamily>
<BlockFamily>
<BlockFamily>
<FamilyMember>Midi_C</FamilyMember>
<FamilyMember>Midi_CS</FamilyMember>
<FamilyMember>Midi_D</FamilyMember>
Expand All @@ -10996,7 +11036,7 @@
<FamilyMember>Midi_AS</FamilyMember>
<FamilyMember>Midi_B</FamilyMember>
</BlockFamily>


</BlockFamilies>

<BlockDrawerSets>
Expand Down Expand Up @@ -11554,6 +11594,12 @@
<BlockGenusMember>midi_command</BlockGenusMember>
<!-- <BlockGenusMember>midi_note</BlockGenusMember> -->
</BlockDrawer>

<!-- ArduinoToSerial e-Moel test -->
<BlockDrawer button-color="0 67 189" name="bd.molegraph" type="factory">
<BlockGenusMember>arduinotoserial_default</BlockGenusMember>
</BlockDrawer>

<!--
<BlockDrawer button-color="135 206 235" name="bd.linksprite_LinkerKit">
<BlockGenusMember>ls_10mmLEDModule</BlockGenusMember>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -846,3 +846,6 @@ Midi_GS=com.ardublock.translator.block.jerusalab.MidiInputPortBlock
Midi_A=com.ardublock.translator.block.jerusalab.MidiInputPortBlock
Midi_AS=com.ardublock.translator.block.jerusalab.MidiInputPortBlock
Midi_B=com.ardublock.translator.block.jerusalab.MidiInputPortBlock

#arduinotoserial
arduinotoserial_default=com.ardublock.translator.block.molegraph.ArduinoToSerial
Loading

0 comments on commit 0672972

Please sign in to comment.