This is a fork of the https://github.com/adrianmo/go-nmea repository.
- All the futures of https://github.com/adrianmo/go-nmea
- All types (structs) have a
Valid
andInvalidReason
property - Supports additional nmea0183 sentences (GST, HEV, MDA, MWD, MWV, ROT, VWR)
- Implement SignalK interface
- Moved to Ginkgo tests
To install go-nmea use go get
:
go get github.com/munnik/go-nmea
This will then make the github.com/munnik/go-nmea
package available to you.
To update go-nmea to the latest version, use go get -u github.com/munnik/go-nmea
.
At this moment, this library supports the following sentence types:
Sentence type | Description |
---|---|
DBS | Depth Below Surface |
DBT | Depth below transducer |
DPT | Depth of Water |
GGA | GPS Positioning System Fix Data |
GLL | Geographic Position, Latitude / Longitude and time |
GNS | Combined GPS fix for GPS, Glonass, Galileo, and BeiDou |
GSA | GPS DOP and active satellites |
GST | GPS Pseudorange Noise Statistics |
GSV | GPS Satellites in view |
HDT | Actual vessel heading in degrees True |
HEV | Heave in meters |
MDA | Meteorological Composite |
MWD | Wind Direction & Speed |
MWV | Wind Speed and Angle |
PGRME | Estimated Position Error (Garmin proprietary sentence) |
PMTK | Messages for setting and reading commands for MediaTek gps modules. |
RMC | Recommended Minimum Specific GPS/Transit data |
ROT | Rate Of Turn |
RTE | Route |
THS | Actual vessel heading in degrees True and status |
VDM/VDO | Encapsulated binary payload |
VHW | Water Speed and Heading |
VTG | Track Made Good and Ground Speed |
VWR | Relative Wind Speed and Angle |
WPL | Waypoint location |
ZDA | Date & time data |
If you need to parse a message that contains an unsupported sentence type you can implement and register your own message parser and get yourself unblocked immediately. Check the example below to know how to implement and register a custom message parser. However, if you think your custom message parser could be beneficial to other users we encourage you to contribute back to the library by submitting a PR and get it included in the list of supported sentences.
Please feel free to submit issues or fork the repository and send pull requests to update the library and fix bugs, implement support for new sentence types, refactor code, etc.
Check LICENSE.