Назад | Перейти на главную страницу

Одновременный доступ к эталонным часам NMEA и положению GPS

Я заметил два подхода к получению точного времени от GPS (с помощью PPS). Используя ntpd либо с

Моя проблема: я хочу иметь очень точное время и доступ к данным GPS-положения. Поэтому использование общей памяти через gpsd, возможно, будет медленным.

В моей конфигурации ntp я сейчас использую Эталонные часы NMEA. Приемник GPS (с PPS) подключен к /dev/ttyS0 и /dev/gps0 соответственно.

Я не могу использовать одновременно ntpd с NMEA и gpsd для получения данных о местоположении. Если ntpd запущен gpsd, не получит данных и завершит работу по истечении времени ожидания. Но если ntpd запущен cat /dev/ttyS0 распечатать данные NMEA на консоли. Так что я могу читать по последовательной линии. Так почему же gpsd не может получить доступ к последовательным данным, если ntpd запущен? Отладочные сообщения gpsd, которые я вставил Вот. Я запускаю gpsd, а потом пытаюсь подключиться к cgps.

Я знаю, что это может быть вопрос параллельного открытия устройств в целом ...

РЕДАКТИРОВАТЬ

Прямо сейчас использую

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

Получить данные о местоположении из файла clockstats можно будет. Может для этого есть лучшее решение, чем разбор этого файла?

Зачем использовать gpsd? Просто используйте драйвер NMEA и включите PPS с помощью 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

Вам следует изменить время приготовления помадки на любое подходящее.

Вы можете получить данные о местоположении из файла clockstats.