class ugcs::vsm::Task_attributes_action

Overview

Task attributes action. More…

#include <task_attributes_action.h>

class Task_attributes_action: public ugcs::vsm::Action
{
public:
    // typedefs

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

    // enums

    enum Emergency_action;

    // fields

    double safe_altitude;
    Emergency_action rc_loss;
    Emergency_action gnss_loss;
    Emergency_action low_battery;
    float altitude_origin;
    bool altitude_origin_set = false;

    // construction

    Task_attributes_action(double safe_altitude, Emergency_action rc_loss, Emergency_action gnss_loss, Emergency_action low_battery);
    Task_attributes_action(const Property_list& params);

    // methods

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

Inherited Members

public:
    // typedefs

    typedef std::shared_ptr<Action> Ptr;
    typedef std::weak_ptr<Action> Weak_ptr;
    typedef ugcs::vsm::Param_exception<Format_exception_dummy_struct,> Format_exception;

    // enums

    enum Type;

    // structs

    struct Format_exception_dummy_struct;

    template <>
    struct Mapper<Action::Type::REPEAT_SERVO>;

    template <>
    struct Mapper<Action::Type::POI>;

    template <>
    struct Mapper<Action::Type::PAYLOAD_STEERING>;

    template <>
    struct Mapper<Action::Type::PANORAMA>;

    template <>
    struct Mapper<Action::Type::SET_HOME>;

    template <>
    struct Mapper<Action::Type::TAKEOFF>;

    template <>
    struct Mapper<Action::Type::SET_SERVO>;

    template <>
    struct Mapper<Action::Type::TASK_ATTRIBUTES>;

    template <>
    struct Mapper<Action::Type::VTOL_TRANSITION>;

    template <>
    struct Mapper<Action::Type::MOVE>;

    template <>
    struct Mapper<Action::Type::HEADING>;

    template <>
    struct Mapper<Action::Type::CAMERA_CONTROL>;

    template <Type type_val>
    struct Mapper;

    template <>
    struct Mapper<Action::Type::LANDING>;

    template <>
    struct Mapper<Action::Type::CAMERA_SERIES_BY_DISTANCE>;

    template <>
    struct Mapper<Action::Type::CAMERA_TRIGGER>;

    template <>
    struct Mapper<Action::Type::CAMERA_SERIES_BY_TIME>;

    template <>
    struct Mapper<Action::Type::CHANGE_SPEED>;

    template <>
    struct Mapper<Action::Type::WAIT>;

    // fields

    int command_id = -1;

    // methods

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

    Type Get_type() const;
    void Set_id(int id);
    std::string Get_name();

    template <Type type_val>
    Mapper<type_val>::type::Ptr Get_action();

Detailed Documentation

Task attributes action.

Initializes/changes task parameters, such as safety configuration and emergency actions.

Typedefs

typedef std::shared_ptr<Task_attributes_action> Ptr

Pointer type.

typedef std::weak_ptr<Task_attributes_action> Weak_ptr

Pointer type.

Fields

double safe_altitude

Safe altitude in meters (MSL).

Emergency_action rc_loss

Type of action to perform in case of remote control loss.

Emergency_action gnss_loss

Type of action to perform in case of GNSS signal loss (i.e.

GPS, GLONASS etc.).

Emergency_action low_battery

Type of action to perform in case of low battery.

float altitude_origin

altitude origin that is sent in mission upload request

bool altitude_origin_set = false

flag that check if altitude origin was sent

Construction

Task_attributes_action(double safe_altitude, Emergency_action rc_loss, Emergency_action gnss_loss, Emergency_action low_battery)

Construct task attributes action explicitly.

Task_attributes_action(const Property_list& params)

Construct action from new style params.

Methods

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

Create an instance.