diff --git a/src/modules/flight_mode_manager/FlightModeManager.cpp b/src/modules/flight_mode_manager/FlightModeManager.cpp index 6354ac8d01..f6d98b3038 100644 --- a/src/modules/flight_mode_manager/FlightModeManager.cpp +++ b/src/modules/flight_mode_manager/FlightModeManager.cpp @@ -456,7 +456,7 @@ void FlightModeManager::generateTrajectorySetpoint(const float dt, vehicle_local_position_setpoint_s setpoint = FlightTask::empty_setpoint; vehicle_constraints_s constraints = FlightTask::empty_constraints; - if (_current_task.task->updateInitialize() && _current_task.task->update() && _current_task.task->updateFinalize()) { + if (_current_task.task->updateInitialize() && _current_task.task->update()) { // setpoints and constraints for the position controller from flighttask setpoint = _current_task.task->getPositionSetpoint(); constraints = _current_task.task->getConstraints(); diff --git a/src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp b/src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp index b75d176bdf..39198013b2 100644 --- a/src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp +++ b/src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.cpp @@ -214,17 +214,13 @@ bool FlightTaskAuto::update() // update previous type _type_previous = _type; - return ret; -} - -bool FlightTaskAuto::updateFinalize() -{ - // All the auto FlightTasks have to comply with defined maximum yaw rate // If the FlightTask generates a yaw or a yawrate setpoint that exceeds this value // it will see its setpoint constrained here _limitYawRate(); + _constraints.want_takeoff = _checkTakeoff(); - return true; + + return ret; } void FlightTaskAuto::_prepareLandSetpoints() diff --git a/src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.hpp b/src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.hpp index 016c39cf78..2ccb94de4d 100644 --- a/src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.hpp +++ b/src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.hpp @@ -91,7 +91,6 @@ public: void reActivate() override; bool updateInitialize() override; bool update() override; - bool updateFinalize() override; /** * Sets an external yaw handler which can be used to implement a different yaw control strategy. diff --git a/src/modules/flight_mode_manager/tasks/FlightTask/FlightTask.hpp b/src/modules/flight_mode_manager/tasks/FlightTask/FlightTask.hpp index b5e0b3b9e7..01d9ba3525 100644 --- a/src/modules/flight_mode_manager/tasks/FlightTask/FlightTask.hpp +++ b/src/modules/flight_mode_manager/tasks/FlightTask/FlightTask.hpp @@ -108,14 +108,6 @@ public: */ virtual bool update(); - /** - * Call after update() - * to constrain the generated setpoints in order to comply - * with the constraints of the current mode - * @return true on success, false on error - */ - virtual bool updateFinalize() { return true; }; - /** * Get the output data * @return task output setpoints that get executed by the positon controller