summaryrefslogtreecommitdiff
path: root/src/HW/makerbot/arduino-on-gentoo/document.it.rest.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/HW/makerbot/arduino-on-gentoo/document.it.rest.txt')
-rw-r--r--src/HW/makerbot/arduino-on-gentoo/document.it.rest.txt130
1 files changed, 130 insertions, 0 deletions
diff --git a/src/HW/makerbot/arduino-on-gentoo/document.it.rest.txt b/src/HW/makerbot/arduino-on-gentoo/document.it.rest.txt
new file mode 100644
index 0000000..6b919b5
--- /dev/null
+++ b/src/HW/makerbot/arduino-on-gentoo/document.it.rest.txt
@@ -0,0 +1,130 @@
+=============================
+HW/makerbot/arduino-on-gentoo
+=============================
+:CreationDate: 2009-09-01 17:27:01
+:Id: HW/makerbot/arduino-on-gentoo
+:tags: - hardware
+ - software
+ - 3dPrint
+
+Bene, mi è arrivata la CupCake_, in scatola di montaggio. Ha
+l'elettronica già montata, e i firmware pre-installati. Ma voglio
+poter fare gli aggiornamenti, specialmente perché tutto il progetto è
+ancora in sviluppo.
+
+Allora, le `istruzioni di MakerBot`_ dicono "prendi l'ambiente
+Arduino_, applica la patch Sanguino_, e sei a posto". Facile, vero?
+
+Comincio scaricando i sorgenti per il software Arduino_. Vedete, la
+mia macchina è a 64 bit, e i binari pre-compilati sono a 32. Non
+buono.
+
+Quindi, seguendo le `istruzioni Arduino`_, faccio::
+
+ ~/arduino-src/build/linux$ ./make.sh
+
+e mi risponde::
+
+ The Java bundle that is included with Processing supports only i686 by default.
+ To build the code, you will need to install the Java 1.5.0_15 JDK (not a JRE,
+ and not any other version), and create a symlink to the directory where it is
+ installed. Create the symlink in the "work" directory, and named it "java":
+ ln -s /path/to/jdk1.5.0_15 /home/dakkar/arduino-src/build/linux/work/java"
+
+Va bene, lo faccio. Siccome non ho letto bene, faccio il symlink dal
+JDK ``icedtea6``. Non sembra dare problemi.
+
+Ora compila, ma non esegue: ci sono delle librerie a 32 bit! Chi le ha
+compilate??
+
+Guardando in Portage (sì, uso Gentoo) vedo che c'è un ebuild per una
+versione (più vecchia) di Arduino, e dichiara di dipendere proprio
+dalla libreria che mi dà problemi. Per cui::
+
+ emerge -av dev-java/rxtx uisp
+
+e ho la libreria giusta. Ovviamente, il programma Arduino non la usa
+(non sta nel ``CLASSPATH`` predefinito), per cui metto dei symlink al
+posto della versione inclusa::
+
+ rm work/lib/RXTXcomm.jar work/lib/librxtxSerial.so
+ ln -s /usr/share/rxtx-2/lib/RXTXcomm.jar work/lib/
+ ln -s /usr/lib/rxtx-2/librxtxSerial.so work/lib/
+
+Parte!
+
+Certo, ancora non c'è il supporto per Sanguino_, e la piastra
+principale della CupCake_ è un Sanguino_.
+
+Le `istruzioni Sanguino`_ dicono di copiare un paio di directory,
+sovrascrivere un po' di file, aggiungere delle linee a un file, e
+dovrebbe funzionare. Beh, non proprio. Non ha funzionato per me.
+
+Dopo un po' di ``find``, noto che il file ``boards.txt`` (quello a cui
+bisogna aggiungere righe) è stato copiato dalla sua posizione "sorgente"
+(``/home/dakkar/arduino-src/hardware/boards.txt``) alla posizione di "lavoro"
+(``/home/dakkar/arduino-src/build/linux/work/hardware/boards.txt``). Bene,
+avrei dovuto leggere *tutta* la documentazione: dice di ricompilare
+l'ambiente Arduino ogni volta che si fanno delle modifiche.
+
+A questo punto però mi sono un po' rotto di ri-fare i trucchi di cui
+sopra, quindi cambio lo script ``make.sh``::
+
+ ===================================================================
+ --- make.sh (revision 756)
+ +++ make.sh (working copy)
+ @@ -34,25 +34,7 @@
+
+ install -m 755 dist/arduino work/arduino
+
+ - ARCH=`uname -m`
+ - if [ $ARCH = "i686" ]
+ - then
+ - echo Extracting JRE...
+ - tar --extract --file=jre.tgz --ungzip --directory=work
+ - else
+ -# echo This is not my beautiful house.
+ -# if [ $ARCH = "x86_64" ]
+ -# then
+ -# echo You gots the 64.
+ -# fi
+ - echo "
+ -The Java bundle that is included with Processing supports only i686 by default.
+ -To build the code, you will need to install the Java 1.5.0_15 JDK (not a JRE,
+ -and not any other version), and create a symlink to the directory where it is
+ -installed. Create the symlink in the \"work\" directory, and named it \"java\":
+ -ln -s /path/to/jdk1.5.0_15 `pwd`/work/java"
+ - exit
+ - fi
+ + ln -s "$(java-config -O)" work/java
+ fi
+
+ cd ../..
+ @@ -91,6 +73,11 @@
+ rm -rf ../build/linux/work/classes
+ mkdir ../build/linux/work/classes
+
+ +rm ../build/linux/work/lib/RXTXcomm.jar
+ +rm ../build/linux/work/lib/librxtxSerial.so
+ +ln -s /usr/share/rxtx-2/lib/RXTXcomm.jar ../build/linux/work/lib/
+ +ln -s /usr/lib/rxtx-2/librxtxSerial.so ../build/linux/work/lib/
+ +
+ ../build/linux/work/java/bin/java \
+ -cp ../build/linux/work/java/lib/tools.jar \
+ com.sun.tools.javac.Main \
+
+Ora::
+
+ rm -rf work/
+ ./make.sh
+ ./run.sh
+
+e ho l'ambiente funzionante! Insomma, quanto meno parte e elenca tutte
+le "boards" che mi servono. Vedremo se funziona davvero.
+
+.. _CupCake: http://wiki.makerbot.com/cupcake
+.. _`istruzioni di MakerBot`: http://wiki.makerbot.com/cupcake-motherboard-firmware-update
+.. _Arduino: http://arduino.cc/
+.. _`istruzioni Arduino`: http://code.google.com/p/arduino/wiki/BuildingArduino
+.. _Sanguino: http://sanguino.cc/
+.. _`istruzioni Sanguino`: http://sanguino.cc/softwareforlinux