Goby3  3.1.4
2024.02.22
mavlink.h File Reference
#include <array>
#include <cstdint>
#include <memory>
#include <mutex>
#include <ostream>
#include <string>
#include <tuple>
#include <type_traits>
#include <unordered_map>
#include <utility>
#include <vector>
#include <mavlink/v2.0/common/common.hpp>
#include "goby/util/debug_logger/flex_ostream.h"
#include "interface.h"

Go to the source code of this file.

Classes

struct  goby::middleware::MAVLinkRegistry
 A registry of mavlink types used for decoding. More...
 
struct  goby::middleware::SerializerParserHelper< mavlink::mavlink_message_t, MarshallingScheme::MAVLINK >
 Specialization for Mavlink message using runtime introspection (publish and subscribe_type_regex only) More...
 
struct  goby::middleware::MAVLinkTupleIndices
 
struct  goby::middleware::SerializerParserHelper< std::tuple< Integer, Integer, DataType >, MarshallingScheme::MAVLINK >
 Specialization for known compile-time Mavlink message and system id / component id metadata, e.g. DataType == HEARTBEAT, with tuple of <sysid, compid, msg> More...
 
struct  goby::middleware::SerializerParserHelper< DataType, MarshallingScheme::MAVLINK >
 Specialization for known compile-time Mavlink message without metadata, e.g. DataType == HEARTBEAT. More...
 

Namespaces

 goby
 The global namespace for the Goby project.
 
 goby::middleware
 Objects implementing the Goby nested middleware.
 

Functions

template<typename Tuple , typename T = typename std::tuple_element<MAVLinkTupleIndices::PACKET_INDEX, Tuple>::type, typename std::enable_if< std::is_base_of< mavlink::Message, T >::value >::type * = nullptr>
constexpr int goby::middleware::scheme ()
 Specialization for Mavlink with system id / component id metadata for tuple of <sysid, compid, msg> More...
 
template<typename T , typename std::enable_if< std::is_same< T, std::string >::value >::type * = nullptr>
constexpr int goby::middleware::scheme ()
 Placeholder to provide an interface for the scheme() function family. More...