urriellu.net => Proyectos => Software => Pigmeo

Pigmeo pretende mejorar la calidad de las aplicaciones escritas para microcontroladores, facilitar y acelerar su desarrollo.

Con Pigmeo puedes escribir programas para microcontroladores en cualquier lenguaje de .NET, como C#, Visual Basic .NET, Nemerle, C++/CLI, IronPython... usando cualquier clase o método incluído en el .NET Framework, además de las librerías ofrecidas por Pigmeo Framework, la mayoría orientadas a periféricos de microcontroladores.

 

Pigmeo Compiler

Pigmeo Compiler es un programa que toma el código fuente de tu programa escrito en cualquier lenguaje de .NET y lo convierte al lenguaje ensamblador de la arquitectura de destino (PIC, dsPIC, AVR, ARM...). Esto significa que puedes escribir aplicaciones en C#, Visual Basic .NET, J#, C++/CLI o cualquier otro lenguaje de .NET, compilarlas utilizando el compilador que quieras, y entonces Pigmeo Compiler a partir del ejecutable de .NET (el archivo .exe) genera el código en lenguaje ensamblador que puede ser ensamblador con cualquier programa ensamblador.

 

Pigmeo Framework

Pigmeo Framework es un conjunto de librerías útiles para desarrollar aplicaciones para microcontroladores. En él podrás encontrar extensiones para .NET, más tipos numéricos básicos (UInt3, float16...), librerías de dispositivos (PIC16F716.dll, PIC16F877A.dll, dsPIC30F6010A.dll...) y un montón de clases orientadas a que el microcontrolador interactúe fácilmente con otros dispositivos y periféricos (LEDs, LCDs, displays de 7 segmentos, motores, otros microcontroladores...).

 

Características

  • Multiplataforma. Puede ejecutarse en cualquier sistema operativo y arquitectura en donde haya instalada una máquina virtual (CLR) de .NET (Windows, Linux, Mac OS X, *BSD, Symbian...)
  • Pigmeo Compiler está diseñado para generar código muy eficiente
  • Retargetable. El compilador puede fácilmente para soportar otras arquitecturas
  • Implementaciones configurables. El usuario puede elegir cómo se implementarán a bajo nivel ciertos algoritmos y comportamientos, para poder decidir qué manera es más eficiente según el tipo de programa que se esté desarrollando
  • Interfaz sólo texto (línea de comandos) y gráfica (WinForms). Se pueden añadir más interfaces con muy poco trabajo
  • Completamente internacionalizado y muy fácil de traducir

 

Interfaces gráficas

Algunas imágenes y vídeos de una de las primeras versiones:

Pantalla principal de la interfaz WinForms de Pigmeo Compiler corriendo sobre Windows XPAyuda de la interfaz por consola de Pigmeo CompilerInterfaz WinForms de Pigmeo Compiler corriendo en LinuxEsquema electrónico de ejemplo para controlar dos motores de corriente continua utilizando un circuito integrado L293 conectado a un microcontroladorCódigo de ejemplo para controlar dos motores de corriente continua utilizando un circuito integrado L293 conectado a un microcontroladorEsquema electrónico de ejemplo para utilizar un display de siete segmentos utilizando PigmeoCódigo de ejemplo para utilizar un display de siete segmentos utilizando PigmeoObteniendo información (desde la consola) de un ejecutable de .NET antes de ser compiladoCódigo en lenguaje ensamblador generado por Pigmeo Compiler a partir de un programa de ejemplo escrito en C#Pantalla de configuración de la compilación de la interfaz WinForms de Pigmeo Compiler corriendo sobre Windows XP 

Pigmeo Compiler 0.0.2 compilando un programa de ejemplo desde la consola.

Pigmeo Compiler 0.0.2 compilando un programa de ejemplo desde la interfaz de WinForms (sobre Linux).

 

Más información

Pigmeo participó en el II Concurso Universitario de Software Libre y quedó en el segundo puesto de la categoría Mejor Proyecto Innovador, de entre 95 participantes en tres categorías (Mejor Proyecto Innovador, Mejor Proyecto Comunitario y Mejor Proyecto Educativo).

Toda la documentación, además de ejemplos, foros, noticias, código fuente y descargas pueden encontrarse en el sitio web oficial de Pigmeo.