Forum: Compiler & IDEs VRBOT-Serial Protocol


von Andy S. (andy11)


Angehängte Dateien:

Lesenswert?

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

von Andy S. (andy11)


Angehängte Dateien:

Lesenswert?

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

von Karl H. (kbuchegg)


Lesenswert?

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.

von Karl H. (kbuchegg)


Lesenswert?

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.

von Andy S. (andy11)


Lesenswert?

Du hast doch eh Recht Karl, mir fehlte nur der Motivationsschub. Ich 
werd da durch müssen.

Danke für die Motivation.

lg andy

von Andy S. (Gast)


Lesenswert?

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

von Andy S. (andy11)


Angehängte Dateien:

Lesenswert?

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
Noch kein Account? Hier anmelden.