VSM C++ SDK
Vehicle Specific Modules SDK
ugcs::vsm::Heading_action Class Reference

Change the heading of a vehicle. More...

#include <heading_action.h>

Inheritance diagram for ugcs::vsm::Heading_action:
ugcs::vsm::Action

Public Types

typedef std::shared_ptr< Heading_actionPtr
 Pointer type.
 
typedef std::weak_ptr< Heading_actionWeak_ptr
 Pointer type.
 
- Public Types inherited from ugcs::vsm::Action
enum  Type {
  Type::MOVE, Type::WAIT, Type::PAYLOAD_STEERING, Type::TAKEOFF,
  Type::LANDING, Type::CHANGE_SPEED, Type::SET_HOME, Type::POI,
  Type::HEADING, Type::CAMERA_CONTROL, Type::CAMERA_TRIGGER, Type::PANORAMA,
  Type::TASK_ATTRIBUTES, Type::CAMERA_SERIES_BY_TIME, Type::CAMERA_SERIES_BY_DISTANCE, Type::SET_PARAMETER,
  Type::SET_SERVO, Type::REPEAT_SERVO
}
 Types of vehicle actions as part of task (mission). More...
 
typedef std::shared_ptr< ActionPtr
 Pointer type.
 
typedef std::weak_ptr< ActionWeak_ptr
 Pointer type.
 
typedef ugcs::vsm::Param_exception< Format_exception_dummy_struct,> Format_exception
 

Public Member Functions

 Heading_action (double heading)
 Construct the heading action explicitly. More...
 
 Heading_action (const mavlink::ugcs::Pld_mission_item_ex &item)
 Construct heading action from Mavlink mission item. More...
 
- Public Member Functions inherited from ugcs::vsm::Action
 Action (Type type)
 Construct action of specific type. More...
 
virtual ~Action ()
 Make sure Action is polymorphic. More...
 
Type Get_type () const
 Get action type. More...
 
void Set_id (int id)
 
std::string Get_name ()
 Get human readable name of the action. More...
 
template<Type type_val>
Mapper< type_val >::type::Ptr Get_action ()
 Get pointer to specific action as determined by Get_type. More...
 

Static Public Member Functions

template<typename... Args>
static Ptr Create (Args &&...args)
 Create an instance. More...
 
- Static Public Member Functions inherited from ugcs::vsm::Action
template<typename... Args>
static Ptr Create (Args &&...args)
 Create an instance. More...
 

Public Attributes

double heading
 Heading in radians.
 
- Public Attributes inherited from ugcs::vsm::Action
int command_id = -1
 

Detailed Description

Change the heading of a vehicle.

Heading is an angle between the North and head (nose) of the vehicle. If vehicle can't change the heading without changing the movement vector, then payload heading should be changed instead.

Constructor & Destructor Documentation

ugcs::vsm::Heading_action::Heading_action ( double  heading)
inline

Construct the heading action explicitly.

ugcs::vsm::Heading_action::Heading_action ( const mavlink::ugcs::Pld_mission_item_ex &  item)
inline

Construct heading action from Mavlink mission item.

Exceptions
Action::Format_exceptionif mission item has wrong format.
Parameters
itemWith command equal to mavlink::MAV_CMD::MAV_CMD_CONDITION_YAW

Member Function Documentation

template<typename... Args>
static Ptr ugcs::vsm::Heading_action::Create ( Args &&...  args)
inlinestatic

Create an instance.


The documentation for this class was generated from the following file: