Iot.Device.Nmea0183 Namespace

Classes

AisManager

Interpreter for AIS messages from NMEA-0183 data streams. Accepts the encoded AIVDM and AIVDO sentences and converts them to user-understandable ship structures.

AutopilotController

This class controls an auto pilot, given an input and an output stream. Depending on the input, it either refines the sequences to a higher resolution (many navigation programs will e.g. only output XTE messages with a cross track error accuracy of 0.1nm, which is useless for precise navigation) or create the sequences based on input waypoints.

CompassCalibration
DeviationPoint
FilterRule

A filter rule for the MessageRouter.

GnssReading
Identification
LoggingConfiguration

Configuration settings for NMEA logging

LoggingSink

This is a sink for writing received NMEA sentences to a log file. The log file can be used for later analysis or replay.

MagneticDeviationCorrection

Corrects the magnetic deviation of an electronic compass. This calculates the corrected magnetic heading from the measurement of an actual instrument and vice-versa. Neither input nor output of the calculation are true headings! The magnetic heading needs to still be converted to a true heading by adding the magnetic declination at the point of observation.

MagneticReading
MessageRouter

Message routing for NMEA messages. See the Readme for an usage example. This is used to route messages between different NMEA sources and sinks. Instances of FilterRule can be used to describe which messages need to go from where to where.

NmeaLogDataReader

This source can be used to play back a recorded log file. If DecodeInRealtime is false (the default), the file will be read as fast as possible. Otherwise messages will be generated at the speed of the original data.

NmeaParser

Parses Nmea Sequences

NmeaSinkAndSource

This abstract class describes an NMEA data source or data sink. It can be a connection, a data processor or an output device.

NmeaTcpClient

A TCP Server bidirectional sink and source. Provides NMEA sentences to each connected client.

NmeaTcpServer

A TCP Server bidirectional sink and source. Provides NMEA sentences to each connected client.

NmeaUdpServer

This server distributes all incoming messages via UDP. The advantage is that clients do not need to know the IP of the server, which is useful if DHCP keeps reassigning addresses.

PositionProvider

Provides high-level methods to obtain position and other aggregated data from NMEA sources. The class takes the best available data sets to generate the required output. A position can for instance be obtained from PositionFastUpdate, GlobalPositioningSystemFixData or RecommendedMinimumNavigationInformation, depending on whatever the GNSS receiver delivers.

QuerySentence

Represents NMEA0183 query sentence

Raw8BitEncoding

An encoding that converts 8-Bit data to unicode, by just interpreting the input values as the lower part of a char. This works for all ASCII characters as well as if the input and output devices use the same code page.

RawData
Route

High-level representation of a route (a list of waypoints)

RoutePoint

A point along a route. This is used to construct RoutePart and Waypoint sentences

SentenceCache

Caches the last sentence(s) of each type for later retrieval. This is a helper class for AutopilotController and PositionProvider. Use PositionProvider to query the position from the most appropriate messages.

SystemClockSynchronizer

Synchronizes the system clock to the NMEA data stream

TalkerSentence

Represents NMEA0183 talker sentence

Structs

SentenceId

Represents a NMEA0183 sentence identifier. The standard has only 3-character sentence identifiers, but some receivers use proprietary messages with 2-6 letters, too.

TalkerId

Represents 2 character NMEA0183 talker identifier

Enums

AutopilotErrorState

State of autopilot. Not all errors are serious problems, some just mean it is inactive, because it has nothing to do.

NmeaError

Errors from the NMEA parser

Delegates

AisManager.AisMessageHandler

Delegate for AIS messages

PositionUpdate

A delegate for updating the current position