/gomavlink

MAVLink Encoding and Decoding in Go

Primary LanguageGoOtherNOASSERTION

gomavlink

MAVLink Encoding and Decoding in Go

GoDoc

MAVLink is documented on https://mavlink.io/en/

The top level package defines Encoder and Decoder types that can handle the dialects generated from the XML files in the subpackages.

The dialect subpackages are entirely auto-generated by the [gomavgen] tool.

usable for dumping ardupilot tlogs, see tlog/dump.go

NOTE ON THE LICENSE: The generated files here are derived from [Original XML code] under the LGPL. The Go code is more liberal i really don't care, but i don't want to become a license manager, so i'm slapping the same on this. Ping me if you want a more liberal one.

WIP! a little patience please.

TODO:

  • imprint git version of xml files used to generate
  • V2 signatures
  • nice api for commands/parameters
  • decent test suite
  • test V2 decoding/encoding
  • test V1 encoding
  • String() method for generated message types that prints [n]byte as string
  • figure out if we can decide between V1 and V2 purely on message id. i.e. are mid<255 always sent as V1 with no signature?
    if so, we could only generate V1 or V2 encode/decode based on message id. but then why have extended fields if you dont have a way to send messages as v1?