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

Performs a series of consequent camera shots in a fixed time intervals. More...

#include <camera_series_by_time_action.h>

Inheritance diagram for ugcs::vsm::Camera_series_by_time_action:
ugcs::vsm::Action

Public Types

typedef std::shared_ptr< Camera_series_by_time_actionPtr
 Pointer type.
 
typedef std::weak_ptr< Camera_series_by_time_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

 Camera_series_by_time_action (std::chrono::milliseconds interval, Optional< int > count, std::chrono::milliseconds initial_delay)
 
 Camera_series_by_time_action (const mavlink::ugcs::Pld_mission_item_ex &item)
 Construct camera control action from Mavlink mission item. More...
 
 Camera_series_by_time_action (const Property_list &p)
 Construct action from protobuf command.
 
- 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

std::chrono::milliseconds interval
 Time interval between two consequent shots. More...
 
Optional< int > count
 Total number of shots to perform. More...
 
std::chrono::milliseconds initial_delay
 Initial delay. More...
 
- Public Attributes inherited from ugcs::vsm::Action
int command_id = -1
 

Detailed Description

Performs a series of consequent camera shots in a fixed time intervals.

Constructor & Destructor Documentation

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

Construct camera control action from Mavlink mission item.

Parameters
itemWith command equal to mavlink::ugcs::MAV_CMD::MAV_CMD_DO_CAMERA_SERIES_BY_TIME

Member Function Documentation

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

Create an instance.

Member Data Documentation

Optional<int> ugcs::vsm::Camera_series_by_time_action::count

Total number of shots to perform.

std::chrono::milliseconds ugcs::vsm::Camera_series_by_time_action::initial_delay

Initial delay.

Time interval between the command has been accepted by the system and shooting the first picture.

std::chrono::milliseconds ugcs::vsm::Camera_series_by_time_action::interval

Time interval between two consequent shots.


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