Simplemente comentarles que me he vuelto loco para poder compilar el sprinter super estable de obijuan, y después de darme de cabezas una y otra vez, he logrado dar con la solución, así que lo comento por aquí por si a alguien le pasa.
Antecedentes:
S.O.:Ubuntu 12.10
PCB: Arduino mega 2560 + RAMPS 1.4
Software Arduino: 1.0.1
El problema es que bajé arduino 22 tal como decía el vídeo tutorial de obijuan, pero intentando compilar obtuve esto:
--------------------------------------------------------
In file included from /usr/lib/gcc/avr/4.7.0/../../../avr/include/util/delay.h:44:0,
from /usr/lib/gcc/avr/4.7.0/../../../avr/include/avr/delay.h:37,
from /home/abe/Escritorio/Prusa2/arduino-0022/hardware/arduino/cores/arduino/wiring_private.h:30,
from /home/abe/Escritorio/Prusa2/arduino-0022/hardware/arduino/cores/arduino/WInterrupts.c:34:
/usr/lib/gcc/avr/4.7.0/../../../avr/include/math.h:426:15: error: expected identifier or ‘(’ before ‘double’
/usr/lib/gcc/avr/4.7.0/../../../avr/include/math.h:426:15: error: expected ‘)’ before ‘>=’ token
----------------------------------------------------------
En algún mensaje del foro de Reprap, encontré que se solucionaba usando Arduino 23, pero al menos a mi me ocurría exactamente el mismo error.
Entonces, después de buscar, rebuscar, y darme con los piños, encontré un mensaje en el que se comentaba que si se deseaba compilar el sprinter en Arduino 1.0.1, que es la versión que viene por defecto en los repositorios de Ubuntu 12.10, se debían hacer los siguientes cambios en los siguientes archivos:
--------------------------------------------------------
In case anybody is interested, Sprinter will compile with Arduino 1.0
with the following changes:
Sd2Card.cpp
#include <WProgram.h> --> #include <Arduino.h>
SdFat.h
void write(uint8_t b); --> size_t write(uint8_t b);
SdFile.h
#include <WProgram.h> --> #include <Arduino.h>
void SdFile::write(uint8_t b) { --> size_t SdFile::write(uint8_t b)
{
Sprinter.h
#include <WProgram.h> --> #include <Arduino.h>
Also, the IDE will rename "Sprinter.pde" to "Sprinter.ino" as ".ino"
is the new default file extension.
--------------------------------------------------------
El único fallo que encontré en la información, es que SdFile.cpp no existe, y sí SdFile.h, en el que se encuentran las líneas que hay que modificar. ;)
Una vez realizados los cambios, el sprinter super estable se compila sin problemas en Arduino 1.0.1. Queda probarlo, pero todavía no tengo con qué probar, así que toca esperar, pero viendo los cambios que son, ... creo que esto puede pintar prusanudo. ;)
Les comento todo esto por si les pasa como a mí, y no pierdan el tan preciado elemento tiempo!, Ya saben que como decían Les Luthiers, el tiempo, es un maní! xD
Les adjunto el sprinter con las modificaciones, para aquellos a los que no les gusta tocar código ;)
Saludos! :)