Eksterni interfejs JAVAD GREIS GNSS prijemnika
Specifikacije
- Proizvod: GREIS GNSS prijemnik
- Verzija firmvera: 4.5.00
- Zadnja izmjena: 14. oktobra 2024
Informacije o proizvodu
GREIS GNSS prijemnik je visokoprecizni eksterni interfejs uređaj dizajniran od strane JAVAD GNSS-a, koji nudi tačne informacije o pozicioniranju.
Uvod
GREIS je svestran uređaj koji se koristi za različite primjene. Evo nekoliko ključnih tačaka:
- Šta je GREIS: To je eksterni interfejs uređaj za GNSS prijemnike.
- Kako se GREIS koristi: Koristi se za poboljšanje funkcionalnosti i tačnosti GNSS sistema.
- liste: Detaljan popis podržanih funkcija i mogućnosti potražite u priručniku.
- Objekti: Istražite različite objekte koji se mogu koristiti pomoću GREIS-a za specifične zadatke.
Jezik unosa prijemnika
Ulazni jezik prijemnika omogućava korisnicima interakciju s uređajem pomoću specifičnih komandi i sintakse. Evo kratkog pregledaview:
- Jezik Examples: Učite od pruženog bivšegampda biste razumjeli kako komunicirati s uređajem.
- Sintaksa jezika: Upoznajte se sa sintaksnim pravilima za slanje komandi prijemniku.
- naredbe: Koristite različite naredbe za kontrolu i konfigurisanje uređaja na osnovu vaših zahtjeva.
Poruke primaoca
Razumijevanje poruka prijemnika je ključno za tumačenje podataka i informacija o statusu. Evo šta trebate znati:
- Konvencije: Pratite određene formate i vrijednosti za tačno tumačenje poruka.
- Standardni prijenos poruka: Istražite standardni format poruke za konzistentan prijenos podataka.
FAQs
P: Mogu li izmijeniti firmver GREIS GNSS prijemnika?
O: Ne, modifikacija firmvera nije dozvoljena prema propisima o autorskim pravima JAVAD GNSS-a.
P: Kako mogu pristupiti podršci za tehničke probleme u vezi sa GREIS GNSS prijemnikom?
A: Za tehničku podršku, molimo Vas da se direktno obratite JAVAD GNSS-u.
Hvala vam što ste kupili vaš JAVAD GNSS prijemnik. Materijale dostupne u ovom Referentnom vodiču (“Vodič”) pripremio je JAVAD GNSS, Inc. za vlasnike JAVAD GNSS proizvoda. Dizajniran je da pomogne vlasnicima u korištenju prijemnika i njegovo korištenje podliježe ovim odredbama i uslovima (“Uslovi i odredbe”).
Odredbe i uslovi
PROFESIONALNA UPOTREBA JAVAD GNSS prijemnici su dizajnirani da ih koriste profesionalci. Od korisnika se očekuje da dobro poznaje i razumije korisnička i sigurnosna uputstva prije rukovanja, provjere ili podešavanja. Uvijek nosite potrebne štitnike (zaštitne cipele, kacigu, itd.) kada koristite prijemnik.
ODRICANJE GARANCIJE OSIM BILO KAKVE GARANCIJE IZ OVOG VODIČA ILI GARANCIJSKE KARTICE KOJE PRATITE PROIZVOD, OVAJ VODIČ I PRIJEMNIK SE DAJU „KAKO JESU“. NEMA DRUGIH GARANCIJA. JAVAD GNSS SE ODRIČE BILO KAKVE IMPLICIRANE GARANCIJE O PRODAJNOSTI ILI PRIKLADNOSTI ZA BILO KOJU ODREĐENU UPOTREBU ILI SVRHU. JAVAD GNSS I NJEGOVI DISTRIBUTERI NEĆE BITI ODGOVORNI ZA TEHNIČKE ILI UREDNIČKE GREŠKE ILI PROPUSTE KOJE SE OVDJE SADRŽE; NITI ZA SLUČAJNE ILI POSLEDIČNE ŠTETE KOJE PROSLEDE IZ NAMJEŠTAJA, IZVOĐENJA ILI KORIŠĆENJA OVOG MATERIJALA ILI PRIJEMNIKA. TAKVA ODREĆENA ŠTETA UKLJUČUJE, ALI NISU OGRANIČENA NA GUBITAK VREMENA, GUBITAK ILI UNIŠTAVANJE PODATAKA, GUBITAK DOBITAKA, UŠTEDE ILI PRIHODA ILI GUBITAK UPOTREBE PROIZVODA. PORED toga, JAVAD GNSS NIJE ODGOVORAN NITI ODGOVORAN ZA ŠTETU ILI TROŠKOVE NASTALE U VEZI SA DOBIJANJEM ZAMJENSKIH PROIZVODA ILI SOFTVERA, TUĐIH POTRAŽIVANJA, NEPODOBNOSTI ILI BILO KAKVE DRUGE TROŠKOVE. U BILO KOM SLUČAJU, JAVAD GNSS NEĆE IMATI NIKAKVE ODGOVORNOSTI ZA ŠTETU ILI DRUGIH PREMA VAMA ILI BILO KOJOJ DRUGI LICI ILI SUBJEKTU KOJI JE VIŠAK OD KUPOVNE CIJENE ZA PRIMACA.
UGOVOR O LICENCI Upotreba bilo kojeg kompjuterskog programa ili softvera koji je isporučio JAVAD GNSS ili preuzet sa JAVAD GNSS-a websajt (“Softver”) u vezi sa primaocem predstavlja prihvatanje ovih Odredbi i uslova u ovom Vodiču i saglasnost da se pridržavate ovih Odredbi i uslova. Korisniku se dodeljuje lična, neekskluzivna, neprenosiva licenca za korišćenje takvog softvera pod uslovima
PREDGOVOR Odredbe i uslovi
navedeno u ovom dokumentu iu svakom slučaju samo sa jednim prijemnikom ili jednim računarom. Ne možete dodijeliti ili prenijeti Softver ili ovu licencu bez izričitog pismenog pristanka JAVAD GNSS-a. Ova licenca važi do prestanka. Licencu možete prekinuti u bilo kojem trenutku uništavanjem Softvera i Vodiča. JAVAD GNSS može ukinuti licencu ako se ne pridržavate bilo kojeg od odredbi ili uslova. Slažete se da ćete uništiti Softver i Vodič po prestanku korištenja prijemnika. Sva vlasnička, autorska i druga prava intelektualne svojine ui na Softver pripadaju JAVAD GNSS-u. Ako ovi uslovi licenciranja nisu prihvatljivi, vratite sav nekorišteni softver i vodič.
POVERLJIVOST Ovaj vodič, njegov sadržaj i Softver (zajedno, „Poverljive informacije“) su poverljive i vlasničke informacije JAVAD GNSS-a. Saglasni ste da ćete prema povjerljivim informacijama JAVAD GNSS-a postupati s pažnjom koja nije ništa manje stroga od stepena pažnje koji biste koristili u zaštiti svojih najvrednijih poslovnih tajni. Ništa u ovom paragrafu vas neće ograničavati u otkrivanju povjerljivih informacija vašim zaposlenima što može biti potrebno ili prikladno za rad ili brigu o primaocu. Takvi zaposleni također moraju čuvati povjerljivost informacija o povjerljivosti. U slučaju da budete zakonski primorani da otkrijete bilo koju od povjerljivih informacija, odmah ćete obavijestiti JAVAD GNSS kako bi mogao tražiti nalog za zaštitu ili drugi odgovarajući pravni lijek.
WEBSITE; DRUGE IZJAVE Na JAVAD GNSS-u nema izjave websajt (ili bilo koji drugi websajtu) ili u bilo kojoj drugoj reklami ili JAVAD GNSS literaturi ili koju je napravio zaposleni ili nezavisni ugovarač JAVAD GNSS-a menja ove Odredbe i uslove (uključujući licencu za softver, garanciju i ograničenje odgovornosti).
SIGURNOST Nepravilna upotreba prijemnika može dovesti do ozljeda osoba ili imovine i/ili kvara na proizvodu. Prijemnik treba da popravlja samo ovlašteni JAVAD GNSS servisni centri.
RAZNO Gore navedeni uslovi i odredbe mogu biti dopunjeni, modifikovani, zamenjeni ili otkazani, u bilo kom trenutku od strane JAVAD GNSS-a. Gore navedeni uslovi i odredbe će biti vođeni i tumačeni u skladu sa zakonima države Kalifornije, bez pozivanja na sukob zakona.
Šta je GREIS
GREIS je jezik interfejsa koji omogućava korisniku da efektivno komunicira sa GNSS prijemnicima pristupajući svim njihovim mogućnostima i funkcijama.
GREIS predstavlja generičku jezičku strukturu prijemnika za čitav niz JAVAD GNSS hardvera. Ova jezička struktura je nezavisna od prijemnika i otvorena je za buduće modifikacije ili proširenja. GREIS je zasnovan na jedinstvenom pristupu koji omogućava korisniku da kontroliše JAVAD GNSS prijemnik koristeći odgovarajući skup imenovanih objekata. Komunikacija sa ovim objektima se ostvaruje putem unapred definisanih komandi i poruka. Ne postoje posebna ograničenja za broj ili tip objekata koji se koriste.
Kako se koristi GREIS
Svaki sistem koji komunicira sa JAVAD GNSS prijemnikom preko jednog od njegovih portova (serijski, paralelni, USB, Ethernet, itd.) koristiće GREIS komande i poruke da bi izvršio traženi zadatak. Par tipičnih aplikacija u kojima GREIS igra veoma važnu ulogu su, prvo, korištenje ručnih kontrolera za komunikaciju sa prijemnicima tokom rada na terenu u anketnim i RTK projektima ili, drugo, prilikom preuzimanja podataka sa prijemnika u desktop sisteme za daljnje objavljivanje. obrada. Sama aplikacija za naknadnu obradu ne koristi GREIS komande, ali mora biti svjesna GREIS poruka kako bi izvukla podatke iz podataka files.
Jedna važna karakteristika GREIS-a je da se može efikasno koristiti i za automatsku i za ručnu kontrolu JAVAD GNSS prijemnika. Za ručnu kontrolu, korisnik će unijeti potrebne GREIS komande u prijemnik preko terminala. Ovo je lako postići jer je GREIS dizajniran da bude tekstualni interfejs čitljiv ljudima. S druge strane, GREIS poštuje prilično stroga pravila koja aplikacijama olakšavaju korištenje.
Liste
GREIS u velikoj mjeri koristi koncept lista. Liste se koriste i na jeziku unosa prijemnika iu standardnim tekstualnim porukama.
UVOD Objekti
Liste u GREIS-u su predstavljene nizom elemenata omeđenih zarezom (,, ASCII kod 44) i zatvorenih u zagradama ({}, ASCII kodovi 123 i 125):
{element1,element2,element3}
Zauzvrat, elementi liste mogu sami biti liste:
{e1,{ee21,ee22},e3}
Stoga je gornja definicija rekurzivna, tako da su liste proizvoljne dubine ugniježđenja dozvoljene. Elementi koji nisu liste nazivaju se elementi lista ili jednostavno listovi. Elementi liste mogu biti prazni, u kom slučaju kažemo da je element izostavljen. Za nprample, u listi ispod, drugi element je izostavljen:
{e1,,e3}
Razmaci prije i poslije graničnika su dozvoljeni i zanemareni. Ako svi elementi liste imaju isti podniz (prefiks) na početku, ovaj podniz bi mogao biti premješten iz zagrada koje okružuju listu, npr.
elem{1,2,3}
je kraći oblik od
{elem1,elem2,elem3}
Elementi se mogu staviti u dvostruke navodnike (“, ASCII kod 34) koji se uklanjaju tokom raščlanjivanja. Unutar citiranog elementa posebni simboli (zagrade, zarezi, itd.) gube svoju ulogu i smatraju se regularnim znakovima. Druga upotreba navodnika je da se napravi razlika između uslova „element nije specificiran“ i „naveden prazan element“. Prvi se označava jednostavnim izostavljanjem elementa sa liste, a drugi se označava stavljanjem para navodnika između zareza. Citiranje je također korisno kada treba imati početne ili zadnje razmake u nizu. Da biste stavili dvostruki navodnik u element, citirajte ovaj element i izbjegnite dvostruki navodnik unutra pomoću obrnute kose crte (, ASCII kod 92). Da biste stavili obrnutu kosu crtu samu u niz navodnika, pobjegnite je drugom obrnutom kosom crtom, npr.ample:
Example: “String sa “navodnicima”, obrnutom kosom crtom \ i posebnim znakovima, {}”
1.4 Objekti
U kontekstu modela na kojem je zasnovan GREIS, JAVAD GNSS prijemnik se identifikuje sa skupom imenovanih objekata.
GREIS
www.javad.com
20
UVOD Objekti
Identifikatori objekata
Objekt je definiran kao hardverski ili softverski entitet prijemnika koji se može adresirati, postaviti ili upitati. Hardverski entiteti se obično nazivaju uređajima, dok se objekti firmvera obično nazivaju files i parametri. Priključci prijemnika i memorijski moduli su svi dobri nprampbroj uređaja. svi uređaji, fileGREIS tretira s i parametre na uniforman način. Svaki objekt ima pridruženi skup atributa kojima se može pristupiti, definirati i/ili promijeniti putem GREIS-a.
1.4.1 Identifikatori objekata
Već je spomenuto da se prijemnik smatra skupom objekata (uređaja, files, poruke, parametri, itd.) u kontekstu GREIS modela. Za potrebe adresiranja objekata u naredbama prijemnika, svakom objektu treba dodijeliti jedinstveni identifikator.
Objekti u prijemniku su logički organizovani u grupe. Sama grupa je također objekt i pripada drugoj grupi osim ako nije korijenska grupa. Tako su svi objekti u prijemniku organizirani u hijerarhiju nalik stablu počevši od jedne korijenske grupe. Ovo predstavljanje liči na organizaciju files u direktorije (foldere) s kojima je većina korisnika računara poznata.
U GREIS-u, grupe objekata su predstavljene kao liste odgovarajućih imena objekata. Ime objekta je jedinstveno unutar liste kojoj objekt pripada. Globalno jedinstveni identifikator objekta definira se kao sva imena objekata na putanji kroz stablo objekata od korijenske liste do objekta, razgraničena kosom crtom (/). Sama korijenska lista je identificirana jednom kosom crtom naprijed.
ExampIdentifikatori objekata su:
Example: korijenska grupa:
/
Example: Elektronski ID primaoca:
/par/rcv/id
Example: Brzina prijenosa serijskog porta A:
/par/dev/ser/a/rate
Example: Atributi (veličina i vrijeme posljednje izmjene) datoteke file IME (file atributi se razlikuju od atributa objekta o kojima se govori u nastavku):
/log/NAME
Example: NMEA GGA rečenica:
GREIS
www.javad.com
21
UVOD Periodični izlaz
Vrste objekata
/msg/nmea/GGA
Svi objekti imaju jedan ili više atributa povezanih s njima. Atributi objekta se identificiraju dodavanjem znaka & i imena atributa identifikatoru objekta. Primarni atribut koji svaki objekt ima je vrijednost. Ovom atributu se uvijek pristupa implicitno putem GREIS naredbi. Neki od objekata mogu imati dodatne atribute, nprample: prample: Serijski port Zadana brzina prijenosa:
/par/dev/ser/a/rate&def
Example: Sadržaj file IME:
/log/NAME&content
1.4.2 Tipovi objekata
Svaki objekat u prijemniku ima GREIS tip povezan sa njim. Tip objekta definira njegovo ponašanje u odnosu na GREIS komande. Konkretno, tip definira koje vrijednosti objekt može uzeti i koje su određene naredbe primjenjive na objekt.
Pogledajte “Tipovi primarnih objekata” na stranici 184 za detaljan opis trenutno podržanih tipova objekata.
GREIS
1.5 Periodični izlaz
Važnu ulogu u radu prijemnika igra njegova sposobnost da periodično emituje neke informacije, kao što su različite vrste merenja, izračunate vrednosti, itd., prema određenom rasporedu. GREIS definira bogat skup poruka koje sadrže različite vrste informacija u različitim formatima koji su minimalne jedinice izlaza, i pruža metode za traženje periodičnog izlaza bilo koje kombinacije poruka bilo kojim redoslijedom na bilo koji od podržanih medija pogodnih za izlaz podataka. Svaki podržani medij pogodan za izlaz podataka naziva se izlazni tok u GREIS-u.
Za svaki izlazni tok, prijemnik održava listu poruka koje su trenutno omogućene za izlaz u tok, nazvanu izlazna lista. Redoslijed kojim se poruke izlaze, odgovara redoslijedu poruka na listi izlaza. Osim toga, svaka poruka koja je prisutna na izlaznoj listi ima svoj vlastiti skup parametara planiranja povezanih s njom. Parametri planiranja priloženi poruci na izlaznoj listi definiraju raspored izlaza ove određene poruke u ovaj određeni izlazni tok. GREIS pruža tri kom-
www.javad.com
22
UVOD Periodični izlaz Period i faza
mands, em, out i dm, kako bi se omogućila efikasna manipulacija izlaznim listama i parametrima rasporeda.
Parametri planiranja poruka se sastoje od četiri polja: period, faza, brojanje i oznake, od kojih svako igra različitu ulogu u definiciji rasporeda izlaza. U nastavku ćemo opisati kako tačno njihove vrijednosti utiču na izlaz, ali u osnovi, period određuje interval između izlaza poruke; faza specificira vremenski pomak momenata izlaza u odnosu na vremenske momente kada je trenutno vrijeme višestruko od perioda; broj, kada je veći od nule, ograničava broj izlaza poruke; dok zastave filed omogućava fino podešavanje izlaznog procesa.
1.5.1 Izlazni period i faza
Napomena:
Polja perioda i faze parametara raspoređivanja poruka su vrijednosti s pomičnim zarezom u rasponu [0…86400) sekundi. Njihovo tačno značenje je opisano u nastavku.
Kada je bit F_CHANGE postavljen u polju zastavice parametara planiranja, fazno polje gubi svoju uobičajenu ulogu i umjesto toga postaje “prisilni izlazni period”. Pogledajte opis zastavice F_CHANGE ispod za detalje.
Prijemnik ima svoju internu vremensku mrežu koja je definirana satom prijemnika i vrijednošću parametra /par/raw/curmsint koji definira korak internih epoha prijemnika. Interne epohe prijemnika se javljaju kada je vrijeme prijemnika višestruko od koraka. Zauzvrat, vrijeme prijemnika je definirano kao vrijednost sata prijemnika po modulu jednog dana (86400 sekundi). Prijemnik skenira izlazne liste samo u internim epohama prijemnika, tako da se nijedan izlaz ne može generirati češće od toga.
Uzimajući u obzir internu vremensku mrežu, varijable perioda i faze definiraju vremenske momente izlaza poruke na sljedeći način: prijemnik će emitovati poruku samo u vremenima Tout primatelja, istovremeno zadovoljavajući sljedeće dvije jednačine:
Toutmod period = faza
(1)
Tout = N korak (2)
GREIS
gdje je N cijeli broj koji ima vrijednosti [0,1,2,…,(86400/korak)-1].
Prva jednačina definiše osnovno pravilo izlaza poruka, a druga nameće dodatna ograničenja vezana za epohe internog prijemnika. Imajte na umu da u najobičnijem slučaju, kada su i period i faza višekratnici koraka, druga jednačina je automatski zadovoljena kad god je zadovoljena prva jednačina. Također imajte na umu da ako
86400 (mod period) 0,
www.javad.com
23
UVOD Periodični izlaz
Output Count
Example:
Example: prample:
stvarni interval između posljednje poruke poslane prije prelaska na dan i prve poruke nakon prelaska na dan bit će drugačiji od vrijednosti perioda.
Uzmite u obzir nekoliko bivšihampslike koje ilustruju ovaj mehanizam:
Pretpostavimo da je period 10s, faza je 2.2s, a korak je 0.2s. Kako Tout, prema drugoj jednačini, može poprimiti samo vrijednosti koje su višestruke koraka, lijevi dio prve jednačine će poprimiti sljedeće vrijednosti: 0, 0.2, 0.4, …, 9.8, 0, …, od kojih samo vrijednost 2.2 utakmica faza. Ova podudaranja će se desiti i poruka će biti izlazna svaki put kada Tout uzme jednu od sljedećih vrijednosti: 2.2s, 12.2s, 22.2s, itd.
Pretpostavimo da je period 10s, faza je 2.2s, a korak je 0.5s. Prijemnik neće poslati poruku jer gornji par simultanih jednačina nikada nije zadovoljen.
Pretpostavimo da faza > period. Prijemnik uopće neće poslati poruku jer prva jednačina nikada neće biti zadovoljena.
1.5.2 Broj izlaza
Napomena:
Polje brojača parametara planiranja poruka je cjelobrojna vrijednost u rasponu [-256…32767) i služi u dvije različite svrhe:
1. Kada je broj 0, izlazi neograničen broj poruka. Kada je broj veći od 0, on definira koliko će puta poruka biti objavljena. U ovom slučaju brojač se smanjuje za 1 svaki put kada se poruka izlazi, a kada postane 0, bit F_DISABLED se postavlja u polje zastavice. Planer poruka ne emituje poruke sa postavljenim bitom F_DISABLED.
2. Kada je brojanje postavljeno na vrijednost u rasponu [-256…-1], izlaz poruke nije potisnut, a polje brojača ima potpuno drugu svrhu. Omogućava umotavanje poruke u posebnu [>>] poruku prije izlaza (pogledajte “[>>] omotač” na stranici 132). Vrijednost count se zatim koristi za postavljanje polja id u generiranoj [>>] poruci tako da je id numerički jednak (-1 – count).
Funkcija omota je korisna, nprample, za serversku aplikaciju koja prima poruke od primaoca i prosljeđuje ih više klijenata. Može zatražiti umotavanje proizvoljnih poruka u [>>] poruke sa različitim identifikatorima, razmotati primljene poruke i poslati podatke određenom klijentu(ima) na osnovu primljenog ID-a. Koristeći ovu funkciju, takva aplikacija ne mora biti svjesna bilo kojeg drugog formata podataka osim formata [>>] poruke, i može koristiti jedan kanal komunikacije sa primaocem za primanje i slanje poruka u različitim formatima.
GREIS
www.javad.com
24
1.5.3 Izlazne zastavice
UVOD Periodični izlaz
Izlazne zastavice
Polje zastavice parametara raspoređivanja poruka je 16-bitno široko bit-polje. Svaki bit ovog bitnog polja je zasebna zastavica i služi različitoj svrsi. Slijedi lista oznaka za planiranje poruka.
Tabela 1-1. Zastavice za planiranje poruka
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
Ime
F_OUT F_CHANGE F_OUT_ON_ADD F_NOTENA F_FIX_PERIOD F_FIX_PHASE F_FIX_COUNT F_FIX_FLAGS rezervirano rezervirano rezervirano F_DISABLED rezervirano
Napomena: Nazivi polja su ovdje navedeni samo u svrhu upućivanja na njih u ovom priručniku. Ne postoji način da ih koristite u GREIS komandama.
F_OUT Ako je ova zastavica postavljena, prve poruke nakon pozivanja odgovarajuće naredbe će biti izlazne u epohi internog prijemnika najbližoj vremenu izvršenja naredbe bez obzira na to što je specificirano parametrom planiranja perioda.
F_CHANGE Ako je ova zastavica postavljena, odgovarajuća poruka će biti ispisana samo ako su se podaci poruke promijenili od posljednjeg izlaza poruke na dati izlazni tok. Prijemnik provjerava da li su se podaci poruke promijenili samo u trenucima definisanim jednadžbama (1),(2) gdje je varijabla faze postavljena na nulu, a varijabla perioda na vrijednost polja perioda. Faza parametra raspoređivanja poruka, koja u ovom slučaju gubi svoju prvobitnu funkciju, sada igra ulogu prinudnog izlaznog perioda. “Prisilni izlaz” znači da će se ispisati odgovarajuća poruka da li će se njen sadržaj promijeniti ili ne u momentima definisanim jednadžbama (1), (2) gdje je varijabla perioda postavljena na vrijednost faznog polja, a faza varijabla je postavljena na nulu. Ako je faza polja nula, tada prijemnik ne vrši prisilni izlaz tako da će odgovarajuća poruka biti objavljena samo pod uslovom da su se njeni podaci promijenili.
GREIS
www.javad.com
25
UVOD Periodični izlaz
Izlazne zastavice
F_OUT_ON_ADD Ako je ova zastavica postavljena, tada će prva poruka biti objavljena odmah nakon izvršavanja odgovarajuće em ili out komande. Ova zastavica se zanemaruje za većinu poruka1.
F_NOTENA Ako je ova zastavica postavljena za poruku na izlaznoj listi, oznaka F_DISABLED za ovu poruku neće biti obrisana kada je poruka omogućena, pa će stoga njen izlaz ostati suspendovan. Za nprampda, ova zastavica se koristi da se ne bi izbacile neke od poruka iz podrazumevanog skupa poruka kada korisnik promeni period izlaza u hodu, bez prethodnog onemogućavanja izlaza.
F_FIX_PERIOD, F_FIX_PHASE, F_FIX_COUNT, F_FIX_PERIOD Ako je postavljeno na 1 u parametrima planiranja, spriječite promjene odgovarajućih polja(a) ovih parametara rasporeda putem em i out komandi.
F_DISABLED Korisnik nije eksplicitno programiran. Kada se omogući poruka sa pozitivnim brojanjem, onda, nakon što je ova poruka bila izlazna broj puta, planer poruka postavlja ovu zastavicu na 1. Ova zastavica se briše na 0 kada se poruka ponovo omogući, osim ako je zastavica F_NOTENA postavljena za ovu poruku.
1. Trenutno samo dvije GREIS poruke, [JP] i [MF], poštuju ovu zastavu.
GREIS
www.javad.com
26
Poglavlje 2
JEZIK ULAZA PRIJEMNIKA
Ovo poglavlje opisuje sintaksu i semantiku ulaznog jezika prijemnika. Počinjemo s nekim bivšimamples da daju čitaocu osećaj jezika, zatim se okrenemo detaljnoj definiciji sintakse, a zatim opišemo sve definisane komande zajedno sa njihovom semantikom.
2.1 Jezik Pramples
Evo nekoliko exampleve stvarnih izjava koje primalac razume zajedno sa odgovorima primaoca. Naći ćete više exampkorištenje određenih naredbi u odgovarajućim pododjeljcima. Ulaz u prijemnik je označen znakom , dok je izlaz prijemnika označen znakom :
Example: Zamolite primaoca da odštampa svoj elektronski ID. Primalac generiše prikazanu poruku odgovora:
Example:
print,/par/rcv/id RE00C QP01234TR45
Zamolite prijemnika da podesi brzinu prijenosa svog serijskog porta A na 9600. Prijemnik uspješno izvršava naredbu i ne generiše nikakav odgovor.
set,/par/dev/ser/a/rate,9600
Example: Koristite istu komandu kao u prethodnom example, ali prisiliti primaoca da generiše odgovor pomoću identifikatora iskaza.
Example:
%set_rate%set,/par/dev/ser/a/rate,9600 RE00A%set_rate%
Pokušajte postaviti previsoku brzinu prijenosa. Primalac odgovara porukom o grešci iako nismo koristili identifikator iskaza.
set,/par/dev/ser/a/rate,1000000 ER016{4, vrijednost izvan raspona}
Napomena:
Prijemnik uvijek stavlja svoje normalne odgovore i odgovore na grešku u dvije standardne poruke, [RE] i [ER], respektivno. Za više informacija o formatu GREIS poruka, pogledajte “Opći format poruka” na stranici 64. Same [RE] i [ER] poruke su opisane u “Interaktivne poruke” na stranici 129.
GREIS
www.javad.com
27
JEZIK ULAZA PRIJEMNIKA Sintaksa jezika
2.2 Sintaksa jezika
GREIS definira redove ASCII znakova proizvoljne dužine1, razgraničene bilo kojim povratnim slovom ( , ASCII decimalni kod 13) ili prijelaz na red ( , ASCII decimalni kod 10) znakova, da budu elementi sintakse najvišeg nivoa jezika. Prazne linije su dozvoljene i zanemarene u GREIS-u. Kao posljedica toga, linija može biti ograničena bilo kojom kombinacijom i/ili karaktera. Omogućava GREIS-u da besprijekorno podržava WindowsTM, MacTM i UNIXTM konvencije o završetku linija.
Jezik unosa prijemnika je osjetljiv na velika i mala slova. To znači da nprample, nizovi GREIS, greis i gReIs, budući da su različiti nizovi, primatelj zaista smatra takvima.
Znak broja (#, ASCII kod 35) je znak za uvod u komentar. Prijemnik ignorira sve počevši od ovog znaka do kraja reda.
Nakon što je komentar (ako ga ima) uklonjen iz reda, primatelj uklanja početne i zadnje razmake, a zatim razbija red u naredbe. Izjave su razdvojene tačkom i zarezom (;, ASCII kod 59) ili sa dva ampersands (&&, ASCII kodovi 38), ili sa dvije okomite crte (||, ASCII kodovi 124). Naredbe u redu se zatim izvršavaju redom, s lijeva na desno. Ako naredba koja završava na && delimiter proizvede grešku, ostali izrazi u redu se ne izvršavaju. If izjava koja završava na || graničnik se uspješno izvršava, ostali izrazi u redu se ne izvršavaju. Naredba koja se završava tačkom i zarezom nikada ne zaustavlja izvršavanje niza naredbi. Imajte na umu da je kraj reda sam po sebi terminator izraza, tako da ne morate stavljati jedan od eksplicitnih razgraničavača izraza na kraj reda.
Format izjave je sljedeći:
[%ID%][COMMAND][@CS] gdje uglaste zagrade označavaju opciona polja, a bilo koji broj razmaka je dozvoljen prije i poslije svakog polja. Takvi razmaci se zanemaruju, osim u svrhu izračunavanja kontrolne sume, vidi dolje. Polja su:
%ID% identifikator iskaza, gdje ID označava proizvoljan niz, eventualno prazan. Identifikator, ako je prisutan, primatelj kopira nepromijenjen u poruku odgovora za izjavu. Bilo koja izjava sa identifikatorom će uvek generisati odgovor od primaoca. Naredba koja sadrži samo identifikator je također dozvoljena; u takvom slučaju, primalac će samo generirati odgovornu poruku.
COMMAND (moguće prazna) lista u kojoj se prvi element zove ime komande. Označava radnju koju treba izvršiti. Ostali elementi (ako ih ima) su naredbe
GREIS
1. Trenutna implementacija GREIS-a u prijemnicima podržava linije dužine do 256 znakova.
www.javad.com
28
JEZIK ULAZA PRIJEMNIKA Sintaksa jezika
argumentima. Zagrade koje okružuju listu komandi mogu biti izostavljene. Pogledajte “Liste” na stranici 19 za sintaksu lista. @CS kontrolna suma, gdje je CS 8-bitna kontrolna suma formatirana kao 2-bajtni heksadecimalni broj. Prije izvršavanja naredbe sa kontrolnom sumom, primalac će uporediti ulaznu kontrolnu sumu CS sa onom koju je izračunao firmver i odbit će izvršiti naredbu ako se ovi kontrolni sumi ne podudaraju. Kontrolna suma se izračunava počevši od prvog znaka koji nije prazan, pa sve do znaka @ i uključujući. Pogledajte “Izračunavanje kontrolnih suma” na stranici 579 za detalje.
Identifikator izjave, %ID%, služi u sljedeće svrhe:
1. Forsira odgovor primaoca na naredbu. 2. Omogućava slanje više komandi sa različitim identifikatorima prijemniku
bez čekanja odgovora za svaku naredbu, zatim primite odgovore i recite koji odgovor odgovara kojoj komandi. 3. Pomaže da se uspostavi sinhronizacija sa prijemnikom dozvoljavajući da se proveri da li odgovor prijemnika odgovara određenoj komandi, a ne nekoj drugoj komandi izdatoj pre ili posle.
Lista koja se zove opcije može se dodati bilo kom elementu NAREDBE nakon dvotačke (:, ASCII kod 58). Ako lista opcija sadrži jedan element, okolne zagrade mogu biti izostavljene. Lista opcija dodana listi širi se na svaki element liste, iako opcije eksplicitno dodane elementu liste imaju prednost nad propagiranim opcijama. Za nprample,
{e1,{e2:{o1,,o3},e3}}:{o4,o5}
je ekvivalentno:
{e1:{o4,o5},{e2:{o1,o5,o3},e3:{o4,o5}}}
Obratite pažnju i na to kako propuštena opcija o2 omogućava opciji o5 da se proširi na listu opcija za e2 element.
Broj i značenje argumenata i opcija u naredbi ovisi o određenoj radnji naredbe i definirano je u opisu svake naredbe primatelja. Osim toga, ako opis naredbe specificira neke opcije, ali neke ili sve su propuštene u izrazu, zamjenjuju se zadane vrijednosti za propuštene opcije. Zadane vrijednosti za opcije su također definirane u opisu svake naredbe primatelja.
GREIS
www.javad.com
29
JEZIK ULAZA PRIJEMNIKA Sintaksa jezika
Za referencu, ispod je tabela koja sadrži sve nizove znakova koji imaju posebno značenje u jeziku unosa prijemnika:
Tabela 2-1. Posebni znakovi jezika unosa
Znakovi Decimalni ASCII kod
Značenje
10
separator linija
13
separator linija
#
35
;
59
početak komentara oznaka separator izjava
&&
38
||
124
%
37
naredbe i iskazi separatora ili identifikacijska oznaka iskaza separatora
@
64
{
123
}
125
,
44
:
58
kontrolna suma oznaka početak liste oznaka kraj liste oznaka elementi liste separator opcija oznaka
”
34
navodnik
92
pobjeći
GREIS
www.javad.com
30
JEZIK ULAZA PRIJEMNIKA Naredbe
2.3 komandi
U ovom dijelu opisujemo sve naredbe definirane u GREIS-u. Sintakse i semantičke specifikacije svake naredbe popraćene su objašnjenjem npramples. Za detaljan opis objekata koji se koriste kao argumenti u examples, pogledajte Poglavlje 4 na stranici 181.
GREIS
www.javad.com
31
2.3.1 set
JEZIK ULAZA PRIJEMNIKA Komande su postavljene
Ime
postaviti zadatu vrijednost objekta.
Sinopsis
Format: set,objekat,vrijednost Opcije: nema
Argumenti
objekt identifikator ciljnog objekta. Ako objekat ne počinje sa “/”, tada se prefiks “/par/” automatski umeće ispred objekta pre izvršenja naredbe.
vrijednost vrijednost koja će se dodijeliti ciljnom objektu. Opseg dozvoljenih vrijednosti kao i semantika dodjele ovisi o tipu objekta i naveden je kasnije u ovom priručniku za svaki podržani objekt.
Opcije
Nema.
Opis
Ova komanda dodjeljuje vrijednost objektu. Ne generira se nikakav odgovor osim ako ne postoji greška ili ako je odgovor prisiljen identifikatorom izraza.
Examples
Example: Postavite brzinu prijenosa serijskog porta C na 115200. Bilo koje od:
set,/par/dev/ser/c/rate,115200 set,dev/ser/c/rate,115200
Example: Postavite brzinu prijenosa serijskog porta A na 9600 i prisilite odgovor:
%%set,dev/ser/a/rate,9600 RE002%%
GREIS
www.javad.com
32
2.3.2 štampanje
JEZIK ULAZA PRIJEMNIKA Naredbe print
Ime
ispisati vrijednost za ispis objekta.
Sinopsis
Format: print,Opcije objekta: {name}
Argumenti
object identifikator objekta objekta koji treba biti izlaz. Ako objekat ne počinje sa “/”, tada se prefiks “/par/” automatski umeće ispred objekta pre izvršenja naredbe.
Opcije
Tabela 2-2. rezime opcija štampanja
Vrsta imena
Vrijednosti
imena boolean on,off
Default
off
imena ako je isključeno, izlaze samo vrijednosti objekta. Kada je uključeno, izlazna imena objekata pored vrijednosti objekata u formatu NAME=VRIJEDNOST.
Opis
Ova naredba ispisuje vrijednost objekta, opciono stavljajući prefiks vrijednosti s imenom odgovarajućeg objekta. Odgovor se uvijek generira i više od jedne [RE] poruke može biti generirano kao odgovor na jednu naredbu za ispis.
Vrijednost objekta tipa lista ispisuje se kao lista vrijednosti za svaki objekt na listi. Ovo se primenjuje rekurzivno sve dok se ne dosegnu lisni objekti, tako da štampanje objekta nelisnog tipa efektivno daje celo podstablo počevši od navedenog objekta. U slučaju štampanja lista, moglo bi se generisati više [RE] poruka. Međutim, do podjele izlaza može doći samo odmah nakon znakova za razdvajanje liste.
GREIS
www.javad.com
33
JEZIK ULAZA PRIJEMNIKA Naredbe print
Examples
Example: Ispis trenutnog perioda interne vremenske mreže prijemnika. bilo koje od:
print,/par/sirovo/curmsint RE004 100 print,sirovo/curmsint RE004 100
Example: Ispis trenutnog perioda interne vremenske mreže prijemnika zajedno sa imenom objekta. bilo koje od:
print,/par/raw/curmsint:on RE015/par/raw/curmsint=100 print,raw/curmsint:on RE015/par/raw/curmsint=100
Example: Ispis informacija o verziji prijemnika:
print, rcv/ver RE028{“2.5. septembar, 13,2006. str. 2″, 0,71, 5, MGGDT_00, nema, REXNUMXD {nema, nema}}
Example: Odštampajte informacije o verziji prijemnika zajedno sa odgovarajućim nazivima:
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: Ispišite sve poruke omogućene za izlaz na serijski port B zajedno sa njihovim parametrima planiranja:
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}, RE01A jps/rc={1.00,0.00,0,0×0}, RE01A jps/ET={1.00,0.00,0,0×0}, RE01D nmea/GGA={10.00,5.00,0,0×0}}
GREIS
www.javad.com
34
2.3.3 lista
JEZIK ULAZA PRIJEMNIKA Lista naredbi
Ime
lista sadržaja objekta.
Sinopsis
Format: lista[,objekat] Opcije: nema
Argumenti
object identifikator objekta objekta koji treba biti izlaz. Ako je objekt izostavljen, pretpostavlja se /log. Ako objekat ne počinje sa “/”, tada se prefiks “/log/” automatski umeće ispred objekta pre izvršenja naredbe.
Opcije
Nema.
Opis
Ova naredba ispisuje imena svakog člana objekta. Odgovor se uvijek generira i više od jedne [RE] poruke može biti generirano kao odgovor na jednu naredbu liste. Ako navedeni objekt nije lista tipova, generira se prazna [RE] poruka. Ako je navedeni objekt lista, ispisuje se lista imena svakog objekta na listi. Ovo se primjenjuje rekurzivno sve dok se ne dosegnu lisni objekti, tako da listanje objekta nelisnog tipa efektivno daje cijelo podstablo počevši od navedenog objekta. U slučaju štampanja lista, moglo bi se generisati više [RE] poruka. Međutim, do podjele izlaza može doći samo odmah nakon znakova za razdvajanje liste.
Examples
Example: Prazan odgovor za navođenje objekta koji nije na listi:
lista,/par/rcv/verzija/glavna RE000
Example: Odgovor na grešku za popis nepostojećeg objekta:
lista,/ne_postoji ER018{2,,pogrešan 1. parametar}
GREIS
www.javad.com
35
JEZIK ULAZA PRIJEMNIKA Lista naredbi
Example: Dobiti listu postojećih log-files. Bilo koji od
lista,/lista dnevnika
će proizvesti isti izlaz, npr.:
RE013{log1127a,log1127b}
Example: Navedite sve standardne GREIS poruke koje primatelj podržava:
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: Navedite sve poruke u zadanom skupu poruka:
lista,/poruka/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 & out
JEZIK ULAZA PRIJEMNIKA Naredbe em & out
Ime
em, out omogućava periodični izlaz poruka.
Sinopsis
Format: Format: Opcije:
em,[meta],poruke izlaze,[cilja],poruke {period, faza, brojanje, zastavice}
Argumenti
ciljati bilo koji izlazni tok ili skup poruka. Ako cilj nije specificiran, pretpostavlja se trenutni terminal, /cur/term.
šalje listu (sa ili bez okolnih zagrada) imena poruka i/ili imena skupova poruka koje treba omogućiti. Ako neka od navedenih imena ne počinju sa “/”, tada se prefiks “/msg/” automatski umeće ispred takvih imena prije izvršavanja naredbe.
Opcije
Tabela 2-3. em i out opcija sažetak
Vrsta imena
Vrijednosti
Default
float perioda [0…86400)
–
faza float [0…86400)
–
count integer [-256…32767] 0 za em 1 za out
zastavice cijeli broj [0…0xFFFF] –
period, faza, count, parametri raspoređivanja poruka zastavica.
Opis
Ove naredbe omogućavaju periodični izlaz specificiranih poruka u cilj, tjerajući da parametri planiranja poruka budu oni specificirani opcijama. Ne generira se nikakav odgovor osim ako ne postoji greška ili ako je odgovor prisiljen identifikatorom izraza.
Naredbe em i out su iste osim što je zadana vrijednost opcije count postavljena na 0 za em i 1 za out. Out komanda je samo pogodniji način za traženje
www.javad.com
37
JEZIK ULAZA PRIJEMNIKA Naredbe em & out
Napomena:
jednokratni izlaz poruke(a). U ovom opisu ćemo govoriti samo o njima, mada sve važi i za van.
Opis u nastavku očekuje da je čitalac upoznat sa materijalom u odjeljku “Periodični izlaz” na stranici 22.
Za svaki izlazni tok postoji odgovarajuća izlazna lista poruka1,2 za koje je trenutno omogućeno da se izlaze u dati tok. Kada se poruka proslijeđena kao argument komandi em trenutno ne nalazi na izlaznoj listi, naredba em dodaje navedenu poruku na kraj liste. Kada je poruka proslijeđena komandi em već na izlaznoj listi, naredba em samo mijenja parametre planiranja ove poruke i ne mijenja poziciju poruke unutar liste.
Kako naredba em spaja navedene poruke u izlaznu listu, često je dobra ideja koristiti naredbu dm za brisanje izlazne liste za dati tok prije izdavanja em naredbi.
Komanda em obrađuje listu poruka jednu po jednu poruku, s lijeva na desno, i od prve poruke postavljene poruke do posljednje poruke u skupu poruka. Ako naiđe na ime koje ne odgovara nijednoj podržanoj poruci primaoca ili skupu poruka, pamti da je došlo do greške tokom izvršavanja, ali ne zaustavlja obradu liste poruka. Na ovaj način će sve poruke sa liste poruka koje bi mogle biti omogućene biti omogućene, a samo jedna greška će biti prijavljena kada se jedna ili više navedenih poruka ne može omogućiti.
Kada naredba em obradi poruku koja je pri ruci, konačni parametri planiranja operativnih poruka u odgovarajućoj izlaznoj listi poruka se izračunavaju uzimajući u obzir više izvora informacija o parametrima planiranja, konkretno:
1. Vrijednosti eksplicitno specificirane u opcijama naredbe em.
2. Zadane vrijednosti opcija naredbe em.
3. Parametri planiranja specificirani za datu poruku kao dio odgovarajućeg skupa poruka. Oni se uzimaju u obzir samo kada se poruka omogućava navođenjem skupa poruka, a ne pojedinačne poruke.
4. Trenutni parametri planiranja poruke u odgovarajućoj listi izlaza (ako ih ima).
5. Zadani parametri planiranja specificirani za datu poruku kao dio odgovarajuće grupe poruka.
Gore navedeni izvori parametara su navedeni po redoslijedu njihovog prioriteta, pri čemu prvi ima najveći prioritet i primjenjuju se pojedinačno na svaki od četiri parametra raspoređivanja. Stoga vrijednosti iz (1) nadjačavaju vrijednosti iz (2), rezultirajuću vrijednost
GREIS
1. Za stream NAME, odgovarajuća izlazna lista se zove /par/out/NAME 2. Trenutni firmver ima proizvoljno ograničenje za maksimalan broj poruka u izlaznoj listi postavljeno na 49.
www.javad.com
38
JEZIK ULAZA PRIJEMNIKA Naredbe em & out
poništava vrijednost iz (3), itd. Međutim, ako su neki od bitova F_FIX_PERIOD, F_FIX_PHASE, F_FIX_COUNT ili F_FIX_FLAGS postavljeni u polje zastavica sljedećeg izvora, odgovarajuća polja ovog sljedećeg izvora neće biti zamijenjena.
Examples
Example: Omogući jednokratni izlaz NMEA GGA poruke na trenutni terminal:
em,,nmea/GGA:{,,1}
Isto kao gore, ali koristeći out umjesto em:
out,,nmea/GGA
Example: Omogući izlaz zadanog skupa poruka u trenutni dnevnik-file A koristeći zadane izlazne parametre. bilo koje od:
Example:
em,/cur/file/a,/poruka/def em,/trenutno/file/a,def
Omogući izlaz zadanog skupa poruka u trenutni dnevnik-file A svakih 10 sekundi Za ostale izlazne parametre koristit će se njihove zadane vrijednosti:
em,/cur/file/a,def:10
Example: Omogući izlaz zadanog skupa poruka na trenutni terminal koristeći zadane izlazne parametre. bilo koje od:
Example:
em,/cur/term,/msg/def em,,/msg/def em,,def
Omogućite izlaz GREIS poruka [~~](RT) i [RD] na trenutni terminal. bilo koje od:
Example:
em,,/poruka/jps/RT,/poruka/jps/RD em,,jps/{RT,RD}
Omogućite izlaz NMEA poruka GGA i ZDA na trenutni terminal svakih 20 sekundi:
Example:
em,,nmea/{GGA,ZDA}:20
Omogućite izlaz poruka [SI], [EL] i [AZ] na serijski port A. Postavite parametre planiranja za [SI] tako da interval između bilo koje dvije naredne [SI] poruke bude jednak 10 sekundi, ako se poklapaju, i 1 sekunda u suprotnom; emitovati samo prvih pedeset [SI] poruka. Osim toga, prijemnik je postavio izlazni interval na 2 sekunde za [EL] i [AZ] poruke:
em,/dev/ser/a,jps/{SI:{1,10,50,0×2},EL,AZ}:2
GREIS
www.javad.com
39
JEZIK ULAZA PRIJEMNIKA Naredbe em & out
Example: Omogućite izlaz RTCM 2.x tipova poruka 1 i 31 na serijski port B sa izlaznim intervalom od 3 sekunde i RTCM 2.x tipove poruka 18, 19, 3, 22 na port C sa izlaznim intervalom od 1 sekunde za tipove 18 i 19; i 10 sekundi za tipove 3 i 22:
em,/dev/ser/b,rtcm/{1,31}:3; em,/dev/ser/c,rtcm/{18:1,19:1,22,3}:10
Example: Prilagodite zadani skup poruka da sadrže samo NMEA ZDA i GGA:
dm,/msg/def em,/msg/def,/msg/nmea/{ZDA,GGA}
GREIS
www.javad.com
40
2.3.5 dm
JEZIK ULAZA PRIJEMNIKA Naredbe dm
Ime
dm onemogući periodični izlaz poruka.
Sinopsis
Format: dm[,[cilj][,poruke]] Opcije: nema
Argumenti
ciljati bilo koji izlazni tok ili skup poruka. Ako cilj nije specificiran, pretpostavlja se trenutni terminal, /cur/term. Ako neka od navedenih imena ne počinju sa “/”, tada se prefiks “/msg/” automatski umeće ispred takvih imena prije izvršavanja naredbe.
šalje listu poruka koje treba onemogućiti, sa ili bez okolnih zagrada, ili bilo koju grupu poruka ili skup poruka. Ako nije navedena nijedna poruka, sav periodični izlaz na cilj je onemogućen.
Opcije
Nema.
Opis
Ova naredba onemogućuje periodični izlaz specificiranih poruka u cilj objekta. Ne generira se nikakav odgovor osim ako ne postoji greška ili ako je odgovor prisiljen identifikatorom izraza.
Ako nije navedena nijedna poruka, sav periodični izlaz na cilj je onemogućen. Ako je cilj trenutni dnevnik-file i nije navedena nijedna poruka, sav izlaz na file je onemogućen, file je zatvoren, a odgovarajuća trenutna log-file je postavljeno na ništa.
Ako je na listi poruka specificirana poruka za koju trenutno nije omogućen izlaz na dati cilj, dm naredba ne generiše odgovarajuću grešku. Iako ovo stanje ne onemogućava prijavljivanje drugih mogućih grešaka.
Examples
Example: Onemogući sve poruke koje se izlaze u trenutni dnevnik-file A i zatvorite file:
dm,/cur/file/a
GREIS
www.javad.com
41
JEZIK ULAZA PRIJEMNIKA Naredbe dm
Example: Onemogućite sav periodični izlaz na trenutnom terminalu. bilo koje od:
dm,/trenutno/termin dm
Example: Onemogući izlaz GREIS poruke [~~](RT) u serijski port B:
dm,/dev/ser/b,/msg/jps/RT
Example: Onemogući izlaz GREIS poruke [DO] u trenutni log-file B:
dm,/cur/file/b,/msg/jps/DO
Example: Ukloni GREIS poruku [PM] iz zadanog skupa poruka:
dm,/msg/def,/msg/jps/PM
Example: Onemogući izlaz svih NMEA poruka na trenutni terminal:
dm,/cur/term,/msg/nmea
Example: Onemogućite izlaz NMEA poruka GGA i ZDA u trenutni terminal. bilo koje od:
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
JEZIK ULAZA PRIJEMNIKA Naredbe init
Ime
init inicijaliziraju objekte.
Sinopsis
Format: init,object[/] Opcije: nema
Argumenti
objekt objekt koji se inicijalizira. / ako postoji i objekt je tipa lista, umjesto toga inicijalizirajte sve sadržane objekte
samog objekta.
Opcije
Nema.
Napomena: Napomena:
Opis
Ova naredba inicijalizira određene objekte. Ne generira se nikakav odgovor osim ako ne postoji greška ili ako je odgovor prisiljen identifikatorom izraza.
Tačna semantika inicijalizacije ovisi o objektu koji se inicijalizira, ali općenito se može smatrati pretvaranjem objekta u njegovo "podrazumevano" ili "čisto" stanje. Za nprample, za parametre to znači postavljanje njihovih vrijednosti na odgovarajuće zadane vrijednosti, za fileuređaj za pohranu to znači ponovno formatiranje osnovnog medija, itd.
Inicijalizacija nekih objekata će rezultirati ponovnim pokretanjem prijemnika. Ovo je trenutno slučaj za inicijalizaciju nepromjenjive memorije prijemnika (/dev/nvm/a).
Iako se to može promijeniti u budućnosti, trenutna implementacija ove generičke naredbe u prijemnicima je prilično ograničena. Zapravo samo inicijalizacija objekata koji se nalaze u examples ispod je trenutno podržan.
Examples
Example: Obrišite NVRAM i ponovo pokrenite prijemnik. Svi podaci pohranjeni u NVRAM-u (almanasi, efemeride, itd.) će biti izgubljeni, svi parametri će biti postavljeni na svoje zadane vrijednosti nakon ponovnog pokretanja:
init,/dev/nvm/a
Example: jasne efemeride:
init,/eph/
GREIS
www.javad.com
43
JEZIK ULAZA PRIJEMNIKA Naredbe init
Example: Postavite sve parametre prijemnika na njihove zadane vrijednosti:
init,/par/
Example: Postavite sve WLAN parametre na njihove zadane vrijednosti. Potrebno je ponovno pokretanje jedinice da bi promjene stupile na snagu:
init,/par/net/wlan/
Example: Inicijaliziraj file sistem (tj. preformatirati osnovni medij). Sve files pohranjeni u prijemniku će biti izgubljeni:
init,/dev/blk/a
Example: Inicijalizirajte sve skupove poruka na njihove zadane vrijednosti:
init,/msg/
GREIS
www.javad.com
44
2.3.7 kreirati
JEZIK ULAZA PRIJEMNIKA Naredbe kreiraju
Ime
kreirati kreirati novi objekat.
Sinopsis
Format: kreiraj[,objekt] Opcije: {log}
Argumenti
identifikator objekta objekta objekta koji se kreira. Ako objekat ne počinje sa “/”, tada se prefiks “/log/” automatski umeće ispred objekta pre izvršenja naredbe. Ako se izostavi, onda stvaranje a file je pretpostavljena i jedinstvena file ime se automatski generiše.
Opcije
Tabela 2-4. kreirajte sažetak opcija
Ime Tip Vrijednosti
log string a,b,…
Default
a
prijavite dnevnik-file stvorenog file treba dodijeliti. dnevnik-file odabran je /cur/log/X, gdje je X vrijednost opcije1.
Opis
Ova komanda kreira novi objekat. Ne generira se nikakav odgovor osim ako ne postoji greška ili ako je odgovor prisiljen identifikatorom izraza.
I lokacija u stablu i tip kreiranog objekta definirani su argumentom objekta.
Mogu se kreirati dvije vrste objekata:
1. Files. Novi file se kreira kad god identifikator objekta specificira objekt u /log podstablu ili kada je argument objekta izostavljen.
2. Specifikatori poruke. Novi specificer poruke se kreira kad god identifikator objekta specificira objekt u skupu poruka (npr. /msg/def).
GREIS
1. Trenutni firmver podržava jedno ili dva istovremena log-files u zavisnosti od određenog prijemnika.
www.javad.com
45
JEZIK ULAZA PRIJEMNIKA Naredbe kreiraju
Kreiranje Files
Prilikom kreiranja files, argument objekta je ili izostavljen ili ima format /log/NAME, gdje je NAME ime file biti kreiran, a /log/ je opciono. U prvom slučaju prijemnik će automatski odabrati jedinstveno ime za file. U potonjem slučaju specificirano NAME treba biti niz do 31 znaka i ne smije sadržavati ni razmake ni sljedeće znakove: “,{}()@&”/”.
Ako je file /log/NAME već postoji, naredba kreiranja neće uspjeti i proizvesti poruku o grešci. Kao posljedica toga, ne postoji način da se pokvare neki od postojećih files naredbom za kreiranje.
Nakon novog file je uspješno kreiran, dodijeljen je jednom od trenutnih log-files ovisno o vrijednosti log_file opcija. Ako odgovarajući log-file već ukazuje na drugu file kada se kreiranje izvrši, stari dnevnik-file će biti zatvoren i izlaz će se nastaviti u novi file bez ikakvog prekida.
Kreiranje specifikacija poruka
Prilikom dodavanja poruka skupu poruka, argument objekta ima format /msg/SET/GROUP/MSG, gdje je SET ime skupa poruka u kojem treba kreirati novu poruku, GROUP je ime grupe kojoj poruka pripada , a MSG je ime same poruke (npr. /msg/def/nmea/GGA ili /msg/jps/rtk/min/jps/ET).
Parametri planiranja poruka će se kopirati iz onih definiranih za datu poruku u grupi poruka. Koristite naredbu set za prilagođavanje parametara rasporeda ako je potrebno.
Examples
Kreiranje Files
Example: Kreiraj novu file sa automatski generiranim imenom i dodijelite ga trenutnom dnevnikufile A (/cur/file/a). bilo koje od:
kreiraj kreiraj,:a
Example: Kreirajte novi dnevnik-file sa imenom “moj_file”. bilo koje od:
kreiraj,/log/my_file:a kreiraj,moj_file
Example: Kreiraj files “file1” i “file2”, i dodijelite ih /cur/file/a i /cur/file/b:
stvoriti,file1:a; stvoriti,file2:b
GREIS
www.javad.com
46
JEZIK ULAZA PRIJEMNIKA Naredbe kreiraju
Kreiranje specifikacija poruka
Example: Dodajte /msg/jps/ET poruke u podrazumevani skup poruka:
kreiraj,/msg/def/jps/ET
Example: Dodajte NMEA GGA poruku u zadani skup poruka i prisilite da njen period i faza budu uvijek 10 i 5, respektivno, bez obzira koje će vrijednosti za njih biti specificirane u komandi em ili out:
kreiraj,/poruka/def/nmea/GGA postavi,/poruka/def/nmea/GGA,{10,5,,0×30}
GREIS
www.javad.com
47
2.3.8 ukloniti
JEZIK ULAZA PRIJEMNIKA Naredbe se uklanjaju
Ime
ukloniti ukloniti objekt.
Sinopsis
Format: ukloni,objekt[/] Opcije: nema
Argumenti
identifikator objekta objekta objekta koji treba ukloniti. Ako objekat ne počinje sa “/”, tada se prefiks “/log/” automatski umeće ispred objekta pre izvršenja naredbe.
/ ako postoji i objekat je tipa lista, uklonite sav sadržaj objekta umjesto samog objekta.
Opcije
Nema.
Opis
Ova komanda uklanja (briše) postojeći objekat. Ne generira se nikakav odgovor osim ako ne postoji greška ili ako je odgovor prisiljen identifikatorom izraza. Ako objekt nije naveden u objektu ili ako se objekt ne može ukloniti, generira se greška. Dvije vrste objekata se mogu ukloniti:
1. Files. Ako je file je jedan od trenutnih log-files, naredba neće uspjeti i poruka o grešci će biti generirana.
2. Specifikatori poruka iz skupova poruka.
Examples
Example: Uklonite dnevnik-file sa imenom “NAME”. bilo koje od:
ukloni,/zapisnik/NAME ukloni,NAME
Example: Ukloni sve log-files:
ukloniti,/log/
GREIS
www.javad.com
48
JEZIK ULAZA PRIJEMNIKA Naredbe se uklanjaju
Example: Uklonite GREIS standardnu [GA] poruku iz zadanog skupa poruka:
ukloniti,/msg/def/jps/GA
Example: Ukloni sve poruke iz zadanog skupa poruka:
ukloni,/msg/def/
Example: Uklonite sve poruke iz minimalnog skupa standardnih GREIS poruka pogodnih za RTK:
ukloni,/msg/rtk/jps/min/
GREIS
www.javad.com
49
2.3.9 događaj
RECEIVER INPUT LANGUAGE Događaj komandi
Ime
događaj generiše događaj u slobodnoj formi.
Sinopsis
Format: događaj, string Opcije: nema
Argumenti
string proizvoljan1 niz koji se sastoji od do 63 znaka.
Opcije
Nema.
Napomena: nprample:
Opis
Ova komanda generiše događaj slobodnog oblika. Ne generira se nikakav odgovor osim ako ne postoji greška ili ako je odgovor prisiljen identifikatorom izraza.
Zadati niz zajedno sa vremenom prijema naredbe događaja pohranjuje se u prijemnik u posebnom baferu događaja2. Sadržaj ovog bafera izlazi na sve izlazne tokove gdje je omogućena standardna GREIS poruka [==](EV) (opisana na stranici 131).
Mehanizam događaja slobodne forme namijenjen je kontrolnim programima da prosljeđuju proizvoljne tekstualne informacije aplikacijama za naknadnu obradu bez interpretacije ovih informacija u prijemniku. Jezgro firmvera prijemnika nikada ne generiše samostalne događaje, niti na neki način interpretira informacije koje se šalju putem komandi događaja.
Svi nizovi koji počinju sa donjom crtom (ASCII 0x5F) su rezervisani za JAVAD GNSS aplikacije. Treba paziti da se takvi nizovi ne koriste sa komandama događaja osim ako ne možete na drugi način izvršiti svoj zadatak ili namjeravate sarađivati sa nekim JAVAD GNSS softverom. U potonjem slučaju pogledajte detaljan opis događaja slobodnog oblika rezervisanih za JAVAD GNSS aplikacije u vodiču „Format okvira za događaje slobodnog oblika“, koji je dostupan na http://www.javad.com.
Generirajte događaj slobodnog oblika koji sadrži niz „Info1″:
događaj, Info1
GREIS
1. Podsjetite da ako string sadrži bilo koji od znakova rezerviranih za jezik unosa prijemnika, trebali biste ovaj niz staviti u dvostruke navodnike.
2. Trenutni firmver pruža bafer dovoljno velik da pohrani do šesnaest 64-bajtnih događaja slobodnog oblika.
www.javad.com
50
RECEIVER INPUT LANGUAGE Događaj komandi
Example: Generirajte događaj slobodnog oblika koji sadrži rezervirane znakove:
događaj,”EVENT{DATA,SENT}”
Example: Generiraj događaj slobodnog oblika rezerviran za JAVAD GNSS aplikacijski softver (ovaj događaj obavještava aplikaciju za naknadnu obradu o promjeni dinamike):
događaj,”_DYN=STATIC”
Example: Generirajte slobodnu formu sa praznim nizom:
događaj,””
Example: Generirajte nekoliko događaja slobodnog oblika i vratite [==](EV) poruke (u sadržaju [==] poruka bajtovi koji se ne mogu ispisati su zamijenjeni tačkama u example):
em,,jps/EV %prihvaćen% događaj,”neki niz” RE00A%prihvaćen% ==011…..neki_niz. %1% događaj,1; %2% događaj,2 RE003%1% RE003%2% ==007…..1. ==007…..2. dm,,jps/EV
GREIS
www.javad.com
51
2.3.10 get
JEZIK ULAZA PRIJEMNIKA Naredbe get
Ime
započnite preuzimanje file sadržaja koristeći DTP1.
Sinopsis
Format: get,object[,offset] Opcije: {timeout,block_size,period,phase,attempts}
Argumenti
identifikator objekta objekta file da se preuzme. Ako objekat ne počinje sa “/”, tada se prefiks “/log/” automatski umeće ispred objekta pre izvršenja naredbe. Ako objekt ne postoji ili se ne može dohvatiti, generira se poruka o grešci.
pomak pomaka u bajtovima od početka file na kojoj treba započeti preuzimanje. Ako se izostavi, pretpostavlja se 0.
Opcije
Tabela 2-5. dobiti sažetak opcija
Ime
Tip
Vrijednosti
timeout
cijeli broj [0…86400], sekunde
block_size cijeli broj [1…163841]
period
float [0…86400), sekunde
faza
float [0…86400), sekunde
pokušaji cijeli broj [-257…100] 1. 2048 za prijemnike koji ne podržavaju TCP ili USB.
Default
10 512 0 0 10
timeout vremensko ograničenje za DTP. block_size veličina DTP bloka podataka. period izlazni period za filtriranje (pogledajte ispod). faza izlazne faze za filtriranje (vidi dolje). pokušava različito značenje ovisno o rasponu, kako slijedi:
1. Pogledajte “Protokol za prijenos podataka” na stranici 580.
GREIS
www.javad.com
52
JEZIK ULAZA PRIJEMNIKA Naredbe get
[1…100] maksimalan broj pokušaja DTP predajnika da pošalje jedan blok. Kada je postavljeno na 1, aktivira se poseban režim strimovanja (pogledajte ispod).
0 umjesto pokretanja DTP-a, ispišite sirovi sadržaj objekta. [-256…-1] umjesto pokretanja DTP-a, ispišite sadržaj objekta umotanog u njega
[>>] poruke.
-257 umjesto pokretanja DTP-a, izbaci sadržaj objekta umotanog u [RE] poruke.
Opis
Ova komanda počinje s dohvaćanjem a file u glavno računalo koristeći protokol za prijenos podataka (DTP) ili sirovi izlazni format. Ne generira se nikakav odgovor osim ako ne postoji greška ili ako je odgovor prisiljen identifikatorom izraza.
Kada je u DTP modu, nakon što komanda get uspije, DTP predajnik se pokreće na prijemniku i čeka da se DTP prijemnik pokrene na hostu. Stoga, da bi se stvarno dohvatili podaci, potrebna je implementacija DTP prijemnika na hostu.
Opcijski argument offset omogućava hostu da implementira podršku za nastavak prekinutog prijenosa podataka. Imajte na umu da traženje velikog ofseta može zahtijevati dosta vremena da se izvrši u prijemniku. Da biste ispravno implementirali nastavak u softveru hosta, prisilite prijemnik da odgovori na naredbu get koristeći identifikator iskaza i pričekajte odgovor od primatelja prije pokretanja DTP-a na hostu. Ova metoda uzima prednosttage činjenice da primatelj odgovara na naredbu get nakon što je traženje izvršeno.
Kada je opcija pokušaja postavljena na 1, DTP odašiljač će biti stavljen u takozvani streaming mod. U ovom režimu, nakon što primi prvi NACK od DTP prijemnika, DTP predajnik će strimovati blokove podataka bez čekanja na ACK-ove od DTP prijemnika, a odašiljač će odmah prekinuti prenos podataka ako se primi NACK. Ovaj pristup omogućava znatno brži prijenos podataka preko pouzdanih veza s velikim kašnjenjem (kao što je TCP) ili relativno visokim opterećenjem prebacivanja smjera (kao što je USB). Ispravno implementiran prijemni dio protokola ne zahtijeva nikakvu posebnu pažnju za podršku ove metode.
Kada je opcija perioda različita od nule, aktivira se poseban način filtriranja. Za nprample, omogućava preuzimanje 1Hz podataka sa a file koji je napisan korištenjem brzine ažuriranja od 10 Hz. Konkretno, prijemnik će slati podatke samo za epohe u kojima vrijeme primatelja po modulu jedan dan (Tr) zadovoljava sljedeću jednačinu:
Tr {mod period} = faza
Da bi to postigao, prijemnik analizira sadržaj file i filtrira neke od poruka. Imajte na umu da je implementacija nastavka prekinutog preuzimanja vrlo teška ako
GREIS
www.javad.com
53
JEZIK ULAZA PRIJEMNIKA Naredbe get
nije nemoguće u ovom slučaju zbog činjenice da domaćin nema pojma na kojem ofsetu je prijemnik file preuzimanje je prekinuto.
Bilo koji od tipova prijenosa može biti prekinut od strane primaoca podataka slanjem bilo kojeg DTP simbola greške (npr. ASCII '#').
Prilikom prijenosa podataka u [RE] porukama, vrijednost block_size će odrediti maksimalnu veličinu korisnog opterećenja podataka za svaku [RE] poruku (ograničeno i veličinom internog bafera firmvera). Kao i obično, svaka [RE] poruka će biti pokrenuta sa ID-om komande (ako postoji).
Prilikom prijenosa podataka u [>>] porukama, vrijednost opcije pokušaja će odrediti id polje [>>] poruka na sljedeći način:
id = -1 – pokušaji
a vrijednost “block_size” će odrediti maksimalnu veličinu korisnog opterećenja podataka za svaku [>>] poruku (ograničeno također veličinom internog bafera firmvera).
Sljedeći bajt nakon id-a (prvi bajt polja podataka) u [>>] poruci će tada biti niz znakova koji počinje sa ASCII simbolom 0 i povećava se modulom 64 za svaku poruku, što rezultira nizom ASCII simbola od 0 do o, uključujući:
seq = 0 petlja { seq_char = '0' + (seq++ % 64) }
Znak sekvence omogućava primaocu da otkrije gubitak [>>] poruke(a) u nizu.
Zatim će uslijediti korisni podaci o objektu do block_size bajtova, a zatim kontrolni zbroj, prema formatu [>>] poruke.
Uspješan izlaz u omotanom modu uvijek će biti finaliziran porukom [>>] bez opterećenja podataka, kako bi se omogućilo primaocu da pouzdano odredi kraj prijenosa.
Examples
Example: Počnite preuzimati sadržaj file NAME koristeći DTP. bilo koje od:
Example:
get,/log/NAME get,NAME
Počnite preuzimati sadržaj file NAME počinje od bajta broj 3870034 (broj bajtova od nule). Očekujte dosta vremena da prođe između komande i odgovora:
%%get,NAME,3870034 RE002%%
GREIS
www.javad.com
54
JEZIK ULAZA PRIJEMNIKA Naredbe get
Example: Počnite preuzimati sadržaj file my_logfile počevši od bajta 3000 koristeći vremensko ograničenje od 50 sekundi i veličinu bloka od 8192 bajta:
get,my_logfile:{50,8192},3000
Example: Počnite preuzimati sadržaj file NAME filtrira epohe tako da se dobije rezultat file bi bili podaci od 0.1Hz:
nabavi,NAME:{,,10}
Example: Počnite preuzimati sadržaj file NAME koristeći način prijenosa (opcija pokušaja postavljena na 1):
nabavi,NAME:{,,,,1}
Example: Pošaljite sadržaj file NAME umotano u [>>] poruke sa ID-om 61 (koji je ASCII simbol '='), koristeći do 128 bajtova podataka po poruci:
nabavi,NAME:{,128,,,-62}
Example: Pošaljite sadržaj file NAME je umotano u [RE] poruke koristeći do 190 bajtova podataka po poruci, na čelu sa %MY_ID%:
%MY_ID%get,NAME:{,190,,,-257}
GREIS
www.javad.com
55
2.3.11 staviti
JEZIK ULAZA PRIJEMNIKA Naredbe put
Ime
stavite start file učitavanje pomoću DTP1.
Sinopsis
Format: staviti,objekat[,offset] Opcije: {timeout, block_size}
Argumenti
identifikator objekta objekta file za pisanje podataka. Ako objekat ne počinje sa “/”, tada se prefiks “/log/” automatski umeće ispred objekta pre izvršenja naredbe.
pomak pomaka u bajtovima od početka file na kojoj treba početi pisati. Ako se izostavi, pretpostavlja se 0.
Opcije
Tabela 2-6. stavite sažetak opcija
Ime
Tip
Vrijednosti
Default
timeout
cijeli broj [0…86400], sekundi 10
block_size cijeli broj [1…163841]
512
1. 2048 za prijemnike koji ne podržavaju TCP ili USB.
timeout vremensko ograničenje za DTP. block_size veličina DTP bloka podataka.
Opis
Ova komanda pokreće učitavanje podataka sa glavnog računara u a file u prijemniku koristeći protokol za prijenos podataka (DTP). Ne generira se nikakav odgovor osim ako ne postoji greška ili ako je odgovor prisiljen identifikatorom izraza.
Nakon što naredba put uspije, DTP prijemnik se pokreće na prijemniku i čeka da se DTP odašiljač pokrene na hostu. Stoga, da bi se stvarno učitali podaci, potrebna je implementacija DTP odašiljača na hostu.
1. Pogledajte “Protokol za prijenos podataka” na stranici 580.
GREIS
www.javad.com
56
JEZIK ULAZA PRIJEMNIKA Naredbe put
Opcijski argument offset omogućava hostu da implementira podršku za nastavak prekinutog prijenosa podataka. Vrijednost pomaka koja nije nula omogućava hostu da zatraži dodavanje podataka na kraj postojećeg file odgovarajuće veličine.
Ako je pomak 0 i file objekat ne postoji, primalac će pokušati da kreira i otvori za pisanje novog file sa imenom definisanim objektom. U ovom slučaju naredba neće uspjeti ako već postoji a file sa datim imenom.
Ako je pomak veći od 0, a postoji a file objekat i file size je jednaka vrijednosti ofseta, tada će naredba put otvoriti file objekat za dodavanje. U ovom slučaju naredba neće uspjeti ako ne postoji file sa datim imenom ili ako je veličina postojećeg file ne odgovara onima specificiranim pomakom.
Examples
Example: Započnite učitavanje podataka na novu file “NAME” koristeći DTP. bilo koje od:
Example:
stavi,/zapisnik/IME stavi,IME
Započnite učitavanje podataka i dodajte ih postojećim file “NAME”. Koristite podrazumevano DTP vremensko ograničenje i DTP blok veličine 4096 bajtova. Dobijte veličinu file prije pokretanja otpremanja (imajte na umu da file veličina je ionako potrebna na hostu tako da može preskočiti ovaj broj bajtova iz svojih izvornih podataka file):
Example:
print,/log/NAME&size RE008 3870034 put,/log/NAME:{,4096},3870034
Započnite učitavanje podataka na novu file “my_logfile” koristeći vremensko ograničenje od 50 sekundi i veličinu bloka od 8192 bajta:
stavi,moj_logfile:{50,8192}
GREIS
www.javad.com
57
2.3.12 fld
JEZIK ULAZA PRIJEMNIKA Naredbe fld
Ime
fld učitavanje firmvera.
Sinopsis
Format: fld,id,object Opcije: {timeout, block_size}
Argumenti
id niz koji sadrži elektronski ID1 primaoca. Ako navedeni ID ne odgovara stvarnom elektronskom ID-u prijemnika, komanda neće uspjeti i proizvesti poruku o grešci.
identifikator objekta objekta izvora firmvera koji će se učitati. Ili ime primaoca file, ili naziv ulaznog porta. Kada se radi o nazivu ulaznog porta, treba dati ili /cur/term ili stvarno ime trenutnog porta, inače će biti prijavljena greška.
Opcije
Tabela 2-7. fld sažetak opcija
Ime
Tip
Vrijednosti
timeout
cijeli broj [0…86400], sekunde
block_size cijeli broj [1…163841] 1. 2048 za prijemnike koji ne podržavaju TCP ili USB.
Default
10 512
timeout vremensko ograničenje za DTP. block_size veličina DTP bloka podataka.
Opis
Ova komanda učitava firmver sa određenog objekta u prijemnik i zatim resetuje prijemnik. Ne generira se nikakav odgovor osim ako ne postoji greška ili ako je odgovor prisiljen identifikatorom izraza.
1. ID se može dobiti korištenjem print,/par/rcv/id komande.
GREIS
www.javad.com
58
JEZIK ULAZA PRIJEMNIKA Naredbe fld
Upozorenje:
Ukoliko dođe do nestanka struje ili fatalnog prekida prijenosa firmvera kroz port tokom učitavanja, prijemnik može preći u poluradno stanje u kojem je moguće samo učitavanje firmvera preko RS-232 portova metodom “power-on capture”.
Ako objekt označava postojeće file1, prijemnik će prvo provjeriti da li je file sadrži važeći firmver za prijemnik (potrebno je nekoliko sekundi da se završi). Ako provjera uspije, prijemnik će učitati firmver i zatim izvršiti samoresetovanje. Imajte na umu da će odgovor na naredbu (ako postoji) biti poslan nakon što se provjera izvrši, ali prije nego što počne učitavanje firmvera. Opcije timeout i block_size se zanemaruju u ovom slučaju.
Ako objekat odredi ulazni tok, komanda će poslati odgovor (ako postoji) i zatim pokrenuti DTP prijemnik koji će čekati da se DTP odašiljač pokrene na hostu. Stoga, da bi se stvarno uploadovao firmver, potrebna je implementacija DTP transmitera na hostu. Prijemnik će izvršiti samoresetovanje (ponovno pokretanje) nakon što se učitavanje uspješno završi ili prekine.
Examples
Example: Učitajte firmver sa file “firmware.ldp” u prijemnik sa elektronskim ID-om 123456789AB. Očekujte da prođe nekoliko sekundi između slanja komande i primanja odgovora, dok primalac provjerava file za validnost firmvera:
%%fld,123456789AB,/log/firmware.ldp RE002%%
Example: Započnite otpremanje firmvera sa USB porta koristeći veličinu bloka 16384 bajta i vremensko ograničenje od 20 sekundi. Pribavite elektronski ID prije izdavanja naredbe:
print,rcv/id RE00C 8PZFM10IL8G fld,8PZFM10IL8G,/dev/usb/a:{20,16384}
GREIS
1. Očekuje se da će file koji sadrži firmver se unapred učitava na prijemnik, npr. pomoću naredbe put.
www.javad.com
59
JEZIK ULAZA PRIJEMNIKA Naredbe fld
GREIS
www.javad.com
60
Poglavlje 3
PORUKE PRIJEMNIKA
Ovo poglavlje opisuje opći format GREIS standardnih poruka, kao i posebne formate svih unaprijed definiranih poruka. Osim GREIS standardnih poruka, prijemnik podržava dosta poruka različitih formata, kao što su NMEA ili BINEX. Formati tih “stranih” poruka opisani su na kraju ovog poglavlja.
3.1 Konvencije
3.1.1 Specifikacije formata
Da bismo opisali neki format kao niz bajtova1 u kompaktnom obliku, definiramo formate za nekoliko primarnih tipova polja, a zatim koristimo notaciju blisku onima koji se koriste u programskom jeziku C za izgradnju definicija složenijih formata:
struct NAME {LENGTH} { TYPE FIELD[COUNT]; // OPIS … TYPE FIELD[COUNT]; // OPIS
};
gdje:
NAME ime dodijeljeno ovom formatu. Može se koristiti u drugim definicijama formata kao TIP polja.
LENGTH dužina u bajtovima čitave sekvence. Za format fiksne dužine, to je broj, za poruku promjenjive dužine može biti ili aritmetički izraz ovisno o nekim drugim varijabilnim parametrima ili samo string var.
TYPE FIELD[COUNT] deskriptor polja. Opisuje niz COUNT elemenata istog TIPA kojem je dodijeljeno ime FIELD. TYPE može biti ili jedan od primarnih tipova polja opisanih u nastavku, ili NAME drugog formata. Kada je [COUNT] odsutan, polje se sastoji od tačno jednog elementa. Kada je COUNT odsutan (tj. postoje samo prazne uglaste zagrade, []), to znači da se polje sastoji od nespecificiranog broja elemenata.
GREIS
1. U kontekstu ovog poglavlja, “bajt” znači 8-bitni entitet. Najmanji bitni bit bajta ima indeks nula.
www.javad.com
61
Poruke primaoca Konvencije
Specifikacije formata
OPIS Opis polja zajedno sa mjernim jedinicama i dozvoljenim rasponom vrijednosti, gdje je prikladno. Mjerne jedinice su okružene uglastim zagradama.
Definirani su sljedeći tipovi primarnih polja:
Tabela 3-1. Tipovi primarnih polja
Unesite naziv
Značenje
Dužina u bajtovima
a1
ASCII znak
1
i1
predpisani cijeli broj
1
i2
predpisani cijeli broj
2
i4
predpisani cijeli broj
4
u1
cijeli broj bez predznaka
1
u2
cijeli broj bez predznaka
2
u4
cijeli broj bez predznaka
4
f4
IEEE-754 jednostruka preciznost s pomičnim zarezom
4
f8
IEEE-754 s pomičnim zarezom dvostruke preciznosti
8
str
nul-terminirani niz ASCII znakova varijabli
Da bismo u potpunosti definirali određeni format, također moramo specificirati redoslijed bajtova u primarnim neagregiranim poljima koja su višebajtna (i2, i4, u2, u4, f4, f8). Za GREIS poruke ovaj redoslijed je definiran porukom [MF], pogledajte “Format [MF] poruka” na stranici 74 za detalje.
Koristeći gornje definicije moguće je (rekurzivno) proširiti bilo koju specifikaciju formata na odgovarajući niz bajtova. Za nprample, format
struct Example {9} { u1 n1; f4 n2; i2 n3[2];
};
proširuje se na sljedeći niz bajtova pretpostavljajući najmanje značajan bajt prvi (LSB) redoslijed:
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
PORUKE PRIMAOCA Standardni tok poruka
Posebne vrijednosti
i na sljedeći niz bajtova koji pretpostavlja najznačajniji bajt prvi (MSB) redoslijed:
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)
gdje x[i](j) označava j-ti bajt (bajt #0 je najmanje značajan) i-tog elementa polja x.
3.1.2 Posebne vrijednosti
Za binarne poruke, neka od njihovih cjelobrojnih i polja s pomičnim zarezom mogu sadržavati posebne vrijednosti, koje se koriste umjesto stvarnih podataka kada podaci za polje nisu dostupni. Binarna polja za koja je potrebna provjera posebnih vrijednosti tokom ekstrakcije podataka označena su znakom uzvika, “!” u prvoj koloni definicije polja.
Sljedeća tabela definira posebne vrijednosti za različite tipove polja podataka:
Tabela 3-2. Posebne vrijednosti za polja
Vrsta polja
i1 u1 i2 u2 i4 u4 f4 f8
Posebna vrijednost
127 255 32767 65535 2147483647 4294967295 tihi NaN tihi NaN
HEX Reprezentacija
7F FF 7FFF FFFF 7FFF_FFFF FFFF_FFFF 7FC0_0000 7FF8_0000_0000_0000
3.2 Standardni tok poruka
Standardni GREIS tok poruka je niz od najviše dvije vrste poruka, GREIS standardnih poruka i nestandardnih tekstualnih poruka.
Najvažnija i najraširenija vrsta poruka je bogat skup GREIS standardnih poruka. Njihov opći format pažljivo je osmišljen kako bi omogućio i binarne i tekstualne poruke.
www.javad.com
63
PORUKE PRIMAOCA Opšti format poruka
Standardne poruke
mudraca, te omogućiti aplikacijama da efikasno preskaču poruke za koje aplikacija ne zna ili nije zainteresirana.
Podrška za nestandardne tekstualne poruke, koje i dalje treba da budu u skladu sa formatom definisanim za njih u ovom priručniku, omogućava mešanje GREIS standardnih poruka sa porukama nekih drugih formata u standardnom GREIS toku podataka. BivšiampLe takvog formata su NMEA poruke.
Nestandardne tekstualne poruke posebnog slučaja, poruke koje sadrže samo ASCII i/ili znakove ubacuje mehanizam za formatiranje poruka u prijemnik između GREIS standardnih poruka kako bi rezultirajući tok poruka učinio čitljivijim ljudima kada se pošalje na terminal ili generički tekst viewer ili editor aplikacija.
Osim GREIS standardnih poruka i nestandardnih tekstualnih poruka, JAVAD GNSS prijemnici obično podržavaju mnoštvo drugih formata (npr. RTCM, BINEX, CMR). Međutim, ti formati nisu kompatibilni sa formatom standardnog GREIS toka poruka. Ako tok sadrži poruke tih formata, on se više ne može zvati GREIS standardni tok poruka i ne može se analizirati po istim pravilima kao standardni stream.1
3.3 Opšti format poruka
3.3.1 Standardne poruke
Format svake standardne poruke je sljedeći:
struct StdMessage {var} {
a1 id[2];
// Identifikator
a1 dužina[3];
// Heksadecimalna dužina tijela, [000…FFF]
u1 tijelo [dužina]; // Tijelo
};
Svaka standardna poruka počinje jedinstvenim identifikatorom poruke koji se sastoji od dva ASCII znaka. Svi znakovi iz podskupa “0” do “~” (tj. decimalni ASCII kodovi u rasponu od [48…126]) su dozvoljeni u identifikatoru.
GREIS
1. U stvari, format GREIS standardnih poruka je toliko fleksibilan da može uključiti bilo koji tok podataka u standardni GREIS tok podataka, ali tada bi originalni nekompatibilni tok trebao biti umotan u niz posebnih GREIS poruka. Unaprijed definirana poruka s identifikatorom “>>” služi ovoj svrsi.
www.javad.com
64
PORUKE PRIMAOCA Opšti format poruka
Nestandardne tekstualne poruke
Identifikator poruke prati dužina polja tijela poruke. Ovo polje, koje se sastoji od tri velika heksadecimalna znamenka, specificira dužinu tijela poruke u bajtovima. Stoga je maksimalna dužina tijela poruke 4095 (0xFFF) bajtova.
Tijelo poruke slijedi odmah nakon polja za dužinu i sadrži tačno onaj broj bajtova koji je specificiran u polju dužine. Nema ograničenja u pogledu sadržaja tijela poruke koje podrazumijeva opći format. Format tijela poruke u poruci implicitno je definiran identifikatorom poruke. Formati tijela poruka svih unaprijed definiranih poruka
3.3.2 Nestandardne tekstualne poruke
Format nestandardnih tekstualnih poruka je sljedeći:
struct NonStdTextMessage {var} {
a1 id;
// Identifikator, [!…/]
a1 tijelo[];
// Tijelo proizvoljne dužine, [0…)
a1 eom;
// Kraj poruke ( ili )
};
Identifikator poruke je bilo koji znak u rasponu [!… /] (decimalni ASCII kodovi u rasponu [33…47]). Identifikator poruke nije obavezan. Ako je odsutno, tijelo poruke treba imati nultu dužinu (tj. također treba biti odsutno).
Tijelo poruke je niz ASCII znakova osim (decimalni kod 13) i (decimalni kod 10) znakova. Format ne postavlja nikakva ograničenja dužine tijela.
Marker kraja poruke je ili ili karakter.
Imajte na umu da format dozvoljava nestandardne poruke koje sadrže samo CR ili LF znakove. Ova funkcija omogućava da standardni GREIS tokovi poruka izgledaju čitljivijim kada se podaci šalju na terminal opće namjene ili viewing sa generičkim tekstom viewer ili urednik.
Jedan od nestandardnih identifikatora tekstualnih poruka, znak “$”, već je rezervisan kao identifikator za standardne NMEA poruke. Nijedna druga nestandardna tekstualna poruka ne bi trebala koristiti “$” kao identifikator.
3.3.3 Raščlanjivanje toka poruka
U ovom odeljku ćete pronaći neke napomene i savete o tome kako da napišete kod namenjen za raščlanjivanje tokova poruka GREIS prijemnika. Iako nećemo detaljno raspravljati o ovoj temi u ovom referentnom priručniku, ovdje bismo željeli naglasiti da standardna poruka
GREIS
www.javad.com
65
PORUKE PRIMAOCA Opšti format poruka
Raščlanjivanje toka poruka
format će vam omogućiti da efikasno obradite/parsirate skoro svaki GREIS tok poruka na koji možete naići u praksi.
Napomena:
Sinhronizacija
Kada analizirate tok poruka, prvo morate pronaći najbližu granicu poruke. To je ono što se obično naziva "sinhronizacija". Sinhronizacija poruka se vrši kada se raščlanjivanje započne ili kada se sinkronizacija izgubi zbog greške u toku podataka. Zapravo, da biste pojednostavili algoritam, možete uzeti u obzir da ste već sinhronizirani kada počnete raščlanjivati tok podataka. Ako se desi da to zaista nije slučaj, trebalo bi da dođe do greške pri raščlanjivanju. Zatim preskačete jedan znak iz ulaznog toka i pretvarate se da ste ponovo sinhronizovani. Takav pristup efikasno eliminiše zadatak sinhronizacije kao poseban deo algoritma raščlanjivanja.
Zbog činjenice da bi stopa grešaka u razumno korisnom toku podataka trebala biti prilično niska, sinhronizacija ne bi trebala biti čest zadatak. Osim toga, GREIS tok podataka se obično sastoji od prilično kratkih poruka, tako da je udaljenost do najbliže granice poruke obično mala. Uzimajući u obzir ova razmatranja, ne postoji zahtjev da algoritam sinhronizacije bude vrlo brz.
Napomena:
Preskakanje na sljedeću poruku
Dužina u opštem formatu standardnih GREIS poruka omogućava vam da lako ignorišete poruke bez poznavanja formata njihovog tela. Zaista toplo preporučujemo pisanje parsera kako bi preskočili nepoznate poruke.
Za prelazak sa trenutne poruke na sljedeću, poduzmite sljedeće korake:
1. Pretpostavimo da trenutna poruka počinje na poziciji “N”. Odredite trenutnu dužinu poruke (dekodirajte znakove ## N+2, N+3, N+4). Pretpostavimo da je dužina poruke jednaka L. Preskočite prvih L+5 znakova počevši od pozicije “N”.
2. Preskoči sve i znakova (ako ih ima).
Strogo govoreći, ne preporučujemo da u svom kodu za raščlanjivanje koristite bilo kakve apriorne informacije o veličinama i sadržaju tijela poruke. Ako poštujete ovu preporuku, nećete imati problema s programom za raščlanjivanje ako se neke poruke promijene.
Pravila i savjeti za raščlanjivanje tijela poruka standardno unaprijed definiranih GREIS poruka raspravljaju se kasnije u “Razbir tijela poruka” na stranici 67.
GREIS
www.javad.com
66
GREIS
PORUKE PRIMAOCA Standardne unapred definisane poruke
Parsiranje tijela poruka
3.4 Standardne unapred definisane poruke
U ovom odeljku ćemo upoznati čitaoca sa unapred definisanim skupom standardnih GREIS poruka. Kada se pozivamo na poruku sa identifikatorom XX, koristimo notaciju [XX]. Dok se većina poruka poziva svojim identifikatorom poruke u GREIS-u, neke od njih, posebno one koje imaju nealfanumeričke identifikatore, imaju različita imena. Za takve poruke se koristi notacija [XX](NN), gdje je XX identifikator poruke, a NN ime poruke koje će se koristiti u GREIS naredbama. Za nprampporuka [~~](RT) ima zaglavlje “~~” i zove se /msg/jps/RT u GREIS komandama.
Ovaj odjeljak definira formate tijela za sve standardno unaprijed definirane poruke. Imajte na umu da u toku podataka svaka poruka ima standardno zaglavlje definisano i opštim formatom.
3.4.1 Parsing tijela poruka
Dozvoljene ekstenzije formata
Formati binarnih poruka sa fiksnom veličinom poruke omogućavaju dodavanje više polja podataka u budućnosti. Nova polja se mogu umetnuti samo na kraj tijela poruke neposredno prije polja kontrolne sume (ako postoji). Takve modifikacije tijela poruke smatraju se proširenjima formata, a ne nekompatibilnim promjenama.
Iako standardne GREIS tekstualne poruke nisu poruke sa fiksnom veličinom poruke, nova polja se mogu i dalje pojavljivati u ovim porukama u budućnosti. Nova polja se mogu umetnuti na kraj postojeće tekstualne poruke neposredno prije polja kontrolne sume ili neposredno prije bilo koje desne zagrade (}). Za nprample, poruka koja se trenutno čita kao:
…1,{21,22},3,@CS
može se kasnije proširiti na
…1,{2.1,2.2,2.3},3,4,@CS
gdje su dodana dva dodatna polja, “2.3” i “4”.
Implementirajte svoje algoritme za raščlanjivanje uzimajući u obzir sljedeća pravila kako bi radili čak i s budućim ekstenzijama formata:
1. Nemojte pretpostavljati da veličina tijela poruke primljene poruke treba tačno odgovarati određenoj veličini definiranoj u ovom dokumentu. Samo ako je poruka prekratka, to znači da ne možete koristiti njen sadržaj. Ako je poruka duža od očekivanog, samo zanemarite višak podataka.
2. Adresirajte polje kontrolne sume u odnosu na kraj tijela poruke.
www.javad.com
67
PORUKE PRIMAOCA Standardne unapred definisane poruke
Opće napomene
3. Adresirajte druga polja podataka u odnosu na početak tijela poruke. 4. Uzmite u obzir gore navedeno pravilo za produženje tekstualnih poruka kada
pisanje ekstraktora podataka za tekstualne poruke.
Kontrolne sume
Nakon što je poruka ekstrahirana iz toka podataka korištenjem tehnika opisanih u “Razbir toka poruka” na stranici 65, a čini se da je identifikator poruke jedan od onih za koje je aplikacija zainteresirana, tijelo poruke treba raščlaniti kako bi se izdvojili podaci . Prije izdvajanja sadržaja, kontrolnu sumu poruke treba izračunati i uporediti sa kontrolnom sumom sadržanom u poruci.
Većina unaprijed definiranih poruka sadrži kontrolni zbroj. Kontrolna suma se izračunava koristeći i zaglavlje poruke (tj. “identifikator poruke” plus “dužina tijela poruke”) i samo tijelo. Pogledajte “Računavanje kontrolnih suma” na stranici 579 za više informacija o izračunavanju kontrolne sume.
Kontrolna suma se uvijek stavlja na sam kraj tijela poruke. Ako se struktura poruke izmijeni dodavanjem novih polja podataka, nova polja podataka će biti dodana prije polja kontrolne sume. Ovo objašnjava zašto se preporučuje adresiranje polja kontrolne sume u odnosu na kraj tijela poruke.
3.4.2 Opšte napomene
Vremenske skale
Postoji pet vremenskih skala koje vaš prijemnik može podnijeti:
Tr vrijeme prijemnika Tg GPS sistemsko vrijeme Tu UTC (USNO). Univerzalno koordinirano vrijeme podržano od strane američke mornarice
vatory. Tn GLONASS sistemsko vrijeme. Ts UTC(SU). Univerzalno koordinirano vrijeme uz podršku Državnog vremena i Fre-
quency Service, Rusija.
“Vrijeme prijema” je jedina vremenska mreža koja je uvijek dostupna u vašem prijemniku (tj. druge vremenske mreže sa gornje liste mogu ili ne moraju biti trenutno dostupne).
Zapravo, JAVAD GNSS prijemnik uvijek sinkronizira vrijeme svog prijemnika s jednom od četiri globalne vremenske skale: GPS vrijeme, UTC(USNO), GLONASS vrijeme ili UTC(SU). The
GREIS
www.javad.com
68
GREIS
PORUKE PRIMAOCA Standardne unapred definisane poruke
Opće napomene
Ovako odabrana vremenska mreža se u daljem tekstu u ovom odjeljku1 naziva “referentno vrijeme prijemnika” (Trr).
Različiti sistemi vremena mogu imati različite vremenske zapise (formate) povezane s njima (npr. za GPS vrijeme koristimo izraze kao što su “broj sedmice”, “vrijeme sedmice” itd.). Imajte na umu, međutim, da reprezentacija “vrijeme prijemnika” neće ovisiti o odabranom referentnom vremenu prijemnika i uvijek je predstavljena kao datum i doba dana prijemnika.
Većina unaprijed definiranih poruka ne sadrži informacije o referentnom vremenu. U našoj view, bilo bi pretjerano koristiti jedno te isto vrijeme tag sa svim brojnim porukama koje primatelj generiše u trenutnoj epohi. Kada šaljete informacije o prijemniku dostupne za trenutnu epohu, obično dobijate različite poruke. Umjesto da svakom od njih date individualno vrijeme tag polje podataka, koristimo posebnu poruku koja nosi informacije o vremenu primatelja uobičajene za ove poruke. Ova poruka se zove “Vrijeme prijema” i ima identifikator [~~].
Međutim, postoji način rada, koji se zove RTK odloženi režim, kada u datoj epohi prijemnik može proizvesti rješenje koje se odnosi na neku drugu epohu u prošlosti. Da obezbedim vreme tag za takvo rješenje, posebno vrijeme rješenja-Tag [ST] poruka se koristi. U stvari, ova poruka daje tačno vrijeme tag za rješenje u svim načinima rada, iako u većini načina ima potpuno isto vrijeme kao [~~].
Postoje neke druge poruke koje imaju vremena tag polje podataka. To su poruke koje sadrže informacije koje se pojavljuju nezavisno na mreži epoha prijemnika. BivšiampLe od takve poruke je “Događaj” [==].
Ograničenja
U stvari, poruka „Vreme primaoca“ treba da prethodi svim drugim porukama generisanim u trenutnoj epohi, čime se razgraničavaju poruke koje odgovaraju različitim epohama. Sa formalne tačke gledišta view, na korisniku je da definira redoslijed poruka u izlaznom toku. Međutim, treba voditi računa o tome da redosled kojim su poruke upisane u izlazni tok ne naruši „epohnu sinhronizaciju“, što je veoma bitno za naknadnu obradu evidentiranih podataka sa JAVAD GNSS softverskim paketima. Za više detalja o zadanom skupu poruka pogledajte “Skupovi poruka” na stranici 562.
Za aplikacije u realnom vremenu bitno je odrediti kraj epohe što je prije moguće. Za takve aplikacije samo razgraničenje epoha markerom „početak epohe“ nije zgodno. Predlažemo da koristite poruku „Vreme epohe“ [::](ET) kao marker „kraja epohe“. Ova poruka sadrži isto polje za doba dana koje se nalazi u poruci „Vrijeme prijema“ što omogućava bolju provjeru integriteta. Ideja je da se uporedi vreme tag
1. U trenutnom firmveru prijemnika referentno vrijeme prijemnika je ili GPS ili GLONASS sistemsko vrijeme, pogledajte /par/raw/time/ref na stranici 220
www.javad.com
69
GREIS
PORUKE PRIMAOCA Standardne unapred definisane poruke
Opće napomene
iz [::] poruke u odnosu na vrijeme tag iz odgovarajuće [~~] poruke. Neusklađeno tags su pokazatelj prekinute epohe.
Primijetit ćete da većina poruka ima identifikatore koji se sastoje samo od cifara i/ili engleskih slova. U stvari, “Vrijeme prijema” [~~] je jedina poruka čiji identifikator koristi znak “~”. Ima smisla jer [~~] poruka igra veoma važnu ulogu služeći kao graničnik epohe. Stoga postoje posebne mjere opreza kako bi se smanjila vjerovatnoća gubitka ove ključne poruke. Slično tome, identifikator poruke „Događaj“ ([==]) takođe mora biti što je moguće prepoznatljiviji jer aplikativni softver može koristiti događaje slobodnog oblika samo kao graničnike.
Ideja korištenja "veoma karakterističnih" identifikatora za poruke koje služe kao graničnici vrlo je jasna. Ako je kontrolni zbroj poruke pogrešan, samo provjerite njen identifikator. Ako se nijedan od znakova identifikatora ne poklapa sa “~”, onda je vrlo malo vjerovatno da je ovo oštećena [~~] poruka. Stoga, u ovom slučaju ne morate preskočiti na sljedeću [~~] poruku.
S druge strane, ako poruka ima ispravan kontrolni zbroj, a jedan od znakova identifikatora je “~”, tada bi bilo sigurnije tretirati ovu poruku kao oštećenu [~~] poruku. U ovom slučaju pređite na sljedeću [~~] poruku.
Vrste rješenja
Polje “solType” koje se koristi u mnogim predefiniranim porukama označava tip odgovarajućeg rješenja i može imati sljedeće vrijednosti:
Tabela 3-3. Vrste rješenja
Vrijednost
Značenje
0
br
Dokumenti / Resursi
![]() |
Eksterni interfejs JAVAD GREIS GNSS prijemnika [pdf] Korisnički priručnik GREIS eksterni interfejs GNSS prijemnika, GREIS, eksterni interfejs GNSS prijemnika, eksterni interfejs prijemnika, eksterni interfejs, interfejs |