From bb6bf89913e2cb9fd41c573359e4fd410b0d3437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20Mi=C5=A1i=C4=87?= Date: Thu, 22 Jul 2021 14:48:25 +0200 Subject: [PATCH] mavlink: fix for new dataman while reading transfer_dataman_id --- src/modules/mavlink/mavlink_mission.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/modules/mavlink/mavlink_mission.cpp b/src/modules/mavlink/mavlink_mission.cpp index 995b9557dd..067b4f4cb2 100644 --- a/src/modules/mavlink/mavlink_mission.cpp +++ b/src/modules/mavlink/mavlink_mission.cpp @@ -1018,8 +1018,13 @@ MavlinkMissionManager::next_transfer_dataman_id() transfer_dataman_id = (_dataman_id == DM_KEY_WAYPOINTS_OFFBOARD_0 ? DM_KEY_WAYPOINTS_OFFBOARD_1 : DM_KEY_WAYPOINTS_OFFBOARD_0); // use inactive storage for transmission + } else if (ret == 0) { + //dataman is empty (new or formatted SD card) + transfer_dataman_id = DM_KEY_WAYPOINTS_OFFBOARD_0; + } else { - PX4_ERR("Can't read DM_KEY_MISSION_STATE"); + PX4_ERR("Dataman can't read DM_KEY_MISSION_STATE. The actual size of readout is %d, expected size is %d.", ret, + static_cast(sizeof(mission_s))); } return transfer_dataman_id;