mavsdk::MissionRawServer Class Reference ​
#include: mission_raw_server.h
Acts as a vehicle and receives incoming missions from GCS (in raw MAVLINK format). Provides current mission item state, so the server can progress through missions.
Data Structures ​
struct MissionItem
struct MissionPlan
struct MissionProgress
Public Types ​
Type | Description |
---|---|
enum Result | Possible results returned for action requests. |
std::function< void(Result)> ResultCallback | Callback type for asynchronous MissionRawServer calls. |
std::function< void(Result, MissionPlan)> IncomingMissionCallback | Callback type for subscribe_incoming_mission. |
Handle< Result, MissionPlan > IncomingMissionHandle | Handle type for subscribe_incoming_mission. |
std::function< void(MissionItem)> CurrentItemChangedCallback | Callback type for subscribe_current_item_changed. |
Handle< MissionItem > CurrentItemChangedHandle | Handle type for subscribe_current_item_changed. |
std::function< void(uint32_t)> ClearAllCallback | Callback type for subscribe_clear_all. |
Handle< uint32_t > ClearAllHandle | Handle type for subscribe_clear_all. |
Public Member Functions ​
Type | Name | Description |
---|---|---|
 | MissionRawServer (std::shared_ptr< ServerComponent > server_component) | Constructor. Creates the plugin for a ServerComponent instance. |
 | ~MissionRawServer () override | Destructor (internal use only). |
 | MissionRawServer (const MissionRawServer & other) | Copy constructor. |
IncomingMissionHandle | subscribe_incoming_mission (const IncomingMissionCallback & callback) | Subscribe to when a new mission is uploaded (asynchronous). |
void | unsubscribe_incoming_mission (IncomingMissionHandle handle) | Unsubscribe from subscribe_incoming_mission. |
CurrentItemChangedHandle | subscribe_current_item_changed (const CurrentItemChangedCallback & callback) | Subscribe to when a new current item is set. |
void | unsubscribe_current_item_changed (CurrentItemChangedHandle handle) | Unsubscribe from subscribe_current_item_changed. |
void | set_current_item_complete () const | Set Current item as completed. |
ClearAllHandle | subscribe_clear_all (const ClearAllCallback & callback) | Subscribe when a MISSION_CLEAR_ALL is received. |
void | unsubscribe_clear_all (ClearAllHandle handle) | Unsubscribe from subscribe_clear_all. |
const MissionRawServer & | operator= (const MissionRawServer &)=delete | Equality operator (object is not copyable). |
Constructor & Destructor Documentation ​
MissionRawServer() ​
mavsdk::MissionRawServer::MissionRawServer(std::shared_ptr< ServerComponent > server_component)
Constructor. Creates the plugin for a ServerComponent instance.
The plugin is typically created as shown below:
auto mission_raw_server = MissionRawServer(server_component);
Parameters
- std::shared_ptr< ServerComponent > server_component - The ServerComponent instance associated with this server plugin.
~MissionRawServer() ​
mavsdk::MissionRawServer::~MissionRawServer() override
Destructor (internal use only).
MissionRawServer() ​
mavsdk::MissionRawServer::MissionRawServer(const MissionRawServer &other)
Copy constructor.
Parameters
- const MissionRawServer& other -
Member Typdef Documentation ​
typedef ResultCallback ​
using mavsdk::MissionRawServer::ResultCallback = std::function<void(Result)>
Callback type for asynchronous MissionRawServer calls.
typedef IncomingMissionCallback ​
using mavsdk::MissionRawServer::IncomingMissionCallback = std::function<void(Result, MissionPlan)>
Callback type for subscribe_incoming_mission.
typedef IncomingMissionHandle ​
using mavsdk::MissionRawServer::IncomingMissionHandle = Handle<Result, MissionPlan>
Handle type for subscribe_incoming_mission.
typedef CurrentItemChangedCallback ​
using mavsdk::MissionRawServer::CurrentItemChangedCallback = std::function<void(MissionItem)>
Callback type for subscribe_current_item_changed.
typedef CurrentItemChangedHandle ​
using mavsdk::MissionRawServer::CurrentItemChangedHandle = Handle<MissionItem>
Handle type for subscribe_current_item_changed.
typedef ClearAllCallback ​
using mavsdk::MissionRawServer::ClearAllCallback = std::function<void(uint32_t)>
Callback type for subscribe_clear_all.
typedef ClearAllHandle ​
using mavsdk::MissionRawServer::ClearAllHandle = Handle<uint32_t>
Handle type for subscribe_clear_all.
Member Enumeration Documentation ​
enum Result ​
Possible results returned for action requests.
Value | Description |
---|---|
Unknown | Unknown result. |
Success | Request succeeded. |
Error | Error. |
TooManyMissionItems | Too many mission items in the mission. |
Busy | Vehicle is busy. |
Timeout | Request timed out. |
InvalidArgument | Invalid argument. |
Unsupported | Mission downloaded from the system is not supported. |
NoMissionAvailable | No mission available on the system. |
UnsupportedMissionCmd | Unsupported mission command. |
TransferCancelled | Mission transfer (upload or download) has been cancelled. |
NoSystem | No system connected. |
Next | Intermediate message showing progress or instructions on the next steps. |
Member Function Documentation ​
subscribe_incoming_mission() ​
IncomingMissionHandle mavsdk::MissionRawServer::subscribe_incoming_mission(const IncomingMissionCallback &callback)
Subscribe to when a new mission is uploaded (asynchronous).
Parameters
- const IncomingMissionCallback& callback -
Returns
unsubscribe_incoming_mission() ​
void mavsdk::MissionRawServer::unsubscribe_incoming_mission(IncomingMissionHandle handle)
Unsubscribe from subscribe_incoming_mission.
Parameters
- IncomingMissionHandle handle -
subscribe_current_item_changed() ​
CurrentItemChangedHandle mavsdk::MissionRawServer::subscribe_current_item_changed(const CurrentItemChangedCallback &callback)
Subscribe to when a new current item is set.
Parameters
- const CurrentItemChangedCallback& callback -
Returns
unsubscribe_current_item_changed() ​
void mavsdk::MissionRawServer::unsubscribe_current_item_changed(CurrentItemChangedHandle handle)
Unsubscribe from subscribe_current_item_changed.
Parameters
- CurrentItemChangedHandle handle -
set_current_item_complete() ​
void mavsdk::MissionRawServer::set_current_item_complete() const
Set Current item as completed.
This function is blocking.
subscribe_clear_all() ​
ClearAllHandle mavsdk::MissionRawServer::subscribe_clear_all(const ClearAllCallback &callback)
Subscribe when a MISSION_CLEAR_ALL is received.
Parameters
- const ClearAllCallback& callback -
Returns
 ClearAllHandle -
unsubscribe_clear_all() ​
void mavsdk::MissionRawServer::unsubscribe_clear_all(ClearAllHandle handle)
Unsubscribe from subscribe_clear_all.
Parameters
- ClearAllHandle handle -
operator=() ​
const MissionRawServer & mavsdk::MissionRawServer::operator=(const MissionRawServer &)=delete
Equality operator (object is not copyable).
Parameters
- const MissionRawServer& -
Returns
 const MissionRawServer & -