JAVAD GREIS GNSS Receiver External Interface
Mga pagtutukoy
- Produkto: GREIS GNSS Receiver
- Bersyon ng Firmware: 4.5.00
- Huling Binago: Oktubre 14, 2024
Impormasyon ng Produkto
Ang GREIS GNSS Receiver ay isang high-precision external interface device na dinisenyo ng JAVAD GNSS, na nag-aalok ng tumpak na impormasyon sa pagpoposisyon.
Panimula
Ang GREIS ay isang versatile device na ginagamit para sa iba't ibang application. Narito ang ilang mahahalagang punto:
- Ano ang GREIS: Ito ay isang panlabas na interface device para sa mga GNSS receiver.
- Paano Ginagamit ang GREIS: Ginagamit ito upang mapahusay ang paggana at katumpakan ng mga sistema ng GNSS.
- Mga listahan: Sumangguni sa manual para sa mga detalyadong listahan ng mga sinusuportahang feature at functionality.
- Mga bagay: Galugarin ang iba't ibang mga bagay na maaaring magamit sa GREIS para sa mga partikular na gawain.
Receiver Input Language
Ang wika ng pag-input ng receiver ay nagbibigay-daan sa mga user na makipag-ugnayan sa device gamit ang mga partikular na command at syntax. Narito ang isang maikling tapos naview:
- Wika Halamples: Matuto mula sa ibinigay na exampupang maunawaan kung paano makipag-usap sa device.
- Syntax ng Wika: Pamilyar ang iyong sarili sa mga tuntunin ng syntax para sa pagpapadala ng mga utos sa tatanggap.
- Mga utos: Gumamit ng iba't ibang command para kontrolin at i-configure ang device batay sa iyong mga kinakailangan.
Mga Mensahe ng Tagatanggap
Ang pag-unawa sa mga mensahe ng tatanggap ay mahalaga para sa pagbibigay-kahulugan sa data at impormasyon ng katayuan. Narito ang kailangan mong malaman:
- Mga Kumbensyon: Sundin ang mga partikular na format at halaga para sa wastong pagbibigay-kahulugan sa mga mensahe.
- Karaniwang Stream ng Mensahe: Galugarin ang karaniwang format ng mensahe para sa pare-parehong paghahatid ng data.
Mga FAQ
Q: Maaari ko bang baguhin ang firmware ng GREIS GNSS Receiver?
A: Hindi, hindi pinapayagan ang pagbabago ng firmware ayon sa mga regulasyon sa copyright ng JAVAD GNSS.
T: Paano ko maa-access ang suporta para sa mga teknikal na isyu na nauugnay sa GREIS GNSS Receiver?
A: Para sa teknikal na suporta, mangyaring makipag-ugnayan nang direkta sa JAVAD GNSS para sa tulong.
Salamat sa pagbili ng iyong JAVAD GNSS receiver. Ang mga materyales na makukuha sa Reference Guide na ito (ang “Gabay”) ay inihanda ng JAVAD GNSS, Inc. para sa mga may-ari ng mga produkto ng JAVAD GNSS. Ito ay dinisenyo upang tulungan ang mga may-ari sa paggamit ng receiver at ang paggamit nito ay napapailalim sa mga tuntunin at kundisyon na ito (ang "Mga Tuntunin at Kundisyon").
Mga Tuntunin at Kundisyon
PROFESSIONAL NA PAGGAMIT Ang mga receiver ng JAVAD GNSS ay idinisenyo upang magamit ng isang propesyonal. Ang gumagamit ay inaasahang magkaroon ng isang mahusay na kaalaman at pag-unawa sa gumagamit at mga tagubilin sa kaligtasan bago mag-operate, mag-inspeksyon o mag-adjust. Palaging magsuot ng mga kinakailangang tagapagtanggol (sapatos na pangkaligtasan, helmet, atbp.) kapag pinapatakbo ang receiver.
DISCLAIMER OF WARRANTY MALIBAN SA ANUMANG WARRANTY SA GABAY NA ITO O ISANG WARRANTY CARD NA KASAMA NG PRODUKTO, ANG GABAY NA ITO AT ANG RECEIVER AY IBINIGAY "AS-IS." WALANG IBANG WARRANTY. TINATAWALAN NG JAVAD GNSS ANG ANUMANG IPINAHIWATIG NA WARRANTY NG KAKAYAHAN O KAANGKUPAN PARA SA ANUMANG PARTIKULAR NA PAGGAMIT O LAYUNIN. Ang JAVAD GNSS AT ANG MGA DISTRIBUTOR NITO AY HINDI MANANAGOT PARA SA MGA TEKNIKAL O EDITORYAL NA PAGKAKAMALI O PAGKAKATALA NA NILALAMAN DITO; O PARA SA MGA NAGSASAAD O KINAHIHINUNGANG MGA PINSALA NA RESULTA MULA SA FURNISHING, PERFORMANCE O PAGGAMIT NG MATERYAL NA ITO O ANG RECEIVER. KASAMA ANG GANITONG ITINANGGI NA MGA PINSALA NGUNIT HINDI LIMITADO SA PAGKAWALA NG ORAS, PAGKAWALA O PAGSISIRA NG DATA, PAGKAWALA NG KITA, PAGTITIPIO O KITA, O PAGKAWALA NG PAGGAMIT NG PRODUKTO. KARAGDAGANG DIN, ANG JAVAD GNSS AY HINDI RESPONSABLE O PANANAGUTAN PARA SA MGA PINSALA O GASTOS NA KASAMA KAUGNAY SA PAGKAKAMALI NG MGA KAPALIT NA PRODUKTO O SOFTWARE, MGA PAG-ANGKIN NG IBA, Abala, O ANUMANG IBA PANG GASTOS. SA ANUMANG PANGYAYARI, WALANG PANANAGUTAN ANG JAVAD GNSS PARA SA MGA PINSALA O KUNG IBA SA IYO O ANUMANG IBANG TAO O ENTITY NA HIGIT SA PRESYO NG PAGBILI PARA SA RECEIVER.
KASUNDUAN NG LISENSYA Paggamit ng anumang mga computer program o software na ibinibigay ng JAVAD GNSS o na-download mula sa isang JAVAD GNSS website (ang “Software”) na may kaugnayan sa tatanggap ay bumubuo ng pagtanggap sa Mga Tuntunin at Kundisyon na ito sa Gabay na ito at isang kasunduan na sumunod sa Mga Tuntunin at Kundisyon na ito. Ang user ay binibigyan ng personal, hindi eksklusibo, hindi naililipat na lisensya upang gamitin ang naturang Software sa ilalim ng mga tuntunin
PREFACE Mga Tuntunin at Kundisyon
nakasaad dito at sa anumang kaso lamang sa isang receiver o isang computer. Hindi mo maaaring italaga o ilipat ang Software o ang lisensyang ito nang walang malinaw na nakasulat na pahintulot ng JAVAD GNSS. Ang lisensyang ito ay may bisa hanggang sa wakasan. Maaari mong wakasan ang lisensya anumang oras sa pamamagitan ng pagsira sa Software at Gabay. Maaaring wakasan ng JAVAD GNSS ang lisensya kung mabigo kang sumunod sa alinman sa Mga Tuntunin o Kundisyon. Sumasang-ayon ka na sirain ang Software at Gabay sa pagwawakas ng iyong paggamit ng receiver. Ang lahat ng pagmamay-ari, copyright at iba pang mga karapatan sa intelektwal na ari-arian sa at sa Software ay nabibilang sa JAVAD GNSS. Kung hindi katanggap-tanggap ang mga tuntunin ng lisensyang ito, ibalik ang anumang hindi nagamit na software at gabay.
KUMPIDENSYAL Ang gabay na ito, ang mga nilalaman nito at ang Software (sama-sama, ang “Kumpidensyal na Impormasyon”) ay ang kumpidensyal at pagmamay-ari na impormasyon ng JAVAD GNSS. Sumasang-ayon ka na tratuhin ang Kumpidensyal na Impormasyon ng JAVAD GNSS na may antas ng pangangalaga na hindi gaanong mahigpit kaysa sa antas ng pangangalaga na gagamitin mo sa pagprotekta sa sarili mong pinakamahahalagang lihim ng kalakalan. Wala sa talatang ito ang maghihigpit sa iyo sa pagsisiwalat ng Kumpidensyal na Impormasyon sa iyong mga empleyado kung kinakailangan o naaangkop sa pagpapatakbo o pag-aalaga sa tatanggap. Ang nasabing mga empleyado ay dapat ding panatilihing kumpidensyal ang Impormasyon ng Kumpidensyal. Kung sakaling mapilitan ka ng legal na ibunyag ang alinman sa Kumpidensyal na Impormasyon, bibigyan mo ang JAVAD GNSS ng agarang abiso upang maaari itong humingi ng utos ng proteksyon o iba pang naaangkop na remedyo.
WEBSITE; IBANG PAHAYAG Walang pahayag na nakapaloob sa JAVAD GNSS website (o anumang iba pa website) o sa anumang iba pang mga advertisement o JAVAD GNSS literature o ginawa ng isang empleyado o independiyenteng kontratista ng JAVAD GNSS ay nagbabago sa Mga Tuntunin at Kundisyon na ito (kabilang ang lisensya ng Software, warranty at limitasyon ng pananagutan).
KALIGTASAN Ang hindi wastong paggamit ng receiver ay maaaring humantong sa pinsala sa mga tao o ari-arian at/o malfunction ng produkto. Ang receiver ay dapat lamang ayusin ng mga awtorisadong sentro ng serbisyo ng warranty ng JAVAD GNSS.
IBAT-IBANG Ang Mga Tuntunin at Kundisyon sa itaas ay maaaring amyendahan, baguhin, palitan, o kanselahin, anumang oras ng JAVAD GNSS. Ang Mga Tuntunin at Kundisyon sa itaas ay pamamahalaan ng, at bibigyang-kahulugan alinsunod sa, mga batas ng Estado ng California, nang walang pagtukoy sa salungatan ng mga batas.
Ano ang GREIS
Ang GREIS ay isang interfacing na wika na nagbibigay-daan sa user na epektibong makipag-ugnayan sa mga GNSS receiver sa pamamagitan ng pag-access sa lahat ng kanilang mga kakayahan at function.
Ang GREIS ay kumakatawan sa isang generic na istraktura ng wika ng receiver para sa buong hanay ng JAVAD GNSS hardware. Ang istraktura ng wikang ito ay independiyente sa tatanggap at bukas sa pagbabago o pagpapalawak sa hinaharap. Ang GREIS ay batay sa isang pinag-isang diskarte na nagpapahintulot sa gumagamit na kontrolin ang isang JAVAD GNSS receiver gamit ang isang naaangkop na hanay ng mga pinangalanang bagay. Ang komunikasyon sa mga bagay na ito ay nakakamit sa pamamagitan ng paunang-natukoy na mga utos at mensahe. Walang tiyak na mga hadlang sa bilang o uri ng mga bagay na ginamit sa tatanggap.
Paano Ginagamit ang GREIS
Ang anumang system na nakikipag-ugnayan sa JAVAD GNSS receiver sa pamamagitan ng isa sa mga port nito (serial, parallel, USB, Ethernet, atbp.) ay gagamit ng mga utos at mensahe ng GREIS para magawa ang kinakailangang gawain. Ang isang pares ng mga tipikal na application kung saan ang GREIS ay gumaganap ng napakahalagang papel ay, una, ang paggamit ng mga hand-held controller upang makipag-usap sa mga receiver sa panahon ng field operation sa mga proyekto ng survey at RTK o, pangalawa, kapag nagda-download ng data mula sa mga receiver sa mga desktop system para sa karagdagang post pagpoproseso. Ang isang post processing application mismo ay hindi gumagamit ng mga utos ng GREIS, ngunit kailangang magkaroon ng kamalayan sa mga mensahe ng GREIS upang kunin ang data mula sa data files.
Ang isang mahalagang katangian ng GREIS ay ang epektibong paggamit nito para sa awtomatiko at manu-manong kontrol ng mga tatanggap ng JAVAD GNSS. Para sa manu-manong kontrol, ilalagay ng user ang mga kinakailangang utos ng GREIS sa receiver sa pamamagitan ng isang terminal. Ito ay madaling matamo dahil ang GREIS ay idinisenyo upang maging madaling mabasa ng tao na text interface. Sa kabilang banda, ang GREIS ay sumusunod sa medyo mahigpit na mga patakaran na ginagawang madaling gamitin ng mga application.
Mga listahan
Ang GREIS ay lubos na gumagamit ng isang konsepto ng mga listahan. Ginagamit ang mga listahan sa parehong wika ng input ng receiver at sa karaniwang mga text message.
PANIMULA Mga bagay
Ang mga listahan sa GREIS ay kinakatawan ng isang pagkakasunud-sunod ng mga elemento na nililimitahan ng kuwit (,, ASCII code 44), at nakapaloob sa mga brace ({}, ASCII code 123 at 125):
{elemento1,elemento2,elemento3}
Sa turn, ang mga elemento ng isang listahan ay maaaring mga listahan mismo:
{e1,{ee21,ee22},e3}
Kaya ang kahulugan sa itaas ay recursive, upang ang mga listahan ng di-makatwirang lalim ng nesting ay pinapayagan. Ang mga elementong hindi mga listahan ay tinatawag na mga elemento ng dahon, o simpleng mga dahon. Ang mga elemento ng mga listahan ay maaaring walang laman, kung saan sinasabi namin na ang elemento ay tinanggal. Para kay example, sa listahan sa ibaba, ang pangalawang elemento ay tinanggal:
{e1,,e3}
Ang mga puwang bago at pagkatapos ng mga delimiter ay pinapayagan at hindi papansinin. Kung ang mga elemento ng isang listahan ay may parehong substring (prefix) sa simula, ang substring na ito ay maaaring alisin sa mga brace na nakapalibot sa listahan, hal,
elem{1,2,3}
ay isang mas maikling anyo ng
{elem1, elem2, elem3}
Maaaring isama ang mga elemento sa double-quote (“, ASCII code 34) na hinuhubaran habang nag-parse. Sa loob ng sinipi na elemento, ang mga espesyal na simbolo (braces, kuwit, atbp.) ay nawawala ang kanilang tungkulin at itinuturing na mga regular na character. Ang isa pang paggamit ng mga panipi ay upang makilala ang pagitan ng "hindi tinukoy na elemento" at "tiyak na elementong walang laman" na mga kondisyon. Ang una ay tinutukoy sa pamamagitan lamang ng pag-alis ng isang elemento mula sa listahan, at ang huli ay tinutukoy sa pamamagitan ng paglalagay ng pares ng dobleng panipi sa pagitan ng mga kuwit. Kapaki-pakinabang din ang pag-quote kapag kailangan ng isang tao na magkaroon ng mga puwang sa unahan o trailing sa isang string. Upang ilagay ang double-quote sa elemento, sipiin ang elementong ito at i-escape ang double-quote sa loob na may backslash na character (, ASCII code 92). Upang ilagay ang backslash nang mag-isa sa naka-quote na string, i-escape ito gamit ang isa pang backslash, halimbawaample:
Example: “String na may “quotes”, backslash \, at mga espesyal na character, {}”
1.4 Mga Bagay
Sa konteksto ng modelo kung saan nakabatay ang GREIS, ang isang JAVAD GNSS na receiver ay natukoy na may isang hanay ng mga pinangalanang bagay.
GREIS
www.javad.com
20
PANIMULA Mga bagay
Mga Identifier ng Bagay
Ang bagay ay tinukoy bilang isang hardware o software na entity ng receiver na maaaring matugunan, itakda, o i-query. Ang mga entity ng hardware ay karaniwang tinutukoy bilang mga device, samantalang ang mga bagay sa firmware ay karaniwan files at mga parameter. Ang mga port ng receiver at mga module ng memorya ay lahat ng magandang halampkakaunti ng mga device. Lahat ng device, files at mga parameter ay ginagamot sa pare-parehong paraan ng GREIS. Ang bawat bagay ay may nauugnay na hanay ng mga katangian na maaaring ma-access, tukuyin, at/o baguhin sa pamamagitan ng GREIS.
1.4.1 Mga Identifier ng Bagay
Nabanggit na na ang isang receiver ay itinuturing bilang isang hanay ng mga bagay (mga aparato, files, mga mensahe, mga parameter, atbp.) sa konteksto ng modelong GREIS. Para sa mga layunin ng pagtugon sa mga bagay sa mga utos ng receiver, isang natatanging identifier ang dapat na italaga sa bawat bagay.
Ang mga bagay sa receiver ay lohikal na nakaayos sa mga grupo. Ang isang grupo mismo ay isang bagay din at kabilang sa ibang grupo maliban kung ito ay ang root group. Kaya lahat ng mga bagay sa receiver ay nakaayos sa isang hierarchy na tulad ng puno simula sa iisang root group. Ang representasyong ito ay kahawig ng organisasyon ng files sa mga direktoryo (mga folder) na pamilyar sa karamihan ng mga gumagamit ng computer.
Sa GREIS, ang mga pangkat ng bagay ay kinakatawan bilang mga listahan ng mga katumbas na pangalan ng bagay. Ang pangalan ng bagay ay natatangi sa loob ng listahan kung saan kabilang ang bagay. Ang natatanging object identifier sa buong mundo ay tinukoy bilang lahat ng pangalan ng object sa path sa pamamagitan ng object tree mula sa root list hanggang sa object, na nililimitahan ng forward slash (/). Ang root list mismo ay kinikilala ng solong forward slash.
Exampang mga identifier ng object ay:
Example: Ang root group:
/
Example: Receiver electronic ID:
/par/rcv/id
Example: Serial Port A baud rate:
/par/dev/ser/a/rate
Example: Mga katangian (laki at huling oras ng pagbabago) ng file NAME (file ang mga katangian ay iba sa mga katangian ng bagay na tinalakay sa ibaba):
/log/NAME
Example: NMEA GGA pangungusap:
GREIS
www.javad.com
21
PANIMULA Pana-panahong Output
Mga Uri ng Bagay
/msg/nmea/GGA
Ang lahat ng mga bagay ay may isa o higit pang mga katangian na nauugnay sa kanila. Natutukoy ang mga attribute ng object sa pamamagitan ng pagdaragdag ng & character at ang pangalan ng attribute sa object identifier. Ang pangunahing katangian na mayroon ang bawat bagay ay halaga. Ang katangiang ito ay palaging naa-access nang tahasan ng mga utos ng GREIS. Maaaring may mga karagdagang katangian ang ilan sa mga bagay, halimbawaample: Halample: Serial port A na default na baud rate:
/par/dev/ser/a/rate&def
Example: Nilalaman ng file NAME:
/log/NAME&content
1.4.2 Mga Uri ng Bagay
Ang bawat bagay sa receiver ay may uri ng GREIS na nauugnay dito. Ang uri ng isang bagay ay tumutukoy sa pag-uugali nito kaugnay ng mga utos ng GREIS. Sa partikular, ang uri ay tumutukoy kung aling mga halaga ang maaaring kunin ng bagay at kung aling mga partikular na utos ang naaangkop sa bagay.
Sumangguni sa “Pangunahing Mga Uri ng Bagay” sa pahina 184 para sa detalyadong paglalarawan ng mga kasalukuyang sinusuportahang uri ng bagay.
GREIS
1.5 Pana-panahong Output
Ang isang mahalagang papel sa pagpapatakbo ng receiver ay gumaganap ng kakayahan nito na pana-panahong maglabas ng ilang impormasyon, tulad ng iba't ibang uri ng mga sukat, mga kinakalkula na halaga, atbp., ayon sa tinukoy na iskedyul. Tinutukoy ng GREIS ang isang rich set ng mga mensahe na naglalaman ng iba't ibang uri ng impormasyon sa iba't ibang format na minimal na unit ng output, at nagbibigay ng mga paraan upang humiling ng pana-panahong output ng anumang kumbinasyon ng mga mensahe sa anumang pagkakasunud-sunod sa alinman sa mga suportadong media na angkop para sa output ng data. Anumang suportadong daluyan na angkop para sa output ng data ay tinatawag na output stream sa GREIS.
Para sa bawat output stream, ang receiver ay nagpapanatili ng isang listahan ng mga mensahe na kasalukuyang pinagana upang maging output sa stream, na tinatawag na output list. Ang pagkakasunud-sunod kung saan ang mga mensahe ay output, tumutugma sa pagkakasunud-sunod ng mga mensahe sa listahan ng output. Bilang karagdagan, ang bawat mensahe na naroroon sa isang listahan ng output ay may sariling hanay ng mga parameter ng pag-iiskedyul na nauugnay dito. Ang mga parameter ng pag-iskedyul na naka-attach sa isang mensahe sa isang listahan ng output ay tumutukoy sa iskedyul ng output ng partikular na mensaheng ito sa partikular na stream ng output na ito. Nagbibigay ang GREIS ng tatlong com-
www.javad.com
22
PANIMULA Periodic Output Output Period at Phase
mands, em, out, at dm, upang payagan ang mahusay na pagmamanipula ng mga listahan ng output at mga parameter ng pag-iiskedyul.
Ang mga parameter ng pag-iskedyul ng mensahe ay binubuo ng apat na field: period, phase, count, at flag, na ang bawat isa ay gumaganap ng iba't ibang papel sa kahulugan ng iskedyul ng output. Sa ibaba ay ilalarawan namin kung paano eksaktong nakakaapekto ang kanilang mga halaga sa output, ngunit karaniwang, ang panahon ay tumutukoy sa pagitan sa pagitan ng mga output ng mensahe; ang bahagi ay tumutukoy sa paglilipat ng oras ng mga sandali ng output na may paggalang sa mga sandali ng oras kapag ang kasalukuyang oras ay maramihang tagal; ang bilang, kapag mas malaki sa zero, ay nililimitahan ang bilang ng beses na ilalabas ang mensahe; samantalang ang mga watawat filed ay nagbibigay-daan para sa ilang fine tuning ng proseso ng output.
1.5.1 Panahon at Yugto ng Output
Tandaan:
Ang mga patlang ng panahon at yugto ng mga parameter ng pag-iskedyul ng mensahe ay mga floating point value sa hanay na [0…86400) na mga segundo. Ang kanilang eksaktong kahulugan ay inilarawan sa ibaba.
Kapag ang F_CHANGE bit ay nakatakda sa flags field ng mga parameter ng pag-iiskedyul, ang phase field ay mawawala ang karaniwang tungkulin nito at sa halip ay nagiging "forced output period". Tingnan ang paglalarawan ng F_CHANGE flag sa ibaba para sa mga detalye.
Ang receiver ay may panloob na grid ng oras na tinukoy ng receiver clock at ang halaga ng parameter na /par/raw/curmsint na tumutukoy sa hakbang ng receiver internal epochs. Ang mga panloob na panahon ng tatanggap ay nangyayari kapag ang oras ng tatanggap ay marami sa mga hakbang. Sa turn, ang receiver time ay tinukoy bilang ang halaga ng receiver clock modulo isang araw (86400 seconds). Ini-scan lamang ng receiver ang mga listahan ng output sa mga panloob na panahon ng receiver, upang walang output na maaaring mabuo nang mas madalas kaysa doon.
Isinasaalang-alang ang panloob na grid ng oras, tinutukoy ng mga variable ng panahon at yugto ang mga sandali ng oras ng output ng isang mensahe tulad ng sumusunod: ilalabas lamang ng receiver ang mensahe sa mga oras ng receiver Tout nang sabay-sabay na nagbibigay-kasiyahan sa sumusunod na dalawang equation:
Panahon ng Toutmod = yugto
(1)
Tout = N hakbang (2)
GREIS
kung saan ang N ay integer number na kumukuha ng mga value [0,1,2,…,(86400/step)-1].
Tinutukoy ng unang equation ang pangunahing tuntunin ng output ng mga mensahe, at ang pangalawa ay nagpapataw ng karagdagang mga hadlang na nauugnay sa mga panloob na panahon ng receiver. Tandaan na sa pinakakaraniwang kaso, kapag ang parehong yugto at yugto ay multiple ng hakbang, ang pangalawang equation ay awtomatikong nasiyahan sa tuwing ang unang equation ay nasiyahan. Tandaan din na kung
86400 (mod period) 0,
www.javad.com
23
PANIMULA Pana-panahong Output
Bilang ng Output
Example:
Example: Halample:
ang aktwal na agwat sa pagitan ng huling mensaheng ipinadala bago ang araw na rollover at ang unang mensahe pagkatapos ng araw na rollover ay magiging iba sa halaga ng panahon.
Isaalang-alang ang isang mag-asawang exampnaglalarawan ng mekanismong ito:
Ipagpalagay na ang tagal ay 10s, ang phase ay 2.2s, at ang hakbang ay 0.2s. Dahil ang Tout, ayon sa pangalawang equation, ay maaari lamang kumuha ng mga halaga na maramihang hakbang, ang kaliwang bahagi ng unang equation ay kukuha ng mga sumusunod na halaga: 0, 0.2, 0.4, …, 9.8, 0, …, kung saan ang halaga lamang 2.2 yugto ng pagtutugma. Ang mga tugmang ito ay magaganap, at ang mensahe ay ilalabas, sa tuwing kukunin ng Tout ang isa sa mga sumusunod na halaga: 2.2s, 12.2s, 22.2s, atbp.
Ipagpalagay na ang tagal ay 10s, ang phase ay 2.2s, at ang hakbang ay 0.5s. Ang receiver ay hindi maglalabas ng mensahe dahil ang itaas na pares ng sabay-sabay na mga equation ay hindi kailanman nasisiyahan.
Kumbaga phase > period. Ang receiver ay hindi maglalabas ng mensahe sa lahat dahil ang unang equation ay hindi kailanman masisiyahan.
1.5.2 Bilang ng Output
Tandaan:
Ang field ng bilang ng mga parameter ng pag-iskedyul ng mensahe ay isang integer na halaga sa hanay [-256…32767) at nagsisilbi sa dalawang magkaibang layunin:
1. Kapag ang bilang ay 0, walang limitasyong bilang ng mga mensahe ang ilalabas. Kapag ang bilang ay higit sa 0, tinutukoy nito kung gaano karaming beses ilalabas ang mensahe. Sa kasong ito ang counter ay nababawasan ng 1 sa tuwing ang mensahe ay output, at kapag ito ay naging 0, ang F_DISABLED bit ay nakatakda sa field ng mga flag. Ang scheduler ng mensahe ay hindi naglalabas ng mga mensahe na may F_DISABLED bit set.
2. Kapag ang bilang ay nakatakda sa isang halaga sa hanay [-256…-1], ang output ng mensahe ay hindi pinipigilan, at ang patlang ng pagbibilang ay nagsisilbing ganap na naiibang layunin. Ito ay nagbibigay-daan sa pagbalot ng mensahe sa espesyal na [>>] na mensahe bago ang output (tingnan ang “[>>] Wrapper” sa pahina 132). Ang halaga ng bilang ay pagkatapos ay ginagamit upang itakda ang id field sa nabuong [>>] na mensahe upang ang id ay katumbas ng numero sa (-1 – bilang).
Ang tampok na pambalot ay kapaki-pakinabang, halimbawaample, para sa isang server application na nakakakuha ng mga mensahe mula sa receiver at ipinapasa ang mga ito sa maraming kliyente. Maaari itong humiling ng pagbabalot ng mga arbitrary na mensahe sa [>>] na mga mensahe na may iba't ibang mga identifier, i-unwrap ang mga natanggap na mensahe, at ipadala ang data sa partikular na (mga) kliyente batay sa natanggap na id. Gamit ang feature na ito, hindi kailangang malaman ng naturang application ang anumang iba pang format ng data kundi ang format ng [>>] na mensahe, at maaaring gumamit ng iisang channel ng komunikasyon sa receiver upang makakuha at magpadala ng mga mensahe sa iba't ibang format.
GREIS
www.javad.com
24
1.5.3 Mga Flag ng Output
PANIMULA Pana-panahong Output
Mga Flag ng Output
Ang field ng mga flag ng mga parameter ng pag-iskedyul ng mensahe ay isang 16-bit wide bit-field. Ang bawat bit ng bit field na ito ay isang hiwalay na bandila at nagsisilbing iba't ibang layunin. Ang sumusunod ay isang listahan ng mga flag ng pag-iiskedyul ng mensahe.
Talahanayan 1-1. Mga Bandila sa Pag-iskedyul ng Mensahe
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
Pangalan
F_OUT F_CHANGE F_OUT_ON_ADD F_NOTENA F_FIX_PERIOD F_FIX_PHASE F_FIX_COUNT F_FIX_FLAGS reserved reserved reserved F_DISABLED reserved
Tandaan: Ang mga pangalan ng field ay ipinakilala lamang dito para sa layunin ng pagtukoy sa kanila sa manwal na ito. Walang paraan upang gamitin ang mga ito sa mga utos ng GREIS.
F_OUT Kung nakatakda ang flag na ito, ang mga unang mensahe pagkatapos ng invocation ng kaukulang command ay ilalabas sa internal receiver epoch na pinakamalapit sa command execution time kahit ano pa ang tinukoy ng period scheduling parameter.
F_CHANGE Kung ang flag na ito ay nakatakda, ang kaukulang mensahe ay ilalabas lamang kung ang data ng mensahe ay nagbago mula noong huling output ng mensahe sa ibinigay na stream ng output. Sinusuri ng tatanggap kung ang data ng mensahe ay nagbago lamang sa mga sandaling tinukoy ng mga equation (1),(2) kung saan ang phase variable ay nakatakda sa zero, at ang period variable ay nakatakda sa value ng period field. Ang phase ng parameter ng pag-iiskedyul ng mensahe, na nawawala ang orihinal na function nito sa kasong ito, ay gumaganap na ngayon ng papel ng isang sapilitang panahon ng output. "Sapilitang output" ay nangangahulugan na ang kaukulang mensahe ay magiging output kung ang mga nilalaman nito ay nagbago o hindi sa mga sandali ng oras na tinukoy ng mga equation (1),(2) kung saan ang variable ng panahon ay nakatakda sa halaga ng field ng phase, at phase variable ay nakatakda sa zero. Kung ang field phase ay zero, ang receiver ay hindi nagsasagawa ng sapilitang output upang ang kaukulang mensahe ay magiging output lamang sa kondisyon na ang data nito ay nagbago.
GREIS
www.javad.com
25
PANIMULA Pana-panahong Output
Mga Flag ng Output
F_OUT_ON_ADD Kung nakatakda ang flag na ito, ang unang mensahe ay ilalabas kaagad pagkatapos isagawa ang kaukulang em o out command. Ang flag na ito ay hindi pinapansin para sa karamihan ng mga mensahe1.
F_NOTENA Kung ang flag na ito ay nakatakda para sa isang mensahe sa isang listahan ng output, ang F_DISABLED na bandila para sa mensaheng ito ay hindi mako-clear kapag ang mensahe ay pinagana, at samakatuwid ang output nito ay mananatiling suspendido. Para kay exampSa gayon, ginagamit ang watawat na ito upang hindi ma-output ang ilan sa mga mensahe mula sa default na hanay ng mga mensahe kapag mabilis na binago ng user ang panahon ng output, nang hindi muna pinapagana ang output.
F_FIX_PERIOD, F_FIX_PHASE, F_FIX_COUNT, F_FIX_PERIOD Dahil itinakda sa 1 sa mga parameter ng pag-iiskedyul, pigilan ang mga pagbabago sa kaukulang (mga) field ng mga parameter ng pag-iiskedyul na ito sa pamamagitan ng mga utos ng em at out.
F_DISABLED Ay hindi tahasang naprograma ng user. Kapag na-enable ng isa ang isang mensahe na may positibong bilang, pagkatapos, pagkatapos na ang mensaheng ito ay mabilang na bilang ng mga beses, itatakda ng tagapag-iskedyul ng mensahe ang bandilang ito sa 1. Ang bandilang ito ay iki-clear sa 0 kapag ang mensahe ay muling pinagana, maliban kung ang F_NOTENA na bandila ay nakatakda para sa ang mensaheng ito.
1. Sa kasalukuyan, dalawang mensahe lamang ng GREIS, [JP] at [MF], ang parangalan ang watawat na ito.
GREIS
www.javad.com
26
Kabanata 2
RECEIVER INPUT LANGUAGE
Inilalarawan ng kabanatang ito ang syntax at semantics ng input language ng receiver. Nagsisimula tayo sa ilang examples upang bigyan ang mambabasa ng pakiramdam ng wika, pagkatapos ay bumaling sa detalyadong kahulugan ng syntax, at pagkatapos ay ilarawan ang lahat ng tinukoy na mga utos kasama ang kanilang mga semantika.
2.1 Wika Halamples
Narito ang ilang exampkaunting mga totoong pahayag na naiintindihan ng tatanggap kasama ng mga tugon ng tatanggap. Makakahanap ka pa ng examples ng paggamit ng mga partikular na command sa kaukulang mga subsection. Ang input sa receiver ay minarkahan ng character, habang ang receiver output ay minarkahan ng character:
Example: Hilingin sa receiver na i-print ang electronic ID nito. Binubuo ng tatanggap ang mensahe ng tugon na ipinapakita:
Example:
print,/par/rcv/id RE00C QP01234TR45
Hilingin sa receiver na itakda ang baud rate ng serial port A nito sa 9600. Matagumpay na naisakatuparan ng receiver ang command at hindi bumubuo ng anumang tugon.
set,/par/dev/ser/a/rate,9600
Example: Gamitin ang parehong command tulad ng sa nakaraang example, ngunit pilitin ang receiver na bumuo ng tugon sa pamamagitan ng paggamit ng statement identifier.
Example:
%set_rate%set,/par/dev/ser/a/rate,9600 RE00A%set_rate%
Subukang magtakda ng masyadong mataas na baud rate. Tumugon ang tatanggap sa mensahe ng error kahit na wala kaming ginamit na statement identifier.
set,/par/dev/ser/a/rate,1000000 ER016{4,value out of range}
Tandaan:
Palaging inilalagay ng tatanggap ang normal nito at ang mga error na tugon sa dalawang karaniwang mensahe, [RE] at [ER], ayon sa pagkakabanggit. Para sa karagdagang impormasyon sa format ng mga mensaheng GREIS, sumangguni sa “Pangkalahatang Format ng Mga Mensahe” sa pahina 64. Ang mga [RE] at [ER] na mensahe mismo ay inilarawan sa “Mga Interactive na Mensahe” sa pahina 129.
GREIS
www.javad.com
27
RECEIVER INPUT LANGUAGE Language Syntax
2.2 Syntax ng Wika
Tinutukoy ng GREIS ang mga linya ng mga character na ASCII na may di-makatwirang haba1, na nililimitahan ng alinmang carriage-return ( , ASCII decimal code 13), o line-feed ( , ASCII decimal code 10) na mga character, upang maging pinakamataas na antas ng syntax na elemento ng wika. Ang mga walang laman na linya ay pinapayagan at hindi pinapansin sa GREIS. Bilang kinahinatnan, ang isang linya ay maaaring ma-delimite ng anumang kumbinasyon ng at/o mga karakter. Nagbibigay-daan ito sa GREIS na walang putol na suportahan ang WindowsTM, MacTM, at UNIXTM line ending convention.
Case-sensitive ang wika ng input ng receiver. Ibig sabihin, for example, ang mga string na GREIS, greis, at gReIs, bilang magkaibang mga string, ay talagang itinuturing na ganoon ng receiver.
Ang tanda ng numero (#, ASCII code 35) ay ang karakter ng pagpapakilala ng komento. Hindi pinapansin ng tatanggap ang lahat simula sa karakter na ito hanggang sa dulo ng linya.
Matapos alisin ang komento (kung mayroon man) mula sa linya, aalisin ng receiver ang mga puwang sa unahan at trailing, at pagkatapos ay hatiin ang linya sa mga pahayag. Ang mga pahayag ay nililimitahan ng semicolon (;, ASCII code 59), o may dalawa ampersands (&&, ASCII codes 38), o may dalawang vertical bar (||, ASCII codes 124). Ang mga pahayag sa isang linya ay pagkatapos ay isinasagawa sa pagkakasunud-sunod, mula kaliwa hanggang kanan. Kung ang pahayag na nagtatapos sa && delimiter ay gumagawa ng isang error, ang natitirang mga pahayag sa linya ay hindi isasagawa. Kung ang pahayag na nagtatapos sa || Ang delimiter ay matagumpay na naisagawa, ang natitirang mga pahayag sa linya ay hindi naisakatuparan. Ang pahayag na nagtatapos sa semicolon ay hindi tumitigil sa pagpapatupad ng pagkakasunod-sunod ng mga pahayag. Tandaan na ang dulo ng linya ay mismong statement terminator, kaya hindi mo kailangang maglagay ng isa sa mga tahasang statement delimiter sa dulo ng linya.
Ang format ng pahayag ay ang mga sumusunod:
[%ID%][COMMAND][@CS] kung saan ang mga square bracket ay tumutukoy sa mga opsyonal na field, at anumang bilang ng mga whitespace ay pinapayagan bago at pagkatapos ng bawat field. Ang ganitong mga whitespace ay binabalewala, maliban sa layunin ng pagkalkula ng checksum, tingnan sa ibaba. Ang mga patlang ay:
%ID% statement identifier, kung saan ang ID ay tumutukoy sa arbitrary string, posibleng walang laman. Ang identifier, kung naroroon, ay kinopya nang hindi binago ng tatanggap sa mensahe ng tugon para sa pahayag. Ang anumang pahayag na may identifier ay palaging bubuo ng tugon mula sa tatanggap. Ang isang pahayag na naglalaman lamang ng isang identifier ay pinapayagan din; sa ganoong kaso, bubuo lang ng mensahe ng tugon ang receiver.
COMMAND isang (posibleng walang laman) na listahan kung saan ang unang elemento ay tinatawag na command name. Ito ay nagsasaad ng aksyon na gagawin. Ang natitirang mga elemento (kung mayroon man) ay utos
GREIS
1. Ang kasalukuyang pagpapatupad ng GREIS sa mga receiver ay sumusuporta sa mga linya na hanggang 256 na character ang haba.
www.javad.com
28
RECEIVER INPUT LANGUAGE Language Syntax
mga argumento. Maaaring tanggalin ang mga brace na nakapalibot sa listahan ng command. Sumangguni sa “Mga Listahan” sa pahina 19 para sa syntax ng mga listahan. @CS checksum, kung saan ang CS ay 8-bit checksum na naka-format bilang 2-byte na hexadecimal na numero. Bago magsagawa ng statement na may checksum, ihahambing ng receiver ang input checksum CS laban sa na-compute ng firmware at tatangging isagawa ang statement kung hindi magkatugma ang mga checksum na ito. Kinuwenta ang checksum simula sa unang hindi blangko na character ng statement hanggang at kasama ang @ character. Tingnan ang “Computing Checksums” sa pahina 579 para sa mga detalye.
Ang statement identifier, %ID%, ay nagsisilbi sa mga sumusunod na layunin:
1. Pinipilit na tumugon ang receiver sa utos. 2. Nagbibigay-daan na magpadala ng maramihang mga utos na may magkakaibang mga pagkakakilanlan sa tatanggap
nang hindi naghihintay ng tugon para sa bawat utos, pagkatapos ay tanggapin ang mga tugon at sabihin kung aling tugon ang tumutugma sa kung aling utos. 3. Tumutulong na magtatag ng synchronization sa receiver sa pamamagitan ng pagpayag na suriin na ang partikular na tugon ng receiver ay tumutugma sa partikular na utos, at hindi sa ibang utos na inilabas bago o pagkatapos.
Ang isang listahan na tinatawag na mga opsyon ay maaaring idugtong sa anumang elemento ng COMMAND pagkatapos ng colon (:, ASCII code 58). Kung ang listahan ng mga opsyon ay binubuo ng isang elemento, ang mga nakapaligid na brace ay maaaring tanggalin. Ang listahan ng mga opsyon na idinagdag sa isang listahan ay kumakalat sa bawat elemento ng listahan, kahit na ang mga opsyon na tahasang idinagdag sa isang elemento ng listahan ay nangunguna sa mga pinalaganap na opsyon. Para kay example,
{e1,{e2:{o1,,o3},e3}}:{o4,o5}
ay katumbas ng:
{e1:{o4,o5},{e2:{o1,o5,o3},e3:{o4,o5}}}
Pansinin din kung paano pinahihintulutan ng napalampas na opsyong o2 ang opsyon ng o5 na magpalaganap sa listahan ng mga opsyon para sa elementong e2.
Ang bilang at ang kahulugan ng mga argumento at mga opsyon sa command ay depende sa partikular na command action at tinukoy sa paglalarawan ng bawat receiver command. Bilang karagdagan, kung ang paglalarawan ng utos ay tumutukoy sa ilang mga opsyon, ngunit ang ilan o lahat ng mga ito ay napalampas sa pahayag, ang mga default na halaga para sa mga napalampas na opsyon ay papalitan. Ang mga default na halaga para sa mga opsyon ay tinukoy din sa paglalarawan ng bawat command ng receiver.
GREIS
www.javad.com
29
RECEIVER INPUT LANGUAGE Language Syntax
Para sa sanggunian, nasa ibaba ang talahanayan na binubuo ng lahat ng mga pagkakasunud-sunod ng character na may espesyal na kahulugan sa wika ng input ng receiver:
Talahanayan 2-1. Mga Espesyal na Character ng Input na Wika
Mga Character Decimal ASCII code
Ibig sabihin
10
separator ng linya
13
separator ng linya
#
35
;
59
simula ng comment mark statements separator
&&
38
||
124
%
37
pahayag at pahayag ng separator o separator statement identifier mark
@
64
{
123
}
125
,
44
:
58
checksum mark simula ng list mark dulo ng list mark list elements separator options mark
”
34
panipi
92
tumakas
GREIS
www.javad.com
30
RECEIVER INPUT LANGUAGE Mga Utos
2.3 Mga Utos
Sa seksyong ito inilalarawan namin ang lahat ng mga utos na tinukoy sa GREIS. Ang mga detalye ng syntax at semantics ng bawat command ay sinamahan ng paliwanag na halamples. Para sa detalyadong paglalarawan ng mga bagay na ginamit bilang mga argumento sa examples, mangyaring sumangguni sa Kabanata 4 sa pahina 181.
GREIS
www.javad.com
31
2.3.1 set
RECEIVER INPUT LANGUAGE Nakatakda ang mga utos
Pangalan
itakda ang itinakdang halaga ng isang bagay.
buod
Format: set,object,value Mga Pagpipilian: wala
Mga argumento
object ang target na object identifier. Kung ang object ay hindi nagsisimula sa "/", pagkatapos ay ang "/par/" prefix ay awtomatikong ipinapasok bago ang object bago isagawa ang command.
halaga ang halaga na itatalaga sa target na bagay. Ang hanay ng mga pinapayagang halaga pati na rin ang mga semantika ng pagtatalaga ay depende sa uri ng bagay at tinukoy sa ibang pagkakataon sa manwal na ito para sa bawat sinusuportahang bagay.
Mga pagpipilian
wala.
Paglalarawan
Ang utos na ito ay nagtatalaga ng halaga sa bagay. Walang nabuong tugon maliban kung mayroong isang error o tugon ay pinilit ng pagkakakilanlan ng pahayag.
Examples
Example: Itakda ang baud rate ng serial port C sa 115200. Alinman sa:
set,/par/dev/ser/c/rate,115200 set,dev/ser/c/rate,115200
Example: Itakda ang baud rate ng serial port A sa 9600 at puwersahang tumugon:
%%set,dev/ser/a/rate,9600 RE002%%
GREIS
www.javad.com
32
2.3.2 pag-print
RECEIVER INPUT LANGUAGE Mga utos na naka-print
Pangalan
i-print ang halaga ng pag-print ng isang bagay.
buod
Format: print,object Options: {name}
Mga argumento
object ang object identifier ng object na magiging output. Kung ang object ay hindi nagsisimula sa "/", pagkatapos ay ang "/par/" prefix ay awtomatikong ipinapasok bago ang object bago isagawa ang command.
Mga pagpipilian
Talahanayan 2-2. buod ng mga pagpipilian sa pag-print
Uri ng Pangalan
Mga halaga
pangalan boolean on, off
Default
off
mga pangalan kung naka-off, mag-output lamang ng mga halaga ng object. Kapag naka-on, mag-output ng mga pangalan ng object bilang karagdagan sa mga value ng object sa format na NAME=VALUE.
Paglalarawan
Ang utos na ito ay nagpi-print ng halaga ng bagay, na opsyonal na inilalagay ang halaga sa pangalan ng katumbas na bagay. Ang tugon ay palaging nabuo, at higit sa isang [RE] na mensahe ay maaaring mabuo bilang tugon sa isang solong print command.
Ang halaga ng isang bagay ng listahan ng uri ay naka-print bilang isang listahan ng mga halaga para sa bawat bagay sa listahan. Inilapat ito nang pabalik-balik hanggang sa maabot ang mga bagay sa dahon, kaya ang pag-print ng isang bagay na hindi uri ng dahon ay epektibong naglalabas ng buong sub-tree simula sa tinukoy na bagay. Sa kaso ng pag-print ng mga listahan, maramihang [RE] na mensahe ang maaaring mabuo. Gayunpaman, ang paghahati ng output ay maaaring mangyari lamang kaagad pagkatapos ng mga character na separator ng listahan.
GREIS
www.javad.com
33
RECEIVER INPUT LANGUAGE Mga utos na naka-print
Examples
Example: I-print ang kasalukuyang panahon ng panloob na grid ng oras ng receiver. alinman sa:
print,/par/raw/curmsint RE004 100 print,raw/curmsint RE004 100
Example: I-print ang kasalukuyang panahon ng panloob na grid ng oras ng receiver kasama ang pangalan ng bagay. alinman sa:
print,/par/raw/curmsint:sa RE015/par/raw/curmsint=100 print,raw/curmsint:sa RE015/par/raw/curmsint=100
Example: I-print ang impormasyon ng bersyon ng receiver:
print,rcv/ver RE028{“2.5 Set,13,2006 p2″,0,71,MGGDT_5,none, RE00D {none,none}}
Example: I-print ang impormasyon ng bersyon ng receiver kasama ng mga kaukulang pangalan:
print,rcv/ver:on RE043/par/rcv/ver={main=”2.5 Set,13,2006 p2”,boot=0,hw=71,board=MGGDT_5, RE00C modem=none, RE017 pow={fw=none,hw=none}}
Example: I-print ang lahat ng mga mensaheng pinagana para sa output sa serial port B kasama ng kanilang mga parameter sa pag-iiskedyul:
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} jps/ET={0×01}, RE1.00,0.00,0,0D nmea/GGA={0×01}}
GREIS
www.javad.com
34
2.3.3 listahan
RECEIVER INPUT LANGUAGE Listahan ng mga utos
Pangalan
ilista ang mga nilalaman ng listahan ng isang bagay.
buod
Format: list[,object] Mga Pagpipilian: wala
Mga argumento
object ang object identifier ng object na magiging output. Kung ang bagay ay tinanggal, ang /log ay ipinapalagay. Kung ang object ay hindi nagsisimula sa "/", pagkatapos ay ang "/log/" prefix ay awtomatikong ipinasok bago ang object bago isagawa ang command.
Mga pagpipilian
wala.
Paglalarawan
Ang command na ito ay naglalabas ng mga pangalan ng bawat miyembro ng object. Ang tugon ay palaging nabuo, at higit sa isang [RE] na mensahe ang maaaring mabuo bilang tugon sa isang utos ng listahan. Kung ang bagay na tinukoy ay hindi nasa listahan ng uri, ang walang laman na [RE] na mensahe ay nabuo. Kung ang bagay na tinukoy ay isang listahan, ang listahan ng mga pangalan ng bawat bagay sa listahan ay naka-print. Inilapat ito nang recursively hanggang sa maabot ang mga bagay na dahon, kaya ang paglilista ng isang bagay na hindi uri ng dahon ay epektibong naglalabas ng buong sub-puno simula sa tinukoy na bagay. Sa kaso ng pag-print ng mga listahan, maramihang [RE] na mensahe ang maaaring mabuo. Gayunpaman, ang paghahati ng output ay maaaring mangyari lamang kaagad pagkatapos ng mga character na separator ng listahan.
Examples
Example: Walang laman na tugon para sa listahan ng isang bagay na hindi nakalista:
list,/par/rcv/ver/main RE000
Example: Error na tugon para sa listahan ng hindi umiiral na bagay:
list,/does_not_exist ER018{2,,maling 1st parameter}
GREIS
www.javad.com
35
RECEIVER INPUT LANGUAGE Listahan ng mga utos
Example: Kumuha ng listahan ng umiiral na log-files. alinman sa
listahan,/listahan ng log
gagawa ng parehong output, hal:
RE013{log1127a,log1127b}
Example: Ilista ang lahat ng karaniwang mensahe ng GREIS na sinusuportahan ng tatanggap:
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: Ilista ang lahat ng mga mensahe sa default na hanay ng mga mensahe:
list,/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/ECps,jps1 jps/040P,jps/1R,jps/2P,jps/E2,jps/D1,jps/E2,jps/SS,jps/SE,jps/PV, RE2 jps/ST,jps/DP,jps/TO,jps/DO,jps/UO,jps/IO,jps/GE,/jps/NE,jps jps/NA,jps/WE,jps/WA,jps/WO}
GREIS
www.javad.com
36
GREIS
2.3.4 em & out
RECEIVER INPUT LANGUAGE Nag-uutos sa em & out
Pangalan
em, out paganahin ang panaka-nakang output ng mga mensahe.
buod
Format: Format: Mga Pagpipilian:
em,[target],message out,[target],mensahe {period, phase, count, flags}
Mga argumento
i-target ang anumang output stream o set ng mensahe. Kung walang target na tinukoy, ang kasalukuyang terminal, /cur/term, ay ipinapalagay.
mga mensahe ang listahan (maaaring mayroon o walang nakapaligid na braces) ng mga pangalan ng mensahe at/o mga pangalan ng set ng mensahe na paganahin. Kung ang ilan sa mga tinukoy na pangalan ay hindi nagsisimula sa "/", kung gayon ang prefix na "/msg/" ay awtomatikong ipinapasok bago ang mga pangalan bago isagawa ang utos.
Mga pagpipilian
Talahanayan 2-3. buod ng mga opsyon sa em at out
Uri ng Pangalan
Mga halaga
Default
period float [0…86400)
–
phase float [0…86400)
–
bilangin ang integer [-256…32767] 0 para sa em 1 para sa labas
mga flag integer [0…0xFFFF] –
panahon, yugto, bilang, i-flag ang mga parameter ng pag-iiskedyul ng mensahe.
Paglalarawan
Ang mga utos na ito ay nagbibigay-daan sa pana-panahong output ng mga tinukoy na mensahe sa target, na nagpapatupad ng mga parameter ng pag-iiskedyul ng mensahe na ang mga tinukoy ng mga opsyon. Walang nabuong tugon maliban kung mayroong isang error, o ang tugon ay pinilit ng pagkakakilanlan ng pahayag.
Ang em at out command ay pareho maliban sa default na value ng count option ay nakatakda sa 0 para sa em, at 1 para sa out. Ang out command ay isang mas maginhawang paraan para humiling
www.javad.com
37
RECEIVER INPUT LANGUAGE Nag-uutos sa em & out
Tandaan:
isang beses na output ng (mga) mensahe. Magsasalita lang kami tungkol sa kanila sa paglalarawang ito kahit na ang lahat ay naaangkop din sa labas.
Inaasahan ng paglalarawan sa ibaba na pamilyar ang mambabasa sa materyal sa seksyong “Periodic Output” sa pahina 22.
Para sa bawat output stream, mayroong kaukulang listahan ng output ng mga mensahe1,2 na kasalukuyang pinagana upang maging output sa ibinigay na stream. Kapag ang isang mensahe ay ipinasa bilang argumento sa em command ay kasalukuyang wala sa listahan ng output, ang em command ay nagdaragdag ng tinukoy na mensahe sa dulo ng listahan. Kapag ang isang mensaheng ipinasa sa em command ay nasa listahan ng output, binabago lang ng em command ang mga parameter ng pag-iiskedyul ng mensaheng ito at hindi binabago ang posisyon ng mensahe sa loob ng listahan.
Habang pinagsasama ng em command ang mga tinukoy na mensahe sa listahan ng output, madalas magandang ideya na gumamit ng dm command upang i-clear ang listahan ng output para sa ibinigay na stream bago mag-isyu ng mga em command.
Pinoproseso ng em command ang listahan ng mga mensahe nang paisa-isa, mula kaliwa hanggang kanan, at mula sa unang mensahe ng mensahe na nakatakda hanggang sa huling mensahe ng set ng mensahe. Kung makakatagpo ito ng pangalan na hindi tumutugma sa anumang sinusuportahang mensahe ng receiver o set ng mensahe, natatandaan nitong nagkaroon ng error sa panahon ng pagpapatupad, ngunit hindi humihinto sa pagproseso ng listahan ng mga mensahe. Sa ganitong paraan mapapagana ang lahat ng mensahe mula sa listahan ng mga mensahe na maaaring paganahin, at iisang error lang ang iuulat kapag hindi ma-enable ang isa o higit pa sa mga tinukoy na mensahe.
Kapag ang em command ay nagpoproseso ng isang mensahe sa kamay, ang panghuling operating message scheduling parameters sa kaukulang listahan ng output ng mga mensahe ay kinakalkula na isinasaalang-alang ang maraming mapagkukunan ng impormasyon tungkol sa mga parameter ng pag-iiskedyul, partikular:
1. Mga value na tahasang tinukoy sa mga opsyon ng em command.
2. Ang mga default na halaga ng mga opsyon ng em command.
3. Pag-iskedyul ng mga parameter na tinukoy para sa ibinigay na mensahe bilang bahagi ng kaukulang hanay ng mensahe. Ang mga ito ay isinasaalang-alang lamang kapag pinapagana ang isang mensahe sa pamamagitan ng pagtukoy ng set ng mensahe, hindi isang indibidwal na mensahe.
4. Kasalukuyang mga parameter ng pag-iiskedyul ng mensahe sa kaukulang listahan ng output (kung mayroon man).
5. Default na mga parameter ng pag-iiskedyul na tinukoy para sa ibinigay na mensahe bilang bahagi ng kaukulang pangkat ng mensahe.
Ang mga pinagmumulan ng mga parameter sa itaas ay nakalista sa pagkakasunud-sunod ng kanilang precedence, ang una ay may pinakamataas na precedence, at inilapat nang paisa-isa sa bawat isa sa apat na parameter ng pag-iiskedyul. Samakatuwid, ang mga halaga mula sa (1) ay nag-o-override sa mga halaga mula sa (2), ang resultang halaga
GREIS
1. Para sa isang stream NAME, ang katumbas na listahan ng output ay tinatawag na /par/out/NAME 2. Ang kasalukuyang firmware ay may arbitrary na limitasyon para sa maximum na bilang ng mga mensahe sa isang listahan ng output na nakatakda sa 49.
www.javad.com
38
RECEIVER INPUT LANGUAGE Nag-uutos sa em & out
Ino-override ang value mula sa (3), atbp. Gayunpaman, kung ang ilan sa mga F_FIX_PERIOD, F_FIX_PHASE, F_FIX_COUNT, o F_FIX_FLAGS bits ay nakatakda sa flags field ng susunod na source, ang mga kaukulang field ng susunod na source na ito ay hindi ma-override.
Examples
Example: Paganahin ang isang beses na output ng NMEA GGA na mensahe sa kasalukuyang terminal:
em,,nmea/GGA:{,,1}
Pareho sa itaas, ngunit ginagamit sa halip na em:
labas,,nmea/GGA
Example: Paganahin ang output ng default na set ng mga mensahe sa kasalukuyang log-file A gamit ang default na mga parameter ng output. alinman sa:
Example:
em,/cur/file/a,/msg/def em,/cur/file/a,def
Paganahin ang output ng default na hanay ng mga mensahe sa kasalukuyang log-file A bawat 10 segundo Para sa iba pang mga parameter ng output, ang kanilang mga default na halaga ay gagamitin:
em,/cur/file/a,def:10
Example: Paganahin ang output ng default na set ng mga mensahe sa kasalukuyang terminal gamit ang mga default na parameter ng output. alinman sa:
Example:
em,/cur/term,/msg/def em,,/msg/def em,,def
Paganahin ang output ng mga mensaheng GREIS [~~](RT) at [RD] sa kasalukuyang terminal. alinman sa:
Example:
em,,/msg/jps/RT,/msg/jps/RD em,,jps/{RT,RD}
Paganahin ang output ng mga mensahe ng NMEA GGA at ZDA sa kasalukuyang terminal bawat 20 segundo:
Example:
em,,nmea/{GGA,ZDA}:20
I-enable ang output ng mga mensahe [SI], [EL] at [AZ] sa serial port A. Itakda ang mga parameter ng pag-iiskedyul para sa [SI] upang ang pagitan sa pagitan ng alinmang dalawang kasunod na [SI] na mensahe ay magiging katumbas ng 10 segundo, kung magkasabay, at 1 segundo kung hindi man; ilabas lamang ang unang limampung [SI] na mensahe. Bilang karagdagan, ang receiver, itakda ang pagitan ng output sa 2 segundo para sa [EL] at [AZ] na mga mensahe:
em,/dev/ser/a,jps/{SI:{1,10,50,0×2},EL,AZ}:2
GREIS
www.javad.com
39
RECEIVER INPUT LANGUAGE Nag-uutos sa em & out
Example: I-enable ang output ng RTCM 2.x na mga uri ng mensahe 1 at 31 sa serial port B na may output interval na 3 segundo, at RTCM 2.x na mga uri ng mensahe 18, 19, 3, 22 sa port C na may output interval 1 segundo para sa mga uri 18 at 19; at 10 segundo para sa mga uri 3 at 22:
em,/dev/ser/b,rtcm/{1,31}:3; em,/dev/ser/c,rtcm/{18:1,19:1,22,3}:10
Example: I-customize ang default na hanay ng mga mensahe upang maglaman lamang ng NMEA ZDA at GGA:
dm,/msg/def em,/msg/def,/msg/nmea/{ZDA,GGA}
GREIS
www.javad.com
40
2.3.5 dm
RECEIVER INPUT LANGUAGE Mga utos dm
Pangalan
dm huwag paganahin ang pana-panahong output ng mga mensahe.
buod
Format: dm[,[target][,mensahe]] Mga Pagpipilian: wala
Mga argumento
i-target ang anumang output stream o set ng mensahe. Kung walang target na tinukoy, ang kasalukuyang terminal, /cur/term, ay ipinapalagay. Kung ang ilan sa mga tinukoy na pangalan ay hindi nagsisimula sa "/", kung gayon ang prefix na "/msg/" ay awtomatikong ipinapasok bago ang mga pangalan bago isagawa ang utos.
mga mensahe ang listahan ng mga mensaheng idi-disable, mayroon man o walang nakapaligid na braces, o anumang grupo ng mensahe o set ng mensahe. Kung walang tinukoy na mga mensahe, ang lahat ng pana-panahong output sa target ay hindi pinagana.
Mga pagpipilian
wala.
Paglalarawan
Hindi pinapagana ng command na ito ang panaka-nakang output ng mga tinukoy na mensahe sa object target. Walang nabuong tugon maliban kung mayroong isang error, o ang tugon ay pinilit ng pagkakakilanlan ng pahayag.
Kung walang tinukoy na mensahe, ang lahat ng pana-panahong output sa target ay hindi pinagana. Kung ang target ay kasalukuyang log-file at walang mga mensahe ay tinukoy, ang lahat ng output sa file ay may kapansanan, ang file ay sarado, at kaukulang kasalukuyang log-file ay nakatakda sa wala.
Kung ang isang mensahe ay tinukoy sa listahan ng mga mensahe na kasalukuyang hindi pinagana upang maging output sa ibinigay na target, walang katumbas na error ang nabuo ng dm command. Bagama't hindi pinapagana ng kundisyong ito ang iba pang posibleng mga error mula sa pag-uulat.
Examples
Example: Huwag paganahin ang lahat ng mga mensaheng inilalabas sa kasalukuyang log-file A at isara ang file:
dm,/cur/file/a
GREIS
www.javad.com
41
RECEIVER INPUT LANGUAGE Mga utos dm
Example: Huwag paganahin ang lahat ng pana-panahong output sa kasalukuyang terminal. alinman sa:
dm,/cur/term dm
Example: I-disable ang output ng GREIS message [~~](RT) sa serial port B:
dm,/dev/ser/b,/msg/jps/RT
Example: I-disable ang output ng GREIS message [DO] sa kasalukuyang log-file B:
dm,/cur/file/b,/msg/jps/DO
Example: Alisin ang GREIS message [PM] mula sa default na set ng mga mensahe:
dm,/msg/def,/msg/jps/PM
Example: Huwag paganahin ang output ng lahat ng mga mensahe ng NMEA sa kasalukuyang terminal:
dm,/cur/term,/msg/nmea
Example: I-disable ang output ng mga mensahe ng NMEA na GGA at ZDA sa kasalukuyang terminal. alinman sa:
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 Mga utos init
Pangalan
init magpasimula ng mga bagay.
buod
Format: init,object[/] Mga Pagpipilian: wala
Mga argumento
tumutol sa bagay na sisimulan. / kung naroroon at ang bagay ay nasa listahan ng uri, sa halip ay simulan ang lahat ng nilalamang bagay
ng mismong bagay.
Mga pagpipilian
wala.
Tandaan: Tandaan:
Paglalarawan
Ang utos na ito ay nagpapasimula ng mga tinukoy na bagay. Walang nabuong tugon maliban kung mayroong isang error, o ang tugon ay pinilit ng pagkakakilanlan ng pahayag.
Ang eksaktong semantika ng pagsisimula ay nakasalalay sa bagay na sinisimulan, ngunit sa pangkalahatan ay maaaring ituring bilang isang bagay sa "default" o "malinis" na estado nito. Para kay example, para sa mga parameter nangangahulugan ito ng pagtatakda ng kanilang mga halaga sa mga kaukulang default, para sa filestorage device nangangahulugan ito ng muling pag-format sa pinagbabatayan na medium, atbp.
Ang pagsisimula ng ilan sa mga bagay ay magreresulta sa pag-reboot ng receiver. Ito ang kasalukuyang kaso para sa pagsisimula ng receiver non-volatile memory (/dev/nvm/a).
Bagama't maaari itong magbago sa hinaharap, ang kasalukuyang pagpapatupad ng generic na command na ito sa mga receiver ay medyo limitado. Sa katunayan, ang pagsisimula lamang ng mga bagay na matatagpuan sa exampkasalukuyang sinusuportahan ang les sa ibaba.
Examples
Example: I-clear ang NVRAM at reboot receiver. Ang lahat ng data na nakaimbak sa NVRAM (almanacs, ephemeris, atbp.) ay mawawala, ang lahat ng mga parameter ay itatakda sa kanilang mga default na halaga pagkatapos ng pag-reboot:
init,/dev/nvm/a
Example: Malinaw na ephemeris:
init,/eph/
GREIS
www.javad.com
43
RECEIVER INPUT LANGUAGE Mga utos init
Example: Itakda ang lahat ng mga parameter ng receiver sa kanilang mga default na halaga:
init,/par/
Example: Itakda ang lahat ng mga parameter ng WLAN sa kanilang mga default na halaga. Kinakailangan ang pag-reboot ng unit para magkabisa ang mga pagbabago:
init,/par/net/wlan/
Example: Initialize ang file system (ibig sabihin, i-reformat ang pinagbabatayan na medium). Lahat fileAng mga nakaimbak sa receiver ay mawawala:
init,/dev/blk/a
Example: Simulan ang lahat ng mga set ng mensahe sa kanilang mga default na halaga:
init,/msg/
GREIS
www.javad.com
44
2.3.7 lumikha
RECEIVER INPUT LANGUAGE Lumilikha ang mga utos
Pangalan
lumikha lumikha ng isang bagong bagay.
buod
Format: create[,object] Options: {log}
Mga argumento
object object identifier ng object na gagawin. Kung ang object ay hindi nagsisimula sa "/", pagkatapos ay ang "/log/" prefix ay awtomatikong ipinasok bago ang object bago isagawa ang command. Kung tinanggal, ang paglikha ng a file ay ipinapalagay at isang natatangi file awtomatikong nabuo ang pangalan.
Mga pagpipilian
Talahanayan 2-4. lumikha ng buod ng mga pagpipilian
Mga Halaga ng Uri ng Pangalan
log string a,b,...
Default
a
i-log ang log-file ang nilikha file ay itatalaga sa. Ang log-file ang napili ay /cur/log/X, kung saan ang X ay ang halaga ng opsyon1.
Paglalarawan
Ang utos na ito ay lumilikha ng isang bagong bagay. Walang nabuong tugon maliban kung mayroong isang error, o ang tugon ay pinilit ng pagkakakilanlan ng pahayag.
Parehong ang lokasyon sa puno at ang uri ng nilikhang bagay ay tinukoy ng object argument.
Dalawang uri ng mga bagay ang maaaring malikha:
1. Files. Isang bago file ay nilikha sa tuwing ang object identifier ay tumutukoy ng isang object sa isang /log sub-tree, o kapag ang object argument ay tinanggal.
2. Mga tagapagpahiwatig ng mensahe. Ang isang bagong tagapagpahiwatig ng mensahe ay nilikha sa tuwing ang object identifier ay tumutukoy sa isang bagay sa isang set ng mensahe (hal., /msg/def).
GREIS
1. Sinusuportahan ng kasalukuyang firmware ang alinman sa isa o dalawang magkasabay na pag-log-filedepende sa partikular na receiver.
www.javad.com
45
RECEIVER INPUT LANGUAGE Lumilikha ang mga utos
Lumilikha Files
Kapag lumilikha files, ang object argument ay maaaring tinanggal o may format na /log/NAME, kung saan ang NAME ay ang pangalan ng file na gagawin, at ang /log/ ay opsyonal. Sa dating kaso ang receiver ay awtomatikong pipili ng isang natatanging pangalan para sa file. Sa huling kaso ang NAME na tinukoy ay dapat na isang string ng hanggang 31 character at hindi dapat maglaman ng alinman sa mga puwang o mga sumusunod na character: “,{}()@&”/”.
Kung ang file Umiiral na ang /log/NAME, mabibigo ang create command at maglalabas ng mensahe ng error. Bilang kinahinatnan, walang paraan upang sirain ang ilan sa mga umiiral na files gamit ang command na lumikha.
Pagkatapos ng bago file ay matagumpay na nalikha, ito ay itinalaga sa isa sa kasalukuyang log-files depende sa halaga ng log_file opsyon. Kung kaukulang log-file nakaturo na sa isa pa file kapag ang paglikha ay naisakatuparan, ang lumang log-file ay isasara at ang output ay magpapatuloy sa bago file nang walang anumang pagkagambala.
Paglikha ng Mga Specifier ng Mensahe
Kapag nagdaragdag ng mga mensahe sa isang set ng mensahe, ang object argument ay may format na /msg/SET/GROUP/MSG, kung saan ang SET ay ang pangalan ng set ng mensahe kung saan dapat gumawa ng bagong mensahe, GROUP ay ang pangalan ng grupong kinabibilangan ng mensahe , at ang MSG ay ang pangalan ng mensahe mismo (hal., /msg/def/nmea/GGA, o /msg/jps/rtk/min/jps/ET).
Ang mga parameter ng pag-iiskedyul ng mensahe ay makokopya mula sa mga tinukoy para sa ibinigay na mensahe sa pangkat ng mensahe. Gamitin ang set command upang i-customize ang mga parameter ng pag-iiskedyul kung kinakailangan.
Examples
Lumilikha Files
Example: Gumawa ng bago file na may awtomatikong nabuong pangalan at italaga ito sa kasalukuyang logfile A (/cur/file/a). alinman sa:
lumikha lumikha,:a
Example: Gumawa ng bagong log-file na may pangalang “my_file”. alinman sa:
lumikha,/log/my_file:a lumikha, my_file
Example: Lumikha files"file1" at "file2", at italaga ang mga ito sa /cur/file/a at /cur/file/b:
lumikha,file1:a; lumikha,file2:b
GREIS
www.javad.com
46
RECEIVER INPUT LANGUAGE Lumilikha ang mga utos
Paglikha ng Mga Specifier ng Mensahe
Example: Magdagdag ng /msg/jps/ET na mga mensahe sa default na hanay ng mga mensahe:
lumikha,/msg/def/jps/ET
Example: Magdagdag ng NMEA GGA na mensahe sa default na hanay ng mga mensahe at pilitin ang panahon at yugto nito na palaging 10 at 5, ayon sa pagkakabanggit, anuman ang mga halaga para sa mga ito ay tutukuyin sa isang em o out na command:
gumawa,/msg/def/nmea/GGA set,/msg/def/nmea/GGA,{10,5,,0×30}
GREIS
www.javad.com
47
2.3.8 alisin
RECEIVER INPUT LANGUAGE Alisin ang mga utos
Pangalan
alisin alisin ang isang bagay.
buod
Format: alisin,bagay[/] Mga Pagpipilian: wala
Mga argumento
object object identifier ng bagay na aalisin. Kung ang object ay hindi nagsisimula sa "/", pagkatapos ay ang "/log/" prefix ay awtomatikong ipinasok bago ang object bago isagawa ang command.
/ kung naroroon at ang bagay ay nasa listahan ng uri, alisin ang lahat ng nilalaman ng bagay sa halip na ang bagay mismo.
Mga pagpipilian
wala.
Paglalarawan
Ang utos na ito ay nag-aalis (nagtatanggal) ng isang umiiral na bagay. Walang nabuong tugon maliban kung mayroong isang error, o ang tugon ay pinilit ng pagkakakilanlan ng pahayag. Kung walang object na tinukoy ng object, o kung hindi maalis ang object, magkakaroon ng error. Dalawang uri ng mga bagay ang maaaring alisin:
1. Files. Kung ang file ay isa sa kasalukuyang log-files, mabibigo ang utos at mabubuo ang mensahe ng error.
2. Mga tagatukoy ng mensahe mula sa mga set ng mensahe.
Examples
Example: Alisin ang log-file na may pangalang “NAME”. alinman sa:
alisin,/log/NAME alisin,NAME
Example: Alisin lahat ng log-files:
alisin,/log/
GREIS
www.javad.com
48
RECEIVER INPUT LANGUAGE Alisin ang mga utos
Example: Alisin ang GREIS standard [GA] na mensahe mula sa default na hanay ng mga mensahe:
alisin,/msg/def/jps/GA
Example: Alisin ang lahat ng mensahe mula sa default na hanay ng mga mensahe:
alisin,/msg/def/
Example: Alisin ang lahat ng mensahe mula sa minimal na hanay ng mga karaniwang mensaheng GREIS na angkop para sa RTK:
alisin,/msg/rtk/jps/min/
GREIS
www.javad.com
49
2.3.9 kaganapan
RECEIVER INPUT LANGUAGE Nag-uutos ng kaganapan
Pangalan
ang kaganapan ay bumuo ng libreng-form na kaganapan.
buod
Format: kaganapan, string Mga Pagpipilian: wala
Mga argumento
string ng arbitrary1 string na binubuo ng hanggang 63 character.
Mga pagpipilian
wala.
Tandaan: Halample:
Paglalarawan
Ang command na ito ay bumubuo ng isang free-form na kaganapan. Walang nabuong tugon maliban kung mayroong isang error, o ang tugon ay pinilit ng pagkakakilanlan ng pahayag.
Ang ibinigay na string kasama ang oras ng pagtanggap ng event command ay naka-imbak sa receiver sa espesyal na event buffer2. Ang mga nilalaman ng buffer na ito ay output sa lahat ng output stream kung saan ang karaniwang GREIS message [==](EV) (inilalarawan sa pahina 131) ay pinagana.
Ang free-form na mekanismo ng kaganapan ay inilaan para sa mga control program na magpasa ng di-makatwirang impormasyon ng teksto sa mga post-processing application nang hindi binibigyang-kahulugan ang impormasyong ito sa receiver. Ang core ng receiver firmware ay hindi kailanman bumubuo ng mga free-form na kaganapan sa sarili nitong, o kahit papaano ay binibigyang-kahulugan nito ang impormasyong ipinadala sa pamamagitan ng mga utos ng kaganapan.
Ang lahat ng mga string na nagsisimula sa underscore na character (ASCII 0x5F) ay nakalaan para sa mga aplikasyon ng JAVAD GNSS. Dapat gawin ang pag-iingat na ang mga naturang string ay hindi ginagamit sa mga utos ng kaganapan maliban kung hindi mo magagawa ang iyong gawain kung hindi man o nilayon na makipagtulungan sa ilang JAVAD GNSS software. Sa huling kaso, mangyaring sumangguni sa detalyadong paglalarawan ng mga libreng-form na kaganapan na nakalaan para sa mga aplikasyon ng JAVAD GNSS sa gabay na "Format ng Frame para sa Mga Kaganapang Libreng-Form", na makukuha mula sa http://www.javad.com.
Bumuo ng isang free-form na kaganapan na naglalaman ng string na “Info1″:
kaganapan, Impormasyon1
GREIS
1. Alalahanin na kung ang isang string ay naglalaman ng alinman sa mga character na nakalaan para sa wika ng pag-input ng receiver, dapat mong ilakip ang string na ito sa double quotes.
2. Ang kasalukuyang firmware ay nagbibigay ng buffer na sapat na malaki upang mag-imbak ng hanggang labing-anim na 64 byte na free-form na mga kaganapan.
www.javad.com
50
RECEIVER INPUT LANGUAGE Nag-uutos ng kaganapan
Example: Bumuo ng isang free-form na kaganapan na naglalaman ng mga nakalaan na character:
kaganapan,"EVENT{DATA,SENT}"
Example: Bumuo ng free-form na kaganapan na nakalaan para sa JAVAD GNSS application software (ang kaganapang ito ay nag-aabiso sa post-processing na application tungkol sa pagbabago ng dynamics):
kaganapan,”_DYN=STATIC”
Example: Bumuo ng isang free-form na may walang laman na string:
kaganapan,""
Example: Bumuo ng ilang free-form na kaganapan at ibalik ang [==](EV) na mga mensahe (sa mga nilalaman ng [==] mga mensaheng hindi napi-print na byte ay pinapalitan ng mga tuldok sa example):
em,,jps/EV %accepted% event,”some string” RE00A%accepted% ==011…..some_string. %1% kaganapan,1; %2% kaganapan,2 RE003%1% RE003%2% ==007…..1. ==007…..2. dm,,jps/EV
GREIS
www.javad.com
51
2.3.10 makuha
RECEIVER INPUT LANGUAGE Nakukuha ng mga utos
Pangalan
simulan ang pagkuha ng file nilalaman gamit ang DTP1.
buod
Format: get,object[,offset] Options: {timeout,block_size,period,phase,attempts}
Mga argumento
object object identifier ng file na bawiin. Kung ang object ay hindi nagsisimula sa "/", pagkatapos ay ang "/log/" prefix ay awtomatikong ipinasok bago ang object bago isagawa ang command. Kung ang bagay ay hindi umiiral o hindi maaaring makuha, isang mensahe ng error ay nabuo.
offset offset sa bytes mula sa simula ng file kung saan magsisimulang kunin. Kung aalisin, 0 ang ipinapalagay.
Mga pagpipilian
Talahanayan 2-5. kumuha ng buod ng mga opsyon
Pangalan
Uri
Mga halaga
timeout
integer [0…86400], segundo
block_size integer [1…163841]
panahon
lumutang [0…86400), segundo
yugto
lumutang [0…86400), segundo
sumusubok ng integer [-257…100] 1. 2048 para sa mga receiver na hindi sumusuporta sa TCP o USB.
Default
10 512 0 0 10
timeout ang timeout para sa DTP. block_size ang laki ng isang DTP data block. panahon ng panahon ng output para sa pagsala (tingnan sa ibaba). phase ang output phase para sa pagsala (tingnan sa ibaba). sumusubok ng iba't ibang kahulugan depende sa hanay, gaya ng sumusunod:
1. Tingnan ang “Data Transfer Protocol” sa pahina 580.
GREIS
www.javad.com
52
RECEIVER INPUT LANGUAGE Nakukuha ng mga utos
[1…100] maximum na bilang ng mga pagtatangka na gagawin ng DTP transmitter upang magpadala ng isang bloke. Kapag nakatakda sa 1, ang espesyal na streaming mode ay isinaaktibo (tingnan sa ibaba).
0 sa halip na simulan ang DTP, mag-output ng mga hilaw na nilalaman ng bagay. [-256…-1] sa halip na simulan ang DTP, ilabas ang mga nilalaman ng bagay na nakabalot
[>>] mga mensahe.
-257 sa halip na simulan ang DTP, ilabas ang mga nilalaman ng bagay na nakabalot sa [RE] na mga mensahe.
Paglalarawan
Ang utos na ito ay nagsisimula sa pagkuha ng a file sa host computer gamit ang Data Transfer Protocol (DTP) o raw output format. Walang nabuong tugon maliban kung mayroong isang error, o ang tugon ay pinilit ng pagkakakilanlan ng pahayag.
Kapag nasa DTP mode, pagkatapos magtagumpay ang get command, ang DTP transmitter ay magsisimula sa receiver at maghihintay para sa DTP receiver na tumakbo sa host. Samakatuwid, upang aktwal na makuha ang anumang data, ang isa ay nangangailangan ng pagpapatupad ng DTP receiver sa host.
Ang opsyonal na offset argument ay nagbibigay-daan sa host na magpatupad ng suporta para sa pagpapatuloy ng naantala na paglilipat ng data. Tandaan na ang paghahanap sa isang malaking offset ay maaaring mangailangan ng medyo mahabang oras upang gumanap sa receiver. Upang wastong ipatupad ang pagpapatuloy sa host software, pilitin ang receiver na tumugon sa get command gamit ang statement identifier at hintayin ang tugon mula sa receiver bago patakbuhin ang DTP sa host. Ang pamamaraang ito ay tumatagal ng advantage ng katotohanan na ang receiver ay tumugon sa get command pagkatapos maisagawa ang seek.
Kapag ang opsyon sa mga pagtatangka ay nakatakda sa 1, ang DTP transmitter ay ilalagay sa tinatawag na streaming mode. Sa mode na ito, pagkatapos matanggap ang unang NACK mula sa DTP receiver, ang DTP transmitter ay mag-stream ng mga bloke ng data nang hindi naghihintay ng mga ACK mula sa DTP receiver, at ang transmitter ay agad na aabort ang paglipat ng data kung matanggap ang NACK. Ang diskarte na ito ay nagbibigay-daan sa makabuluhang mas mabilis na paglipat ng data sa mga maaasahang koneksyon na may matataas na latency (tulad ng TCP) o medyo mataas na direksyon ng switch sa itaas (tulad ng USB). Ang wastong ipinatupad na pagtanggap ng bahagi ng protocol ay hindi nangangailangan ng anumang espesyal na pangangalaga upang suportahan ang pamamaraang ito.
Kapag ang opsyon sa panahon ay non-zero espesyal na filtering mode ay naisaaktibo. Para kay example, pinapayagan nitong mag-download ng 1Hz data mula sa a file na isinulat gamit ang 10Hz update rate. Sa partikular, ipapadala lamang ng receiver ang data para sa mga panahon kung saan natutugunan ng receiver time modulo isang araw (Tr) ang sumusunod na equation:
Tr {mod period} = yugto
Upang makamit ito, pinapa-parse ng receiver ang mga nilalaman ng file at sinasala ang ilan sa mga mensahe. Tandaan na ang pagpapatupad ng pagpapatuloy ng naantalang pag-download ay napakahirap kung
GREIS
www.javad.com
53
RECEIVER INPUT LANGUAGE Nakukuha ng mga utos
hindi imposible sa kasong ito dahil sa ang katunayan na ang host ay walang ideya sa kung ano ang offset ng receiver file ang pag-download ay naantala.
Anuman sa mga uri ng paglilipat ay maaaring i-abort sa pamamagitan ng pagtanggap ng data sa pamamagitan ng pagpapadala ng anumang simbolo ng error sa DTP (hal., ASCII '#').
Kapag naglilipat ng data sa mga [RE] na mensahe, ang halaga ng block_size ay tutukoy sa maximum na laki ng data payload para sa bawat [RE] na mensahe (nalilimitahan din ng laki ng internal firmware buffer). Gaya ng dati, ang bawat [RE] na mensahe ay magsisimula sa command ID (kung mayroon man).
Kapag naglilipat ng data sa [>>] na mga mensahe, ang halaga ng opsyon sa mga pagtatangka ay tutukuyin ang id field ng [>>] na mga mensahe tulad ng sumusunod:
id = -1 – mga pagtatangka
at ang halaga ng “block_size” ay tutukuyin ang maximum na laki ng data payload para sa bawat [>>] mensahe (limitado rin ng laki ng internal firmware buffer).
Ang susunod na byte pagkatapos ng id (ang unang byte ng field ng data) sa [>>] na mensahe ay magiging sequence character na nagsisimula sa ASCII na simbolo 0 at nadaragdagan ang modulo 64 para sa bawat mensahe, na nagreresulta sa pagkakasunod-sunod ng mga simbolo ng ASCII mula 0 hanggang XNUMX. o, kasama:
seq = 0 loop { seq_char = '0' + (seq++ % 64) }
Ang sequence character ay nagbibigay-daan sa receiving end na matukoy ang pagkawala ng [>>] (mga) mensahe sa sequence.
Pagkatapos ay susundan ang object data payload na hanggang block_size bytes, at pagkatapos ay ang check sum, ayon sa format ng [>>] na mensahe.
Ang matagumpay na output sa naka-wrap na mode ay palaging tatapusin ng [>>] na mensaheng walang data payload, upang payagan ang pagtanggap ng pagtatapos na mapagkakatiwalaang matukoy ang pagtatapos ng paglilipat.
Examples
Example: Simulan ang pagkuha ng mga nilalaman ng file NAME gamit ang DTP. alinman sa:
Example:
get,/log/NAME get,NAME
Simulan ang pagkuha ng mga nilalaman ng file NAME simula sa byte number 3870034 (nagbibilang ng byte mula sa zero). Asahan ang medyo mahabang panahon upang pumasa sa pagitan ng utos at ng tugon:
%%get,NAME,3870034 RE002%%
GREIS
www.javad.com
54
RECEIVER INPUT LANGUAGE Nakukuha ng mga utos
Example: Simulan ang pagkuha ng mga nilalaman ng file my_logfile simula sa byte 3000 gamit ang timeout na 50 segundo at block size na 8192 bytes:
makuha, my_logfile:{50,8192},3000
Example: Simulan ang pagkuha ng mga nilalaman ng file Sinasala ng NAME ang mga panahon upang makuha ang resulta file magiging 0.1Hz data:
makuha,NAME:{,,10}
Example: Simulan ang pagkuha ng mga nilalaman ng file NAME gamit ang streaming mode (mga pagtatangka na opsyon ay nakatakda sa 1):
makuha,NAME:{,,,,1}
Example: Ipadala ang mga nilalaman ng file Ibinalot ang NAME sa [>>] mga mensahe na may id 61 (na simbolo ng ASCII '='), na gumagamit ng hanggang 128 byte ng data bawat mensahe:
makuha,NAME:{,128,,,-62}
Example: Ipadala ang mga nilalaman ng file Ibinalot ni NAME sa [RE] na mga mensahe gamit ang hanggang 190 bytes ng data sa bawat mensahe, na prepended ng %MY_ID%:
%MY_ID%get,NAME:{,190,,,-257}
GREIS
www.javad.com
55
2.3.11 ilagay
RECEIVER INPUT LANGUAGE Mga utos na inilagay
Pangalan
simulan mo file pag-upload gamit ang DTP1.
buod
Format: ilagay,object[,offset] Mga Opsyon: {timeout, block_size}
Mga argumento
object object identifier ng file upang isulat ang data sa. Kung ang object ay hindi nagsisimula sa "/", pagkatapos ay ang "/log/" prefix ay awtomatikong ipinasok bago ang object bago isagawa ang command.
offset offset sa bytes mula sa simula ng file kung saan magsisimulang magsulat. Kung aalisin, 0 ang ipinapalagay.
Mga pagpipilian
Talahanayan 2-6. ilagay ang buod ng mga pagpipilian
Pangalan
Uri
Mga halaga
Default
timeout
integer [0…86400], segundo 10
block_size integer [1…163841]
512
1. 2048 para sa mga receiver na hindi sumusuporta sa TCP o USB.
timeout ang timeout para sa DTP. block_size ang laki ng isang DTP data block.
Paglalarawan
Ang utos na ito ay nagsisimula sa pag-upload ng data mula sa host computer sa isang file sa receiver gamit ang Data Transfer Protocol (DTP). Walang nabuong tugon maliban kung mayroong isang error, o ang tugon ay pinilit ng pagkakakilanlan ng pahayag.
Matapos magtagumpay ang put command, ang DTP receiver ay magsisimula sa receiver at maghihintay para sa DTP transmitter na patakbuhin sa host. Samakatuwid, upang aktwal na mag-upload ng anumang data, ang isa ay nangangailangan ng pagpapatupad ng DTP transmitter sa host.
1. Tingnan ang “Data Transfer Protocol” sa pahina 580.
GREIS
www.javad.com
56
RECEIVER INPUT LANGUAGE Mga utos na inilagay
Ang opsyonal na offset argument ay nagbibigay-daan sa host na magpatupad ng suporta para sa pagpapatuloy ng naantala na paglilipat ng data. Ang isang non-zero offset na halaga ay nagbibigay-daan sa host na humiling ng pagdaragdag ng data sa dulo ng isang umiiral na file ng tugmang laki.
Kung ang offset ay 0 at ang file bagay ay hindi umiiral, ang receiver ay susubukan na lumikha at magbukas para sa pagsusulat ng bago file na may pangalang tinukoy ng bagay. Sa kasong ito, mabibigo ang utos kung mayroon nang a file na may ibinigay na pangalan.
Kung ang offset ay mas malaki sa 0, at mayroong a file bagay, at ang file ang laki ay katumbas ng halaga ng offset, pagkatapos ay bubuksan ng put command ang file bagay para idugtong. Sa kasong ito ang utos ay mabibigo kung walang umiiral file na may ibinigay na pangalan o kung ang laki ng umiiral file ay hindi tumutugma sa mga tinukoy ng offset.
Examples
Example: Simulan ang pag-upload ng data sa bago file “NAME” gamit ang DTP. alinman sa:
Example:
ilagay,/log/NAME ilagay,NAME
Simulan ang pag-upload ng data at idagdag ang mga ito sa umiiral na file “PANGALAN”. Gumamit ng default na DTP timeout at DTP block size na 4096 bytes. Kunin ang laki ng file bago simulan ang pag-upload (tandaan na ang file ang laki ay kinakailangan pa rin sa host upang malaktawan nito ang bilang ng mga byte mula sa pinagmulang data nito file):
Example:
print,/log/NAME&size RE008 3870034 ilagay,/log/NAME:{,4096},3870034
Simulan ang pag-upload ng data sa bago file “my_logfile” gamit ang timeout na 50 segundo at laki ng block na 8192 bytes:
ilagay, my_logfile:{50,8192}
GREIS
www.javad.com
57
2.3.12 fl
RECEIVER INPUT LANGUAGE Mga utos fld
Pangalan
naglo-load ng fld firmware.
buod
Format: fld,id,object Mga Pagpipilian: {timeout, block_size}
Mga argumento
id string na naglalaman ng receiver electronic ID1. Kung hindi tumutugma ang tinukoy na ID sa aktwal na electronic ID ng receiver, mabibigo ang command at maglalabas ng mensahe ng error.
object object identifier ng pinagmulan ng firmware na ilo-load. Alinman sa pangalan ng tatanggap file, o ang pangalan ng isang input port. Kapag ito ang pangalan ng input port, ang alinman sa /cur/term o aktwal na pangalan ng kasalukuyang port ay dapat ibigay, kung hindi ay iuulat ang error.
Mga pagpipilian
Talahanayan 2-7. buod ng mga pagpipilian sa fld
Pangalan
Uri
Mga halaga
timeout
integer [0…86400], segundo
block_size integer [1…163841] 1. 2048 para sa mga receiver na hindi sumusuporta sa TCP o USB.
Default
10 512
timeout ang timeout para sa DTP. block_size ang laki ng isang DTP data block.
Paglalarawan
Ang utos na ito ay naglo-load ng firmware mula sa tinukoy na bagay papunta sa receiver at pagkatapos ay ni-reset ang receiver. Walang nabuong tugon maliban kung mayroong isang error, o ang tugon ay pinilit ng pagkakakilanlan ng pahayag.
1. Maaaring makuha ang ID gamit ang print,/par/rcv/id command.
GREIS
www.javad.com
58
RECEIVER INPUT LANGUAGE Mga utos fld
Babala:
Kung may power failure o nakamamatay na pagkaantala ng paglipat ng firmware sa pamamagitan ng isang port sa panahon ng paglo-load, ang receiver ay maaaring pumunta sa isang semi-working na estado kung saan ang firmware lamang na naglo-load sa pamamagitan ng RS-232 port na gumagamit ng "power-on capture" na paraan ay posible.
Kung ang bagay ay nagtalaga ng isang umiiral na file1, susuriin muna ng receiver kung ang file naglalaman ng wastong firmware para sa receiver (ito ay tumatagal ng ilang segundo upang makumpleto). Kung magtagumpay ang pagsusuri, ilo-load ng receiver ang firmware at pagkatapos ay magsagawa ng self-reset. Tandaan na ang tugon sa utos (kung mayroon man) ay ipapadala pagkatapos maisagawa ang pagsusuri ngunit bago magsimula ang pag-load ng firmware. Ang mga opsyon sa timeout at block_size ay binabalewala sa kasong ito.
Kung ang object ay nagtalaga ng input stream, ipapadala ng command ang tugon (kung mayroon man) at pagkatapos ay simulan ang DTP receiver na maghihintay para sa DTP transmitter na patakbuhin sa host. Samakatuwid, upang aktwal na mag-upload ng firmware, kailangan ng isa sa pagpapatupad ng DTP transmitter sa host. Ang self reset (reboot) ay isasagawa ng receiver pagkatapos na matagumpay na makumpleto o maantala ang paglo-load.
Examples
Example: Mag-load ng firmware mula sa file “firmware.ldp” sa receiver na may electronic ID 123456789AB. Asahan na lumipas ang ilang segundo sa pagitan ng pagpapadala ng command at pagtanggap ng tugon, habang sinusuri ng receiver ang file para sa validity ng firmware:
%%fld,123456789AB,/log/firmware.ldp RE002%%
Example: Simulan ang pag-upload ng firmware mula sa USB port gamit ang block size na 16384 bytes at timeout ng 20 segundo. Kumuha ng electronic ID bago ibigay ang utos:
print,rcv/id RE00C 8PZFM10IL8G fld,8PZFM10IL8G,/dev/usb/a:{20,16384}
GREIS
1. Inaasahan na ang file na naglalaman ng firmware ay na-upload nang maaga sa receiver, halimbawa, gamit ang put command.
www.javad.com
59
RECEIVER INPUT LANGUAGE Mga utos fld
GREIS
www.javad.com
60
Kabanata 3
RECEIVER MESSAGES
Inilalarawan ng kabanatang ito ang pangkalahatang format ng mga karaniwang mensahe ng GREIS pati na rin ang mga partikular na format ng lahat ng paunang natukoy na mensahe. Bukod sa mga karaniwang mensahe ng GREIS, sinusuportahan ng receiver ang ilang mga mensahe ng iba't ibang mga format, tulad ng NMEA o BINEX. Ang mga format ng mga mensaheng "banyaga" ay inilarawan sa dulo ng kabanatang ito.
3.1 Mga Kombensiyon
3.1.1 Mga Detalye ng Format
Upang ilarawan ang ilang format bilang isang pagkakasunud-sunod ng bytes1 sa isang compact na form, tinutukoy namin ang mga format para sa ilang pangunahing uri ng field at pagkatapos ay gumagamit ng notation na malapit sa mga ginagamit sa C programming language upang bumuo ng mga kahulugan ng mas kumplikadong mga format:
struct NAME {LENGTH} { TYPE FIELD[COUNT]; // DESCRIPTION … TYPE FIELD[COUNT]; // DESCRIPTION
};
saan:
PANGALAN ang pangalan na itinalaga sa format na ito. Maaari itong magamit sa ibang mga kahulugan ng format bilang URI ng isang field.
LENGTH ang haba sa byte ng buong sequence. Para sa isang nakapirming haba na format, ito ay isang numero, para sa isang variable na haba ng mensahe, ito ay maaaring alinman sa isang arithmetic expression depende sa ilang iba pang mga variable na parameter o lamang ang string var.
TYPE FIELD[COUNT] field descriptor. Inilalarawan nito ang isang sequence ng COUNT elemento ng parehong TYPE na itinalaga ang pangalang FIELD. Ang TYPE ay maaaring isa sa mga pangunahing uri ng field na inilarawan sa ibaba, o isang NAME ng isa pang format. Kapag wala ang [COUNT], ang field ay binubuo ng eksaktong isang elemento. Kapag wala ang COUNT (ibig sabihin, mayroon lamang mga walang laman na square bracket, []), nangangahulugan ito na ang field ay binubuo ng hindi tinukoy na bilang ng mga elemento.
GREIS
1. Sa konteksto ng kabanatang ito, ang ibig sabihin ng "byte" ay 8-bit na entity. Ang hindi bababa sa makabuluhang bit ng isang byte ay may index zero.
www.javad.com
61
RECEIVER MESSAGES Convention
Mga Detalye ng Format
DESCRIPTION paglalarawan ng field kasama ang mga unit ng pagsukat nito at pinapayagang hanay ng mga halaga, kung naaangkop. Ang mga yunit ng pagsukat ay napapalibutan ng mga square bracket.
Ang mga sumusunod na pangunahing uri ng field ay tinukoy:
Talahanayan 3-1. Pangunahing Uri ng Patlang
Uri ng Pangalan
Ibig sabihin
Haba sa Bytes
a1
ASCII character
1
i1
nilagdaang integer
1
i2
nilagdaang integer
2
i4
nilagdaang integer
4
u1
unsigned integer
1
u2
unsigned integer
2
u4
unsigned integer
4
f4
IEEE-754 single precision floating point
4
f8
IEEE-754 double precision floating point
8
str
zero-terminated sequence ng ASCII characters variable
Upang ganap na matukoy ang partikular na format, kailangan din nating tukuyin ang pagkakasunud-sunod ng mga byte sa pangunahing hindi pinagsama-samang mga field na multi-byte (i2, i4, u2, u4, f4, f8). Para sa mga mensaheng GREIS ang order na ito ay tinukoy ng [MF] na mensahe, tingnan ang “[MF] Messages Format” sa pahina 74 para sa mga detalye.
Gamit ang mga kahulugan sa itaas, posible na (recursively) palawakin ang anumang detalye ng format sa kaukulang sequence ng mga byte. Para kay example, ang format
struct Halample {9} { u1 n1; f4 n2; i2 n3[2];
};
lumalawak sa sumusunod na pagkakasunud-sunod ng mga byte na ipinapalagay na hindi bababa sa makabuluhang byte first (LSB) order:
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
RECEIVER MESSAGES Standard Message Stream
Mga Espesyal na Halaga
at sa sumusunod na pagkakasunud-sunod ng mga byte na ipinapalagay ang pinaka makabuluhang byte first (MSB) order:
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)
kung saan ang x[i](j) ay nagtatalaga ng j-th byte (byte #0 na hindi gaanong makabuluhan) ng isang i-th na elemento ng field na x.
3.1.2 Mga Espesyal na Pagpapahalaga
Para sa mga binary na mensahe, ang ilan sa kanilang integer at floating point na mga field ay maaaring maglaman ng mga espesyal na halaga, na ginagamit sa halip na aktwal na data kapag walang data para sa field na magagamit. Ang mga binary field kung saan ang pagsuri para sa mga espesyal na halaga ay kinakailangan sa panahon ng pagkuha ng data ay minarkahan ng tandang padamdam, "!" sa unang column ng field definition.
Tinutukoy ng sumusunod na talahanayan ang mga espesyal na halaga para sa iba't ibang uri ng field ng data:
Talahanayan 3-2. Mga Espesyal na Halaga para sa Mga Field
Uri ng Field
i1 u1 i2 u2 i4 u4 f4 f8
Espesyal na Halaga
127 255 32767 65535 2147483647 4294967295 tahimik NaN tahimik NaN
Kinatawan ng HEX
7F FF 7FFF FFFF 7FFF_FFFF FFFF_FFFF 7FC0_0000 7FF8_0000_0000_0000
3.2 Karaniwang Stream ng Mensahe
Ang karaniwang stream ng mensahe ng GREIS ay isang pagkakasunud-sunod ng hindi hihigit sa dalawang uri ng mga mensahe, mga karaniwang mensahe ng GREIS, at hindi karaniwang mga text message.
Ang pinakamahalaga at malawakang ginagamit na uri ng mga mensahe ay isang rich set ng mga karaniwang mensahe ng GREIS. Ang kanilang pangkalahatang format ay maingat na idinisenyo upang payagan ang parehong binary at text mes-
www.javad.com
63
RECEIVER MESSAGES Pangkalahatang Format ng Mga Mensahe
Mga Karaniwang Mensahe
matalino, at upang gawing posible para sa mga application na mahusay na laktawan ang mga mensaheng hindi alam ng application o hindi interesado.
Ang suporta para sa hindi karaniwang mga text message, na dapat pa ring sumunod sa format na tinukoy para sa mga ito sa manwal na ito, ay ginagawang posible na paghaluin ang mga karaniwang mensahe ng GREIS sa mga mensahe ng ilang iba pang mga format sa karaniwang stream ng data ng GREIS. Isang exampAng mga naturang format ay mga mensahe ng NMEA.
Hindi karaniwang mga text message ng isang espesyal na kaso, ang mga mensaheng naglalaman lamang ng ASCII at/o character, ay ipinapasok ng message formatting engine sa receiver sa pagitan ng mga karaniwang mensahe ng GREIS upang gawing mas nababasa ng tao ang nagresultang stream ng mensahe kapag ipinadala ito sa isang terminal o generic na text viewer o editor application.
Bukod sa mga karaniwang mensahe ng GREIS at hindi karaniwang mga text message, karaniwang sinusuportahan ng mga tagatanggap ng JAVAD GNSS ang maraming iba pang mga format (hal., RTCM, BINEX, CMR). Gayunpaman, ang mga format na iyon ay hindi tugma sa format ng karaniwang stream ng mensahe ng GREIS. Kung ang isang stream ay naglalaman ng mga mensahe ng mga format na iyon, hindi na ito matatawag na GREIS na karaniwang stream ng mensahe, at hindi na ma-parse ng parehong mga panuntunan tulad ng karaniwang stream.1
3.3 Pangkalahatang Format ng Mga Mensahe
3.3.1 Mga Karaniwang Mensahe
Ang format ng bawat karaniwang mensahe ay ang mga sumusunod:
struct StdMessage {var} {
a1 id[2];
// Identifier
a1 haba[3];
// Hexadecimal body length, [000…FFF]
u1 katawan[haba]; // Katawan
};
Ang bawat karaniwang mensahe ay nagsisimula sa natatanging identifier ng mensahe na binubuo ng dalawang ASCII character. Ang anumang mga character mula sa subset na "0" hanggang sa "~" (ibig sabihin, mga decimal na ASCII code sa hanay na [48…126]) ay pinapayagan sa identifier.
GREIS
1. Sa katunayan, ang format ng mga karaniwang mensahe ng GREIS ay napaka-flexible na maaari nitong isama ang anumang stream ng data sa karaniwang stream ng data ng GREIS, ngunit pagkatapos ay ang orihinal na hindi tugmang stream ay dapat na balot sa isang pagkakasunud-sunod ng mga espesyal na mensahe ng GREIS. Ang paunang natukoy na mensahe na may pantukoy na ">>" ay nagsisilbi sa layuning ito.
www.javad.com
64
RECEIVER MESSAGES Pangkalahatang Format ng Mga Mensahe
Hindi karaniwang mga Text Message
Ang Message identifier ay sinusundan ng haba ng field ng body ng mensahe. Ang field na ito, na binubuo ng tatlong upper-case na hexadecimal digit, ay tumutukoy sa haba ng katawan ng mensahe sa mga byte. Kaya ang maximum na haba ng body ng mensahe ay 4095 (0xFFF) bytes.
Ang katawan ng mensahe ay sumusunod kaagad pagkatapos ng field ng haba at naglalaman ng eksaktong bilang ng mga byte na tinukoy ng field ng haba. Walang mga paghihigpit sa mga nilalaman ng katawan ng mensahe na ipinahiwatig ng pangkalahatang format. Ang format ng katawan ng mensahe sa isang mensahe ay tahasang tinukoy ng tagatukoy ng mensahe. Mga format ng mga katawan ng mensahe ng lahat ng paunang natukoy na mga mensahe
3.3.2 Hindi karaniwang mga Text Message
Ang format ng hindi karaniwang mga text message ay ang mga sumusunod:
struct NonStdTextMessage {var} {
a1 id;
// Identifier, [!…/]
a1 katawan[];
// Katawan ng di-makatwirang haba, [0…)
a1 eom;
// Katapusan ng mensahe ( o )
};
Ang Message identifier ay anumang character sa range [!… /] (decimal ASCII codes sa range [33…47]). Ang identifier ng mensahe ay opsyonal. Kung wala, ang katawan ng mensahe ay dapat na may haba na zero (ibig sabihin, wala rin dapat).
Ang katawan ng mensahe ay isang pagkakasunud-sunod ng mga ASCII na character maliban sa (decimal code 13) at (decimal code 10) na mga character. Walang limitasyon sa haba ng katawan ang ipinapataw ng format.
Ang dulo ng marker ng mensahe ay alinman o karakter.
Tandaan na pinapayagan ng format ang mga hindi karaniwang mensahe na binubuo lamang ng mga CR o LF na character. Binibigyang-daan ng feature na ito na gawing mas madaling mabasa ng tao ang mga karaniwang stream ng mensahe ng GREIS kapag nag-output ng data sa isang terminal na pangkalahatang layunin o viewgamit ang generic na teksto vieway o editor.
Ang isa sa mga hindi karaniwang identifier ng text message, ang character na "$", ay nakalaan na bilang identifier para sa mga karaniwang mensahe ng NMEA. Walang ibang hindi karaniwang mga text message ang dapat gumamit ng "$" bilang identifier.
3.3.3 Pag-parse ng Stream ng Mensahe
Sa seksyong ito, makikita mo ang ilang mga pahiwatig at tip sa kung paano magsulat ng code na nilayon upang i-parse ang mga stream ng mensahe ng isang GREIS receiver. Bagama't hindi namin tatalakayin ang paksang ito nang detalyado sa sangguniang manwal na ito, nais naming bigyang-diin dito na ang karaniwang mensahe
GREIS
www.javad.com
65
RECEIVER MESSAGES Pangkalahatang Format ng Mga Mensahe
Pag-parse ng Stream ng Mensahe
format ay magbibigay-daan sa iyo upang epektibong iproseso/i-parse ang halos anumang stream ng mensahe ng GREIS na maaari mong makaharap sa pagsasanay.
Tandaan:
Pag-synchronize
Kapag nag-parse ng stream ng mensahe, kailangan mo munang maghanap ng pinakamalapit na hangganan ng mensahe. Ito ang karaniwang tinatawag na “synchronization”. Isinasagawa ang pag-synchronize ng mensahe kapag sinimulan ang pag-parse o kapag nawala ang synchronization dahil sa isang error sa stream ng data. Sa katunayan, upang gawing simple ang algorithm, maaari mong isaalang-alang na naka-synchronize ka na kapag sinimulan mong i-parse ang stream ng data. Kung mangyari na hindi talaga ito ang kaso, dapat mangyari ang error sa pag-parse. Pagkatapos ay lalaktawan mo ang isang character mula sa input stream at magpanggap na muli kang naka-synchronize. Ang ganitong diskarte ay epektibong nag-aalis ng gawain sa pag-synchronize bilang isang hiwalay na bahagi ng parsing algorithm.
Dahil sa katotohanan na ang rate ng mga error sa isang makatwirang kapaki-pakinabang na stream ng data ay dapat na medyo mababa, ang pag-synchronize ay hindi dapat isang madalas na gawain. Bilang karagdagan, ang stream ng data ng GREIS ay karaniwang binubuo ng mga maikling mensahe, kaya ang distansya sa pinakamalapit na hangganan ng mensahe ay karaniwang maliit. Isinasaalang-alang ang mga pagsasaalang-alang na ito, walang kinakailangan para sa algorithm ng pag-synchronize na maging napakabilis.
Tandaan:
Lumalaktaw sa Susunod na Mensahe
Ang pagkakaroon ng haba sa pangkalahatang format ng karaniwang mga mensahe ng GREIS ay nagbibigay-daan sa iyong madaling balewalain ang mga mensahe nang hindi nalalaman ang format ng kanilang katawan. Talagang lubos naming inirerekomenda ang pagsulat ng mga parser upang malaktawan nila ang mga hindi kilalang mensahe.
Upang pumunta mula sa kasalukuyang mensahe patungo sa susunod, gawin ang mga sumusunod na hakbang:
1. Ipagpalagay na ang kasalukuyang mensahe ay nagsisimula sa posisyong “N”. Tukuyin ang kasalukuyang haba ng mensahe (pag-decode ng mga character ## N+2, N+3, N+4). Ipagpalagay na ang haba ng mensahe ay katumbas ng L. Laktawan ang unang L+5 character simula sa posisyong “N”.
2. Laktawan ang lahat ng at mga character (kung mayroon man).
Sa mahigpit na pagsasalita, hindi namin inirerekomenda na gamitin mo sa iyong parsing code ang anumang apriori na impormasyon tungkol sa mga laki at nilalaman ng mga katawan ng mensahe. Kung igagalang mo ang rekomendasyong ito, hindi ka magkakaroon ng problema sa programa sa pag-parse sakaling mabago ang ilan sa mga mensahe.
Ang mga panuntunan at pahiwatig sa pag-parse ng mga katawan ng mensahe ng karaniwang paunang-natukoy na mga mensaheng GREIS ay tinatalakay sa ibang pagkakataon sa “Parsing Message Bodies” sa pahina 67.
GREIS
www.javad.com
66
GREIS
RECEIVER MESSAGES Standard Predefined Messages
Pag-parse ng Mga Katawan ng Mensahe
3.4 Mga Karaniwang Paunang Natukoy na Mensahe
Sa seksyong ito, magiging pamilyar tayo sa mambabasa sa paunang natukoy na hanay ng mga karaniwang mensahe ng GREIS. Kapag tinutukoy ang isang mensahe na may pantukoy na XX, ginagamit namin ang notasyon [XX]. Bagama't ang karamihan sa mga mensahe ay tinatawag sa pamamagitan ng kanilang identifier ng mensahe sa GREIS, ang ilan sa mga ito, partikular ang mga may hindi alphanumeric na identifier, ay may mga pangalan na naiiba. Para sa mga ganoong mensahe ginagamit ang notation [XX](NN), kung saan ang XX ay message identifier, at ang NN ay pangalan ng mensahe na gagamitin sa mga GREIS command. Para kay exampAng mensaheng [~~](RT) ay may header na “~~” at tinatawag na /msg/jps/RT sa mga utos ng GREIS.
Tinutukoy ng seksyong ito ang mga format ng mga katawan para sa lahat ng karaniwang paunang-natukoy na mga mensahe. Tandaan na sa isang stream ng data ang bawat mensahe ay may karaniwang header na tinukoy din ng pangkalahatang format.
3.4.1 Pag-parse ng Mga Katawan ng Mensahe
Pinapayagan ang Mga Extension ng Format
Ang mga format ng binary na mensahe na may nakapirming laki ng mensahe ay nagbibigay-daan upang magdagdag ng higit pang mga field ng data sa hinaharap. Ang mga bagong field ay pinapayagang maipasok lamang sa dulo ng katawan ng mensahe bago ang checksum field (kung mayroon man). Ang mga naturang pagbabago sa mga katawan ng mensahe ay itinuturing na mga extension ng format, hindi mga hindi tugmang pagbabago.
Bagama't ang mga karaniwang GREIS na text message ay hindi mga mensaheng may nakapirming laki ng mensahe, maaari pa ring lumitaw ang mga bagong field sa mga mensaheng ito sa hinaharap. Maaaring ipasok ang mga bagong field sa dulo ng isang umiiral nang text message bago ang checksum field, o kaagad bago ang anumang right-hand brace (}). Para kay example, isang mensahe na kasalukuyang binabasa bilang:
…1,{21,22},3,@CS
maaaring i-extend mamaya sa
…1,{2.1,2.2,2.3},3,4,@CS
kung saan dalawang karagdagang field, "2.3" at "4", ang idinagdag.
Ipatupad ang iyong mga algorithm sa pag-parse nang isinasaalang-alang ang mga sumusunod na panuntunan upang gumana ang mga ito kahit na sa hinaharap na mga extension ng format:
1. Huwag ipagpalagay na ang laki ng katawan ng mensahe ng natanggap na mensahe ay dapat na eksaktong tumugma sa partikular na laki na tinukoy sa dokumentong ito. Tanging kung ang mensahe ay masyadong maikli ang ibig sabihin nito ay hindi mo magagamit ang mga nilalaman nito. Kung ang mensahe ay mas mahaba kaysa sa inaasahan, huwag pansinin ang labis na data.
2. I-address ang checksum field na may kaugnayan sa dulo ng message body.
www.javad.com
67
RECEIVER MESSAGES Standard Predefined Messages
Pangkalahatang Tala
3. I-address ang ibang mga field ng data na nauugnay sa simula ng katawan ng mensahe. 4. Isaalang-alang ang panuntunan sa itaas para sa pagpapalawig ng mga text message kung kailan
pagsulat ng data extractors para sa mga text message.
Mga checksum
Matapos makuha ang isang mensahe mula sa stream ng data gamit ang mga diskarteng inilarawan sa "Pag-parse ng Stream ng Mensahe" sa pahina 65, at ang identifier ng mensahe ay lumilitaw na isa sa mga interesado sa application, ang katawan ng mensahe ay dapat na i-parse upang kunin ang data . Bago kunin ang mga nilalaman, ang checksum ng mensahe ay dapat kalkulahin at ihambing laban sa checksum na nilalaman sa mensahe.
Karamihan sa mga paunang natukoy na mensahe ay naglalaman ng checksum. Kinuwenta ang checksum gamit ang header ng mensahe (ibig sabihin, "tagatukoy ng mensahe" kasama ang "haba ng katawan ng mensahe") at ang katawan mismo. Tingnan ang “Computing Checksums” sa pahina 579 para sa karagdagang impormasyon sa checksum computation.
Palaging inilalagay ang checksum sa pinakadulo ng katawan ng mensahe. Kung binago ang istraktura ng isang mensahe sa pamamagitan ng pagdaragdag ng (mga) bagong field ng data, idaragdag ang mga bagong field ng data bago ang checksum field. Ipinapaliwanag nito kung bakit inirerekomendang tugunan ang field ng checksum na nauugnay sa dulo ng katawan ng mensahe.
3.4.2 Pangkalahatang Tala
Mga Scale ng Oras
Mayroong limang sukat ng oras na maaaring hawakan ng iyong receiver:
Tr receiver time Tg GPS system time Tu UTC(USNO). Universal Coordinated Time na sinusuportahan ng US Naval Obser-
vatory. Tn GLONASS system time. Ts UTC(SU). Universal Coordinated Time na sinusuportahan ng State Time at Fre-
Serbisyo ng quency, Russia.
Ang "oras ng tatanggap" ay ang tanging grid ng oras na palaging magagamit sa iyong tatanggap (ibig sabihin, ang iba pang mga grid ng oras mula sa listahan sa itaas ay maaaring kasalukuyang magagamit o hindi).
Sa katunayan, palaging sini-synchronize ng JAVAD GNSS receiver ang oras ng receiver nito sa isa sa apat na global time scale: GPS time, UTC(USNO), GLONASS time, o UTC(SU). Ang
GREIS
www.javad.com
68
GREIS
RECEIVER MESSAGES Standard Predefined Messages
Pangkalahatang Tala
ang time grid kung kaya't napili ay tinutukoy bilang "receiver reference time" (Trr) pagkatapos nito sa seksyong ito1.
Ang iba't ibang sistema ng oras ay maaaring may magkakaibang mga notasyon ng oras (mga format) na nauugnay sa mga ito (hal., para sa oras ng GPS, ginagamit namin ang mga terminong gaya ng "numero ng linggo", "oras ng linggo", atbp.). Tandaan, gayunpaman, na ang representasyon ng "oras ng tatanggap" ay hindi nakasalalay sa napiling oras ng sanggunian ng tatanggap at palaging kinakatawan bilang petsa at oras ng araw ng tatanggap.
Karamihan sa mga paunang natukoy na mensahe ay hindi naglalaman ng impormasyon ng oras ng sanggunian sa loob. Sa aming view, magiging labis ang paggamit ng isa at sa parehong oras tag kasama ang lahat ng maraming mensahe na nabuo ng receiver sa kasalukuyang panahon. Kapag nag-output ng impormasyon ng receiver na magagamit para sa kasalukuyang panahon, karaniwan kang nakakakuha ng iba't ibang mga mensahe. Sa halip na bigyan ang bawat isa sa kanila ng isang indibidwal na oras tag data field, gumagamit kami ng espesyal na mensahe na nagdadala ng impormasyon sa oras ng receiver na karaniwan para sa mga mensaheng ito. Ang mensaheng ito ay tinatawag na "Receiver Time" at mayroong identifier [~~].
Gayunpaman, mayroong isang mode ng operasyon, na tinatawag na RTK delayed mode, kapag sa isang partikular na epoch na receiver ay maaaring gumawa ng solusyon na isinangguni sa ilang iba pang kapanahunan sa nakaraan. Upang magbigay ng oras tag para sa naturang solusyon, espesyal na Oras ng Solusyon-Tag Ginagamit ang [ST] na mensahe. Sa katunayan ang mensaheng ito ay nagbibigay ng tamang oras tag para sa isang solusyon sa lahat ng mga mode ng pagpapatakbo, bagaman sa karamihan ng mga mode ito ay may eksaktong kaparehong oras ng [~~].
Mayroong ilang iba pang mga mensahe na may oras tag field ng data. Iyon ay mga mensaheng naglalaman ng impormasyon na hiwalay na lumalabas sa grid ng epoch ng receiver. Isang example ng naturang mensahe ay "Kaganapan" [==].
Mga delimiter
Sa katunayan, ang "Receiver Time" na mensahe ay dapat na mauna sa lahat ng iba pang mga mensaheng nabuo sa kasalukuyang panahon kaya nililimitahan ang mga mensaheng nauugnay sa iba't ibang panahon. Mula sa isang pormal na punto ng view, nasa user na tukuyin ang pagkakasunud-sunod ng mga mensahe sa output stream. Gayunpaman, dapat mag-ingat upang matiyak na ang pagkakasunud-sunod kung saan ang mga mensahe ay nakasulat sa output stream ay hindi masira ang "epoch synchronization", na napakahalaga para sa post-processing ng naka-log na data gamit ang JAVAD GNSS software packages. Para sa higit pang mga detalye sa default na hanay ng mga mensahe tingnan ang “Mga Set ng Mensahe” sa pahina 562.
Para sa mga real-time na application, mahalagang matukoy ang katapusan ng panahon sa lalong madaling panahon. Para sa mga ganitong aplikasyon ay hindi maginhawa ang pagde-delimimit ng mga kapanahunan sa pamamagitan ng isang "pagsisimula ng kapanahunan". Iminumungkahi naming gamitin ang mensaheng “Epoch Time” [::](ET) bilang “end of epoch” marker. Ang mensaheng ito ay naglalaman ng parehong field ng oras ng araw na makikita sa mensaheng "Oras ng Tatanggap" na nagbibigay-daan para sa mas mahusay na pagsuri sa integridad. Ang ideya ay upang ihambing ang oras tag
1. Sa kasalukuyang receiver firmware ang receiver reference time ay GPS o GLONASS system time, sumangguni sa /par/raw/time/ref sa pahina 220
www.javad.com
69
GREIS
RECEIVER MESSAGES Standard Predefined Messages
Pangkalahatang Tala
mula sa [::] mensahe laban sa oras tag mula sa kaukulang [~~] mensahe. Hindi tugma tags ay isang indikasyon ng sirang panahon.
Mapapansin mo na karamihan sa mga mensahe ay may mga identifier na binubuo lamang ng mga digit at/o mga letrang Ingles. Sa katunayan, ang "Receiver Time" [~~] ay ang tanging mensahe na ang identifier ay gumagamit ng character na "~". Makatuwiran dahil ang mensaheng [~~] ay gumaganap ng isang napakahalagang bahagi na nagsisilbing isang delimiter ng panahon. Kaya mayroong mga espesyal na pag-iingat upang mabawasan ang posibilidad na mawala ang mahalagang mensaheng ito. Katulad nito, ang identifier ng mensaheng "Kaganapan" ([==]), ay dapat ding maging katangi-tangi hangga't maaari dahil ang application software ay maaaring gumamit ng mga free-form na kaganapan bilang mga delimiter.
Napakalinaw ng ideya ng paggamit ng mga "highly distinctive" identifier para sa mga mensaheng nagsisilbing delimiter. Kung mali ang checksum ng isang mensahe, tingnan lang ang identifier nito. Kung wala sa mga character ng identifier ang tumutugma sa "~", kung gayon napaka-malabong ito ay isang sirang [~~] na mensahe. Samakatuwid, hindi mo kailangang lumaktaw sa susunod na [~~] na mensahe sa kasong ito.
Sa kabilang banda, kung ang isang mensahe ay may tamang checksum ngunit ang isa sa mga karakter ng pagkakakilanlan ay "~", kung gayon mas ligtas na ituring ang mensaheng ito bilang isang sirang [~~] na mensahe. Sa kasong ito, lumaktaw sa susunod na [~~] na mensahe.
Mga Uri ng Solusyon
Ang field na "solType" na ginamit sa marami sa mga paunang natukoy na mensahe ay tumutukoy sa uri ng katumbas na solusyon at maaaring may mga sumusunod na halaga:
Talahanayan 3-3. Mga Uri ng Solusyon
Halaga
Ibig sabihin
0
hindi
Mga Dokumento / Mga Mapagkukunan
![]() |
JAVAD GREIS GNSS Receiver External Interface [pdf] Gabay sa Gumagamit GREIS GNSS Receiver External Interface, GREIS, GNSS Receiver External Interface, Receiver External Interface, External Interface, Interface |