mavsdk::FollowMe Class Reference ​
#include: follow_me.h
Allow users to command the vehicle to follow a specific target. The target is provided as a GPS coordinate and altitude.
Data Structures ​
struct Config
struct TargetLocation
Public Types ​
Type | Description |
---|---|
enum Result | Possible results returned for followme operations. |
std::function< void(Result)> ResultCallback | Callback type for asynchronous FollowMe calls. |
Public Member Functions ​
Type | Name | Description |
---|---|---|
 | FollowMe (System & system) | Constructor. Creates the plugin for a specific System. |
 | FollowMe (std::shared_ptr< System > system) | Constructor. Creates the plugin for a specific System. |
 | ~FollowMe () override | Destructor (internal use only). |
 | FollowMe (const FollowMe & other) | Copy constructor. |
FollowMe::Config | get_config () const | Get current configuration. |
Result | set_config (Config config)const | Apply configuration by sending it to the system. |
bool | is_active () const | Check if FollowMe is active. |
Result | set_target_location (TargetLocation location)const | Set location of the moving target. |
FollowMe::TargetLocation | get_last_location () const | Get the last location of the target. |
Result | start () const | Start FollowMe mode. |
Result | stop () const | Stop FollowMe mode. |
const FollowMe & | operator= (const FollowMe &)=delete | Equality operator (object is not copyable). |
Constructor & Destructor Documentation ​
FollowMe() ​
mavsdk::FollowMe::FollowMe(System &system)
Constructor. Creates the plugin for a specific System.
The plugin is typically created as shown below:
auto follow_me = FollowMe(system);
Parameters
- System& system - The specific system associated with this plugin.
FollowMe() ​
mavsdk::FollowMe::FollowMe(std::shared_ptr< System > system)
Constructor. Creates the plugin for a specific System.
The plugin is typically created as shown below:
auto follow_me = FollowMe(system);
Parameters
- std::shared_ptr< System > system - The specific system associated with this plugin.
~FollowMe() ​
mavsdk::FollowMe::~FollowMe() override
Destructor (internal use only).
FollowMe() ​
mavsdk::FollowMe::FollowMe(const FollowMe &other)
Copy constructor.
Parameters
- const FollowMe& other -
Member Typdef Documentation ​
typedef ResultCallback ​
using mavsdk::FollowMe::ResultCallback = std::function<void(Result)>
Callback type for asynchronous FollowMe calls.
Member Enumeration Documentation ​
enum Result ​
Possible results returned for followme operations.
Value | Description |
---|---|
Unknown | Unknown result. |
Success | Request succeeded. |
NoSystem | No system connected. |
ConnectionError | Connection error. |
Busy | Vehicle is busy. |
CommandDenied | Command denied. |
Timeout | Request timed out. |
NotActive | FollowMe is not active. |
SetConfigFailed | Failed to set FollowMe configuration. |
Member Function Documentation ​
get_config() ​
FollowMe::Config mavsdk::FollowMe::get_config() const
Get current configuration.
This function is blocking.
Returns
 FollowMe::Config - Result of request.
set_config() ​
Result mavsdk::FollowMe::set_config(Config config) const
Apply configuration by sending it to the system.
This function is blocking.
Parameters
- Config config -
Returns
 Result - Result of request.
is_active() ​
bool mavsdk::FollowMe::is_active() const
Check if FollowMe is active.
This function is blocking.
Returns
 bool - Result of request.
set_target_location() ​
Result mavsdk::FollowMe::set_target_location(TargetLocation location) const
Set location of the moving target.
This function is blocking.
Parameters
- TargetLocation location -
Returns
 Result - Result of request.
get_last_location() ​
FollowMe::TargetLocation mavsdk::FollowMe::get_last_location() const
Get the last location of the target.
This function is blocking.
Returns
 FollowMe::TargetLocation - Result of request.
start() ​
Result mavsdk::FollowMe::start() const
Start FollowMe mode.
This function is blocking.
Returns
 Result - Result of request.
stop() ​
Result mavsdk::FollowMe::stop() const
Stop FollowMe mode.
This function is blocking.
Returns
 Result - Result of request.
operator=() ​
const FollowMe & mavsdk::FollowMe::operator=(const FollowMe &)=delete
Equality operator (object is not copyable).
Parameters
- const FollowMe& -
Returns
 const FollowMe & -