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

Next revision
Previous revision
de:doc:hw_commands [2014/04/20 16:50] – created wsauerde:doc:hw_commands [2015/07/09 16: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 assumtionthat it will be mostly other software which talks to the interfacethe command structure was made simple, but flexible.+Unter der Vorraussetzungdaß es manch andere Software gibt die zum Interface Kontakt aufnimmt und Botschaften sendetist 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** meansthat these functions are common for all implementation of this particular function blockmeans each implementation has to support this commandsBut please note that e.gK-Line Bus will still have other generic commands as a CAN- Bus +  * **Generisch** bedeutetdas diese Funktionen gleich sind für den bestimmten Funktionsblockwas bedeutet das jede Implentation diese Kommandos unterstützen mussAber bitte nimm zu Kenntnis, daß z.Bein K-Line Bus andere generische Kommandos besitzt als ein CAN-Bus 
-  * **Implementation specific** meansthat the support of these commands if depending of actual type or implementation of the function block. So is e.gthe CAN-ID length setting supported of course by a CAN busbut not by a K-Line Bus+  *  
 +  * **Implementationsspezifisch** bedeutetdass die Unterstützung dieser Kommandos, abhängig von tatsächlichen Typ oder der Durchführung des Funktionsbausteins sind. So ist z.Bdas Setzen der CAN-ID Länge sicherlich unterstützt wird von einem CAN-Busaber nicht von einem K-Line Bus
  
-When sending any p- command to the firmwarethe first number in the command string always defines, to which function block the command is forwarded toThis gives then finally the following meaning of the first number:+Wenn man ein p - Kommando zur Firmware sendetdefiniert die erste Zahl in dem Kommandozeichensatz immer zu welchem Funktionsblock der Befehl weitergeleitet wirdDies 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 (= ONwith frequency in Hz of Value2    | +|  2  |  3  |  1..max aktiviere Summer (= ANmit 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 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 
 + 
 +===== Serielle Eingabe - Generische Kommandos (P 3) ===== 
 +Noch nichts implementiert 
 + 
 +===== Serielle Ausgabe - Spezifische Kommandos (P 4) ===== 
 +Noch nichts implementiert 
 + 
 +===== Serielle Ausgabe - Generische Kommandos (P 5) ===== 
 +Noch nichts implementiert
  
-===== Serial-In Generic Commands (P 3) ===== +===== Protokollspezifische Kommandos (P 6) ===== 
-Nothing implemented yet+==== Protokollspezifische Kommandos (P 6) für das CAN UDS Protokoll ====
  
-===== Serial-Out Specific Commands (P 4) ===== +^  Kommando  ^  Wert1  ^  Wert2  ^  Bedeutung  ^  Fehlerkodes 
-Nothing implemented yet+|  1  |  0..max  |  0  | setze den Anwortzeittimout in 10ms Vielfachen  |   | 
 +|  5  |  $xxx  |  0  | setze ECU Anforderungs-ID (RECVID   | 
 +|  6  |  $xxx  |  0  | starte Testerpresent auf CAN-ID $xxx mit aktuellem Intervall und maskiere | 10 (kein Speicher nehr)  | 
 +|  7  |  $xxx  |  0  | stoppe Testerpresent auf CAN-ID  |   | 
 +|  8  |  0..max  |  0  | setze Testerpresent Intervall in 10ms Vielfachen (Default 250) |   | 
 +|  9  |  $xxx  |  0  | setze ECU Antwort-ID (SENDID) (Default 0, setzt SENDIDRECVID %%|%% 0x08)  |   | 
 +|  10  |  $xxx  |  0  | setze Testerpresent Maske 02 xx (Default 0x80)  |   |
  
-===== Serial-Out Generic Commands (P 5) ====+==== Protokollspezifische Kommandos (P 6für das CAN Raw Protokoll ====
-Nothing implemented yet+
  
-===== Protocol Specific Commands (P 6) ===== +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 UDS Protocol ====+
  
-^  Command  ^  Value1  ^  Value2  ^  Meaning  ^  Errorcodes  ^ 
-|  1  |  0..max  |  0  | set response timeout in 10ms units  |   | 
-|  5  |  $xxx  |  0  | set ECU Request-ID (RECVID)  |   | 
-|  6  |  $xxx  |  0  | activate Tester present on CAN-ID $xxx  |   | 
-|  7  |  $xxx  |  0  | deactivate Tester present on CAN-ID  |   | 
-|  8  |  0..max  |  0  | set Tester present interval in ms  |   | 
-|  9  |  $xxx  |  0  | set ECU Response-ID (SENDID)  |   | 
  
-==== Protocol Specific Commands (P 6) for the CAN Raw Protocol ==== 
  
-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]]+==== Protokollspezifische Kommandos (P 6) für das CAN RTD Protokoll ==== 
 +Weiterführende Informationen zum [[rfc_rtd-real-time-data-protocol-for-the-oobd-firmware|RFC CAN RTD Mode]]
  
 +^  Kommando  ^  Wert1  ^  Wert2  ^  Bedeutung  ^  Fehlerkodes  ^
 +|  1  |         | löscht die interne Datenspeicherliste, gibt all den genutzen Speicher wieder frei  |   |
  
  
-==== Protocol Specific Commands (P 6for the CAN RTD Protocol ==== +===== Protokollgenerische Kommandos (P 7===== 
-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]]+^  Kommando  ^  Wert1  ^  Wert2  ^  Bedeutung  ^  Fehlerkodes 
 +|  0  |  0  |  0  | zeige Informationen über das genutzte Protokoll  |   | 
 +|  1  |  0  |  0  | deaktiviere Empfangsmodus  |   | 
 +|  1  |  1  |  0  | aktiviere Empfangsmodus  |   |
  
-^  Command  ^  Value1  ^  Value2  ^  Meaning  ^  Errorcodes  ^ 
-|  1  |         | clear the internal data buffer list, releases all used memory buffers  |   | 
  
 +===== Busspezifische Kommandos (P 8) =====
 +==== Busspezifische Kommandos (P 8) für den CAN Bus, welcher im D2 Design genutzt wird ====
  
-===== Protocol Generic Commands (P 7) ===== 
-^  Command  ^  Value1  ^  Value2  ^  Meaning  ^  Errorcodes  ^ 
-|  0  |  0  |  0  | show info of used protocol  |   | 
-|  1  |  0  |  0  | deactivate Listen mode  |   | 
-|  1  |  1  |  0  | activate Listen mode  |   | 
  
 +^  Kommando  ^  Wert1  ^  Wert2  ^  Bedeutung  ^  Fehlerkodes  |
 +|  2  |  0  |  0  |CAN Transceiver: Stumm Modus (CAN deaktiv) |  |
 +|  2  |  1  |  0  |CAN Transceiver: Loop back (Interne Schleife) |  |
 +|  2  |  2  |  0  |CAN Transceiver: Loop back kombiniert mit Stumm Modus |  |
 +|  2  |  3  |  0  |CAN Transceiver: Normal Modus (CAN aktiv) |  |
 +|  3  |  0 or 1  |  0  |Standard-CAN Initialisierung (initialisiere CAN Kontroller mit 125kbit/s, 11bit) |  |
 +|  3  |  2  |  0  |Standard-CAN Initialisierung (initialisiere CAN Kontroller mit 250kbit/s, 11bit) |  |
 +|  3  |  3  |  0  |Standard-CAN Initialisierung (initialisiere CAN Kontroller mit 500kbit/s, 11bit) |  |
 +|  3  |  4  |  0  |Standard-CAN Initialisierung (initialisiere CAN Kontroller mit1000kbit/s, 11bit) |  |
 +|  3  |  5  |  0  |Extended-CAN Initialisierung (initialisiere CAN Kontroller mit 125kbit/s, 29bit) |  |
 +|  3  |  6  |  0  |Extended-CAN Initialisierung (initialisiere CAN Kontroller mit 250kbit/s, 29bit) |  |
 +|  3  |  7  |  0  |Extended-CAN Initialisierung (initialisiere CAN Kontroller mit 500kbit/s, 29bit) |  |
 +|  3  |  8  |  0  |Extended-CAN Initialisierung (initialisiere CAN Kontroller mit 1000kbit/s, 29bit) |  |
 +|  4  |  0  |  0  |HS-CAN (Relais schaltet - AUS) |  |
 +|  4  |  1  |  0  |MS-CAN (Relais schaltet - EIN) |  |
 +|  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-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-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-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  |setze alle 11bit CAN Filter auf CAN-ID $0000 und Mask-ID $07FF (= deaktiviere jeden CAN Datenverkehr zur Applikation) |  |
  
-===== Bus Specific Commands (P 8) ===== 
-==== Bus Specific Commands (P 8) for the CAN Bus, used in D2 Design ==== 
  
-^  Command  ^  Value1  ^  Value2  ^  Meaning  ^  Errorcodes +\\
-|  2  |  0  |  0  | CAN transceiver: Silent mode (CAN deactive)  |   | +
-|  2  |  1  |  0  | CAN transceiver: Loop back (internal loop)  |   | +
-|  2  |  2  |  0  | CAN transceiver: Loop back combined with silent mode  |   | +
-|  2  |  3  |  0  | CAN transceiver: Normal mode (CAN active)  |   | +
-|  3  |  1  |  0  | Standard-CAN init (initialize CAN controller with 125kbit/s, 11bit)  |   | +
-|  3  |  2  |  0  | Standard-CAN init (initialize CAN controller with 250kbit/s, 11bit)  |   | +
-|  3  |  3  |  0  | Standard-CAN init (initialize CAN controller with 500kbit/s, 11bit)  |   | +
-|  3  |  4  |  0  | Standard-CAN init (initialize CAN controller with 1000kbit/s, 11bit)  |   | +
-|  3  |  5  |  0  | Extended-CAN init (initialize CAN controller with 125kbit/s, 29bit)  |   | +
-|  3  |  6  |  0  | Extended-CAN init (initialize CAN controller with 250kbit/s, 29bit)  |   | +
-|  3  |  7  |  0  | Extended-CAN init (initialize CAN controller with 500kbit/s, 29bit)  |   | +
-|  3  |  8  |  0  | Extended-CAN init (initialize CAN controller with 1000kbit/s, 29bit)  |   | +
-|  4  |  0  |  0  | HS-CAN (Relais switch - OFF)  |   | +
-|  4  |  1  |  0  | MS-CAN (Relais switch - ON)  |   | +
-|  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  |   | +
-|  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)  |   | +
-|  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  |   | +
-|  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)  |   | +
-|  14  |  0  |  0  | set all 11bit CAN filter to CAN-ID $0000 and Mask-ID $07FF (= disable any CAN traffic to application)  |   |+
  
-===== 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 filtereach line with two 11bit CAN-filters like: \\ <CAN-ID> <Mask-ID> <CAN-ID> <Mask-ID>  |   | +|  0  |  10  |  0  | zeige alle 11bit CAN-ID Filterjede Zeile mit zwei 11bit CAN-Filtern wie: \\ <CAN-ID> <Mask-ID> <CAN-ID> <Mask-ID>  |   | 
-|  0  |  11  |  0  | show all 29bit CAN-ID filtereach line with one 29bit CAN-filter like: \\ <CAN-ID> <Mask-ID>  |   |+|  0  |  11  |  0  | zeige alle 29bit CAN-ID Filterjede Zeile mit zwei 29bit CAN-Filtern wie: \\ <CAN-ID> <Mask-ID>  |   |
  
de/doc/hw_commands.1398005446.txt.gz · Last modified: 2014/04/20 16:50 by wsauer