diff --git a/src/lib/FlightTasks/FlightTasks.cpp b/src/lib/FlightTasks/FlightTasks.cpp index e0a4050efa..c68bc62bcc 100644 --- a/src/lib/FlightTasks/FlightTasks.cpp +++ b/src/lib/FlightTasks/FlightTasks.cpp @@ -25,6 +25,16 @@ const vehicle_local_position_setpoint_s FlightTasks::getPositionSetpoint() } } +const vehicle_constraints_s FlightTasks::getConstraints() +{ + if (isAnyTaskActive()) { + return _current_task->getConstraints(); + + } else { + return FlightTask::empty_constraints; + } +} + int FlightTasks::switchTask(FlightTaskIndex new_task_index) { /* switch to the running task, nothing to do */ diff --git a/src/lib/FlightTasks/FlightTasks.hpp b/src/lib/FlightTasks/FlightTasks.hpp index c6cb1301b8..05b4a88deb 100644 --- a/src/lib/FlightTasks/FlightTasks.hpp +++ b/src/lib/FlightTasks/FlightTasks.hpp @@ -93,6 +93,12 @@ public: */ const vehicle_local_position_setpoint_s getPositionSetpoint(); + /** + * Get task dependent constraints + * @return setpoint constraints that has to be respected by the position controller + */ + const vehicle_constraints_s getConstraints(); + /** * Switch to the next task in the available list (for testing) * @return true on success, false on error