Terminal EAN · FTDI USB / Serial
Rozłączono.
Ramki: 0/s | Odrzucone bajty: 0
USB: 0403:6001 · 1000000 baud · Pomoc
Otwórz na telefonie: zeskanuj kod aparatem i otwórz link w Chrome na Androidzie.
com-egzotech-internal-ean-obd.vm-100.internal.egzotech.com
Android: Chrome, HTTPS oraz kabel / adapter USB OTG z transmisją danych. Po kliknięciu „Połącz” wybierz FT232 / EAN0 PROG i zaakceptuj ewentualne uprawnienia USB. Zamknij inne aplikacje korzystające z konwertera.
Tryb wybierany automatycznie: Android korzysta z WebUSB, komputer z Web Serial i systemowego sterownika FTDI. Jeśli Web Serial nie jest dostępne, wybierane jest WebUSB. Na komputerze użyj Chrome / Edge i zainstalowanego sterownika FTDI. Nie trzeba wyłączać ani odłączać sterownika systemowego. Aktywny tryb pokazany jest w statusie połączenia.
Stałe ustawienia: FT232 0403:6001, 1000000 baud, 8N1, bez kontroli przepływu.
Start: RTS=true, odczekanie 200 ms, DTR=false, dwa przebiegi opróżniania odbioru
(do 10 odczytów na przebieg, oczekiwanie do 100 ms na dane), następnie DTR=true.
Podczas odbioru RTS i DTR pozostają włączone.
Little-endian ustawiane przez littleEndian w terminal.mjs.
Tekst UTF-8 z CMD=6, RTR=0, długość według DLC; NUL pomijane.
Ramka: 2 bajty nagłówka + 8 danych + CRC-8 (0x07, init 0) z pierwszych 10 bajtów. MAC: bity 0–5, CMD: 6–10, DLC: 11–14, RTR: 15. Parser szuka synchronizacji po CRC, ale bez znacznika początku możliwe są przypadkowe dopasowania. Dane są przetwarzane lokalnie w przeglądarce.
Każda poprawna ramka tworzy zakładkę z numerem MAC, niezależnie od CMD. Ramki z MAC 0 są ignorowane (bez zakładki, tekstu i danych). Tekst z CMD=6 trafia tylko do terminala danego MAC. Pomarańczowe podkreślenie oznacza nowy tekst w innej zakładce. Historia i wpisane polecenia pozostają po przełączeniu zakładki i rozłączeniu (do odświeżenia strony). Terminal przechowuje ostatnie 5000 linii; starsze są usuwane. Licznik „Ramki” pokazuje liczbę poprawnych ramek na sekundę (odświeżany co sekundę), „Odrzucone bajty” to suma od połączenia. Wykres na górze pokazuje ramki/s z ostatnich 60 s w skali 0–8000 (przerywana linia to 50%), a pasek — bieżące obciążenie magistrali, gdzie 100% to 8000 ramek/s (zielony do 60%, żółty do 85%, potem czerwony). Kliknięcie wykresu otwiera okno z ramkami/s osobno dla każdego modułu (MAC); ramki MAC 0 nie są tam uwzględniane.
Terminal działa jak konsola: polecenie wpisuje się na końcu odebranego tekstu (kliknij w terminal, aby pisać),
Enter wysyła tekst UTF-8 do MAC zakładki: CMD=6, RTR=0, maksymalnie 8 bajtów na ramkę,
DLC według liczby bajtów, zerowe dopełnienie i CRC. Na końcu dodawane jest LF (\n).
Pusta linia wysyła sam Enter. Przed wysłaniem polecenie jest dopisywane do terminala wraz z końcem linii (lokalne echo).
Strzałki ↑/↓ przeglądają historię poleceń. Odebrane CR+LF to nowa linia, samo CR nadpisuje bieżącą linię.
Kolory ANSI (np. ESC[32m w logach ESP-IDF) są wyświetlane; inne sekwencje sterujące są pomijane.
Nowy terminal zaczyna od znaku zachęty „> ”; znika on, jeśli urządzenie wyśle tekst przed pierwszym poleceniem.
„Wyczyść zakładkę” usuwa historię, ale zostawia bieżącą linię (jak Ctrl+L).
Domyślnie żaden schemat nie jest wybrany; terminale MAC działają niezależnie od wyboru.
Schemat wybierz z listy na górze. Zmiana wyboru czyści dane i liczniki, nie rozłącza portu.
Moduły urządzeń znajdują się w katalogu schema/.
Plik schema/index.mjs eksportuje mapę schemas:
klucze, np. MeissaOT i SidraLEG, są nazwami na liście, a wartości to obiekty schematów urządzeń.
Dozwolone są wyrażenia arytmetyczne,
komentarze i końcowe przecinki. To kod JavaScript, więc używaj tylko zaufanego pliku.
Każde urządzenie może zawierać obiekt schema z dowolnie zagnieżdżonymi nazwami parametrów.
@mac i @cmd wybierają ramkę; @skip to przesunięcie w bajtach od początku
data, nie całej ramki. Odczyt nigdy nie wykracza poza DLC. Ramki RTR i CMD=6 nie aktualizują tabeli.
Formaty: c/C = int8/uint8, s/S = int16/uint16,
i/I = int32/uint32, f = float32,
q = Q15 (int16 / 32768, zakres −1 do 32767/32768).
Kolejność bajtów jest zgodna ze zmienną littleEndian.
Kolejność operacji: konwersja, opcjonalne @mask (maska bitowa, wynik bez znaku),
dzielenie przez @factor, następnie opcjonalne @asBool → true/false.
Wartości niecałkowite są wyświetlane z dokładnością do 3 miejsc po przecinku.
Domyślnie skip=0, factor=1. Maska dotyczy formatów całkowitych (nie q); factor nie może być zerem.
Obsługiwane jest dowolne zagnieżdżenie grup, zarówno z obiektem schema, jak i bez niego.
Przycisk „i” otwiera opis @description w osobnym okienku; brak opisu wyłącza przycisk.
Przycisk „↻” (odśwież) wysyła jedną 11-bajtową ramkę z MAC i CMD parametru, DLC=0, RTR=0,
zerowym data[8] oraz poprawnym CRC. Jest dostępny po połączeniu, poza trwającym wysyłaniem.
Odpowiedź aktualizuje parametry danego MAC i CMD zgodnie z ich @flushSize.
Pinezka przenosi wiersz do grupy na początku tabeli. Ponowne kliknięcie odpina go i przywraca
kolejność ze schematu. W obu grupach zachowana jest kolejność schematu.
Wybory są zapamiętywane lokalnie w tej przeglądarce osobno dla urządzeń, według pełnej nazwy parametru.
Po odświeżeniu wybierz schemat, aby zobaczyć zapisane pinezki; sam wybór schematu nadal domyślnie jest pusty.
Formaty p (msgpack) i t (tekst) są pomijane w tabeli.
@flushSize określa, co którą poprawną ramkę z pasującym MAC i CMD aktualizować parametr:
np. 20 oznacza ramki 20, 40, 60 itd. Domyślnie 1, czyli każdą.
Licznik jest osobny dla parametru, zerowany przy nowym połączeniu; RTR, CMD=6 i błędne CRC nie są liczone.
Wyświetlana jest wartość z wybranej ramki, nie średnia. Do pierwszego progu widoczne jest „—”.
@fragmentation nadal nie wpływa na odczyt; tabela nie składa fragmentów.
W module schematu wartość @factor może być wyrażeniem, np. 1 / (360 / 65536).
Tabela pokazuje ostatnie wartości; po rozłączeniu nie są one danymi bieżącymi. Nowe połączenie zeruje tabelę do „—”. Błąd schematu jest widoczny w zakładce „Dane” i nie blokuje terminali; błąd długości ramki jest pokazywany przy parametrze. Po edycji schematu odśwież stronę.
Oczekiwanie na urządzenia. Zakładki pojawią się po odebraniu poprawnych ramek.