Last modified:
The J2534 library uses a compact, easily parseable log format. Each line represents a single operation or data message. The format is optimized for automated analysis and allows the full sequence of actions during vehicle diagnostics to be reconstructed.
# v2 2026-01-10 02:00:18 0 I j0 open 192.168.12.3 > ok 4ms 10 I j0 conn ISO15765 500000 > 1 9ms 6 I j0 wr 1 100 1 > 1 5ms [6A8]10C0 0.000 2 5 I j0 rd 1 2000 10 > 1 4ms [688]61C0 2240.300 2 ...
The application can add its own entries to the log via the PassThruWriteToLog function:
0 I pt_lib open param: 192.168.12.3, type:1 0 I pt_lib open param: 192.168.12.3, name:sd0;n192.168.12.3
Application entries use the identifier pt_lib instead of a device number.
DELTA LEVEL DEVICE COMMAND PARAMS > RESULT DURATION
0 I j0 open 192.168.12.3 > ok 4ms 10 I j0 conn ISO15765 500000 > 1 9ms 5 I j0 disc 1 > ok 4ms 4 I j0 close > ok 3ms
| Position | Field | Description |
|---|---|---|
| 0 | DELTA | Delta time in milliseconds from the previous operation (3 characters, right-aligned) |
| 1 | LEVEL | Log level: I (Info), E (Error), W (Warning), D (Debug) |
| 2 | DEVICE | Device number (j0, j1, ... j15) or pt_lib for application entries |
| 3 | COMMAND | Command name |
| 4+ | PARAMS | Input parameters (see command table below) |
| - | > | Separator |
| -2 | RESULT | Result / output values |
| -1 | DURATION | Operation duration (Nms) |
[CAN_ID]DATA TIMESTAMP LEN FLAGS
| Position | Field | Description |
|---|---|---|
| - | \t | Tab indentation |
| 0 | [CAN_ID] | CAN identifier in square brackets |
| 1 | DATA | Data bytes (hex, no spaces). Empty if LEN=0 |
| 2 | TIMESTAMP | Device timestamp in seconds.milliseconds (SSSS.mmm) |
| 3 | LEN | Data length in bytes |
| 4 | FLAGS | Flags separated by the | character (optional) |
If the protocol differs from the channel protocol, it is added to FLAGS.
Examples:
[688]61B05646375244 2240.300 8 [688]61B05646375244 2240.300 8 RX_START [6A8] 2240.281 0 INT|TX_DONE [612:F1]037F2212 2240.300 4 CAN [612:F1]037F2212 2240.300 4 INT|CAN
| Result | Description |
|---|---|
| ok | Success (STATUS_NOERROR) |
| N | Actual number of messages read/written
|
| ERR_XXX | Text error code ERR_XXX = operation failed (ERR_INVALID_CHANNEL_ID, ERR_DEVICE_NOT_CONNECTED, etc.) |
| "text" | Quoted text string (e.g., the description of the last error returned by the PassThruGetLastError call) |
| Command | Parameters (positions 3+) | Result | Description |
|---|---|---|---|
| open | address | ok/ERR | Open connection to device |
| close | - | ok/ERR | Close connection |
| conn | protocol baud | channel | Connect a channel using the specified protocol |
| disc | channel | ok/ERR | Disconnect a channel |
Connection types:
| Command | Parameters | Result | Description |
|---|---|---|---|
| rd | channel timeout num | num or ERR | Read messages |
| wr | channel timeout num | num or ERR | Write messages |
Parameters:
Result:
Log level for rd:
26 I j0 wr 1 100 1 > 1 6ms [6A8]10C0 0.000 2 6 I j0 rd 1 2000 10 > 10 5ms [6A8] 2240.281 0 INT|TX_DONE [688] 2240.294 0 RX_START 15 W j0 rd 1 0 10 > 0 2ms 62 W j0 rd 1 50 10 > 2 62ms [7DF] 2.489 0 INT|TX_DONE [7E8]4100BE1FA813 2.489 6 41 E j0 rd 1 2000 10 > ERR_INVALID_CHANNEL_ID 0ms
| Command | Parameters | Result | Description |
|---|---|---|---|
| flt+ | channel [protocol] type mask pattern [flow] | filter_id | Set a filter |
| flt- | channel filter_id | ok/ERR | Remove a filter |
Parameters:
Filter types:
13 I j0 flt+ 1 FLOW FFFFFFFF 688 6A8 > 0 3ms 3 I j0 flt+ 1 ISO15765 FLOW FFFFFFFF 000007E8 000007E0 > 0 0ms 139 I j0 flt- 1 0 > ok 3ms
| Command | Parameters | Result | Description |
|---|---|---|---|
| per+ | channel interval | msg_id | Start a periodic message |
| per- | channel msg_id | ok/ERR | Stop a periodic message |
Parameters:
50 I j0 per+ 1 100 > 0 5ms [6A8]3E00 0.000 2 150 I j0 per- 1 0 > ok 3ms
The data line after per+ shows the content of the periodic message (same format as for wr).
| Command | Parameters | Result | Description |
|---|---|---|---|
| io | channel ioctl_id [params] | [result] | IOCTL operation |
DELTA LEVEL DEVICE io channel GET_CONFIG > PARAM:value|PARAM:value|... Nms
Example:
200 I j0 io 1 GET_CONFIG > P2_CAN:2000|P3_MIN:45|ISO15765_BS:8 8ms
DELTA LEVEL DEVICE io channel SET_CONFIG PARAM:value|PARAM:value|... > ok Nms
Example:
10 I j0 io 1 SET_CONFIG P2_CAN:2000|P3_MIN:45|ISO15765_WFT_MAX:0 > ok 10ms
Common parameters: DATA_RATE, LOOPBACK, P1_MAX, P3_MIN, P4_MIN, W0-W5, TIDLE, TWUP, PARITY, ISO15765_BS, ISO15765_STMIN, BS_TX, STMIN_TX, ISO15765_WFT_MAX, ISO15765_PAD_VALUE, J1962_PINS, CAN_MIXED_FORMAT, FD_CAN_DATA_PHASE_RATE, HS_CAN_TERMINATION, N_CR_MAX and others.
DELTA LEVEL DEVICE io 0 READ_VBATT > voltage Nms
Result: Voltage in X.X format (volts with one decimal place).
Example:
10 I j0 io 0 READ_VBATT > 12.3 5ms
DELTA LEVEL DEVICE io 0 READ_PIN_V pin > voltage Nms
Parameters:
Examples:
10 I j0 io 0 READ_PIN_V 16 > 12.3 5ms
DELTA LEVEL DEVICE io channel 5BAUD_INIT in_addr > out_keybytes Nms
Parameters:
Example:
30 I j0 io 1 5BAUD_INIT 33 > 8F6F 2850ms
DELTA LEVEL DEVICE io channel FAST_INIT [tx_msg] > [rx_msg] Nms
Parameters (optional):
Examples:
10 I j0 io 1 FAST_INIT 8121F181 > 83F11061 85ms 10 I j0 io 1 FAST_INIT > ok 75ms
DELTA LEVEL DEVICE io channel IOCTL_NAME > ok Nms
| Command | Description |
|---|---|
| CLEAR_TX_BUFFER | Clear TX buffer |
| CLEAR_RX_BUFFER | Clear RX buffer |
| CLEAR_PERIODIC_MSGS | Clear periodic messages |
| CLEAR_MSG_FILTERS | Clear message filters |
| CLEAR_FUNCT_MSG_LOOKUP_TABLE | Clear the functional message lookup table |
Example:
10 I j0 io 1 CLEAR_RX_BUFFER > ok 2ms 10 I j0 io 1 CLEAR_MSG_FILTERS > ok 3ms
DELTA LEVEL DEVICE io channel REQ_CONN addr > ok Nms
Parameters: addr - Logical address (hex)
Example:
10 I j0 io 1 REQ_CONN 01 > ok 150ms
| Command | Parameters | Result | Description |
|---|---|---|---|
| ver | - | fw dll api | Read DLL version |
| rd_ver | - | ver:FW:XX;HW:XXXXXXXX;SN:X | Read device firmware version |
| volt | pin voltage | ok/ERR | Set programming voltage |
| err | - | error_text | Get the description of the last error |
Examples:
0 I j0 rd_ver > ver:FW:81;HW:0000FF05;SN:0 16ms 300 I j0 err > "Channel not connected" 0ms
| Type | Format | Example |
|---|---|---|
| 11-bit standard | [XXX] | [612] |
| 29-bit extended | [XXXXXXXX] | [18DA00F1] |
| 11-bit + extended address | [XXX:XX] | [612:F1] |
| 29-bit + extended address | [XXXXXXXX:XX] | [18DA00F1:F1] |
The extended address is shown when the EXT_ADDR flag is set.
| Flag | Bit | Description |
|---|---|---|
| INT | 0 | Internal/loopback (TX_MSG_TYPE). 1 = echo from adapter, 0 = from the bus |
| RX_START | 1 | Start of a segmented message (START_OF_MESSAGE) |
| RX_BREAK | 2 | Link break detected (RX_BREAK) |
| TX_DONE | 3 | Transmission completed successfully (TX_SUCCESS) |
| TX_FAIL | 9 | Transmission error (TX_FAILED) |
| PAD_ERR | 4 | ISO15765 padding error (ISO15765_PADDING_ERROR) |
| EXT_ADDR | 7 | Extended addressing mode (ISO15765_ADDR_TYPE) |
| EXT29 | 8 | 29-bit CAN ID (CAN_29BIT_ID) |
| FD | 20 | CAN FD frame (FD_CAN_FORMAT) |
| BRS | 19 | CAN FD bit rate switch (FD_CAN_BRS) |
| ESI | 21 | CAN FD error state indicator (FD_CAN_ESI) |
| Flag | Bit | Description |
|---|---|---|
| NO_DONE | 0 | Do not wait for TX acknowledgment (ISO15765_NO_TXDONE) |
| NO_RESP | 1 | Do not wait for a response (ISO15765_NO_RESP) |
| PAD | 6 | Use ISO15765 padding (ISO15765_FRAME_PAD) |
| EXT_ADDR | 7 | Extended addressing mode (ISO15765_ADDR_TYPE) |
| EXT29 | 8 | Use 29-bit CAN ID (CAN_29BIT_ID) |
| P3_ONLY | 9 | Wait only for P3 min (WAIT_P3_MIN_ONLY) |
| SW_HV | 10 | SW-CAN high-voltage transmission (SW_CAN_HV_TX) |
| FD | 20 | CAN FD frame (FD_CAN_FORMAT) |
| BRS | 19 | CAN FD bit rate switch (FD_CAN_BRS) |
| Name | Protocol ID | Description |
|---|---|---|
| CAN | 5 | Raw CAN |
| ISO15765 | 6 | ISO 15765-2 (CAN transport) |
| ISO9141 | 3 | ISO 9141-2 (K-Line) |
| ISO14230 | 4 | ISO 14230 (KWP2000) |
| J1850VPW | 1 | J1850 VPW |
| J1850PWM | 2 | J1850 PWM |
| FD_CAN | 0x8011 | CAN FD |
| FD_ISO15765 | 0x8012 | ISO 15765 over CAN FD |
# v2 2026-01-10 02:00:18 0 I j0 open 192.168.12.3 > ok 4ms 7 I j0 conn ISO15765_PS 500000 > 1 6ms 6 I j0 flt+ 1 FLOW FFFFFFFF 688 6A8 > 0 3ms 4 I j0 io 1 SET_CONFIG J1962_PINS:0308 > ok 8ms 9 I j0 wr 1 100 1 > 1 6ms [6A8]21B0 0.000 2 6 I j0 rd 1 2000 10 > 2 5ms [6A8] 2240.281 0 INT|TX_DONE [688] 2240.294 0 RX_START 5 I j0 rd 1 2000 10 > 1 12ms [688]61B0564637524452464A46394C353632303836 2240.300 23 20 I j0 wr 1 0 1 > 1 2ms [6A8]1081 0.000 2 50 I j0 rd 1 2000 10 > 2 48ms [6A8] 2240.350 0 INT|TX_DONE [688]5081 2240.355 2 40 I j0 io 1 CLEAR_RX_BUFFER > ok 2ms 8 I j0 flt- 1 0 > ok 3ms 9 I j0 disc 1 > ok 4ms 4 I j0 close > ok 3ms