diff --git a/.vitepress/config.mjs b/.vitepress/config.mjs index 091f65230..58e8e2aeb 100644 --- a/.vitepress/config.mjs +++ b/.vitepress/config.mjs @@ -178,6 +178,10 @@ export default defineConfig({ text: "Python (Pymavlink)", link: "/en/mavgen_python/", }, + { + text: "Rust", + link: "https://docs.rs/mavlink/latest/mavlink/", + }, { text: "Other", link: "/en/#supported_languages", diff --git a/en/index.md b/en/index.md index 634be25e1..18d0a5a51 100644 --- a/en/index.md +++ b/en/index.md @@ -41,18 +41,18 @@ The MAVLink organisation provides (and supports) the [mavgen](getting_started/ge | :---------------------------- | :--------------------------- | :--------: | :-----------------------------: | :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | C | [mavgen][mavgen] | ✓ | ✓ | ✓ | MAVLink project reference implementation. [Generated libraries](#prebuilt_libraries) are also published for both protocol versions. | | C++11 | [mavgen][mavgen] | ✓ | ✓ | ✓ | | +| JavaScript (NextGen) | [mavgen][mavgen] | ✓ | ✓ | ✓ | New mavgen JavaScript library. Full test suite, resulting library produces binary compatible output compared to C bindings. Slightly incompatible with previous version, but not hard to migrate. | | Python (2.7+, 3.3+) | [mavgen][mavgen] | ✓ | ✓ | ✓ | Python bindings. Library also available on PyPi: [pymavlink](https://pypi.org/project/pymavlink/). | +| Rust | [rust-mavlink][rust-mavlink] | ✓ | ✓ | ✓ | Rust MAVLink generated code. Has [tests][rust-tests] and [docs][rust-docs]. | | C# | [mavgen][mavgen] | ✓ | ✓ | | | -| Objective C | [mavgen][mavgen] | ✓ | | | | Java | [mavgen][mavgen] | ✓ | ✓ | | Dronefleet offers a more idiomatic generated library | | JavaScript (Stable) | [mavgen][mavgen] | ✓ | ✓ | ✗ | Old mavgen JavaScript binding (has known bugs and no test suite). | -| JavaScript (NextGen) | [mavgen][mavgen] | ✓ | ✓ | ✓ | New mavgen JavaScript library. Full test suite, resulting library produces binary compatible output compared to C bindings. Slightly incompatible with previous version, but not hard to migrate. | -| TypeScript/JavaScript | [mavgen][mavgen] | ✓ | ✓ | ✗ | TypeScript classes which can be used with [node-mavlink][node-mavlink]. | | Lua | [mavgen][mavgen] | ✓ | ✓ | ✗ | Lua library. Does not support zero trimming of MAVLink 2 messages. | +| TypeScript/JavaScript | [mavgen][mavgen] | ✓ | ✓ | ✗ | TypeScript classes which can be used with [node-mavlink][node-mavlink]. | | WLua (Wireshark Lua bindings) | [mavgen][mavgen] | ✓ | ✓ | NA | Allow MAVLink-aware packet inspection in Wireshark. Generated lua scripts should be copied to the Wireshark plugin directory (e.g. **wireshark/plugins/mavlink.lua**). | -| Swift | [mavgen][mavgen] | ✓ | | | -| Rust | [rust-mavlink][rust-mavlink] | ✓ | ✓ | ✓ | Rust MAVLink generated code. Has [tests][rust-tests] and [docs][rust-docs]. | | Ada | [mavgen][mavgen] | ✓ | | | +| Objective C | [mavgen][mavgen] | ✓ | | | +| Swift | [mavgen][mavgen] | ✓ | | | @@ -68,15 +68,15 @@ The following generators are delivered by independent projects (and supported by | Language | Generator | MAVLink v1 | [MAVLink 2](guide/mavlink_2.md) | [Signing](guide/message_signing.md) | Notes | | :------------------------ | :------------------------------------------------------------------ | :--------: | :-----------------------------: | :---------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| C | [fastMavlink](https://github.com/olliw42/fastmavlink) | ✓ | ✓ | ✗ | Highly efficient C library with python code generators. Has [docs](https://github.com/olliw42/fastmavlink), [examples](https://github.com/olliw42/fastmavlink/tree/master/examples), [test](https://github.com/olliw42/fastmavlink/tree/master/tests), support for [routing](https://github.com/olliw42/fastmavlink#router) and [mavgen mimicry](https://github.com/olliw42/fastmavlink#pymavlink-mavgen-mimicry). | | Clojure | [clj-mavlink](https://github.com/WickedShell/clj-mavlink) | ✓ | ✓ | ✓ | Clojure MAVLink Bindings. | -| Dart | [dart_mavlink](https://github.com/nus/dart_mavlink) | ✓ | ✓ | ✗ | MAVLink library for Dart. | | Go | [gomavlib](https://github.com/gswly/gomavlib) | ✓ | ✓ | ✓ | Go library with support for MAVLink 1, 2 and signing, test suite, and [documentation](https://pkg.go.dev/github.com/aler9/gomavlib) | -| Go | [go-mavlink1](https://github.com/mgr9525/go-mavlink1) | ✓ | ✗ | ✗ | Golang MAVLink v1 | -| Haskell | [HaskMavlink](https://github.com/SweeWarman/HaskMavlink) | ✗ | ✓ | ✗ | | Java | [dronefleet/mavlink](https://github.com/dronefleet/mavlink) | ✓ | ✓ | ✓ | _Idiomatic_ Java SDK/API for MAVLink. Provides a gradle plugin for the code generator. | -| TypeScript/JavaScript/npm | [node-mavlink](https://github.com/padcom/node-mavlink#readme) | ✓ | ✓ | ✓ | TypeScript code generator for data classes with tools to receive and send messages. [Getting started](https://github.com/padcom/node-mavlink#getting-started) guide and inline JSDoc, along with some [examples](https://github.com/padcom/node-mavlink/tree/master/examples). | | Kotlin | [mavlink-kotlin](https://github.com/divyanshupundir/mavlink-kotlin) | ✓ | ✓ | ✓ | Uses codegen instead of reflection for performance with Coroutines, RxJava2 and RxJava3 support. Provides a code generator Gradle plugin. | +| TypeScript/JavaScript/npm | [node-mavlink](https://github.com/padcom/node-mavlink#readme) | ✓ | ✓ | ✓ | TypeScript code generator for data classes with tools to receive and send messages. [Getting started](https://github.com/padcom/node-mavlink#getting-started) guide and inline JSDoc, along with some [examples](https://github.com/padcom/node-mavlink/tree/master/examples). | +| C | [fastMavlink](https://github.com/olliw42/fastmavlink) | ✓ | ✓ | ✗ | Highly efficient C library with python code generators. Has [docs](https://github.com/olliw42/fastmavlink), [examples](https://github.com/olliw42/fastmavlink/tree/master/examples), [test](https://github.com/olliw42/fastmavlink/tree/master/tests), support for [routing](https://github.com/olliw42/fastmavlink#router) and [mavgen mimicry](https://github.com/olliw42/fastmavlink#pymavlink-mavgen-mimicry). | +| Dart | [dart_mavlink](https://github.com/nus/dart_mavlink) | ✓ | ✓ | ✗ | MAVLink library for Dart. | +| Go | [go-mavlink1](https://github.com/mgr9525/go-mavlink1) | ✓ | ✗ | ✗ | Golang MAVLink v1 | +| Haskell | [HaskMavlink](https://github.com/SweeWarman/HaskMavlink) | ✗ | ✓ | ✗ | ## Prebuilt MAVLink C Libraries {#prebuilt_libraries}