Befehle¶
Den Befehlssatz finden Sie unter Befehlssatz.
Bemerkung
In dieser Dokumentation bezieht sich Byte 0 auf das erste Daten-Byte nach dem Header. Innerhalb der einzelnen Bytes wird das höchstwertige Bit zuletzt übertragen.
Im Folgenden werden die CAN IDs als Offset zur Basisadresse angegeben, d.h. +3
bedeutet Basisadresse plus 3.
CMD_CONNECT¶
Mit diesem Kommando kann die Kommunikationsverbindung zum Board hergestellt und getestet werden.
- Kommando
ID:
+0
CMD_CONNECT
0 0 0 0 0 0 0 - Antwort
ID:
+1
CMD_CONNECT
1 2 3 4 5 6 7
CMD_SET_CHANNEL_ACTIVE¶
Mit diesem Kommando werden aus den 16 verfügbaren Kanälen die Kanäle ausgewählt, auf denen gesendet und empfangen werden soll. Zwei Bytes D1 und D2 für die Kanäle 1 bis 8 und 9 bis 16 enthalten die Information, ob der Kanal entsprechend der Bitnummer aktiv sein soll. Die Bytes sind Bit-codiert, wobei eine 1 einen aktiven Kanal markiert. Der Befehl kann verwendet werden, wenn Sensoren aktiv oder passiv geschaltet werden sollen, ohne den vollständigen Parametersatz zu übertragen.
Beispiel: 0x1F
als erstes Byte bedeutet Sensoren 1 bis 5 sind aktiv, Sensoren 6 bis 8 sind deaktiviert.
- Kommando
ID:
+0
CMD_SET_CHANNEL_ACTIVE
(Sensoren 1 bis 8) (Sensoren 9 bis 16) 0 0 0 0 0 - Antwort
- Keine Antwort.
CMD_GET_DATA_1TO8¶
Mit diesem Kommando werden die Messwerte der Sensoren 1 bis 8 abgefragt.
- Kommando
ID:
+0
CMD_GET_DATA_1TO8
0 0 0 0 0 0 0 - Antwort (zwei Teile)
IDs:
+2
,+3
CMD_GET_DATA_1TO8
0 Werte für Sensoren 1-4 (jeweils ein Byte) 0 (reserviert) CMD_GET_DATA_1TO8
1 Werte für Sensoren 5-8 (jeweils ein Byte) 0 (reserviert) Die Skalierung der Messwerte entspricht der konfigurierten Auflösung der Sensorgruppe (siehe Parametersatz).
Bemerkung
Dieser Befehl ist veraltet. Der höchstmögliche Wert ist 255 (1 Byte), höhere Bits werden nicht übertragen.
CMD_GET_DATA_9TO16¶
Mit diesem Kommando werden die Messwerte der Sensoren 9 bis 16 abgefragt.
- Kommando
ID:
+0
CMD_GET_DATA_9TO16
0 0 0 0 0 0 0 - Antwort (zwei Teile)
IDs:
+4
,+5
CMD_GET_DATA_9TO16
0 Werte für Sensoren 9-12 (jeweils ein Byte) 0 (reserviert) CMD_GET_DATA_9TO16
1 Werte für Sensoren 13-16 (jeweils ein Byte) 0 (reserviert) Die Skalierung der Messwerte entspricht der konfigurierten Auflösung der Sensorgruppe (siehe Parametersatz).
Bemerkung
Dieser Befehl ist veraltet. Der höchstmögliche Wert ist 255 (1 Byte), höhere Bits werden nicht übertragen.
CMD_WRITE_PARASET¶
Mit diesem Kommando wird ein vollständiger Parametersatz an das USBoard-USS5 übermittelt (flüchtig, nach dem Ausschalten verloren). Der Parametersatz kann komfortabel mit dem mitgelieferten Parameter-Editor erstellt und übertragen werden.
Die neuen Parameter werden nach dem Schreiben sofort aktiviert.
- Kommando
ID:
+0
Der Befehl besteht aus neun Nachrichten, die nacheinander gesendet werden, wobei jede Nachricht ein paar Bytes des Parametersatzes enthält.
CMD_WRITE_PARASET
0 Bytes 1 bis 6 CMD_WRITE_PARASET
1 Bytes 7 bis 12 CMD_WRITE_PARASET
2 Bytes 13 bis 18 CMD_WRITE_PARASET
3 Bytes 19 bis 24 CMD_WRITE_PARASET
4 Bytes 25 bis 30 CMD_WRITE_PARASET
5 Bytes 31 bis 36 CMD_WRITE_PARASET
6 Bytes 37 bis 42 CMD_WRITE_PARASET
7 Bytes 43 bis 48 CMD_WRITE_PARASET
8 Bytes 49 bis 54 - Antwort
ID:
+8
Jede Nachricht wird einzeln beantwortet, wobei die ersten 8 Antworten identisch sind
CMD_WRITE_PARASET
0 0 0 0 0 0 0 und die letzte Antwort die Summe der ersten 48 Bytes des Parametersatzes enthält.
CMD_WRITE_PARASET
low byte high byte 0 0 0 0 0
CMD_WRITE_PARASET_TO_EEPROM¶
Mit diesem Kommando wird ein vollständiger Parametersatz in das EEPROM des Boards geschrieben (nicht flüchtig). Ansonsten ist der Befehl mit CMD_WRITE_PARASET identisch.
Der Parametersatz wird nach dem Schreiben sofort übernommen.
- Kommando
ID:
+0
Dieser Befehl ist identisch zu CMD_WRITE_PARASET, nur dass er das Befehls-Byte
CMD_WRITE_PARASET_TO_EEPROM
verwendet.- Antwort
ID:
+9
Die Antwort ist identisch zu den Antworten auf CMD_WRITE_PARASET, nur dass sie das Befehls-Byte
CMD_WRITE_PARASET_TO_EEPROM
verwendet.
CMD_READ_PARASET¶
Mit diesem Kommando wird der aktuelle, vollständige Parametersatz vom USBoard-USS5 gelesen. Die Antwort besteht aus neun Nachrichten, die hintereinander gesendet werden.
- Kommando
ID:
+0
CMD_READ_PARASET
0 0 0 0 0 0 0 - Antwort
ID:
+6
Die Antwort besteht aus neun Nachrichten, die nacheinander gesendet werden, wobei jede Nachricht ein paar Bytes des Parametersatzes enthält.
CMD_READ_PARASET
0 Bytes 1 bis 6 CMD_READ_PARASET
1 Bytes 7 bis 12 CMD_READ_PARASET
2 Bytes 13 bis 18 CMD_READ_PARASET
3 Bytes 19 bis 24 CMD_READ_PARASET
4 Bytes 25 bis 30 CMD_READ_PARASET
5 Bytes 31 bis 36 CMD_READ_PARASET
6 Bytes 37 bis 42 CMD_READ_PARASET
7 Bytes 43 bis 48 CMD_READ_PARASET
8 Bytes 49 bis 54
CMD_GET_ANALOGIN¶
Mit diesem Kommando werden die Messwerte der vier Analogeingänge abgefragt.
- Kommando
ID:
+0
CMD_GET_ANALOGIN
0 0 0 0 0 0 0 - Antwort
ID:
+7
Die Auflösung beträgt 12 Bit, so dass innerhalb der CAN-Antwort zunächst das untere Byte des entsprechenden Kanals übertragen wird. In den Bytes 5 und 6 der CAN-Nachricht sind die oberen vier Bits der Kanäle 1 – 4 enthalten.
CMD_GET_ANALOGIN
low 8 bit channel 0 low 8 bit channel 1 low 8 bit channel 2 low 8 bit channel 3 high 4 bits of channel 0 and 1 high 4 bits of channel 3 and 4 0
CMD_GET_DATA¶
Mit diesem Kommando werden die Messwerte ausgewählter Sensoren abgefragt. Die Auswahl erfolgt durch eine Bitmaske, in der Bit 0 für Gruppe 0 steht, Bit 1 für Gruppe 1 und so weiter. Pro ausgewählter Gruppe wird eine Antwort gesendet.
- Kommando
ID:
+0
CMD_GET_DATA
(ausgewählte Gruppen) 0 0 0 0 0 0 - Antwort
ID:
+(13 + group_id)
CMD_GET_DATA
(info) lower 8 bit sensor 0 lower 8 bit sensor 1 lower 8 bit sensor 2 lower 8 bit sensor 3 high 4 bits of sensors 0 and 1 high 4 bits of sensors 3 and 4 Das info byte enthält
- 2 Bits für die Gruppe (0 bis 3)
- 2 Bits für die Sensorauflösung (0 für 1cm, 1 für 0.5cm, 2 für 0.25cm, 3 für 0.125cm)
- 4 Bits für den sendenen Sensor, entweder
0xff
wenn alle Sensoren senden oder im Kreuzechomodus das Bit das aktiven Sensors auf 1 gesetzt.
Das lower 8 bit Byte eines Sensors kann auch einen Fehlercode enthalten:
- 0, wenn der Sensor nicht physisch an das USBoard-USS5 angeschlossen ist.
- 1 bedeutet, dass ein Objekt die Minimaldistanz des Sensors unterschreitet.
- 2 bedeutet, der Sensor ist aktiv und sendet Impulse, empfängt aber kein Echo. Das bedeutet normalerweise, dass das Objekt zu weit entfernt ist.