DJI Mobile SDK Documentation

      class FocusControllerState

      @EXClassNullAway
      class FocusControllerState
      Package:dji.common.remotecontroller
      Description:

      Remote Controller's Remote Focus State. The focus product has one dial (focus control) that controls two separate parts of the camera: focal length and aperture. However it can only control one of these at any one time and is an absolute dial, meaning that a specific rotational position of the dial corresponds to a specific focal length or aperture. This means that whenever the dial control mode is changed, the dial first has to be reset to the new mode's previous dial position before the dial can be used to adjust the setting of the new mode. Example workflow:

      1. Use dial to set an Aperture of f2.2
      2. Change dial control mode to focal length (set ControlType)
      3. Use the dial to change the focal length
      4. Change dial control mode back to aperture
      5. Adjust dial back to f2.2
        • Direction is the direction the dial should be rotated
        • isWorking will become YES when set back to f2.2
      6. Now the dial can be used to adjust the aperture.

      Class Members:
      interface FocusControllerStateCallback
      interface FocusControllerStateCallback
      Package:dji.common.remotecontroller
      Description:

      Callback function that updates the Remote Focus State.

      Interface Methods:

      Callback Method

      State
      method
      method onUpdate
      void onUpdate(@NonNull FocusControllerState remoteFocusState)
      Package:dji.common.remotecontroller
      Description:

      Callback function that updates the Remote Focus State, only support Focus product. If the isRCRemoteFocusCheckingSupported is true, this callback function will be called.

      Input Parameters:
      @NonNull FocusControllerState remoteFocusStateCurrent state of the Remote Focus state.
      enum ControlType
      enum ControlType
      Package:dji.common.remotecontroller
      SDK Key:RemoteControllerKey.FOCUS_CONTROLLER_CONTROL_TYPE
      Description:

      Remote Focus Control Type.

      Enum Members:
      APERTUREControl Aperture.
      FOCAL_LENGTHControl Focal Length.
      FOCUS_DISTANCEAdjust focus distance.
      UNKNOWNUnknown types.
      Class Members:
      enum Direction
      enum Direction
      Package:dji.common.remotecontroller
      SDK Key:RemoteControllerKey.FOCUS_CONTROLLER_DIRECTION
      Description:

      Remote Focus Control Direction.

      Enum Members:
      CLOCKWISEClockwise.
      COUNTER_CLOCKWISECounterClockwise.
      UNKNOWNUnknown.
      Class Members:


      Members

      method
      method isWorking
      boolean isWorking()
      Package:dji.common.remotecontroller
      SDK Key:RemoteControllerKey.FOCUS_CONTROLLER_IS_WORKING
      Description:

      true if the focus control works. The control can be either changing the Aperture or Focal Length. If it is false, follow the Direction to rotate the Remote Focus Device until it turns to true again.

      Return:
      booleanA boolean value.
      method getControlType
      ControlType getControlType()
      Package:dji.common.remotecontroller
      SDK Key:RemoteControllerKey.FOCUS_CONTROLLER_CONTROL_TYPE
      Description:

      Remote Focus Control Type.

      Return:
      ControlTypeAn enum value of ControlType
      method getDirection
      Direction getDirection()
      Package:dji.common.remotecontroller
      SDK Key:RemoteControllerKey.FOCUS_CONTROLLER_DIRECTION
      Description:

      Remote Focus Control Direction. Use this with the isWorking value. It will give you the correct rotation direction when isWorking is false.

      Return:
      DirectionAn enum value of Direction