Externí rozhraní JAVAD GREIS GNSS přijímače
Specifikace
- Produkt: GREIS GNSS přijímač
- Verze firmwaru: 4.5.00
- Poslední revize: 14. října 2024
Informace o produktu
Přijímač GREIS GNSS je vysoce přesné externí rozhraní navržené společností JAVAD GNSS, které nabízí přesné informace o poloze.
Zavedení
GREIS je všestranné zařízení používané pro různé aplikace. Zde je několik klíčových bodů:
- Co je GREIS: Jedná se o zařízení externího rozhraní pro GNSS přijímače.
- Jak se GREIS používá: Používá se ke zvýšení funkčnosti a přesnosti systémů GNSS.
- seznamy: Podrobné seznamy podporovaných funkcí a funkcí naleznete v příručce.
- Objekty: Prozkoumejte různé objekty, které lze s GREIS využít pro specifické úkoly.
Jazyk vstupu přijímače
Vstupní jazyk přijímače umožňuje uživatelům komunikovat se zařízením pomocí specifických příkazů a syntaxe. Tady je krátký konecview:
- Jazyk Přamples: Učte se od poskytnutého examppochopit, jak komunikovat se zařízením.
- Syntaxe jazyka: Seznamte se s pravidly syntaxe pro odesílání příkazů do přijímače.
- příkazy: Použijte různé příkazy k ovládání a konfiguraci zařízení na základě vašich požadavků.
Zprávy příjemce
Porozumění zprávám příjemce je zásadní pro interpretaci dat a stavových informací. Zde je to, co potřebujete vědět:
- Konvence: Dodržujte specifické formáty a hodnoty pro přesnou interpretaci zpráv.
- Standardní stream zpráv: Prozkoumejte standardní formát zpráv pro konzistentní přenos dat.
Nejčastější dotazy
Otázka: Mohu upravit firmware GREIS GNSS přijímače?
Odpověď: Ne, úpravy firmwaru nejsou povoleny podle předpisů o autorských právech JAVAD GNSS.
Otázka: Jak mohu získat přístup k podpoře pro technické problémy související s přijímačem GREIS GNSS?
Odpověď: Pro technickou podporu prosím kontaktujte přímo JAVAD GNSS.
Děkujeme vám za zakoupení vašeho JAVAD GNSS přijímače. Materiály dostupné v této Referenční příručce (dále jen „Příručka“) připravila společnost JAVAD GNSS, Inc. pro vlastníky produktů JAVAD GNSS. Je navržen tak, aby pomáhal vlastníkům s používáním přijímače a jeho použití podléhá těmto podmínkám (dále jen „Smluvní podmínky“).
Smluvní podmínky
PROFESIONÁLNÍ POUŽITÍ JAVAD GNSS přijímače jsou navrženy tak, aby je mohl používat profesionál. Od uživatele se očekává, že bude mít dobré znalosti a porozumění uživatelským a bezpečnostním pokynům před provozem, kontrolou nebo seřizováním. Při obsluze přijímače vždy používejte požadované chrániče (bezpečnostní obuv, přilbu atd.).
ODMÍTNUTÍ ZÁRUKY S VÝJIMKOU JAKÝCHKOLI ZÁRUK V TÉTO PRŮVODCE NEBO ZÁRUČNÍM KARTU DOPROVODNÉM K PRODUKTU, TÉTO PŘÍRUČCE A PŘIJÍMAČI JSOU POSKYTOVÁNY „TAK JAK JSOU“. NEEXISTUJÍ ŽÁDNÉ DALŠÍ ZÁRUKY. JAVAD GNSS ODMÍTÁ JAKÉKOLI PŘEDPOKLÁDANÉ ZÁRUKY OBCHODOVATELNOSTI NEBO VHODNOSTI PRO JAKÉKOLI KONKRÉTNÍ POUŽITÍ NEBO ÚČEL. JAVAD GNSS A JEJÍ DISTRIBUTOŘI NENESE ODPOVĚDNOST ZA TECHNICKÉ NEBO REDAKČNÍ CHYBY ČI OPADKY OBSAŽENÉ ZDE; ANI ZA NÁHODNÉ NEBO NÁSLEDNÉ ŠKODY VYPLÝVAJÍCÍ Z VYBAVENÍ, VÝKONU NEBO POUŽITÍ TOHOTO MATERIÁLU NEBO PŘIJÍMAČE. TAKOVÉ ODMÍTNUTÉ ŠKODY JSOU ALE NEOMEZENÉ NA ZTRÁTU ČASU, ZTRÁTU NEBO ZNIČENÍ DAT, ZTRÁTU ZISKU, ÚSPORY NEBO VÝNOSY NEBO ZTRÁTU POUŽÍVÁNÍ PRODUKTU. NAVÍC JAVAD GNSS NEODPOVÍDÁ ANI NEODPOVÍDÁ ZA ŠKODY NEBO NÁKLADY VZNIKLÉ V SOUVISLOSTI SE ZÍSKÁNÍM NÁHRADNÍCH PRODUKTŮ NEBO SOFTWARU, NÁROKŮ OD JINÝCH NÁROKŮ, NEPOHODLÍ NEBO JAKÝCHKOLI JINÝCH NÁKLADŮ. V ŽÁDNÉM PŘÍPADĚ NEMÁ JAVAD GNSS ŽÁDNOU ODPOVĚDNOST ZA ŠKODY ANI JINAK VŮČI VÁM NEBO JAKÉKOLI JINÉ OSOBĚ ČI SUBJEKTU PŘESAHUJÍCÍ KUPNÍ CENU PŘIJÍMAČE.
LICENČNÍ SMLOUVA Používání jakýchkoli počítačových programů nebo softwaru dodávaných JAVAD GNSS nebo stažených z JAVAD GNSS webstránky (dále jen „Software“) ve spojení s přijímačem znamená souhlas s těmito Podmínkami a podmínkami v této příručce a souhlas s dodržováním těchto Podmínek. Uživateli je udělena osobní, nevýhradní a nepřenosná licence k používání takového softwaru za podmínek
PŘEDMLUVA Obchodní podmínky
zde uvedené a v každém případě pouze s jedním přijímačem nebo jedním počítačem. Bez výslovného písemného souhlasu JAVAD GNSS nesmíte postoupit nebo převést Software nebo tuto licenci. Tato licence je platná až do ukončení. Licenci můžete kdykoli ukončit zničením softwaru a průvodce. JAVAD GNSS může ukončit licenci, pokud nedodržíte kteroukoli z podmínek. Souhlasíte, že po ukončení používání přijímače zničíte software a příručku. Veškeré vlastnictví, autorská práva a další práva duševního vlastnictví k Softwaru patří JAVAD GNSS. Pokud tyto licenční podmínky nejsou přijatelné, vraťte veškerý nepoužitý software a příručku.
DŮVĚRNOST Tato příručka, její obsah a Software (souhrnně „Důvěrné informace“) jsou důvěrnými a chráněnými informacemi JAVAD GNSS. Souhlasíte s tím, že s Důvěrnými informacemi JAVAD GNSS budete zacházet s mírou péče, která není méně přísná, než s mírou péče, kterou byste použili při ochraně svých vlastních nejcennějších obchodních tajemství. Nic v tomto odstavci vás neomezuje ve sdělování důvěrných informací vašim zaměstnancům, jak to může být nezbytné nebo vhodné pro provoz nebo péči o přijímač. Tito zaměstnanci musí rovněž zachovávat důvěrnost informací o důvěrnosti. V případě, že se stanete ze zákona nuceni prozradit kteroukoli z Důvěrných informací, musíte o tom okamžitě informovat JAVAD GNSS, aby mohl požádat o ochranný příkaz nebo jinou vhodnou nápravu.
WEBSTRÁNKA; OSTATNÍ PROHLÁŠENÍ V JAVAD GNSS není obsaženo žádné prohlášení webstránky (nebo jakékoli jiné webstránky) nebo v jakékoli jiné reklamě nebo literatuře JAVAD GNSS nebo vytvořené zaměstnancem nebo nezávislým dodavatelem JAVAD GNSS upravuje tyto Podmínky (včetně softwarové licence, záruky a omezení odpovědnosti).
BEZPEČNOST Nesprávné použití přijímače může vést ke zranění osob nebo majetku a/nebo k poruše výrobku. Přijímač by měl být opravován pouze autorizovanými servisními středisky JAVAD GNSS.
RŮZNÉ Výše uvedené podmínky může JAVAD GNSS kdykoli upravit, upravit, nahradit nebo zrušit. Výše uvedené podmínky se budou řídit a vykládat v souladu se zákony státu Kalifornie, bez odkazu na konflikt zákonů.
Co je GREIS
GREIS je jazyk rozhraní umožňující uživateli efektivně komunikovat s GNSS přijímači přístupem ke všem jejich schopnostem a funkcím.
GREIS představuje obecnou jazykovou strukturu přijímače pro celou řadu hardwaru JAVAD GNSS. Tato jazyková struktura je nezávislá na příjemci a otevřená budoucím modifikacím nebo rozšířením. GREIS je založen na jednotném přístupu umožňujícím uživateli ovládat JAVAD GNSS přijímač pomocí vhodné sady pojmenovaných objektů. Komunikace s těmito objekty je zajištěna prostřednictvím předdefinovaných příkazů a zpráv. Neexistují žádná specifická omezení týkající se počtu nebo typu použitých objektů přijímače.
Jak se GREIS používá
Jakýkoli systém komunikující s JAVAD GNSS přijímačem přes jeden z jeho portů (sériový, paralelní, USB, Ethernet atd.) bude používat příkazy a zprávy GREIS k provedení požadovaného úkolu. Dvojice typických aplikací, kde GREIS hraje velmi důležitou roli, je za prvé použití ručních ovladačů pro komunikaci s přijímači během terénního provozu v projektech průzkumu a RTK nebo za druhé při stahování dat z přijímačů do desktopových systémů pro další vysílání. zpracování. Samotná aplikace pro následné zpracování nepoužívá příkazy GREIS, ale musí znát zprávy GREIS, aby mohla extrahovat data z dat. files.
Jednou z důležitých vlastností GREIS je, že jej lze efektivně využít jak pro automatické, tak pro manuální ovládání JAVAD GNSS přijímačů. Pro ruční ovládání bude uživatel zadávat potřebné GREIS příkazy do přijímače přes terminál. To je snadno dosažitelné, protože GREIS je navržen jako textové rozhraní čitelné člověkem. Na druhou stranu se GREIS podřizuje poměrně přísným pravidlům, což usnadňuje jeho použití aplikacemi.
Seznamy
GREIS silně využívá koncept seznamů. Seznamy se používají jak ve vstupním jazyce přijímače, tak ve standardních textových zprávách.
ÚVOD Objekty
Seznamy v GREIS jsou reprezentovány sekvencí prvků oddělených čárkou (,, ASCII kód 44) a uzavřených ve složených závorkách ({}, ASCII kódy 123 a 125):
{prvek1,prvek2,prvek3}
Prvky seznamu mohou samy o sobě být seznamy:
{e1,{ee21,ee22},e3}
Výše uvedená definice je tedy rekurzivní, takže jsou povoleny seznamy libovolné hloubky vnoření. Prvky, které nejsou seznamy, se nazývají listové prvky nebo jednoduše listy. Prvky seznamů mohou být prázdné, v takovém případě říkáme, že prvek je vynechán. Napřample, v seznamu níže je vynechán druhý prvek:
{e1,,e3}
Mezery před a za oddělovači jsou povoleny a ignorovány. Pokud mají všechny prvky seznamu na začátku stejný podřetězec (prefix), lze tento podřetězec přesunout ze složených závorek obklopujících seznam, např.
prvek{1,2,3}
je kratší forma
{elem1,elem2,elem3}
Prvky mohou být uzavřeny do dvojitých uvozovek (“, ASCII kód 34), které se při analýze odstraní. Uvnitř prvku v uvozovkách ztrácejí speciální symboly (složené závorky, čárky atd.) svou roli a jsou považovány za běžné znaky. Dalším použitím uvozovek je rozlišení mezi podmínkami „prvek není specifikován“ a „zadán prázdný prvek“. První se označí jednoduchým vynecháním prvku ze seznamu a druhý se označí vložením dvojitých uvozovek mezi čárky. Citace je také užitečná, když potřebujeme mít v řetězci úvodní nebo koncové mezery. Chcete-li do prvku vložit dvojitou uvozovku, ocitujte tento prvek a dvojitou uvozovku uvnitř vložte zpětným lomítkem (kód ASCII 92). Chcete-li do řetězce v uvozovkách vložit zpětné lomítko, uzavřete ho jiným zpětným lomítkem, napřampten:
Example: “Řetězec s “uvozovkami”, zpětným lomítkem \ a speciálními znaky, {}”
1.4 objektů
V kontextu modelu, na kterém je GREIS založen, je JAVAD GNSS přijímač identifikován se sadou pojmenovaných objektů.
GREIS
www.javad.com
20
ÚVOD Objekty
Identifikátory objektů
Objekt je definován jako hardwarová nebo softwarová entita přijímače, která může být adresována, nastavena nebo dotazována. Hardwarové entity se běžně označují jako zařízení, zatímco objekty firmwaru jsou normálně files a parametry. Porty přijímačů a paměťové moduly jsou všechny dobréamppočet zařízení. všechna zařízení, fileGREIS zpracovává s parametry jednotným způsobem. Každý objekt má přidruženou sadu atributů, ke kterým lze přistupovat, definovat a/nebo měnit pomocí GREIS.
1.4.1 Identifikátory objektů
Již bylo zmíněno, že přijímač je považován za soubor objektů (zařízení, files, zprávy, parametry atd.) v kontextu modelu GREIS. Pro účely adresování objektů v příkazech přijímače by měl být každému objektu přiřazen jedinečný identifikátor.
Objekty v přijímači jsou logicky uspořádány do skupin. Samotná skupina je také objekt a patří do jiné skupiny, pokud to není kořenová skupina. Všechny objekty v přijímači jsou tedy organizovány do stromové hierarchie počínaje jedinou kořenovou skupinou. Tato reprezentace připomíná organizaci files do adresářů (složek), které většina uživatelů počítačů zná.
V GREIS jsou skupiny objektů reprezentovány jako seznamy odpovídajících jmen objektů. Název objektu je jedinečný uvnitř seznamu, do kterého objekt patří. Globálně jedinečný identifikátor objektu je definován jako všechny názvy objektů na cestě stromem objektů od kořenového seznamu k objektu, oddělené lomítkem (/). Samotný kořenový seznam je identifikován jedním lomítkem.
Exampsoubory identifikátorů objektů jsou:
Example: Kořenová skupina:
/
Example: Elektronické ID přijímače:
/par/rcv/id
Example: Přenosová rychlost sériového portu A:
/par/dev/ser/a/rate
Example: Atributy (velikost a čas poslední úpravy) souboru file JMÉNO (file atributy se liší od atributů objektů popsaných níže):
/log/NAME
Example: NMEA GGA věta:
GREIS
www.javad.com
21
ÚVOD Periodický výstup
Typy objektů
/msg/nmea/GGA
Všechny objekty mají přiřazen jeden nebo více atributů. Atributy objektu jsou identifikovány připojením znaku & a názvu atributu k identifikátoru objektu. Primárním atributem každého objektu je hodnota. Tento atribut je vždy implicitně přístupný pomocí příkazů GREIS. Některé objekty mohou mít další atributy, napřample: Přample: Sériový port A výchozí přenosová rychlost:
/par/dev/ser/a/rate&def
Example: Obsah file JMÉNO:
/log/NAME&obsah
1.4.2 Typy objektů
Každý objekt v přijímači má přiřazen typ GREIS. Typ objektu definuje jeho chování s ohledem na příkazy GREIS. Konkrétně typ definuje, jaké hodnoty může objekt nabývat a které konkrétní příkazy jsou pro objekt použitelné.
Viz “Primární typy objektů” na stránce 184, kde najdete podrobný popis aktuálně podporovaných typů objektů.
GREIS
1.5 Periodický výstup
Důležitou roli v provozu přijímače hraje jeho schopnost periodicky vydávat některé informace, jako jsou různé druhy měření, vypočítané hodnoty atd., podle zadaného plánu. GREIS definuje bohatou sadu zpráv obsahujících různé typy informací v různých formátech, které představují minimální jednotky výstupu, a poskytuje metody pro vyžádání periodického výstupu jakékoli kombinace zpráv v libovolném pořadí na kterékoli z podporovaných médií vhodných pro výstup dat. Jakékoli podporované médium vhodné pro výstup dat se v GREIS nazývá výstupní proud.
Pro každý výstupní tok přijímač udržuje seznam zpráv, které jsou aktuálně povoleny pro výstup do toku, nazývaný výstupní seznam. Pořadí, ve kterém jsou zprávy na výstupu, odpovídá pořadí zpráv ve výstupním seznamu. Kromě toho má každá zpráva, která je přítomna ve výstupním seznamu, svou vlastní sadu parametrů plánování. Parametry plánování připojené ke zprávě ve výstupním seznamu definují plán výstupu této konkrétní zprávy do tohoto konkrétního výstupního toku. GREIS nabízí tři kom-
www.javad.com
22
ÚVOD Periodický výstup Výstupní perioda a fáze
mands, em, out a dm, které umožňují efektivní manipulaci s výstupními seznamy a parametry plánování.
Parametry plánování zpráv obsahují čtyři pole: periodu, fázi, počet a příznaky, z nichž každé hraje v definici výstupního plánu jinou roli. Níže popíšeme, jak přesně jejich hodnoty ovlivňují výstup, ale v podstatě perioda určuje interval mezi výstupy zprávy; fáze určuje časový posun výstupních okamžiků vzhledem k časovým okamžikům, kdy je aktuální čas násobkem periody; počet, když je větší než nula, omezuje počet výstupů zprávy; zatímco vlajky filed umožňuje určité jemné doladění výstupního procesu.
1.5.1 Výstupní období a fáze
Poznámka:
Pole periody a fáze parametrů plánování zpráv jsou hodnoty s pohyblivou řádovou čárkou v rozsahu [0…86400) sekund. Jejich přesný význam je popsán níže.
Když je bit F_CHANGE nastaven v poli flags parametrů plánování, pole fáze ztratí svou obvyklou roli a místo toho se stane „periodou nuceného výstupu“. Podrobnosti viz popis příznaku F_CHANGE níže.
Přijímač má svou vnitřní časovou mřížku, která je definována hodinami přijímače a hodnotou parametru /par/raw/curmsint, která definuje krok vnitřních epoch přijímače. Vnitřní epochy přijímače nastávají, když čas přijímače je násobkem kroku. Čas přijímače je zase definován jako hodnota modulu hodin přijímače jeden den (86400 sekund). Přijímač prohledává seznamy výstupů pouze v interních epochách přijímače, takže žádný výstup nemůže být generován častěji.
Vezmeme-li v úvahu vnitřní časovou mřížku, periodické a fázové proměnné definují časové okamžiky výstupu zprávy následovně: přijímač vydá zprávu pouze v časech Tout přijímače současně splňujících následující dvě rovnice:
Toutmod období = fáze
(1)
Tout = N krok (2)
GREIS
kde N je celé číslo nabývající hodnot [0,1,2,…,(86400/krok)-1].
První rovnice definuje základní pravidlo výstupu zpráv a druhá ukládá další omezení související s interními epochami přijímače. Všimněte si, že v nejběžnějším případě, kdy jsou perioda i fáze násobky kroku, je druhá rovnice splněna automaticky, kdykoli je splněna první rovnice. Všimněte si také, že pokud
86400 (období modu) 0,
www.javad.com
23
ÚVOD Periodický výstup
Počet výstupů
Exampten:
Example: Přampten:
skutečný interval mezi poslední zprávou odeslanou před převrácením dne a první zprávou po převrácení dne se bude lišit od hodnoty období.
Zvažte pár exampilustrující tento mechanismus:
Předpokládejme, že perioda je 10 s, fáze je 2.2 s a krok je 0.2 s. Protože Tout může podle druhé rovnice nabývat pouze hodnot, které jsou násobkem kroku, levá část první rovnice nabývá následujících hodnot: 0, 0.2, 0.4, …, 9.8, 0, …, z nichž pouze hodnota Fáze 2.2 zápasů. K těmto shodám dojde a zpráva se zobrazí pokaždé, když Tout nabere jednu z následujících hodnot: 2.2 s, 12.2 s, 22.2 s atd.
Předpokládejme, že perioda je 10 s, fáze je 2.2 s a krok je 0.5 s. Přijímač nevydá zprávu, protože výše uvedený pár simultánních rovnic není nikdy splněn.
Předpokládejme fáze > perioda. Přijímač nevydá zprávu vůbec, protože první rovnice nebude nikdy splněna.
1.5.2 Počet výstupů
Poznámka:
Pole počtu parametrů plánování zpráv je celočíselná hodnota v rozsahu [-256…32767) a slouží ke dvěma různým účelům:
1. Když je počet 0, bude vydán neomezený počet zpráv. Když je počet větší než 0, určuje, kolikrát bude zpráva vytištěna. V tomto případě se počítadlo sníží o 1 pokaždé, když je zpráva odeslána, a když se stane 0, nastaví se bit F_DISABLED v poli flags. Plánovač zpráv nevydává zprávy s nastaveným bitem F_DISABLED.
2. Když je počet nastaven na hodnotu v rozsahu [-256…-1], výstup zprávy není potlačen a pole počtu slouží zcela jinému účelu. Umožňuje zabalit zprávu do speciální [>>] zprávy před výstupem (viz „[>>] Wrapper“ na straně 132). Hodnota count se pak použije k nastavení pole id ve vygenerované zprávě [>>] tak, aby se id numericky rovnalo (-1 – počet).
Užitečná je funkce balení, napřample, pro serverovou aplikaci, která přijímá zprávy od příjemce a přeposílá je více klientům. Může požadovat zabalení libovolných zpráv do [>>] zpráv s různými identifikátory, rozbalit přijaté zprávy a na základě přijatého id odeslat data konkrétnímu klientovi (klientům). Využitím této funkce taková aplikace nemusí znát žádné jiné datové formáty kromě formátu zprávy [>>] a může využívat jeden kanál komunikace s příjemcem k přijímání a odesílání zpráv v různých formátech.
GREIS
www.javad.com
24
1.5.3 Výstupní příznaky
ÚVOD Periodický výstup
Výstupní příznaky
Pole flags parametrů plánování zpráv je 16bitové široké bitové pole. Každý bit tohoto bitového pole je samostatný příznak a slouží jinému účelu. Následuje seznam příznaků plánování zpráv.
Tabulka 1-1. Příznaky plánování zpráv
Bit#
0 1 2 3 4 5 6 7 8 9 10 11 12
HEX
0x0001 0x0002 0x0004 0x0008 0x0010 0x0020 0x0040 0x0080 0x0100 0x0200 0x0400 0x0800 0xF000
Jméno
F_OUT F_CHANGE F_OUT_ON_ADD F_NOTENA F_FIX_PERIOD F_FIX_PHASE F_FIX_COUNT F_FIX_FLAGS rezervováno vyhrazeno vyhrazeno F_DISABLED vyhrazeno
Poznámka: Názvy polí jsou zde uvedeny pouze za účelem odkazování na ně v této příručce. Neexistuje způsob, jak je použít v příkazech GREIS.
F_OUT Je-li nastaven tento příznak, první zprávy po vyvolání odpovídajícího příkazu budou vydány v epoše interního přijímače, která je nejblíže času provedení příkazu bez ohledu na to, co je specifikováno parametrem plánování periody.
F_CHANGE Je-li nastaven tento příznak, bude příslušná zpráva vydána pouze v případě, že se data zprávy od posledního výstupu zprávy do daného výstupního proudu změnila. Přijímač kontroluje, zda se data zprávy změnila pouze v okamžicích definovaných rovnicemi (1), (2), kde je fázová proměnná nastavena na nulu a proměnná periody je nastavena na hodnotu pole periody. Fáze parametru plánování zpráv, která v tomto případě ztrácí svou původní funkci, nyní hraje roli periody nuceného výstupu. „Vynucený výstup“ znamená, že příslušná zpráva bude vydána bez ohledu na to, zda se její obsah změnil nebo ne v časech definovaných rovnicemi (1), (2), kde je proměnná perioda nastavena na hodnotu pole fáze a fáze proměnná je nastavena na nulu. Pokud je fáze pole nula, pak přijímač neprovádí žádný nucený výstup, takže odpovídající zpráva bude odeslána pouze za podmínky, že se jeho data změnila.
GREIS
www.javad.com
25
ÚVOD Periodický výstup
Výstupní příznaky
F_OUT_ON_ADD Je-li tento příznak nastaven, bude první zpráva vypsána ihned po provedení odpovídajícího příkazu em nebo out. Tento příznak je u většiny zpráv ignorován1.
F_NOTENA Pokud je tento příznak nastaven pro zprávu ve výstupním seznamu, příznak F_DISABLED pro tuto zprávu nebude vymazán, když je zpráva povolena, a proto její výstup zůstane pozastaven. Napřample, tento příznak se používá k tomu, aby se nevydávaly některé zprávy z výchozí sady zpráv, když uživatel za běhu mění periodu výstupu, aniž by nejprve zakázal výstup.
F_FIX_PERIOD, F_FIX_PHASE, F_FIX_COUNT, F_FIX_PERIOD Nastavení na 1 v parametrech plánování zabrání změnám v odpovídajících polích těchto parametrů plánování pomocí příkazů em a out.
F_DISABLED Není explicitně programovatelné uživatelem. Když povolíte zprávu s kladným počtem, pak poté, co byla tato zpráva odeslána počet krát, plánovač zpráv nastaví tento příznak na 1. Tento příznak se vymaže na 0, když je zpráva znovu povolena, pokud není nastaven příznak F_NOTENA pro tuto zprávu.
1. V současné době mají tento příznak pouze dvě zprávy GREIS, [JP] a [MF].
GREIS
www.javad.com
26
Kapitola 2
JAZYK VSTUPU PŘIJÍMAČE
Tato kapitola popisuje syntaxi a sémantiku vstupního jazyka přijímače. Začínáme s nějakým examples, aby čtenář získal pocit z jazyka, pak přejděte k podrobné definici syntaxe a poté popište všechny definované příkazy spolu s jejich sémantikou.
2.1 Jazyk Přamples
Zde je několik exampmnožství skutečných prohlášení, kterým příjemce rozumí, spolu s odpověďmi příjemce. Více najdeš examppoužití jednotlivých příkazů v příslušných podsekcích. Vstup do přijímače je označen znakem, zatímco výstup přijímače je označen znakem:
Example: Požádejte příjemce, aby vytiskl své elektronické ID. Přijímač vygeneruje zobrazenou odpověď:
Exampten:
print,/par/rcv/id RE00C QP01234TR45
Požádejte přijímač, aby nastavil přenosovou rychlost svého sériového portu A na 9600. Přijímač úspěšně provede příkaz a negeneruje žádnou odpověď.
set,/par/dev/ser/a/rate,9600
Example: Použijte stejný příkaz jako v předchozím příkladuample, ale přinutí příjemce generovat odpověď pomocí identifikátoru příkazu.
Exampten:
%set_rate%set,/par/dev/ser/a/rate,9600 RE00A%set_rate%
Zkuste nastavit příliš vysokou přenosovou rychlost. Přijímač odpoví chybovou zprávou, i když jsme nepoužili žádný identifikátor příkazu.
set,/par/dev/ser/a/rate,1000000 ER016{4,hodnota mimo rozsah}
Poznámka:
Přijímač vždy vloží svou normální a chybovou odpověď do dvou standardních zpráv [RE] a [ER]. Další informace o formátu zpráv GREIS naleznete v části „Obecný formát zpráv“ na stránce 64. Samotné zprávy [RE] a [ER] jsou popsány v části „Interaktivní zprávy“ na stránce 129.
GREIS
www.javad.com
27
JAZYK VSTUPU PŘIJÍMAČE Syntaxe jazyka
2.2 Syntaxe jazyka
GREIS definuje řádky znaků ASCII libovolné délky1, oddělené buď návratem vozíku ( , ASCII desetinný kód 13) nebo odřádkování ( , ASCII dekadický kód 10) znaky, které jsou nejvyšší úrovní syntaxe jazyka. Prázdné řádky jsou v GREIS povoleny a ignorovány. V důsledku toho může být čára ohraničena jakoukoli kombinací a/nebo postavy. Umožňuje GREIS bezproblémově podporovat konvence pro ukončení řádků WindowsTM, MacTM a UNIXTM.
Vstupní jazyk přijímače rozlišuje velká a malá písmena. Znamená to, že napřample, struny GREIS, greis a gReIs, které jsou různými strunami, jsou přijímačem za takové skutečně považovány.
Znak čísla (#, ASCII kód 35) je znak pro úvod komentáře. Přijímač ignoruje vše od tohoto znaku až po konec řádku.
Po odstranění komentáře (pokud existuje) z řádku přijímač odstraní úvodní a koncové mezery a poté rozdělí řádek na příkazy. Příkazy jsou odděleny středníkem (;, ASCII kód 59) nebo dvěma ampersands (&&, ASCII kódy 38), nebo se dvěma svislými pruhy (||, ASCII kódy 124). Příkazy v řádku se pak provádějí v pořadí zleva doprava. Pokud příkaz končící oddělovačem && vyvolá chybu, zbytek příkazů v řádku se neprovede. Příkaz if, který končí || delimiter se provede úspěšně, zbytek příkazů v řádku se neprovede. Příkaz, který končí středníkem, nikdy nezastaví provádění posloupnosti příkazů. Všimněte si, že konec řádku je sám o sobě zakončením příkazu, takže na konec řádku nemusíte vkládat jeden z explicitních oddělovačů příkazů.
Formát prohlášení je následující:
[%ID%][COMMAND][@CS] kde hranaté závorky označují volitelná pole a před a za každým polem je povolen libovolný počet mezer. Takové bílé znaky jsou ignorovány, s výjimkou výpočtu kontrolního součtu, viz níže. Pole jsou:
Identifikátor příkazu %ID%, kde ID označuje libovolný řetězec, případně prázdný. Identifikátor, je-li přítomen, zkopíruje příjemce nezměněný do zprávy odpovědi na výpis. Jakýkoli příkaz s identifikátorem vždy vygeneruje odpověď od příjemce. Přípustný je také příkaz, který obsahuje pouze identifikátor; v takovém případě příjemce pouze vygeneruje zprávu s odpovědí.
COMMAND (případně prázdný) seznam, kde se první prvek nazývá název příkazu. Označuje akci, která má být provedena. Zbytek prvků (pokud existují) jsou příkazy
GREIS
1. Současná implementace GREIS v přijímačích podporuje řádky o délce až 256 znaků.
www.javad.com
28
JAZYK VSTUPU PŘIJÍMAČE Syntaxe jazyka
argumenty. Složené závorky, které obklopují seznam příkazů, lze vynechat. Syntaxi seznamů najdete v části “Seznamy” na stránce 19. @CS kontrolní součet, kde CS je 8bitový kontrolní součet formátovaný jako 2bajtové hexadecimální číslo. Před provedením příkazu s kontrolním součtem přijímač porovná vstupní kontrolní součet CS s tím, který vypočítal firmware, a odmítne provést příkaz, pokud se tyto kontrolní součty neshodují. Kontrolní součet se počítá od prvního neprázdného znaku příkazu až po znak @ včetně. Podrobnosti viz „Výpočet kontrolních součtů“ na stránce 579.
Identifikátor výpisu, %ID%, slouží k následujícím účelům:
1. Vynutí odezvu přijímače na příkaz. 2. Umožňuje odesílat více příkazů s různými identifikátory do přijímače
aniž byste čekali na odpověď na každý příkaz, pak přijměte odpovědi a sdělte, která odpověď odpovídá kterému příkazu. 3. Pomáhá vytvořit synchronizaci s přijímačem tím, že umožňuje zkontrolovat, zda konkrétní odpověď přijímače odpovídá konkrétnímu příkazu a ne nějakému jinému příkazu vydanému před nebo po.
Za dvojtečku (:, ASCII kód 58) lze ke kterémukoli prvku PŘÍKAZU připojit seznam s názvem options. Pokud seznam možností obsahuje jeden prvek, mohou být okolní závorky vynechány. Seznam možností připojený k seznamu se šíří do každého prvku seznamu, ačkoli možnosti explicitně připojené k prvku seznamu mají přednost před šířenými možnostmi. Napřample,
{e1,{e2:{o1,,o3},e3}}:{o4,o5}
je ekvivalentní:
{e1:{o4,o5},{e2:{o1,o5,o3},e3:{o4,o5}}}
Všimněte si také, jak zmeškaná volba o2 umožňuje rozšířit volbu o5 do seznamu možností pro prvek e2.
Počet a význam argumentů a voleb v příkazu závisí na konkrétní akci příkazu a je definován v popisu každého příkazu přijímače. Kromě toho, pokud popis příkazu uvádí některé volby, ale některé nebo všechny z nich jsou v příkazu vynechány, budou nahrazeny výchozí hodnoty pro zmeškané volby. Výchozí hodnoty voleb jsou také definovány v popisu každého příkazu přijímače.
GREIS
www.javad.com
29
JAZYK VSTUPU PŘIJÍMAČE Syntaxe jazyka
Pro informaci níže je tabulka obsahující všechny sekvence znaků, které mají zvláštní význam ve vstupním jazyce přijímače:
Tabulka 2-1. Speciální znaky vstupního jazyka
Znaky Desetinný kód ASCII
Význam
10
oddělovač řádků
13
oddělovač řádků
#
35
;
59
začátek poznámek oddělovač příkazů
&&
38
||
124
%
37
příkazy a příkazy oddělovače nebo identifikační značka příkazu oddělovače
@
64
{
123
}
125
,
44
:
58
značka kontrolního součtu začátek seznamu značka konec seznamu značka prvků seznamu oddělovač možnosti značka
”
34
uvozovka
92
uniknout
GREIS
www.javad.com
30
RECEIVER INPUT LANGUAGE Příkazy
2.3 Příkazy
V této části popisujeme všechny příkazy definované v GREIS. Specifikace syntaxe a sémantiky každého příkazu jsou doplněny vysvětlujícím příklademamples. Pro podrobný popis objektů použitých jako argumenty v exampinformace naleznete v kapitole 4 na straně 181.
GREIS
www.javad.com
31
2.3.1 sada
JAZYK VSTUPU PŘIJÍMAČE Příkazy nastaveny
Jméno
nastavit nastavenou hodnotu objektu.
Synopse
Formát: sada,objekt,hodnota Možnosti: žádné
Argumenty
objekt identifikátor cílového objektu. Pokud objekt nezačíná „/“, pak se před provedením příkazu automaticky vloží předpona „/par/“.
hodnota hodnota, která má být přiřazena cílovému objektu. Rozsah povolených hodnot a také sémantika přiřazení závisí na typu objektu a je specifikována dále v této příručce pro každý podporovaný objekt.
Možnosti
Žádný.
Popis
Tento příkaz přiřadí hodnotu objektu. Žádná odpověď není generována, pokud nedojde k chybě nebo není odpověď vynucena identifikátorem příkazu.
Examples
Example: Nastavte přenosovou rychlost sériového portu C na 115200. Buď:
set,/par/dev/ser/c/rate,115200 set,dev/ser/c/rate,115200
Example: Nastavte přenosovou rychlost sériového portu A na 9600 a vynucení odpovědi:
%%set,dev/ser/a/rate,9600 RE002%%
GREIS
www.javad.com
32
2.3.2 tisk
JAZYK VSTUPU PŘIJÍMAČE Tisk příkazů
Jméno
tisk hodnoty tisku objektu.
Synopse
Formát: tisk,objekt Možnosti: {jména}
Argumenty
objekt identifikátor objektu objektu, který má být vydán. Pokud objekt nezačíná „/“, pak se před provedením příkazu automaticky vloží předpona „/par/“.
Možnosti
Tabulka 2-2. Přehled možností tisku
Název Typ
Hodnoty
jména boolean zapnuto, vypnuto
Výchozí
vypnuto
jména, pokud je vypnuto, vydávají pouze hodnoty objektů. Je-li zapnuto, vydávají kromě hodnot objektů i názvy objektů ve formátu JMÉNO=HODNOTA.
Popis
Tento příkaz vypíše hodnotu objektu, volitelně s předponou hodnoty s názvem odpovídajícího objektu. Odpověď je vždy generována a jako odpověď na jeden tiskový příkaz lze vygenerovat více než jednu zprávu [RE].
Hodnota objektu typu seznam se vytiskne jako seznam hodnot pro každý objekt v seznamu. Toto se aplikuje rekurzivně, dokud se nedosáhne listových objektů, takže tisk objektu nelistového typu efektivně vytiskne celý podstrom počínaje určeným objektem. V případě tisku seznamů by mohlo být generováno více zpráv [RE]. K rozdělení výstupu však může dojít pouze bezprostředně po znacích oddělovače seznamu.
GREIS
www.javad.com
33
JAZYK VSTUPU PŘIJÍMAČE Tisk příkazů
Examples
Example: Tisk aktuálního období vnitřní časové mřížky přijímače. buď:
tisk,/par/raw/curmsint RE004 100 tisk,raw/curmsint RE004 100
Example: Tisk aktuálního období vnitřní časové mřížky přijímače spolu s názvem objektu. buď:
print,/par/raw/curmsint:on RE015/par/raw/curmsint=100 print,raw/curmsint:on RE015/par/raw/curmsint=100
Example: Tisk informací o verzi přijímače:
print,rcv/ver RE028{“2.5 Sep,13,2006 p2″,0,71,MGGDT_5,none, RE00D {none,none}}
Example: Tisk informací o verzi přijímače spolu s odpovídajícími názvy:
print,rcv/ver:on RE043/par/rcv/ver={main=”2.5 Sep,13,2006 p2”,boot=0,hw=71,board=MGGDT_5, RE00C modem=none, RE017 pow={fw =none,hw=none}}
Example: Vytiskne všechny zprávy povolené pro výstup na sériový port B spolu s jejich parametry plánování:
print,out/dev/ser/b:on RE02D/par/out/dev/ser/b={jps/RT={1.00,0.00,0,0×0}, RE01A jps/SI={1.00,0.00,0,0, 0×01}, RE1.00,0.00,0,0A jps/rc={0×01}, RE1.00,0.00,0,0A jps/ET={0×01}, RE10.00,5.00,0,0D nmea/GGA={0×XNUMX}}
GREIS
www.javad.com
34
2.3.3 seznam
RECEIVER INPUT LANGUAGE Seznam příkazů
Jméno
seznam seznam obsahu objektu.
Synopse
Formát: seznam[,objekt] Možnosti: žádné
Argumenty
objekt identifikátor objektu objektu, který má být vydán. Pokud je objekt vynechán, předpokládá se /log. Pokud objekt nezačíná znakem „/“, před provedením příkazu se před objekt automaticky vloží předpona „/log/“.
Možnosti
Žádný.
Popis
Tento příkaz vypíše jména všech členů objektu. Odpověď je vždy generována a jako odpověď na jeden příkaz seznamu lze vygenerovat více než jednu zprávu [RE]. Pokud zadaný objekt není typu seznamu, vygeneruje se prázdná zpráva [RE]. Pokud je zadaným objektem seznam, vytiskne se seznam názvů všech objektů v seznamu. Toto je aplikováno rekurzivně, dokud se nedosáhne listových objektů, takže výpis objektu nelistového typu efektivně vypíše celý podstrom počínaje určeným objektem. V případě tisku seznamů by mohlo být generováno více zpráv [RE]. K rozdělení výstupu však může dojít pouze bezprostředně za znaky oddělovače seznamu.
Examples
Example: Prázdná odpověď pro výpis objektu, který není v seznamu:
seznam,/par/rcv/ver/main RE000
Example: Chybová odpověď pro výpis neexistujícího objektu:
list,/does_not_exist ER018{2,,špatný 1. parametr}
GREIS
www.javad.com
35
RECEIVER INPUT LANGUAGE Seznam příkazů
Example: Získejte seznam existujících log-files. Buď z
seznam,/seznam protokolů
vytvoří stejný výstup, např.
RE013{log1127a,log1127b}
Example: Seznam všech standardních zpráv GREIS podporovaných přijímačem:
list,/msg/jps RE03D{JP,MF,PM,EV,XA,XB,ZA,ZB,YA,YB,RT,RD,ST,LT,BP,TO,DO,OO,UO,GT, RE040 NT,GO,NO,TT,PT,SI,NN,EL,AZ,SS,FC,RC,rc,PC,pc,CP,cp,DC,CC,cc,EC, RE040 CE,TC,R1,P1,1R,1P,r1,p1,1r,1p,D1,C1,c1,E1,1E,F1,R2,P2,2R,2P,r2, RE040 p2,2r,2p,D2,C2,c2,E2,2E,F2,ID,PV,PO,PG,VE,VG,DP,SG,BI,SE,SM,PS, RE040 GE,NE,GA,NA,WE,WA,WO,GS,NS,rE,rM,rV,rT,TM,MP,TR,MS,DL,TX,SP,SV, RE031 RP,RK,BL,AP,AB,re,ha,GD,LD,RM,RS,IO,NP,LH,EE,ET}
Example: Seznam všech zpráv ve výchozí sadě zpráv:
seznam,/msg/def RE040{jps/JP,jps/MF,jps/PM,jps/EV,jps/XA,jps/XB,jps/RT,jps/RD,jps/SI, RE040 jps/NN,jps /EL,jps/FC,jps/RC,jps/DC,jps/EC,jps/TC,jps/CP,jps/1R, RE040 jps/1P,jps/2R,jps/2P,jps/E1,jps/D2,jps/E2,jps/SS,jps/SE,jps/PV, RE040 jps/ST,jps/DP,jps/TO,jps /DO,jps/UO,jps/IO,jps/GE,jps/NE,jps/GA, RE01D jps/NA,jps/WE,jps/WA,jps/WO}
GREIS
www.javad.com
36
GREIS
2.3.4 em a out
JAZYK VSTUPU PŘIJÍMAČE Příkazy em & out
Jméno
em, out umožňují periodický výstup zpráv.
Synopse
Formát: Formát: Možnosti:
em,[cíl],zprávy ven,[cíl],zprávy {období, fáze, počet, příznaky}
Argumenty
cílit na jakýkoli výstupní proud nebo sadu zpráv. Pokud není zadán žádný cíl, předpokládá se aktuální terminál /cur/term.
zprávy seznam (buď s nebo bez obklopujících složených závorek) názvů zpráv a/nebo názvů sad zpráv, které mají být povoleny. Pokud některá ze zadaných názvů nezačíná „/“, pak se před provedením příkazu automaticky vloží předpona „/msg/“.
Možnosti
Tabulka 2-3. shrnutí možností em a out
Název Typ
Hodnoty
Výchozí
pohyblivá perioda [0…86400)
–
fáze float [0…86400)
–
počet celé číslo [-256…32767] 0 pro em 1 pro out
označí celé číslo [0…0xFFFF] –
perioda, fáze, počet, příznaky parametry plánování zpráv.
Popis
Tyto příkazy umožňují periodický výstup zadaných zpráv do cíle a vynucují, aby parametry plánování zpráv odpovídaly parametrům určeným volbami. Žádná odpověď není generována, pokud nedojde k chybě nebo pokud je odpověď vynucena identifikátorem příkazu.
Příkazy em a out jsou stejné kromě toho, že výchozí hodnota volby počtu je nastavena na 0 pro em a 1 pro out. Příkaz out je jen pohodlnější způsob vyžádání
www.javad.com
37
JAZYK VSTUPU PŘIJÍMAČE Příkazy em & out
Poznámka:
jednorázový výstup zprávy (zpráv). V tomto popisu budeme hovořit pouze o nich, i když vše platí i pro out.
Níže uvedený popis předpokládá, že čtenář je obeznámen s materiálem v části „Periodický výstup“ na straně 22.
Pro každý výstupní tok existuje odpovídající výstupní seznam zpráv1,2, které jsou aktuálně povoleny pro výstup do daného toku. Když zpráva předaná jako argument příkazu em není aktuálně ve výstupním seznamu, příkaz em připojí zadanou zprávu na konec seznamu. Když je zpráva předaná příkazu em již ve výstupním seznamu, příkaz em pouze změní parametry plánování této zprávy a nemění pozici zprávy v seznamu.
Protože příkaz em sloučí zadané zprávy do seznamu výstupů, je často dobré použít příkaz dm k vymazání seznamu výstupů pro daný proud před vydáním příkazů em.
Příkaz em zpracovává seznam zpráv po jedné, zleva doprava a od první zprávy sady zpráv po poslední zprávu sady zpráv. Pokud narazí na jméno, které neodpovídá žádné podporované zprávě příjemce nebo sadě zpráv, zapamatuje si, že během provádění došlo k chybě, ale nezastaví zpracování seznamu zpráv. Tímto způsobem budou povoleny všechny zprávy ze seznamu zpráv, které by mohly být povoleny, a bude hlášena pouze jediná chyba, pokud jednu nebo více zadaných zpráv nelze povolit.
Když příkaz em zpracuje zprávu po ruce, konečné provozní parametry plánování zpráv v odpovídajícím výstupním seznamu zpráv se vypočítají s ohledem na více zdrojů informací o parametrech plánování, konkrétně:
1. Hodnoty explicitně specifikované ve volbách příkazu em.
2. Výchozí hodnoty voleb příkazu em.
3. Parametry plánování zadané pro danou zprávu jako součást příslušné sady zpráv. Ty se berou v úvahu pouze při povolení zprávy zadáním sady zpráv, nikoli jednotlivé zprávy.
4. Aktuální parametry plánování zprávy v odpovídajícím seznamu výstupů (pokud existuje).
5. Výchozí parametry plánování zadané pro danou zprávu jako součást příslušné skupiny zpráv.
Výše uvedené zdroje parametrů jsou uvedeny v pořadí jejich priority, přičemž první z nich má nejvyšší prioritu, a jsou aplikovány jednotlivě na každý ze čtyř parametrů plánování. Proto hodnoty z (1) přepíší hodnoty z (2), výslednou hodnotu
GREIS
1. Pro stream NAME se odpovídající výstupní seznam nazývá /par/out/NAME 2. Aktuální firmware má libovolný limit pro maximální počet zpráv ve výstupním seznamu nastaven na 49.
www.javad.com
38
JAZYK VSTUPU PŘIJÍMAČE Příkazy em & out
přepíše hodnotu z (3) atd. Pokud jsou však některé z bitů F_FIX_PERIOD, F_FIX_PHASE, F_FIX_COUNT nebo F_FIX_FLAGS nastaveny v poli příznaků dalšího zdroje, odpovídající pole tohoto dalšího zdroje nebudou přepsána.
Examples
Example: Povolí jednorázový výstup zprávy NMEA GGA na aktuální terminál:
em,,nmea/GGA:{,,1}
Totéž jako výše, ale použití out místo em:
out,,nmea/GGA
Example: Povolí výstup výchozí sady zpráv do aktuálního protokolufile A pomocí výchozích výstupních parametrů. buď:
Exampten:
em,/cur/file/a,/msg/def em,/cur/file/a,def
Povolit výstup výchozí sady zpráv do aktuálního protokolufile A každých 10 sekund Pro ostatní výstupní parametry budou použity jejich výchozí hodnoty:
em,/cur/file/a,def:10
Example: Povolí výstup výchozí sady zpráv na aktuální terminál pomocí výchozích výstupních parametrů. buď:
Exampten:
em,/cur/term,/msg/def em,,/msg/def em,,def
Povolit výstup zpráv GREIS [~~](RT) a [RD] na aktuální terminál. buď:
Exampten:
em,,/msg/jps/RT,/msg/jps/RD em,,jps/{RT,RD}
Povolit výstup zpráv NMEA GGA a ZDA na aktuální terminál každých 20 sekund:
Exampten:
em,,nmea/{GGA,ZDA}:20
Povolit výstup zpráv [SI], [EL] a [AZ] na sériový port A. Nastavte parametry plánování pro [SI] tak, aby interval mezi libovolnými dvěma následujícími zprávami [SI] byl rovný 10 sekundám, pokud se shodují, a 1 sekundu jinak; výstup pouze prvních padesát [SI] zpráv. Kromě toho přijímač nastavte výstupní interval na 2 sekundy pro zprávy [EL] a [AZ]:
em,/dev/ser/a,jps/{SI:{1,10,50,0×2},EL,AZ}:2
GREIS
www.javad.com
39
JAZYK VSTUPU PŘIJÍMAČE Příkazy em & out
Example: Povolí výstup zpráv RTCM 2.x typu 1 a 31 na sériový port B s výstupním intervalem 3 sekundy a zpráv RTCM 2.x typu 18, 19, 3, 22 na port C s výstupním intervalem 1 sekunda pro typy 18 a 19; a 10 sekund pro typy 3 a 22:
em,/dev/ser/b,rtcm/{1,31}:3; em,/dev/ser/c,rtcm/{18:1,19:1,22,3}:10
Example: Přizpůsobte výchozí sadu zpráv tak, aby obsahovaly pouze NMEA ZDA a GGA:
dm,/msg/def em,/msg/def,/msg/nmea/{ZDA,GGA}
GREIS
www.javad.com
40
2.3.5 dm
JAZYK VSTUPU PŘIJÍMAČE Příkazy dm
Jméno
dm zakáže periodický výstup zpráv.
Synopse
Formát: dm[,[cíl][,zprávy]] Možnosti: žádné
Argumenty
cílit na jakýkoli výstupní proud nebo sadu zpráv. Pokud není zadán žádný cíl, předpokládá se aktuální terminál /cur/term. Pokud některá ze zadaných názvů nezačíná „/“, pak se před provedením příkazu automaticky vloží předpona „/msg/“.
zprávy seznam zpráv, které mají být zakázány, buď s nebo bez obklopujících složených závorek, nebo jakékoli skupiny zpráv nebo sady zpráv. Pokud nejsou zadány žádné zprávy, je veškerý periodický výstup do cíle zakázán.
Možnosti
Žádný.
Popis
Tento příkaz zakáže periodický výstup zadaných zpráv do cíle objektu. Žádná odpověď není generována, pokud nedojde k chybě nebo pokud je odpověď vynucena identifikátorem příkazu.
Pokud nejsou zadány žádné zprávy, je veškerý periodický výstup do cíle zakázán. Pokud je cílem aktuální log-file a nejsou specifikovány žádné zprávy, veškerý výstup do file je zakázáno, file je uzavřen a odpovídající aktuální log-file je nastaveno na žádné.
Pokud je v seznamu zpráv specifikována zpráva, která aktuálně není povolena pro výstup na daný cíl, příkaz dm nevygeneruje žádnou odpovídající chybu. Tato podmínka však nezakazuje hlášení dalších možných chyb.
Examples
Example: Zakáže všechny zprávy vydávané do aktuálního log-file A a zavřete file:
dm,/cur/file/a
GREIS
www.javad.com
41
JAZYK VSTUPU PŘIJÍMAČE Příkazy dm
Example: Deaktivuje veškerý periodický výstup na proudovou svorku. buď:
dm,/kur/termín dm
Example: Zakázat výstup zprávy GREIS [~~](RT) do sériového portu B:
dm,/dev/ser/b,/msg/jps/RT
Example: Zakázat výstup zprávy GREIS [DO] do aktuálního log-file B:
dm,/cur/file/b,/msg/jps/DO
Example: Odebrat zprávu GREIS [PM] z výchozí sady zpráv:
dm,/msg/def,/msg/jps/PM
Example: Zakázat výstup všech zpráv NMEA na aktuální terminál:
dm,/cur/term,/msg/nmea
Example: Zakáže výstup zpráv NMEA GGA a ZDA do aktuálního terminálu. buď:
dm,/cur/term,/msg/nmea/GGA,/msg/nmea/ZDA dm,,/msg/nmea/GGA,/msg/nmea/ZDA dm,,nmea/GGA,nmea/ZDA dm,,nmea /{GGA,ZDA}
GREIS
www.javad.com
42
2.3.6 init
RECEIVER INPUT LANGUAGE Příkazy init
Jméno
init inicializovat objekty.
Synopse
Formát: init,object[/] Možnosti: žádné
Argumenty
objekt objekt, který má být inicializován. / pokud je přítomen a objekt je typu list, inicializujte místo toho všechny obsažené objekty
samotného objektu.
Možnosti
Žádný.
Poznámka: Poznámka:
Popis
Tento příkaz inicializuje zadané objekty. Žádná odpověď není generována, pokud nedojde k chybě nebo pokud je odpověď vynucena identifikátorem příkazu.
Přesná sémantika inicializace závisí na objektu, který je inicializován, ale obecně lze považovat za přeměnu objektu do jeho „výchozího“ nebo „čistého“ stavu. Napřample, pro parametry to znamená nastavení jejich hodnot na odpovídající výchozí hodnoty, pro filepaměťové zařízení znamená přeformátování podkladového média atd.
Inicializace některých objektů povede k restartování přijímače. To je aktuálně případ inicializace energeticky nezávislé paměti přijímače (/dev/nvm/a).
I když se to může v budoucnu změnit, současná implementace tohoto obecného příkazu v přijímačích je dosti omezená. Ve skutečnosti pouze inicializace objektů, které se nacházejí v exampníže uvedené soubory jsou aktuálně podporovány.
Examples
Example: Vymažte NVRAM a restartujte přijímač. Všechna data uložená v NVRAM (almanachy, efemeridy atd.) budou ztracena, všechny parametry budou po restartu nastaveny na výchozí hodnoty:
init,/dev/nvm/a
Example: Jasná efemerida:
init,/eph/
GREIS
www.javad.com
43
RECEIVER INPUT LANGUAGE Příkazy init
Example: Nastavte všechny parametry přijímače na jejich výchozí hodnoty:
init,/par/
Example: Nastavte všechny parametry WLAN na jejich výchozí hodnoty. Aby se změny projevily, je třeba restartovat jednotku:
init,/par/net/wlan/
Example: Inicializujte file systém (tj. přeformátovat podkladové médium). Vše files uložená v přijímači budou ztracena:
init,/dev/blk/a
Example: Inicializuje všechny sady zpráv na jejich výchozí hodnoty:
init,/msg/
GREIS
www.javad.com
44
2.3.7 vytvořit
JAZYK VSTUPU PŘIJÍMAČE Příkazy vytvořit
Jméno
vytvořit vytvořit nový objekt.
Synopse
Formát: vytvořit[,objekt] Možnosti: {log}
Argumenty
objektový identifikátor objektu objektu, který má být vytvořen. Pokud objekt nezačíná znakem „/“, před provedením příkazu se před objekt automaticky vloží předpona „/log/“. Pokud je vynechán, pak vytvoření a file je předpokládaný a jedinečný file jméno se vygeneruje automaticky.
Možnosti
Tabulka 2-4. vytvořit souhrn možností
Název Typ Hodnoty
log řetězec a,b,…
Výchozí
a
přihlásit se do protokolu -file vytvořené file má být přiděleno. log-file vybráno je /cur/log/X, kde X je hodnota volby1.
Popis
Tento příkaz vytvoří nový objekt. Žádná odpověď není generována, pokud nedojde k chybě nebo pokud je odpověď vynucena identifikátorem příkazu.
Umístění ve stromu i typ vytvářeného objektu jsou definovány argumentem object.
Lze vytvořit dva druhy objektů:
1. Files. Nový file se vytvoří vždy, když identifikátor objektu specifikuje objekt v podstromu /log nebo když je vynechán argument objektu.
2. Specifikátory zpráv. Nový specifikátor zprávy se vytvoří vždy, když identifikátor objektu specifikuje objekt v sadě zpráv (např. /msg/def).
GREIS
1. Aktuální firmware podporuje jeden nebo dva simultánní log-files v závislosti na konkrétním přijímači.
www.javad.com
45
JAZYK VSTUPU PŘIJÍMAČE Příkazy vytvořit
Vytváření Files
Při tvorbě files, je argument objektu buď vynechán, nebo má formát /log/NAME, kde NAME je název objektu file k vytvoření a /log/ je nepovinné. V prvním případě přijímač automaticky vybere jedinečný název pro file. V druhém případě by měl být zadaný NAME řetězec o délce až 31 znaků a neměl by obsahovat mezery ani následující znaky: „,{}()@&“/“.
Pokud file /log/NAME již existuje, příkaz create selže a zobrazí chybovou zprávu. V důsledku toho neexistuje způsob, jak zablokovat některé existující files příkazem create.
Po novém file je úspěšně vytvořen, je přiřazen k jednomu z aktuálních log-files v závislosti na hodnotě log_file volba. Pokud odpovídající log-file už ukazuje na jinou file po provedení vytvoření se starý protokol-file se uzavře a výstup bude pokračovat do nového file bez jakéhokoli přerušení.
Vytváření specifikátorů zpráv
Při přidávání zpráv do sady zpráv má argument objektu formát /msg/SET/GROUP/MSG, kde SET je název sady zpráv, kde má být vytvořena nová zpráva, GROUP je název skupiny, do které zpráva patří. a MSG je název samotné zprávy (např. /msg/def/nmea/GGA nebo /msg/jps/rtk/min/jps/ET).
Parametry plánování zpráv budou zkopírovány z parametrů definovaných pro danou zprávu ve skupině zpráv. V případě potřeby použijte příkaz set k přizpůsobení parametrů plánování.
Examples
Vytváření Files
Example: Vytvořit nový file s automaticky vygenerovaným názvem a přiřadit jej k aktuálnímu protokolufile A (/cur/file/A). buď:
vytvořit vytvořit,:a
Example: Vytvořit nový protokol-file se jménem "my_file“. buď:
vytvořit,/log/my_file:a vytvořit, můj_file
Example: Vytvořit files "file1“ a „file2“ a přiřaďte je /cur/file/a a /cur/file/b:
vytvořit,file1:a; vytvořit,file2:b
GREIS
www.javad.com
46
JAZYK VSTUPU PŘIJÍMAČE Příkazy vytvořit
Vytváření specifikátorů zpráv
Example: Přidat /msg/jps/ET zprávy do výchozí sady zpráv:
vytvořit,/msg/def/jps/ET
Example: Přidejte zprávu NMEA GGA do výchozí sady zpráv a vynutíte, aby její perioda a fáze byly vždy 10 a 5, bez ohledu na to, jaké hodnoty pro ně budou zadány v příkazu em nebo out:
vytvořit,/msg/def/nmea/GGA set,/msg/def/nmea/GGA,{10,5,,0×30}
GREIS
www.javad.com
47
2.3.8 odstranit
JAZYK VSTUPU PŘIJÍMAČE Příkazy odstraňte
Jméno
odstranit odstranit předmět.
Synopse
Formát: odebrat,objekt[/] Možnosti: žádné
Argumenty
objektový identifikátor objektu objektu, který má být odstraněn. Pokud objekt nezačíná znakem „/“, před provedením příkazu se před objekt automaticky vloží předpona „/log/“.
/ pokud je přítomen a objekt je typu list, odstraňte veškerý obsah objektu namísto samotného objektu.
Možnosti
Žádný.
Popis
Tento příkaz odstraní (smaže) existující objekt. Žádná odpověď není generována, pokud nedojde k chybě nebo pokud je odpověď vynucena identifikátorem příkazu. Pokud objektem není specifikován žádný objekt nebo pokud objekt nelze odstranit, dojde k chybě. Lze odstranit dva druhy objektů:
1. Files. Pokud file je jedním z aktuálních log-files, příkaz selže a vygeneruje se chybová zpráva.
2. Specifikátory zpráv ze sad zpráv.
Examples
Example: Odebrat log-file se jménem „NAME“. buď:
remove,/log/NAME remove,NAME
Example: Odebrat všechny log-files:
odstranit,/log/
GREIS
www.javad.com
48
JAZYK VSTUPU PŘIJÍMAČE Příkazy odstraňte
Example: Odebrat standardní zprávu GREIS [GA] z výchozí sady zpráv:
odebrat,/msg/def/jps/GA
Example: Odebrat všechny zprávy z výchozí sady zpráv:
odebrat,/msg/def/
Example: Odstraňte všechny zprávy z minimální sady standardních zpráv GREIS vhodných pro RTK:
odebrat,/msg/rtk/jps/min/
GREIS
www.javad.com
49
2.3.9 událost
JAZYK VSTUPU PŘIJÍMAČE Událost příkazů
Jméno
událost generovat událost volného tvaru.
Synopse
Formát: událost, řetězec Možnosti: žádné
Argumenty
řetězec libovolný1 řetězec obsahující až 63 znaků.
Možnosti
Žádný.
Poznámka: Přampten:
Popis
Tento příkaz generuje událost volného tvaru. Žádná odpověď není generována, pokud nedojde k chybě nebo pokud je odpověď vynucena identifikátorem příkazu.
Daný řetězec spolu s časem přijetí příkazu události je uložen v přijímači ve vyrovnávací paměti speciálních událostí2. Obsah této vyrovnávací paměti je odeslán do všech výstupních toků, kde je povolena standardní zpráva GREIS [==](EV) (popsána na straně 131).
Mechanismus událostí ve volné formě je určen pro řídicí programy k předávání libovolných textových informací aplikacím následného zpracování, aniž by tyto informace interpretovaly v přijímači. Jádro firmwaru přijímače nikdy samo o sobě negeneruje události volného tvaru ani nijak neinterpretuje informace zaslané prostřednictvím příkazů událostí.
Všechny řetězce začínající znakem podtržítka (ASCII 0x5F) jsou vyhrazeny pro aplikace JAVAD GNSS. Je třeba dbát na to, aby se takové řetězce nepoužívaly s příkazy události, pokud nemůžete svůj úkol splnit jinak nebo nemáte v úmyslu spolupracovat s některým softwarem JAVAD GNSS. V druhém případě se prosím podívejte na podrobný popis událostí ve volné formě vyhrazených pro aplikace JAVAD GNSS v příručce „Formát rámců pro události ve volné formě“, která je k dispozici na http://www.javad.com.
Vygenerujte volnou událost obsahující řetězec „Info1“:
událost, Info1
GREIS
1. Připomeňme, že pokud řetězec obsahuje některý ze znaků vyhrazených pro vstupní jazyk přijímače, měli byste tento řetězec uzavřít do dvojitých uvozovek.
2. Aktuální firmware poskytuje dostatečně velkou vyrovnávací paměť pro uložení až šestnácti 64bajtových událostí volného formátu.
www.javad.com
50
JAZYK VSTUPU PŘIJÍMAČE Událost příkazů
Example: Vygeneruje volnou událost obsahující vyhrazené znaky:
událost “EVENT{DATA,SENT}”
Example: Generovat volnou událost vyhrazenou pro aplikační software JAVAD GNSS (tato událost upozorní aplikaci na změnu dynamiky):
událost “_DYN=STATIC”
Example: Vygenerujte volný tvar s prázdným řetězcem:
událost,""
Example: Vygenerujte několik událostí volného tvaru a získejte zpět zprávy [==](EV) (v obsahu zpráv [==] jsou netisknutelné bajty nahrazeny tečkami v example):
em,,jps/EV %accepted% event,”some string” RE00A%accepted% ==011…..some_string. %1% událost,1; %2% událost,2 RE003%1% RE003%2% ==007…..1. ==007…..2. dm,,jps/EV
GREIS
www.javad.com
51
2.3.10 získat
JAZYK VSTUPU PŘIJÍMAČE Příkazy get
Jméno
začněte získávat file obsahu pomocí DTP1.
Synopse
Formát: get,object[,offset] Možnosti: {timeout,block_size,period,phase,attempts}
Argumenty
objektový identifikátor objektu file k načtení. Pokud objekt nezačíná znakem „/“, před provedením příkazu se před objekt automaticky vloží předpona „/log/“. Pokud objekt neexistuje nebo jej nelze načíst, vygeneruje se chybová zpráva.
offset offset v bajtech od začátku file u kterého začít načítání. Pokud je vynechán, předpokládá se 0.
Možnosti
Tabulka 2-5. získat souhrn možností
Jméno
Typ
Hodnoty
časový limit
celé číslo [0…86400], sekundy
block_size integer [1…163841]
období
plovoucí [0…86400), sekund
fáze
plovoucí [0…86400), sekund
pokusy o celé číslo [-257…100] 1. 2048 pro přijímače, které nepodporují TCP nebo USB.
Výchozí
10 512 0 0 10
timeout časový limit pro DTP. block_size velikost datového bloku DTP. perioda výstupní perioda pro filtrování (viz níže). fáze výstupní fáze pro filtrování (viz níže). pokouší se o jiný význam v závislosti na rozsahu, a to následovně:
1. Viz „Protokol přenosu dat“ na stránce 580.
GREIS
www.javad.com
52
JAZYK VSTUPU PŘIJÍMAČE Příkazy get
[1…100] maximální počet pokusů, které DTP vysílač vykoná pro odeslání jednoho bloku. Při nastavení na 1 se aktivuje speciální režim streamování (viz níže).
0 namísto spouštění DTP, vypíše nezpracovaný obsah objektu. [-256…-1] namísto spuštění DTP vytiskněte obsah objektu zabaleného do
[>>] zpráv.
-257 namísto spuštění DTP vypíše obsah objektu zabalený do zpráv [RE].
Popis
Tento příkaz spustí načítání a file do hostitelského počítače pomocí protokolu přenosu dat (DTP) nebo nezpracovaného výstupního formátu. Žádná odpověď není generována, pokud nedojde k chybě nebo pokud je odpověď vynucena identifikátorem příkazu.
V režimu DTP se po úspěšném příkazu get spustí vysílač DTP na přijímači a čeká na spuštění přijímače DTP na hostiteli. Proto, abychom skutečně získali jakákoli data, potřebujeme implementaci DTP přijímače na hostiteli.
Volitelný argument offset umožňuje hostiteli implementovat podporu pro obnovení přerušeného přenosu dat. Uvědomte si, že hledání velkého offsetu může v přijímači vyžadovat poměrně dlouhou dobu. Chcete-li správně implementovat obnovení v hostitelském softwaru, vynuťte odpověď přijímače na příkaz get pomocí identifikátoru příkazu a počkejte na odpověď od přijímače, než spustíte DTP na hostiteli. Tato metoda vyžaduje pokroktage skutečnosti, že přijímač odpoví na příkaz get po provedení vyhledávání.
Když je volba pokusů nastavena na 1, DTP vysílač se přepne do tzv. streaming módu. V tomto režimu, po přijetí prvního NACK z přijímače DTP, bude vysílač DTP streamovat datové bloky bez čekání na ACK z přijímače DTP a vysílač okamžitě přeruší přenos dat, pokud bude přijat NACK. Tento přístup umožňuje výrazně rychlejší přenos dat přes spolehlivá spojení s vysokou latencí (jako je TCP) nebo relativně vysokou režií přepínače směru (jako je USB). Správně implementovaná přijímací část protokolu nevyžaduje žádnou zvláštní péči pro podporu této metody.
Když je možnost periody nenulová, aktivuje se speciální režim filtrování. Napřample, umožňuje stahovat 1Hz data z a file který byl napsán pomocí 10Hz obnovovací frekvence. Konkrétně bude přijímač odesílat data pouze pro epochy, kdy přijímač time modulo one day (Tr) splňuje následující rovnici:
Tr {mod period} = fáze
Aby toho bylo dosaženo, přijímač analyzuje obsah souboru file a odfiltruje některé zprávy. Všimněte si, že implementace obnovení přerušeného stahování je velmi obtížná
GREIS
www.javad.com
53
JAZYK VSTUPU PŘIJÍMAČE Příkazy get
není to v tomto případě nemožné, protože hostitel netuší, s jakým offsetem přijímače file stahování bylo přerušeno.
Jakýkoli z typů přenosu by mohl být přerušen přijetím dat odesláním libovolného symbolu chyby DTP (např. ASCII '#').
Při přenosu dat ve zprávách [RE] bude hodnota block_size určovat maximální velikost datového užitečného zatížení pro každou zprávu [RE] (omezená také velikostí vnitřní vyrovnávací paměti firmwaru). Jako obvykle bude každá zpráva [RE] spuštěna s ID příkazu (pokud existuje).
Při přenosu dat ve zprávách [>>] bude hodnota možnosti pokusů určovat pole id zpráv [>>] takto:
id = -1 – pokusy
a hodnota „block_size“ určí maximální velikost datové zátěže pro každou [>>] zprávu (omezená také velikostí vnitřní vyrovnávací paměti firmwaru).
Další bajt po id (první bajt datového pole) ve zprávě [>>] bude sekvenční znak začínající ASCII symbolem 0 a zvyšující se modulo 64 pro každou zprávu, což má za následek sekvenci ASCII symbolů od 0 do o, včetně:
seq = 0 smyčka { seq_char = '0' + (seq++ % 64) }
Sekvenční znak umožňuje přijímacímu konci detekovat ztrátu [>>] zpráv v sekvenci.
Poté bude následovat užitečné zatížení dat objektu o velikosti až block_size bytů a poté kontrolní součet podle formátu zprávy [>>].
Úspěšný výstup v zabaleném režimu bude vždy ukončen zprávou [>>] bez datové zátěže, aby přijímací konec mohl spolehlivě určit konec přenosu.
Examples
Example: Začněte načítat obsah souboru file NAME pomocí DTP. buď:
Exampten:
get,/log/NAME get,NAME
Začněte načítat obsah souboru file NAME začínající od čísla bajtu 3870034 (počítání bajtů od nuly). Mezi příkazem a odpovědí počítejte s poměrně dlouhou dobou:
%%get,NAME,3870034 RE002%%
GREIS
www.javad.com
54
JAZYK VSTUPU PŘIJÍMAČE Příkazy get
Example: Začněte načítat obsah souboru file můj_logfile počínaje od 3000 s použitím časového limitu 50 sekund a velikosti bloku 8192 bytů:
get, my_logfile:{50,8192},3000
Example: Začněte načítat obsah souboru file NAME odfiltrování epoch, takže výsledné načtení file bude 0.1 Hz data:
get,NAME:{,,10}
Example: Začněte načítat obsah souboru file NAME používá režim streamování (možnost pokusů nastavena na 1):
get,NAME:{,,,,1}
Example: Odeslat obsah souboru file NAME zabalené do [>>] zpráv s ID 61 (což je ASCII symbol '='), s použitím až 128 bajtů dat na zprávu:
get,NAME:{,128,,,-62}
Example: Odeslat obsah souboru file NAME zabalené do zpráv [RE] s využitím až 190 bajtů dat na zprávu, předřazených %MY_ID%:
%MY_ID%get,NAME:{,190,,,-257}
GREIS
www.javad.com
55
2.3.11 dát
JAZYK VSTUPU PŘIJÍMAČE Zadání příkazů
Jméno
dát start file nahrávání pomocí DTP1.
Synopse
Formát: put,object[,offset] Možnosti: {timeout, block_size}
Argumenty
objektový identifikátor objektu file zapisovat data. Pokud objekt nezačíná znakem „/“, před provedením příkazu se před objekt automaticky vloží předpona „/log/“.
offset offset v bajtech od začátku file u kterého začít psát. Pokud je vynechán, předpokládá se 0.
Možnosti
Tabulka 2-6. shrnutí vložit možnosti
Jméno
Typ
Hodnoty
Výchozí
časový limit
celé číslo [0…86400], sekundy 10
block_size integer [1…163841]
512
1. 2048 pro přijímače, které nepodporují TCP nebo USB.
timeout časový limit pro DTP. block_size velikost datového bloku DTP.
Popis
Tento příkaz spustí nahrávání dat z hostitelského počítače do a file v přijímači pomocí protokolu přenosu dat (DTP). Žádná odpověď není generována, pokud nedojde k chybě nebo pokud je odpověď vynucena identifikátorem příkazu.
Po úspěšném příkazu put se přijímač DTP spustí na přijímači a čeká na spuštění vysílače DTP na hostiteli. Proto, aby bylo možné skutečně nahrát jakákoli data, potřebuje implementaci vysílače DTP na hostiteli.
1. Viz „Protokol přenosu dat“ na stránce 580.
GREIS
www.javad.com
56
JAZYK VSTUPU PŘIJÍMAČE Zadání příkazů
Volitelný argument offset umožňuje hostiteli implementovat podporu pro obnovení přerušeného přenosu dat. Nenulová hodnota offsetu umožňuje hostiteli požadovat připojení dat na konec existujícího file odpovídající velikosti.
Pokud je offset 0 a file objekt neexistuje, přijímač se pokusí vytvořit a otevřít pro zápis nového file s názvem definovaným objektem. V tomto případě příkaz selže, pokud již existuje a file s křestním jménem.
Pokud je offset větší než 0 a existuje a file objekt a file velikost se rovná hodnotě offsetu, pak příkaz put otevře file objekt pro připojení. V tomto případě příkaz selže, pokud žádný neexistuje file s křestním jménem nebo pokud velikost existující file neodpovídá těm, které jsou specifikovány offsetem.
Examples
Example: Zahájení nahrávání dat do nového souboru file „NAME“ pomocí DTP. buď:
Exampten:
put,/log/NAME put,NAME
Začněte nahrávat data a připojte je k existujícím file "JMÉNO". Použít výchozí časový limit DTP a velikost bloku DTP 4096 bajtů. Získejte velikost file před zahájením nahrávání (všimněte si, že file velikost je na hostiteli stejně vyžadována, aby mohl tento počet bajtů ze svých zdrojových dat přeskočit file):
Exampten:
print,/log/NAME&size RE008 3870034 put,/log/NAME:{,4096},3870034
Spusťte nahrávání dat do nového file "můj_log."file” pomocí časového limitu 50 sekund a velikosti bloku 8192 bajtů:
put,my_logfile:{50,8192}{XNUMX}
GREIS
www.javad.com
57
2.3.12 fld
RECEIVER INPUT LANGUAGE Příkazy fld
Jméno
fld načítání firmwaru.
Synopse
Formát: fld,id,object Možnosti: {timeout, block_size}
Argumenty
id řetězec obsahující elektronické ID1 přijímače. Pokud zadané ID neodpovídá skutečnému elektronickému ID přijímače, příkaz selže a zobrazí chybové hlášení.
objektový objektový identifikátor zdroje firmwaru, který se má načíst. Buď jméno přijímače filenebo název vstupního portu. Pokud je to název vstupního portu, měl by být uveden buď /cur/term nebo skutečný název aktuálního portu, jinak bude hlášena chyba.
Možnosti
Tabulka 2-7. fld shrnutí možností
Jméno
Typ
Hodnoty
časový limit
celé číslo [0…86400], sekundy
block_size integer [1…163841] 1. 2048 pro přijímače, které nepodporují TCP nebo USB.
Výchozí
10
timeout časový limit pro DTP. block_size velikost datového bloku DTP.
Popis
Tento příkaz nahraje firmware ze zadaného objektu do přijímače a poté resetuje přijímač. Žádná odpověď není generována, pokud nedojde k chybě nebo pokud je odpověď vynucena identifikátorem příkazu.
1. ID lze získat pomocí příkazu print,/par/rcv/id.
GREIS
www.javad.com
58
RECEIVER INPUT LANGUAGE Příkazy fld
Varování:
Pokud během načítání dojde k výpadku napájení nebo fatálnímu přerušení přenosu firmwaru přes port, může se přijímač dostat do semi-pracovního stavu, kdy je možné pouze nahrání firmwaru přes porty RS-232 metodou „power-on capture“.
Pokud objekt označuje existující file1, přijímač nejprve zkontroluje, zda file obsahuje platný firmware pro přijímač (dokončení trvá několik sekund). Pokud je kontrola úspěšná, přijímač nahraje firmware a poté provede vlastní reset. Pamatujte, že odpověď na příkaz (pokud existuje) bude odeslána po provedení kontroly, ale před zahájením načítání firmwaru. Možnosti timeout a block_size jsou v tomto případě ignorovány.
Pokud objekt určuje vstupní tok, příkaz odešle odpověď (pokud existuje) a poté spustí DTP přijímač, který bude čekat na spuštění DTP vysílače na hostiteli. Pro skutečné nahrání firmwaru je tedy potřeba implementace vysílače DTP na hostiteli. Vlastní reset (reboot) provede přijímač po úspěšném dokončení nebo přerušení načítání.
Examples
Example: Načtěte firmware z file „firmware.ldp“ do přijímače s elektronickým ID 123456789AB. Očekávejte, že mezi odesláním příkazu a přijetím odpovědi uplyne několik sekund, zatímco přijímač zkontroluje file pro platnost firmwaru:
%%fld,123456789AB,/log/firmware.ldp RE002%%
Example: Spusťte nahrávání firmwaru z portu USB pomocí velikosti bloku 16384 bajtů a časového limitu 20 sekund. Před vydáním příkazu získejte elektronické ID:
print,rcv/id RE00C 8PZFM10IL8G fld,8PZFM10IL8G,/dev/usb/a:{20,16384}
GREIS
1. Očekává se, že file obsahující firmware se nahraje do přijímače předem, např. pomocí příkazu put.
www.javad.com
59
RECEIVER INPUT LANGUAGE Příkazy fld
GREIS
www.javad.com
60
Kapitola 3
ZPRÁVY PŘIJÍMAČE
Tato kapitola popisuje obecný formát zpráv standardu GREIS i konkrétní formáty všech předdefinovaných zpráv. Kromě standardních zpráv GREIS přijímač podporuje několik zpráv různých formátů, jako je NMEA nebo BINEX. Formáty těchto „zahraničních“ zpráv jsou popsány na konci této kapitoly.
3.1 Konvence
3.1.1 Specifikace formátu
Abychom popsali nějaký formát jako posloupnost bajtů1 v kompaktní formě, definujeme formáty pro několik primárních typů polí a poté použijeme zápis blízký těm, které se používají v programovacím jazyce C, abychom vytvořili definice složitějších formátů:
struct NÁZEV {DÉLKA} { TYP POLE[POČET]; // POPIS … TYPOVÉ POLE[POČET]; // POPIS
};
kde:
NAME název přiřazený tomuto formátu. Může být použit v jiných definicích formátu jako TYP pole.
LENGTH délka v bajtech celé sekvence. U formátu s pevnou délkou je to číslo, u zprávy s proměnnou délkou to může být buď aritmetický výraz v závislosti na některých dalších proměnných parametrech, nebo jen řetězec var.
deskriptor pole TYPE FIELD[COUNT]. Popisuje posloupnost COUNT prvků stejného TYPU, kterému je přiřazen název FIELD. TYPE může být buď jeden z primárních typů polí popsaných níže, nebo NAME v jiném formátu. Pokud [POČET] chybí, pole se skládá právě z jednoho prvku. Pokud chybí COUNT (tj. jsou zde pouze prázdné hranaté závorky, []), znamená to, že pole sestává z blíže neurčeného počtu prvků.
GREIS
1. V kontextu této kapitoly „bajt“ znamená 8bitovou entitu. Nejméně významný bit bajtu má index nula.
www.javad.com
61
ZPRÁVY PŘIJÍMAČE Konvence
Specifikace formátu
POPIS popis pole spolu s jeho měrnými jednotkami a případně povoleným rozsahem hodnot. Měrné jednotky jsou ohraničeny hranatými závorkami.
Jsou definovány následující primární typy polí:
Tabulka 3-1. Primární typy polí
Zadejte Název
Význam
Délka v bytech
a1
ASCII znak
1
i1
celé číslo se znaménkem
1
i2
celé číslo se znaménkem
2
i4
celé číslo se znaménkem
4
u1
celé číslo bez znaménka
1
u2
celé číslo bez znaménka
2
u4
celé číslo bez znaménka
4
f4
IEEE-754 s jednoduchou přesností s plovoucí desetinnou čárkou
4
f8
IEEE-754 s plovoucí desetinnou čárkou s dvojitou přesností
8
str
proměnná sekvence znaků ASCII zakončená nulou
Abychom mohli zcela definovat konkrétní formát, musíme také určit pořadí bajtů v primárních neagregovaných polích, která jsou vícebajtová (i2, i4, u2, u4, f4, f8). U zpráv GREIS je toto pořadí definováno zprávou [MF], podrobnosti viz „Formát zpráv [MF]“ na straně 74.
Pomocí výše uvedených definic je možné (rekurzivně) rozšířit jakoukoli specifikaci formátu na odpovídající sekvenci bajtů. Napřample, formát
struktura Přample {9} { u1 n1; f4n2; i2 n3[2];
};
se rozšíří na následující posloupnost bajtů za předpokladu, že první pořadí bajtů (LSB) je nejméně významné:
n1[0](0), n2[0](0),n2[0](1),n2[0](2),n2[0](3), n3[0](0),n3[0](1),n3[1](0),n3[1](1)
GREIS
www.javad.com
62
GREIS
ZPRÁVY PŘIJÍMAČE Standardní tok zpráv
Zvláštní hodnoty
a na následující sekvenci bajtů za předpokladu pořadí nejvýznamnějších bajtů (MSB):
n1[0](0), n2[0](3)n2[0](2)n2[0](1)n2[0](0) n3[0](1)n3[0](0)n3[1](1)n3[1](0)
kde x[i](j) označuje j-tý bajt (byte #0 je nejméně významný) i-tého prvku pole x.
3.1.2 Zvláštní hodnoty
U binárních zpráv mohou některá z jejich celočíselných polí a polí s plovoucí desetinnou čárkou obsahovat speciální hodnoty, které se použijí místo skutečných dat, když pro pole nejsou k dispozici žádná data. Binární pole, u kterých je při extrakci dat vyžadována kontrola speciálních hodnot, jsou označena vykřičníkem „!“. v prvním sloupci definice pole.
Následující tabulka definuje speciální hodnoty pro různé typy datových polí:
Tabulka 3-2. Speciální hodnoty pro pole
Typ pole
i1 u1 i2 u2 i4 u4 f4 f8
Zvláštní hodnota
127 255 32767 65535 2147483647 4294967295 tichý NaN tichý NaN
HEX reprezentace
7F FF 7FFF FFFF 7FFF_FFFF FFFF_FFFF 7FC0_0000 7FF8_0000_0000_0000
3.2 Standardní tok zpráv
Standardní tok zpráv GREIS je sekvence nejvýše dvou druhů zpráv, standardních zpráv GREIS a nestandardních textových zpráv.
Nejdůležitější a nejrozšířenější druh zpráv je bohatý soubor standardních zpráv GREIS. Jejich obecný formát je pečlivě navržen tak, aby umožňoval binární i textové zprávy
www.javad.com
63
ZPRÁVY PŘIJÍMAČE Obecný formát zpráv
Standardní zprávy
mudrců a umožnit aplikacím efektivně přeskakovat zprávy, o kterých aplikace neví nebo je nezajímají.
Podpora nestandardních textových zpráv, které by měly stále dodržovat formát pro ně definovaný v této příručce, umožňuje míchat standardní zprávy GREIS se zprávami některých jiných formátů ve standardním datovém toku GREIS. Bývalýampsoubory takového formátu jsou zprávy NMEA.
Nestandardní textové zprávy zvláštního případu, zprávy, které obsahují pouze ASCII a/nebo znaky, jsou vkládány modulem pro formátování zpráv v přijímači mezi standardní zprávy GREIS, aby byl výsledný tok zpráv čitelnější pro člověka, když je odeslán na terminál nebo obecný text viewer nebo editor aplikace.
Kromě standardních zpráv GREIS a nestandardních textových zpráv JAVAD GNSS přijímače obvykle podporují spoustu dalších formátů (např. RTCM, BINEX, CMR). Tyto formáty jsou však nekompatibilní s formátem standardního toku zpráv GREIS. Pokud by stream obsahoval zprávy těchto formátů, nelze jej již nazývat standardním streamem zpráv GREIS a nelze jej analyzovat podle stejných pravidel jako standardní stream.1
3.3 Obecný formát zpráv
3.3.1 Standardní zprávy
Formát každé standardní zprávy je následující:
struct StdMessage {var} {
a1 id[2];
// Identifikátor
délka a1[3];
// Délka hexadecimálního těla, [000…FFF]
u1 tělo[délka]; // Tělo
};
Každá standardní zpráva začíná jedinečným identifikátorem zprávy obsahujícím dva znaky ASCII. V identifikátoru jsou povoleny jakékoli znaky z podmnožiny „0“ až „~“ (tj. dekadické kódy ASCII v rozsahu [48…126]).
GREIS
1. Formát standardních zpráv GREIS je ve skutečnosti tak flexibilní, že může začlenit jakýkoli datový tok do standardního datového toku GREIS, ale původní nekompatibilní tok by pak měl být zabalen do sekvence speciálních zpráv GREIS. K tomuto účelu slouží předdefinovaná zpráva s identifikátorem „>>“.
www.javad.com
64
ZPRÁVY PŘIJÍMAČE Obecný formát zpráv
Nestandardní textové zprávy
Za identifikátorem zprávy následuje délka pole těla zprávy. Toto pole, které obsahuje tři velká hexadecimální čísla, určuje délku těla zprávy v bajtech. Maximální délka těla zprávy je tedy 4095 (0xFFF) bajtů.
Tělo zprávy následuje bezprostředně za polem délky a obsahuje přesně takový počet bajtů, jaký je určeno polem délky. Neexistují žádná omezení obsahu těla zprávy vyplývající z obecného formátu. Formát těla zprávy ve zprávě je implicitně definován identifikátorem zprávy. Formáty těl zpráv všech předdefinovaných zpráv
3.3.2 Nestandardní textové zprávy
Formát nestandardních textových zpráv je následující:
struct NonStdTextMessage {var} {
a1 id;
// Identifikátor, [!…/]
a1 tělo[];
// Tělo libovolné délky, [0…)
a1 eom;
// Konec zprávy ( nebo )
};
Identifikátor zprávy je libovolný znak v rozsahu [!… /] (desítkové kódy ASCII v rozsahu [33…47]). Identifikátor zprávy je volitelný. Pokud chybí, tělo zprávy by mělo mít délku nula (tj. mělo by také chybět).
Tělo zprávy je posloupnost znaků ASCII kromě (desetinný kód 13) a (desetinný kód 10) znaků. Formát není omezen na délku těla.
Konec značky zprávy je buď nebo charakter.
Všimněte si, že formát umožňuje nestandardní zprávy obsahující pouze znaky CR nebo LF. Tato funkce umožňuje, aby standardní toky zpráv GREIS vypadaly lépe čitelně při výstupu dat na univerzální terminál nebo views obecným textem viewer nebo redaktor.
Jeden z nestandardních identifikátorů textových zpráv, znak „$“, je již rezervován jako identifikátor pro standardní zprávy NMEA. Žádné jiné nestandardní textové zprávy by neměly používat jako identifikátor „$“.
3.3.3 Analýza toku zpráv
V této sekci najdete několik rad a tipů, jak napsat kód určený k analýze toků zpráv přijímače GREIS. I když se tímto tématem v této referenční příručce nebudeme podrobně zabývat, rádi bychom zde zdůraznili, že jde o standardní zprávu
GREIS
www.javad.com
65
ZPRÁVY PŘIJÍMAČE Obecný formát zpráv
Analýza streamu zpráv
vám umožní efektivně zpracovat/analyzovat téměř jakýkoli tok zpráv GREIS, se kterým se můžete v praxi setkat.
Poznámka:
Synchronizace
Při analýze toku zpráv musíte nejprve najít nejbližší hranici zprávy. Tomu se obvykle říká „synchronizace“. Synchronizace zpráv se provádí při zahájení analýzy nebo při ztrátě synchronizace kvůli chybě v datovém toku. Ve skutečnosti, pro zjednodušení algoritmu, můžete zvážit, že jste již synchronizováni, když začnete analyzovat datový tok. Pokud se stane, že tomu tak skutečně není, měla by nastat chyba analýzy. Poté přeskočíte jeden znak ze vstupního proudu a předstíráte, že jste znovu synchronizováni. Takový přístup účinně eliminuje úlohu synchronizace jako samostatnou část algoritmu analýzy.
Vzhledem k tomu, že chybovost v rozumně užitečném datovém toku by měla být spíše nízká, neměla by být synchronizace častým úkolem. Datový tok GREIS se navíc obvykle skládá z poměrně krátkých zpráv, takže vzdálenost k nejbližší hranici zprávy je obvykle malá. Vezmeme-li v úvahu tyto úvahy, není zde žádný požadavek, aby byl synchronizační algoritmus velmi rychlý.
Poznámka:
Přechod na další zprávu
Délka v obecném formátu standardních zpráv GREIS vám umožňuje snadno ignorovat zprávy, aniž byste znali formát jejich těla. Opravdu důrazně doporučujeme psát analyzátory tak, aby přeskakovaly neznámé zprávy.
Chcete-li přejít z aktuální zprávy na následující, postupujte takto:
1. Předpokládejme, že aktuální zpráva začíná na pozici „N“. Určete aktuální délku zprávy (dekódujte znaky ## N+2, N+3, N+4). Předpokládejme, že délka zprávy je rovna L. Přeskočte prvních L+5 znaků počínaje pozicí „N“.
2. Přeskočit všechny a znaky (pokud existují).
Přísně vzato, nedoporučujeme, abyste v kódu analýzy používali jakékoli apriori informace o velikostech a obsahu těl zpráv. Pokud toto doporučení respektujete, nebudete mít s programem pro analýzu problémy, pokud by se některé zprávy změnily.
Pravidla a rady pro analýzu těl zpráv standardních předdefinovaných zpráv GREIS jsou popsány dále v části „Analýza těl zpráv“ na stránce 67.
GREIS
www.javad.com
66
GREIS
ZPRÁVY PŘIJÍMAČE Standardní předdefinované zprávy
Analýza těl zpráv
3.4 Standardní předdefinované zprávy
V této části seznámíme čtenáře s předdefinovanou sadou standardních zpráv GREIS. Při odkazu na zprávu s identifikátorem XX používáme zápis [XX]. Zatímco většina zpráv je v GREIS volána podle jejich identifikátoru zprávy, některé z nich, konkrétně ty, které mají nealfanumerické identifikátory, mají názvy, které se liší. Pro takové zprávy se používá zápis [XX](NN), kde XX je identifikátor zprávy a NN je název zprávy, která se má použít v příkazech GREIS. Napřampzpráva [~~](RT) má hlavičku „~~“ a v příkazech GREIS se nazývá /msg/jps/RT.
Tato sekce definuje formáty těl pro všechny standardní předdefinované zprávy. Mějte na paměti, že v datovém toku má každá zpráva standardní hlavičku definovanou také obecným formátem.
3.4.1 Analýza těl zpráv
Rozšíření povolených formátů
Formáty binárních zpráv s pevnou velikostí zprávy umožňují v budoucnu přidat další datová pole. Nová pole lze vkládat pouze na konec těla zprávy těsně před pole kontrolního součtu (pokud existuje). Takové úpravy těl zpráv jsou považovány za rozšíření formátu, nikoli za nekompatibilní změny.
Ačkoli standardní textové zprávy GREIS nejsou zprávy s pevnou velikostí zprávy, mohou se v těchto zprávách v budoucnu objevit nová pole. Nová pole lze vložit buď na konec existující textové zprávy těsně před pole kontrolního součtu, nebo bezprostředně před jakoukoli pravou složenou závorku (}). Napřample, zpráva, která se aktuálně čte jako:
…1,{21,22},3,@CS
lze později rozšířit na
…1,{2.1,2.2,2.3},3,4,@CS
kde byla přidána dvě další pole „2.3“ a „4“.
Implementujte své algoritmy analýzy s ohledem na následující pravidla, aby fungovaly i s budoucími rozšířeními formátu:
1. Nepředpokládejte, že by velikost těla přijaté zprávy měla přesně odpovídat konkrétní velikosti definované v tomto dokumentu. Pouze pokud je zpráva příliš krátká, znamená to, že její obsah nemůžete použít. Pokud je zpráva delší, než se očekávalo, přebytečná data ignorujte.
2. Adresujte pole kontrolního součtu relativně ke konci těla zprávy.
www.javad.com
67
ZPRÁVY PŘIJÍMAČE Standardní předdefinované zprávy
Obecné poznámky
3. Ostatní datová pole řešte relativně k začátku těla zprávy. 4. Vezměte v úvahu výše uvedené pravidlo pro prodlužování textových zpráv, kdy
zápis extraktorů dat pro textové zprávy.
Kontrolní součty
Poté, co byla zpráva extrahována z datového toku pomocí technik popsaných v části „Analýza toku zpráv“ na stránce 65 a identifikátor zprávy se zdá být jedním z těch, o které má aplikace zájem, tělo zprávy by mělo být analyzováno, aby se data extrahovala. . Před extrahováním obsahu by měl být vypočítán kontrolní součet zprávy a porovnán s kontrolním součtem obsaženým ve zprávě.
Většina předdefinovaných zpráv obsahuje kontrolní součet. Kontrolní součet se vypočítá pomocí hlavičky zprávy (tj. „identifikátor zprávy“ plus „délka těla zprávy“) a samotného těla. Viz “Výpočet kontrolních součtů” na stránce 579, kde najdete další informace o výpočtu kontrolního součtu.
Kontrolní součet je vždy umístěn na úplný konec těla zprávy. Pokud je struktura zprávy upravena přidáním nových datových polí, budou nová datová pole přidána před pole kontrolního součtu. To vysvětluje, proč se doporučuje adresovat pole kontrolního součtu relativně ke konci těla zprávy.
3.4.2 Obecné poznámky
Časové váhy
Váš přijímač může zpracovat pět časových měřítek:
Tr čas přijímače Tg systémový čas GPS Tu UTC(USNO). Univerzální koordinovaný čas podporovaný americkým námořním pozorovatelem
vatory. Tn systémový čas GLONASS. Ts UTC(SU). Univerzální koordinovaný čas podporovaný státním časem a Fre-
quency Service, Rusko.
„Čas přijímače“ je jediná časová mřížka, která je ve vašem přijímači vždy k dispozici (tj. ostatní časové mřížky z výše uvedeného seznamu mohou nebo nemusí být aktuálně dostupné).
Ve skutečnosti JAVAD GNSS přijímač vždy synchronizuje čas svého přijímače s jednou ze čtyř globálních časových stupnic: GPS čas, UTC(USNO), GLONASS čas nebo UTC(SU). The
GREIS
www.javad.com
68
GREIS
ZPRÁVY PŘIJÍMAČE Standardní předdefinované zprávy
Obecné poznámky
Takto zvolená časová mřížka se dále v této části1 označuje jako „referenční čas přijímače“ (Trr).
Různé časové systémy mohou mít různé časové zápisy (formáty) s nimi spojené (např. pro čas GPS používáme termíny jako „číslo týdne“, „čas v týdnu“ atd.). Všimněte si však, že reprezentace „času přijímače“ nebude záviset na zvoleném referenčním čase přijímače a je vždy reprezentována jako datum a čas přijímače.
Většina předdefinovaných zpráv uvnitř neobsahuje informaci o referenčním čase. V našem view, bylo by přehnané používat jeden a ten samý čas tag se všemi z mnoha zpráv, které přijímač generuje v aktuální epoše. Při výstupu informací o přijímači dostupných pro aktuální epochu obvykle dostanete různé zprávy. Místo toho, abychom každému z nich poskytli individuální čas tag datového pole, používáme speciální zprávu, která nese časovou informaci příjemce společnou pro tyto zprávy. Tato zpráva se nazývá „Čas přijímače“ a má identifikátor [~~].
Existuje však provozní režim, nazývaný zpožděný režim RTK, kdy v dané epoše může přijímač produkovat řešení odkazované na nějakou jinou epochu v minulosti. Poskytnout čas tag pro takové řešení speciální doba řešení-Tag Je použita zpráva [ST]. Tato zpráva ve skutečnosti poskytuje správný čas tag pro řešení ve všech režimech operací, ačkoli ve většině režimů má přesně stejný čas jako [~~].
Jsou tam i jiné zprávy, které mají čas tag datové pole. Jsou to zprávy, které obsahují informace, které se objevují nezávisle na mřížce epoch přijímače. Bývalýampsoubor takové zprávy je „Událost“ [==].
Oddělovače
Ve skutečnosti má zpráva „Čas přijímače“ předcházet všem ostatním zprávám generovaným v aktuální epoše, čímž vymezuje zprávy odpovídající různým epochám. Z formálního hlediska view, je na uživateli, aby určil pořadí zpráv ve výstupním proudu. Je však třeba dbát na to, aby pořadí, ve kterém jsou zprávy zapisovány do výstupního toku, nenarušilo „synchronizaci epoch“, která je velmi zásadní pro následné zpracování zaznamenaných dat pomocí softwarových balíků JAVAD GNSS. Další podrobnosti o výchozí sadě zpráv viz „Sady zpráv“ na straně 562.
Pro aplikace v reálném čase je nezbytné co nejdříve určit konec epochy. Pro takové aplikace není vhodné pouze vymezovat epochy značkou „začátek epochy“. Doporučujeme použít zprávu „Čas epochy“ [::](ET) jako značku „konce epochy“. Tato zpráva obsahuje stejné pole denní doby, jaké se nachází ve zprávě „Čas přijímače“, což umožňuje lepší kontrolu integrity. Cílem je porovnat čas tag
1. V aktuálním firmwaru přijímače je referenčním časem přijímače buď systémový čas GPS nebo GLONASS, viz /par/raw/time/ref na straně 220
www.javad.com
69
GREIS
ZPRÁVY PŘIJÍMAČE Standardní předdefinované zprávy
Obecné poznámky
od [::] zpráva proti času tag z odpovídající [~~] zprávy. Nesoulad tags jsou známkou zlomené epochy.
Všimnete si, že většina zpráv má identifikátory obsahující pouze číslice a/nebo anglická písmena. Ve skutečnosti je „Čas příjemce“ [~~] jedinou zprávou, jejíž identifikátor používá znak „~“. Dává to smysl, protože zpráva [~~] hraje velmi důležitou roli a slouží jako oddělovač epoch. Existují tedy speciální opatření, aby se minimalizovala pravděpodobnost ztráty této klíčové zprávy. Podobně i identifikátor zprávy „Událost“ ([==]) musí být co nejvýraznější, protože aplikační software může používat události volného tvaru právě jako oddělovače.
Myšlenka použití „vysoce rozlišitelných“ identifikátorů pro zprávy, které slouží jako oddělovače, je velmi jasná. Pokud je kontrolní součet zprávy nesprávný, stačí zkontrolovat její identifikátor. Pokud se žádný ze znaků identifikátoru neshoduje s „~“, je velmi nepravděpodobné, že se jedná o poškozenou [~~] zprávu. Proto v tomto případě nemusíte přeskočit na další [~~] zprávu.
Na druhou stranu, pokud má zpráva správný kontrolní součet a jeden z identifikačních znaků je „~“, pak by bylo bezpečnější považovat tuto zprávu za poškozenou [~~] zprávu. V tomto případě přejděte na další [~~] zprávu.
Typy řešení
Pole „solType“ používané v mnoha předdefinovaných zprávách označuje typ odpovídajícího řešení a může mít následující hodnoty:
Tabulka 3-3. Typy řešení
Hodnota
Význam
0
žádný
Dokumenty / zdroje
![]() |
Externí rozhraní JAVAD GREIS GNSS přijímače [pdfUživatelská příručka GREIS Externí rozhraní GNSS přijímače, GREIS, Externí rozhraní GNSS přijímače, Externí rozhraní přijímače, Externí rozhraní, Rozhraní |