NMEA(4) FreeBSD Kernel Interfaces Manual NMEA(4)
NAME
nmea - NMEA 0183 timedelta sensor
SYNOPSIS
pseudo-device nmea [count]
DESCRIPTION
This line discipline interfaces NMEA devices, such as GPS receivers
attached to a serial or USB port.
The line discipline is enabled by the following sequence:
#include <sys/ioctl.h>
int ldisc = NMEADISC, fildes; ...
ioctl(fildes, TIOCSETD, &ldisc);
The byte stream is unaltered by the line discipline which maintains
timedelta and position sensors using the NMEA data. The sensors will
appear as nmea* in the list. The timedelta (nanoseconds difference
between the received time information and the local time), position
(calculated latitude and longitude in degrees), altitude and speed can be
accessed through the sysctl(8) interface.
The nmea line discipline decodes the following NMEA 0183 sentences:
RMC Recommended Minimum Specific GPS/TRANSIT Data. The time and date
information, position and speed are extracted. The warning
indication is used to provide the sensor status (see below). If
the attached device sends the RMC message in the 13-field format,
the operation mode of the GPS device is reported in the sensor
description. The sensor timestamp is copied from the tty
timestamp if a device with PPS is being used and tty timestamping
has been turned on. Otherwise the sensor timestamp is taken when
the initial `$' character of a message block is received from the
NMEA device.
GGA Current fix data. The altitude in meters is extracted.
Messages source are recognised by the first two characters of the NMEA
sentence according to the following prefixes:
GP GPS
GA Galileo
BD BeiDou
GL Glonass
GN Generic GNSS
SENSOR STATES
The quality of the timedelta is reported as the sensor status:
OK The time information and position are valid. The
timedelta is safe to use for applications like ntpd(8).
WARN The attached GPS receiver has been indicating a warning
condition for at least the last ten minutes. The
timedelta should be used with care.
CRITICAL tty timestamping has been turned on but there is no PPS
signal present or the GPS receiver indicated a warning
condition for at least the last twenty minutes. Check
your hardware. Some GPS units need PPS to be manually
turned on.
The status of a second sensor is used to report the status of the device
itself:
OK The clock is synchronized, e.g. a GPS receiver has a
fix.
WARN The device issued a warning condition, e.g. a GPS
receiver has no fix.
SEE ALSO
tty(4), ldattach(8), ntpd(8), sysctl(8)
HISTORY
The nmea interface first appeared in OpenBSD 4.0.
AUTHORS
The nmea line discipline was written by Marc Balmer
<
[email protected]>.
FreeBSD 14.1-RELEASE-p8 January 27, 2019 FreeBSD 14.1-RELEASE-p8