slup
-
Gesamte Inhalte
5 -
Benutzer seit
-
Letzter Besuch
Posts erstellt von slup
-
-
Auf jeden Fall vielen Dank für die aufschlussreichen Antworten, und wenn mir jemand eine alternative Idee für das Ursprungsproblem (Distanzmessung) hat würde ich mich über eine PN freuen
-
D.h. wenn du zwei Nachrichten mit IMU Daten bekommst, weißt du nicht auf die ns genau wie weit die Messzeitpunkte auseinanderliegen. Je nachdem wann der gemessen wurde und das Betriebssystem per USB gepollt hat, kann eine Messung von außen um bis zu 2ms daneben liegen. Das ist leider viel zuviel .
Wäre es nicht möglich den Sensordaten einen Timestamp/Tickcount/o.Ä. hinzuzufügen? Spricht ja nichts dagegen (oder doch?) das ich auf dem Computer erst mal nur alle Messwerte speichere und erst beim Erreichen des Zielortes die Distanz (mit den Zeitangaben aus den Messwerten) berechne.
-
Ich habe mir das so wie ein virtuelles Messband vorgestellt.
Ich stelle mich an den 0-Punkt, warte dort ein paar Sekunden, gehe dann (zu Fuss) an den Zielpunkt und möchte dann möglichst genau die zurückgelegte Distanz wissen.
Ist so etwas mit dem IMU-Brick überhaupt möglich?
-
Wie genau kann man mit dem IMU-Brick Distanzen messen?
Ist es möglich eine Distanz von 10m auf 5cm genau zu bestimmen?
OnDevice-Programmierung Bricklet-Antworten
in Software, Programmierung und externe Tools
Geschrieben
Hallo
Ich habe mit meinen Versuchen die Wetterstation PC-unabhängig zu betreiben, u.a. dank diesem Eintrag, bereits einige Fortschritte gemacht. Leider scheitere ich im Moment daran von den Bricklets auf meine Funktionsaufrufe (-Messages) entsprechende Antworten zu erhalten.
Anpassungen habe ich an folgenden Orten gemacht:
Master-Brick
master.c
extension_init.c
Bricklib:
com.h
com.c
Neu hinzugekommen sind in der Bricklib die beiden Dateien ondevice.h und ondevice.c
Wenn ich in der ondevice_init() Funktion den xTaskCreate Aufruf auskommentiere, hängt sich der Brick auf.
Leider fehlen im oben erwähnten Post detaillierte Hinweise zum Empfangen der Daten. So wie es dort beschrieben ist, sollte der ondevice_recv-Aufruf automatisch geschehen, dies war leider bei mir nicht der Fall und deshalb habe ich begonnen mit den ondevice_init/ondevice_message_loop/ondevice_message_loop_return Funktionen (welche ich aus der ethernet.h/c kopiert habe) zu experimentieren.
Gibt es vielleicht irgendwo eine Beschreibung der ganzen Task/Kommunikationsarchitektur? Oder weiss jemand wie und wo ich die Antworten der Bricklets erhalte? Ich bin um jeden Tipp dankbar.