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
interface:syntax [2011/08/07 11:18] – [Parameter list] admininterface:syntax [2014/02/25 06:38] (current) – removed admin
Line 1: Line 1:
-====== The OOBD Firmware Syntax ====== 
- 
-Under the assumption, that it will be mostly other software which talks to the interface, the command structure was made simple, but flexible. 
- 
-To archive this, the interface knows only two different kind of inputs, data or parameters 
- 
-===== Data ===== 
-input: 
-  data <CR> 
- 
-where data is defined as (in EBNF- Syntax) 
- 
-  data = hex , { hex }; 
-  digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ; 
-  hex = "A" | "B" | "C" | "D" | "E" | "F" |"a" | "b" | "c" | "d" | "e" | "f" | digit ; 
- 
-===== Parameters ===== 
- 
-input: 
-  p key value <CR> 
-   
-where the definion is as follows 
- 
-  p = "p" | "P" ; 
-  key = number ; 
-  value = number ; 
-  number = digit , {digit } | "$" , hex , { hex } ; 
-   
-   
-===== Examples ===== 
- 
-Sending 11 bytes of data 
- 
-input: 
-   112233445566778899AABB 
- 
-if the number of input chars is not even, the last char is handled as MSB of the last byte, so 
- 
-   112233445566778899AAB 
- 
-is send as  
- 
-   112233445566778899AAB0 
- 
- 
-Set the parameter 127 to 64: 
- 
-  p 127 64 
-   
-the same, but with hexadecimal notation: 
- 
-  p $7F $40 
-   
-   
-====== Interface feedback ====== 
-The format of the data given back on a data or parameter input is depending on the actual active protocol and bus implementation. 
- 
- 
-**Important** Sending ''data'' locks the input until the receive tasks times out. 
- 
-====== Parameter list ====== 
-The OOBD interface is designed to allow generic protocols and busses. For that reason only some parameters can be common for all possible cases (the so called global parameters). All other ones are protocol or bus specific. 
- 
- 
- 
-max: implementation specific (unsigned long) 
- 
-^  Key  ^ Value  ^  Used by ^  Meaning   ^ 
-|  0    |  0..max |  Global    | Output System infos  | 
-|  1    |  0,1    |  Global    | set local echo on/off. 0=off, 1=on  | 
-|  2    |  0..2    Global    | set Linefeed (0=crlf, 1 = cr , 2 = lf  | 
-|  3    |  0..max |  Global    | set bus listening level. 0=off, all other values implementation specific | 
-|  4    |  0..max |  Global    | select Protocol | 
-|  5    |  0..max |  Protocol  | select Bus | 
-|  6    |  0..max |  Protocol  | select Bus configuration | 
-|  7    |  0..max |  Protocol  | set module answer Timeout (Unit: 10ms) | 
-|  8    |  0..max |  Protocol  | set "answer pending" answer Timeout (Unit: 10ms) | 
-|  9    |  0..max |  Protocol  | overwrite Blocksize with fixed value  (0= use the blocksize requested by module)| 
-|  10    |  0..max |  Protocol  | set  frame delay time (Unit: 10ms, 0= use the delay requested by module) | 
-|  11    |  0..max |  Protocol  | set Receiver ID | 
-|  12    0..max |  Protocol  | set tester present ON (value = Receiver ID) | 
-|  13    0..max |  Protocol  | set tester present OFF (value = Receiver ID) | 
-|  14    0..max |  Protocol  | set tester present frequency (Unit: 10ms) | 
-|  15    |  - |  -   | just for internal  | 
-|  16    |  0..max |  Protocol  | set Sender ID (= awaited answer address, 0 disables)  | 
-|  99    |  0..max |  System  | system reset (= jumps back into bootloader)  | 
- 
- 
-^ System infos (Key 00) ^^^ 
-^  Value ^ Protocol ^ Format ^ 
-|  0     | version | OOBD <Design-ID> <Rev> [Build date](e.g.: OOBD D2 214 So 27. Feb 14:31:12 CET 2011) | 
-|  1     | serial number |  | 
-|  2     | system status | <key> <value> (multiline, e.g.: mem 12012) | 
-|  3     | actual Protocol | <Protocol-ID> [<Name>] (e.g.: 2 UDS (ISO 14229-1) | 
-|  4     | actual Bus | <Bus-ID> [<Name>] (e.g.: 1 CAN) | 
-|  5     | actual Bus Configuration | <Configuration-ID> [<Name>] (e.g.: 3 CAN Bus 11 bit ID 500kB) | 
-|  6     | sessionID | unique Identifier of actual running session (e.g. timer ticks between boot and first arrived input char) | 
- 
- 
-^ Protocols (Key 04) ^^ 
-^  Value ^ Protocol ^ 
-|  1     | raw CAN | 
-|  2     | [[http://de.wikipedia.org/wiki/Unified_Diagnostic_Services|UDS (ISO 14229-1)]] | 
- 
- 
-^ Busses (Key 05) ^^ 
-^  Value ^ Bus ^ 
-|  0      Bus Off (disable all bus activities, until a **Bus Configuration** command arrives)  | 
-|  1      CAN  | 
- 
- 
-===== Raw CAN & UDS ===== 
- 
-^  Value ^ Meaning ^ 
-^ Bus configuration (Key 06) ^^ 
-|  1     | CAN Bus 11 bit ID 125kB | 
-|  2     | CAN Bus 11 bit ID 250kB | 
-|  3     | CAN Bus 11 bit ID 500kB | 
-|  4     | CAN Bus 11 bit ID 1MB | 
-|  5     | CAN Bus 29 bit ID 125kB | 
-|  6     | CAN Bus 29 bit ID 250kB | 
-|  7     | CAN Bus 29 bit ID 500kB | 
-|  8     | CAN Bus 29 bit ID 1MB | 
- 
-