50 lines
2.0 KiB
Ada
50 lines
2.0 KiB
Ada
|
-- Mavlink
|
||
|
-- Copyright Fil Andrii root.fi36@gmail.com 2022
|
||
|
|
||
|
with Interfaces;
|
||
|
|
||
|
package Mavlink is
|
||
|
|
||
|
pragma Pure (Mavlink);
|
||
|
|
||
|
Packet_Marker : constant Interfaces.Unsigned_8 := 16#FE#;
|
||
|
Packet_Marker_Length : constant := 1;
|
||
|
Packet_Checksum_Length : constant := 2;
|
||
|
Packet_Header_Length : constant := 5;
|
||
|
Packet_Payload_First : constant := Packet_Header_Length + Packet_Marker_Length;
|
||
|
Packet_Control_INfo_Size : constant := Packet_Marker_Length + Packet_Header_Length + Packet_Checksum_Length;
|
||
|
|
||
|
Tag_Length : constant := Standard'Address_Size / 8;
|
||
|
|
||
|
Message_Alignment : constant := 8;
|
||
|
Message_Size : constant := Positive (Float'Ceiling (Float (Tag_Length + Packet_Header_Length) /
|
||
|
Float (Message_Alignment))) * Message_Alignment;
|
||
|
|
||
|
subtype Msg_Id is Interfaces.Unsigned_8;
|
||
|
|
||
|
type Byte_Arrray is array (Natural range <>) of Interfaces.Unsigned_8;
|
||
|
|
||
|
type Unsigned_8_Array is array (Natural range <>) of Interfaces.Unsigned_8
|
||
|
with Component_Size => 8;
|
||
|
type Unsigned_16_Array is array (Natural range <>) of Interfaces.Unsigned_16
|
||
|
with Component_Size => 16;
|
||
|
type Unsigned_32_Array is array (Natural range <>) of Interfaces.Unsigned_32
|
||
|
with Component_Size => 32;
|
||
|
type Unsigned_64_Array is array (Natural range <>) of Interfaces.Unsigned_64
|
||
|
with Component_Size => 64;
|
||
|
type Integer_8_Array is array (Natural range <>) of Interfaces.Integer_8
|
||
|
with Component_Size => 8;
|
||
|
type Integer_16_Array is array (Natural range <>) of Interfaces.Integer_16
|
||
|
with Component_Size => 16;
|
||
|
type Integer_32_Array is array (Natural range <>) of Interfaces.Integer_32
|
||
|
with Component_Size => 32;
|
||
|
type Integer_64_Array is array (Natural range <>) of Interfaces.Integer_64
|
||
|
with Component_Size => 64;
|
||
|
type Short_Float_Array is array (Natural range <>) of Short_Float
|
||
|
with Component_Size => 32;
|
||
|
type Long_Float_Array is array (Natural range <>) of Long_Float
|
||
|
with Component_Size => 64;
|
||
|
|
||
|
end Mavlink;
|
||
|
|