namespace ugcs::vsm::mavlink¶
Overview¶
All MAVLink definitions reside in this namespace. More…
namespace mavlink { // namespaces namespace ugcs::vsm::mavlink::internal; // typedefs typedef Value<int8_t, CHAR> Char; typedef Value<int8_t, INT8> Int8; typedef Value<uint8_t, UINT8> Uint8; typedef Value<int16_t, INT16> Int16; typedef Value<uint16_t, UINT16> Uint16; typedef Value<int32_t, INT32> Int32; typedef Value<uint32_t, UINT32> Uint32; typedef Value<int64_t, INT64> Int64; typedef Value<uint64_t, UINT64> Uint64; typedef Value<float, FLOAT> Float; typedef Value<double, DOUBLE> Double; typedef Value<uint8_t, UINT8_VERSION, VERSION> Uint8_version; typedef std::pair<uint32_t, uint16_t> Extra_byte_length_pair; typedef uint32_t MESSAGE_ID_TYPE; typedef std::vector<Payload_base::Ptr> Payload_list; // enums enum { VERSION = 3, START_SIGN = 0xfe, START_SIGN2 = 0xfd, SYSTEM_ID_NONE = 0, SYSTEM_ID_ANY = -1, }; enum Field_type_id; // structs template <class T, class = void> struct Field_default_value; template <class T> struct Field_default_value<T, typename std::enable_if<std::is_floating_point<T>::value>::type>; template <class T> struct Field_default_value<T, typename std::enable_if<std::is_integral<T>::value>::type>; template <MESSAGE_ID_TYPE message_id, class Extension_type = Extension> struct Payload_type_mapper; // classes class Checksum; class Extension; template <MESSAGE_ID_TYPE message_id, class Extension_type = Extension> class Message; template < class TData, internal::Field_descriptor* fields, const char* msg_name, MESSAGE_ID_TYPE msg_id, uint8_t extra_byte > class Payload; class Payload_base; template <typename T, Field_type_id id, int32_t initial_value = 0> class Value; template <class TValue, size_t size> class Value_array; template <size_t size> class Value_array<Char, size>; // global variables static constexpr size_t MAVLINK_1_HEADER_LEN = 6; static constexpr size_t MAVLINK_1_MIN_FRAME_LEN = MAVLINK_1_HEADER_LEN + 2; static constexpr size_t MAVLINK_2_HEADER_LEN = 10; static constexpr size_t MAVLINK_2_MIN_FRAME_LEN = MAVLINK_2_HEADER_LEN + 2; } // namespace mavlink
Detailed Documentation¶
All MAVLink definitions reside in this namespace.
Enum Values¶
VERSION
Current protocol version value.
START_SIGN
Starting byte of Mavlink packet.
START_SIGN2
Starting byte of Mavlink v2 packet.
SYSTEM_ID_NONE
System_id value denoting an unknown system, or all systems depending on context.
SYSTEM_ID_ANY
Special value representing any Mavlink system id.
Typedefs¶
typedef Value<int8_t, CHAR> Char
Value containers for all MAVLink types.
typedef std::pair<uint32_t, uint16_t> Extra_byte_length_pair
A pair of values representing CRC extra byte and length of the Mavlink message payload.
typedef uint32_t MESSAGE_ID_TYPE
Message id implementation type capable to hold a message id value from any extension (i.e.
MESSAGE_ID from any extension can be assigned to this type).