User manual

De analyse in het programma werkt nu op de volgende manier: We nemen aan
dat in het formulier de boxen 3, 5 en 7 werden geselecteerd. Dan wijzigt de URL
naar:
[IP]/?ld3=on&ld5=on&ld7=on
Dit betekent dat alleen de geselecteerde boxen overgedragen worden en zich aan
de hand van de index laten identificeren. In de loop-routine gebeurt dan dit. Eerst
wordt de hele port D waaraan de digitale uitgangen zijn aangesloten, low gescha-
keld. Dan zoekt een while-lus naar alle "Id"'s in de ressources-link. Aan de hand
van de gevonden ld, bij ld3 is het bv. de 3 en kan door de verschuiving van een 1
in een byte met de voornoemde index 3, het byte 0b0001000 ontstaan. Dit wordt
dan met de huidige waarde van de bytes of-gekoppeld. Dit gebeurt met alle over-
gedragen indices tot het uitvoerregister van D de juiste waarde heeft. Deze vorm
van uitgave in de plaats van digitalWrite() is voor Arduino-gebruikers vermoedelijk
een beetje ongewoon, maar in dit geval duidelijk praktischer.
001
002
003
004
005
006
007
008
009
010
011
Omgekeerd werkt de uitvoer van de checkboxen als volgt: In de createWebsite()-
functie worden de wildcards uit het HTML-document vervangen. Een for-lus gaat
alle gebruikte ports van de reeks na door. Als de pin high is (ook hier vastgesteld
door de vergelijking met een byte die door verschuiving van high bits op de plaat-
sen van de index werd opgewekt),wordt de wildcard met de index door de tekst
checked vervangen. Wanneer de pin low is, wordt de wildcard gewoon gewist.