Icaro Bloques 1.0.8-3 y Pingüino Bootloader Versión 4

Icaro Bloques llega a la versión 1.0.8-3 y trae como principal cambio el uso del bootloader de pingüino  versión 4.

Este bootloader esta escrito en sdcc3 y entre los cambios notables está que es más pequeño y nos deja más espacio para nuestro firmware.

El cambio se ve impulsado por problemas con en Fedora 24 y 25 en la comunicación serial. En algunos casos no se lograba montar adecuadamente el dispositivo ACM, aunque en algunos casos el PIC se colgaba al inicializar. Lo que uno veía era que la luz de estado del PIC se apagaba justo después de encender, haciendo un parpadeo de un lapso apagado largo y un breve destello.

Lo más novedoso es el proceso de ejecución y carga de firmwares. Ahora la placa entra en estado de ejecución del firmware al encender y solo entra en la rutina de carga al apretar el botón reset.

Con el nuevo bootloader el proceso de carga del firmware cambia. Los pasos son a como siguen:

  1. Dar click en el botón de “Compilar” en Icaro Bloques para compilar el firmaware
  2. Dar click en Cargar para enviar el firmaware al PIC
  3. Oprimir el botón de reset en la placa. (El led de estado parpadea de forma continua)
  4. Dar click “Aceptar” en la ventanita lanzador.py que nos muestra la comunicación de la PC y la placa
  5. Dar click en OK en la notificación del resultado de la carga.

La carga es mucho más rápida.

Otras ventajas del nuevo bootloader es que se han trabajado las librerías, y por ejemplo ahora el control de servos es más preciso.

Si bien Icaro Bloques 1.0.8-3 tiene por defecto comunicarse con la versión 4 del bootloader uno puede editar el archivo /home/user/.icaro/config.ini

[general]
turtlear = /usr/share/sugar/activities/TurtleBlocks.activity/turtleblocks.py
dir = firmware
sdcc = sdcc-sdcc

[icaro_config]
bootloader = v4

Solo hay que reemplazar el número 4 por un número 2. Con ese cambio estaremos listos para correr el programa con PICs que tengan aun el bootloader de la versión 2 de pingüino.

Pilas no esta disponible en Icaro Bloques 1.0.8-3 debido a que no se ha trabajado las nuevas librerías para comunicación Bulk. Sin embargo se ha optado por avanzar debido a los grandes problemas de comunicación con el firmaware de tortucaro para comunicación CDC.