From a1c9dc1f6894b551fffffd79322e71935d68c5a6 Mon Sep 17 00:00:00 2001 From: Nate Weibley Date: Wed, 17 Feb 2016 10:35:49 -0500 Subject: [PATCH] When restarting listing all parameters, skip sending hash on subsequent request This change fixes a bug where hash-aware QGC using the old spec would continuously request the parameter list every time it received a mismatched hash. --- src/modules/mavlink/mavlink_parameters.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/modules/mavlink/mavlink_parameters.cpp b/src/modules/mavlink/mavlink_parameters.cpp index 2b3ea13bb5..3402be9839 100644 --- a/src/modules/mavlink/mavlink_parameters.cpp +++ b/src/modules/mavlink/mavlink_parameters.cpp @@ -77,8 +77,12 @@ MavlinkParametersManager::handle_message(const mavlink_message_t *msg) if (req_list.target_system == mavlink_system.sysid && (req_list.target_component == mavlink_system.compid || req_list.target_component == MAV_COMP_ID_ALL)) { - - _send_all_index = PARAM_HASH; + if (_send_all_index < 0) { + _send_all_index = PARAM_HASH; + } else { + /* a restart should skip the hash check on the ground */ + _send_all_index = 0; + } } if (req_list.target_system == mavlink_system.sysid && req_list.target_component < 127 &&