Hallo Wenkstar,
das Programm hat mal rein garnichts schönes...
expected heißt "erwartet", es fehlt wohl ein ) vor dem ;?
wieviel Klammern gehen da also auf und wie viele zu?
Bei BWD genau so....
dürfte nach dem move Befehl auch wenig Sinn machen, vielleicht guckst du dir mal an was in der RP6RobotBaseLib.cmoveAtSpeed(0,0);
zur Funktion "moveAtSpeed" und "move" steht... oder exerzierst erst mal alle Beispielprogramme und Libs durch.. incl. lesen und verstehen der Sources.
Mal abgesehen davon, das "move" 4 Parameter hat wie in den Lib Sources zu sehen und nicht 3 wie in deinem Aufruf,
begehst du noch einen logischen Fehler obwohl der Compiler dies schon anmeckert.FWDBWD.c:19: error: too few arguments to function 'move'
Du möchtest das der Bot sich 300mm vorwärts bewegt und stehen bleibt, dann 300mm zurück fährt und stehen bleibt.
Dazu schickst du einen verkorksten Move Befehl ab.. und dann ein moveAtSpeed(0,0); also quasi als "Stop" Befehl.
Das ist wie wenn ich Dir sage, "gehe 10 Schritte" ... was machst du nach den 10 Schritten normalerweise? Stehenbleiben? Aha! Und dann wenn du stehst sag ich dann noch mal "stehen bleiben" oder wie?
Genau das machst du da im Programm. Logisch falsch! Steht auch genau so im Source...
Ein extra Stop macht nur bei einer unbefristeten Bewegung wirklich Sinn z.B. an einem Hindernis... und dazu muss man auch erst mal die Interuptstruktur, blocking, Odometrieauswertungen usw. verstanden haben.* This function allows you to tell the robot to drive a specific distance
* at a given speed and then stop.
Nebenbei - es gibt auch einen echten Stop Befehl... auch im Lib Source zu finden.
Das sind Anfängerfehler aber nicht ohne Grund wird Anfängern auch dringenst empfohlen, sich die Beispiele genau anzugucken.
Dieser Tip ist nicht nur als sinn- und zweckfreie "nice to do" Aufgabe gedacht.
Der Compiler sagt dir ausserdem doch deutlich wo es klemmt... les das bitte auch und behebe es selbstständig. In dem kurzen Stück Programm stecken schon 4 syntaktische und 2 logische Fehler so wie 2 warnings wegen ungenutzter Vars und einem Denkfehler zum Ablauf, du achtest nicht auf die Compilermessages und schaust dir auch nicht die gut dokumentierten Funktionsköpfe in den Libs an. Es gehört schon etwas mehr Präzision zum programmieren. Schön ... ist was anders.
Gruß Rolf
Lesezeichen