DJI Mobile SDK Documentation

      class DJIIMUState

      @interface DJIIMUState : NSObject
      Header:DJIIMUState.h
      Inherits From:NSObject
      SDK Key:DJIFlightControllerKey.DJIFlightControllerParamIMUState
      Description:

      This class provides the inertial measurement unit's (IMU) state information.

      Class Members:
      Information
      property
      property index
      @property(nonatomic, readonly) NSUInteger index
      Header:DJIIMUState.h
      Description:

      The IMU's ID. Starts at 0.

      Sensor
      property
      property gyroscopeState
      @property(nonatomic, readonly) DJIIMUSensorState gyroscopeState
      Header:DJIIMUState.h
      SDK Key:DJIFlightControllerKey.DJIFlightControllerParamIMUStateGyroscopeState
      Description:

      The gyroscopic sensor's state value.

      See Also:

      DJIIMUSensorState

      property gyroscopeValue
      @property(nonatomic, readonly) float gyroscopeValue
      Header:DJIIMUState.h
      Description:

      The gyroscopic sensor's value.

      property accelerometerState
      @property(nonatomic, readonly) DJIIMUSensorState accelerometerState
      Header:DJIIMUState.h
      SDK Key:DJIFlightControllerKey.DJIFlightControllerParamIMUAccelerometerState
      Description:

      The accelerometers sensor state value.

      See Also:

      DJIIMUSensorState

      property accelerometerValue
      @property(nonatomic, readonly) float accelerometerValue
      Header:DJIIMUState.h
      Description:

      The accelerometers sensor's value.

      Calibration
      property
      property calibrationProgress
      @property(nonatomic, readonly) NSInteger calibrationProgress
      Header:DJIIMUState.h
      SDK Key:DJIFlightControllerKey.DJIFlightControllerParamIMUStateCalibrationProgress
      Description:

      The IMU's calibration progress, its range being [1, 100]. If the IMU is not calibrating, the value of the calibration progress will be -1.

      property calibrationState
      @property(nonatomic, readonly) DJIIMUCalibrationState calibrationState
      Header:DJIIMUState.h
      SDK Key:DJIFlightControllerKey.DJIFlightControllerParamIMUStateCalibrationState
      Description:

      The status of the IMU's calibration.

      See Also:

      DJIIMUCalibrationState

      property multipleOrientationCalibrationHint
      @property(nonatomic, readonly, nullable) DJIIMUMultipleOrientationCalibrationHint *multipleOrientationCalibrationHint
      Header:DJIIMUState.h
      Description:

      For products that require the user to orient the aircraft during the IMU calibration, this method can be used to inform the user when each orientation is done. It is supported by flight controller firmware 3.2.0.0 or above.

      See Also:

      DJIIMUMultipleOrientationCalibrationHint

      enum DJIIMUSensorState
      typedef NS_ENUM (NSUInteger, DJIIMUSensorState)
      Header:DJIIMUState.h
      SDK Key:DJIFlightControllerKey.DJIFlightControllerParamIMUAccelerometerState, DJIFlightControllerKey.DJIFlightControllerParamIMUStateGyroscopeState
      Description:

      Enum for IMU calibration Status.

      Enum Members:
      DJIIMUSensorStateDisconnectedThe IMU sensor is disconnected from the flight controller.
      DJIIMUSensorStateCalibratingThe IMU sensor is calibrating
      DJIIMUSensorStateCalibrationFailedCalibrate of the IMU sensor failed.
      DJIIMUSensorStateDataExceptionThe IMU sensor has a data exception. Calibrate the IMU and restart the aircraft. If afterwards the status still exists, you may need to contact DJI for further assistance.
      DJIIMUSensorStateWarmingUpThe IMU sensor is warming up.
      DJIIMUSensorStateInMotionThe IMU sensor is not static; the aircraft may not be stable enough to calculate sensor data correctly.
      DJIIMUSensorStateNormalBiasThe IMU's bias value is normal; the aircraft can safely take off.
      DJIIMUSensorStateMediumBiasThe IMU's bias value is medium; the aircraft can safely take off.
      DJIIMUSensorStateLargeBiasThe IMU's bias value is large; the aircraft cannot take off. IMU calibration is needed.
      DJIIMUSensorStateUnknownThe IMU sensor's status is unknown.
      enum DJIIMUCalibrationState
      typedef NS_ENUM (uint8_t, DJIIMUCalibrationState)
      Header:DJIIMUState.h
      SDK Key:DJIFlightControllerKey.DJIFlightControllerParamIMUStateCalibrationState
      Description:

      Enum for IMU calibration Status.

      Enum Members:
      DJIIMUCalibrationStateNoneIMU not in calibration; no calibration is executing.
      DJIIMUCalibrationStateCalibratingIMU calibration is in progress.
      DJIIMUCalibrationStateSuccessfulIMU calibration succeeded.
      DJIIMUCalibrationStateFailedIMU calibration failed.
      DJIIMUCalibrationStateUnknownUnknown calibration status.
      enum DJIIMUCalibrationOrientation
      typedef NS_ENUM(uint8_t, DJIIMUCalibrationOrientation)
      Header:DJIIMUState.h
      Description:

      The different orientations the aircraft needs for a multi-orientation IMU calibration.

      Enum Members:
      DJIIMUCalibrationOrientationNoseDownThe front/nose of the aircraft should be pointed down.
      DJIIMUCalibrationOrientationTailDownThe back/tail of the aircraft should be pointed down.
      DJIIMUCalibrationOrientationRightDownThe right/starboard side of the aircraft should be pointed down.
      DJIIMUCalibrationOrientationLeftDownThe left/port side of the aircraft should be pointed down.
      DJIIMUCalibrationOrientationBottomDownThe bottom/underbelly of the aircraft should be pointed down.
      DJIIMUCalibrationOrientationTopDownThe top of the aircraft should be pointed down.
      enum DJIIMUOrientationCalibrationState
      typedef NS_ENUM(uint8_t, DJIIMUOrientationCalibrationState)
      Header:DJIIMUState.h
      Description:

      IMU calibration status for the current aircraft orientation.

      Enum Members:
      DJIIMUOrientationCalibrationStateCalibratingCalibration of current aircraft orientation is in progress.
      DJIIMUOrientationCalibrationStateCompletedCalibration of current aircraft orientation is done. The orientation will be added to orientationsCalibrated. The aircraft should be rotated to a remaining orientation in orientationsToCalibrate.
      DJIIMUOrientationCalibrationStateUnknownUnknown. Used by products that do not require IMU multi-orientation calibration.