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

Crate integration in NMEA. #8

Open
elpiel opened this issue Aug 23, 2022 · 2 comments
Open

Crate integration in NMEA. #8

elpiel opened this issue Aug 23, 2022 · 2 comments

Comments

@elpiel
Copy link

elpiel commented Aug 23, 2022

Hello @squidpickles 👋,
I'm the community lead of the AeroRust community and one of the co-founders.
I've recently landed your crate for parsing AIS messages and I wanted to let you know that we are making efforts to develop an NMEA 0183 crate that is feature rich for Rust.
I think AIS messages can be very beneficial to the overall messages that the crate can parse.

Would you be interested to take the AIS parsing and integrate it to the NMEA crate?

https://github.com/AeroRust/nmea

Also, you can come join the community in Discord if you're interested in robotics and aerospace or you want to discuss this idea.

Regards,
Lachezar

Ps: I see there is binary data field that uses a Vec, do you know if there is a limit to it, as we support no_std and this is one aspect we should alter to fit NMEA.

@squidpickles
Copy link
Owner

Hi @elpiel, nice to hear you're interested.

It would definitely be nice to see the ecosystem dealing with NMEA messages expanded.

This is definitely a back-burner project, where I'm slowly expanding the number of AIS message types and fixing bugs / improving performance and ergonomics, but only working on it sporadically.

If you like the interface as is, by all means adopt it as a dependency of your crate, and we can coordinate on versioning etc if you want to re-export any types. Otherwise, I'd be happy to talk about a nicer interface; I think all the AIS objects are fairly complete and descriptive, but the top-level interface is a little funny, mostly due to the way AIS messages get chained together. Very much open to ideas.

I've added a ticket #9 for no_std support. Not sure when it'll happen, but it sounds like a fun little challenge.

So yeah, let me know what you're thinking in terms of the specifics of integration. You're welcome to depend on this crate, and I'm happy to coordinate on releases and sensible interface. Probably do want to keep this existing on its own, too, as some folks (myself included) only have real use for the AIS portion at the moment.

Thanks for reaching out

@elpiel
Copy link
Author

elpiel commented Aug 30, 2022

Hey, it would be great to add the no_std support so thanks for that! I'll follow the progress.

As for the interface and the integration - I haven't yet taken a look at the API and we can always improve it because I think the same about the NMEA one 😅. However, we can definitely put it behind a feature flag and this would make the whole experience with NMEA very pleasant, as other crates have adopted the same methodology.

E.g. Group the sentence types into their own feature flag, we just have to decide how we should group them. This way you can choose only AIS message parsing.

PS: Of course, I will reach out, I'm happy that you responded and are eager to see how we can make this work 😋

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants