|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
vilko Član
Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3351 Aktiv.: 15.00 Kraj: Dragomer
|
Objavljeno: Sob Jul 06, 2013 6:46 pm Naslov sporočila: Ukazi za GPS miške ? |
|
|
Razne GPS naprave dajejo podatke po NMEA protokolu.
Le ta vsebuje različne tipe telegramov. Mene zanima samo $GPRMC telegram, ker vsebuje vse podatke, ki jih potrebujem.
Kako dopovedati miški, da naj mi pošilja samo ta telegram in ne ostalih, ki jih je kar nekaj in se podatki podvajajo. Seveda lahko presortiram telegrame v mikroprocesorju, a imam poleg tega v mikroprocesorju še nekaj prekinitvenih rutin, ki bi jih rad čim manj motil, in RX prekinitvena rutina, ki bere NMEA telegrame je ostalim rutinam motnja. Vpliv te motnje bi rad zmanjšal tako, da ne bi sprejemala telegrame, ki niso $GPRMC
Menda obstojajo ukazi, s katerimi miški dopovem, kaj bi od nje rad, kako pogosto bi to od nje rad, s kakšno bodno hitrostjo naj daje podatke in podobno, a v NMEA dokumentaciji jih ne najdem.
Prosim kak namig.
Pozdrav
VS |
|
Nazaj na vrh |
|
|
mucek Član
Pridružen-a: Tor 01 Avg 2006 10:47 Prispevkov: 5338 Aktiv.: 24.68 Kraj: Domzale
|
Objavljeno: Sob Jul 06, 2013 7:33 pm Naslov sporočila: |
|
|
Za to se boš moral obrniti kar na dokumentacijo same GPS miške; navadno se jo z določenim ukazom ali prav povezavo kakšnega pina na VCC ali GND spravi v "ukazni način" (AT mode ...), kjer se da sprogramirati, kaj naj "miška" pošilja.
NMEA protokol je definiran (kot vem) le kot podatki, ki se pošiljajo z GPS naprave in ne ukazni nizi za to napravo programirati.
LP, Gregor _________________ ...lahko pa se tudi motim ... |
|
Nazaj na vrh |
|
|
Vlado Član
Pridružen-a: Sre 03 Mar 2004 21:35 Prispevkov: 561 Aktiv.: 2.51 Kraj: Ljubljana
|
Objavljeno: Sob Jul 06, 2013 7:53 pm Naslov sporočila: |
|
|
Vilko,
enkrat sem posredoval dokument z NMEA ukazi.
V tem dokumentu so ukazi tudi za GPS ki dela s SiRF protokolom.
na hitro sem našel iz enega projekta:
"Config Nmea"
"$PSRF103,00,00,01,00*24" 'GGA einschalten
"$PSRF103,05,00,01,00*21" 'VTG einschalten
"$PSRF103,01,00,00,01*25" 'GLL abschalten
"$PSRF103,02,00,00,01*26" 'GSA abschalten
"$PSRF103,03,00,00,01*27" 'GSV abschalten
"$PSRF103,04,00,00,01*20" 'RMC abschalten
"$PSRF103,06,00,00,01*22" 'MSS abschalten
Iz tega sledi da tretji byte v podatku predstavlja vklop/izklop pošiljanja podatka, seveda je potrebno zračunati tudi čeksum da bo ukaz pravilno sprejet.
Obstaja tudi ukaz s katerim se GPS-u pove kako pogosto naj pošilja podatke.
Grega, ne bo držalo, NMEA ukaze lahko tudi pošiljaš napravam ki komunicirajo s tem protokolom. |
|
Nazaj na vrh |
|
|
mucek Član
Pridružen-a: Tor 01 Avg 2006 10:47 Prispevkov: 5338 Aktiv.: 24.68 Kraj: Domzale
|
Objavljeno: Sob Jul 06, 2013 8:38 pm Naslov sporočila: |
|
|
Vlado, hvala za popravek - vzeto na znanje.
Dosedaj sem delal le na način, kot sem opisal ...
Lp, g _________________ ...lahko pa se tudi motim ... |
|
Nazaj na vrh |
|
|
tretjic Član
Pridružen-a: Čet 24 Sep 2009 1:19 Prispevkov: 394 Aktiv.: 2.21 Kraj: Postojna
|
Objavljeno: Ned Jul 07, 2013 1:30 am Naslov sporočila: |
|
|
Še vsak GPS modul, ki sem ga uporabljal, je imel za to drugačne ukaze. Pri nekaterih tega sploh ni možno nastaviti. Se pravi da poglej v datasheet. |
|
Nazaj na vrh |
|
|
vilko Član
Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3351 Aktiv.: 15.00 Kraj: Dragomer
|
Objavljeno: Ned Jul 07, 2013 6:22 am Naslov sporočila: |
|
|
Tega sem se bal.[/list] |
|
Nazaj na vrh |
|
|
Waldo Član
Pridružen-a: Pet 02 Nov 2007 10:50 Prispevkov: 316 Aktiv.: 1.57 Kraj: Maribor
|
Objavljeno: Pon Jul 08, 2013 10:07 am Naslov sporočila: |
|
|
Ukazi za upravljanje GPS sprejemnika so odvisni od chipseta, ki je uporabljen (SIRF, MTK, ...). Sicer se prenašajo po NMEA standardu, vendar so "lastniški" in jih definira vsak proizvajalec posebaj. Sem pa tudi že doživel, da so bile nekatere bolj napredne funkcije chipseta blokirane s strani proizvajalca sprejemnika.
Vsi moduli, ki sem jih do sedaj uporabljal, so imeli možnost izbire vrste in frekvence pošiljanja posameznih stavkov.
Tako da poglej datasheet čipseta, ki je vgrajen v sprejemnik in bo tam verjetno pisalo vse, kar potrebuješ. |
|
Nazaj na vrh |
|
|
red_mamba Član
Pridružen-a: Ned 20 Feb 2005 17:56 Prispevkov: 1486 Aktiv.: 6.65 Kraj: Yogyakarta
|
Objavljeno: Pon Jul 08, 2013 10:17 am Naslov sporočila: |
|
|
A ni najbolj enostavno samo sparsati podatke ki jih potrebujes?
Tako sem jaz naredil na enem svojem projektu v C# ampak se, da v vecini jezikov to bolj ali manj enostavno resiti. Torej ce bi rad izklopil podatke zato, da se izognes parsanju podatkov raje vprasaj kako se parsa podatke pa bomo spravili kodo skupaj z manj napora _________________ Bad things happen to good people all the time for no reason!
Blog |
|
Nazaj na vrh |
|
|
vilko Član
Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3351 Aktiv.: 15.00 Kraj: Dragomer
|
Objavljeno: Pon Jul 08, 2013 10:48 am Naslov sporočila: |
|
|
Če misliš z 'sparsati' prebrati vse podatke, obdelati pa samo relevantne, potem je to nekaj, kar znam. Ampak v ta namen mora mikroprocesor prebrati tudi podatke, ki jih ne potrebujem, samo zato, da jih kasneje zavržem, in to bi mu rad prišparal. V dveh drugih prekinitvenih podprogramih namreč štejem impulze in računam frekvence, pa bi rad, da bi te druge prekinitvene rutine bile čim manj motene.
Če GPS pošilja vsako sekundo 10 različnih telegramov, (ki jih ne potrebujem), vsak pa ima po 60 znakov (recimo) je to kar 600 prekinitev v sekundi, se bojim, da bo to preveč.
Sicer pa velja: probat je treba. Morda pa vidim probleme tam, kjer jih ni. |
|
Nazaj na vrh |
|
|
protoncek Član
Pridružen-a: Sre 31 Jan 2007 9:41 Prispevkov: 9573 Aktiv.: 45.55 Kraj: Mengeš
|
Objavljeno: Pon Jul 08, 2013 11:11 am Naslov sporočila: |
|
|
Skrajna rešitev je tudi dodaten kontrolerček, ki bo delal samo to: sprejemal GPS podatke in pošiljal glavnemu kontrolerju samo to, kar želiš. Kontrolerji so poceni, posebej manjši. Ta take potrebe bi mogoče zadostoval že kakšen tiny45/85... |
|
Nazaj na vrh |
|
|
vilko Član
Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3351 Aktiv.: 15.00 Kraj: Dragomer
|
Objavljeno: Pon Jul 08, 2013 11:18 am Naslov sporočila: |
|
|
Tudi na to sem že pomislil, da kot rečeno, bomo najprej probali, potem pa videli in iskali dodatne rešitve. |
|
Nazaj na vrh |
|
|
red_mamba Član
Pridružen-a: Ned 20 Feb 2005 17:56 Prispevkov: 1486 Aktiv.: 6.65 Kraj: Yogyakarta
|
Objavljeno: Pon Jul 08, 2013 12:51 pm Naslov sporočila: |
|
|
@Vilko: prekinitve ne smejo obdelovati podatkov
vsakokrat ko prileti znak iz GPS-a v uC je vse kar mora prekinitev narediti, da ga doda v ciklicni buffer. In ce je dodani znak CHR13 nastavis spremenljivko da imas novo vrstico s podatki v spominu.
V glavni zanki potem obdelas vse podatke _________________ Bad things happen to good people all the time for no reason!
Blog |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 86 dni
Powered by phpBB © 2001, 2005 phpBB Group
|