Paso 2: Firmware
La pantalla se representa en memoria como un conjunto de dieciséis palabras de 16 bits. Cada elemento de la matriz representa una fila de LEDs (porque eso es lo wired!). Para cambiar la imagen se muestran las palabras en la matriz se cambian de puesto hacia fuera un pedacito en un momento de la declaración "sr.loadValues (game_board [CURRENT_GAMEBOARD], 16);" que utiliza la librería ShiftRegister para bit-bang la interfaz 74HC595 compatible con la TLC5926 de TI. Esta rutina relojes en todos los bits y luego cambia la clavija de enganche para permitir las salidas deseadas a través de todas las fichas a la vez para mantener las cosas estables.
Dos cosas tener en cuenta que queremos jugar con. Animaciones como sombreado de representación debería ser posible mediante una interfaz a un ordenador o por generar Marcos algorítmicamente. Función de digitalWrite de Arduino es dolorosamente lenta, sin embargo, por lo que para conseguir mayor marco de tarifas o más tonos de gris que nos gustaría hacer algunos ajustes a la biblioteca de ShiftRegister para hacer más específica nuestra pantalla y utilizar bajo nivel funciones de manipulación de puerto en lugar de digitalWrite. Nos figura la escala de grises de 4 bits en el refresco de 30 Hz es plausible detrás-de-la-envolvente.