From 9d0ecc77bb1c3d1c9b5cf6bc5d517e45d9f20f97 Mon Sep 17 00:00:00 2001 From: Thomas Gubler Date: Thu, 11 Dec 2014 17:05:12 +0100 Subject: [PATCH] mc att: convert param definitions to be compatible with multiplatform build --- .../mc_att_control/mc_att_control_params.c | 41 ++++++------ .../mc_att_control/mc_att_control_params.h | 65 +++++++++++++++++++ 2 files changed, 86 insertions(+), 20 deletions(-) create mode 100644 src/modules/mc_att_control/mc_att_control_params.h diff --git a/src/modules/mc_att_control/mc_att_control_params.c b/src/modules/mc_att_control/mc_att_control_params.c index 819847b409..bbbfd829bb 100644 --- a/src/modules/mc_att_control/mc_att_control_params.c +++ b/src/modules/mc_att_control/mc_att_control_params.c @@ -40,6 +40,7 @@ * @author Anton Babushkin */ +#include "mc_att_control_params.h"" #include /** @@ -50,7 +51,7 @@ * @min 0.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_ROLL_P, 6.0f); +PX4_PARAM_DEFINE_FLOAT(MC_ROLL_P); /** * Roll rate P gain @@ -60,7 +61,7 @@ PARAM_DEFINE_FLOAT(MC_ROLL_P, 6.0f); * @min 0.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_ROLLRATE_P, 0.1f); +PX4_PARAM_DEFINE_FLOAT(MC_ROLLRATE_P); /** * Roll rate I gain @@ -70,7 +71,7 @@ PARAM_DEFINE_FLOAT(MC_ROLLRATE_P, 0.1f); * @min 0.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_ROLLRATE_I, 0.0f); +PX4_PARAM_DEFINE_FLOAT(MC_ROLLRATE_I); /** * Roll rate D gain @@ -80,7 +81,7 @@ PARAM_DEFINE_FLOAT(MC_ROLLRATE_I, 0.0f); * @min 0.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_ROLLRATE_D, 0.002f); +PX4_PARAM_DEFINE_FLOAT(MC_ROLLRATE_D); /** * Pitch P gain @@ -91,7 +92,7 @@ PARAM_DEFINE_FLOAT(MC_ROLLRATE_D, 0.002f); * @min 0.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_PITCH_P, 6.0f); +PX4_PARAM_DEFINE_FLOAT(MC_PITCH_P); /** * Pitch rate P gain @@ -101,7 +102,7 @@ PARAM_DEFINE_FLOAT(MC_PITCH_P, 6.0f); * @min 0.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_PITCHRATE_P, 0.1f); +PX4_PARAM_DEFINE_FLOAT(MC_PITCHRATE_P); /** * Pitch rate I gain @@ -111,7 +112,7 @@ PARAM_DEFINE_FLOAT(MC_PITCHRATE_P, 0.1f); * @min 0.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_PITCHRATE_I, 0.0f); +PX4_PARAM_DEFINE_FLOAT(MC_PITCHRATE_I); /** * Pitch rate D gain @@ -121,7 +122,7 @@ PARAM_DEFINE_FLOAT(MC_PITCHRATE_I, 0.0f); * @min 0.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_PITCHRATE_D, 0.002f); +PX4_PARAM_DEFINE_FLOAT(MC_PITCHRATE_D); /** * Yaw P gain @@ -132,7 +133,7 @@ PARAM_DEFINE_FLOAT(MC_PITCHRATE_D, 0.002f); * @min 0.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_YAW_P, 2.0f); +PX4_PARAM_DEFINE_FLOAT(MC_YAW_P); /** * Yaw rate P gain @@ -142,7 +143,7 @@ PARAM_DEFINE_FLOAT(MC_YAW_P, 2.0f); * @min 0.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_YAWRATE_P, 0.3f); +PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_P); /** * Yaw rate I gain @@ -152,7 +153,7 @@ PARAM_DEFINE_FLOAT(MC_YAWRATE_P, 0.3f); * @min 0.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_YAWRATE_I, 0.0f); +PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_I); /** * Yaw rate D gain @@ -162,7 +163,7 @@ PARAM_DEFINE_FLOAT(MC_YAWRATE_I, 0.0f); * @min 0.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_YAWRATE_D, 0.0f); +PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_D); /** * Yaw feed forward @@ -173,7 +174,7 @@ PARAM_DEFINE_FLOAT(MC_YAWRATE_D, 0.0f); * @max 1.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_YAW_FF, 0.5f); +PX4_PARAM_DEFINE_FLOAT(MC_YAW_FF); /** * Max yaw rate @@ -185,7 +186,7 @@ PARAM_DEFINE_FLOAT(MC_YAW_FF, 0.5f); * @max 360.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_YAWRATE_MAX, 120.0f); +PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_MAX); /** * Max manual roll @@ -195,7 +196,7 @@ PARAM_DEFINE_FLOAT(MC_YAWRATE_MAX, 120.0f); * @max 90.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_MAN_R_MAX, 35.0f); +PX4_PARAM_DEFINE_FLOAT(MC_MAN_R_MAX); /** * Max manual pitch @@ -205,7 +206,7 @@ PARAM_DEFINE_FLOAT(MC_MAN_R_MAX, 35.0f); * @max 90.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_MAN_P_MAX, 35.0f); +PX4_PARAM_DEFINE_FLOAT(MC_MAN_P_MAX); /** * Max manual yaw rate @@ -214,7 +215,7 @@ PARAM_DEFINE_FLOAT(MC_MAN_P_MAX, 35.0f); * @min 0.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_MAN_Y_MAX, 120.0f); +PX4_PARAM_DEFINE_FLOAT(MC_MAN_Y_MAX); /** * Max acro roll rate @@ -224,7 +225,7 @@ PARAM_DEFINE_FLOAT(MC_MAN_Y_MAX, 120.0f); * @max 360.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_ACRO_R_MAX, 90.0f); +PX4_PARAM_DEFINE_FLOAT(MC_ACRO_R_MAX); /** * Max acro pitch rate @@ -234,7 +235,7 @@ PARAM_DEFINE_FLOAT(MC_ACRO_R_MAX, 90.0f); * @max 360.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_ACRO_P_MAX, 90.0f); +PX4_PARAM_DEFINE_FLOAT(MC_ACRO_P_MAX); /** * Max acro yaw rate @@ -243,4 +244,4 @@ PARAM_DEFINE_FLOAT(MC_ACRO_P_MAX, 90.0f); * @min 0.0 * @group Multicopter Attitude Control */ -PARAM_DEFINE_FLOAT(MC_ACRO_Y_MAX, 120.0f); +PX4_PARAM_DEFINE_FLOAT(MC_ACRO_Y_MAX); diff --git a/src/modules/mc_att_control/mc_att_control_params.h b/src/modules/mc_att_control/mc_att_control_params.h new file mode 100644 index 0000000000..59dd5240f6 --- /dev/null +++ b/src/modules/mc_att_control/mc_att_control_params.h @@ -0,0 +1,65 @@ + +/**************************************************************************** + * + * Copyright (c) 2013, 2014 PX4 Development Team. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +/** + * @file mc_att_control_params.h + * Parameters for multicopter attitude controller. + * + * @author Tobias Naegeli + * @author Lorenz Meier + * @author Anton Babushkin + * @author Thomas Gubler + */ +#pragma once + +#define PARAM_MC_ROLL_P_DEFAULT 6.0f +#define PARAM_MC_ROLLRATE_P_DEFAULT 0.1f +#define PARAM_MC_ROLLRATE_I_DEFAULT 0.0f +#define PARAM_MC_ROLLRATE_D_DEFAULT 0.002f +#define PARAM_MC_PITCH_P_DEFAULT 6.0f +#define PARAM_MC_PITCHRATE_P_DEFAULT 0.1f +#define PARAM_MC_PITCHRATE_I_DEFAULT 0.0f +#define PARAM_MC_PITCHRATE_D_DEFAULT 0.002f +#define PARAM_MC_YAW_P_DEFAULT 2.0f +#define PARAM_MC_YAWRATE_P_DEFAULT 0.3f +#define PARAM_MC_YAWRATE_I_DEFAULT 0.0f +#define PARAM_MC_YAWRATE_D_DEFAULT 0.0f +#define PARAM_MC_YAW_FF_DEFAULT 0.5f +#define PARAM_MC_YAWRATE_MAX_DEFAULT 120.0f +#define PARAM_MC_MAN_R_MAX_DEFAULT 35.0f +#define PARAM_MC_MAN_P_MAX_DEFAULT 35.0f +#define PARAM_MC_MAN_Y_MAX_DEFAULT 120.0f +#define PARAM_MC_ACRO_R_MAX_DEFAULT 35.0f +#define PARAM_MC_ACRO_P_MAX_DEFAULT 35.0f +#define PARAM_MC_ACRO_Y_MAX_DEFAULT 120.0f