Я заметил два подхода к получению точного времени от 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.