====== 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