Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Supporting additional sentences #54

Open
elpiel opened this issue Sep 14, 2022 · 21 comments · Fixed by #61, #57, #59, #62 or #71
Open

Supporting additional sentences #54

elpiel opened this issue Sep 14, 2022 · 21 comments · Fixed by #61, #57, #59, #62 or #71
Labels
good first issue Hacktoberfest Issues suitable for Hacktoberfest

Comments

@elpiel
Copy link
Member

elpiel commented Sep 14, 2022

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.

NMEA Standard Sentences

Other sentences (low priority)

  • TODO: Find information on the internet for those additional messages if possible
  • 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 elpiel added the Hacktoberfest Issues suitable for Hacktoberfest label Oct 4, 2022
@elpiel elpiel changed the title Supporting additional sentences Supporting additional sentences #Hacktoberfest Oct 4, 2022
@bahelms
Copy link

bahelms commented Oct 14, 2022

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

@elpiel
Copy link
Member Author

elpiel commented Oct 14, 2022

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!

@clemarescx
Copy link

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?

@elpiel
Copy link
Member Author

elpiel commented Oct 17, 2022

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 elpiel linked a pull request Oct 27, 2022 that will close this issue
@elpiel elpiel changed the title Supporting additional sentences #Hacktoberfest Supporting additional sentences Nov 25, 2022
@elpiel elpiel removed the Hacktoberfest Issues suitable for Hacktoberfest label Nov 25, 2022
@elpiel elpiel linked a pull request Jan 24, 2023 that will close this issue
@elpiel elpiel reopened this Jan 24, 2023
@elpiel elpiel linked a pull request Jan 24, 2023 that will close this issue
@elpiel elpiel pinned this issue Jan 24, 2023
@elpiel elpiel linked a pull request Feb 10, 2023 that will close this issue
@ekuinox
Copy link

ekuinox commented Mar 8, 2023

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

@elpiel
Copy link
Member Author

elpiel commented Mar 8, 2023

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

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

@ekuinox
Copy link

ekuinox commented Mar 11, 2023

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

@elpiel
Copy link
Member Author

elpiel commented Mar 11, 2023

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

They are both yours 😋 have fun implementing them

This was referenced Mar 12, 2023
@taavit
Copy link

taavit commented Apr 2, 2023

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

@elpiel
Copy link
Member Author

elpiel commented Apr 3, 2023

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.

@rafiramadhana
Copy link

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

@elpiel
Copy link
Member Author

elpiel commented May 14, 2023

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

@Tsuiban
Copy link

Tsuiban commented May 23, 2023

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

@elpiel
Copy link
Member Author

elpiel commented May 29, 2023

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

@elpiel elpiel added the Hacktoberfest Issues suitable for Hacktoberfest label Oct 12, 2023
@elpiel
Copy link
Member Author

elpiel commented Nov 21, 2023

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

@mgrouch
Copy link

mgrouch commented Nov 21, 2023

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

@elpiel
Copy link
Member Author

elpiel commented Nov 25, 2023

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

@zhrbrk
Copy link
Contributor

zhrbrk commented Mar 4, 2024

Hello, I'd like to work on GST.

@elpiel
Copy link
Member Author

elpiel commented Mar 5, 2024

Hello, I'd like to work on GST.

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

@Tapped
Copy link
Contributor

Tapped commented May 14, 2024

Hi, I added support for TTM here: #128

@trkohler
Copy link
Contributor

started to work on DPT - Depth of Water

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment