PointOneNav / fusion-engine-client

FusionEngine client interaction support.
MIT License
18 stars 11 forks source link

Rust support? #264

Open bhagen55 opened 1 year ago

bhagen55 commented 1 year ago

Any chance Rust support (for message definitions, at least) is planned?

adamshapiro0 commented 1 year ago

Hi @bhagen55, we'd love to learn more about your use case. We are also always open to pull requests for new functionality!

bhagen55 commented 1 year ago

Hey Adam! I work for Zipline, and we are integrating some Quectel modules into our vehicles that run the Fusion Engine.

Most of our core embedded software stack is written in Rust, so we try to deviate into other languages as little as possible to make life easier and get the memory safety/speed benefits from the language. Our current GNSS driver is also written in Rust, but we now want it to speak Fusion Engine protocol so we can configure the GNSS units and query status and such.

I am going to be writing some FFI bridge code to call into some C++ wrappers so we can use your message library directly. Just wanted to see if there was any talk about Rust message definitions coming into play in the future. I would potentially be interested in working on that, but I also see that the messages are changing fairly frequently, so I probably couldn't commit to maintaining the Rust side of things.

gruver commented 12 months ago

Hi Blair -

Currently we don’t have Rust engineers on staff. As such wrapping C++ is probably most direct, and we’ll continue to maintain the C++ libraries.

If you end up wanting to write some of this in Rust we’re available to help with understanding the protocol and advising on unit tests, etc.