AUTELWaypointMissionHandler
protocol AUTELWaypointMissionHandler
description:Protocols for waypoint mission are used to download, perform, stop, and pause mission. subclass of AUTELMissionHandler
method stopMissionExecution:WithCompletion
- (void)stopMissionExecution:(WaypointMissionFinishAction)finishAction WithCompletion:(AUTELCompletionBlock)completion;
description: Stops the current mission. The aircraft will hover in place.
param:
finishAction: WaypointMissionFinishAction,The action while the aircraft finish mission。
return:none。
protocol AUTELMissionHandler
description:Protocols for Autopilot are used to download, perform, stop, and pause Autopilot tasks.
property handlerType
@property (assign, nonatomic, readonly) AUTELMissionHandlerType handlerType;
description: type of AUTELMissionHandler
property handlerState
@property (nonatomic, readonly) AUTELMissionHandlerState handlerState;
description:Return to the state of "uploading or downloading the task data"
property isRunning
@property (nonatomic, readonly) BOOL isRunning;
description: Whether the aircraft is performing or about to perform the handlerType task
If handlerType = AUTELMissionHandlerTypeWaypoint, isRunning means the state of "whether the aircraft is performing or about to perform the Waypoint task"
If handlerType = AUTELMissionHandlerTypeHotPoint, isRunning means the state of "whether the aircraft is performing or about to perform the Orbit task"
If handlerType = AUTELMissionHandlerTypeFollowMe, isRunning means the state of "whether the aircraft is performing or about to perform the Follow task"
Other tasks are the same.
method prepareMission:withProgresswith:Completion
- (void)prepareMission:(AUTELMission *)mission withProgress:(AUTELMissionProgressHandler)preparationProgress withCompletion:(AUTELCompletionBlock)completion;
description: Prepares the mission for execution. For the waypoint mission, data needs to be uploaded to the aircraft (product) and the AUTELMissionProgressHandler can be used to monitor upload progress. The follow-me, panorama, hotpoint and custom missions require much shorter time for the preparation phase. PrepareMission should fail if a mission is currently executing.
param:
mission: Mission object.
preparationProgress: Progress handler callback method to monitor preparation progress .
completion: The callback method after execution is finished
return:none。
method downloadMissionWithProgress:downladProgress:withCompletion
- (void)downloadMissionWithProgress:(AUTELMissionProgressHandler)downladProgress withCompletion:(AUTELMissionDownloadCompletionBlock)completion;
description: Download flight task from aircraft: only available when the aircraft is ready for the given flight task.
param:
downladProgress: Progress handler callback method to monitor download progress.
completion: Completion block.
method startMissionExecutionWithCompletion:
- (void)startMissionExecutionWithCompletion:(AUTELCompletionBlock)completion;
description: Start performing the task: only available when the task is prepared successfully.
param:completion Completion block.
return:none。
method pauseMissionExecutionWithCompletion:
- (void)pauseMissionExecutionWithCompletion:(AUTELCompletionBlock)completion;
description: Pauses the current mission being executed and the aircraft will hover in its current location. Current state will be saved until resumeMissionExecutionWithCompletion is called.
param:completion Completion block.
return:none。
method resumeMissionExecutionWithCompletion:
- (void)resumeMissionExecutionWithCompletion:(AUTELCompletionBlock)completion;
description: Resumes the currently paused mission.
param:completion Completion block.
return:none。
method stopMissionExecutionWithCompletion:
- (void)stopMissionExecutionWithCompletion:(AUTELCompletionBlock)completion;
description: Stops the current mission. The aircraft will hover in place.
param:none
return:none。
class AUTELMissionProgressStatus
description: The class is an base class representing the progress of an executing mission.
property error
@property(nonatomic, strong) NSError *error;
description: This property describes the error which are generated by executing mission.
class AUTELWaypointMissionStatus
description: Provides current waypoint mission status.
property misstionStatus
@property(nonatomic, readonly) WaypointMissionStatus misstionStatus;
description: way point status. 0:pause; 1:running; 2:completed; other:as defiens latter
property residualTime
@property(nonatomic, readonly) NSInteger residualTime;
description: Remaining task time.
property residualDistance
@property(nonatomic, readonly) NSInteger residualDistance;
description: Length of remaining mission route.
property photoCount
@property(nonatomic, readonly) NSInteger photoCount;
description: Current number of photos taken.
property targetWaypointIndex
@property(nonatomic, readonly) NSInteger targetWaypointIndex;
description: Index of the waypoint which the aircraft is flying to.
property execState
@property(nonatomic, readonly) AUTELWaypointMissionExecuteState execState;
description: Current execution state of the aircraft.
property isWaypointReached
@property(nonatomic, readonly) BOOL isWaypointReached;
description: Whether or not the aircraft has reached a waypoint. Will return true if a waypoint has been reached.
property autoSpeed
@property(nonatomic, readonly) float autoSpeed;
description: The speed of auto pilotion.
enum AUTELMissionHandlerState
description: Autopilot task state
typedef NS_ENUM(uint8_t, AUTELMissionHandlerState) {
/**
* @brief Idle
*
*/
AUTELMissionHandlerStateIdle,
/**
* @brief Uploading task
*
*/
AUTELMissionHandlerStateUploadMissionData,
/**
* @brief Downloading task
*
*/
AUTELMissionHandlerStateDownloadMissionData,
};
enum WaypointMissionFinishAction
description: Waypoint task finish action
typedef NS_ENUM(uint8_t, WaypointMissionFinishAction) {
/**
* @brief Hover
*
*/
WaypointMissionFinishActionHover,
/**
* @brief go home
*
*/
WaypointMissionFinishActionGoHome
};
enum AUTELMissionHandlerType
description:Autopilot type
typedef NS_ENUM(uint8_t, AUTELMissionHandlerType) {
/**
* @brief Not performing any task.
*
*/
AUTELMissionHandlerTypeUnknown,
/**
* @brief Waypoint task
*
*/
AUTELMissionHandlerTypeWaypoint,
/**
* @brief Obrit task
*
*/
AUTELMissionHandlerTypeHotPoint,
/**
* @brief Follow task
*
*/
AUTELMissionHandlerTypeFollowMe,
/**
* @brief Track task
*
*/
AUTELMissionHandlerTypeTrack,
/**
* @brief view point task
*
*/
AUTELMissionHandlerTypeViewpoint,
/**
* @brief One shot video task
*
*/
AUTELMissionHandlerTypeOneShotVideo,
/**
* @brief Precision Flight task
*
*/
AUTELMissionHandlerTypeTripod,
/**
* @brief Dual Stability task
*
*/
AUTELMissionHandlerTypePhotographer,
/**
* @brief Gesture task
*
*/
AUTELMissionHandlerTypeGesture,
/**
* @brief time-lapse photography task
*
*/
AUTELMissionHandlerTypeDelayShot,
/**
* @brief Vision Orbit task
*
*/
AUTELMissionHandlerTypeVisionOrbit,
/**
* @brief Vision Orbit time-lapse photography task
*
*/
AUTELMissionHandlerTypeOrbitDelayShot,
/**
* @brief Panoramic photography task
*
*/
AUTELMissionHandlerTypePanoramicPhoto
};
enum WaypointMissionStatus
description: misstion status
typedef NS_ENUM(uint8_t, WaypointMissionStatus) {
/**
* @brief pause
*
*/
WaypointMissionStatusPause,
/**
* @brief running
*
*/
WaypointMissionStatusRunning,
/**
* @brief completed
*
*/
WaypointMissionStatusCompleted,
/**
* @brief other:as defiens latter
*
*/
WaypointMissionStatusOther,
};
enum AUTELWaypointMissionExecuteState
description: The executing state of the Waypoint task
typedef NS_ENUM(uint8_t, AUTELWaypointMissionExecuteState) {
/**
* @brief Initializing the task
*
*/
AUTELWaypointMissionExecuteStateInitializing = 0,
/**
* @brief Performing the Waypoint task.
*
*/
AUTELWaypointMissionExecuteStateMoving = 1,
/**
* @brief Waypoint task paused. Aircraft hovering.
*
*/
AUTELWaypointMissionExecuteStatePause = 2,
/**
* @brief Waypoint task finish,go home.
*
*/
AUTELWaypointMissionExecuteStateGoHome = 3,
/**
* @brief Waypoint task finish,langding.
*
*/
AUTELWaypointMissionExecuteStateLanding = 4,
/**
* @brief The Waypoint task is finished.
*
*/
AUTELWaypointMissionExecuteStateFinish = 5,
/**
* @brief Waypoint task state unknown.
*
*/
AUTELWaypointMissionExecuteStateUnknown = 0xFF,
};