From 80c1f4e5e6cbad262f1137dccd81c54fca8886eb Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Sat, 20 Jun 2020 10:54:58 -0400 Subject: [PATCH] mavlink: send MISSION_CURRENT respect signed sequence number - current_seq -1 indicates nothing currently active --- src/modules/mavlink/mavlink_mission.cpp | 6 +++--- src/modules/mavlink/mavlink_mission.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/modules/mavlink/mavlink_mission.cpp b/src/modules/mavlink/mavlink_mission.cpp index 40ba655486..5cd039d75f 100644 --- a/src/modules/mavlink/mavlink_mission.cpp +++ b/src/modules/mavlink/mavlink_mission.cpp @@ -261,9 +261,9 @@ MavlinkMissionManager::send_mission_ack(uint8_t sysid, uint8_t compid, uint8_t t } void -MavlinkMissionManager::send_mission_current(uint16_t seq) +MavlinkMissionManager::send_mission_current(int32_t seq) { - unsigned item_count = _count[MAV_MISSION_TYPE_MISSION]; + int32_t item_count = _count[MAV_MISSION_TYPE_MISSION]; if (seq < item_count) { mavlink_mission_current_t wpc; @@ -272,7 +272,7 @@ MavlinkMissionManager::send_mission_current(uint16_t seq) mavlink_msg_mission_current_send_struct(_mavlink->get_channel(), &wpc); - } else if (seq == 0 && item_count == 0) { + } else if (seq <= 0 && item_count == 0) { /* don't broadcast if no WPs */ } else { diff --git a/src/modules/mavlink/mavlink_mission.h b/src/modules/mavlink/mavlink_mission.h index aeaff342af..4a44c97b56 100644 --- a/src/modules/mavlink/mavlink_mission.h +++ b/src/modules/mavlink/mavlink_mission.h @@ -187,7 +187,7 @@ private: * * @param seq The waypoint sequence number the MAV should fly to. */ - void send_mission_current(uint16_t seq); + void send_mission_current(int32_t seq); void send_mission_count(uint8_t sysid, uint8_t compid, uint16_t count, MAV_MISSION_TYPE mission_type);