DJI::OSDK Namespace Reference

Namespaces

 MOP
 This namespace encapsulates all available telemetry topics through either Broadcast or Subscribe.
 
 Telemetry
 This namespace encapsulates all available telemetry topics through either Broadcast or Subscribe.
 
 VehicleStatus
 info about vehicle
 

Classes

class  ACK
 Class for handling acknowledgements from the aircraft. More...
 
class  AdvancedSensing
 
struct  BatteryWholeInfo
 
struct  BatteryWholeInfoImpl
 
class  Camera
 Camera class for controlling camera-related functions available through open protocol. More...
 
class  CameraManager
 The manager of camera module. More...
 
class  CameraModule
 CameraModule of PayloadNode. More...
 
struct  CGPoint
 
struct  CMD_SETSupportMatrix
 Define CMD_SET support matrix. More...
 
struct  CommonCallBackHandler
 The CallBackHandler struct allows users to encapsulate callbacks and data in one struct. This is a more common method. More...
 
class  Control
 Flight control API: high-level actions and low-level control modes. More...
 
class  DataBroadcast
 Telemetry API through asynchronous "Broadcast"-style messages. More...
 
class  DataSubscription
 Telemetry API through asynchronous "Subscribe"-style messages. More...
 
struct  DispatchInfo
 Dispatch info. More...
 
struct  DJIGimbalRotation
 
class  DJIHMS
 DJI health manager system of drone. More...
 
struct  DJIWaypointV2Action
 
struct  DJIWaypointV2Actuator
 
struct  DJIWaypointV2AircraftControlFlyingParam
 
struct  DJIWaypointV2AircraftControlParam
 
struct  DJIWaypointV2AircraftControlRotateHeadingParam
 
struct  DJIWaypointV2AssociateTriggerParam
 
struct  DJIWaypointV2CameraActuatorParam
 
struct  DJIWaypointV2CameraFocalLengthParam
 
struct  DJIWaypointV2CameraFocusParam
 
struct  DJIWaypointV2GimbalActuatorParam
 
struct  DJIWaypointV2IntervalTriggerParam
 
struct  DJIWaypointV2TrajectoryTriggerParam
 
struct  DJIWholeBatteryState
 
struct  DJIWholeBatteryStateImpl
 
struct  DownloadMissionAck
 
struct  DownloadMissionRsp
 
struct  ErrList
 
class  ErrorCode
 
union  Eventdata
 
class  FlightController
 Flight controller API: set or get parameter, execute flight actions. More...
 
struct  GetGlobalCruiseVelAck
 
struct  GetRemainRamAck
 
struct  GetWaypontStartEndIndexAck
 
class  Gimbal
 The Gimbal class for controlling gimbal-related functions. More...
 
class  GimbalManager
 The manager of gimbal module. More...
 
class  GimbalModule
 gimbal module More...
 
class  HardwareSync
 APIs for controlling Hardware Sync. More...
 
struct  HMSErrCodeInfo
 
struct  HMSPushData
 
struct  HMSPushPacket
 
class  HotpointMission
 APIs for Hotpoint (Point of Interest) Missions. More...
 
struct  HotPointSettings
 HotPoint Mission Initialization settings. More...
 
class  MFIO
 APIs for Multi-Function Input-Output functionality. More...
 
class  MissionBase
 Mission Base class for commonality between SDK Missions. More...
 
struct  MissionEventPushAck
 
class  MissionManager
 MissionManager class for chaining/managing missions. More...
 
struct  MissionStateCommanData
 
struct  MissionStatePushAck
 
class  MobileDevice
 APIs for Mobile-Onboard SDK Communication. More...
 
class  MopClient
 Class providing APIs & data structures for acting as a MOP client. More...
 
class  MopPipeline
 Class providing APIs & data structures MOP pipeline operations. More...
 
class  MopServer
 Class providing APIs & data structures for acting as a MOP server. More...
 
struct  OpenHeader
 The Header struct is meant to handle the open protocol header. More...
 
class  PayloadBase
 PayloadBase. More...
 
class  PayloadDevice
 APIs for Payload-Onboard SDK Communication. More...
 
class  PSDKManager
 The manager of psdk module. More...
 
class  PSDKModule
 PSDK module. More...
 
struct  RecvContainer
 Received info. More...
 
struct  RelativePosition
 
class  SubscriptionPackage
 Package class to support Subscribe-style telemetry. More...
 
struct  UploadActionsRawAck
 
struct  UploadMissionRawAck
 
struct  VehicleCallBackHandler
 The CallBackHandler struct allows users to encapsulate callbacks and data in one struct. More...
 
struct  VirtualRCData
 Virtual RC data (supported only on Matrice 100) More...
 
struct  VirtualRCSetting
 Virtual RC Settings (supported only on Matrice 100) More...
 
struct  WayPointFinishData
 Waypoint Mission Finish Event Push Data. More...
 
struct  WayPointInitSettings
 Waypoint Mission Initialization settings. More...
 
class  WaypointMission
 APIs for GPS Waypoint Missions. More...
 
struct  WayPointSettings
 Waypoint settings for individual waypoints being added to the mission. More...
 
struct  WaypointV2
 
struct  WaypointV2Config
 
struct  WayPointV2InitSettings
 Waypoint V2 Mission Initialization settings. More...
 
struct  WayPointV2InitSettingsInternal
 Waypoint V2 Mission Initialization Settings Internal User have no need to use it. More...
 
struct  WaypointV2Internal
 
class  WaypointV2MissionOperator
 

Typedefs

typedef struct DJI::OSDK::RequestBatteryDynamicInfoCmd RequestBatteryDynamicInfoCmd
 
typedef struct DJI::OSDK::DJIWholeBatteryState DJIWholeBatteryState
 
typedef struct DJI::OSDK::BatteryWholeInfo BatteryWholeInfo
 
typedef enum DJI::OSDK::DJISmartBatterySelfCheck DJISmartBatterySelfCheck
 
typedef enum DJI::OSDK::DJIBatteryClosedReasonImpl DJIBatteryClosedReasonImpl
 
typedef enum DJI::OSDK::DJISmartBatteryHeatState DJISmartBatteryHeatState
 
typedef enum DJI::OSDK::DJISmartBatterySocWarning DJISmartBatterySocWarning
 
typedef struct DJI::OSDK::DJISmartBatteryState DJISmartBatteryState
 
typedef struct DJI::OSDK::SmartBatteryDynamicInfo SmartBatteryDynamicInfo
 
typedef struct DJI::OSDK::DJIWholeBatteryStateImpl DJIWholeBatteryStateImpl
 
typedef struct DJI::OSDK::BatteryWholeInfoImpl BatteryWholeInfoImpl
 
typedef enum DJI::OSDK::DJIBatteryFirmwareAbnormalImpl DJIBatteryFirmwareAbnormalImpl
 
typedef struct DJI::OSDK::DJISmartBatteryStateImpl DJISmartBatteryStateImpl
 
typedef struct DJI::OSDK::SmartBatteryDynamicInfoImpl SmartBatteryDynamicInfoImpl
 
typedef struct DJI::OSDK::ErrList ErrList
 
typedef struct DJI::OSDK::HMSPushData HMSPushData
 
typedef struct DJI::OSDK::HMSPushPacket HMSPushPacket
 
typedef struct DJI::OSDK::HMSErrCodeInfo HMSErrCodeInfo
 
typedef enum DJI::OSDK::MissionType MissionType
 
typedef struct DJI::OSDK::HotPointSettings HotPointSettings
 HotPoint Mission Initialization settings. More...
 
typedef struct DJI::OSDK::WayPointInitSettings WayPointInitSettings
 Waypoint Mission Initialization settings. More...
 
typedef struct DJI::OSDK::WayPointSettings WayPointSettings
 Waypoint settings for individual waypoints being added to the mission. More...
 
typedef enum DJI::OSDK::WaypointActionTypeFormat WaypointActionTypeFormat
 
typedef enum DJI::OSDK::WayPointIncidentType WayPointIncidentType
 WayPoint Reached Data Incident Type enumerator. More...
 
typedef enum DJI::OSDK::WayPointPushDataIncidentType WayPointPushDataIncidentType
 WayPoint Push Data Incident Type enumerator.
 
typedef struct DJI::OSDK::WayPointFinishData WayPointFinishData
 Waypoint Mission Finish Event Push Data.
 
typedef enum DJI::OSDK::DJIWaypointV2FlightPathMode DJIWaypointV2FlightPathMode
 
typedef enum DJI::OSDK::DJIWaypointV2HeadingMode DJIWaypointV2HeadingMode
 
typedef enum DJI::OSDK::DJIWaypointV2TurnMode DJIWaypointV2TurnMode
 
typedef uint8_t RetCodeType
 
typedef uint32_t WaypointV2CommonAck
 
typedef float32_t GlobalCruiseSpeed
 
typedef struct DJI::OSDK::UploadMissionRawAck UploadMissionRawAck
 
typedef struct DJI::OSDK::UploadActionsRawAck UploadActionsRawAck
 
typedef struct DJI::OSDK::DownloadMissionRsp DownloadMissionRsp
 
typedef struct DJI::OSDK::DownloadMissionAck DownloadMissionAck
 
typedef struct DJI::OSDK::GetGlobalCruiseVelAck GetGlobalCruiseVelAck
 
typedef struct DJI::OSDK::GetRemainRamAck getRemainRamAck
 
typedef struct DJI::OSDK::GetWaypontStartEndIndexAck GetWaypontStartEndIndexAck
 
typedef struct DJI::OSDK::MissionStateCommanData MissionStateCommanData
 
typedef struct DJI::OSDK::MissionStatePushAck MissionStatePushAck
 
typedef union DJI::OSDK::Eventdata Eventdata
 
typedef struct DJI::OSDK::MissionEventPushAck MissionEventPushAck
 
typedef struct DJI::OSDK::WayPointV2InitSettingsInternal WayPointV2InitSettingsInternal
 Waypoint V2 Mission Initialization Settings Internal User have no need to use it.
 
typedef struct DJI::OSDK::DownloadInitSettingRawAck DownloadInitSettingRawAck
 
typedef struct DJI::OSDK::RelativePosition RelativePosition
 
typedef struct DJI::OSDK::WaypointV2Config WaypointV2Config
 
typedef struct DJI::OSDK::WaypointV2Internal WaypointV2Internal
 
typedef struct DJI::OSDK::WaypointV2 WaypointV2
 
typedef struct DJI::OSDK::WayPointV2InitSettings WayPointV2InitSettings
 Waypoint V2 Mission Initialization settings. More...
 
typedef struct DJI::OSDK::FCGroundStationDataPush FCGroundStationDataPush
 
typedef void * UserData
 This is used as the datatype for all data arguments in callbacks.
 
typedef uint64_t time_ms
 
typedef uint64_t time_us
 
typedef float float32_t
 
typedef double float64_t
 
typedef struct DJI::OSDK::OpenHeader OpenHeader
 The Header struct is meant to handle the open protocol header.
 
typedef struct DJI::OSDK::Command Command
 
typedef struct DJI::OSDK::MMU_Tab MMU_Tab
 
typedef struct DJI::OSDK::CMDSession CMDSession
 
typedef struct DJI::OSDK::ACKSession ACKSession
 
typedef struct DJI::OSDK::DataBuryPack DataBuryPack
 
typedef struct DJI::OSDK::HeartBeatPack HeartBeatPack
 
typedef struct DJI::OSDK::VirtualRCSetting VirtualRCSetting
 Virtual RC Settings (supported only on Matrice 100)
 
typedef struct DJI::OSDK::VirtualRCData VirtualRCData
 Virtual RC data (supported only on Matrice 100)
 
typedef struct DJI::OSDK::DispatchInfo DispatchInfo
 Dispatch info. More...
 
typedef struct DJI::OSDK::RecvContainer RecvContainer
 Received info. More...
 
typedef void(* VehicleCallBack) (Vehicle *vehicle, RecvContainer recvFrame, UserData userData)
 Function prototype for all callback functions used in the OSDK. More...
 
typedef struct DJI::OSDK::VehicleCallBackHandler VehicleCallBackHandler
 The CallBackHandler struct allows users to encapsulate callbacks and data in one struct. More...
 
typedef struct DJI::OSDK::CommonCallBackHandler CommonCallBackHandler
 The CallBackHandler struct allows users to encapsulate callbacks and data in one struct. This is a more common method. More...
 
typedef struct DJI::OSDK::CMD_SETSupportMatrix CMD_SETSupportMatrix
 Define CMD_SET support matrix.
 
typedef E_OsdkStat(* PushCallback) (struct _CommandHandle *cmdHandle, const T_CmdInfo *cmdInfo, const uint8_t *cmdData, void *userData)
 callback type to get the pushing data from waypoint 2.0 More...
 
typedef struct DJI::OSDK::CGPoint CGPoint
 
typedef struct DJI::OSDK::DJIGimbalRotation DJIGimbalRotation
 
typedef struct DJI::OSDK::DJIWaypointV2SampleReachPointTriggerParam DJIWaypointV2SampleReachPointTriggerParam
 
typedef struct DJI::OSDK::DJIWaypointV2AssociateTriggerParam DJIWaypointV2AssociateTriggerParam
 
typedef struct DJI::OSDK::DJIWaypointV2TrajectoryTriggerParam DJIWaypointV2TrajectoryTriggerParam
 
typedef struct DJI::OSDK::DJIWaypointV2IntervalTriggerParam DJIWaypointV2IntervalTriggerParam
 
typedef struct DJI::OSDK::DJIWaypointV2CameraFocusParam DJIWaypointV2CameraFocusParam
 
typedef struct DJI::OSDK::DJIWaypointV2CameraFocalLengthParam DJIWaypointV2CameraFocalLengthParam
 
typedef struct DJI::OSDK::DJIWaypointV2AircraftControlRotateHeadingParam DJIWaypointV2AircraftControlRotateHeadingParam
 
typedef struct DJI::OSDK::DJIWaypointV2AircraftControlFlyingParam DJIWaypointV2AircraftControlFlyingParam
 
typedef struct DJI::OSDK::DJIWaypointV2Trigger DJIWaypointV2Trigger
 
typedef struct DJI::OSDK::DJIWaypointV2CameraActuatorParam DJIWaypointV2CameraActuatorParam
 
typedef struct DJI::OSDK::DJIWaypointV2GimbalActuatorParam DJIWaypointV2GimbalActuatorParam
 
typedef struct DJI::OSDK::DJIWaypointV2AircraftControlParam DJIWaypointV2AircraftControlParam
 
typedef struct DJI::OSDK::DJIWaypointV2Actuator DJIWaypointV2Actuator
 
typedef struct DJI::OSDK::DJIWaypointV2Action DJIWaypointV2Action
 
typedef struct DJI::OSDK::DataConfig DataConfig
 
typedef struct DJI::OSDK::ImgConfig ImgConfig
 
typedef struct DJI::OSDK::VGAConfig VGAConfig
 
typedef struct DJI::OSDK::AdvancedSensingConfig AdvancedSensingConfig
 

Enumerations

enum  DJISmartBatterySelfCheck {
  DJI_BATTERY_SELF_CHECK_NORAML = 0,
  DJI_BATTERY_SELF_CHECK_NTC_ABNORAML = 1,
  DJI_BATTERY_SELF_CHECK_MOS_ABNROMAL = 2,
  DJI_BATTERY_SELF_CHECK_R_ABNORMAL = 3,
  DJI_BATTERY_SELF_CHECK_CELL_DAMAGE = 4,
  DJI_BATTERY_SELF_CHECK_CAL_EXP = 5,
  DJI_BATTERY_SELF_CHECK_GAUGEPARM_EXP = 6,
  DJI_BATTERY_SELF_CHECK_RES = 7
}
 
enum  DJIBatteryClosedReasonImpl {
  DJI_BETTERY_CLOSED_NORMAL = 0,
  DJI_BETTERY_CLOSED_FORCED = 1,
  DJI_BETTERY_CLOSED_SCD = 2,
  DJI_BETTERY_CLOSED_OLD = 3,
  DJI_BETTERY_CLOSED_OCD = 4,
  DJI_BETTERY_CLOSED_UVD = 5,
  DJI_BETTERY_CLOSED_OTD = 6,
  DJI_BETTERY_CLOSED_SCC = 16,
  DJI_BETTERY_CLOSED_OCC = 17,
  DJI_BETTERY_CLOSED_OVC = 18,
  DJI_BETTERY_CLOSED_OVCER = 19,
  DJI_BETTERY_CLOSED_LTC = 20,
  DJI_BETTERY_CLOSED_HTC = 21
}
 
enum  DJISmartBatterySohState {
  DJI_SOH_NORMAL = 0,
  DJI_SOH_ALERT = 1,
  DJI_SOH_SAFE = 2,
  DJI_SOH_RESERVE = 3
}
 
enum  DJISmartBatteryHeatState {
  DJI_NO_HEAT = 0,
  DJI_IN_HEAT = 1,
  DJI_KEEP_WARM = 2
}
 
enum  DJISmartBatterySocWarning {
  DJI_SOC_NORMAL = 0,
  DJI_SOC_ABNORMAL_HIGH = 1,
  DJI_SOC_JUMP_DOWN = 2,
  DJI_SOC_JUMP_UP = 3,
  DJI_SOC_INVALID = 4,
  DJI_reserved1 = 5,
  DJI_reserved2 = 6,
  DJI_reserved3 = 7
}
 
enum  DJIBatteryFirmwareAbnormalImpl {
  DJI_APP_FIRAMWARE = 0,
  DJI_LOADER_FIRMWARE = 1
}
 
enum  CameraIndex {
  CameraIndex1 = 1,
  CameraIndex2 = 2,
  CameraIndex3 = 3
}
 
enum  GimbalIndex {
  GimbalIndex1 = 1,
  GimbalIndex2 = 2,
  GimbalIndex3 = 3,
  InvalidIndex = 0xff
}
 
enum  HMSSubcribeCmd {
  ResetALLSubcriberExceptAPP = 0,
  OSDKSubALLData = 1
}
 
enum  HMSSubcribeStatus { OSDKSubSuccess = 0 }
 
enum  MissionType {
  MISSION_MODE_A,
  MISSION_WAYPOINT,
  MISSION_HOTPOINT,
  MISSION_FOLLOW,
  MISSION_IOC
}
 
enum  DJI_MISSION_TYPE {
  WAYPOINT = 0,
  HOTPOINT = 1
}
 
enum  MISSION_ACTION {
  START = 0,
  STOP = 1,
  PAUSE = 2,
  RESUME = 3
}
 
enum  WaypointActionTypeFormat {
  WP_ACTION_STAY = 0,
  WP_ACTION_SIMPLE_SHOT = 1,
  WP_ACTION_VIDEO_START = 2,
  WP_ACTION_VIDEO_STOP = 3,
  WP_ACTION_CRAFT_YAW = 4,
  WP_ACTION_GIMBAL_PITCH = 5
}
 
enum  WayPointIncidentType {
  NAVI_UPLOAD_FINISH,
  NAVI_MISSION_FINISH,
  NAVI_MISSION_WP_REACH_POINT
}
 WayPoint Reached Data Incident Type enumerator. More...
 
enum  WayPointPushDataIncidentType {
  NAVI_MODE_ATTI,
  NAVI_MISSION_WAYPOINT,
  NAVI_MISSION_HOTPOINT,
  NAVI_MISSION_FOLLOWME,
  NAVI_MISSION_IOC
}
 WayPoint Push Data Incident Type enumerator.
 
enum  DJIWaypointV2MissionV2RCLostAction : uint8_t {
  DJIWaypointV2MissionV2RCLostActionStopMission,
  DJIWaypointV2MissionV2RCLostActionContinue
}
 
enum  DJIWaypointV2MissionFinishedAction : uint8_t {
  DJIWaypointV2MissionFinishedNoAction,
  DJIWaypointV2MissionFinishedGoHome,
  DJIWaypointV2MissionFinishedAutoLanding,
  DJIWaypointV2MissionFinishedGoToFirstWaypoint,
  DJIWaypointV2MissionFinishedContinueUntilStop
}
 
enum  DJIWaypointV2MissionGotoFirstWaypointMode : uint8_t {
  DJIWaypointV2MissionGotoFirstWaypointModeSafely,
  DJIWaypointV2MissionGotoFirstWaypointModePointToPoint
}
 
enum  DJIWaypointV2TriggerAssociatedTimingType : uint8_t {
  DJIWaypointV2TriggerAssociatedTimingTypeSimultaneously = 1,
  DJIWaypointV2TriggerAssociatedTimingTypeAfterFinised,
  DJIWaypointV2TriggerAssociatedTimingTypeUnknown = 0xFF
}
 
enum  DJIWaypointV2ActionIntervalType : uint8_t {
  DJIWaypointV2ActionIntervalTypeTime = 1,
  DJIWaypointV2ActionIntervalTypeDistance,
  DJIWaypointV2ActionIntervalTypeUnknown = 0xFF
}
 
enum  DJIWaypointV2ActionTriggerType : uint8_t {
  DJIWaypointV2ActionTriggerTypeActionAssociated = 2,
  DJIWaypointV2ActionTriggerTypeTrajectory,
  DJIWaypointV2ActionTriggerTypeInterval,
  DJIWaypointV2ActionTriggerTypeSampleReachPoint,
  DJIWaypointV2ActionTriggerTypeUnknown = 0xFF
}
 
enum  DJIWaypointV2ActionActuatorType : uint8_t {
  DJIWaypointV2ActionActuatorTypeCamera = 1,
  DJIWaypointV2ActionActuatorTypeGimbal = 2,
  DJIWaypointV2ActionActuatorTypeAircraftControl = 4,
  DJIWaypointV2ActionActuatorTypeUnknown = 0xFF
}
 
enum  DJIWaypointV2ActionActuatorGimbalOperationType : uint16_t {
  DJIWaypointV2ActionActuatorGimbalOperationTypeRotateGimbal = 1,
  DJIWaypointV2ActionActuatorGimbalOperationTypeUnknown = 0xFF
}
 
enum  DJIWaypointV2ActionActuatorCameraOperationType : uint16_t {
  DJIWaypointV2ActionActuatorCameraOperationTypeTakePhoto = 1,
  DJIWaypointV2ActionActuatorCameraOperationTypeStartRecordVideo,
  DJIWaypointV2ActionActuatorCameraOperationTypeStopRecordVideo,
  DJIWaypointV2ActionActuatorCameraOperationTypeFocus,
  DJIWaypointV2ActionActuatorCameraOperationTypeFocalLength
}
 
enum  DJIWaypointV2ActionActuatorAircraftControlOperationType : uint16_t {
  DJIWaypointV2ActionActuatorAircraftControlOperationTypeRotateYaw = 1,
  DJIWaypointV2ActionActuatorAircraftControlOperationTypeFlyingControl = 2,
  DJIWaypointV2ActionActuatorAircraftControlOperationTypeUnknown = 0xFF
}
 
enum  DJIWaypointV2MissionExecutionState : uint8_t {
  DJIWaypointV2MissionExecutionStateInitializing,
  DJIWaypointV2MissionExecutionStateGoToFirstWaypoint,
  DJIWaypointV2MissionExecutionStateMoving,
  DJIWaypointV2MissionExecutionStateInterrupted,
  DJIWaypointV2MissionExecutionStateFinished,
  DJIWaypointV2MissionExecutionStateGoHome,
  DJIWaypointV2MissionExecutionStateLanding,
  DJIWaypointV2MissionExecutionStateReturnToFirstWaypoint,
  DJIWaypointV2MissionExecutionStateUnknown = 0xFF
}
 
enum  DJIWaypointV2ActionExecutionEvent : uint8_t {
  DJIWaypointV2ActionExecutionEventBeginAction,
  DJIWaypointV2ActionExecutionEventFinishedAction,
  DJIWaypointV2ActionExecutionEventUnknown = 0xFF
}
 
enum  DJIWaypointV2FlightPathMode : uint8_t {
  DJIWaypointV2FlightPathModeGoToPointAlongACurve,
  DJIWaypointV2FlightPathModeGoToPointAlongACurveAndStop,
  DJIWaypointV2FlightPathModeGoToPointInAStraightLineAndStop,
  DJIWaypointV2FlightPathModeCoordinateTurn,
  DJIWaypointV2FlightPathModeGoToFirstPointAlongAStraightLine,
  DJIWaypointV2FlightPathModeStraightOut,
  DJIWaypointV2FlightPathModeUnknown = 0xFF
}
 
enum  DJIWaypointV2HeadingMode : uint8_t {
  DJIWaypointV2HeadingModeAuto,
  DJIWaypointV2HeadingFixed,
  DJIWaypointV2HeadingManual,
  DJIWaypointV2HeadingWaypointCustom,
  DJIWaypointV2HeadingTowardPointOfInterest,
  DJIWaypointV2HeadingGimbalYawFollow,
  DJIWaypointV2HeadingUnknown = 0xFF
}
 
enum  DJIWaypointV2TurnMode : uint8_t {
  DJIWaypointV2TurnModeClockwise,
  DJIWaypointV2TurnModeCounterClockwise,
  DJIWaypointV2TurnModeUnknown = 0xFF
}
 
enum  DJIWaypointV2MissionState {
  DJIWaypointV2MissionStateUnWaypointActionActuatorknown = -1,
  DJIWaypointV2MissionStateDisconnected = 0,
  DJIWaypointV2MissionStateReadyToExecute = 1,
  DJIWaypointV2MissionStateExecuting = 2,
  DJIWaypointV2MissionStateInterrupted = 3,
  DJIWaypointV2MissionStateResumeAfterInterrupted = 4,
  DJIWaypointV2MissionStateExitMission = 5,
  DJIWaypointV2MissionStateFinishedMission = 6
}
 
enum  OSDK_HARDWARE_TYPE {
  UNKNOWN_HARDWARE_TYPE = 0,
  ARMV7_HARDWARE_TYPE = 1,
  ARMV8_HARDWARE_TYPE = 2,
  x86_HARDWARE_TYPE = 3,
  STM32_HARDWARE_TYPE = 4
}
 
enum  OSDK_OPERATOR_TYPE {
  UNKNOWN_OPERATOR_TYPE = 0,
  LINUX_OPERATOR_TYPE = 1,
  RTOS_OPERATOR_TYPE = 2,
  ROS_OPERATOR_TYPE = 3
}
 
enum  DJI_CAMERA_TAKE_PHOTO_TYPE {
  DJI_CAMERA_TAKE_PHOTO_TYPE_STOP = 0,
  DJI_CAMERA_TAKE_PHOTO_TYPE_NORMAL = 1,
  DJI_CAMERA_TAKE_PHOTO_TYPE_HDR = 2,
  DJI_CAMERA_TAKE_PHOTO_TYPE_BOKEH = 3,
  DJI_CAMERA_TAKE_PHOTO_TYPE_BURST = 4,
  DJI_CAMERA_TAKE_PHOTO_TYPE_AEB = 5,
  DJI_CAMERA_TAKE_PHOTO_TYPE_TIME_LAPSE = 6,
  DJI_CAMERA_TAKE_PHOTO_TYPE_PANO_APP = 7,
  DJI_CAMERA_TAKE_PHOTO_TYPE_TRACKING = 8,
  DJI_CAMERA_TAKE_PHOTO_TYPE_RAW_BURST = 9,
  DJI_CAMERA_TAKE_PHOTO_TYPE_EHDR = 10
}
 
enum  DJI_CAMERA_TAKE_PHOTO_PROFILE {
  DJI_CAMERA_MODE_PROFILE_PHOTO_NORMAL = 5,
  DJI_CAMERA_MODE_PROFILE_PHOTO_INTERVAL = 8,
  DJI_CAMERA_MODE_PROFILE_PHOTO_REGIONAL_SR = 22
}
 
enum  DJI_CAMERA_ISO_PARAMETER {
  DJI_CAMERA_ISO_PARAMETER_AUTO = 0,
  DJI_CAMERA_ISO_PARAMETER_AUTO_HIGH_SENSE = 1,
  DJI_CAMERA_ISO_PARAMETER_50 = 2,
  DJI_CAMERA_ISO_PARAMETER_100 = 3,
  DJI_CAMERA_ISO_PARAMETER_200 = 4,
  DJI_CAMERA_ISO_PARAMETER_400 = 5,
  DJI_CAMERA_ISO_PARAMETER_800 = 6,
  DJI_CAMERA_ISO_PARAMETER_1600 = 7,
  DJI_CAMERA_ISO_PARAMETER_3200 = 8,
  DJI_CAMERA_ISO_PARAMETER_6400 = 9,
  DJI_CAMERA_ISO_PARAMETER_12800 = 10,
  DJI_CAMERA_ISO_PARAMETER_25600 = 11,
  DJI_CAMERA_ISO_PARAMETER_FIXED = 255
}
 
enum  DJI_CAMERA_RECORDING_TYPE {
  DJI_CAMERA_RECORDING_TYPE_COMMON = 0,
  DJI_CAMERA_RECORDING_TYPE_DELAY = 1,
  DJI_CAMERA_RECORDING_TYPE_SLOW_MOTION = 2,
  DJI_CAMERA_RECORDING_TYPE_QUICK_MOVIE = 3,
  DJI_CAMERA_RECORDING_TYPE_TIMELAPSE_STATIONARY = 4,
  DJI_CAMERA_RECORDING_TYPE_TIMELAPSE_MOTION = 5,
  DJI_CAMERA_RECORDING_TYPE_TIMELAPSE_HYPER = 6,
  DJI_CAMERA_RECORDING_TYPE_FAST_MOTION = 7,
  DJI_CAMERA_RECORDING_TYPE_EMERGENCY_VIDEO = 8,
  DJI_CAMERA_RECORDING_TYPE_HYPERLAPSE = 9,
  DJI_CAMERA_RECORDING_TYPE_MARK_VIDEO = 10
}
 
enum  DJI_CAMERA_RECORDING_CONTROL {
  DJI_CAMERA_RECORDING_CONTROL_STOP = 0,
  DJI_CAMERA_RECORDING_CONTROL_BEGIN = 1,
  DJI_CAMERA_RECORDING_CONTROL_PAUSE = 2,
  DJI_CAMERA_RECORDING_CONTROL_RESUME = 3
}
 
enum  PayloadIndexType {
  PAYLOAD_INDEX_0 = 0x00,
  PAYLOAD_INDEX_1 = 0x01,
  PAYLOAD_INDEX_2 = 0x02,
  PAYLOAD_INDEX_CNT = 0x03,
  PAYLOAD_INDEX_INVALID = 0x03
}
 The payload Index of camera.
 

Functions

bool replaceStr (string &str, const string oldReplaceStr, const string newReplaceStr)
 
void encodeSender (const uint8_t sender, uint8_t &deviceType, uint8_t &deviceIndex)
 

Variables

const std::pair< const uint32_t, const char * > commonData []
 
const std::pair< const uint32_t, const char * > activateData []
 
const std::pair< const uint32_t, const char * > subscribeData []
 
const std::pair< const uint32_t, const char * > setControlData []
 
const std::pair< const uint32_t, const char * > setArmData []
 
const std::pair< const uint32_t, const char * > taskData []
 
const std::pair< const uint32_t, const char * > LegacyTaskData []
 
const std::pair< const uint32_t, const char * > missionData []
 
const std::pair< const uint32_t, const char * > mfioData []
 
HMSErrCodeInfo hmsErrCodeInfoTbl [dbHMSErrNum]
 
const uint8_t MaxSmartBatteryNum = 2
 
const uint32_t dbHMSErrNum = 700
 
const float32_t EARTH_RADIUS = 6378137.0
 
char buffer []
 
const size_t SESSION_TABLE_NUM = 32
 
const size_t CALLBACK_LIST_NUM = 10
 
const size_t MAX_INCOMING_DATA_SIZE = 300
 
const size_t MAX_ACK_SIZE = 107
 
static const uint8_t CAMERA_PAIR_NUM = 5
 
static const uint8_t IMAGE_TYPE_NUM = 10
 
const uint8_t MAX_OSDK_VERSION_SIZE = 16
 
const uint8_t MAX_SEND_DATA_BURY_PKG_COUNT = 5
 
const Version::FirmWare mandatoryVersionBase = (Version::FW(3, 1, 10, 0))
 Define FW version that supports "mandatory" CMD_SET. More...
 
const Version::FirmWare extendedVersionBase = (Version::FW(3, 2, 36, 6))
 Define FW version that supports "extended" CMD_SET. More...
 
const Version::FirmWare versionBase33 = (Version::FW(3,3,0,0))
 Define FW version constant for 3.3.x firmware branch. More...
 

Detailed Description

Onboard SDK related commands

Typedef Documentation

◆ BatteryWholeInfo

The whole battery information push,include: 1.some raw battery data; 2.calculated data; 3.battery state

◆ BatteryWholeInfoImpl

The whole battery information push,include: 1.some raw battery data; 2.calculated data; 3.battery state

◆ CGPoint

Focus point parameter

◆ CommonCallBackHandler

The CallBackHandler struct allows users to encapsulate callbacks and data in one struct. This is a more common method.

◆ DispatchInfo

Dispatch info.

This struct has booleans that get populated in the protocol layer and help the dispatcher in the Vehicle layer decide what to do with the received packet.

◆ DJIBatteryClosedReasonImpl

◆ DJIBatteryFirmwareAbnormalImpl

◆ DJIGimbalRotation

◆ DJISmartBatteryHeatState

◆ DJISmartBatterySelfCheck

Smart battery self-checkout error flag

◆ DJISmartBatterySocWarning

◆ DJIWaypointV2Action

This class represents an action for DJIWaypointV2Mission. It determines how action is performed when a waypoint mission is executed.

◆ DJIWaypointV2Actuator

This class defines an actuator for DJIWaypointV2Action. It determines how the action is performed when a waypoint mission is executed.

◆ DJIWaypointV2AircraftControlFlyingParam

This class defines if the aircraft starts or stops the flight.

◆ DJIWaypointV2AircraftControlParam

This class defines the parameters for DJIWaypointV2Action_DJIWaypointV2Actuator. It determines how the aircraft control actuator will be performed when a waypoint mission is executed.

◆ DJIWaypointV2AircraftControlRotateHeadingParam

This class defines how the aircraft rotates on the yaw axis.

◆ DJIWaypointV2AssociateTriggerParam

This class defines DJIWaypointV2MissionV2_DJIWaypointV2ActionTriggerType_ActionAssociated.

◆ DJIWaypointV2CameraActuatorParam

This class defines the parameters for DJIWaypointV2Action_DJIWaypointV2Actuator. This determines how the camera will be performed when a waypoint mission is executing.

◆ DJIWaypointV2CameraFocalLengthParam

This class defines a camera focal length operation for DJIWaypointV2Action_DJIWaypointV2CameraActuatorParam.

◆ DJIWaypointV2CameraFocusParam

This class defines a camera focus operation for DJIWaypointV2Action_DJIWaypointV2CameraActuatorParam.

◆ DJIWaypointV2FlightPathMode

◆ DJIWaypointV2GimbalActuatorParam

This class defines the parameters for DJIWaypointV2Action_DJIWaypointV2Actuator. It determines how the gimbal actuator will be performed when a waypoint mission is executed.

◆ DJIWaypointV2HeadingMode

Represents current aircraft's heading mode on current waypoint.

◆ DJIWaypointV2IntervalTriggerParam

This class defines DJIWaypointV2MissionV2_DJIWaypointV2ActionTriggerType_Trajectory.

◆ DJIWaypointV2TrajectoryTriggerParam

This class represents a trajectory trigger action when should be trigger.

◆ DJIWaypointV2TurnMode

The direction when the aircraft changes its heading to adapt to the heading at the waypoint.

◆ DJIWholeBatteryState

The whole battery state

◆ DJIWholeBatteryStateImpl

◆ DownloadMissionAck

Download mission raw ack data

◆ DownloadMissionRsp

Download mission raw request data

◆ ErrList

the type of error code list in HMS's raw pushing data

◆ Eventdata

Mission's event data

◆ GetGlobalCruiseVelAck

Get the mission global cruise speed raw ack data

◆ getRemainRamAck

Get the remain memory ack data

◆ GetWaypontStartEndIndexAck

Get the mission's start and stop index ack data

◆ GlobalCruiseSpeed

typedef float32_t DJI::OSDK::GlobalCruiseSpeed

Global cruise speed of mission unit: m/s range:[0,WayPointV2InitSettings::maxFlightSpeed]

◆ HMSErrCodeInfo

the type of HMS's error code information

◆ HMSPushData

the type of HMS's raw pushing data

◆ HMSPushPacket

the type of HMS's pushing data with a time stamp

◆ HotPointSettings

HotPoint Mission Initialization settings.

This is one of the few structs in the OSDK codebase that is used in both a sending and a receiving API.

◆ MissionEventPushAck

Mission's event push ack data

◆ MissionStateCommanData

◆ MissionStatePushAck

Mission's state push ack data

◆ PushCallback

typedef E_OsdkStat(* DJI::OSDK::PushCallback) (struct _CommandHandle *cmdHandle, const T_CmdInfo *cmdInfo, const uint8_t *cmdData, void *userData)

callback type to get the pushing data from waypoint 2.0

Supported Platforms : M300

◆ RecvContainer

Received info.

This struct contains the ack or data struct return from the vehicle with sending info

◆ RelativePosition

waypoint position relative to WayPointV2InitSettings's reference point unit: m

◆ UploadActionsRawAck

Upload actions raw ack data

◆ UploadMissionRawAck

Upload mission raw ack data

◆ VehicleCallBack

typedef void(* DJI::OSDK::VehicleCallBack) (Vehicle *vehicle, RecvContainer recvFrame, UserData userData)

Function prototype for all callback functions used in the OSDK.

If you want to register a function as a callback funtion, make sure it matches this prototype.

◆ VehicleCallBackHandler

The CallBackHandler struct allows users to encapsulate callbacks and data in one struct.

◆ WayPointIncidentType

WayPoint Reached Data Incident Type enumerator.

Note
can be separated by the first bytes of data

◆ WayPointInitSettings

Waypoint Mission Initialization settings.

This is one of the few structs in the OSDK codebase that is used in both a sending and a receiving API.

◆ WayPointSettings

Waypoint settings for individual waypoints being added to the mission.

This is one of the few structs in the OSDK codebase that is used in both a sending and a receiving API.

◆ WaypointV2

The struct represents a target point in the waypoint mission. For a waypoint mission, a flight route consists of multiple WaypointV2 objects.

◆ WaypointV2Config

Represents current waypoint's speed config.

◆ WayPointV2InitSettings

Waypoint V2 Mission Initialization settings.

This is one of the few structs in the OSDK codebase that is used in both a sending and a receiving API.

◆ WaypointV2Internal

The struct represents a target point in the waypoint mission. For a waypoint mission, a flight route consists of multiple WaypointV2 objects.

Enumeration Type Documentation

◆ DJI_CAMERA_ISO_PARAMETER

Enumerator
DJI_CAMERA_ISO_PARAMETER_AUTO 

auto

DJI_CAMERA_ISO_PARAMETER_AUTO_HIGH_SENSE 

auto (high sense)

DJI_CAMERA_ISO_PARAMETER_50 

50

DJI_CAMERA_ISO_PARAMETER_100 

100

DJI_CAMERA_ISO_PARAMETER_200 

200

DJI_CAMERA_ISO_PARAMETER_400 

400

DJI_CAMERA_ISO_PARAMETER_800 

800

DJI_CAMERA_ISO_PARAMETER_1600 

1600

DJI_CAMERA_ISO_PARAMETER_3200 

3200

DJI_CAMERA_ISO_PARAMETER_6400 

6400

DJI_CAMERA_ISO_PARAMETER_12800 

12800

DJI_CAMERA_ISO_PARAMETER_25600 

25600

DJI_CAMERA_ISO_PARAMETER_FIXED 

fixed

◆ DJIBatteryClosedReasonImpl

Smart battery closed reason

Enumerator
DJI_BETTERY_CLOSED_OLD 

Discharge short circuit shutdown

DJI_BETTERY_CLOSED_OCD 

Discharge overload shutdown

DJI_BETTERY_CLOSED_UVD 

Discharge overcurrent shutdown

DJI_BETTERY_CLOSED_OTD 

Discharge undervoltage shutdown

DJI_BETTERY_CLOSED_SCC 

Discharge over temperature shutdown

DJI_BETTERY_CLOSED_OCC 

Charging short circuit shutdown

DJI_BETTERY_CLOSED_OVC 

Charge overcurrent shutdown

DJI_BETTERY_CLOSED_OVCER 

Charge overvoltage shutdown

DJI_BETTERY_CLOSED_LTC 

Charger overvoltage shutdown

DJI_BETTERY_CLOSED_HTC 

Charging low temperature shutdown

◆ DJIBatteryFirmwareAbnormalImpl

Abnormal battery firmware status

◆ DJISmartBatteryHeatState

Smart battery heating status

◆ DJISmartBatterySelfCheck

Smart battery self-checkout error flag

◆ DJISmartBatterySocWarning

Smart battery abnormal warning

◆ DJISmartBatterySohState

Smart battery cycle count status

◆ DJIWaypointV2ActionActuatorAircraftControlOperationType

Possible types of aircraft control actuator operation.

Enumerator
DJIWaypointV2ActionActuatorAircraftControlOperationTypeRotateYaw 

Rotates the aircraft's yaw.

DJIWaypointV2ActionActuatorAircraftControlOperationTypeFlyingControl 

Keeps the aircraft stop flying or start flying.

DJIWaypointV2ActionActuatorAircraftControlOperationTypeUnknown 

Unknown

◆ DJIWaypointV2ActionActuatorCameraOperationType

Possible types of camera actuator operation.

Enumerator
DJIWaypointV2ActionActuatorCameraOperationTypeTakePhoto 

Starts to shoot a photo.

DJIWaypointV2ActionActuatorCameraOperationTypeStartRecordVideo 

Starts to record a video.

DJIWaypointV2ActionActuatorCameraOperationTypeStopRecordVideo 

Stops to record a video.

DJIWaypointV2ActionActuatorCameraOperationTypeFocus 

Starts focus.

DJIWaypointV2ActionActuatorCameraOperationTypeFocalLength 

Starts focal lenth. Only support those support flocal lenth cameras.

◆ DJIWaypointV2ActionActuatorGimbalOperationType

The type of gimbal actuator operation.

Enumerator
DJIWaypointV2ActionActuatorGimbalOperationTypeRotateGimbal 

Rotates the gimbal. Only valid when the trigger type is DJIWaypointV2MissionV2_DJIWaypointV2TriggerAssociatedTimingType_ReachPoint.

DJIWaypointV2ActionActuatorGimbalOperationTypeUnknown 

Rotates the gimbal. Only valid when the trigger type is DJIWaypointV2MissionV2_DJIWaypointV2TriggerAssociatedTimingType_Trajectory.Unknown

◆ DJIWaypointV2ActionActuatorType

Possible types of action actuator.

Enumerator
DJIWaypointV2ActionActuatorTypeCamera 

The action will be executed by the camera. The parameters should be defined by DJIWaypointV2Action_DJIWaypointV2CameraActuatorParam.

DJIWaypointV2ActionActuatorTypeGimbal 

The action will be executed by the gimbal. The parameters should be defined by DJIWaypointV2Action_DJIWaypointV2GimbalActuatorParam.

DJIWaypointV2ActionActuatorTypeAircraftControl 

The action will executes by control aircraft. The parameters should be setting by DJIWaypointV2Action_DJIWaypointV2CameraActuatorParam.

DJIWaypointV2ActionActuatorTypeUnknown 

Unknown actuator type.

◆ DJIWaypointV2ActionExecutionEvent

Current waypoint mission action executing event.

Enumerator
DJIWaypointV2ActionExecutionEventBeginAction 

Action begin execute event.

DJIWaypointV2ActionExecutionEventFinishedAction 

Action finished execute event.

DJIWaypointV2ActionExecutionEventUnknown 

Unknown action event.

◆ DJIWaypointV2ActionIntervalType

The type of DJIWaypointV2Action_DJIWaypointV2IntervalTriggerParam, Determines the interval type of how action repeats.

Enumerator
DJIWaypointV2ActionIntervalTypeTime 

The action will be repeated after a particular period of time.

DJIWaypointV2ActionIntervalTypeDistance 

The action will be repeated after a particular distance.

DJIWaypointV2ActionIntervalTypeUnknown 

Unknown action trigger type.

◆ DJIWaypointV2ActionTriggerType

Possible types of action trigger.

Enumerator
DJIWaypointV2ActionTriggerTypeActionAssociated 

The action will be triggered when action associated executes. The parameters should be defined by DJIWaypointV2Action_DJIWaypointV2AssociateTriggerParam.

DJIWaypointV2ActionTriggerTypeTrajectory 

The action will be triggered when the aircraft flies from one waypoint to the next. The parameters should be defined by DJIWaypointV2Action_DJIWaypointV2TrajectoryTriggerParam.

DJIWaypointV2ActionTriggerTypeInterval 

The action will be triggered when the aircraft flies between two waypoints The parameters should be defined by DJIWaypointV2Action_DJIWaypointV2IntervalTriggerParam.

DJIWaypointV2ActionTriggerTypeSampleReachPoint 

The action will be trigger when the aircraft reach the waypoint point. The parameters should be setting by DJIWaypointV2SampleReachPointTriggerParam.

DJIWaypointV2ActionTriggerTypeUnknown 

Unknown

◆ DJIWaypointV2FlightPathMode

Waypoint flight path mode.

Enumerator
DJIWaypointV2FlightPathModeGoToPointAlongACurve 

In the mission, the aircraft will go to the waypoint along a curve and fly past the waypoint.

DJIWaypointV2FlightPathModeGoToPointAlongACurveAndStop 

In the mission, the aircraft will go to the waypoint along a curve and stop at the waypoint.

DJIWaypointV2FlightPathModeGoToPointInAStraightLineAndStop 

In the mission, the aircraft will go to the waypoint along a straight line and stop at the waypoint.

DJIWaypointV2FlightPathModeCoordinateTurn 

In the mission, the aircraft will fly from the previous waypoint to the next waypoint along a smooth curve without stopping at this waypoint. the next in a curved motion, adhering to the DJIWaypointV2_dampingDistance, which is set in DJIWaypointV2.

DJIWaypointV2FlightPathModeGoToFirstPointAlongAStraightLine 

In the mission, the aircraft will go to the first waypoint along a straight line. This is only valid for the first waypoint.

DJIWaypointV2FlightPathModeStraightOut 

Straight exit the Last waypoint, Only valid for last waypoint.

DJIWaypointV2FlightPathModeUnknown 

Unknown

◆ DJIWaypointV2HeadingMode

Represents current aircraft's heading mode on current waypoint.

Enumerator
DJIWaypointV2HeadingModeAuto 

Aircraft's heading will always be in the direction of flight.

DJIWaypointV2HeadingFixed 

Aircraft's heading will be set to the heading when reaching the first waypoint. Before reaching the first waypoint, the aircraft's heading can be controlled by the remote controller. When the aircraft reaches the first waypoint, its heading will be fixed.

DJIWaypointV2HeadingManual 

The aircraft's heading in the mission can be controlled by the remote controller.

DJIWaypointV2HeadingWaypointCustom 

In the mission, the aircraft's heading will change dynamically and adapt to the heading set at the next waypoint. See DJIWaypointV2_heading to preset the heading.

DJIWaypointV2HeadingTowardPointOfInterest 

Aircraft's heading will always toward point of interest. using DJIWaypointV2_pointOfInterest setting point of interest coordiate and DJIWaypointV2_pointOfInterestAltitude setting point of interset altitute.

DJIWaypointV2HeadingGimbalYawFollow 

The aircraft's heading rotate simultaneously with its gimbal's yaw.

DJIWaypointV2HeadingUnknown 

Unknown.

◆ DJIWaypointV2MissionExecutionState

Current waypoint mission executing state.

Enumerator
DJIWaypointV2MissionExecutionStateInitializing 

Waypoint mission is initializing, which means the mission has started.

DJIWaypointV2MissionExecutionStateGoToFirstWaypoint 

Aircraft is currently is going to the first waypoint.

DJIWaypointV2MissionExecutionStateMoving 

Aircraft is currently moving.

DJIWaypointV2MissionExecutionStateInterrupted 

Aircraft is currently interrupted by user.

DJIWaypointV2MissionExecutionStateFinished 

The aircraft finishes the waypoint mission and is leaving from the last waypoint.

DJIWaypointV2MissionExecutionStateGoHome 

The aircraft is going back to the home point. This happens when the DJIMutableWaypointV2Mission_finishedAction is set to DJIWaypointV2MissionV2_DJIWaypointV2MissionFinishedAction_GoHome.

DJIWaypointV2MissionExecutionStateLanding 

The aircraft is landing. This happens when the DJIMutableWaypointV2Mission_finishedAction is set to DJIWaypointV2MissionV2_DJIWaypointV2MissionFinishedAction_AutoLanding.

DJIWaypointV2MissionExecutionStateReturnToFirstWaypoint 

Aircraft start to fly back to the first waypoint. This happens when the DJIMutableWaypointV2Mission_finishedAction is set to DJIWaypointV2MissionV2_DJIWaypointV2MissionFinishedAction_GoToFirstWaypoint.

DJIWaypointV2MissionExecutionStateUnknown 

Unknown execution state.

◆ DJIWaypointV2MissionFinishedAction

Actions will be taken when the waypoint mission is finished.

Enumerator
DJIWaypointV2MissionFinishedNoAction 

No further action will be taken. The aircraft can be controlled by the remote controller.

DJIWaypointV2MissionFinishedGoHome 

Goes home when the mission is finished. The aircraft will land directly if it is within 20 meters away from the home point.

DJIWaypointV2MissionFinishedAutoLanding 

The aircraft will land automatically at the last waypoint.

DJIWaypointV2MissionFinishedGoToFirstWaypoint 

The aircraft will go back to the first waypoint and hover.

DJIWaypointV2MissionFinishedContinueUntilStop 

When the aircraft reaches its final waypoint, it will hover without ending the mission. The joystick can still be used to pull the aircraft back along its previous waypoints. The only way this mission can end is if stopMission is called.

◆ DJIWaypointV2MissionGotoFirstWaypointMode

Possible flight mode to executes the mission.

Enumerator
DJIWaypointV2MissionGotoFirstWaypointModeSafely 

Go to the waypoint safely. The aircraft will rise to the same altitude of the waypoint if the current altitude is lower then the waypoint altitude. It then goes to the waypoint coordinate from the current altitude, and proceeds to the altitude of the waypoint.

DJIWaypointV2MissionGotoFirstWaypointModePointToPoint 

Go to the waypoint from the current aircraft point to the waypoint directly.

◆ DJIWaypointV2MissionState

All the possible state of WaypointV2MissionOperator.

Enumerator
DJIWaypointV2MissionStateUnWaypointActionActuatorknown 

The state of the operator is unknown. It is the initial state when the operator is just created.

DJIWaypointV2MissionStateDisconnected 

The connection OSDK device, remote controller and aircraft is broken.

DJIWaypointV2MissionStateReadyToExecute 

Raed to execute the mission.

DJIWaypointV2MissionStateExecuting 

The execution is started successfully.

DJIWaypointV2MissionStateInterrupted 

Waypoint mission is paused successfully.

DJIWaypointV2MissionStateResumeAfterInterrupted 

Waypoint mission is restarted after interrupted.

DJIWaypointV2MissionStateExitMission 

Waypoint mission is exited.

DJIWaypointV2MissionStateFinishedMission 

Waypoint mission is finished.

◆ DJIWaypointV2MissionV2RCLostAction

The action of waypoint mission that will be executed when the remote controller signal lost.

Enumerator
DJIWaypointV2MissionV2RCLostActionStopMission 

Stops current mission when the remote controller signal is lost.

DJIWaypointV2MissionV2RCLostActionContinue 

Continues the mission when the remote controller signal is lost.

◆ DJIWaypointV2TriggerAssociatedTimingType

The type of DJIWaypointV2Action_DJIWaypointV2AssociateTriggerParam, Determines the time to execute the trigger associated with another one.

Enumerator
DJIWaypointV2TriggerAssociatedTimingTypeSimultaneously 

The trigger starts simultaneously with the trigger that is associated.

DJIWaypointV2TriggerAssociatedTimingTypeAfterFinised 

The trigger starts after the trigger associated has finished.

DJIWaypointV2TriggerAssociatedTimingTypeUnknown 

Unkown timing type.

◆ DJIWaypointV2TurnMode

The direction when the aircraft changes its heading to adapt to the heading at the waypoint.

Enumerator
DJIWaypointV2TurnModeClockwise 

The aircraft's heading rotates clockwise.

DJIWaypointV2TurnModeCounterClockwise 

The aircraft's heading rotates counterclockwise.

DJIWaypointV2TurnModeUnknown 

Changes the heading of the aircraft by rotating the aircraft anti-clockwise.

◆ WaypointActionTypeFormat

Enumerator
WP_ACTION_STAY 

no action.uint of action parameter:ms

WP_ACTION_SIMPLE_SHOT 

take picture action.action parameters Action parameter have no effect.limit time:6s

WP_ACTION_VIDEO_START 

start take video action.action parameters Action parameter have no effect.limit time:6s

WP_ACTION_VIDEO_STOP 

stop video action.action parameters Action parameter have no effect.limit time:6s

WP_ACTION_CRAFT_YAW 

craft control yaw action.uint of action parameter:degree. range:-180 ~ 180

WP_ACTION_GIMBAL_PITCH 

gimbal control pitch action.uint of action parameter:degree. range:-90 ~ 0

◆ WayPointIncidentType

WayPoint Reached Data Incident Type enumerator.

Note
can be separated by the first bytes of data

Variable Documentation

◆ activateData

const std::pair<const uint32_t, const char*> DJI::OSDK::activateData[]
Initial value:
= {
std::make_pair(OpenProtocolCMD::ErrorCode::ActivationACK::SUCCESS,
(const char*)"ACTIVATE_SUCCESS\n"),
std::make_pair(OpenProtocolCMD::ErrorCode::ActivationACK::ACCESS_LEVEL_ERROR,
(const char*)"ACCESS_LEVEL_ERROR\n"),
std::make_pair(
OpenProtocolCMD::ErrorCode::ActivationACK::DJIGO_APP_NOT_CONNECTED,
(const char*)"DJIGO_APP_NOT_CONNECTED_ERROR\n"),
std::make_pair(OpenProtocolCMD::ErrorCode::ActivationACK::ENCODE_ERROR,
(const char*)"ENCODE_ERROR\n"),
std::make_pair(OpenProtocolCMD::ErrorCode::ActivationACK::NETWORK_ERROR,
(const char*)"NETWORK_ERROR\n"),
std::make_pair(OpenProtocolCMD::ErrorCode::ActivationACK::NEW_DEVICE_ERROR,
(const char*)"NEW_DEVICE_ERROR\n"),
std::make_pair(OpenProtocolCMD::ErrorCode::ActivationACK::OSDK_VERSION_ERROR,
(const char*)"OSDK_VERSION_ERROR\n"),
std::make_pair(OpenProtocolCMD::ErrorCode::ActivationACK::PARAMETER_ERROR,
(const char*)"PARAMETER_ERROR\n"),
std::make_pair(
OpenProtocolCMD::ErrorCode::ActivationACK::SERVER_ACCESS_REFUSED,
(const char*)"SERVER_ACCESS_REFUSED\n")
}

◆ CAMERA_PAIR_NUM

const uint8_t DJI::OSDK::CAMERA_PAIR_NUM = 5
static
Note
some constants for stereo camera

◆ dbHMSErrNum

const uint32_t DJI::OSDK::dbHMSErrNum = 700

the length of HMS's error code table

◆ extendedVersionBase

const Version::FirmWare DJI::OSDK::extendedVersionBase = (Version::FW(3, 2, 36, 6))

Define FW version that supports "extended" CMD_SET.

Limited products support predefined CMD_SET list

Supported products: M210, A3, N3

◆ hmsErrCodeInfoTbl

HMSErrCodeInfo DJI::OSDK::hmsErrCodeInfoTbl

HMS's error code table

◆ LegacyTaskData

const std::pair<const uint32_t, const char*> DJI::OSDK::LegacyTaskData[]
Initial value:
= {
std::make_pair(OpenProtocolCMD::ErrorCode::ControlACK::LegacyTask::SUCCESS,
(const char*)"CONTROLLER_SUCCESS\n"),
std::make_pair(OpenProtocolCMD::ErrorCode::ControlACK::LegacyTask::FAIL,
(const char*)"CONTROLLER_FAIL\n")
}

◆ mandatoryVersionBase

const Version::FirmWare DJI::OSDK::mandatoryVersionBase = (Version::FW(3, 1, 10, 0))

Define FW version that supports "mandatory" CMD_SET.

All supported products implement predefined CMD_SET list

Supported products: M100, M210, M600, A3, N3

◆ MAX_INCOMING_DATA_SIZE

const size_t DJI::OSDK::MAX_INCOMING_DATA_SIZE = 300
Note
size is in Bytes

◆ mfioData

const std::pair<const uint32_t, const char*> DJI::OSDK::mfioData[]
Initial value:
= {
std::make_pair(OpenProtocolCMD::ErrorCode::MFIOACK::init::PORT_DATA_ERROR,
(const char*)"MFIO_INIT_PORT_DATA_ERROR\n"),
std::make_pair(OpenProtocolCMD::ErrorCode::MFIOACK::init::PORT_MODE_ERROR,
(const char*)"MFIO_INIT_PORT_MODE_ERROR\n"),
std::make_pair(OpenProtocolCMD::ErrorCode::MFIOACK::init::PORT_NUMBER_ERROR,
(const char*)"MFIO_INIT_PORT_NUMBER_ERROR\n"),
std::make_pair(OpenProtocolCMD::ErrorCode::MFIOACK::init::SUCCESS,
(const char*)"MFIO_INIT_SUCCESS\n"),
std::make_pair(OpenProtocolCMD::ErrorCode::MFIOACK::init::UNKNOWN_ERROR,
(const char*)"RC_NEED_MODE_F\n"),
std::make_pair(OpenProtocolCMD::ErrorCode::MFIOACK::set::CHANNEL_ERROR,
(const char*)"MFIO_SET_CHANNEL_ERROR\n"),
std::make_pair(
OpenProtocolCMD::ErrorCode::MFIOACK::set::PORT_NOT_MAPPED_ERROR,
(const char*)"MFIO_SET_PORT_NOT_MAPPED_ERROR\n"),
std::make_pair(OpenProtocolCMD::ErrorCode::MFIOACK::set::SUCCESS,
(const char*)"MFIO_SET_SUCCESS\n")
}

◆ setArmData

const std::pair<const uint32_t, const char*> DJI::OSDK::setArmData[]
Initial value:
= {
std::make_pair(OpenProtocolCMD::ErrorCode::ControlACK::SetArm::SUCCESS,
(const char*)"SET_ARM_SUCCESS\n"),
std::make_pair(
OpenProtocolCMD::ErrorCode::ControlACK::SetArm::AIRCRAFT_IN_AIR_ERROR,
(const char*)"SET_ARM_AIRCRAFT_IN_AIR_ERROR\n"),
std::make_pair(
OpenProtocolCMD::ErrorCode::ControlACK::SetArm::ALREADY_ARMED_ERROR,
(const char*)"SET_ARM_ALREADY_ARMED_ERROR\n"),
std::make_pair(
OpenProtocolCMD::ErrorCode::ControlACK::SetArm::OBTAIN_CONTROL_NEEDED_ERROR,
(const char*)"SET_ARM_OBTAIN_CONTROL_NEEDED_ERROR\n")
}

◆ setControlData

const std::pair<const uint32_t, const char*> DJI::OSDK::setControlData[]
Initial value:
= {
std::make_pair(OpenProtocolCMD::ErrorCode::ControlACK::SetControl::
IOC_OBTAIN_CONTROL_ERROR,
(const char*)"IOC_OBTAIN_CONTROL_ERROR\n"),
std::make_pair(OpenProtocolCMD::ErrorCode::ControlACK::SetControl::
OBTAIN_CONTROL_IN_PROGRESS,
(const char*)"OBTAIN_CONTROL_IN_PROGRESS\n"),
std::make_pair(
OpenProtocolCMD::ErrorCode::ControlACK::SetControl::OBTAIN_CONTROL_SUCCESS,
(const char*)"OBTAIN_CONTROL_SUCCESS\n"),
std::make_pair(
OpenProtocolCMD::ErrorCode::ControlACK::SetControl::RC_MODE_ERROR,
(const char*)"RC_MODE_ERROR\n"),
std::make_pair(
OpenProtocolCMD::ErrorCode::ControlACK::SetControl::RC_NEED_MODE_F,
(const char*)"RC_NEED_MODE_F\n"),
std::make_pair(
OpenProtocolCMD::ErrorCode::ControlACK::SetControl::RC_NEED_MODE_P,
(const char*)"RC_NEED_MODE_P\n"),
std::make_pair(OpenProtocolCMD::ErrorCode::ControlACK::SetControl::
RELEASE_CONTROL_IN_PROGRESS,
(const char*)"RELEASE_CONTROL_IN_PROGRESS\n"),
std::make_pair(
OpenProtocolCMD::ErrorCode::ControlACK::SetControl::RELEASE_CONTROL_SUCCESS,
(const char*)"RELEASE_CONTROL_SUCCESS\n")
}

◆ versionBase33

const Version::FirmWare DJI::OSDK::versionBase33 = (Version::FW(3,3,0,0))

Define FW version constant for 3.3.x firmware branch.

Only the A3 and the N3 support the 3.3.x firmware branch.

Note
Not to be confused with the OSDK version 3.3.x; firmware versions follow a different numbering and cadence.