mavsdk::ManualControl Class Reference
#include: manual_control.h
Enable manual control using e.g. a joystick or gamepad.
Public Types
Type | Description |
---|---|
enum Result | Possible results returned for manual control requests. |
std::function< void(Result)> ResultCallback | Callback type for asynchronous ManualControl calls. |
Public Member Functions
Type | Name | Description |
---|---|---|
ManualControl (System & system) | Constructor. Creates the plugin for a specific System. | |
ManualControl (std::shared_ptr< System > system) | Constructor. Creates the plugin for a specific System. | |
~ManualControl () override | Destructor (internal use only). | |
ManualControl (const ManualControl & other) | Copy constructor. | |
void | start_position_control_async (const ResultCallback callback) | Start position control using e.g. joystick input. |
Result | start_position_control () const | Start position control using e.g. joystick input. |
void | start_altitude_control_async (const ResultCallback callback) | Start altitude control. |
Result | start_altitude_control () const | Start altitude control. |
Result | set_manual_control_input (float x, float y, float z, float r)const | Set manual control input. |
const ManualControl & | operator= (const ManualControl &)=delete | Equality operator (object is not copyable). |
Constructor & Destructor Documentation
ManualControl()
mavsdk::ManualControl::ManualControl(System &system)
Constructor. Creates the plugin for a specific System.
The plugin is typically created as shown below:
auto manual_control = ManualControl(system);
Parameters
- System& system - The specific system associated with this plugin.
ManualControl()
mavsdk::ManualControl::ManualControl(std::shared_ptr< System > system)
Constructor. Creates the plugin for a specific System.
The plugin is typically created as shown below:
auto manual_control = ManualControl(system);
Parameters
- std::shared_ptr< System > system - The specific system associated with this plugin.
~ManualControl()
mavsdk::ManualControl::~ManualControl() override
Destructor (internal use only).
ManualControl()
mavsdk::ManualControl::ManualControl(const ManualControl &other)
Copy constructor.
Parameters
- const ManualControl& other -
Member Typdef Documentation
typedef ResultCallback
using mavsdk::ManualControl::ResultCallback = std::function<void(Result)>
Callback type for asynchronous ManualControl calls.
Member Enumeration Documentation
enum Result
Possible results returned for manual control requests.
Value | Description |
---|---|
Unknown |
Unknown result. |
Success |
Request was successful. |
NoSystem |
No system is connected. |
ConnectionError |
Connection error. |
Busy |
Vehicle is busy. |
CommandDenied |
Command refused by vehicle. |
Timeout |
Request timed out. |
InputOutOfRange |
Input out of range. |
InputNotSet |
No Input set. |
Member Function Documentation
start_position_control_async()
void mavsdk::ManualControl::start_position_control_async(const ResultCallback callback)
Start position control using e.g. joystick input.
Requires manual control input to be sent regularly already. Requires a valid position using e.g. GPS, external vision, or optical flow.
This function is non-blocking. See 'start_position_control' for the blocking counterpart.
Parameters
- const ResultCallback callback -
start_position_control()
Result mavsdk::ManualControl::start_position_control() const
Start position control using e.g. joystick input.
Requires manual control input to be sent regularly already. Requires a valid position using e.g. GPS, external vision, or optical flow.
This function is blocking. See 'start_position_control_async' for the non-blocking counterpart.
Returns
Result - Result of request.
start_altitude_control_async()
void mavsdk::ManualControl::start_altitude_control_async(const ResultCallback callback)
Start altitude control.
Requires manual control input to be sent regularly already. Does not require a valid position e.g. GPS.
This function is non-blocking. See 'start_altitude_control' for the blocking counterpart.
Parameters
- const ResultCallback callback -
start_altitude_control()
Result mavsdk::ManualControl::start_altitude_control() const
Start altitude control.
Requires manual control input to be sent regularly already. Does not require a valid position e.g. GPS.
This function is blocking. See 'start_altitude_control_async' for the non-blocking counterpart.
Returns
Result - Result of request.
set_manual_control_input()
Result mavsdk::ManualControl::set_manual_control_input(float x, float y, float z, float r) const
Set manual control input.
The manual control input needs to be sent at a rate high enough to prevent triggering of RC loss, a good minimum rate is 10 Hz.
This function is blocking.
Parameters
- float x -
- float y -
- float z -
- float r -
Returns
Result - Result of request.
operator=()
const ManualControl& mavsdk::ManualControl::operator=(const ManualControl &)=delete
Equality operator (object is not copyable).
Parameters
- const ManualControl& -
Returns
const ManualControl & -