Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .vitepress/config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
20 changes: 10 additions & 10 deletions en/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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] | ✓ | | |

<!-- reference links for table above -->

Expand All @@ -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) | &check; | &check; | &cross; | 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) | &check; | &check; | &check; | Clojure MAVLink Bindings. |
| Dart | [dart_mavlink](https://github.com/nus/dart_mavlink) | &check; | &check; | &cross; | MAVLink library for Dart. |
| Go | [gomavlib](https://github.com/gswly/gomavlib) | &check; | &check; | &check; | 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) | &check; | &cross; | &cross; | Golang MAVLink v1 |
| Haskell | [HaskMavlink](https://github.com/SweeWarman/HaskMavlink) | &cross; | &check; | &cross; |
| Java | [dronefleet/mavlink](https://github.com/dronefleet/mavlink) | &check; | &check; | &check; | _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) | &check; | &check; | &check; | 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) | &check; | &check; | &check; | 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) | &check; | &check; | &check; | 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) | &check; | &check; | &cross; | 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) | &check; | &check; | &cross; | MAVLink library for Dart. |
| Go | [go-mavlink1](https://github.com/mgr9525/go-mavlink1) | &check; | &cross; | &cross; | Golang MAVLink v1 |
| Haskell | [HaskMavlink](https://github.com/SweeWarman/HaskMavlink) | &cross; | &check; | &cross; |

## Prebuilt MAVLink C Libraries {#prebuilt_libraries}

Expand Down