# `XMAVLink.Message`
[🔗](https://github.com/fancydrones/xmavlink/blob/main/lib/mavlink/message.ex#L1)

# `t`

```elixir
@type t() :: term()
```

All the types that implement this protocol.

# `pack`

```elixir
@spec pack(t(), 1 | 2) ::
  {:ok, XMAVLink.Types.message_id(),
   {:ok, XMAVLink.Types.crc_extra(), pos_integer(),
    :broadcast | :system | :system_component | :component}, binary()}
  | {:error, String.t()}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
