From 3e189889ef35636c69bd1ad384163bd82839abd8 Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Sat, 2 Nov 2019 10:14:48 -0400 Subject: [PATCH] FlightTasks: shift DEFINE_PARAMETERS to end of access modifiers - DEFINE_PARAMETERS includes a private access modifier, so we need to keep these at the end to prevent issues when extending a flight task --- .../tasks/AutoLine/FlightTaskAutoLine.hpp | 11 +++++----- .../FlightTaskAutoLineSmoothVel.hpp | 20 ++++++++--------- .../tasks/AutoMapper/FlightTaskAutoMapper.hpp | 20 ++++++++--------- .../AutoMapper2/FlightTaskAutoMapper2.hpp | 22 +++++++++---------- 4 files changed, 37 insertions(+), 36 deletions(-) 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,17 +50,18 @@ public: protected: + 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 ); - 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. */ private: void _setSpeedAtTarget(); /**< Sets desiered speed at target */ 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 */