Sonic skruvmejsel stil Computer Interface (9 / 9 steg)
Steg 11: Avancerad mjukvara
Eftersom det finns endast 7 möjliga är kommandon styra flera program lite mer komplex.
HCI Avancerat koden har jag genomfört en ändlig tillståndsdator för att styra flera program genom enheten.
Detta innebär i huvudsak att när du skickar ett kommando, ändras uppsättningen kommandon tillgängliga för dig.
Till exempel, är här den första uppsättningen kommandon tillgängliga:
1 - VLC
2 - Internet
3 - kalkylator
4 - finder
5 - X
6 - X
7 - X
Om alternativ 2 för internet markeras Teensy kommer att öppna en webbläsare, då nästa uppsättning kommandon tillgängliga blir:
1 - e-post
2 - Facebook
3 - Google
4 - TV Guide
5 - nyheter
6 - väder
7 - avsluta webbläsaren
Om 5 för vädret alternativet, Teensy öppnas en webbsida som visar väderprognosen och nästa uppsättning av tillgängliga kommandon blir:
1 - X
2 - X
3 - X
4 - X
5 - X
6 - X
7 - avsluta webbsida
Eftersom 7 är det enda alternativ vi väljer kommer att exit och Teensy stänga webbsidan. Den tidigare uppsättningen kommandon finns sedan igen, nämligen:
1 - e-post
2 - Facebook
3 - Google
4 - TV Guide
5 - nyheter
6 - väder
7 - avsluta webbläsaren
Om webbläsaren inte längre behövs kan vi välja alternativ 7, Teensy kommer att stänga webbläsaren och vi kommer att presenteras wit ursprungliga uppsättning kommandon för att välja ett annat program.
På detta sätt flera program kan kontrolleras och en full datorgränssnitt kan förverkligas med endast sju ingångar tillgänglig via enheten.
Kommandon och kortkommandon är där för att anpassas till dina egna preferenser så jag har bara tagit med de grundläggande ramarna med några exempel.
I huvudsak är varje kommando typ numrerade stater, vilka det aktuella läget lagras globalt.
Sedan när ett kommando tas emot, kan Teensy kontrollera vilken stat det är i och köra uppgifter motsvarande switch fallet.
Efter varje aktivitet kan det aktuella läget ändras, om det behövs, växla till nästa uppsättning kommandon.
Om det här steget har slutförts korrekt då bör du ha en fullt fungerande sonic skruvmejsel stil enhet, vilket kan användas som en datorgränssnitt... bra gjort :-)