Weiß jemand warum der COMNAV_STATUS die falsche Daten zurückliefert wenn man nicht mindestens ein “pause 2” zwischen 2 aufrufe reinsteckt?.
Ist da ein weg drum herum?
Hallo glowbrain1,
die Ausführungszeit von COMNAV_STATUS beträgt ja 2 ms, dies ist aber nur ein kleiner Teil des gesamten Vorgangs (ACS oder IR-COMM).
Im Beispiel "3_EINFÜHRUNG_ACS.bas" steht:
Das ACS braucht so schnelle Abfragen auch nicht, denn der Robby ist ja keine Rakete, die in 40 ms große Entfernungen zurücklegt (meiner dürfte in dieser Zeit kaum 1 cm weit kommen!). Für IR-COMM ist die Abfragehäufigkeit auch nicht so relevant, da das Subsystem im Hintergrund empfängt und den IR-Code dann zur Verfügung stellt (gosub GET_IRDATA). Falls die Abfrage allzu selten ist, könnte ggf. nur 1 Code verloren gehen, aber welche IR-Quelle sendet so schnell?Hier wird das ACS mit der SYSTEMROUTINE SYS COMNAV_STATUS zyklisch abgefragt. Zwischen den Abfragen ist eine Pause erforderlich, weil sonst die interne Störunterdrückung im IR-Empfänger aktiviert wird, da das empfangene Signal keinem gültigen Format entspricht und als Störung interpretiert wird. Das Ergebnis der Abfrage steht dann in den Variablen SYSTEM_STATUS.
Gruß Dirk
Lesezeichen