24-10-2018, 11:42 PM
Últimamente he contestado a muchas preguntas relacionadas con problemas a la hora de instalar Marlin, casi siempre debidos a errores que impiden la compilación del archivo que se graba en la memoria flash de la MCU.
Dichos errores pueden ser de dos tipos: por problemas en el entorno de compilación o por defectos en la configuración del sketch, en este caso, el firmware Marlin.
Los primeros son difíciles de diagnosticar, ya que es complejo meter mano en el interior de los programas que realizan la compilación (normalmente el IDE de Arduino).
Además, se puede sumar a la fiesta el sistema operativo del ordenador huésped, si se han instalado en él (solo me referiré al entorno Windows y a su versión 10).
Por ello, la mejor solución siempre es partir de un entorno controlado, lo que conlleva utilizar aplicaciones cuyo origen sea confiable e intentar utilizarlas, si es posible, sin instalarlas en el ordenador.
Para el mundo Arduino, la herramienta más popular y utilizada es el IDE y su página oficial de descarga es la fuente más confiable.
En ella se encuentran dos versiones: una instalable y la otra en un archivo comprimido (ZIP) con todo el entorno dentro. Como indicaba, es mejor utilizar esta última.
Lo único que se puede echar en falta respecto a instalarlo, puede que sea la asociación de archivos a la aplicación arduino.exe, cosa que se puede hacer, si se quiere, de forma manual.
Pero antes hay que tener en cuenta el punto de partida en que se encuentra el ordenador: ¿ha utilizado antes el IDE? Y si es así, ¿está instalado o como ejecutable nada más?
Si se ha utilizado antes, para partir de una situación limpia hay que realizar algunas cosas: si está instalado, lo primero es desinstalarlo.
Con honrosas excepciones, las aplicaciones suelen tener unos procesos de desinstalación incompletos y que dejan restos en el sistema, normalmente como carpetas con ficheros de configuración no borradas o como entradas perdidas en el registro de Windows.
El IDE de Arduino utiliza dos carpetas que crea la primera vez que se ejecuta, sea instalado o no: %LOCALAPPDATA%\Arduino15 y %USERPROFILE%\Documents\Arduino.
Cuando se desinstala no las borra, aunque avisa de ello durante el proceso de desinstalación. Si no se borran, el siguiente IDE que se utilice podría mantener algunas características y configuraciones del anterior.
Sobre las entradas del registro, Arduino hace un buen trabajo y solo quedan 5 sin eliminar, seguramente no creadas por él sino por Windows durante la instalación. No tienen relevancia, aunque conviene acostumbrarse a utilizar un limpiador del registro (tipo cCleaner, por ejemplo) después de desinstalar cualquier aplicación.
Con estos pasos, ya tenemos el sistema limpio para ejecutar el nuevo IDE.
Para ello, descomprimimos el archivo ZIP que hemos descargado, lo que nos creará una carpeta dentro de la cual se encuentra todo el entorno, denominada arduino-1.8.7 para la última versión.
A partir de aquí, solo tenemos que ejecutar la aplicación arduino.exe que se encuentra en dicha carpeta, cada vez que queramos abrir el IDE.
Este viene con una serie de añadidos por defecto, entre los que se encuentran algunas librerías, una serie de placas y MCU’s soportadas.
Si vamos a utilizarlo con una placa no soportada o con un sketch que necesite una librería no incluida, hay que facilitarle los archivos correspondientes.
Para las librerías, el IDE tiene un gestor que permite, si tenemos conexión a Internet, descargarlas e instalarlas. También podremos instalarlas a partir de los archivos incluidos en un fichero comprimido de tipo ZIP.
El gestor de librerías se encuentra en el menú Programa>Incluír librería>Gestionar librerías. Hay que poner el nombre de la librería en el cuadro de diálogo y dar a buscar. Si la encuentra, solo hay que seleccionarla e instalarla.
Para instalarla manualmente, una vez descargado el archivo ZIP que la incluye, hay que ir al menú Programa>Incluír librería>Añadir librería .ZIP…, seleccionar el fichero descargado y aceptar.
La librería no incluida que suele ser necesaria es U8Glib, utilizada para controlar las pantallas de tipo gráfico, que se puede instalar de las dos formas. Se puede descargar en archivo ZIP en su versión 1.19.1 de aquí.
Con respecto a las placas, si la que vamos a utilizar no viene soportada de serie, tendremos que descargar los archivos con la información que necesita el IDE para poder reprogramarla.
Para ello, tendremos que conseguir dichos archivos en un formato compatible con el IDE y colocarlos en una carpeta con el nombre que identifique a esa placa o familia de placas, que a su vez incluiremos en la carpeta hardware del IDE.
Las más comunes y que no vienen soportadas de serie, son las Anet y las de la familia Sanguino. Sus carpetas respectivas se pueden descargar de los siguientes enlaces: Anet y Sanguino.
Con todo lo realizado hasta ahora, tendremos preparado el entorno para compilar y grabar en la MCU de nuestra placa el firmware Marlin.
La última versión estable de 8 bits es la 1.1.9, que se puede descargar de aquí.
La versión 2.0, que tiene soporte en este momento para 8 y 32 bits, se puede descargar de aquí. Esta es una versión en fase “bugfix” (corrección de errores), por lo que podrían presentarse algunos durante su uso.
Dichos errores pueden ser de dos tipos: por problemas en el entorno de compilación o por defectos en la configuración del sketch, en este caso, el firmware Marlin.
Los primeros son difíciles de diagnosticar, ya que es complejo meter mano en el interior de los programas que realizan la compilación (normalmente el IDE de Arduino).
Además, se puede sumar a la fiesta el sistema operativo del ordenador huésped, si se han instalado en él (solo me referiré al entorno Windows y a su versión 10).
Por ello, la mejor solución siempre es partir de un entorno controlado, lo que conlleva utilizar aplicaciones cuyo origen sea confiable e intentar utilizarlas, si es posible, sin instalarlas en el ordenador.
Para el mundo Arduino, la herramienta más popular y utilizada es el IDE y su página oficial de descarga es la fuente más confiable.
En ella se encuentran dos versiones: una instalable y la otra en un archivo comprimido (ZIP) con todo el entorno dentro. Como indicaba, es mejor utilizar esta última.
Lo único que se puede echar en falta respecto a instalarlo, puede que sea la asociación de archivos a la aplicación arduino.exe, cosa que se puede hacer, si se quiere, de forma manual.
Pero antes hay que tener en cuenta el punto de partida en que se encuentra el ordenador: ¿ha utilizado antes el IDE? Y si es así, ¿está instalado o como ejecutable nada más?
Si se ha utilizado antes, para partir de una situación limpia hay que realizar algunas cosas: si está instalado, lo primero es desinstalarlo.
Con honrosas excepciones, las aplicaciones suelen tener unos procesos de desinstalación incompletos y que dejan restos en el sistema, normalmente como carpetas con ficheros de configuración no borradas o como entradas perdidas en el registro de Windows.
El IDE de Arduino utiliza dos carpetas que crea la primera vez que se ejecuta, sea instalado o no: %LOCALAPPDATA%\Arduino15 y %USERPROFILE%\Documents\Arduino.
Cuando se desinstala no las borra, aunque avisa de ello durante el proceso de desinstalación. Si no se borran, el siguiente IDE que se utilice podría mantener algunas características y configuraciones del anterior.
Sobre las entradas del registro, Arduino hace un buen trabajo y solo quedan 5 sin eliminar, seguramente no creadas por él sino por Windows durante la instalación. No tienen relevancia, aunque conviene acostumbrarse a utilizar un limpiador del registro (tipo cCleaner, por ejemplo) después de desinstalar cualquier aplicación.
Con estos pasos, ya tenemos el sistema limpio para ejecutar el nuevo IDE.
Para ello, descomprimimos el archivo ZIP que hemos descargado, lo que nos creará una carpeta dentro de la cual se encuentra todo el entorno, denominada arduino-1.8.7 para la última versión.
A partir de aquí, solo tenemos que ejecutar la aplicación arduino.exe que se encuentra en dicha carpeta, cada vez que queramos abrir el IDE.
Este viene con una serie de añadidos por defecto, entre los que se encuentran algunas librerías, una serie de placas y MCU’s soportadas.
Si vamos a utilizarlo con una placa no soportada o con un sketch que necesite una librería no incluida, hay que facilitarle los archivos correspondientes.
Para las librerías, el IDE tiene un gestor que permite, si tenemos conexión a Internet, descargarlas e instalarlas. También podremos instalarlas a partir de los archivos incluidos en un fichero comprimido de tipo ZIP.
El gestor de librerías se encuentra en el menú Programa>Incluír librería>Gestionar librerías. Hay que poner el nombre de la librería en el cuadro de diálogo y dar a buscar. Si la encuentra, solo hay que seleccionarla e instalarla.
Para instalarla manualmente, una vez descargado el archivo ZIP que la incluye, hay que ir al menú Programa>Incluír librería>Añadir librería .ZIP…, seleccionar el fichero descargado y aceptar.
La librería no incluida que suele ser necesaria es U8Glib, utilizada para controlar las pantallas de tipo gráfico, que se puede instalar de las dos formas. Se puede descargar en archivo ZIP en su versión 1.19.1 de aquí.
Con respecto a las placas, si la que vamos a utilizar no viene soportada de serie, tendremos que descargar los archivos con la información que necesita el IDE para poder reprogramarla.
Para ello, tendremos que conseguir dichos archivos en un formato compatible con el IDE y colocarlos en una carpeta con el nombre que identifique a esa placa o familia de placas, que a su vez incluiremos en la carpeta hardware del IDE.
Las más comunes y que no vienen soportadas de serie, son las Anet y las de la familia Sanguino. Sus carpetas respectivas se pueden descargar de los siguientes enlaces: Anet y Sanguino.
Con todo lo realizado hasta ahora, tendremos preparado el entorno para compilar y grabar en la MCU de nuestra placa el firmware Marlin.
La última versión estable de 8 bits es la 1.1.9, que se puede descargar de aquí.
La versión 2.0, que tiene soporte en este momento para 8 y 32 bits, se puede descargar de aquí. Esta es una versión en fase “bugfix” (corrección de errores), por lo que podrían presentarse algunos durante su uso.