Paso 4: Software de Arduino
El software de Arduino consiste en el programa principal (mpc.ino) y las siguientes bibliotecas:
- bt - SW Driver para el módulo de Bluetooth
- LDP8806 - SW Driver para tiras de LED
- MemoryFree - funciones para detectar la memoria RAM disponible
- mpcgif - archivos de reproducción de GIF en memoria RAM o memoria Flash
- fotos - imágenes de GIF internos almacenados en Flash
- rastro - funciones para depuración de SW
Salida periódica de los cuadros a las tiras de LED se realiza interrupción conducido. Hay dos toggle frame buffer. Cada búfer de marco tiene una foto con 40 x 151 pixels. Cada pixel es un índice de paleta de color de un byte. Mientras que una memoria intermedia de trama es salida para las tiras de LED por medio de interrupciones y DMA, el otro frame buffer es preparado por el programa principal (por ejemplo, la función de decodificación de las imágenes GIF). Alternar de los frame buffers realiza la rutina de interrupción de marco.
Hay una interrupción de marco por la revolución desencadenada por el sensor de infrarrojos. La rutina de interrupción del marco mide (a través de un temporizador de hardware) las evolución velocidad y programas columna periódicas interrupciones (una por columna, es decir 150 interrupciones por la revolución) con un temporizador de hardware. La rutina de interrupción de la columna salidas de la columna actual para las tiras LED. Para rendimiento salida de razones se realiza a través de tres canales que operan totalmente en paralelo.
El código de fuente completo de Arduino está disponible en github.