En artículos anteriores hemos hablado de varios lenguajes de programación de alto nivel en modo texto para NXT como: Java (leJOS) o C (RobotC, NXC). Pues hoy queríamos mostraros otra alternativa para programar vuestro NXT con C, se trata de nxtOSEK.
nxtOSEK es una plataforma de código abierto para LEGO MINDSTORMS NXT. nxtOSEK consta de un controlador de dispositivo de LEJOS NXJ, con código fuente C/ensamblador.
nxtOsek ofrece:
– Entorno de programación ANSI C / C++, usando el conjunto de herramientas GCC; con API (Interfaz de Programación de Aplicaciones) en C y C++ para los sensores de NXT oficiales y fabricados por terceros, así como para los servomotores.
– Plataforma Eclipse CDT.
– Ejecución rápida y menos consumo de memoria
nxtOSEK se ejecuta de manera nativa en el ARM7 (procesador del ladrillo) y por si sólo consume únicamente 10Kbytes.
Hay tres formas de cargar aplicaciónes nxtOSEK en el NXT
1. Usando la tecnología de firmware mejorado de John Hansen (varios programas de nxtOSEK pueden ser subidos a un NXT. Sin embargo, cada programa de nxtOSEK tiene que ser inferior a 64Kbytes)
2. Usando la BIOS del NXT (un único programa cargado en la memoria Flash de un máximo de 224Kbytes)
3. Arranque directo desde la memoria RAM (un único programa cargado en la memoria RAM con un máximo de 64Kbytes, no se escribe la memoria Flash)
Ofrece soporte oficial para Windows, y existe soporte NO-oficial para Linux, MacOSX no está soportado.
Algunas de sus ventajas son su ligereza, el soporte para I2C y para RCX, y la posibilidad de usar archivos WAV para audio y BMP para imágenes, eliminando las limitaciones que existen en otros lenguajes. Tiene soporte para coma flotante. Permite conexión bluetooth con el ordenador, y conexión entre ladrillos, sin embargo esto último está limitado a una conexión simple entre 2 ladrillos (NO podemos conectar más de un ladrillo esclavo al ladrillo maestro).
Se trata, en definitiva, de un lenguaje apto para usuarios con unos conceptos mínimos de programación, principalmente en C y C++.
Fuente: nxtOsek