tenho uma aplicativo em JME que roda num celular nokia 2630 e se conecta com um GPS bluetooth NCS-NAVI R150. O GPS tem um LED que segundo o manual fica piscando quando o mesmo estabelece comunicação com os satélites e quando este LED não pisca significa que não tem satélites interagindo com ele naquele momento. Quando o LED está piscando, as coordenadas que pego batem numa boa e assim tenho uma visão de percurso tranquila no google maps mas quando o LED para de piscar(tipo quando estou em local coberto), vem umas coordenadas que “fogem” um pouco(as vezes muito) da sincronia do percurso. Gostaria de saber se tem como evitar pegar essas coordenadas “malucas” quando o LED para de piscar?
OBS: Estou utilizando a linha $GPGAA e na linha dessas coordenadas “malucas” vem acusando a presença de satélites ativos.
tenho uma aplicativo em JME que roda num celular nokia 2630 e se conecta com um GPS bluetooth NCS-NAVI R150. O GPS tem um LED que segundo o manual fica piscando quando o mesmo estabelece comunicação com os satélites e quando este LED não pisca significa que não tem satélites interagindo com ele naquele momento. Quando o LED está piscando, as coordenadas que pego batem numa boa e assim tenho uma visão de percurso tranquila no google maps mas quando o LED para de piscar(tipo quando estou em local coberto), vem umas coordenadas que “fogem” um pouco(as vezes muito) da sincronia do percurso. Gostaria de saber se tem como evitar pegar essas coordenadas “malucas” quando o LED para de piscar?
OBS: Estou utilizando a linha $GPGAA e na linha dessas coordenadas “malucas” vem acusando a presença de satélites ativos.
Qualquer dica é bem vinda!!
:)[/quote]
Se vc sabe qual o padrão das linhas malucas pq não coloca um if para processar somente aquelas “normais” ? Não é simples assim ?
[quote=boone]
Se vc sabe qual o padrão das linhas malucas pq não coloca um if para processar somente aquelas “normais” ? Não é simples assim ?[/quote]
Olá Boone,
justamente até então não descobrir um padrão que diferencie a linha maluca das demais, pois só dá pra descobrir quando visualiza a coordenada no google maps. Na verdade não entendo pq o GPS envia essa coordenada “loca”. Tipo ele tem um data logger; não se isso tem alguma coisa haver com a situação. :?:
class GPS implements LocationListener{
public void providerStateChanged(LocationProvider provider, int newState) {
if(newState == LocationProvider.AVAILABLE){
}else if (newState == LocationProvider.OUT_OF_SERVICE){
}else if(newState == TEMPORARILY_UNAVAILABLE){
}
}
}
Cada constante LocationProvider.xxx tem uma função especifica,vc deve aproveitar o que ja tem!este metodo é providerStateChanged() que vem chamado toda vez que o sinal muda!!!
[quote=fabioEM]Cara use os metodos da API 176 GPS!!!!!
Olá Fabio,
não seria a api location jsr 179? Infelizmente o nokia 2630 que estou utilizando é das primeiras séries e não dá suporte pra essa api, mas valeu a dica!
Fiquei intrigado,se vc esta usando a api 179,então qual é o resultado de se usar o metodo que te falei? O protocolo $GPGSV possue em sua String de números alguns importantes como o relativo a quantidade de satelites disponíveis assim como a qualidade do sinal.Te digo isso pq em um projeto que trabalhei um desenvolvedor bem inteligente fez esses calculos na mão ao invez de usar o metodo que te falei!! :lol:Sem falar que o metodo dele as vezes falhava!!!
Talvez este protocolo que tu estas a usar também tenha estes números assim fica mais fácil para ti.
O problema é justamente esse: não tenho como utilizar a api pois o celular não dá suporte para mesma. Sendo assim, não tenho como testar sua dica. Estou trabalhando numa alternativa que pode resolver o problema. Um amigo meu da área de eletrônica vai fazer uma ligação entre o LED do GPS e uma tecla qualquer do celular. Se o pulso gerado pelo LED disparar a tecla, posso trabalhar isso e saber quando o mesmo é contínuo ou não e aí evito de pegar essas coordenadas “malucas”. Depois vou postar se deu certo ou não. 8)