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

Add support for custom MAVLink dialects at runtime #6

Open
roby2014 opened this issue Sep 23, 2024 · 0 comments
Open

Add support for custom MAVLink dialects at runtime #6

roby2014 opened this issue Sep 23, 2024 · 0 comments
Labels
enhancement New feature or request hard/needs design help wanted Extra attention is needed

Comments

@roby2014
Copy link
Owner

roby2014 commented Sep 23, 2024

At the moment, mavlink::common::MavMessage is used to de/serialize MavLink messages.
The rust-mavlink crate depends on a trait implementation of Message in order to calculate crc's, depending on the message fields, etc.

The goal here is to provide somehow an option for custom MAVLink dialects.

  1. A possible solution would be to provide the .xml schema as configuration, but that would require an additional compilation of the plugin to generate Rust structures.
  2. A good suggestion (by @tjrmarques) was to load the trait implementation via a provided shared library, e.g:
[
        {
          endpoint: "udpout:0.0.0.0:1337",
          mavlink_dialect: "/home/roby/custom_mav_dialect.so",
          mavlink_version: 2,
        },
        {
          endpoint: "udpout:0.0.0.0:1337",
          mavlink_version: 2,
          /// mavlink::common::MavMessage will be used as default when not provided
        },
]
  1. Use something like this: https://docs.rs/mavinspect/latest/mavinspect/index.html
@roby2014 roby2014 added enhancement New feature or request help wanted Extra attention is needed labels Sep 23, 2024
@roby2014 roby2014 changed the title Add support for custom MAVLink definitions Add support for custom MAVLink dialects at runtime Sep 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request hard/needs design help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant