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.