DJI Mobile SDK Documentation

      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.
      POI Mode
      property
      property isPOIModeEnabled
      @property (nonatomic, readonly) BOOL isPOIModeEnabled
      Header:DJIIntelligentHotpointMissionOperator.h
      Description:

      YES if POI mode is enabled. Value is undefined if the currentState is one of the following:
      - DJIIntelligentHotpointMissionStateNotSupported
      - DJIIntelligentHotpointMissionStateDisconnected
      - DJIIntelligentHotpointMissionStateRecovering.
      Now only supported by Mavic 2 Zoom and Mavic 2 Pro.

      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.

      Input Parameters:
      DJICompletionBlock completionCompletion block that receives the execution result.
      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.

      Input Parameters:
      DJICompletionBlock completionCompletion block that receives the execution result.
      Current State
      property
      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.

      Input Parameters:
      DJIIntelligentHotpointMissionEvent * eventThe Intelligent Hotpoint operator event with the state change.
      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.

      Input Parameters:
      id listenerListener that is interested in the Intelligent Hotpoint mission operator.
      nullable dispatch_queue_t queueThe dispatch queue that block will be called on.
      DJIIntelligentHotpointMissionOperatorEventBlock blockBlock 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.

      Input Parameters:
      id listenerListener that is interested in the start of the Intelligent Hotpoint mission.
      nullable dispatch_queue_t queueThe dispatch queue that block will be called on.
      DJIIntelligentHotpointMissionOperatorSimpleEventBlock blockBlock 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.

      Input Parameters:
      id listenerListener that is interested in the finish of the Intelligent Hotpoint mission.
      nullable dispatch_queue_t queueThe dispatch queue that block will be called on.
      DJICompletionBlock blockBlock 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.
      typedef block DJIIntelligentHotpointMissionOperatorSimpleEventBlock
      typedef void (^DJIIntelligentHotpointMissionOperatorSimpleEventBlock)()
      Header:DJIIntelligentHotpointMissionOperator.h
      Description:

      Block to receive the notification that an Intelligent Hotpoint mission is started successfully.

      Remove Listener
      method
      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.

      Input Parameters:
      id listenerListener to be removed.
      method removeListenerOfEvents
      - (void)removeListenerOfEvents:(id)listener
      Header:DJIIntelligentHotpointMissionOperator.h
      Description:

      Removes listener from listener pool of events.

      Input Parameters:
      id listenerListener to be removed.
      method removeListenerOfStarted
      - (void)removeListenerOfStarted:(id)listener
      Header:DJIIntelligentHotpointMissionOperator.h
      Description:

      Removes listener from listener pool of start mission notifications.

      Input Parameters:
      id listenerListener to be removed.
      method removeListenerOfFinished
      - (void)removeListenerOfFinished:(id)listener
      Header:DJIIntelligentHotpointMissionOperator.h
      Description:

      Removes listener from listener pool of stop mission notifications.

      Input Parameters:
      id listenerListener to be removed.
      method removeAllListeners
      - (void)removeAllListeners
      Header:DJIIntelligentHotpointMissionOperator.h
      Description:

      Remove all listeners from listener pool.

      Start Mission
      method
      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].

      Input Parameters:
      DJIIntelligentHotpointMission * missionAn object of DJIIntelligentHotpointMission.
      DJICompletionBlock completionCompletion block that will be called when the operator succeeds or fails to start the mission. If it fails, an error will be returned.
      method startRecognizeTargetInRect:withCompletion
      - (void)startRecognizeTargetInRect:(CGRect)targetRect withCompletion:(DJICompletionBlock)completion
      Header:DJIIntelligentHotpointMissionOperator.h
      Description:

      Send a target rect in video stream to aircraft, the vision system will recognize the target in the rect. This only be called when the currentState is DJIIntelligentHotpointMissionStateReadyToStart. After recognize target success, the currentState will become DJIIntelligentHotpointMissionStateWaitingForConfirmation means recognize the target successfully or DJIIntelligentHotpointMissionStateReadyToStart means can not recognize the target.

      Input Parameters:
      CGRect targetRectThe tracking target rect in video stream.
      DJICompletionBlock completionCompletion block that will be called when the operator succeeds or fails to start recognize target. If it fails, an error will be returned.
      Accept Confirmation
      method
      method acceptConfirmationWithCompletion
      - (void)acceptConfirmationWithCompletion:(DJICompletionBlock)completion
      Header:DJIIntelligentHotpointMissionOperator.h
      Description:

      Confirm the recognized target, only be called when the currentState is DJIIntelligentHotpointMissionStateWaitingForConfirmation. If accept successfully, the currentState will become DJIIntelligentHotpointMissionStateMeasuringTarget, the aircraft will measure the the target and calculate surrounding path. Then the aircraft will start circle around the target on the surrounding path and currentState will become DJIIntelligentHotpointMissionStateExecuting.

      Input Parameters:
      DJICompletionBlock completionCompletion block that will be called when the operator succeeds or fails. If it fails, an error will be returned.
      Pause Mission
      method
      method pauseMissionWithCompletion
      - (void)pauseMissionWithCompletion:(DJICompletionBlock)completion
      Header:DJIIntelligentHotpointMissionOperator.h
      Description:

      Pauses the executing mission. It can only be called when the currentState is DJIIntelligentHotpointMissionStateExecuting. After a mission is paused successfully, the currentState will become DJIIntelligentHotpointMissionStateExecutionPaused.

      Input Parameters:
      DJICompletionBlock completionCompletion block that will be called when the operator succeeds or fails. If it fails, an error will be returned.
      method resumeMissionWithCompletion
      - (void)resumeMissionWithCompletion:(DJICompletionBlock)completion
      Header:DJIIntelligentHotpointMissionOperator.h
      Description:

      Resumes the paused mission. It can only be called when the currentState is DJIIntelligentHotpointMissionStateExecutionPaused. After a mission is resumed successfully, the currentState will become DJIIntelligentHotpointMissionStateExecuting.

      Input Parameters:
      DJICompletionBlock completionCompletion block that will be called when the operator succeeds or fails. If it fails, an error will be returned.
      Stop Mission
      method
      method stopMissionWithCompletion
      - (void)stopMissionWithCompletion:(DJICompletionBlock)completion
      Header:DJIIntelligentHotpointMissionOperator.h
      Description:

      Stops the executing or paused mission. It can only be called when currentState is one of the following:
      - DJIIntelligentHotpointMissionStateExecuting
      - DJIIntelligentHotpointMissionStateExecutionPaused After a mission is stopped successfully, currentState will become DJIIntelligentHotpointMissionStateReadyToStart.

      Input Parameters:
      DJICompletionBlock completionCompletion block that will be called when the operator succeeds or fails. If it fails, an error will be returned.
      Set Angular Velocity
      method
      method setAngularVelocity:withCompletion
      - (void)setAngularVelocity:(float)angularVelocity withCompletion:(DJICompletionBlock)completion
      Header:DJIIntelligentHotpointMissionOperator.h
      Description:

      Sets angular velocity for the executing mission. It can only be called when currentState is one of the following:
      - DJIIntelligentHotpointMissionStateExecuting
      - DJIIntelligentHotpointMissionStateExecutionPaused

      Input Parameters:
      float angularVelocityAngular velocity to set.
      DJICompletionBlock completionCompletion block that will be called when the operator succeeds or fails. If it fails, an error will be returned.
      Set Radius
      method
      method setRadius:withCompletion
      - (void)setRadius:(float)radius withCompletion:(DJICompletionBlock)completion
      Header:DJIIntelligentHotpointMissionOperator.h
      Description:

      Sets radius for the executing mission. It can only be called when the currentState is one of the following:
      - DJIIntelligentHotpointMissionStateExecuting
      - DJIIntelligentHotpointMissionStateExecutionPaused

      Input Parameters:
      float radiusRadius to set.
      DJICompletionBlock completionCompletion block that will be called when the operator succeeds or fails. If it fails, an error will be returned.
      Set Altitude
      method
      method setAltitude:withCompletion
      - (void)setAltitude:(float)altitude withCompletion:(DJICompletionBlock)completion
      Header:DJIIntelligentHotpointMissionOperator.h
      Description:

      Sets altitude for the executing mission. It can only be called when the currentState is one of the following:
      - DJIIntelligentHotpointMissionStateExecuting
      - DJIIntelligentHotpointMissionStateExecutionPaused

      Input Parameters:
      float altitudealtitude to set.
      DJICompletionBlock completionCompletion block that will be called when the operator succeeds or fails. If it fails, an error will be returned.
      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.

      Input Parameters:
      DJICompletionBlock completionCompletion block that will be called when the operator succeeds or fails. If it fails, an error will be returned.