Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: hwcom sync-Probleme? Kategorie: Programmierung (von Fischi - 5.08.2003 13:40)
Als Antwort auf Re: hwcom sync-Probleme? von André H. - 5.08.2003 9:59

Hallo Andre!
Dir auch besten Dank für Deine Bemühungen!
Das hat mir auch sehr gut geholfen!
Das werde ich morgen gleich mal ausprobieren.
sieht ja sehr viel versprechend aus! :-)
Leider komme ich heute nicht dazu, mu� mein Perlprojekt nämlich fertig bekommen!

> Wie oft wird der Datenrahmen pro Sekunde gesendet ?
wie ich schon erwähnt habe sendet der Handschuh permanent mit 9600 Baut.
Er sendet ohne Pause zwischen den Paketen.
 
> Aus dem Quellcode konnte ich erkennen, daÃ? ein Datenrahmen 10 Byte hat
Das ist richtig. Als erstes Byte sendet er den Wert 128.
Das zweite Byte ist der Wert für den Daumen (0 nicht gekrümmt...255 gekrümmt).
Das dritte Byte ist der Wert für den Zeigefinger (0 nicht gekrümmt...255 gekrümmt).
Das vierte Byte ist der Wert für den Mittelfinger (0 nicht gekrümmt...255 gekrümmt).
Das fünfte Byte ist der Wert für den Ringfinger (0 nicht gekrümmt...255 gekrümmt).
Das sechste Byte ist der Wert für den Kleinenfinger (0 nicht gekrümmt...255 gekrümmt).
Das siebte Byte ist der Wert für den "Pitch" (0 nach vorne...127 in der Waage.. 255 nach hinten).
Das achte Byte ist der Wert für den "Roll" (0 nach links...127 in der Mitte...255 nach rechts).
Das neunte Byte ist der Wert für die Checksum.
Das zehnte und letzte Byte ist die Handschuhidentifizierung. In diesem Falle 1.

> und folgenden Aufbau besitzt:
> 1.Byte Start-Kennzeichen: Wert 1
> Byte 2 bis 9: 8 Datenbytes
> 10.Byte Ende-Kennzeichen: Wert 128
nicht ganz korrekt. Das 1.Byte ist Wert 128 und das 10. Byte ist 1.
Das Problem war nur genau zuwissen wann das Paket beginnt. Deshalb muÃ?te ich ersteinmal die 1 erkennen
und die 128, damit ich starten konnte. Wenn ich nur nach 128 gesucht hätte, dann wäre die Wahrscheinlichkeit
dass ich einen falschen Anfang im Paket erwischt hätte grö�er gewesen. Denn den Wert 128 kann ja alleine recht
häufig irgendwo im Paket auftauchen. Die Kombination aus 1 und 128 eigentlich nicht.
 
> Was soll später, au�er dem Modell-Auto :-) , einmal gesteuert werden ?
> Das Problem könnte die Rechenzeit werden.
Das kann natürlich noch ein Problem werden.
Es soll nämlich ein Sechsachsen-Roboter damit gesteuert werden. Es folgen also noch heftige Berechnungen.


> Wenn zuviele Daten zu schnell ankommen, hiflt nur, daÃ? Du einen Teil davon auswertest, und
> den Rest ignorierst.(Puffer regelmä�g mit hwcom.flush() leeren bis die daten wieder
> ausgewertet werden sollen) Das geht natürlich nur, wenn der Datenhandschuh immer die
> aktuelle Stellung der Hand sendet, und nicht die Bewegung selbst.
Der Handschuh sendet gottseidank nur die aktuelle Stellung!

GruÃ? Fischi


    Antwort schreiben


Antworten: