Online parser protokolu Spinel

Používáte Spinel? Pracujete na implementaci a potřebujete rychle ověřit, jestli máte datový paket validní? Parser na téhle stránce se Vám bude určitě hodit. Zde je jednoduchý parser a validátor Spinelu, který v textu najde pakety Spinelu a přehledně je vypíše. Není třeba nic instalovat - funguje online.

Pokud náhodou nevíte čemu říkáme Spinel, tak jde o binární komunikační protokol, který už léta používáme ve spoustě našich zařízení. Více obecných infromací o protokolu Spinel je uvedeno na stránce programu SpinelTerminal, což je desktopová aplikace pro ladění komunikací v protokolu Spinel. Detailní informace o implementaci Spinelu jsou také uvedeny vždy v manuálu u konkrétního zařízení.

Vstupní data s pakety Spinelu

Do následujícího pole vložte text obsahující pakety Spinelu ve formátu Spinel 97. Parser rozeznává tyto dva typy vstupních dat:

  • Text spolu s byty zapsanými ve formátu 0xAB nebo ABH oddělenými mezerou nebo čárkou. Čísla bez prefixu 0x nebo suffixu H budou považována za dekadická.
  • Dvojice znaků reprezentujících hexadecimální byty, oddělené mezerou nebo čárkou. Například: 2A 61 00 06 01 02 00 C2 A9 0D

  

Nalezené pakety

Výpis obsahuje platné pakety nebo pakety s chybným kontrolním součtem. Chyby jsou zvýrazněné červeně:

  1.  

Struktura paketu Spinelu

Detailní popis struktury paketu Spinelu je vždy v manuálu ke konkrétnímu zařízení. Zde uvádíme jen základní popis dat.

Dotaz:
PRE FRM NUM NUM ADR SIG INST DATA... SUM CR
Odpověď:
PRE FRM NUM NUM ADR SIG ACK  DATA... SUM CR
  • PRE 1 Byte Prefix, 2AH (znak “*“).
  • FRM 1 Byte Číslo formátu 97 (61H).
  • NUM 2 Byty Počet bytů v instrukci od následujícího bytu do konce zprávy.
  • ADR 1 Byte Adresa zařízení, kterému je posílán dotaz nebo který posílá odpověď.
  • SIG 1 Byte Podpis zprávy. SIG poslané v dotazu, se vrátí v odpovědi. Jde tak poznat ke kterému dotazu patří odpověď.
  • INST 1 Byte Kód instrukce (10H až FFH).
  • ACK 1 Byte Potvrzení dotazu (00H až 0FH) informuje zda byl dotaz přijat, nastala chyba, jde o automatickou zprávu, ...
  • DATA x Byte Data. Délka se liší podle konkrétní instrukce.
  • SUM 1 Byte Kontrolní součet. Počítá se takto: SUM = 255 – (PRE + FRM + NUM + ADR + SIG + ACK (INST) + DATA)
  • CR 1 Byte Zakončovaní znak (Carriage Return, 0DH, \r).

Vytvořeno19.11.2021