DJI Mobile SDK 4.15 to 4.15.1 Differences


API changes

4.15 Parent and Name4.15 Code4.15.1 Parent and Name4.15.1 CodeParentNameTypeParamReturn
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_INTERRUPT_REASON_AVOID_HEIGHT_LIMIT = new DJIWaypointV2Error("Waypoint mission was interrupted due to height limit", -15)dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_INTERRUPT_REASON_AVOID_HEIGHT_LIMIT = new DJIWaypointV2Error("Waypoint mission was interrupted due to height limit.", -15)
X
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_COUNT_OVER_RANGE = new DJIWaypointV2Error("The mission waypoint count is larger than max waypoint count of 65535..", -2001)dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_COUNT_OVER_RANGE = new DJIWaypointV2Error("The mission waypoint count is larger than max waypoint count of 65535.", -2001)
X
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_ALREADY_INTERRUPTED = new DJIWaypointV2Error("The mission already was interrupted.", -4012)dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_ALREADY_INTERRUPTED = new DJIWaypointV2Error("The mission is already interrupted.", -4012)
X
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_INTERRUPT_REASON_AVOID_RADIUS_LIMIT = new DJIWaypointV2Error("Waypoint mission was interrupted due to reaching radius limit", -14)dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_INTERRUPT_REASON_AVOID_RADIUS_LIMIT = new DJIWaypointV2Error("Waypoint mission was interrupted due to reaching radius limit.", -14)
X
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_MAX_FLIGHT_SPEED_INVALID = new DJIWaypointV2Error("The mission max flight speed greaterthan 15m/s or less than 2m/s.", -2004)dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_MAX_FLIGHT_SPEED_INVALID = new DJIWaypointV2Error("The mission max flight speed is greater than 15m/s or less than 2m/s.", -2004)
X
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_INTERRUPT_REASON_AVOID_USER_REQ_BREAK = new DJIWaypointV2Error("Waypoint mission was interrupted due to interrupted by user", -17)dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_INTERRUPT_REASON_AVOID_USER_REQ_BREAK = new DJIWaypointV2Error("Waypoint mission was interrupted due to interrupted by user.", -17)
X
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error AIRCRAFT_FLYING_STATUS_ERROR = new DJIWaypointV2Error("The aircraft flying stauts bad.", -5001)dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error AIRCRAFT_FLYING_STATUS_ERROR = new DJIWaypointV2Error("The aircraft flying status is bad.", -5001)
X
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_MAX_FLIGHT_SPEED_OVER_MISSION_MAX_FLIGHT_SPEED = new DJIWaypointV2Error("The upload waypoints have onewaypoint max flight speed greaterthan mission max flight speed.", -2016)dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_MAX_FLIGHT_SPEED_OVER_MISSION_MAX_FLIGHT_SPEED = new DJIWaypointV2Error("There is one uploaded waypoint has speed which is greater than mission's max speed.", -2016)
X

APIs removed from 4.15

Parent and NameCode
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error ACTUATOR_AND_TRIGGER_DO_NOT_MATCH = new DJIWaypointV2Error("The action actuator and the trigger type do not match.", -12)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error UNKNOWN = new DJIWaypointV2Error("UnKnown", 10010)
dji.common.mission.waypointv2.Action.InterruptRecoverActionType.GoBackToCurrentProjectionPoint GoBackToCurrentProjectionPoint(1)
dji.common.mission.waypointv2.Action.InterruptRecoverActionType.GoBackToNextProjectionPoint GoBackToNextProjectionPoint(2)
dji.common.mission.waypointv2.Action.InterruptRecoverActionType.GoBackToNextNextProjectionPoint GoBackToNextNextProjectionPoint(3)
dji.common.mission.waypointv2.WaypointV2HeadingMode.GIMBAL_YAW_FOLLOW GIMBAL_YAW_FOLLOW(5)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_INTERRUPT_REASON_AVOID_RTK_UNHEALTHY = new DJIWaypointV2Error("Waypoint mission was interrupted due to weak RTK signal", -16)

APIs added to 4.15.1

Parent and NameCode
dji.sdk.media.MediaFile.NewFileInfoCallbackinterface NewFileInfoCallback
dji.sdk.media.MediaFile.NewFileInfoCallback.onNewFileInfo void onNewFileInfo(@NonNull MediaFileInfo mediaFileInfo)
dji.sdk.camera.Camera.setNewGeneratedMediaFileInfoCallbackvoid setNewGeneratedMediaFileInfoCallback(@Nullable MediaFile.NewFileInfoCallback callback)
dji.mop.common.PipelineErrorclass PipelineError extends DJIError
dji.mop.common.PipelineError.BUSY_OPERATIONstatic final PipelineError BUSY_OPERATION = new PipelineError("DJIPipelineError: Busy now, please try again later.", -10009)
dji.mop.common.PipelineError.CRC_CHECK_FAILEDstatic final PipelineError CRC_CHECK_FAILED = new PipelineError("DJIPipelineError: CRC check failed.", -10002)
dji.mop.common.PipelineError.CLOSEDstatic final PipelineError CLOSED = new PipelineError("DJIPipelineError: Connection closed, no need to call again.", -10011)
dji.mop.common.PipelineError.CLOSINGstatic final PipelineError CLOSING = new PipelineError("DJIPipelineError: Connection closing, no need to call again.", -10014)
dji.mop.common.PipelineError.CONNECTINGstatic final PipelineError CONNECTING = new PipelineError("DJIPipelineError: Connecting, no need to call again.", -10012)
dji.mop.common.PipelineError.CONNECTION_REFUSEDstatic final PipelineError CONNECTION_REFUSED = new PipelineError("DJIPipelineError: The target device refuses to connect.", -10017)
dji.mop.common.PipelineError.ID_OCCUPIEDstatic final PipelineError ID_OCCUPIED = new PipelineError("DJIPipelineError: Duplicated binding is not allowed. Please try to bind with a new ID.", -10018)
dji.mop.common.PipelineError.INTERNAL_STATUS_ERRORstatic final PipelineError INTERNAL_STATUS_ERROR = new PipelineError("DJIPipelineError: Internal status error. Please recreate the Pipeline object.", -10019)
dji.mop.common.PipelineError.INVALID_PARAMETERSstatic final PipelineError INVALID_PARAMETERS = new PipelineError("DJIPipelineError: Invalid Parameters.", -10003)
dji.mop.common.PipelineError.LINK_BREAKstatic final PipelineError LINK_BREAK = new PipelineError("DJIPipelineError: Link broken, please check the connection with the aircraft.", -10016)
dji.mop.common.PipelineError.NOT_CONNECTEDstatic final PipelineError NOT_CONNECTED = new PipelineError("DJIPipelineError: Connection has not established.", -10015)
dji.mop.common.PipelineError.NOT_ENOUGH_MEMORYstatic final PipelineError NOT_ENOUGH_MEMORY = new PipelineError("DJIPipelineError: Not enough memory.", -10004)
dji.mop.common.PipelineError.NOT_READYstatic final PipelineError NOT_READY = new PipelineError("DJIPipelineError: Usually occurs when allocating the local pipeline ID.", -10005)
dji.mop.common.PipelineError.RECEIVE_FAILEDstatic final PipelineError RECEIVE_FAILED = new PipelineError("DJIPipelineError: Receiving data exceptions.", -10007)
dji.mop.common.PipelineError.RESOURCES_NOT_AVAILABLEstatic final PipelineError RESOURCES_NOT_AVAILABLE = new PipelineError("DJIPipelineError: Local resources are ineffective and unavailable. Please recreate.", -10013)
dji.mop.common.PipelineError.SEND_FAILEDstatic final PipelineError SEND_FAILED = new PipelineError("DJIPipelineError: Send data exception.", -10006)
dji.mop.common.PipelineError.TIMEOUTstatic final PipelineError TIMEOUT = new PipelineError("DJIPipelineError: Timeout error.", -10008)
dji.mop.common.PipelineError.UNACCEPTABLE_OPERATIONSstatic final PipelineError UNACCEPTABLE_OPERATIONS = new PipelineError("DJIPipelineError: TResource occupied, please select another ID connection.", -10010)
dji.mop.common.PipelineError.UNKNOWNstatic final PipelineError UNKNOWN = new PipelineError("DJIPipelineError: Unknown.", -10001)
dji.mop.common.PipelineError.getDJIErrorstatic PipelineError getDJIError(int code)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error ACTION_ACTUATOR_PAYLOAD_FAIL_TO_SEND_CMD_TO_PAYLOAD = new DJIWaypointV2Error("Uploaded payload actuator is invalid.", -13001)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_CONTROL_INTERRUPT_RECOVER_INVALID = new DJIWaypointV2Error("Invalid interrupt recover operation.", -4004)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_CONTROL_MISSION_ALREADY_PAUSED = new DJIWaypointV2Error("The mission is already paused.", -4009)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_CONTROL_NO_RUNNING_MISSION_FOR_RESUME = new DJIWaypointV2Error("The mission cannot resume because it is not running.", -4010)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_CONTROL_NOT_SUPPORT_INTERRUPT_RESUME = new DJIWaypointV2Error("The mission cannot be interrupted or recovered now.", -4014)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_CONTROL_NOT_SUPPORT_PAUSE_RESUME = new DJIWaypointV2Error("The mission cannot be paused or resumed now.", -4013)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_CONTROL_PAUSE_RESUME_INVALID = new DJIWaypointV2Error("Invalid pause resume operation.", -4003)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_CONTROL_START_STOP_INVALID = new DJIWaypointV2Error("The aircraft start waypoint is too far away from the stop waypoint.", -4002)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_END_INDEX_INVALID = new DJIWaypointV2Error("Last waypoint index is invalid.", -2003)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_ACTION_TRIGGER_NOT_MATCH_ACTUATOR = new DJIWaypointV2Error("The action actuator and the trigger type do not match.", -12)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_CHECK_PHOTO_STORAGE_PACK_ERROR = new DJIWaypointV2Error("Check photo storage pack error.", -10)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_COMMAND_CANNOT_EXECUTE = new DJIWaypointV2Error("Command cannot execute.", -1)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_COMMAND_EXECUTION_FAILED = new DJIWaypointV2Error("Command execution failed.", -2)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_COMMON_TIMEOUT = new DJIWaypointV2Error("Common timeout.", -4)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_INDEX_INVALID = new DJIWaypointV2Error("Invalid waypoint index, please check your waypoint index with waypoint count.", -2011)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_INTERRUPT_REASON_AVOID_RTK_UNHEALTHY = new DJIWaypointV2Error("Waypoint mission was interrupted due to weak RTK signal.", -16)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_INVALID_INPUT_DATA_FC_LENGTH = new DJIWaypointV2Error("Data transmission does not match protocols.", -1001)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_INVALID_INPUT_DATA_FLOAT_NUMBER = new DJIWaypointV2Error(" Invalid floating number.", -1002)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_INVALID_PARAMETERS = new DJIWaypointV2Error("Invalid parameters.", -3)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_OPERATION_CANCEL_BY_USER = new DJIWaypointV2Error("Operation cancel by user.", -7)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_PRODUCT_CONNECT_FAILED = new DJIWaypointV2Error("Product connection failed.", -5)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_SDR_LINK_RESERVE_FAILED_CAUSE_MOTOR_ON = new DJIWaypointV2Error("SDR link reserve failed because motor is on.", -11)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_SDR_RESERVE_FAILED = new DJIWaypointV2Error("SDR reserve failed.", -9)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_START_INDEX_NOT_IN_END_OF_LAST_UPLOAD = new DJIWaypointV2Error("The upload waypoint start index isn't in the given range.", -2013)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_SYSTEM_BUSY = new DJIWaypointV2Error("System busy.", -6)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_TRAJECTORY_REPLAY_GIMBAL_ATTI_ERROR = new DJIWaypointV2Error(" The trajectory replay's gimbal attitude has error.", -102)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_TRAJECTORY_REPLAY_INVALID_LOCATION = new DJIWaypointV2Error("The trajectory replay's location is invalid.", -100)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_TRAJECTORY_REPLAY_NO_WAYPOINT_TO_REMOVE = new DJIWaypointV2Error("The trajectory replay has no waypoint to remove.", -101)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error MISSION_WAYPOINT_UPLOAD_MEDIA_FILE_FAILED = new DJIWaypointV2Error("Upload media file failed.", -8)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error RECOVER_NO_CURRENT_PROJECTION_POINT = new DJIWaypointV2Error("No recorded waypoint for recovery currently.", -4016)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error RECOVER_NO_NEXT_PROJECTION_POINT = new DJIWaypointV2Error("No recorded waypoint for next waypoint recovery.", -4017)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error UPLOAD_ACTION_ACTUATOR_SPRAY_EXTERNAL_SPRAY_MODE_INVALID = new DJIWaypointV2Error("Uploaded spray actuator is invalid.", -10001)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error UPLOAD_ACTION_ACTUATOR_SPRAY_FLOW_SPEED_INVALID = new DJIWaypointV2Error("Uploaded spray actuator is invalid.", -10002)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error UPLOAD_ACTION_ACTUATOR_SPRAY_FLOW_SPEED_PRE_MU_INVALID = new DJIWaypointV2Error("Uploaded spray actuator is invalid.", -10003)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error UPLOAD_ACTION_TRIGGER_REACH_AUTO_TERMINATE_INVALID = new DJIWaypointV2Error("Uploaded reach trigger invalid.", -8004)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error UPLOAD_ACTION_TRIGGER_REACH_END_INDEX_LESS_START_INDEX = new DJIWaypointV2Error("Uploaded reach trigger invalid.", -8002)
dji.common.error.DJIWaypointV2Error.DJIWaypointV2Errorstatic DJIWaypointV2Error UPLOAD_ACTION_TRIGGER_REACH_INTERVAL_COUNT_INVALID = new DJIWaypointV2Error("Uploaded reach trigger invalid.", -8003)
dji.sdk.sdkmanager.LDMModuleType.FIRMWARE_UPGRADE FIRMWARE_UPGRADE
dji.sdk.sdkmanager.LDMModuleType.LIVE_STREAMING LIVE_STREAMING
dji.sdk.media.MediaFileInfoclass MediaFileInfo implements Serializable
dji.sdk.media.MediaFileInfo.getFileSizelong getFileSize()
dji.sdk.media.MediaFileInfo.getIndexint getIndex()
dji.sdk.media.MediaFileInfo.getMediaTypeMediaFile.MediaType getMediaType()
dji.sdk.media.MediaFileInfo.getStreamSourceCameraCameraVideoStreamSource getStreamSourceCamera()
dji.sdk.media.MediaFileInfo.getTimeCreatedlong getTimeCreated()
dji.sdk.mission.timeline.TimelineElement.getDelayTimelong getDelayTime()
dji.sdk.mission.timeline.TimelineElement.setDelayTimevoid setDelayTime(long delayTime)
dji.mop.common.Pipelineinterface Pipeline
dji.mop.common.PipelineDeviceTypeenum PipelineDeviceType
dji.mop.common.PipelineDeviceType.ON_BOARD ON_BOARD(3)
dji.mop.common.PipelineDeviceType.PAYLOAD PAYLOAD(2)
dji.mop.common.PipelineDeviceType.UNKNOWN UNKNOWN(0xff)
dji.mop.common.TransmissionControlTypeenum TransmissionControlType
dji.mop.common.TransmissionControlType.STABLE STABLE(0)
dji.mop.common.TransmissionControlType.PUSH PUSH(1)
dji.mop.common.Pipeline.getId int getId()
dji.mop.common.Pipeline.getDeviceType PipelineDeviceType getDeviceType()
dji.mop.common.Pipeline.readData int readData(byte[] buff, int offset, int length)
dji.mop.common.Pipeline.getType TransmissionControlType getType()
dji.mop.common.Pipeline.writeData int writeData(byte[] data, int offset, int length)
dji.mop.common.Pipelinesinterface Pipelines
dji.mop.common.Pipelines.connect void connect(int id, @NonNull TransmissionControlType transmissionType, @Nullable CommonCallbacks.CompletionCallback<PipelineError> callback)
dji.mop.common.Pipelines.disconnect void disconnect(int id, @Nullable CommonCallbacks.CompletionCallback<PipelineError> callback)
dji.mop.common.Pipelines.getPipelines Map<Integer, Pipeline> getPipelines()
dji.common.mission.waypointv2.Action.InterruptRecoverActionType.GoBackToNextPoint GoBackToNextPoint(4)
dji.sdk.mission.waypoint.WaypointV2MissionOperator.recoverMission void recoverMission(@NonNull InterruptRecoverActionType type, @Nullable CompletionCallback<DJIWaypointV2Error> callback)
dji.common.mission.waypointv2.Action.InterruptRecoverActionType.GoBackToNextNextPoint GoBackToNextNextPoint(5)
dji.sdk.mission.waypoint.WaypointV2MissionOperatorListener.onExecutionStopped void onExecutionStopped()

50ef04d 9b743a5 50ef04d d554267 bff345b 77198ac feefeac 77198ac 9b743a5 b2ffaf1 a9e5a2e dd1f1a7