Hello,
We have discovered an issue with the compatibility of DJISDK 4.16.2 with M300RTK FW 06.01.0100. If a drone loses connection to the SDK during mission execution due to a connection loss or USB cable reconnection, DJISDK is unable to recover the mission, mission progress events will not be sent, and mission interruption won't work.
Steps to reproduce the issue
- Use M300RTK with FW 06.01.0100.
- Load, upload, and start a waypoint mission using
waypointV2MissionOperator().load, waypointV2MissionOperator().upload, and waypointV2MissionOperator().start.
waypointV2MissionOperator().currentState will be in the DJIWaypointV2MissionStateExecuting state.
- Disconnect the USB cable from the iPad (or fly far away to lose connection to the drone).
- Reconnect the USB cable.
waypointV2MissionOperator().currentState will change to DJIWaypointV2MissionStateRecovering and will be stuck in this state until you cancel the mission and upload a new mission.
Expected behavior
- After reconnecting the USB cable,
waypointV2MissionOperator().currentState should change to DJIWaypointV2MissionStateRecovering and then back to DJIWaypointV2MissionStateExecuting state.
waypointV2MissionOperator().addListener(toExecutionEvent should continue sending events.
waypointV2MissionOperator().interruptMission and waypointV2MissionOperator().recoverMission should stop and resume the mission.
Why it is important
- When
DJIWaypointV2MissionState is stuck in the DJIWaypointV2MissionStateRecovering state, waypointV2MissionOperator().addListener(toExecutionEvent won't emit any events, and the pilot won't know the mission progress.
waypointV2MissionOperator().interruptMission and waypointV2MissionOperator().recoverMission may not work and could return error code 9064. This is a potential safety issue as our customers use our app to pause the mission execution if a drone flies towards an unexpected obstacle (e.g., a moving crane).
waypointV2MissionOperator().downloadMission fails with error code 9064, so it is not possible to restore a mission.
Notes
- This issue only occurs with FW v06.01.0100. We tested it with FW v05.01.0100, and the drone works as expected.
- We have not seen this issue with latest FW versions of P4P, P4PV2, P4RTK, Mavic2Pro, M200 series drones.
- We have issued an announcement to our customers that FW v06.01.0100 is not stable, and we do not support it due to this issue.
Hello,
We have discovered an issue with the compatibility of DJISDK 4.16.2 with M300RTK FW 06.01.0100. If a drone loses connection to the SDK during mission execution due to a connection loss or USB cable reconnection, DJISDK is unable to recover the mission, mission progress events will not be sent, and mission interruption won't work.
Steps to reproduce the issue
waypointV2MissionOperator().load,waypointV2MissionOperator().upload, andwaypointV2MissionOperator().start.waypointV2MissionOperator().currentStatewill be in theDJIWaypointV2MissionStateExecutingstate.waypointV2MissionOperator().currentStatewill change toDJIWaypointV2MissionStateRecoveringand will be stuck in this state until you cancel the mission and upload a new mission.Expected behavior
waypointV2MissionOperator().currentStateshould change toDJIWaypointV2MissionStateRecoveringand then back toDJIWaypointV2MissionStateExecutingstate.waypointV2MissionOperator().addListener(toExecutionEventshould continue sending events.waypointV2MissionOperator().interruptMissionandwaypointV2MissionOperator().recoverMissionshould stop and resume the mission.Why it is important
DJIWaypointV2MissionStateis stuck in theDJIWaypointV2MissionStateRecoveringstate,waypointV2MissionOperator().addListener(toExecutionEventwon't emit any events, and the pilot won't know the mission progress.waypointV2MissionOperator().interruptMissionandwaypointV2MissionOperator().recoverMissionmay not work and could return error code 9064. This is a potential safety issue as our customers use our app to pause the mission execution if a drone flies towards an unexpected obstacle (e.g., a moving crane).waypointV2MissionOperator().downloadMissionfails with error code 9064, so it is not possible to restore a mission.Notes