From 291f8782f8a5122c30e4d915cb4ba978ca7ff630 Mon Sep 17 00:00:00 2001 From: DonLakeFlyer Date: Fri, 5 Jan 2018 11:20:32 -0800 Subject: [PATCH] Make VTOL transition work --- src/Vehicle/Vehicle.cc | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc index 41c925eff..4cd4cfdc1 100644 --- a/src/Vehicle/Vehicle.cc +++ b/src/Vehicle/Vehicle.cc @@ -994,7 +994,11 @@ void Vehicle::_handleExtendedSysState(mavlink_message_t& message) } if (vtol()) { - setVtolInFwdFlight(extendedState.vtol_state == MAV_VTOL_STATE_FW); + bool vtolInFwdFlight = extendedState.vtol_state == MAV_VTOL_STATE_FW; + if (vtolInFwdFlight != _vtolInFwdFlight) { + _vtolInFwdFlight = vtolInFwdFlight; + emit vtolInFwdFlightChanged(vtolInFwdFlight); + } } } @@ -2688,8 +2692,11 @@ void Vehicle::triggerCamera(void) void Vehicle::setVtolInFwdFlight(bool vtolInFwdFlight) { if (_vtolInFwdFlight != vtolInFwdFlight) { - _vtolInFwdFlight = vtolInFwdFlight; - emit vtolInFwdFlightChanged(vtolInFwdFlight); + sendMavCommand(_defaultComponentId, + MAV_CMD_DO_VTOL_TRANSITION, + true, // show errors + vtolInFwdFlight ? MAV_VTOL_STATE_FW : MAV_VTOL_STATE_MC, // transition state + 0, 0, 0, 0, 0, 0); // param 2-7 unused } } -- 2.22.0