WebWurm
12.08.2010, 17:08
Hallo zusammen,
bin seit heute stolzer Besitzer eines RP6.
Da ich mit der Elektronik noch nicht ganz so fit bin hab ich mich für dieses Modell entschieden, damit ich mich erst mal auf die Programmierung konzentrieren kann.
Jetzt zu meinen Fragen:
a) Gibt es Möglichkeiten Programme die man geschrieben hat direkt zu debuggen?
In meinem Programm passieren da ein paar Abläufte die ich so noch nicht ganz nachvollziehen kann. Über einen Debugger würde ich mich da viel leichter tun.
b) Ich versuche gerade ein Programm zu schreiben um folgendes zu tun:
- Wenn IR Sensor links was erkennt - nach rechts drehen und weiterfahren
- Wenn IR Sensor rechts was erkennt - nach links drehen und weiterfahren
- Wenn ein Bumper getroffen wird - zurücksetzten, drehen und weiterfahren
An sich eine relativ einfache Funktionalität.
Den Status von Bumper und ACS frage ich über die selbe Callback ab.
D.h. die set-Methoden für Bumper und ACS zeigen auf die gleiche Methode.
In der Callback selbst lasse ich dann die Bewegung "nicht blockierend" ausführen - damit bei entsprechender Statusänderung gleich wieder der Vorwärtsgang eingelegt werden kann.
Aktuell erkennt der Robbi zwar das Hinderniss und Dreht sich, allerdings fährt er dann nicht weiter.
Die entsprechende moveAtSpeed() Methode wird laut Terminal - Ausgabe auch aufgerufen und danach nix mehr.
Woran kann es liegend das er nix macht bzw. sollte die moveAtSpeed() nicht endlos laufen?
Macht es vielleich Sinn die ACS Sensoren analog (wenn das möglich ist) abzufragen?
Ist der Handler als ausführende Methode überhaupt geeignet?
c) Grundsätzliche Frage: Ist auf dem RP6 (nur Basis) Multithreading möglich, wenn ja - muss ich was spezielles beachten?
Danke und Gruß
Tobias
bin seit heute stolzer Besitzer eines RP6.
Da ich mit der Elektronik noch nicht ganz so fit bin hab ich mich für dieses Modell entschieden, damit ich mich erst mal auf die Programmierung konzentrieren kann.
Jetzt zu meinen Fragen:
a) Gibt es Möglichkeiten Programme die man geschrieben hat direkt zu debuggen?
In meinem Programm passieren da ein paar Abläufte die ich so noch nicht ganz nachvollziehen kann. Über einen Debugger würde ich mich da viel leichter tun.
b) Ich versuche gerade ein Programm zu schreiben um folgendes zu tun:
- Wenn IR Sensor links was erkennt - nach rechts drehen und weiterfahren
- Wenn IR Sensor rechts was erkennt - nach links drehen und weiterfahren
- Wenn ein Bumper getroffen wird - zurücksetzten, drehen und weiterfahren
An sich eine relativ einfache Funktionalität.
Den Status von Bumper und ACS frage ich über die selbe Callback ab.
D.h. die set-Methoden für Bumper und ACS zeigen auf die gleiche Methode.
In der Callback selbst lasse ich dann die Bewegung "nicht blockierend" ausführen - damit bei entsprechender Statusänderung gleich wieder der Vorwärtsgang eingelegt werden kann.
Aktuell erkennt der Robbi zwar das Hinderniss und Dreht sich, allerdings fährt er dann nicht weiter.
Die entsprechende moveAtSpeed() Methode wird laut Terminal - Ausgabe auch aufgerufen und danach nix mehr.
Woran kann es liegend das er nix macht bzw. sollte die moveAtSpeed() nicht endlos laufen?
Macht es vielleich Sinn die ACS Sensoren analog (wenn das möglich ist) abzufragen?
Ist der Handler als ausführende Methode überhaupt geeignet?
c) Grundsätzliche Frage: Ist auf dem RP6 (nur Basis) Multithreading möglich, wenn ja - muss ich was spezielles beachten?
Danke und Gruß
Tobias