Electrónica y Programación en Personal
«Si no se soluciona con un script en Python entonces no es viable»

por Yeison Cardona el 05 de abril del 2013 a las 1:31 am UTC
Pinguino IDE en su modo de linea de comandos trae una serie de herramientas útiles, muy poco conocidas por algunos usuarios.

Línea de Comandos

./pinguino_start.sh --help
Nos encontramos con las opciones disponibles:
usage: pinguino.py [-h] [-v] [-a] [-f FILENAME] [-dv DEV] [-ul]
                   [-bt BOOTLOADER] [-b] [-p] [-P] [-k] [-c] [-l] [-j] [-j53]
                   [-o] [-O] [-M] [-T] [-m] [-N] [-n] [-e] [-E] [-u] [-U]

*** Pinguino IDE ***

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show Pinguino IDE version and exit
  -a, --author          show authors of this Pinguino IDE version and exit
  -f FILENAME, --filename FILENAME
                        filename to process
  -dv DEV, --dev DEV    set developer mode
  -ul, --upload         upload code
  -bt BOOTLOADER, --boot BOOTLOADER
                        set bootloader option
  -b, --noboot          compile code for board
  -p, --pinguino2550    compile code for PINGUINO2550 board
  -P, --pinguino4550    compile code for PINGUINO4550 board
  -k, --pinguino25k50   compile code for PINGUINO25K50 board
  -c, --chrp3           compile code for CHRP3 board
  -l, --pinguino45k50   compile code for PINGUINO45K50 board
  -j, --pinguino26j50   compile code for PINGUINO26J50 board
  -j53, --pinguino27j53
                        compile code for PINGUINO27J53 board
  -o, --olimex440       compile code for PIC32_PINGUINO board
  -O, --olimex440OTG    compile code for PIC32_PINGUINO_OTG board
  -M, --olimex440Micro  compile code for PIC32_PINGUINO_MICRO board
  -T, --olimexT795      compile code for PIC32_PINGUINO_T795 board
  -m, --olimex220       compile code for PIC32_PINGUINO_220 board
  -N, --generic250      compile code for GENERIC32MX250F128 board
  -n, --generic220      compile code for GENERIC32MX220F032 board
  -e, --emperor460      compile code for EMPEROR460 board
  -E, --emperor795      compile code for EMPEROR795 board
  -u, --ubw460          compile code for UBW32_460 board
  -U, --ubw795          compile code for UBW32_795 board

Compilar un archivo .pde

Para ésta opción se debe tener una ruta del archivo .pde y el identificador de la tarjeta Pinguino para la cual se va a hacer la compilación, éste identificador son los que podemos ver cuando se ejecuta el comando de ayuda.

Vamos a suponer que queremos compilar un archivo llamado test.pde que se encuentra en el escritorio y vamos a usar la tarjeta Pinguino 4550, entonces ejecutaríamos:
./pinguino_start.sh -P -f /home/$USER/Escritorio/test.pde
-P: Pinguino 4550
-f: Ruta del archivo .pde

A la salida tendríamos algo parecido a:
Board: Pinguino 4550
Proc.: 18f4550
File : /home/yeison/Escritorio/test.pde
Configurando Pinguino:	Pinguino 4550
preprocessing ...
compiling ...
linking ...
compilation done
code size: 3098 / 24575 bytes (12% used)
OK

Programar la Tarjeta

Y por último si lo que se desea es programar un código directamente en una tarjeta Pinguino, sólo se debe agregar el bootloader que se está usando en dicha tarjeta y la opción de programar:
./pinguino_start.sh -P -f /home/$USER/Escritorio/test.pde --boot boot4 -ul
-boot: Bootloader correspondiente, boot2 para V2.x y boot4 para V4.x
-ul: Establece que cargará el programa una vez sea compilado

A la salida tendríamos algo parecido a:
Board: Pinguino 4550
Proc.: 18f4550
File : /home/yeison/Escritorio/test.pde
Configurando Pinguino:	Pinguino 4550
preprocessing ...
compiling ...
linking ...
compilation done
code size: 3098 / 24575 bytes (12% used)
Uploading...
OK

Conclusiones

Éstos sencillos comandos pueden implementarse en cualquier aplicación que requiera automatizar el proceso de programación de una tarjeta Pinguino, permitiendo así desarrollar aplicaciones derivadas con mucha mas facilidad y simplicidad.
Ya perdonarán la simpleza de entrada que ha sido ésta ;)

También podría interesarte:

Comentarios:
Sergio dijo:
oct. 5, 2013, 2:30 p.m.
Hola Yeison, se puede hacer lo mismo (compilar y grabar pinguino desde la línea de comandos) pero en windows? reemplazando el .sh por un .bat Desde ya Muchas Gracias!!
Responder a Sergio
Añadir un nuevo comentario:
Si desean una respuesta para su comentario sólo deben agregarme en G+ y hacer una mención a Yeison Cardona, así les podré responder lo antes posible.