class DJIIntelligentHotpointMissionOperator
@interface DJIIntelligentHotpointMissionOperator : NSObject
Header: DJIIntelligentHotpointMissionOperator.h Inherits From: NSObject
Description:
The Intelligent hotpoint mission operator is the only object that controls, runs and monitors Intelligent Hotpoint Missions. It can be accessed from DJIMissionControl
. DJIIntelligentHotpointMissionOperator
has two ways to start an Intelligent hotpoint mission: One is to start a DJIIntelligentHotpointMission
, which will repeatedly around a specified point called hotpoint. The other you will target a rect in your FPV view, and send it to Vision system to track, when the state change to DJIIntelligentHotpointMissionOperator_WaitingForConfirmation
, you can acceptConfirmationWithCompletion
, then the aircraft will fly around the object. When mission executing, it will not need target object, actually track mode only help to set hotpoint at a target object. Now only supported by Mavic 2 Zoom and Mavic 2 Pro.
Class Members:
enum DJIIntelligentHotpointMissionState
typedef NS_ENUM (NSInteger , DJIIntelligentHotpointMissionState)
Header: DJIIntelligentHotpointMissionOperator.h
Description:
The states of the DJIIntelligentHotpointMissionOperator
.
Enum Members:
DJIIntelligentHotpointMissionStateUnknownThe state of the operator is unknown. This is the initial state when the operator has just been created. DJIIntelligentHotpointMissionStateDisconnectedThe state of the operator is unknown. This is the initial state when the operator has just been created. DJIIntelligentHotpointMissionStateRecoveringThe connection between the mobile device and aircraft is recovering. At this time, the operator is synchronizing the state from the aircraft. DJIIntelligentHotpointMissionStateNotSupportedThe connected product does not support Hotpoint mission. DJIIntelligentHotpointMissionStateNoReadyThe operator is not ready to start an Intelligent Hotpoint mission. DJIIntelligentHotpointMissionStateReadyToStartThe operator is ready to start an Intelligent Hotpoint mission. DJIIntelligentHotpointMissionStateRecognizingTargetThe aircraft's Vision system is recognizing the track object. If recognized the target, the state will change to DJIIntelligentHotpointMissionStateWaitingForConfirmation
. DJIIntelligentHotpointMissionStateWaitingForConfirmationThe aircraft has recognized the target and is waiting for confirmation. DJIIntelligentHotpointMissionStateMeasuringTargetConfirm success and when a tracking mission started, The Vision system will measure the track object and calculate the surrounding path. Then it will begin to surround the track target. The state will change to DJIIntelligentHotpointMissionStateExecuting
. DJIIntelligentHotpointMissionStateExecutingThe execution is started successfully. DJIIntelligentHotpointMissionStateExecutionPausedHotpoint mission is paused successfully. User can call resumeMissionWithCompletion
to continue the execution.
method enablePOIModeWithCompletion
- (void )enablePOIModeWithCompletion:(DJICompletionBlock)completion
Header: DJIIntelligentHotpointMissionOperator.h
Description:
Enable POI mode. enabling POI mode is the pre-condition of starting Intelligent Hotpoint Mission. Now only supported by Mavic 2 Zoom and Mavic 2 Pro.
method disablePOIModeWithCompletion
- (void )disablePOIModeWithCompletion:(DJICompletionBlock)completion
Header: DJIIntelligentHotpointMissionOperator.h
Description:
Disable POI mode. When POI mode is disabled, you can not starting Intelligent Hotpoint mission. Now only supported by Mavic 2 Zoom and Mavic 2 Pro.
property currentState
@property (readonly , nonatomic ) DJIIntelligentHotpointMissionState currentState
Header: DJIIntelligentHotpointMissionOperator.h
Description:
The current state of the executing Intelligent Hotpoint mission.
See Also:
DJIIntelligentHotpointMissionState
typedef block DJIIntelligentHotpointMissionOperatorEventBlock
typedef void (^DJIIntelligentHotpointMissionOperatorEventBlock)(DJIIntelligentHotpointMissionEvent *event)
Header: DJIIntelligentHotpointMissionOperator.h
Description:
Block to receive the Intelligent Hotpoint operator event.
method addListenerToEvents:withQueue:andBlock
- (void )addListenerToEvents:(id )listener
withQueue:(nullable dispatch_queue_t )queue
andBlock:(DJIIntelligentHotpointMissionOperatorEventBlock)block
Header: DJIIntelligentHotpointMissionOperator.h
Description:
Adds listener to receive all of the Intelligent Hotpoint mission operator events.
id listener Listener that is interested in the Intelligent Hotpoint mission operator. nullable dispatch_queue_t queue The dispatch queue that block
will be called on. DJIIntelligentHotpointMissionOperatorEventBlock block Block will be called when there is event updated.
method addListenerToStarted:withQueue:andBlock
- (void )addListenerToStarted:(id )listener
withQueue:(nullable dispatch_queue_t )queue
andBlock:(DJIIntelligentHotpointMissionOperatorSimpleEventBlock)block
Header: DJIIntelligentHotpointMissionOperator.h
Description:
Adds listener to receive a notification when an Intelligent Hotpoint mission is started.
id listener Listener that is interested in the start of the Intelligent Hotpoint mission. nullable dispatch_queue_t queue The dispatch queue that block
will be called on. DJIIntelligentHotpointMissionOperatorSimpleEventBlock block Block will be called when a Hotpoint mission is started.
method addListenerToFinished:withQueue:andBlock
- (void )addListenerToFinished:(id )listener
withQueue:(nullable dispatch_queue_t )queue
andBlock:(DJICompletionBlock)block
Header: DJIIntelligentHotpointMissionOperator.h
Description:
Adds listener to receive a notification when an Intelligent Hotpoint mission is finished.
id listener Listener that is interested in the finish of the Intelligent Hotpoint mission. nullable dispatch_queue_t queue The dispatch queue that block
will be called on. DJICompletionBlock block Block will be called when an Intelligent Hotpoint mission is finished. If the mission is interrupted with an error, the error will be passed to the block.
Simple Event Block
typedef block
typedef block DJIIntelligentHotpointMissionOperatorSimpleEventBlock
typedef void (^DJIIntelligentHotpointMissionOperatorSimpleEventBlock)()
Header: DJIIntelligentHotpointMissionOperator.h
Description:
Block to receive the notification that an Intelligent Hotpoint mission is started successfully.
method removeListener
- (void )removeListener:(id )listener
Header: DJIIntelligentHotpointMissionOperator.h
Description:
Removes listener. If the listener is listening to events and notifications, then it will stop listening to all if called with this method.
id listener Listener to be removed.
method removeListenerOfEvents
- (void )removeListenerOfEvents:(id )listener
Header: DJIIntelligentHotpointMissionOperator.h
Description:
Removes listener from listener pool of events.
id listener Listener to be removed.
method removeListenerOfStarted
- (void )removeListenerOfStarted:(id )listener
Header: DJIIntelligentHotpointMissionOperator.h
Description:
Removes listener from listener pool of start mission notifications.
id listener Listener to be removed.
method removeListenerOfFinished
- (void )removeListenerOfFinished:(id )listener
Header: DJIIntelligentHotpointMissionOperator.h
Description:
Removes listener from listener pool of stop mission notifications.
id listener Listener to be removed.
method removeAllListeners
- (void )removeAllListeners
Header: DJIIntelligentHotpointMissionOperator.h
Description:
Remove all listeners from listener pool.
method startMission:withCompletion
- (void )startMission:(DJIIntelligentHotpointMission *)mission withCompletion:(DJICompletionBlock)completion
Header: DJIIntelligentHotpointMissionOperator.h
Description:
Starts to execute an Intelligent Hotpoint mission. This only be called when the currentState
is DJIIntelligentHotpointMissionStateReadyToStart
. After a mission is started successfully, the currentState
will become DJIIntelligentHotpointMissionStateExecuting
. If the mission starts successful, the aircraft will fly arround the "hotpoint" of the mission. The current horizontal distance between the aircraft and the hotpoint must be [5,500]. The current vertical distance between the aircraft and the relative takeoff altitude must be [5,500].
Accept Confirmation
method
Set Angular Velocity
method
Reset Gimbal To Center
method
method resetGimbalToCenterWithCompletion
- (void )resetGimbalToCenterWithCompletion:(DJICompletionBlock)completion
Header: DJIIntelligentHotpointMissionOperator.h
Description:
Reset gimbal to center for the executing mission, the camera will direct to the target. It can only be called when the currentState
is one of the following: - DJIIntelligentHotpointMissionStateExecuting
- DJIIntelligentHotpointMissionStateExecutionPaused
This feature is only avaliable in recognize mission.
DJICompletionBlock completion Completion block that will be called when the operator succeeds or fails. If it fails, an error will be returned.