cono#3
Open
jew256 wants to merge 362 commits into
Open
Conversation
2749672 to
2e40341
Compare
326114f to
c93fd57
Compare
This reverts commit 2e40341.
…kV2MessageRaw add calculate_signature, checksum_bytes, signature_link_id[_mut], signature_timestamp[_bytes[_mut]], signature_value[_mut] to MAVLinkV2MessageRaw
feat: add distinct pub fn for signing, signing in MavConnection send, add signing feature to mavlink test: add --features signing to all test, add signing test, add Debug, Clone to SigningConfig
test: add signing to msrv check
test: add signing to internal-tests matrix test: add signing as msrv matrix option
* make async direct-serial recv match sync behavior Async direct-serial recv/recv_raw returned too early on invalid frames. This updates both methods to match sync direct-serial semantics: keep reading past invalid data, return when a valid frame is found and only stop on UnexpectedEof. Signed-off-by: Onur Özkan <work@onurozkan.dev> * implement try_recv for async transports Signed-off-by: Onur Özkan <work@onurozkan.dev> --------- Signed-off-by: Onur Özkan <work@onurozkan.dev>
* mavlink: rename and clean-up feature flags
This project has many features and will continue to provide more
in the future, therefore we are standardizing feature naming and
removing redundant and legacy aliases to keep the feature surface
clear and scalable.
**Renamed features**:
- Transport features:
- `tcp` -> `transport-tcp`
- `udp` -> `transport-udp`
- `direct-serial` -> `transport-direct-serial`
- Dialect features
- `$dialect_name` -> `dialect-$dialect_name` (e.g. `ardupilotmega` -> `dialect-ardupilotmega`)
- Other features:
- `emit-extensions` -> `mav2-message-extensions`
- `signing` -> `mav2-message-signing`
- `tokio-1` -> `tokio`
- `ts` -> `ts-rs`
**Removed features**:
- `all-dialects`: appears to have been primarily for docs.rs builds and
docs.rs now uses Cargo `all-features`
- `embedded-hal-02`: drop deprecated compatibility path and users needing
old embedded-hal support can stay on previous mavlink releases.
Signed-off-by: Onur Özkan <work@onurozkan.dev>
* fix invalid feature handling for `all-features` flag
Signed-off-by: Onur Özkan <work@onurozkan.dev>
* fix embedded example
Signed-off-by: Onur Özkan <work@onurozkan.dev>
* prevent building std and embedded features together
Signed-off-by: Onur Özkan <work@onurozkan.dev>
* re-export mavlink_core in a better way
Signed-off-by: Onur Özkan <work@onurozkan.dev>
* export dialects from a dedicated module
Signed-off-by: Onur Özkan <work@onurozkan.dev>
* bless new module paths
Signed-off-by: Onur Özkan <work@onurozkan.dev>
* bless CI
Signed-off-by: Onur Özkan <work@onurozkan.dev>
* fix invalid cfgs
Signed-off-by: Onur Özkan <work@onurozkan.dev>
* bless clippy
Signed-off-by: Onur Özkan <work@onurozkan.dev>
---------
Signed-off-by: Onur Özkan <work@onurozkan.dev>
Signed-off-by: Onur Özkan <work@onurozkan.dev>
Updates the UDP address parser and formatter to use `udpbcast` and keeps the transport implementation consistent with that name. Signed-off-by: Onur Özkan <work@onurozkan.dev>
Updates the requirements on [clap](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_complete-v4.5.48...clap_complete-v4.5.60) --- updated-dependencies: - dependency-name: clap dependency-version: 4.5.60 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* make git optional to support offline and packaged builds Previously the build script unconditionally required `git` to update submodules. This breaks offline builds for vendored workspaces and environments without git installed where the files are already present but `.git` is absent. The new build flow is as follows: - Conditionally run `git submodule` only if the `mavlink` directory is a submodule. - Check the expected dialects existance and fail if they are missing. Signed-off-by: Onur Özkan <work@onurozkan.dev> * make feature handling case-sensitive Signed-off-by: Onur Özkan <work@onurozkan.dev> * remove "Build requirements" from the README Signed-off-by: Onur Özkan <work@onurozkan.dev> --------- Signed-off-by: Onur Özkan <work@onurozkan.dev>
* upgrade rust edition to 2024 and bump msrv self-explanatory Signed-off-by: Onur Özkan <work@onurozkan.dev> * bless clippy and fmt Signed-off-by: Onur Özkan <work@onurozkan.dev> --------- Signed-off-by: Onur Özkan <work@onurozkan.dev>
* remove obsolete todos, add check that payload is not empty * add panic to MavFrame::ser() on invalid MAV1 message id * adjust test * combine asserts, spelling
Updates the requirements on [sha2](https://github.com/RustCrypto/hashes) to permit the latest version. - [Commits](RustCrypto/hashes@groestl-v0.10.0...sha2-v0.11.0) --- updated-dependencies: - dependency-name: sha2 dependency-version: 0.11.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>
* allow unknown bits for forward compatibility Fixes #484 Signed-off-by: Onur Özkan <work@onurozkan.dev> * remove ParseError::InvalidFlag Signed-off-by: Onur Özkan <work@onurozkan.dev> --------- Signed-off-by: Onur Özkan <work@onurozkan.dev>
…488) * avoid oversized payload parsing buffer allocation when not required * adjust snapshot tests
* unify common connection functions Signed-off-by: Onur Özkan <work@onurozkan.dev> * move file transport modules Signed-off-by: Onur Özkan <work@onurozkan.dev> * move tcp transport modules Signed-off-by: Onur Özkan <work@onurozkan.dev> * move udp transport modules Signed-off-by: Onur Özkan <work@onurozkan.dev> * move direct serial transport modules Signed-off-by: Onur Özkan <work@onurozkan.dev> * split connection/mod into sync and async Signed-off-by: Onur Özkan <work@onurozkan.dev> * bless cargo fmt Signed-off-by: Onur Özkan <work@onurozkan.dev> --------- Signed-off-by: Onur Özkan <work@onurozkan.dev>
mavlink@0.18.0 mavlink-bindgen@0.18.0 mavlink-core@0.18.0 Generated by cargo-workspaces
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.39.0...v0.40.0) --- updated-dependencies: - dependency-name: quick-xml dependency-version: 0.40.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>
) * refactor(bytes_mut): replace unsafe copy with safe copy_from_slice Use `copy_from_slice` in `BytesMut::put_slice` instead of manually calling `copy_nonoverlapping`. The existing bounds check already ensures the destination range is valid, so the safe slice API is equivalent and removes unnecessary unsafe code. Signed-off-by: Onur Özkan <work@onurozkan.dev> * add parentheses to slice range expressions Signed-off-by: Onur Özkan <work@onurozkan.dev> --------- Signed-off-by: Onur Özkan <work@onurozkan.dev>
* allow rustdoc::broken_intra_doc_links lint in generated code * adjust snapshots
* generate undersized bitflag variants when fields are undersized, adjust bitflag size check from all to any * adjust default bitflag size, add undersized doc hint, fix default and reader for undersized enums * fix typo * adjust test for #503
Signed-off-by: Onur Özkan <work@onurozkan.dev>
Signed-off-by: Onur Özkan <work@onurozkan.dev>
Signed-off-by: Onur Özkan <work@onurozkan.dev>
* update rand to 0.10 * remove rand, arbitrary dependencies from bindgen
Writes payload straight into the destination buffer right after the header and avoids the intermediate buffer and an extra copy. Speeds up the `MavFrame::ser` around 20% on a regular x86 CPU. Signed-off-by: Onur Özkan <work@onurozkan.dev>
Avoids per-send allocation and copy for udp send. Signed-off-by: Onur Özkan <work@onurozkan.dev>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.