Skip to content

cono#3

Open
jew256 wants to merge 330 commits intoCUAir:masterfrom
mavlink:master
Open

cono#3
jew256 wants to merge 330 commits intoCUAir:masterfrom
mavlink:master

Conversation

@jew256
Copy link

@jew256 jew256 commented May 21, 2023

No description provided.

antonio-sc66 and others added 22 commits January 4, 2024 08:47
* Restructure project to enable custom mavlink bindings generation

Split the project into three crates:

* mavlink-core: core MAVLink types including TCP, UDP and serial connections
* mavlink-bindgen: a library & CLI for generating Rust bindings for MAVLink dialects
* mavlink: generated MAVLink bindings for the MAVLink dialects in the mavlink/mavlink repo

* run GitHub checks

* reformat

* attempt to fix cross compile test

* attempt to install cross

* Downgrade clap to support MSRV 1.65.0

* Downgrade clap_lex to support MSRV 1.65.0

* Another downgrade

* downgrade anstyle

* Simplify support for MSRV 1.65.0

* Hopefully this works

* fix embedded build

* Fix build on MSRV

* Make cli feature not default

* Only build the mavlink package in tests.

The mavlink-bindgen crate does not itself need to run on embedded hardware

* Attempt to support no_std in mavlink again

* Fix for the last GitHub action

* Make the embedded example work in the cargo workspace

* Remove unused import

* Remove accidentally committed binary
This allows the parser to backtrack in case a STX byte in the middle of a message is mistaken for the start-of-frame (checked via CRC)
Add async methods.
Add async example (Embassy executor).
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
mavlink@0.13.1
mavlink-bindgen@0.13.1
mavlink-core@0.13.1

Generated by cargo-workspaces
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
@patrickelectric patrickelectric force-pushed the master branch 2 times, most recently from e1b17e0 to fbf0237 Compare July 18, 2024 18:36
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
@patrickelectric patrickelectric force-pushed the master branch 3 times, most recently from 2749672 to 2e40341 Compare July 21, 2024 23:37
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
onur-ozkan and others added 30 commits November 6, 2025 11:19
Moves version reading out of the loop.

Signed-off-by: Onur Özkan <work@onurozkan.dev>
* remove duplicate bounds check

* move error contruction into impl error
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
Adds buffered reading to `SerialConnection`. By default, the buffer
size is calculated based on the baud rate and it's also configurable.

This should reduce the read overhead quite significantly, especially
at high baud rates.

Signed-off-by: Onur Özkan <work@onurozkan.dev>
Mirrors the connection/direct_serial buffered reading.

Signed-off-by: Onur Özkan <work@onurozkan.dev>
mavlink@0.16.2
mavlink-bindgen@0.16.2
mavlink-core@0.16.2

Generated by cargo-workspaces
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
We shouldn't rely on external crates for lazy initializations anymore (since 1.80)
as it doesn't benefit anything but increasing the compilation time.

Signed-off-by: Onur Özkan <work@onurozkan.dev>
Signed-off-by: Onur Özkan <work@onurozkan.dev>
bless clippy

Signed-off-by: Onur Özkan <work@onurozkan.dev>
* add more lints

* address lints
* chore(ci): simplify MSRV check

* fixup

* fixup
Signed-off-by: Onur Özkan <work@onurozkan.dev>
mavlink@0.17.0
mavlink-bindgen@0.17.0
mavlink-core@0.17.0

Generated by cargo-workspaces
Removes i24 reading/writing.

This implementation is buggy and unused. See #448 for more context.
Updates the requirements on [quick-xml](https://github.com/tafia/quick-xml) to permit the latest version.
- [Release notes](https://github.com/tafia/quick-xml/releases)
- [Changelog](https://github.com/tafia/quick-xml/blob/master/Changelog.md)
- [Commits](tafia/quick-xml@v0.38.0...v0.39.0)

---
updated-dependencies:
- dependency-name: quick-xml
  dependency-version: 0.39.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* add doc for enum params used for MAV_CMD
Adds parsing for params into the MavProfile data structure.
Add a table of paramters to all MAV_CMD variants including description, valid values and unit.
Change xml parser to use expand_empty_elements=true, this removed a lot of duplicate code and prevents a some of potential bugs.

* fix detection if any param has a value range

* fix emit_params

* remove order dependency from MavParam::format_valid_values, change type of MavParam::description to indicate it is optional

* add snap test for enum with entry params

* fix test

* fix clippy warnings

* adjustments for readability

* remove trailing space in param number range, extract number range formating in seperate function

* add unit test for param range formating and param row formating
replaced_by is not always provided, so it's better to store
it as None rather than an empty String.

This applies the following changes without any behavioral change:

- Switch replaced_by to Option<String> in MavDeprecation.
- Parse missing/blank replaced_by as None.
- Update deprecated attribute formatting to handle Option.

Signed-off-by: Onur Özkan <work@onurozkan.dev>
Use tokio::io::split to separate SerialStream into ReadHalf
and WriteHalf for guarding each with its own mutex.

This allows concurrent reads and writes while keeping recv paths
locked in a reader loop and send locked on the writer.

Signed-off-by: Onur Özkan <work@onurozkan.dev>
mavlink@0.17.1
mavlink-bindgen@0.17.1
mavlink-core@0.17.1

Generated by cargo-workspaces
With #454, MavBool is generated in two different forms regular enums
and bitflags, and previous approach cannot handle both cases (see [1]).

This updates code generation so `as_bool()` matches the generated type:

  - bitflags: `contains(MAV_BOOL_TRUE)`
  - enum: `== MAV_BOOL_TRUE`

Should unblock [2].

[1]: #454 (comment)
[2]: #454 (comment)

Signed-off-by: Onur Özkan <work@onurozkan.dev>
* Update mavlink definitions

* add support for superseded tag in bindgen

* Add feature gates and documentation for marsh and stemstudios dialects

* Apply Clippy suggestions for MavDeprecationType

* fix mav bool not compiling with 'standard' dialect

* fix typo in list of dialects

* Revert "fix mav bool not compiling with 'standard' dialect"

This reverts commit fba0e7b.
Signed-off-by: Onur Özkan <work@onurozkan.dev>
Updates the requirements on [anstyle-parse](https://github.com/rust-cli/anstyle) to permit the latest version.
- [Commits](rust-cli/anstyle@anstyle-parse-v0.2.7...anstyle-parse-v1.0.0)

---
updated-dependencies:
- dependency-name: anstyle-parse
  dependency-version: 1.0.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Updates the requirements on [clap_lex](https://github.com/clap-rs/clap) to permit the latest version.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](clap-rs/clap@clap_lex-v0.7.5...clap_lex-v1.0.0)

---
updated-dependencies:
- dependency-name: clap_lex
  dependency-version: 1.0.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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

Successfully merging this pull request may close these issues.