Skip to main content

Crate nmea_kit

Crate nmea_kit 

Source
Expand description

§nmea-kit

Bidirectional NMEA 0183 parser/encoder with AIS message decoding.

§Architecture

raw line ──→ parse_frame() ──→ NmeaFrame { prefix, talker, sentence_type, fields }
                                    │
                     ┌──────────────┼──────────────┐
                     ▼              ▼               ▼
               $ + known      $ + unknown     ! AIVDM/AIVDO     AIS app sentences
                     │              │               │              │
                     ▼              ▼               ▼              ▼
              Typed struct    Raw fields      AisMessage enum   AIS sentence struct

§Public API

  • parse_frame / encode_frame — frame layer (always available)
  • NmeaSentence — dispatch enum for all typed NMEA sentences
  • NmeaEncodable — trait for encoding NMEA sentences to wire format
  • ais — AIS decoder (behind ais feature) and AIS application-layer sentences

§Features

  • nmea (default) — all 59 NMEA sentence types
  • ais (default) — 16 AIS message types (read-only decode) + AIS application-layer sentences
  • dbs, dbt, dpt, … — individual sentence types

Re-exports§

pub use nmea::NmeaSentence;
pub use nmea::NmeaEncodable;

Modules§

ais
AIS (Automatic Identification System) message decoding and application-layer sentences.
nmea
NMEA 0183 sentence parsing and encoding.

Structs§

NmeaFrame
A parsed NMEA 0183 frame with references into the original input.

Enums§

FrameError
Errors from frame-level parsing (checksum, delimiters, tag blocks).

Functions§

encode_frame
Encode fields into a valid NMEA 0183 sentence string.
parse_frame
Parse a raw NMEA 0183 line into a validated frame.