Acessa o relógio de referência NMEA e a posição GPS simultaneamente

1

Eu notei duas abordagens para obter um tempo preciso do GPS (com PPS). Usando o ntpd com

Meu problema: Eu quero ter um tempo muito preciso e acesso aos dados de posição GPS. Portanto, usar a Memória Compartilhada via gpsd é possivelmente diminuir.

Na minha configuração ntp, eu atualmente uso um relógio de referência NMEA . O receptor GPS (com PPS) está conectado a /dev/ttyS0 e /dev/gps0 respectivamente.

Não consigo usar ambos, ntpd com NMEA e gpsd para obter dados de posição, em paralelo. Se o ntpd estiver rodando, o gpsd não obterá dados e sairá após o tempo limite. Mas se o ntpd estiver executando cat /dev/ttyS0 print dados NMEA no console. Então eu posso ler a partir da linha serial. Então, por que o gpsd não pode acessar os dados seriais se o ntpd estiver em execução? As mensagens de depuração do gpsd colei aqui . Eu inicio o gpsd e depois tento me conectar com o cgps.

Eu sei que talvez seja uma questão de abrir dispositivos em paralelo em geral ...

EDITAR

Agora eu uso

server 127.127.20.0 mode 18 minpoll 4 maxpoll 4 iburst prefer true
fudge 127.127.20.0 flag1 1 flag2 0 flag3 1 flag4 0 time2 0.475

Recupere os dados de posição do arquivo clockstats. Pode haver uma solução melhor para isso do que analisar este arquivo?

    
por wenzul 19.10.2014 / 03:59

1 resposta

2

Por que usar o gpsd? Basta usar o driver NMEA e ativar o PPS com o flag1:

server 127.127.20.0 minpoll 4  mode 18 prefer   # NMEA serial port, 16 = 9600 baud, 2 = $GPGGA
fudge 127.127.20.0  time2 0.435 flag1 1 flag3 0

Você deve alterar o seu tempo de fudge para o que for apropriado.

Você pode obter os dados de posição do arquivo clockstats.

    
por 19.10.2014 / 04:28