diff --git a/src/lib/flight_tasks/tasks/Transition/FlightTaskTransition.cpp b/src/lib/flight_tasks/tasks/Transition/FlightTaskTransition.cpp index e595e310ec..e2737a8e09 100644 --- a/src/lib/flight_tasks/tasks/Transition/FlightTaskTransition.cpp +++ b/src/lib/flight_tasks/tasks/Transition/FlightTaskTransition.cpp @@ -44,8 +44,6 @@ bool FlightTaskTransition::updateInitialize() bool FlightTaskTransition::activate(const vehicle_local_position_setpoint_s &last_setpoint) { - _transition_altitude = PX4_ISFINITE(last_setpoint.z) ? last_setpoint.z : _position(2); - _transition_yaw = PX4_ISFINITE(last_setpoint.yaw) ? last_setpoint.yaw : _yaw; return FlightTask::activate(last_setpoint); } diff --git a/src/lib/flight_tasks/tasks/Transition/FlightTaskTransition.hpp b/src/lib/flight_tasks/tasks/Transition/FlightTaskTransition.hpp index 255ee47f82..ec71772a95 100644 --- a/src/lib/flight_tasks/tasks/Transition/FlightTaskTransition.hpp +++ b/src/lib/flight_tasks/tasks/Transition/FlightTaskTransition.hpp @@ -50,8 +50,4 @@ public: bool activate(const vehicle_local_position_setpoint_s &last_setpoint) override; bool updateInitialize() override; bool update() override; - -private: - float _transition_altitude = 0.0f; - float _transition_yaw = 0.0f; }; diff --git a/src/modules/flight_mode_manager/FlightModeManager.cpp b/src/modules/flight_mode_manager/FlightModeManager.cpp index 993c23a789..43380f350f 100644 --- a/src/modules/flight_mode_manager/FlightModeManager.cpp +++ b/src/modules/flight_mode_manager/FlightModeManager.cpp @@ -171,7 +171,8 @@ void FlightModeManager::start_flight_task() _flight_tasks.switchTask(FlightTaskIndex::None); } - if (_vehicle_status_sub.get().in_transition_mode) { + // Only run transition flight task if altitude control is enabled (e.g. in Altitdue, Position, Auto flight mode) + if (_vehicle_status_sub.get().in_transition_mode && _vehicle_control_mode_sub.get().flag_control_altitude_enabled) { should_disable_task = false; FlightTaskError error = _flight_tasks.switchTask(FlightTaskIndex::Transition);