Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OpenBSD-5.7)
Apropos / Subsearch:
optional field

NMEA(4)                  BSD Kernel Interfaces Manual                  NMEA(4)

     nmea -- NMEA 0183 timedelta sensor

     pseudo-device nmea [count]

     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), and position
     (calculated latitude and longitude in degrees) can be accessed through
     the sysctl(8) interface.

     The nmea line discipline decodes the following NMEA 0183 sentences:

     GPRMC    Recommended Minimum Specific GPS/TRANSIT Data.  The time and
              date information and position are extracted.  The warning indi-
              cation is used to provide the sensor status (see below).  If the
              attached device sends the GPRMC 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 time-
              stamp 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.

     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

           OK          The clock is synchronized, e.g. a GPS receiver has a

           WARN        The device issued a warning condition, e.g. a GPS
                       receiver has no fix.

     tty(4), ldattach(8), ntpd(8), sysctl(8)

     The nmea interface first appeared in OpenBSD 4.0.

     The nmea line discipline was written by Marc Balmer

BSD                            January 15, 2015                            BSD