Tiny JSON

json-c-parserEn esta entrada os presento tiny json un parser JSON en C. Este parser da una solución de compromiso entre versatilidad y bajo perfil de memoria. Lo que lo convierte en una excelente opción para proyectos de IoT.

Para que el parser cree instancias de elementos JSON se le pasa un array de elementos JSON. Normalmente la  memoria para este array es reservada estáticamente. Este parser no tiene límites en niveles de anidamiento de objetos JSON y array. El único límite es el tamaño del array de elementos JSON que se le pase. No usa recursividad.

Sigue leyendo

Configurar Netbeans con msp430-gcc y mspdebug.

netbeans logo

Para trabajar con msp430 la herramienta Code Composer Studio es una buena opción. Pero está basado en Eclipse a mi me gusta más NetBeans. En la entrada entrada anterior hacía referencia a un proyecto msp430 con NetBeans. Así que me parece buena idea explicar como lo he configurado.

Sigue leyendo

Port de FreeRTOS para la placa launchpad msp-exp430g2.

real-time-searchEl único port oficial de FreeRTOS para MSP430 es MSP430F449. Si se intenta utilizar con un micro de la familia MSP430G2 no va a compilar. Por eso me decidí a a crear uno.

Para empezar busqué por Internet y encontré parte del trabajo ya hecho en un repo de Peter Bigot. Él continuó el port para los MSP430X 20-bit extension con FreeRTOS V7.1.1. Ahora lo he actualizado para FreeRTOS V8.2.2.

Sigue leyendo

Demostración del planifacador de protothreads

low-power-multi-threadingEn la pasada entrada Planificación de protothreads para bajo consumo hice una introducción a un sistema de protothreads más scheduler útil para bajo consumo.  En la presente entrada presento un proyecto de demostración para mostrar su funcionamiento.

Este proyecto ha sido desarrollado con PIC24, con la placa de desarrollo Explorer-16 y con el IDE MPLABx.

Sigue leyendo

Planificación de protothreads para bajo consumo.

ProtothreadsLas protohebras simplifican enormemente la programación orientada a eventos en sistemas empotrados con poca memoria. Utilizar dispositivos con poca RAM ayuda a disminuir el consumo.

Planificar las protohebras es sencillo si se va a programar en bare metal. Se pueden ejecutar de forma secuencial en un bucle infinito obteniendo una planificación round robin. Pero esto no es una buena idea en sistemas alimentados con baterías. Tener la CPU siempre activa consume mucha energía.

En esta entrada presento una modificación de las protohebras de Adam Dunkels para que estas indiquen el caso en el que todos los hilos estén interbloqueados esperando algún evento hardware. En este caso se puede poner la CPU en modo bajo consumo. También presento un sencillo planificador que utilice esta característica.

Sigue leyendo

Plagio de placas de circuito impreso

Tarjeta de control de display LED modelo Biznaga. Vista desde los puertos.En el Diccionario de la lengua española de la Real Academia Española se define plagio como la acción de «copiar en lo sustancial obras ajenas, dándolas como propias». Esto es lo que me ha ocurrido con mi diseño de tarjeta Biznaga. (CPU para pantallas LED). Esto demuestra que el diseño de mi tarjeta está funcionando tan bien y ha tenido tanto éxito que es digna de copiarse.

Sigue leyendo