Paso 33: Desarrollar el código para que todo funcione
En este paso tendrás que hacer nada. Sólo escribo sobre ella para que sepas cómo fue hecho el código.
Decidí usar JAL para desarrollar el firmware ya que no tengo mucho tiempo para conseguirlo laborable de Lisboa Mini Maker Faire. JAL, o a otro idioma, es un lenguaje de alto nivel para una serie de microcontroladores PIC de Microchip que precede el framework de Arduino. Como curiosidad, Massimo Banzi, uno de los fundadores de Arduino , era un temprano desarrollo JAL. Otra razón por qué decidí probar JAL era que había un código de ejemplo de dispositivo USB HID en JALlib que terminaron haciendo los primeros pasos en el desarrollo de firmware para un teclado completo mucho más fácil.
Antes de iniciar el desarrollo de código primero hice algunas investigaciones sobre cómo personas por lo general hacen en los otros proyectos de DIYkeyboard. AVR-teclado proyecto en Github de Fredrik Atmer fue particularmente útil como fuente de inspiración. Básicamente había portado el código para JAL, con algunos cambios y luego todas las funciones extras para HacKeyboard. Algo curioso es que tenía que escribir una función para controlar los LEDs WS2812B desde cero... gracioso porque no tengo un osciloscopio para medir los tiempos en las clavijas de salida del PIC18F4550 y tenía básicamente adivinar a las sincronizaciones de la MCU funcionamiento frecuencia e instrucciones por ciclo de instrucción. Después de algunos intentos logre conseguir trabajo.
Puede comprobar el código en mi GitHub, incluyendo el pre compilado .hex file.
Opcional: Como ya he mencionado, no tienes que hacer nada en este paso, a menos que quieras modificar algo en el código. En caso de que desee modificar algo necesita descargar JALlib de JALlib Github. Para compilar solo uso un comando con la siguiente estructura:
$. /(path to compiler) + (ruta al archivo .jal) + (-s) + (camino a las bibliotecas JALlib) + (opciones)
Ejemplo dentro del directorio del compilador:
. / file.jal -s jalv2... /lib/-no-variable-reutilizar - no-fusible
Nota: la variable de-no-variable-reutilización utilizará más memoria PIC, pero se compila más rápido.
El comando anterior es para la línea de comandos de Linux pero debe ser muy similar para Windows.