XMAVLink.Utils (xmavlink v0.4.3)
View SourceMAVLink support functions used during code generation and runtime Parts of this module are ported from corresponding implementations in mavutils.py
Summary
Functions
Helper function for messages to pack array fields
Helper function for messages to pack string fields
Parse an ip address string into a tuple
Resolve an address string to an IP address tuple.
Helper function for decode() to unpack array fields
Sort parsed message fields into wire order according to https://mavlink.io/en/guide/serialization.html List extension fields separately so that we can not include them for MAVLink 1 messages
Calculate an x25 checksum of a list or binary based on pymavlink mavcrc.x25crc
Functions
Helper function for messages to pack array fields
@spec pack_string(binary(), non_neg_integer()) :: binary()
Helper function for messages to pack string fields
Parse an ip address string into a tuple
Resolve an address string to an IP address tuple.
Accepts both IP addresses (e.g., "192.168.1.1") and DNS hostnames (e.g., "service.namespace.svc.cluster.local").
Uses Erlang's :inet.getaddr/2
for resolution, which handles both
IP addresses and DNS lookups.
Returns {:ok, ip_tuple}
on success or {:error, reason}
on failure.
Examples
iex> resolve_address("127.0.0.1")
{:ok, {127, 0, 0, 1}}
iex> resolve_address("localhost")
{:ok, {127, 0, 0, 1}}
Helper function for decode() to unpack array fields
Sort parsed message fields into wire order according to https://mavlink.io/en/guide/serialization.html List extension fields separately so that we can not include them for MAVLink 1 messages
@spec x25_crc([] | binary()) :: pos_integer()
Calculate an x25 checksum of a list or binary based on pymavlink mavcrc.x25crc