From 66f85ff9ae5ee4e643999e0059f3bf895d602d79 Mon Sep 17 00:00:00 2001
From: Simone Guscetti <simone@yuneecresearch.com>
Date: Mon, 5 Nov 2018 14:47:18 +0100
Subject: [PATCH] FlightTask Auto: Save deploy gear information

---
 msg/position_setpoint.msg                         | 2 ++
 src/lib/FlightTasks/tasks/Auto/FlightTaskAuto.cpp | 1 +
 src/lib/FlightTasks/tasks/Auto/FlightTaskAuto.hpp | 1 +
 3 files changed, 4 insertions(+)

diff --git a/msg/position_setpoint.msg b/msg/position_setpoint.msg
index 60ea2f7664..3375a576b3 100644
--- a/msg/position_setpoint.msg
+++ b/msg/position_setpoint.msg
@@ -39,6 +39,8 @@ bool yaw_valid			# true if yaw setpoint valid
 float32 yawspeed		# yawspeed (only for multirotors, in rad/s)
 bool yawspeed_valid		# true if yawspeed setpoint valid
 
+bool deploy_gear		# deploy landing gear
+
 float32 loiter_radius		# loiter radius (only for fixed wing), in m
 int8 loiter_direction		# loiter direction: 1 = CW, -1 = CCW
 float32 pitch_min		# minimal pitch angle for fixed wing takeoff waypoints
diff --git a/src/lib/FlightTasks/tasks/Auto/FlightTaskAuto.cpp b/src/lib/FlightTasks/tasks/Auto/FlightTaskAuto.cpp
index e73dffd505..8a17c89d78 100644
--- a/src/lib/FlightTasks/tasks/Auto/FlightTaskAuto.cpp
+++ b/src/lib/FlightTasks/tasks/Auto/FlightTaskAuto.cpp
@@ -224,6 +224,7 @@ bool FlightTaskAuto::_evaluateTriplets()
 	if (triplet_update || (_current_state != previous_state)) {
 		_updateInternalWaypoints();
 		_updateAvoidanceWaypoints();
+		_deploy_gear = _sub_triplet_setpoint->get().current.deploy_gear;
 	}
 
 	if (MPC_OBS_AVOID.get() && _sub_vehicle_status->get().is_rotary_wing) {
diff --git a/src/lib/FlightTasks/tasks/Auto/FlightTaskAuto.hpp b/src/lib/FlightTasks/tasks/Auto/FlightTaskAuto.hpp
index 825e7d2aff..441cbbf912 100644
--- a/src/lib/FlightTasks/tasks/Auto/FlightTaskAuto.hpp
+++ b/src/lib/FlightTasks/tasks/Auto/FlightTaskAuto.hpp
@@ -103,6 +103,7 @@ protected:
 
 	State _current_state{State::none};
 	float _target_acceptance_radius = 0.0f; /**< Acceptances radius of the target */
+	bool _deploy_gear = false;
 
 	DEFINE_PARAMETERS_CUSTOM_PARENT(FlightTask,
 					(ParamFloat<px4::params::MPC_XY_CRUISE>) MPC_XY_CRUISE,
-- 
GitLab