6.1.4. mit Warten (Advanced Arduino)
Wie schon im Kapitel ⇒ohne Warten (Advanced Arduino) beschrieben kann auch diese Eingaberoutine über AdvancedArduino integriert werden.
Das Eingabemodul als externe Textdatei in C++ zu erstellt.
Diese Datei kann dann irgendwo auf der lokalen Festplatte abgelegt werden.
Sie könnte z.B. folgenden Inhalt haben:
int waitForKey(){
int k;
k = -1;
while(!((k) > (-1))){
_loop();
if(ir.keyPressed(22)){k = 0;}
if(ir.keyPressed(12)){k = 1;}
if(ir.keyPressed(24)){k = 2;}
if(ir.keyPressed(94)){k = 3;}
if(ir.keyPressed(8)){k = 4;}
if(ir.keyPressed(28)){k = 5;}
if(ir.keyPressed(90)){k = 6;}
if(ir.keyPressed(66)){k = 7;}
if(ir.keyPressed(82)){k = 8;}
if(ir.keyPressed(74)){k = 9;}
if(ir.keyPressed(64)){k = 10;}
if(ir.keyPressed(7)){k = 11;}
if(ir.keyPressed(21)){k = 12;}
if(ir.keyPressed(9)){k = 13;}
if(ir.keyPressed(25)){k = 14;}
if(ir.keyPressed(69)){k = 65;}
if(ir.keyPressed(70)){k = 66;}
if(ir.keyPressed(71)){k = 67;}
if(ir.keyPressed(68)){k = 68;}
if(ir.keyPressed(67)){k = 69;}
if(ir.keyPressed(13)){k = 70;}
}
return(k);
}
Das zugehörige Skript müsste dann folgendermaßen aussehen:
Die Datei liegt also in folgendem Verzeichnis: D:\mbot\Eigen\Tools\IR_Eingabe und heißt WaitForKey(AA).inc.
Sie kann hier herunter geladen werden: WaitForKey(AA).inc (0.9 KB)
Im Skript wird sie in einem def-Block der Extension AdvancedArduino_Fork mit einer #include-Anweisung eingebunden.
Der Aufruf der Funktion WaitForKey erfolgt dann in der Endlosschleife.
Der Vorteil dieser Variante gegenüber der entsprechenden eigenen Extension liegt darin, dass der Aufwand zur Erstellung einer eigenen Extension entfällt und dass Änderungen/Erweiterungen an der Funktion sehr leicht vorgenommen werden können.
Ein Nachteil ist, dass diese Datei vorhanden sein muss und an der richtigen (im Skript genannten) Stelle liegt.
Das entsprechende Skript ist hier: IR-Eingabe_mit_warten (AA (77.2 KB)