nmea icon indicating copy to clipboard operation
nmea copied to clipboard

Supporting additional sentences

Open elpiel opened this issue 3 years ago • 23 comments

There are multiple sentences that are still not implemented in the crate and this is a list of the remaining sentences that we can implement.

Some work has gone into supporting additional sentences - #51

Contributing

  1. Write a comment - Please write a comment for the sentence(s) you'd like to implement and to be mentioned on the task to avoid duplicate implementations.
  2. Implement each sentence alongside at least 1 test in its own module using the nom crate.
  3. Open a PR 🎉

Tips for contributing

  • We suggest you start with a single sentence per PR and get a sense of the NMEA 0183 crate and protocol
  • If you have any questions, just open a Draft PR, so that we can provide you with feedback or answer your questions
  • Checkout the GPSD project page for an example to use in your test (https://gpsd.gitlab.io/gpsd/NMEA.html) and any additional information for the given sentences
  • Follow the information for the different versions of NMEA 0183 standard given in the GPSD project and implement the parsing for them

Sources

Sentences

In this curated list you'll find sentence types that have yet to be implemented and tested. The standard sentences have priority over the rest of the types and less-known sentences.

  • [ ] AIS See #46

NMEA Standard Sentences

Other sentences (low priority)

  • TODO: Find information on the internet for those additional messages if possible
  • [x] TXT (u-blox)
  • [ ] ACK - Alarm Acknowledgement
  • [ ] ADS - Automatic Device Status
  • [ ] AKD - Acknowledge Detail Alarm Condition
  • [ ] ALA - Set Detail Alarm Condition
  • [ ] ASD - Autopilot System Data
  • [ ] BEC - Bearing & Distance to Waypoint - Dead Reckoning
  • [ ] CEK - Configure Encryption Key Command
  • [ ] COP - Configure the Operational Period, Command
  • [ ] CUR - Water Current Layer
  • [ ] DCR - Device Capability Report
  • [ ] DDC - Display Dimming Control
  • [ ] DOR - Door Status Detection
  • [ ] DSC - Digital Selective Calling Information
  • [ ] DSE - Extended DSC
  • [ ] DSI - DSC Transponder Initiate
  • [ ] DSR - DSC Transponder Response
  • [ ] ETL - Engine Telegraph Operation Status
  • [ ] EVE - General Event Message
  • [ ] FIR - Fire Detection
  • [ ] MWD - Wind Direction & Speed
  • [ ] WDR - Distance to Waypoint - Rhumb Line
  • [ ] WDC - Distance to Waypoint - Great Circle
  • [ ] ZDL - Time and Distance to Variable Point

Vendor extensions (low priority)

elpiel avatar Sep 14 '22 11:09 elpiel

Hello! I'd like to give AAM - Waypoint Arrival Alarm a shot.

bahelms avatar Oct 14 '22 17:10 bahelms

Hello! I'd like to give AAM - Waypoint Arrival Alarm a shot.

I'm adding you to the list AAM sentence then. Thank you for working on this!

elpiel avatar Oct 14 '22 18:10 elpiel

I wrote 2 tests for BOD - Bearing - Waypoint to Waypoint (tests needed) and presumably fixed an error in BOD parsing, can I send the PR for review?

clemarescx avatar Oct 16 '22 20:10 clemarescx

I wrote 2 tests for BOD - Bearing - Waypoint to Waypoint (tests needed) and presumably fixed an error in BOD parsing, can I send the PR for review?

Of course, you can. I will update the task and assign it to you.

elpiel avatar Oct 17 '22 06:10 elpiel

Hello! I wanna try to implement parser for HDT sentence.

ekuinox avatar Mar 08 '23 11:03 ekuinox

Hello! I wanna try to implement parser for HDT sentence.

Great to hear this @ekuinox , I'm adding you on this sentence them 😋

elpiel avatar Mar 08 '23 12:03 elpiel

I'd like to work on ZDA and VHW. 😄

ekuinox avatar Mar 11 '23 13:03 ekuinox

I'd like to work on ZDA and VHW. smile

They are both yours 😋 have fun implementing them

elpiel avatar Mar 11 '23 19:03 elpiel

I'd like to pick BWW, ZFO and ZTG.

taavit avatar Apr 02 '23 12:04 taavit

I'd like to pick BWW, ZFO and ZTG.

Thank you for your interest to contribute to the nmea crate! I have assigned those messages to you.

elpiel avatar Apr 03 '23 04:04 elpiel

I'd like to pick DBS - Depth Below Surface.

rafiramadhana avatar May 10 '23 16:05 rafiramadhana

Thanks for your interest to contribute @rafiramadhana! I'm assigning you to the sentence parsing :yum:

elpiel avatar May 14 '23 06:05 elpiel

I'd like to take a swing at VWT (True wind speed and angle).

Tsuiban avatar May 23 '23 21:05 Tsuiban

Great to hear that @Tsuiban! I've assigned you to the sentence

elpiel avatar May 29 '23 09:05 elpiel

@Tsuiban are you still interested in working on VWT sentence?

elpiel avatar Nov 21 '23 15:11 elpiel

There is this list of sentences as json. I think it could be just used to generate code of all parsers

https://github.com/SmartBoatInnovations/ha-smart0183/blob/main/custom_components/smart0183/Smart0183.json

mgrouch avatar Nov 21 '23 17:11 mgrouch

Thank you for sharing this resource @mgrouch! Although we could generate the sentences from the JSON, it will rather be used as another source of information for sentences.

Writing these parsers and generating them from the JSON might take more time than what's worth.

What we still need to support is Rust Struct to NMEA sentence and the iterator based parser, as top priority right now

elpiel avatar Nov 25 '23 06:11 elpiel

Hello, I'd like to work on GST.

zhrbrk avatar Mar 04 '24 16:03 zhrbrk

Hello, I'd like to work on GST.

Great to hear that @zhrbrk ! I'm assigning you to the sentence in the list.

elpiel avatar Mar 05 '24 09:03 elpiel

Hi, I added support for TTM here: https://github.com/AeroRust/nmea/pull/128

Tapped avatar May 14 '24 20:05 Tapped