Ich finde es lächerlich was da an pseudo steht. Oder anders ausgedrückt: Wieso muss auf ein O gewartet werden? Das steht nirgends im Datenblatt. Das senden kann irgendein Zeichen sein, aber das EMpfangen auch? Danke für Support. lg andy
Antwort: 'o' (6Fh) OK or no errors status Hab die Status- Details nicht angeschaut. Aber gleich eine andere Frage: If not received, bedeutet das in dem Fall, dass auf eine ANtwort gewartet wird oder spielen da Zeiten auch eine Rolle? Was aber nicht drinnen steht ist warum wenn man x sendet wir auf x warten. Hat so etwas noch keiner gemacht=? Ich habe ganz google gefragt aber nix. lg andy
Andy S. schrieb: > If not received, bedeutet das in dem Fall, dass auf eine ANtwort > gewartet wird oder spielen da Zeiten auch eine Rolle? Man wird die üblichen Timeout Vereinbarungen benutzen. Nach einer Zeit t wird die Übertragung als gescheitert angesehen > Was aber nicht drinnen steht ist warum wenn man x sendet wir auf x > warten. Steht doch alles im Datenblatt. 'x' ist das Kommandozeichen für das Kommando CMD_ID Dort steht unter 'expected replies', dass das Device STS_ID zurücksendet. Im PDF ist das sogar verlinkt. Schau ich unter STS_ID nach, dann finde ich, das STS_ID in der Doku für die Sequenz steht, die mit einem 'x' eingeleitet wird und das nächste Byte kennzeichnet die Versionsnummer.
In Summe ist die Kommunkation mit dem Gerät eigentlich sehr simpel * Du schickst ein Kommando rüber Jedes Kommando ist einfach nur ein Buchstabe mit möglicherweise Argumenten dahinter. * Als Antwort schickt das Gerät immer etwas zurück. Das erste Byte der Antwort ist seinerseits auch ein Buchstabe und dieser Buchstabe kennzeichnet den Typ der Antwort, damit die Gegenstelle auch weiß ob und wenn ja wieviele Bytes da noch als Antwort kommt. * In der Doku steht bei jedem Kommando dabei, was das Gerät als Antwort zurückschicken kann. Eigentlich ist das alles gut beschrieben. Da hab ich mich schon durch schlimmere Doku durchgewühlt.
Du hast doch eh Recht Karl, mir fehlte nur der Motivationsschub. Ich werd da durch müssen. Danke für die Motivation. lg andy
Da ich die Wörter per PC trainiere und ich mit meinem Mikrocontroller nur auswerten will interessiert mich dieser Abschnitt: -Read a user defined command:
1 | # dump command 0 in group 3 |
2 | SEND 'p' |
3 | SEND 'D' |
4 | SEND 'A' |
5 | IF NOT RECEIVE = 'd' THEN ERROR |
6 | # read command data |
7 | SEND ' ' |
8 | training = RECEIVE – 'A' |
9 | # extract training count (2 for a completely trained command) |
10 | tr_count = training AND 7 |
11 | # extract flags for conflicts (SD or SI) |
12 | tr_flags = training AND 24 |
13 | # read index of conflicting command (same group) if any |
14 | SEND ' ' |
15 | conflict = RECEIVE – 'A' |
16 | # read label length |
17 | SEND ' ' |
18 | length = RECEIVE – 'A' |
19 | # read label text |
20 | FOR i = 0 TO length - 1 |
21 | SEND ' ' |
22 | label[i] = RECEIVE |
23 | # decode digits |
24 | IF label[i] = '^' THEN |
25 | SEND ' ' |
26 | label[i] = RECEIVE – 'A' + '0' |
27 | END IF |
28 | NEXT |
Soweit ich das verstanden habe stellen die großen Variablen die Parameter dar. Hier wird als erstes 'p' gesendet. Laut DB ist 'p': >CMD_DUMP_SD >'p' (70h) Read SD/SV command data (label and training) >[1] Group index (0 = trigger, 1-15 = generic, 16 = password) >[2] Command position (0-31) >Expected replies: STS_DATA Was ist jetzt aber der Group Index, und was gebe ich dem trigger, generic, und password? Jetzt steht da noch [2]... , wieso muss ich die Commandposition angeben? Ich habe gedacht dass der Roboter zuhört und je nach Wort ein anderes STS_DATA schickt. Nocheins: Wieso wird eigentlich bevor CMD_DUMP_SD als command gegeben wird, das CMD_RECOG_SD 'd' (64h) Activate SD/SV recognition [1] Group index (0 = trigger, 1-15 = generic, 16 = password) Expected replies: STS_RESULT, STS_SIMILAR, STS_TIMEOUT, STS_ERROR nicht aktiviert? Das ist doch für die Recognition SD oder? lg andy
Eine Frage hätte ich aber noch, ich habe zwar schon da nachgefragt http://www.veear.eu/Forums/tabid/236/forumid/8/scope/threads/Default.aspx aber leider abissi leer, also an alle die schon Erfahrung mit diesem Modul haben: Da ich diese Information weder im Datenblatt noch sonst wo auftreiben konnte die Frage: Wenn ich im SD Modus Wörter mit dem PC einstrainiert habe und dann auswerten will, vergleicht dann das Modul das Wort mit allen Wörtern die es eintrainiert hat und gibt eine STS_DATA aus je nachdem welches Wort gesprochen wurde? Wenn ja dann wiederspricht das dem Bild was ich reingestellt habe, denn das verlangt eine Commandposition. lg andy
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.