Ardublock ist grafische Programmierumgebung für die Arduino-IDE. Die Version 20140828 funktioniert nicht mehr mit mit der IDE-Version ab 1.6.12. (siehe z.B. hier). Eine Ardublock-Version für diese Version ist hier zu finden https://github.com/BirdBrainTechnologies/HummingbirdArdublock.
Die ardublock-all.jar
wird in den Installationsordner der IDE unter \tools\ArduBlockTool\tool
abgelegt. In der IDE ist Ardoblock dann im Menü unter Werkzeuge
zu finden.
\src\main\java\com\ardublock\translator\block
package
für neueTranslaterquellen anlegenidentifier.java
package com.ardublock.translator.block.package;
eintragen
\src\main\resources\com\ardublock\block\block-mapping.properties
\src\main\resources\com\ardublock\block\ardublock.xml
name=„package_identifier“
… initlabel=„bg.package_identifier“
name=„bd.package“
für neuen Block in der Oberfläche, Package kann auch in vorhandenen Block eingefügt werdenpackage_identifier
zufügen
\src\main\resources\com\ardublock\block\ardublock.properties
Im Verzeichnis \src\main\java\com\ardublock\translator\block
wird ein neues Package-Unterverzeichnis angelegt - hier micha59
Anschließend werden die Quell-Dateien erstellt:
Keypad_4x3.java
Keypad_4x4.java
In diese Dateien muss in die oberste Zeile der Pfad zum Package eingetragen werden:
package com.ardublock.translator.block.micha59;
In der Datei \src\main\resources\com\ardublock\block\block-mapping.properties
werden die Quellen bekannt gemacht:
micha59_Keypad_4x3=com.ardublock.translator.block.micha59.Keypad_4x3 micha59_Keypad_4x4=com.ardublock.translator.block.micha59.Keypad_4x4
In der Datei \src\main\resources\com\ardublock\block\ardublock.xml
werden die Blöcke zugefügt
<BlockGenuses> ... <BlockGenus name="micha59_Keypad_4x3" kind="command" color="0 0 96" initlabel="bg.micha59_Keypad_4x3"> <description> <text>Keypad 12 or 16 Buttons</text> </description> <BlockConnectors> <BlockConnector connector-type="number" connector-kind="socket" label="1. pin# row"> <DefaultArg genus-name="number" label="2" /> </BlockConnector> <BlockConnector connector-type="number" connector-kind="socket" label="1. pin# col"> <DefaultArg genus-name="number" label="6" /> </BlockConnector> </BlockConnectors> </BlockGenus> <BlockGenus name="micha59_Keypad_4x4" kind="command" color="0 0 96" initlabel="bg.micha59_Keypad_4x4"> <description> <text>Keypad 12 or 16 Buttons</text> </description> <BlockConnectors> <BlockConnector connector-type="number" connector-kind="socket" label="1. pin# row"> <DefaultArg genus-name="number" label="2" /> </BlockConnector> <BlockConnector connector-type="number" connector-kind="socket" label="1. pin# col"> <DefaultArg genus-name="number" label="6" /> </BlockConnector> </BlockConnectors> </BlockGenus> ... </BlockGenuses>
Beide Blöcke sollen zusammengefasst werden:
<BlockFamilies> ... <BlockFamily> <FamilyMember>micha59_Keypad_4x3</FamilyMember> <FamilyMember>micha59_Keypad_4x4</FamilyMember> </BlockFamily> ... </BlockFamilies>
Der Block soll einem vorhandenen Anzeige-Block zugefügt werden:
<BlockDrawerSets> ... <BlockDrawer button-color="205 133 63" name="bd.utilities" type="factory"> ... <BlockGenusMember>micha59_Keypad_4x4</BlockGenusMember> ... </BlockDrawer> ... </BlockDrawerSets>
Eine grundsätzliche Anleitung für Maven befindet sich hier. Ich habe Maven auf dem RaspberryPi installiert.
https://maven.apache.org/install.html
Die Verbindung zum Raspberry erfolgt über Putty mit SSH, die X11-Ausgabe so eingestellt, dass sie auf den PC zu XMing umgeleitet wird. X11-Forwarding
Damit die Übersetzung der HummingBird-Version klappte musste ich einige Dateien zu Maven installieren.
~/ardublock-master $ mvn install:install-file -Dfile=./lib/pde.jar -DpomFile=./pom.xml ~/ardublock-master $ mvn install:install-file -Dfile=./lib/arduino-core.jar -DpomFile=./pom.xml ~/ardublock-master $ mvn validate ~/ardublock-master $ mvn compile exec:java -Dexec.mainClass="com.ardublock.Main" ~/ardublock-master $ mvn clean package