Classes
The following classes are available globally.
-
This class provides the real-time status of an executing ActiveTrack Mission.
See moreDeclaration
Objective-C
@interface DJIActiveTrackMissionStatus : DJIMissionProgressStatus
-
ActiveTrack Mission allows an aircraft to track a moving subject using the vision system and without a GPS tracker on the subject. To use an ActiveTrack mission: - prepareMission with the rectangle that best represents the target to track - startMission to initiate tracking of the object and begin the state updates (DJIMissionProgressStatus) - At this point, the aircraft will track the target while hovering in place. - Give confirmation that the tracked target is correct with
See moreacceptConfirmationWithCompletion
and the aircraft will begin flying relative to the target. - If the tracking algorithm looses sufficient confidence in tracking the target, then the aircraft will stop flying relative to the object and either notify the user (through execution state) that the target is lost or it needs another confirmation that the target is correct. - If the mission is paused, the aircraft will hover in place, but continue tracking the target by adjusting gimbal pitch and aircraft yaw. - If mission is resumed, confirmation of tracking rectangle will need to be sent through to start flying relative to target. - Mission can be canceled with stopMission at any time, or withrejectConfirmationWithCompletion
if confirmation of tracking rectangle is being asked. - The main camera is used to track the target, so gimbal cannot be adjusted during an ActiveTrack mission. - During the mission the aircraft can be manually flown with pitch, roll and throttle. Yaw and gimbal are automatically controlled to continue tracking the target. - If the mission is executing, and after confirmation of the tracking rectangle has been sent, the aircraft can be manually controlled horizontally similar to a DJIFlightOrientationModeHomeLock where thehome
is the tracked target. If aircraft is manually controlled upward, the aircraft will lift and retreat, and if it is controlled downward, it will go down and get closer to the target.Declaration
Objective-C
@interface DJIActiveTrackMission : DJIMission
-
The class contains different wireless links between the aircraft, the remote controller and the mobile device. To determine whether the current device supports WiFi and Lightbridge features, call
isWifiLinkSupported
orisLBAirLinkSupported
.With the Osmo the mobile device communicates directly via wifi.
See moreDeclaration
Objective-C
@interface DJIAirLink : DJIBaseComponent
-
The interference power of a WiFi channel.
See moreDeclaration
Objective-C
@interface DJIWiFiChannelInterference : NSObject
-
Declaration
Objective-C
@interface DJILBAirLinkChannelInterference : NSObject
-
This class represents the power spectral density of a frequency slice. Only supported by Mavic Pro.
See moreDeclaration
Objective-C
@interface DJIOcuSyncFrequencyInterference : NSObject
-
This class contains the components of an aircraft.
See moreDeclaration
Objective-C
@interface DJIAircraft : DJIBaseProduct
-
This class represents an aircraft yaw rotation step for a custom mission. By creating an object of this class and adding it to a custom mission, an aircraft yaw rotation action will be performed during the custom mission execution.
See moreDeclaration
Objective-C
@interface DJIAircraftYawStep : DJIMissionStep
-
The Phantom 3 Standard and 4K products have two wireless links between the remote controller and aircraft. These include a WiFi link for video and app data, and a control link for telemetry and remote controller button/stick commands. This control link is called the auxiliary control link, which distinguishes it from other products having only a WiFi link (such as Osmo).
See moreDeclaration
Objective-C
@interface DJIAuxLink : NSObject
-
Abstract class for components in a DJI Product. A component can be a camera, gimbal, remote controller, etc. A DJI product consists of several components.
See moreDeclaration
Objective-C
@interface DJIBaseComponent : NSObject
-
This class manages the battery’s information and real-time status of the connected product.
See moreDeclaration
Objective-C
@interface DJIBattery : DJIBaseComponent
-
See moreDJIBatteryState
is used to keep track of the real-time state of the battery. It is supported by both smart and non-smart batteries. However for non-smart batteries, only some of the properties are valid: - When the connected product is A3 and N3, onlycurrentVoltage
andcellVoltageLevel
are valid. - When the connected product is A2, onlycurrentVoltage
is valid.Declaration
Objective-C
@interface DJIBatteryState : NSObject
-
The DJIBatteryWarningInformation is used to keep a record of any unusual status for the battery in the past 30 discharges. For all the properties below, monitor these values frequently to ensure the battery’s state is normal. If any of the properties below indicate there is an issue with the battery, we reccomend notifying the user.
NOTE: No automatic action will be taken if any of the properties below return
YES
, which is why it is imperative the user is notified of the issue.These states are not supported by Osmo.
See moreDeclaration
Objective-C
@interface DJIBatteryWarningInformation : NSObject
-
Class that contains battery cell voltage data.
See moreDeclaration
Objective-C
@interface DJIBatteryCell : NSObject
-
Provides an overview of a battery - used when multiple batteries are deployed on one product.
See moreDeclaration
Objective-C
@interface DJIBatteryOverview : NSObject
-
Provides a real time summary of the aggregated battery system. Only supported by Matrice 600, Matrice 600 Pro and Inspire 2.
See moreDeclaration
Objective-C
@interface DJIBatteryAggregationState : NSObject
-
Some DJI products can be controlled using the Mobile SDK on the mobile device over a Bluetooth wireless connection. This class contains methods to search for, connect to and disconnect from such products.
See moreDeclaration
Objective-C
@interface DJIBluetoothProductConnector : NSObject
-
This class contains the media manager and playback manager to manage the Camera’s media content. It provides methods to change camera settings and perform camera actions.
See moreDeclaration
Objective-C
@interface DJICamera : DJIBaseComponent
-
This class contains information about the lens’ current state, including lens type, focus status, focus mode, focus assistant state, and Auto Focus (AF) switch state.
Supported only by X5 camera, X5R camera and X5S camera.
See moreDeclaration
Objective-C
@interface DJICameraLensState : NSObject
-
Some of the camera’s parameters have dynamic ranges. The
See moreDJICameraParameters
interface allows you to query the valid range for a parameter. Type-casting is required to get the corresponding enumerator value for each range element.Declaration
Objective-C
@interface DJICameraParameters : NSObject
-
This class provides the current state of the Playback manager, which includes the numbers of thumbnail and media files, video duration, video play progress, and file download state.
See moreDeclaration
Objective-C
@interface DJICameraPlaybackState : NSObject
-
This class provides the SD card’s general information and current status.
See moreDeclaration
Objective-C
@interface DJICameraSDCardState : NSObject
-
This class contains the information about camera’s Solid State Drive (SSD) information, including state, whether it is connected, its capacity, video size and rate, etc.
Supported only by the X5R camera an X5S camera.
See moreDeclaration
Objective-C
@interface DJICameraSSDState : NSObject
-
This class provides general information and current status of the camera.
See moreDeclaration
Objective-C
@interface DJICameraSystemState : NSObject
-
This class contains important status for the compass of the product, and provides methods to calibrate the compass. Products with multiple compasses (like the Phantom 4) will have their compass state fused into one compass class for simplicity.
See moreDeclaration
Objective-C
@interface DJICompass : NSObject
-
This class contains the real-time status of the executing custom mission.
See moreDeclaration
Objective-C
@interface DJICustomMissionStatus : DJIMissionProgressStatus
-
In a custom mission, you can create multiple kinds of mission steps to control the aircraft to execute a series of complex tasks. Mission steps will be stored in a queue to execute, there is no limit to the number of mission steps in each custom mission. By using Custom Mission, you can achieve your desired functionality easier and more efficiently.
The
DJICustomMission
class is a subclass ofDJIMission
. You can use it to create a custom mission that is made up of a sequence of mission steps. A custom mission is a mechanism designed by the Mobile SDK to simplify the development process. Missions (e.g. a waypoint mission) and operations of components are represented as mission steps. The developer can use the SDK to accomplish complex tasks by simply creating and organizing steps.After the custom mission is uploaded and started, the sequence of the mission steps will be executed.
See
DJIMissionStepDeclaration
Objective-C
@interface DJICustomMission : DJIMission
-
Product Diagnostics.
See moreDeclaration
Objective-C
@interface DJIDiagnostics : NSObject
-
This class contains components of the flight controller and provides methods to send different commands to the flight controller.
See moreDeclaration
Objective-C
@interface DJIFlightController : DJIBaseComponent
-
This class contains the current state of the flight controller.
See moreDeclaration
Objective-C
@interface DJIFlightControllerCurrentState : NSObject
-
This class contains the flight status of the aircraft related to the flight limitation, and provides methods to configure the flight limitation.
See moreDeclaration
Objective-C
@interface DJIFlightLimitation : NSObject
-
This data structure class contains the geospatial information for the fly zone.
See moreDeclaration
Objective-C
@interface DJIFlyZoneInformation : NSObject
-
This class manages the Geospatial Environment Online (GEO) system which provides warning, enhanced warning, authorization and restricted fly zone information. Warning zones have no flight restrictions. Enhanced warning, authorization and restricted fly zones do not allow flight by default. Enhanced warning zones can be unlocked once the user is logged into their DJI account. Authorization zones can be unlocked once the user is logged into their DJI account, and that account has been authorized to unlock authorization zones. Restricted zones cannot be unlocked using the GEO system.
Use of the geographic information provided DJIFlyZoneManager is restricted. Refer to the DJI Developer Policy.
See moreDeclaration
Objective-C
@interface DJIFlyZoneManager : NSObject
-
This class provides the real-time status of the executing follow-me mission.
See moreDeclaration
Objective-C
@interface DJIFollowMeMissionStatus : DJIMissionProgressStatus
-
The class represents a follow me mission. In a follow me mission, the aircraft is programmed to track and maintain a constant distant relative to some object, such as a person or a moving vehicle. You can use it to make the aircraft follow a GPS device, such as a remote controller with a GPS signal or a mobile device.
It is not supported by Mavic Pro when using WiFi connection.
See moreDeclaration
Objective-C
@interface DJIFollowMeMission : DJIMission
-
This class represents a follow-me step for a custom mission. By creating an object of this class and adding it to a custom mission, a follow-me action will be performed during the custom mission. - see: DJIFollowMeMission
See moreDeclaration
Objective-C
@interface DJIFollowMeStep : DJIMissionStep
-
This class provides multiple methods to control the gimbal. These include setting the gimbal work mode, rotating the gimbal with angle, starting the gimbal auto calibration, etc.
See moreDeclaration
Objective-C
@interface DJIGimbal : DJIBaseComponent
-
The current advanced settings of the gimbal. These include settings for SmoothTrack and the Controller. Only supported by Osmo.
See moreDeclaration
Objective-C
@interface DJIGimbalAdvancedSettingsState : NSObject
-
Subclass of
See moreDJIMissionStep
. You can control the gimbal attitude using this mission step.Declaration
Objective-C
@interface DJIGimbalAttitudeStep : DJIMissionStep
-
This class provides the current state of the gimbal.
See moreDeclaration
Objective-C
@interface DJIGimbalState : NSObject
-
Class for smart go home status.
See moreDeclaration
Objective-C
@interface DJIGoHomeStatus : NSObject
-
This class represents a go-home step for a custom mission. By creating an object of this class and adding it to a custom mission, a go-home action will be performed during the custom mission execution.
See moreDeclaration
Objective-C
@interface DJIGoHomeStep : DJIMissionStep
-
This class represents a go-to step for a custom mission. By creating an object of this class and adding it to a custom mission, the aircraft will go to the specified location during the custom mission execution.
See moreDeclaration
Objective-C
@interface DJIGoToStep : DJIMissionStep
-
This class contains the components of a handheld device.
See moreDeclaration
Objective-C
@interface DJIHandheld : DJIBaseProduct
-
This class contains interfaces to control a handheld device. You can make the handheld device enter sleep mode, awake from sleep mode or shut it down.
See moreDeclaration
Objective-C
@interface DJIHandheldController : DJIBaseComponent
-
Handheld controller’s current hardware state. Used by Osmo Mobile only.
See moreDeclaration
Objective-C
@interface DJIHandheldControllerHardwareState : NSObject
-
Pattern used to control a single color (red, green or blue) of the handheld controller’s LED.
See moreDeclaration
Objective-C
@interface DJIHandheldControllerLEDColorPattern : NSObject
-
Command used to control different colors (red, green and blue) of the handheld controller’s LED.
See moreDeclaration
Objective-C
@interface DJIHandheldControllerLEDCommand : NSObject
-
This class provides the real-time status of the executing hot-point mission.
See moreDeclaration
Objective-C
@interface DJIHotPointMissionStatus : DJIMissionProgressStatus
-
The class represents a hotpoint mission, which can be executed by the mission manager. In a hot point mission, the aircraft will repeatedly fly circles of a constant radius around a specified point called a Hot Point. The user can control the aircraft to fly around the hotpoint with a specific radius and altitude. During execution, the user can also use the physical remote controller to modify its radius and speed.
It is not supported by Mavic Pro when using WiFi connection.
See moreDeclaration
Objective-C
@interface DJIHotPointMission : DJIMission
-
This class represents a hot-point step for a custom mission. By creating an object of this class and adding it to a custom mission, a hot-point action will be performed during the custom mission execution. - see: DJIHotpointMission
See moreDeclaration
Objective-C
@interface DJIHotpointStep : DJIMissionStep
-
This class is used to lead the user through an IMU calibration for products that require calibration at multiple orientations. An example workflow is: 1. Direct the user to orient the aircraft in one of the uncalibrated orientations in
See moreorientationsToCalibrate
. 2. Monitorstatus
untilDJIIMUMultiOrientationCalibrationStatusCalibrating
turns toDJIIMUMultiOrientationCalibrationStatusDone
. 3. Repeat untilorientationsToCalibrate
is empty.Declaration
Objective-C
@interface DJIIMUMultiOrientationCalibrationHint : NSObject
-
This class contains current state of the DJI Inertial Measurement Unit(IMU) State.
See moreDeclaration
Objective-C
@interface DJIIMUState : NSObject
-
This class contains components of the Intelligent Flight Assistant and provides methods to change the settings of Intelligent Flight Assistant.
See moreDeclaration
Objective-C
@interface DJIIntelligentFlightAssistant : NSObject
-
This class contains methods to change settings of the Lightbridge Air Link.
See moreDeclaration
Objective-C
@interface DJILBAirLink : NSObject
-
This class contains the state of the landing gear. It also provides methods to control the landing gear.
See moreDeclaration
Objective-C
@interface DJILandingGear : NSObject
-
Declaration
Objective-C
@interface DJIMediaVideoPlaybackState : NSObject
-
This class contains information about a multi-media file on the SD card. It also provides methods to retrieve the data in the file.
See moreDeclaration
Objective-C
@interface DJIMedia : NSObject
-
The media manager is used to interact with the file system on the SD card. By using the media manager, the user can get the metadata for all the multimedia files, and has access to each individual multimedia file.
See moreDeclaration
Objective-C
@interface DJIMediaManager : NSObject
-
See moreDJIMissionProgressStatus
is an abstract class representing the progress of an executing mission.Declaration
Objective-C
@interface DJIMissionProgressStatus : NSObject
-
This class is an abstract class representing a mission that can be executed by the mission manager.
See moreDeclaration
Objective-C
@interface DJIMission : NSObject
-
This class manages the execution cycle for a mission. To execute a mission, you must normally first invoke
See moreprepareMission:withProgress:withCompletion
to prepare the mission. Then callstartMissionExecutionWithCompletion:
to start the prepared mission. You can also pause, resume or stop an executing mission if the mission supports the operation.Declaration
Objective-C
@interface DJIMissionManager : NSObject
-
Abstract class for all mission steps. A mission step represents an operation related to one kind of mission or a component. You can create a custom mission with multiple steps to accomplish complex tasks.
Warning
The execution of a custom mission depends on the combination and order of mission steps. The user must check the relationships between steps and organize the steps in a reasonable order.
See
DJICustomMission
Declaration
Objective-C
@interface DJIMissionStep : NSOperation
-
A simulated remote controller on the mobile device to control the aircraft when the physical remote controller is absent. The mobile remote controller only supports Mode 2 control style and flight mode P.
It is supported by Mavic Pro using WiFi.
See moreDeclaration
Objective-C
@interface DJIMobileRemoteController : DJIBaseComponent
-
Declaration
Objective-C
@interface DJIOcuSyncLink : NSObject
-
This class provides the real-time status of an executing panorama mission.
See moreDeclaration
Objective-C
@interface DJIPanoramaMissionStatus : DJIMissionProgressStatus
-
During a Panorama Mission, the user can rotate the camera 360 or 180 degrees to take several photos, and then download the photos to render a panorama. In full circle mode, 8 photos are taken. In half circle mode, 5 photos are taken. Commands cannot be sent to the camera until the mission is finished. The Panorama Mission does not support the image stitching feature, so the images must be stitched manually. All the images will be stored on the SD card.
Panorama Mission is only supported by Osmo with X3 camera and Z3 camera.
See moreDeclaration
Objective-C
@interface DJIPanoramaMission : DJIMission
-
See moreDJIParamCapabilityMinMax
adds the maximum and minimum possible values of the parameter to the base class property of whether the parameter is supported by the component or product.Declaration
Objective-C
@interface DJIParamCapabilityMinMax : DJIParamCapability
-
The playback manager is used to interact with the playback system of the camera. By using the playback manager, the user can control the playback system.
See moreDeclaration
Objective-C
@interface DJIPlaybackManager : NSObject
-
Single RTK receiver information. Each receiver is connected to a single antenna.
See moreDeclaration
Objective-C
@interface DJIRTKReceiverInfo : NSObject
-
This class holds the state of the RTK system including position, positioning solution and receiver information.
See moreDeclaration
Objective-C
@interface DJIRTKState : NSObject
-
Real Time Kinematic
See moreDeclaration
Objective-C
@interface DJIRTK : NSObject
-
This class represents a step related to video-recording for a custom mission. By creating an object of this class and adding it into a custom mission, the user can record video during the custom mission execution.
See moreDeclaration
Objective-C
@interface DJIRecordVideoStep : DJIMissionStep
-
This class represents the remote controller of the aircraft. It provides * methods to change the settings of the physical remote controller. For some * products (e.g. Inspire 1 and Matric 100), the class provides methods to * manager the slave/master mode of the remote controllers. * * A remote controller is a device that can have a GPS, battery, radio, buttons, * sticks, wheels, and output ports for video. The mobile device is connected * to the remote controller, which is always sending out information about what * everything is doing. The normal remote controller is called the master. A * slave wirelessly connects to the master remote controller at 5 GHz, and the * aircraft can also download information to the slave. The slave can send * gimbal control commands to the master. This configuration allows one person * to fly the aircraft while another person controls the gimbal.
See moreDeclaration
Objective-C
@interface DJIRemoteController : DJIBaseComponent
-
This class contains the information for a remote controller.
See moreDeclaration
Objective-C
@interface DJIRCInfo : NSObject
-
State of the remote controller related to the master and slave mode. Only supported by Inspire 2.
See moreDeclaration
Objective-C
@interface DJIRCMasterSlaveState : NSObject
-
This class provides methods for you to get information about the current log level. It also contains methods to configure the logger.
See moreDeclaration
Objective-C
@interface DJIRemoteLogger : NSObject
-
This class contains methods to register the app, start or stop connections with the product, and use the DJI Bridge app and Remote Logger tools, etc. After registration, the user can access the connected product through
See moreDJISDKManager
. Then the user can start to control the components of the product.Declaration
Objective-C
@interface DJISDKManager : NSObject
-
This class represents a step related to photo-shooting for a custom mission. By creating an object of this class and adding it to a custom mission, the user can shoot photos during the custom mission execution.
See moreDeclaration
Objective-C
@interface DJIShootPhotoStep : DJIMissionStep
-
This class contains signal status for a channel.
See moreDeclaration
Objective-C
@interface DJISignalInformation : NSObject
-
DJI aircraft can be put into simulation mode using this class. Developers can start and stop the simulation, as well as monitor basic aircraft attitude and location information.
See moreDeclaration
Objective-C
@interface DJISimulator : NSObject
-
Aircraft’s state during the simulation.
See moreDeclaration
Objective-C
@interface DJISimulatorState : NSObject
-
This class represents a take-off step for a custom mission. By creating an object of this class and adding it to a custom mission, a take-off action will be performed during the custom mission execution.
Declaration
Objective-C
@interface DJITakeoffStep : DJIMissionStep
-
This class provides the real-time status of an executing TapFly Mission.
See moreDeclaration
Objective-C
@interface DJITapFlyMissionStatus : DJIMissionProgressStatus
-
A TapFly Mission is initialized with a position target from the live video stream. The 3D direction of the coordinate is calculated, and the aircraft will proceed to fly in that direction. The aircraft can automatically avoid obstacles when the scene is sufficiently illuminated (more than 300 lux but less than 10,000 lux). The aircraft will stop flying in the direction if it reaches its radius limitation, the mission is stopped, the user pulls back on the pitch stick or if it comes to an obstacle it cannot bypass. The Remote Controller yaw stick can be used to adjust the heading of the aircraft during mission execution, which also adjusts the direction of flight to the new yaw. Using any other stick controls will cancel the mission.
See moreDeclaration
Objective-C
@interface DJITapFlyMission : DJIMission
-
The vision system can see in front of the aircraft with a 60 degree horizontal field of view (FOV) and 55-degree vertical FOV. The horizontal FOV is split into four equal sectors, and this class gives the distance and warning level for one sector.
See moreDeclaration
Objective-C
@interface DJIVisionDetectionSector : NSObject
-
This class gives state information about the product’s vision sensors used for obstacle detection. The two types of sensors used are dual camera sensors operating in the visible spectrum (dual-camera sensor) and infrared time of flight (TOF) sensors. Note, Inspire 2’s upward facing infrared TOF sensor is not returned in this state. It is accessed through
See moreDJIVisionControlState
.Declaration
Objective-C
@interface DJIVisionDetectionState : NSObject
-
This class gives the aircraft’s state controlled by the intelligent flight assistant.
See moreDeclaration
Objective-C
@interface DJIVisionControlState : NSObject
-
This class represents a waypoint action for
See moreDJIWaypoint
. It determines what action is performed when the aircraft reaches the corresponding waypoint.Declaration
Objective-C
@interface DJIWaypointAction : NSObject
-
The class represents a target point in the waypoint mission. For a waypoint mission, a flight route consists of multiple
See moreDJIWaypoint
objects. The user can also define the actions to perform for eachDJIWaypoint
.Declaration
Objective-C
@interface DJIWaypoint : NSObject
-
This class provides the real-time status of an executing waypoint mission.
See moreDeclaration
Objective-C
@interface DJIWaypointMissionStatus : DJIMissionProgressStatus
-
In the waypoint mission, the aircraft will travel between waypoints, execute actions at waypoints, and adjust heading and altitude between waypoints. Waypoints are physical locations to which the aircraft will fly. Creating a series of waypoints, in effect, will program a flight route for the aircraft to follow. Actions can also be added to waypoints, which will be carried out when the aircraft reaches the waypoint.
The aircraft travels between waypoints automatically at a base speed. However, the user can change the speed by using the pitch joystick. If the stick is pushed up, the speed will increase. If the stick is pushed down, the speed will slow down. The stick can be pushed down to stop the aircraft and further pushed to start making the aircraft travel back along the path it came. When the aircraft is traveling through waypoints in the reverse order, it will not execute waypoint actions at each waypoint. If the stick is released, the aircraft will again travel through the waypoints in the original order, and continue to execute waypoint actions (even if executed previously).
If the aircraft is pulled back along the waypoint mission all the way to the first waypoint, then it will hover in place until the stick is released enough for it to again progress through the mission from start to finish.
It is not supported by Mavic Pro when using WiFi connection.
See moreDeclaration
Objective-C
@interface DJIWaypointMission : DJIMission
-
This class represents a waypoint step for a custom mission. By creating an object of this class and adding it into a custom mission, a waypoint action will be performed during the custom mission.
Warning
Data related to a waypoint mission will be uploaded to the aircraft right before the execution of each waypoint mission step. The uploading process may take minutes depending on the number of waypoints and the connection status.
See
DJIWaypointMission
Declaration
Objective-C
@interface DJIWaypointStep : DJIMissionStep
-
This class provides methods to change the setting of the product’s WiFi. You can also reboot the WiFi adapter inside product in order to make the new setting take effect.
See moreDeclaration
Objective-C
@interface DJIWiFiLink : NSObject
-
Abstract class for all DJI Products.
See moreDeclaration
Objective-C
@interface DJIBaseProduct : NSObject
-
See moreDJIParamCapability
represents the capability of a parameter of a component or product.DJIParamCapability
can be sub-classed to include additional information on the parameter.DJIParamCapabilityMinMax
includes the maximum and minimum possible values of the parameter.Declaration
Objective-C
@interface DJIParamCapability : NSObject