From edb2e3256f812c618e8472aa17c9348b397ce205 Mon Sep 17 00:00:00 2001 From: Dennis Mannhart Date: Thu, 26 Apr 2018 11:21:26 +0200 Subject: [PATCH] FlightTask: getConstraints method and member --- src/lib/FlightTasks/tasks/FlightTask.cpp | 4 ++-- src/lib/FlightTasks/tasks/FlightTask.hpp | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/lib/FlightTasks/tasks/FlightTask.cpp b/src/lib/FlightTasks/tasks/FlightTask.cpp index fb0dddeb90..6a43dd6e5e 100644 --- a/src/lib/FlightTasks/tasks/FlightTask.cpp +++ b/src/lib/FlightTasks/tasks/FlightTask.cpp @@ -2,9 +2,9 @@ #include constexpr uint64_t FlightTask::_timeout; -/* First index of empty_setpoint corresponds to time-stamp and requires a finite number. */ +// First index of empty_setpoint corresponds to time-stamp and requires a finite number. const vehicle_local_position_setpoint_s FlightTask::empty_setpoint = {0, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, {NAN, NAN, NAN}}; - +const vehicle_constraints_s FlightTask::empty_constraints = {0, NAN, NAN, NAN}; bool FlightTask::initializeSubscriptions(SubscriptionArray &subscription_array) { if (!subscription_array.get(ORB_ID(vehicle_local_position), _sub_vehicle_local_position)) { diff --git a/src/lib/FlightTasks/tasks/FlightTask.hpp b/src/lib/FlightTasks/tasks/FlightTask.hpp index 411cf317e2..62755b386b 100644 --- a/src/lib/FlightTasks/tasks/FlightTask.hpp +++ b/src/lib/FlightTasks/tasks/FlightTask.hpp @@ -47,6 +47,7 @@ #include #include #include +#include #include "../SubscriptionArray.hpp" class FlightTask : public ModuleParams @@ -94,8 +95,25 @@ public: */ const vehicle_local_position_setpoint_s getPositionSetpoint(); + /** + * Get vehicle constraints. + * The constraints can vary with task. + * @return constraints + */ + const vehicle_constraints_s getConstraints() {return _constraints;}; + + /** + * Empty setpoint. + * All setpoints are set to NAN. + */ static const vehicle_local_position_setpoint_s empty_setpoint; + /** + * Empty constraints. + * All constraints are set to NAN. + */ + static const vehicle_constraints_s empty_constraints; + /** * Call this whenever a parameter update notification is received (parameter_update uORB message) */ @@ -163,6 +181,12 @@ protected: float _yawspeed_setpoint; float _dist_to_bottom; + /** + * Vehicle constraints. + * The constraints can vary with tasks. + */ + vehicle_constraints_s _constraints; + DEFINE_PARAMETERS_CUSTOM_PARENT(ModuleParams, (ParamFloat) MPC_XY_VEL_MAX, (ParamFloat) MPC_Z_VEL_MAX_DN,