QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
MissionManager Class Reference

#include <MissionManager.h>

+ Inheritance diagram for MissionManager:
+ Collaboration diagram for MissionManager:

Public Member Functions

 MissionManager (Vehicle *vehicle)
 
 ~MissionManager ()
 
int currentIndex (void) const
 Current mission item as reported by MISSION_CURRENT.
 
int lastCurrentIndex (void) const
 Last current mission item reported while in Mission flight mode.
 
void writeArduPilotGuidedMissionItem (const QGeoCoordinate &gotoCoord, bool altChangeOnly)
 
void generateResumeMission (int resumeIndex)
 
- Public Member Functions inherited from PlanManager
 PlanManager (Vehicle *vehicle, MAV_MISSION_TYPE planType)
 
 ~PlanManager ()
 
bool inProgress (void) const
 
const QList< MissionItem * > & missionItems (void)
 
int currentIndex (void) const
 Current mission item as reported by MISSION_CURRENT.
 
int lastCurrentIndex (void) const
 Last current mission item reported while in Mission flight mode.
 
void loadFromVehicle (void)
 
void writeMissionItems (const QList< MissionItem * > &missionItems)
 
void removeAll (void)
 

Additional Inherited Members

- Public Types inherited from PlanManager
enum  ErrorCode_t {
  InternalError , AckTimeoutError , ProtocolError , RequestRangeError ,
  ItemMismatchError , VehicleAckError , MissingRequestsError , MaxRetryExceeded ,
  MissionTypeMismatch
}
 Error codes returned in error signal. More...
 
- Signals inherited from PlanManager
void newMissionItemsAvailable (bool removeAllRequested)
 
void inProgressChanged (bool inProgress)
 
void error (int errorCode, const QString &errorMsg)
 
void currentIndexChanged (int currentIndex)
 
void lastCurrentIndexChanged (int lastCurrentIndex)
 
void progressPctChanged (double progressPercentPct)
 
void removeAllComplete (bool error)
 
void sendComplete (bool error)
 
void resumeMissionReady (void)
 
void resumeMissionUploadFail (void)
 
- Static Public Attributes inherited from PlanManager
static constexpr int _ackTimeoutMilliseconds = 1500
 
static constexpr int _retryTimeoutMilliseconds = 250
 
static constexpr int _maxRetryCount = 5
 
static constexpr int kTestAckTimeoutMs = 50
 Ack timeout used in unit tests (much shorter for faster tests)
 
- Protected Types inherited from PlanManager
enum  AckType_t {
  AckNone , AckMissionCount , AckMissionItem , AckMissionRequest ,
  AckMissionClearAll , AckGuidedItem
}
 
enum  TransactionType_t { TransactionNone , TransactionRead , TransactionWrite , TransactionRemoveAll }
 
- Protected Member Functions inherited from PlanManager
void _startAckTimeout (AckType_t ack)
 
bool _checkForExpectedAck (AckType_t receivedAck)
 
void _readTransactionComplete (void)
 
void _handleMissionCount (const mavlink_message_t &message)
 
void _handleMissionItem (const mavlink_message_t &message)
 
void _handleMissionRequest (const mavlink_message_t &message)
 
void _handleMissionAck (const mavlink_message_t &message)
 
void _requestNextMissionItem (void)
 
void _clearMissionItems (void)
 
void _sendError (ErrorCode_t errorCode, const QString &errorMsg)
 
QString _ackTypeToString (AckType_t ackType)
 
QString _missionResultToString (MAV_MISSION_RESULT result)
 
void _finishTransaction (bool success, bool apmGuidedItemWrite=false)
 
void _requestList (void)
 Internal call to request list of mission items. May be called during a retry sequence.
 
void _writeMissionCount (void)
 This begins the write sequence with the vehicle. This may be called during a retry.
 
void _writeMissionItemsWorker (void)
 
void _clearAndDeleteMissionItems (void)
 
void _clearAndDeleteWriteMissionItems (void)
 
QString _lastMissionReqestString (MAV_MISSION_RESULT result)
 
void _removeAllWorker (void)
 
void _connectToMavlink (void)
 
void _disconnectFromMavlink (void)
 
QString _planTypeString (void)
 
- Protected Attributes inherited from PlanManager
Vehicle_vehicle = nullptr
 
MAV_MISSION_TYPE _planType
 
QTimer * _ackTimeoutTimer = nullptr
 
AckType_t _expectedAck
 
int _retryCount
 
TransactionType_t _transactionInProgress
 
bool _resumeMission
 
QList< int > _itemIndicesToWrite
 List of mission items which still need to be written to vehicle.
 
QList< int > _itemIndicesToRead
 List of mission items which still need to be requested from vehicle.
 
int _lastMissionRequest
 Index of item last requested by MISSION_REQUEST.
 
int _missionItemCountToRead
 Count of all mission items to read.
 
QList< MissionItem * > _missionItems
 Set of mission items on vehicle.
 
QList< MissionItem * > _writeMissionItems
 Set of mission items currently being written to vehicle.
 
int _currentMissionIndex
 
int _lastCurrentIndex
 

Detailed Description

Definition at line 11 of file MissionManager.h.

Constructor & Destructor Documentation

◆ MissionManager()

MissionManager::MissionManager ( Vehicle vehicle)

Definition at line 12 of file MissionManager.cc.

References Vehicle::mavlinkMessageReceived().

◆ ~MissionManager()

MissionManager::~MissionManager ( )

Definition at line 19 of file MissionManager.cc.

Member Function Documentation

◆ currentIndex()

int MissionManager::currentIndex ( void  ) const
inline

Current mission item as reported by MISSION_CURRENT.

Definition at line 21 of file MissionManager.h.

References PlanManager::_currentMissionIndex.

Referenced by MissionController::currentMissionIndex().

◆ generateResumeMission()

◆ lastCurrentIndex()

int MissionManager::lastCurrentIndex ( void  ) const
inline

Last current mission item reported while in Mission flight mode.

Definition at line 24 of file MissionManager.h.

References PlanManager::_lastCurrentIndex.

Referenced by MissionController::resumeMissionIndex().

◆ writeArduPilotGuidedMissionItem()

void MissionManager::writeArduPilotGuidedMissionItem ( const QGeoCoordinate &  gotoCoord,
bool  altChangeOnly 
)

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