====== Ardublock ======
[[https://sourceforge.net/projects/ardublock/|Ardublock]] ist grafische Programmierumgebung für die Arduino-IDE. Die Version 20140828 funktioniert nicht mehr mit mit der IDE-Version ab 1.6.12. ([[https://github.com/taweili/ardublock/issues/159|siehe z.B. hier)]]. Eine Ardublock-Version für diese Version ist hier zu finden [[https://github.com/BirdBrainTechnologies/HummingbirdArdublock]].
===== In Arduino-IDE einfügen =====
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.
===== Eigene Erweiterungen =====
==== Vorgehensweise ====
''\src\main\java\com\ardublock\translator\block''
* Unterverzeichnis ''package'' für neueTranslaterquellen anlegen
* Dateibezeichnungen sind ''identifier.java''
* In der Java-Quelle oben: ''package com.ardublock.translator.block.package;'' eintragen
''\src\main\resources\com\ardublock\block\block-mapping.properties''
* Eintrag zufügen für neuen Block
''\src\main\resources\com\ardublock\block\ardublock.xml''
* einen neuen BlockGenus anlegen, ''name="package_identifier"'' ... ''initlabel="bg.package_identifier"''
* BlockDrawer ''name="bd.package"'' für neuen Block in der Oberfläche, Package kann auch in vorhandenen Block eingefügt werden
* BlockGenusMember für ''package_identifier'' zufügen
''\src\main\resources\com\ardublock\block\ardublock.properties''
* für bd.package, bg.package_identifier, bg.package_identifier.desciption einen Bezeichner eintragen
==== Beispiel ====
=== Erstellen einer Quelle ===
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;''
=== Einfügen in Oberfläche ===
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
...
Keypad 12 or 16 Buttons
Keypad 12 or 16 Buttons
...
Beide Blöcke sollen zusammengefasst werden:
...
micha59_Keypad_4x3
micha59_Keypad_4x4
...
Der Block soll einem vorhandenen Anzeige-Block zugefügt werden:
...
...
micha59_Keypad_4x4
...
...
===== Übersetzen mit Maven =====
Eine grundsätzliche Anleitung für Maven befindet sich [[https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html|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. [[weiteres:raspberry:sonstiges#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