-
Hi Martinius,
es ist doch egal ob der RP6 eine Rückwärtskurve, eine Vorwärtskurve oder senkrecht in die Luft fahren soll. Das Problem liegt darin, einen Fahrbefehl für eine bestimmte Zeit ausführen zu lassen. Wenn du mit mSlep() arbeitest, bleiben die Funktionen des Roboters für die 10min einfach mal tot da der Ablauf für diese Zeit angehalten wird und z.b. die Sensorik des RP6 nicht abgefragt werden kann.
Ich hätte den Code vielleicht noch etwas besser dokumentieren sollen.
Code:
startStopwatch1();
while(getStopwatch1() < 10000){
task_RP6System();
}
startet eine Stoppuhr (startStopwatch1()) die in ms hoch zählt. Solange diese Stoppuhr noch keine 10000ms gezählt hat, wird einfach nur die task_RP6System() aufgerufen. Dadurch kann der RP6 weiterhin auf seine Sensorik horchen.
Wenn du 10min warten möchtest wären das 600000ms. Ich weiss grad nicht ob die Stoppuhr so weit zählen kann. Steht aber in der Dokumentation oder in den Quellen der RP6lib. Wenn die Stoppuhr nicht so weit zählen kann, dann ruf die oben gezeigte while()-Schleife einfach 60 mal auf. (60x10000=??? na?)
Ich hoffe das hilft weiter.
Achso, der Einwand von King Tobi war durchaus angebracht. In der Dokumentation steht eine Menge zu den Funktionen des RP6. Dann ist in den Beispielen noch ne Menge zu finden und wenn das alles nichts hilft gibt es ja noch die RP6Lib in der man direkt in die Quellen gucken kann.
Grüße,
Jan
-
Hallo
@KingTobi Dieses Forum ist da um Fragen zu klären und zu lernen! Kommentare wie deine sind beleidigend, erzielen keinen Nutzen und solltest du dir lieber sparen!
Gruß Thund3r
-
Aber wenn ich das richtig verstanden habe definiere ich allgemein für das
programm die zeit die die MoveAtSpeed funktion anhält ,doch was kann
ich tun wenn ich für jede andere moveAtSpeed eine neue Zeit definieren
will?
-
Du kannst nach jedem moveAtSpeed Aufruf eine beliebig definierte Zeit warten und den RP6 fahren lassen. Du könntest auch einen Zufallswert warten, für den Spass halt ;-)