diff --git a/src/lib/FlightTasks/tasks/AutoLine/FlightTaskAutoLine.hpp b/src/lib/FlightTasks/tasks/AutoLine/FlightTaskAutoLine.hpp index 94d0ad0ed4..e4fc221c15 100644 --- a/src/lib/FlightTasks/tasks/AutoLine/FlightTaskAutoLine.hpp +++ b/src/lib/FlightTasks/tasks/AutoLine/FlightTaskAutoLine.hpp @@ -50,18 +50,19 @@ public: protected: - DEFINE_PARAMETERS_CUSTOM_PARENT(FlightTaskAutoMapper, - (ParamFloat) _param_mpc_acc_hor, // acceleration in flight - (ParamFloat) _param_mpc_acc_up_max, - (ParamFloat) _param_mpc_acc_down_max - ); - void _generateSetpoints() override; /**< Generate setpoints along line. */ void _generateHeadingAlongTrack(); /**< Generates heading along track. */ void _generateAltitudeSetpoints(); /**< Generate velocity and position setpoints for following line along z. */ void _generateXYsetpoints(); /**< Generate velocity and position setpoints for following line along xy. */ + DEFINE_PARAMETERS_CUSTOM_PARENT(FlightTaskAutoMapper, + (ParamFloat) _param_mpc_acc_hor, // acceleration in flight + (ParamFloat) _param_mpc_acc_up_max, + (ParamFloat) _param_mpc_acc_down_max + ); + + private: void _setSpeedAtTarget(); /**< Sets desiered speed at target */ float _speed_at_target{0.0f}; diff --git a/src/lib/FlightTasks/tasks/AutoLineSmoothVel/FlightTaskAutoLineSmoothVel.hpp b/src/lib/FlightTasks/tasks/AutoLineSmoothVel/FlightTaskAutoLineSmoothVel.hpp index 899f14393b..e5a97f7234 100644 --- a/src/lib/FlightTasks/tasks/AutoLineSmoothVel/FlightTaskAutoLineSmoothVel.hpp +++ b/src/lib/FlightTasks/tasks/AutoLineSmoothVel/FlightTaskAutoLineSmoothVel.hpp @@ -54,16 +54,6 @@ public: protected: - DEFINE_PARAMETERS_CUSTOM_PARENT(FlightTaskAutoMapper2, - (ParamFloat) _param_mis_yaw_err, // yaw-error threshold - (ParamFloat) _param_mpc_acc_hor, // acceleration in flight - (ParamFloat) _param_mpc_acc_up_max, - (ParamFloat) _param_mpc_acc_down_max, - (ParamFloat) _param_mpc_jerk_auto, - (ParamFloat) _param_mpc_xy_traj_p, - (ParamFloat) _param_mpc_z_traj_p - ); - void checkSetpoints(vehicle_local_position_setpoint_s &setpoints); /** Reset position or velocity setpoints in case of EKF reset event */ @@ -102,4 +92,14 @@ protected: bool _want_takeoff{false}; VelocitySmoothing _trajectory[3]; ///< Trajectories in x, y and z directions + + DEFINE_PARAMETERS_CUSTOM_PARENT(FlightTaskAutoMapper2, + (ParamFloat) _param_mis_yaw_err, // yaw-error threshold + (ParamFloat) _param_mpc_acc_hor, // acceleration in flight + (ParamFloat) _param_mpc_acc_up_max, + (ParamFloat) _param_mpc_acc_down_max, + (ParamFloat) _param_mpc_jerk_auto, + (ParamFloat) _param_mpc_xy_traj_p, + (ParamFloat) _param_mpc_z_traj_p + ); }; diff --git a/src/lib/FlightTasks/tasks/AutoMapper/FlightTaskAutoMapper.hpp b/src/lib/FlightTasks/tasks/AutoMapper/FlightTaskAutoMapper.hpp index cdfc0bdebc..f15044129b 100644 --- a/src/lib/FlightTasks/tasks/AutoMapper/FlightTaskAutoMapper.hpp +++ b/src/lib/FlightTasks/tasks/AutoMapper/FlightTaskAutoMapper.hpp @@ -52,6 +52,16 @@ public: protected: + virtual void _generateSetpoints() = 0; /**< Generate velocity and position setpoint for following line. */ + + void _generateIdleSetpoints(); + void _generateLandSetpoints(); + void _generateVelocitySetpoints(); + void _generateTakeoffSetpoints(); + + void _updateAltitudeAboveGround(); /**< Computes altitude above ground based on sensors available. */ + void updateParams() override; /**< See ModuleParam class */ + float _alt_above_ground{0.0f}; /**< If home provided, then it is altitude above home, otherwise it is altitude above local position reference. */ DEFINE_PARAMETERS_CUSTOM_PARENT(FlightTaskAuto, @@ -64,16 +74,6 @@ protected: (ParamFloat) _param_mpc_tko_speed ); - virtual void _generateSetpoints() = 0; /**< Generate velocity and position setpoint for following line. */ - - void _generateIdleSetpoints(); - void _generateLandSetpoints(); - void _generateVelocitySetpoints(); - void _generateTakeoffSetpoints(); - - void _updateAltitudeAboveGround(); /**< Computes altitude above ground based on sensors available. */ - void updateParams() override; /**< See ModuleParam class */ - private: void _reset(); /**< Resets member variables to current vehicle state */ diff --git a/src/lib/FlightTasks/tasks/AutoMapper2/FlightTaskAutoMapper2.hpp b/src/lib/FlightTasks/tasks/AutoMapper2/FlightTaskAutoMapper2.hpp index 5cfd0797e0..15c15ca15a 100644 --- a/src/lib/FlightTasks/tasks/AutoMapper2/FlightTaskAutoMapper2.hpp +++ b/src/lib/FlightTasks/tasks/AutoMapper2/FlightTaskAutoMapper2.hpp @@ -52,6 +52,17 @@ public: protected: + virtual void _generateSetpoints() = 0; /**< Generate velocity and position setpoint for following line. */ + + void _prepareIdleSetpoints(); + void _prepareLandSetpoints(); + void _prepareVelocitySetpoints(); + void _prepareTakeoffSetpoints(); + void _preparePositionSetpoints(); + + void _updateAltitudeAboveGround(); /**< Computes altitude above ground based on sensors available. */ + void updateParams() override; /**< See ModuleParam class */ + float _alt_above_ground{0.0f}; /**< If home provided, then it is altitude above home, otherwise it is altitude above local position reference. */ DEFINE_PARAMETERS_CUSTOM_PARENT(FlightTaskAuto, @@ -65,17 +76,6 @@ protected: (ParamFloat) _param_mpc_tko_speed ); - virtual void _generateSetpoints() = 0; /**< Generate velocity and position setpoint for following line. */ - - void _prepareIdleSetpoints(); - void _prepareLandSetpoints(); - void _prepareVelocitySetpoints(); - void _prepareTakeoffSetpoints(); - void _preparePositionSetpoints(); - - void _updateAltitudeAboveGround(); /**< Computes altitude above ground based on sensors available. */ - void updateParams() override; /**< See ModuleParam class */ - private: void _reset(); /**< Resets member variables to current vehicle state */