Ostatnia zmiana:
Biblioteka J2534 wykorzystuje kompaktowy, łatwy do parsowania format logów. Każdy wiersz reprezentuje jedną operację lub komunikat z danymi. Format jest zoptymalizowany pod kątem automatycznej analizy i pozwala w pełni odtworzyć sekwencję działań podczas diagnostyki samochodu.
# 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 ...
Aplikacja może dodawać własne wpisy do logu za pomocą funkcji PassThruWriteToLog:
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
Wpisy z aplikacji używają identyfikatora pt_lib zamiast numeru urządzenia.
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
| Pozycja | Pole | Opis |
|---|---|---|
| 0 | DELTA | Czas delta w milisekundach od poprzedniej operacji (3 znaki, wyrównanie do prawej) |
| 1 | LEVEL | Poziom logowania: I (Info), E (Error), W (Warning), D (Debug) |
| 2 | DEVICE | Numer urządzenia (j0, j1, ... j15) lub pt_lib dla wpisów aplikacji |
| 3 | COMMAND | Nazwa polecenia |
| 4+ | PARAMS | Parametry wejściowe (zobacz tabelę poleceń poniżej) |
| - | > | Separator |
| -2 | RESULT | Wynik/wartości wyjściowe |
| -1 | DURATION | Czas trwania operacji (Nms) |
[CAN_ID]DATA TIMESTAMP LEN FLAGS
| Pozycja | Pole | Opis |
|---|---|---|
| - | \t | Wcięcie tabulacją |
| 0 | [CAN_ID] | Identyfikator CAN w nawiasach kwadratowych |
| 1 | DATA | Bajty danych (hex, bez spacji). Puste jeśli LEN=0 |
| 2 | TIMESTAMP | Znacznik czasu urządzenia w sekundach.milisekundach (SSSS.mmm) |
| 3 | LEN | Długość danych w bajtach |
| 4 | FLAGS | Flagi oddzielone znakiem | (opcjonalnie) |
Jeśli protokół różni się od protokołu kanału, jest dodawany do FLAGS.
Przykłady:
[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
| Wynik | Opis |
|---|---|
| ok | Sukces (STATUS_NOERROR) |
| N | Liczba rzeczywiście odczytanych/zapisanych komunikatów
|
| ERR_XXX | Tekstowy kod błędu ERR_XXX = błąd wykonania operacji (ERR_INVALID_CHANNEL_ID, ERR_DEVICE_NOT_CONNECTED itd.) |
| "tekst" | Tekstowy ciąg znaków w cudzysłowie (na przykład opis ostatniego błędu przy wywołaniu polecenia PassThruGetLastError) |
| Polecenie | Parametry (pozycje 3+) | Wynik | Opis |
|---|---|---|---|
| open | address | ok/ERR | Otwórz połączenie z urządzeniem |
| close | - | ok/ERR | Zamknij połączenie |
| conn | protocol baud | channel | Podłącz kanał według protokołu |
| disc | channel | ok/ERR | Odłącz kanał |
Typy połączenia:
| Polecenie | Parametry | Wynik | Opis |
|---|---|---|---|
| rd | channel timeout num | num lub ERR | Odczytaj komunikaty |
| wr | channel timeout num | num lub ERR | Zapisz komunikaty |
Parametry:
Wynik:
Poziom logowania dla 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
| Polecenie | Parametry | Wynik | Opis |
|---|---|---|---|
| flt+ | channel [protocol] type mask pattern [flow] | filter_id | Ustaw filtr |
| flt- | channel filter_id | ok/ERR | Usuń filtr |
Parametry:
Typy filtrów:
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
| Polecenie | Parametry | Wynik | Opis |
|---|---|---|---|
| per+ | channel interval | msg_id | Uruchom komunikat okresowy |
| per- | channel msg_id | ok/ERR | Zatrzymaj komunikat okresowy |
Parametry:
50 I j0 per+ 1 100 > 0 5ms [6A8]3E00 0.000 2 150 I j0 per- 1 0 > ok 3ms
Wiersz danych po per+ pokazuje zawartość komunikatu okresowego (ten sam format co dla wr).
| Polecenie | Parametry | Wynik | Opis |
|---|---|---|---|
| io | channel ioctl_id [params] | [result] | Operacja IOCTL |
DELTA LEVEL DEVICE io channel GET_CONFIG > PARAM:value|PARAM:value|... Nms
Przykład:
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
Przykład:
10 I j0 io 1 SET_CONFIG P2_CAN:2000|P3_MIN:45|ISO15765_WFT_MAX:0 > ok 10ms
Parametry ogólne: 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 itd.
DELTA LEVEL DEVICE io 0 READ_VBATT > voltage Nms
Wynik: Napięcie w formacie X.X (wolty z jednym miejscem po przecinku).
Przykład:
10 I j0 io 0 READ_VBATT > 12.3 5ms
DELTA LEVEL DEVICE io 0 READ_PIN_V pin > voltage Nms
Parametry:
Przykłady:
10 I j0 io 0 READ_PIN_V 16 > 12.3 5ms
DELTA LEVEL DEVICE io channel 5BAUD_INIT in_addr > out_keybytes Nms
Parametry:
Przykład:
30 I j0 io 1 5BAUD_INIT 33 > 8F6F 2850ms
DELTA LEVEL DEVICE io channel FAST_INIT [tx_msg] > [rx_msg] Nms
Parametry (opcjonalnie):
Przykłady:
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
| Polecenie | Opis |
|---|---|
| CLEAR_TX_BUFFER | Wyczyść bufor TX |
| CLEAR_RX_BUFFER | Wyczyść bufor RX |
| CLEAR_PERIODIC_MSGS | Wyczyść komunikaty okresowe |
| CLEAR_MSG_FILTERS | Wyczyść filtry komunikatów |
| CLEAR_FUNCT_MSG_LOOKUP_TABLE | Wyczyść tablicę komunikatów funkcyjnych |
Przykład:
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
Parametry: addr - Adres logiczny (hex)
Przykład:
10 I j0 io 1 REQ_CONN 01 > ok 150ms
| Polecenie | Parametry | Wynik | Opis |
|---|---|---|---|
| ver | - | fw dll api | Odczytaj wersję DLL |
| rd_ver | - | ver:FW:XX;HW:XXXXXXXX;SN:X | Odczytaj wersję firmware urządzenia |
| volt | pin voltage | ok/ERR | Ustaw napięcie programowania |
| err | - | error_text | Pobierz opis ostatniego błędu |
Przykłady:
0 I j0 rd_ver > ver:FW:81;HW:0000FF05;SN:0 16ms 300 I j0 err > "Channel not connected" 0ms
| Typ | Format | Przykład |
|---|---|---|
| 11-bitowy standardowy | [XXX] | [612] |
| 29-bitowy rozszerzony | [XXXXXXXX] | [18DA00F1] |
| 11-bitowy + adres rozszerzony | [XXX:XX] | [612:F1] |
| 29-bitowy + adres rozszerzony | [XXXXXXXX:XX] | [18DA00F1:F1] |
Adres rozszerzony jest wyświetlany przy obecności flagi EXT_ADDR.
| Flaga | Bit | Opis |
|---|---|---|
| INT | 0 | Wewnętrzne/loopback (TX_MSG_TYPE). 1=echo z adaptera, 0=z magistrali |
| RX_START | 1 | Początek komunikatu segmentowanego (START_OF_MESSAGE) |
| RX_BREAK | 2 | Wykryto przerwanie połączenia (RX_BREAK) |
| TX_DONE | 3 | Transmisja zakończona pomyślnie (TX_SUCCESS) |
| TX_FAIL | 9 | Błąd transmisji (TX_FAILED) |
| PAD_ERR | 4 | Błąd dopełnienia ISO15765 (ISO15765_PADDING_ERROR) |
| EXT_ADDR | 7 | Tryb adresowania rozszerzonego (ISO15765_ADDR_TYPE) |
| EXT29 | 8 | 29-bitowy CAN ID (CAN_29BIT_ID) |
| FD | 20 | Ramka CAN FD (FD_CAN_FORMAT) |
| BRS | 19 | CAN FD przełączanie szybkości transmisji (FD_CAN_BRS) |
| ESI | 21 | CAN FD wskaźnik stanu błędu (FD_CAN_ESI) |
| Flaga | Bit | Opis |
|---|---|---|
| NO_DONE | 0 | Nie czekaj na potwierdzenie TX (ISO15765_NO_TXDONE) |
| NO_RESP | 1 | Nie czekaj na odpowiedź (ISO15765_NO_RESP) |
| PAD | 6 | Użyj dopełnienia ISO15765 (ISO15765_FRAME_PAD) |
| EXT_ADDR | 7 | Tryb adresowania rozszerzonego (ISO15765_ADDR_TYPE) |
| EXT29 | 8 | Użyj 29-bitowego CAN ID (CAN_29BIT_ID) |
| P3_ONLY | 9 | Czekaj tylko na P3 min (WAIT_P3_MIN_ONLY) |
| SW_HV | 10 | SW-CAN transmisja wysokonapięciowa (SW_CAN_HV_TX) |
| FD | 20 | Ramka CAN FD (FD_CAN_FORMAT) |
| BRS | 19 | CAN FD przełączanie szybkości transmisji (FD_CAN_BRS) |
| Nazwa | ID protokołu | Opis |
|---|---|---|
| CAN | 5 | Raw CAN |
| ISO15765 | 6 | ISO 15765-2 (transport CAN) |
| 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 przez 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