logo
  • Overview
  • Getting Started
  • Manual
  • Tutorials
  • License
  • Examples
  • Global Namespace
  • UgCS
  • namespace callback_internal
    • namespace callback_internal::Callback_forced_args_helper
  • namespace std
  • namespace ugcs
    • namespace ugcs::vsm
      • namespace ugcs::vsm::callback_internal
        • template struct ugcs::vsm::callback_internal::Callback_args_checker
        • template struct ugcs::vsm::callback_internal::Callback_args_checker<Callback, idx, Arg>
        • template struct ugcs::vsm::callback_internal::Callback_args_checker<Callback, 0>
        • template struct ugcs::vsm::callback_internal::Callback_args_checker<Callback, idx, Arg, Args…>
        • template class ugcs::vsm::callback_internal::Dummy_callback_helper
        • template class ugcs::vsm::callback_internal::Dummy_callback_helper<void, Args…>
      • namespace ugcs::vsm::internal
        • class ugcs::vsm::internal::Overlapped_io_controller
        • class ugcs::vsm::internal::Poll_io_controller
        • class ugcs::vsm::internal::Posix_file_handle
        • template class ugcs::vsm::internal::Shared_getter
        • template class ugcs::vsm::internal::Shared_getter<T, void>
        • template class ugcs::vsm::internal::Shared_getter<T, T>
        • template class ugcs::vsm::internal::Singleton_creator
        • template class ugcs::vsm::internal::Singleton_creator<T, typename std::enable_if<std::is_default_constructible<T>::value>::type>
        • class ugcs::vsm::internal::Windows_file_handle
      • namespace ugcs::vsm::java_internals
        • template struct ugcs::vsm::java_internals::MethodCallSelector
        • template struct ugcs::vsm::java_internals::MethodCallSelector<jshort>
        • template struct ugcs::vsm::java_internals::MethodCallSelector<jint>
        • template struct ugcs::vsm::java_internals::MethodCallSelector<jlong>
        • template struct ugcs::vsm::java_internals::MethodCallSelector<jfloat>
        • template struct ugcs::vsm::java_internals::MethodCallSelector<jchar>
        • template struct ugcs::vsm::java_internals::MethodCallSelector<jboolean>
        • template struct ugcs::vsm::java_internals::MethodCallSelector<jbyte>
        • template struct ugcs::vsm::java_internals::MethodCallSelector<void>
        • template struct ugcs::vsm::java_internals::MethodCallSelector<jobject>
        • template struct ugcs::vsm::java_internals::MethodCallSelector<jdouble>
        • template class ugcs::vsm::java_internals::Array<jobject>
        • template class ugcs::vsm::java_internals::Array
        • class ugcs::vsm::java_internals::ArrayBase
        • class ugcs::vsm::java_internals::ObjectArray
        • template class ugcs::vsm::java_internals::PrimitiveArray
      • namespace ugcs::vsm::mavlink
        • namespace ugcs::vsm::mavlink::internal
        • enum ugcs::vsm::mavlink::Field_type_id
        • template struct ugcs::vsm::mavlink::Field_default_value
        • template struct ugcs::vsm::mavlink::Field_default_value<T, typename std::enable_if<std::is_floating_point<T>::value>::type>
        • template struct ugcs::vsm::mavlink::Field_default_value<T, typename std::enable_if<std::is_integral<T>::value>::type>
        • template struct ugcs::vsm::mavlink::Payload_type_mapper
        • class ugcs::vsm::mavlink::Checksum
        • class ugcs::vsm::mavlink::Extension
        • template class ugcs::vsm::mavlink::Message
        • template class ugcs::vsm::mavlink::Payload
        • class ugcs::vsm::mavlink::Payload_base
        • template class ugcs::vsm::mavlink::Value
        • template class ugcs::vsm::mavlink::Value_array
        • template class ugcs::vsm::mavlink::Value_array<Char, size>
      • namespace ugcs::vsm::param_setter_internal
        • template class ugcs::vsm::param_setter_internal::Param_setter
      • namespace ugcs::vsm::sockets
      • enum ugcs::vsm::Io_result
      • enum ugcs::vsm::Run_as_service_result
      • struct ugcs::vsm::Altimeter_required_exception_dummy_struct
      • struct ugcs::vsm::Debug_assert_exception_dummy_struct
      • struct ugcs::vsm::Internal_error_exception_dummy_struct
      • struct ugcs::vsm::Invalid_op_exception_dummy_struct
      • struct ugcs::vsm::Invalid_param_exception_dummy_struct
      • struct ugcs::vsm::Nullptr_exception_dummy_struct
      • struct ugcs::vsm::System_exception_dummy_struct
      • struct ugcs::vsm::Ucs_info
      • class ugcs::vsm::Action
        • enum ugcs::vsm::Action::Type
        • struct ugcs::vsm::Action::Format_exception_dummy_struct
        • template struct ugcs::vsm::Action::Mapper<Action::Type::REPEAT_SERVO>
        • template struct ugcs::vsm::Action::Mapper<Action::Type::POI>
        • template struct ugcs::vsm::Action::Mapper<Action::Type::PAYLOAD_STEERING>
        • template struct ugcs::vsm::Action::Mapper<Action::Type::PANORAMA>
        • template struct ugcs::vsm::Action::Mapper<Action::Type::SET_HOME>
        • template struct ugcs::vsm::Action::Mapper<Action::Type::TAKEOFF>
        • template struct ugcs::vsm::Action::Mapper<Action::Type::SET_SERVO>
        • template struct ugcs::vsm::Action::Mapper<Action::Type::TASK_ATTRIBUTES>
        • template struct ugcs::vsm::Action::Mapper<Action::Type::VTOL_TRANSITION>
        • template struct ugcs::vsm::Action::Mapper<Action::Type::MOVE>
        • template struct ugcs::vsm::Action::Mapper<Action::Type::HEADING>
        • template struct ugcs::vsm::Action::Mapper<Action::Type::CAMERA_CONTROL>
        • template struct ugcs::vsm::Action::Mapper
        • template struct ugcs::vsm::Action::Mapper<Action::Type::LANDING>
        • template struct ugcs::vsm::Action::Mapper<Action::Type::CAMERA_SERIES_BY_DISTANCE>
        • template struct ugcs::vsm::Action::Mapper<Action::Type::CAMERA_TRIGGER>
        • template struct ugcs::vsm::Action::Mapper<Action::Type::CAMERA_SERIES_BY_TIME>
        • template struct ugcs::vsm::Action::Mapper<Action::Type::CHANGE_SPEED>
        • template struct ugcs::vsm::Action::Mapper<Action::Type::WAIT>
      • class ugcs::vsm::Android_serial_processor
        • class ugcs::vsm::Android_serial_processor::Open_request
        • class ugcs::vsm::Android_serial_processor::Read_request
        • class ugcs::vsm::Android_serial_processor::Stream
        • class ugcs::vsm::Android_serial_processor::Stream_entry
        • class ugcs::vsm::Android_serial_processor::Write_request
      • template class ugcs::vsm::Bo_value
      • template class ugcs::vsm::Callback<Method, typename std::enable_if<callback_internal::Is_method_ptr<Method>()>::type, Class_ptr, Args…>
      • template class ugcs::vsm::Callback
      • template class ugcs::vsm::Callback_base
        • template class ugcs::vsm::Callback_base::Ptr
      • template class ugcs::vsm::Callback_forced_args
      • template class ugcs::vsm::Callback_proxy
        • class ugcs::vsm::Callback_proxy::Hasher
      • class ugcs::vsm::Camera_control_action
      • class ugcs::vsm::Camera_series_by_distance_action
      • class ugcs::vsm::Camera_series_by_time_action
      • class ugcs::vsm::Camera_trigger_action
      • class ugcs::vsm::Cartesian_tuple
      • class ugcs::vsm::Change_speed_action
      • class ugcs::vsm::Crc32
      • class ugcs::vsm::Cucs_processor
        • struct ugcs::vsm::Cucs_processor::Server_context
        • struct ugcs::vsm::Cucs_processor::Vehicle_context
      • template class ugcs::vsm::Derived_exception
      • class ugcs::vsm::Device
        • class ugcs::vsm::Device::Commit_scope
      • template class ugcs::vsm::Enum_set
      • class ugcs::vsm::Exception
        • struct ugcs::vsm::Exception::Va_args_overload
        • struct ugcs::vsm::Exception::Va_list_overload
      • class ugcs::vsm::File_processor
        • struct ugcs::vsm::File_processor::Already_exists_exception_dummy_struct
        • struct ugcs::vsm::File_processor::Exception_dummy_struct
        • struct ugcs::vsm::File_processor::Not_found_exception_dummy_struct
        • struct ugcs::vsm::File_processor::Permission_denied_exception_dummy_struct
        • class ugcs::vsm::File_processor::Native_controller
        • class ugcs::vsm::File_processor::Stream
      • class ugcs::vsm::Geodetic_tuple
      • class ugcs::vsm::Heading_action
      • class ugcs::vsm::Http_parser
        • struct ugcs::vsm::Http_parser::string_compare_ignore_case
      • class ugcs::vsm::Io_buffer
      • class ugcs::vsm::Io_request
      • class ugcs::vsm::Io_stream
        • enum ugcs::vsm::Io_stream::State
        • enum ugcs::vsm::Io_stream::Type
      • class ugcs::vsm::Java
        • class ugcs::vsm::Java::Env
      • class ugcs::vsm::Landing_action
      • class ugcs::vsm::Local_interface
      • class ugcs::vsm::Log
        • enum ugcs::vsm::Log::Level
        • struct ugcs::vsm::Log::Exception_dummy_struct
        • class ugcs::vsm::Log::Platform_logger
      • class ugcs::vsm::Mavlink_decoder
      • class ugcs::vsm::Mavlink_demuxer
        • struct ugcs::vsm::Mavlink_demuxer::Duplicate_handler_dummy_struct
        • template class ugcs::vsm::Mavlink_demuxer::Callback
        • class ugcs::vsm::Mavlink_demuxer::Callback_base
      • class ugcs::vsm::Mavlink_encoder
      • class ugcs::vsm::Mavlink_stream
      • class ugcs::vsm::Move_action
        • enum ugcs::vsm::Move_action::Turn_type
      • class ugcs::vsm::Operation_waiter
      • class ugcs::vsm::Panorama_action
      • template class ugcs::vsm::Param_exception
      • class ugcs::vsm::Payload_steering_action
      • class ugcs::vsm::Piped_request_waiter
      • class ugcs::vsm::Poi_action
      • template class ugcs::vsm::Position
      • class ugcs::vsm::Properties
        • struct ugcs::vsm::Properties::Exception_dummy_struct
        • struct ugcs::vsm::Properties::Not_convertible_exception_dummy_struct
        • struct ugcs::vsm::Properties::Not_found_exception_dummy_struct
        • struct ugcs::vsm::Properties::Parse_exception_dummy_struct
        • class ugcs::vsm::Properties::Iterator
        • class ugcs::vsm::Properties::Property
      • class ugcs::vsm::Property
        • enum ugcs::vsm::Property::Value_spec
        • enum ugcs::vsm::Property::Value_type
      • class ugcs::vsm::Property_list
      • class ugcs::vsm::Quaternion
      • class ugcs::vsm::Read_request
      • template class ugcs::vsm::Reference_guard
        • class ugcs::vsm::Reference_guard::Hasher
      • class ugcs::vsm::Repeat_servo_action
      • class ugcs::vsm::Request_container
        • enum ugcs::vsm::Request_container::Type
        • class ugcs::vsm::Request_container::Request
        • class ugcs::vsm::Request_container::Request_waiter
      • template class ugcs::vsm::Request_context
      • class ugcs::vsm::Request_temp_completion_context
      • class ugcs::vsm::Request_worker
      • class ugcs::vsm::Serial_processor
        • class ugcs::vsm::Serial_processor::Stream
      • class ugcs::vsm::Service_discovery_processor
      • class ugcs::vsm::Set_home_action
      • class ugcs::vsm::Set_servo_action
      • class ugcs::vsm::Shared_memory
        • enum ugcs::vsm::Shared_memory::Open_result
      • class ugcs::vsm::Shared_mutex_file
      • template class ugcs::vsm::Singleton
      • class ugcs::vsm::Socket_processor
        • class ugcs::vsm::Socket_processor::Stream
      • class ugcs::vsm::Subsystem
      • class ugcs::vsm::Takeoff_action
      • class ugcs::vsm::Task
      • class ugcs::vsm::Task_attributes_action
        • enum ugcs::vsm::Task_attributes_action::Emergency_action
      • class ugcs::vsm::Text_stream_filter
        • class ugcs::vsm::Text_stream_filter::Entry
      • class ugcs::vsm::Timer_processor
        • class ugcs::vsm::Timer_processor::Timer
      • class ugcs::vsm::Ucs_request
      • class ugcs::vsm::Vehicle
        • class ugcs::vsm::Vehicle::Command_map
        • class ugcs::vsm::Vehicle::Hasher
      • class ugcs::vsm::Vehicle_command
        • enum ugcs::vsm::Vehicle_command::Camera_power_state
        • enum ugcs::vsm::Vehicle_command::Camera_trigger_state
        • enum ugcs::vsm::Vehicle_command::Type
      • class ugcs::vsm::Vehicle_request
        • enum ugcs::vsm::Vehicle_request::Result
        • class ugcs::vsm::Vehicle_request::Handle
      • template class ugcs::vsm::Vehicle_request_spec<void>
      • template class ugcs::vsm::Vehicle_request_spec
        • class ugcs::vsm::Vehicle_request_spec::Handle
      • class ugcs::vsm::Vsm_command
      • class ugcs::vsm::Vtol_transition_action
        • enum ugcs::vsm::Vtol_transition_action::Mode
      • class ugcs::vsm::Wait_action
      • class ugcs::vsm::Wgs84_datum
      • class ugcs::vsm::Windows_wstring
        • struct ugcs::vsm::Windows_wstring::Conversion_failure_dummy_struct
      • class ugcs::vsm::Write_request
  • struct glob_t
  • class Adsb_vehicle
On this page
  • Overview
    • Inherited Members
  • Detailed Documentation
    • Typedefs
    • Construction
    • Methods

template class ugcs::vsm::mavlink::Payload¶

Overview¶

Generalized MAVLink message payload. More…

#include <mavlink.h>

template <
    class TData,
    internal::Field_descriptor* fields,
    const char* msg_name,
    MESSAGE_ID_TYPE msg_id,
    uint8_t extra_byte
    >
class Payload: public ugcs::vsm::mavlink::Payload_base
{
public:
    // typedefs

    typedef std::shared_ptr<Payload> Ptr;
    typedef std::weak_ptr<Payload> Weak_ptr;

    // construction

    Payload();
    Payload(const void* buf, size_t size);
    Payload(Io_buffer::Ptr buffer);

    // methods

    template <typename... Args>
    static Ptr Create(Args&&... args);

    virtual size_t Get_size_v1() const;
    virtual size_t Get_size_v2() const;
    virtual const char* Get_name() const;
    virtual MESSAGE_ID_TYPE Get_id() const;
    virtual uint8_t Get_extra_byte() const;
    virtual void Reset();
    bool operator == (const Payload& rhs) const;
    bool operator != (const Payload& rhs) const;
    TData* operator -> ();
    const TData* operator -> () const;
    TData& operator * ();
    const TData& operator * () const;
};

Inherited Members¶

public:
    // typedefs

    typedef std::shared_ptr<Payload_base> Ptr;
    typedef std::weak_ptr<Payload_base> Weak_ptr;

    // methods

    template <typename... Args>
    static Ptr Create(Args&&... args);

    virtual size_t Get_size_v1() const = 0;
    virtual size_t Get_size_v2() const = 0;
    Io_buffer::Ptr Get_buffer() const;
    std::string Dump() const;
    virtual const char* Get_name() const = 0;
    virtual MESSAGE_ID_TYPE Get_id() const = 0;
    virtual uint8_t Get_extra_byte() const = 0;
    virtual void Reset() = 0;

Detailed Documentation¶

Generalized MAVLink message payload.

Parameters:

TData

Structure for payload data.

Typedefs¶

typedef std::shared_ptr<Payload> Ptr

Pointer type.

typedef std::weak_ptr<Payload> Weak_ptr

Pointer type.

Construction¶

Payload()

All fields are initialized to default values.

Payload(const void* buf, size_t size)

Parse message from data buffer.

The buffer should contain data on wire (in network byte order). Data size can be less than expected payload size. In this case reminder bytes will be set to 0. This is for mavlink2 support which allows trimming trailing zero bytes.

Parameters:

buf

Pointer to data buffer.

size

Size of data available.

Payload(Io_buffer::Ptr buffer)

Convenience variation of previous constructor.

Parameters:

buffer

Buffer with data.

Methods¶

template <typename... Args>
static Ptr Create(Args&&... args)

Create an instance.

virtual size_t Get_size_v1() const

Get size of the message payload without extensions in bytes.

virtual size_t Get_size_v2() const

Get size of the message payload in bytes including all extensions.

virtual const char* Get_name() const

Get message name.

virtual MESSAGE_ID_TYPE Get_id() const

Get message id.

virtual uint8_t Get_extra_byte() const

Get extra byte for CRC calculation.

virtual void Reset()

Reset all fields to UgCS default values.

bool operator == (const Payload& rhs) const

Compare if data in the payload is bit-same with another payload.

bool operator != (const Payload& rhs) const

Compare if data in the payload is not bit-same with another payload.

TData* operator -> ()

Pointer access semantics to payload.

const TData* operator -> () const

Constant pointer access semantics to payload.

TData& operator * ()

Dereference access semantics to payload.

const TData& operator * () const

Constant dereference access semantics to payload.

previous

template class ugcs::vsm::mavlink::Message

next

class ugcs::vsm::mavlink::Payload_base

© Copyright 2020, SPH Engineering.

Created using Sphinx 4.3.2.