Stap 33: Ontwikkeling van de code om het allemaal werk
In deze stap hoeft u niet om iets te doen. Ik ben gewoon te schrijven over het zo dat je weet hoe de code werd gemaakt.
Ik besloot om het gebruiken van JAL voor het ontwikkelen van de firmware, omdat ik niet veel tijd te halen op werking voor Lissabon Mini Maker Faire. JAL, of gewoon een andere taal, is een high-level taal voor een aantal Microchip PIC microcontrollers die voorafgaat aan het kader van de Arduino. Als een nieuwsgierigheid was Massimo Banzi, één van de oprichters van Arduino , een vroege JAL-ontwikkelaar. Een andere reden waarom ik besloten om te proberen van JAL was dat er een USB-HID-apparaat steekproefcode in JALlib die uiteindelijk de eerste stappen in de ontwikkeling van de firmware voor een volledig toetsenbord veel gemakkelijker.
Voordat u begint met het ontwikkelen van code deed ik eerst wat onderzoek over hoe mensen gewoonlijk het in de andere DIYkeyboard projecten doen. AVR-Keyboard project op Github van Fredrik Atmer was bijzonder nuttig zijn als inspiratiebron. In principe ik ported de code JAL met enkele wijzigingen en vervolgens alle extra functies toegevoegd aan HacKeyboard. Een grappig ding is dat ik schrijven van een functie om te controleren de WS2812B LEDs vanaf nul... grappig moest omdat ik niet een oscilloscoop voor het meten van de tijdsinstellingen op de pennen van de PIC18F4550 heb en moest eigenlijk raden de tijdsinstellingen van de frequentie en instructies per instructiecyclus MCU. Na een paar pogingen ik erin geslaagd het werkend te krijgen.
U kunt de broncode in mijn GitHub, met inbegrip van de vooraf gecompileerde hexadecimaal bestand.
Optioneel: Zoals ik al zei, hoeft je niet iets in deze stap te doen tenzij je wilt iets in de code te wijzigen. In het geval u wilt iets die u zult moeten downloaden van JALlib van de JALlib Githubte wijzigen. Om te compileren gewoon gebruik maken van een opdracht met de volgende structuur:
$. /(path to compiler) + (pad naar het bestand .jal) + (-s) + (pad naar JALlib bibliotheken) + (opties)
Voorbeeld van binnen de folder van de compiler:
. / jalv2 file.jal -s... /lib/-niet-variabele-hergebruik - neen-fuse
Opmerking: de variabele-geen-variabele-hergebruik meer PIC geheugen zal gebruiken, maar het zal sneller compileren.
Het commando hierboven is voor de Linux bevellijn maar moet zeer vergelijkbaar zijn voor Windows.