Mobile-SDK-iOS icon indicating copy to clipboard operation
Mobile-SDK-iOS copied to clipboard

DJISDK 4.16.2 + M300RTK FW 06.01.0100 Fails to recover mission

Open byuarus opened this issue 2 years ago • 2 comments

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.

byuarus avatar Apr 28 '23 21:04 byuarus

Agent comment from yating.liao in Zendesk ticket #82255:

This is a known issue, which also occurs on 4.16.4. I will sync the information to you when the issue is fixed.

°°°

dji-dev avatar May 04 '23 07:05 dji-dev

@dji-dev has there been any progress on this issue? we continue to experience this behavior on FW v07.00.01.00

JavierSosa93 avatar Jul 24 '23 22:07 JavierSosa93