User Tools

Site Tools


de:doc:hw_commands

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
de:doc:hw_commands [2014/09/21 09:48] – wsauerde:doc:hw_commands [2015/07/09 14:33] (current) – [Busgenerische Kommandos (P 9) für den CAN Bus] nexulm
Line 1: Line 1:
-====== The OOBD Firmware Commands ======+====== Die OOBD Firmware Kommandos ======
  
-Under the assumtion, that it will be mostly other software which talks to the interface, the command structure was made simple, but flexible.+Unter der Vorraussetzung, daß es manch andere Software gibt die zum Interface Kontakt aufnimmt und Botschaften sendet, ist die Kommandostruktur einfach aber flexibel gestaltet worden.
  
-The exact description about the syntax as such can be found in the [[rfc_firmware_syntax|RFC Firmware Syntax]]+Die genaue Beschreibung der Syntax kann in [[rfc_firmware_syntax|RFC Firmware Syntax]] gefunden werden 
 + 
 +Die Firmware und ihre Kommandos sind aufgeteilt in fünf verschiedene sogenannte Funktionsblöcke
  
-The firmware and its commands are split into five different so called functions blocks 
   - System   - System
-  - Serial Input +  - Serielle Eingabe 
-  - Serial Output +  - Serielle Ausgabe 
-  - Protocol+  - Protokoll
   - Bus   - Bus
  
-where each of this function blocks is split again into a generic and a implementation specific part +in der jede der Funktionsblöcke selbst nochmal in generische und implementationsspezifische Teile aufgeteilt worden sind. 
-  * **Generic** means, that these functions are common for all implementation of this particular function block, means each implementation has to support this commands. But please note that e.g. a K-Line Bus will still have other generic commands as a CAN- Bus +  * **Generisch** bedeutet, das diese Funktionen gleich sind für den bestimmten Funktionsblock, was bedeutet das jede Implentation diese Kommandos unterstützen muss. Aber bitte nimm zu Kenntnis, daß z.B. ein K-Line Bus andere generische Kommandos besitzt als ein CAN-Bus 
-  * **Implementation specific** means, that the support of these commands if depending of actual type or implementation of the function block. So is e.g. the CAN-ID length setting supported of course by a CAN bus, but not by a K-Line Bus+  *  
 +  * **Implementationsspezifisch** bedeutet, dass die Unterstützung dieser Kommandos, abhängig von tatsächlichen Typ oder der Durchführung des Funktionsbausteins sind. So ist z.B. das Setzen der CAN-ID Länge sicherlich unterstützt wird von einem CAN-Bus, aber nicht von einem K-Line Bus
  
-When sending any p- command to the firmware, the first number in the command string always defines, to which function block the command is forwarded to. This gives then finally the following meaning of the first number:+Wenn man ein p - Kommando zur Firmware sendet, definiert die erste Zahl in dem Kommandozeichensatz immer zu welchem Funktionsblock der Befehl weitergeleitet wird. Dies gibt dann letztendlich die folgende Bedeutung der ersten Zahl:
  
-^  Command starts with  ^   goes to which function block  ^ +^  Kommando beginnt mit  ^   geht zu welchem Funktionsblock  ^ 
-|  p 0  |  System Specific  | +|  p 0  |  Systemspezifisch  | 
-|  p 1  |  System Generic  | +|  p 1  |  Systemgenerisch  | 
-|  p 2  |  Serial-In Specific  | +|  p 2  |  Serielle spezifische Eingabe  | 
-|  p 3  |  Serial-In Generic  | +|  p 3  |  Serielle generische Eingabe  | 
-|  p 4  |  Serial-Out Specific  | +|  p 4  |  Serielle spezifische Ausgabe | 
-|  p 5  |  Serial-Out Generic  | +|  p 5  |  Serielle generische Ausgabe  | 
-|  p 6  |  Protocol Specific  | +|  p 6  |  Protokollspezifisch  | 
-|  p 7  |  Protocol Generic  | +|  p 7  |  Protokollgenerisch  | 
-|  p 8  |  Bus Specific  | +|  p 8  |  Busspezifisch  | 
-|  p 9  |  Bus Generic  |+|  p 9  |  Busgenerisch  |
  
  
  
-max: implementation specific (unsigned long)+max: Implementationsspezifisch (unsigned long)
  
-===== System Generic Commands (P 1) =====+===== Systemgenerische Kommandos (P 1) =====
  
-^  Command  ^  Value1  ^  Value2  ^  Meaning  ^  Errorcodes  ^ +^  Kommando  ^  Wert1  ^  Wert2  ^  Bedeutung  ^  Fehlerkodes  ^ 
-|  1  |  0  |  0  | enable protocol CAN raw  |   | +|  1  |  0  |  0  | aktiviere Protokoll CAN raw  |   | 
-|  1  |  1  |  0  | enable protocol UDS diagnositc  |   | +|  1  |  1  |  0  | aktiviere Protokoll UDS diagnositc  |   | 
-|  1  |  3  |  0  | enable protocol RTP (Real time data)  |   | +|  1  |  3  |  0  | aktiviere Protokoll RTP (Real time data)  |   | 
-|  2  |  0  |  0  | disable blue LED (= OFF)  |   | +|  2  |  0  |  0  | deaktiviere blaue LED (= AUS)  |   | 
-|  2  |  0  |  1  | enable blue LED (= ON)  |   | +|  2  |  0  |  1  | aktiviere blaue LED (= AN)  |   | 
-|  2  |  1  |  0  | disable green LED (= OFF)  |   | +|  2  |  1  |  0  | deaktiviere grüne LED (= AUS)  |   | 
-|  2  |  1  |  1  | enable green LED (= ON)  |   | +|  2  |  1  |  1  | aktiviere grüne LED (= AN)  |   | 
-|  2  |  2  |  0  | disable red LED (= OFF)  |   | +|  2  |  2  |  0  | deaktiviere rote LED (= AUS)  |   | 
-|  2  |  2  |  1  | enable red LED (= ON)  |   | +|  2  |  2  |  1  | aktiviere rote LED (= AN)  |   | 
-|  2  |  3  |  0  | disable buzzer (= OFF)  |   | +|  2  |  3  |  0  | deaktiviere Summer (= AUS)  |   | 
-|  2  |  3  |  1..max  | enable buzzer (= ON) with frequency in Hz of Value2  |   | +|  2  |  3  |  1..max  | aktiviere Summer (= AN) mit Frequenz in Hz mittels Wert2  |   | 
-|  2  |  10000  |  0  | disable Relais (= OFF)  |   | +|  2  |  10000  |  0  | deaktiviere Relais (= AUS)  |   | 
-|  2  |  10000  |  1  | enable Relais (= ON)  |   |+|  2  |  10000  |  1  | aktiviere Relais (= AN)  |   |
  
-===== System Specific Commands (P 0) ===== +===== Systemspezifische Kommandos (P 0) ===== 
-==== System Specific Commands (P 0) for the D2 Implementation ====+==== Systemspezifische Kommandos (P 0) für die D2 Implementation ====
  
-^  Command  ^  Value1  ^  Value2  ^  Meaning  ^  Errorcodes  ^ +^  Kommando  ^  Wert1  ^  Wert2  ^  Bedeutung  ^  Fehlerkodes  ^ 
-|  0  |  0  |  0  | show software version: \\ OOBD <FW-ID> <Rev> <Hardware> <Model> [Build date] \\ (e.g.: OOBD D2 651 Lux-Wolf CAN-Invader Thu, 15 Aug 2013 01:15:25 +0200)  |   | +|  0  |  0  |  0  | zeige Softwareversion an: \\ OOBD <FW-ID> <Rev> <Hardware> <Model> [Erzeugungsdatum] \\ (e.g.: OOBD D2 651 Lux-Wolf CAN-Invader Thu, 15 Aug 2013 01:15:25 +0200)  |   | 
-|  0  |  1  |  0  | show serial number: \\ xx:xx:xx:xx:xx:xx (=BTM222 MAC-Address)  |   | +|  0  |  1  |  0  | zeige Seriennummer an: \\ xx:xx:xx:xx:xx:xx (=BTM222 MAC-Address)  |   | 
-|  0  |  2  |  0  | show power supply voltage of OBD-II connector  |   | +|  0  |  2  |  0  | zeige Spannungswert der Versorgung des OBD-II Steckers an  |   | 
-|  0  |  3  |  0  | show CPU info  |   | +|  0  |  3  |  0  | zeige CPU info  |   | 
-|  0  |  4  |  0..max  | show memory information of address x  |   | +|  0  |  4  |  0..max  | zeige Speicherinformation von Adresse x an  |   | 
-|  0  |  5  |  0  | show ROM table location  |   | +|  0  |  5  |  0  | zeige ROM Tabellenort  |   | 
-|  0  |  6  |  0  | show free heap memory  |   | +|  0  |  6  |  0  | zeige freien dynamischen Speicher an |   | 
-|  0  |  7  |  0  | check CRC-32 of application  |   | +|  0  |  7  |  0  | überprüfe CRC-32 der Applikation  |   | 
-|  0  |  8  |  0  | show OOBD-Cup device name  |   | +|  0  |  8  |  0  | zeige OOBD-Cup Gerätenamen  |   | 
-|  0  |  9  |  0  | show UART speed  |   |+|  0  |  9  |  0  | zeige UART Geschwindigkeit  |   |
 |  99  |  0  |  0  | Hardware - Reset  |   | |  99  |  0  |  0  | Hardware - Reset  |   |
  
  
-===== Serial-In Specific Commands (P 2) ===== +===== Serielle Eingabe - Spezifische Kommandos (P 2) ===== 
-Nothing implemented yet+Noch nichts implementiert
  
-===== Serial-In Generic Commands (P 3) ===== +===== Serielle Eingabe - Generische Kommandos (P 3) ===== 
-Nothing implemented yet+Noch nichts implementiert
  
-===== Serial-Out Specific Commands (P 4) ===== +===== Serielle Ausgabe - Spezifische Kommandos (P 4) ===== 
-Nothing implemented yet+Noch nichts implementiert
  
-===== Serial-Out Generic Commands (P 5) ===== +===== Serielle Ausgabe - Generische Kommandos (P 5) ===== 
-Nothing implemented yet+Noch nichts implementiert
  
-===== Protocol Specific Commands (P 6) ===== +===== Protokollspezifische Kommandos (P 6) ===== 
-==== Protocol Specific Commands (P 6) for the CAN UDS Protocol ====+==== Protokollspezifische Kommandos (P 6) für das CAN UDS Protokoll ====
  
-^  Command  ^  Value1  ^  Value2  ^  Meaning  ^  Errorcodes  ^ +^  Kommando  ^  Wert1  ^  Wert2  ^  Bedeutung  ^  Fehlerkodes  ^ 
-|  1  |  0..max  |  0  | set response timeout in 10ms units  |   | +|  1  |  0..max  |  0  | setze den Anwortzeittimout in 10ms Vielfachen  |   | 
-|  5  |  $xxx  |  0  | set ECU Request-ID (RECVID)  |   | +|  5  |  $xxx  |  0  | setze ECU Anforderungs-ID (RECVID)  |   | 
-|  6  |  $xxx  |  0  | start Tester present on CAN-ID $xxx with actual interval and mask | 10 (Out of Mem)  | +|  6  |  $xxx  |  0  | starte Testerpresent auf CAN-ID $xxx mit aktuellem Intervall und maskiere | 10 (kein Speicher nehr)  | 
-|  7  |  $xxx  |  0  | stop Tester present on CAN-ID  |   | +|  7  |  $xxx  |  0  | stoppe Testerpresent auf CAN-ID  |   | 
-|  8  |  0..max  |  0  | set Tester present interval in 10ms units (Default 250) |   | +|  8  |  0..max  |  0  | setze Testerpresent Intervall in 10ms Vielfachen (Default 250) |   | 
-|  9  |  $xxx  |  0  | set ECU Response-ID (SENDID) (Default 0, makes SENDID= RECVID %%|%% 0x08)  |   | +|  9  |  $xxx  |  0  | setze ECU Antwort-ID (SENDID) (Default 0, setzt SENDID= RECVID %%|%% 0x08)  |   | 
-|  10  |  $xxx  |  0  | set Tester Present mask 02 xx (Default 0x80)  |   |+|  10  |  $xxx  |  0  | setze Testerpresent Maske 02 xx (Default 0x80)  |   |
  
-==== Protocol Specific Commands (P 6) for the CAN Raw Protocol ====+==== Protokollspezifische Kommandos (P 6) für das CAN Raw Protokoll ====
  
-No dedicated p- commands for this mode, as the function is mainly driven by the sent data content. For more details about the CAN Raw Mode, please refer to the [[rfc_canraw-mode|RFC CAN Raw Mode]]+Keine speziellen p- Kommandos für diesen Modus, weil die Funktion hauptsächlich von dem gesendeten Dateninhalt bestimmt wird. Weiterführende Informationen zum [[rfc_canraw-mode|RFC CAN Raw Mode]]
  
  
  
-==== Protocol Specific Commands (P 6) for the CAN RTD Protocol ==== +==== Protokollspezifische Kommandos (P 6) für das CAN RTD Protokoll ==== 
-For more details about the CAN RTD Mode, please refer to the [[rfc_rtd-real-time-data-protocol-for-the-oobd-firmware|RFC CAN RTD Mode]]+Weiterführende Informationen zum [[rfc_rtd-real-time-data-protocol-for-the-oobd-firmware|RFC CAN RTD Mode]]
  
-^  Command  ^  Value1  ^  Value2  ^  Meaning  ^  Errorcodes  ^ +^  Kommando  ^  Wert1  ^  Wert2  ^  Bedeutung  ^  Fehlerkodes  ^ 
-|  1  |     |     | clear the internal data buffer list, releases all used memory buffers  |   |+|  1  |     |     | löscht die interne Datenspeicherliste, gibt all den genutzen Speicher wieder frei  |   |
  
  
-===== Protocol Generic Commands (P 7) ===== +===== Protokollgenerische Kommandos (P 7) ===== 
-^  Command  ^  Value1  ^  Value2  ^  Meaning  ^  Errorcodes  ^ +^  Kommando  ^  Wert1  ^  Wert2  ^  Bedeutung  ^  Fehlerkodes  ^ 
-|  0  |  0  |  0  | show info of used protocol  |   | +|  0  |  0  |  0  | zeige Informationen über das genutzte Protokoll  |   | 
-|  1  |  0  |  0  | deactivate Listen mode  |   | +|  1  |  0  |  0  | deaktiviere Empfangsmodus  |   | 
-|  1  |  1  |  0  | activate Listen mode  |   |+|  1  |  1  |  0  | aktiviere Empfangsmodus  |   |
  
  
-===== Bus Specific Commands (P 8) ===== +===== Busspezifische Kommandos (P 8) ===== 
-==== Bus Specific Commands (P 8) for the CAN Bus, used in D2 Design ====+==== Busspezifische Kommandos (P 8) für den CAN Bus, welcher im D2 Design genutzt wird ====
  
  
-^  Command  ^  Value1  ^  Value2  ^  Meaning  ^  Errorcodes  | +^  Kommando  ^  Wert1  ^  Wert2  ^  Bedeutung  ^  Fehlerkodes  | 
-|  2  |  0  |  0  |CAN transceiver: Silent mode (CAN deactive) |  | +|  2  |  0  |  0  |CAN Transceiver: Stumm Modus (CAN deaktiv) |  | 
-|  2  |  1  |  0  |CAN transceiver: Loop back (internal loop) |  | +|  2  |  1  |  0  |CAN Transceiver: Loop back (Interne Schleife) |  | 
-|  2  |  2  |  0  |CAN transceiver: Loop back combined with silent mode |  | +|  2  |  2  |  0  |CAN Transceiver: Loop back kombiniert mit Stumm Modus |  | 
-|  2  |  3  |  0  |CAN transceiver: Normal mode (CAN active) |  | +|  2  |  3  |  0  |CAN Transceiver: Normal Modus (CAN aktiv) |  | 
-|  3  |  0 or 1  |  0  |Standard-CAN init (initialize CAN controller with 125kbit/s, 11bit) |  | +|  3  |  0 or 1  |  0  |Standard-CAN Initialisierung (initialisiere CAN Kontroller mit 125kbit/s, 11bit) |  | 
-|  3  |  2  |  0  |Standard-CAN init (initialize CAN controller with 250kbit/s, 11bit) |  | +|  3  |  2  |  0  |Standard-CAN Initialisierung (initialisiere CAN Kontroller mit 250kbit/s, 11bit) |  | 
-|  3  |  3  |  0  |Standard-CAN init (initialize CAN controller with 500kbit/s, 11bit) |  | +|  3  |  3  |  0  |Standard-CAN Initialisierung (initialisiere CAN Kontroller mit 500kbit/s, 11bit) |  | 
-|  3  |  4  |  0  |Standard-CAN init (initialize CAN controller with 1000kbit/s, 11bit) |  | +|  3  |  4  |  0  |Standard-CAN Initialisierung (initialisiere CAN Kontroller mit1000kbit/s, 11bit) |  | 
-|  3  |  5  |  0  |Extended-CAN init (initialize CAN controller with 125kbit/s, 29bit) |  | +|  3  |  5  |  0  |Extended-CAN Initialisierung (initialisiere CAN Kontroller mit 125kbit/s, 29bit) |  | 
-|  3  |  6  |  0  |Extended-CAN init (initialize CAN controller with 250kbit/s, 29bit) |  | +|  3  |  6  |  0  |Extended-CAN Initialisierung (initialisiere CAN Kontroller mit 250kbit/s, 29bit) |  | 
-|  3  |  7  |  0  |Extended-CAN init (initialize CAN controller with 500kbit/s, 29bit) |  | +|  3  |  7  |  0  |Extended-CAN Initialisierung (initialisiere CAN Kontroller mit 500kbit/s, 29bit) |  | 
-|  3  |  8  |  0  |Extended-CAN init (initialize CAN controller with 1000kbit/s, 29bit) |  | +|  3  |  8  |  0  |Extended-CAN Initialisierung (initialisiere CAN Kontroller mit 1000kbit/s, 29bit) |  | 
-|  4  |  0  |  0  |HS-CAN (Relais switch - OFF) |  | +|  4  |  0  |  0  |HS-CAN (Relais schaltet - AUS) |  | 
-|  4  |  1  |  0  |MS-CAN (Relais switch - ON) |  | +|  4  |  1  |  0  |MS-CAN (Relais schaltet - EIN) |  | 
-|  10  |   <Filter-No> |  $<CAN-ID> |set Filter CAN-ID (11bit CAN-ID 0x0000-0x07FF) where Filter-No is 1-20, i.e. p 8 10 1 $720 |  | +|  10  |   <Filter-Nr> |  $<CAN-ID> |setze Filter CAN-ID (11bit CAN-ID 0x0000-0x07FF) wobei Filter-Nr 1-20 ist , z.B. p 8 10 1 $720 |  | 
-|  11  |   <Filter-No> |  $<Mask-ID> |set Filter Mask-ID (11bit Mask-ID 0x0000-0x07FF) where Filter-No is 1-20 and Filter Mask depends on Filter CAN-ID (0=don't care 1=match), i.e. p 8 11 1 $7F0 (here: $720 - $72F) |  | +|  11  |   <Filter-Nr> |  $<Mask-ID> |setze Filtermasken-ID (11bit Mask-ID 0x0000-0x07FF) wobei Filter-Nr 1-20 ist und die Filtermaske von der Filter CAN-ID (0=egal 1=Übereinstimmung) abhängt, z.B. p 8 11 1 $7F0 (hier: $720 - $72F) |  | 
-|  12  |   <Filter-No> |  $<CAN-ID> |set Filter CAN-ID (29bit CAN-ID 0x00000000-0x1FFFFFFF) where Filter-No is 1-10, i.e. p 8 12 1 $18F30557 |  | +|  12  |   <Filter-Nr> |  $<CAN-ID> |setze Filter CAN-ID (29bit CAN-ID 0x00000000-0x1FFFFFFF) wobei Filter-Nr 1-10 ist, z.B. p 8 12 1 $18F30557 |  | 
-|  13  |   <Filter-No> |  $<Mask-ID> |set Filter Mask-ID (29bit Mask-ID 0x00000000-0x1FFFFFFF) where Filter-No is 1-10 and Filter Mask depends on Filter CAN-ID (0=don't care 1=match), i.e. p 8 11 1 $1FFFFFF0 (here: $18F30550 - $18F3055F) |  | +|  13  |   <Filter-Nr> |  $<Mask-ID> |setze Filter Mask-ID (29bit Mask-ID 0x00000000-0x1FFFFFFF) wobei Filter-Nr 1-10 ist und die Filtermaske von der Filter CAN-ID (0=egal 1=Übereinstimmung) abhängt, z.B. p 8 11 1 $1FFFFFF0 (hier: $18F30550 - $18F3055F) |  | 
-|  14  |  0  |  0  |set all 11bit CAN filter to CAN-ID $0000 and Mask-ID $07FF (= disable any CAN traffic to application) |  |+|  14  |  0  |  0  |setze alle 11bit CAN Filter auf CAN-ID $0000 und Mask-ID $07FF (= deaktiviere jeden CAN Datenverkehr zur Applikation) |  |
  
  
 \\ \\
  
-===== Bus Generic Commands (P 9) ===== +===== Busgenerische Kommandos (P 9) ===== 
-==== Bus Generic Commands (P 9) for the CAN Bus ====+==== Busgenerische Kommandos (P 9) für den CAN Bus ====
  
-^  Command  ^  Value1  ^  Value2  ^  Meaning  ^  Errorcodes  ^ +^  Kommando  ^  Wert1  ^  Wert2  ^  Bedeutung  ^  Fehlerkodes  ^ 
-|  0  |  0  |  0  | show info which interface/bus is active (i.e. CAN-Bus)  |   | +|  0  |  0  |  0  | Zeigt eine Info welches/r  Gerät/Bus aktiv ist (z.B. CAN-Bus)  |   | 
-|  0  |  3  |  0  | show info of CAN transceiver operating mode  |   | +|  0  |  3  |  0  | Zeigt eine Info des CAN Transceiver Arbeitsmodus  |   | 
-|  0  |  4  |  0  | ??  |   | +|  0  |  4  |  0  | Zeigt die CAN-Bus Config (i.e. 11bit/500kBaud)  |   | 
-|  0  |  5  |  1  | read different CAN error counters  |   | +|  0  |  5  |  1  | lese verschiedene CAN Fehlerzähler (Rx-Count, Rx-Error, REC, Tx-Count, Tx-Error, TEC, Busoff-Error, Warning-Error, Passive-Error)  |   | 
-|  0  |  5  |  2  | delete all software internal CAN error counters  |   | +|  0  |  5  |  2  | lösche alle softwareinternen CAN Fehlerzähler  |   | 
-|  0  |  10  |  0  | show all 11bit CAN-ID filter, each line with two 11bit CAN-filters like: \\ <CAN-ID> <Mask-ID> <CAN-ID> <Mask-ID>  |   | +|  0  |  10  |  0  | zeige alle 11bit CAN-ID Filter, jede Zeile mit zwei 11bit CAN-Filtern wie: \\ <CAN-ID> <Mask-ID> <CAN-ID> <Mask-ID>  |   | 
-|  0  |  11  |  0  | show all 29bit CAN-ID filter, each line with one 29bit CAN-filter like: \\ <CAN-ID> <Mask-ID>  |   |+|  0  |  11  |  0  | zeige alle 29bit CAN-ID Filter, jede Zeile mit zwei 29bit CAN-Filtern wie: \\ <CAN-ID> <Mask-ID>  |   |
  
de/doc/hw_commands.1411292912.txt.gz · Last modified: 2014/09/21 09:48 by wsauer