aboutsummaryrefslogtreecommitdiff
path: root/src/modules/multirotor_pos_control
diff options
context:
space:
mode:
authorAnton Babushkin <anton.babushkin@me.com>2013-09-02 23:30:32 +0200
committerAnton Babushkin <anton.babushkin@me.com>2013-09-02 23:30:32 +0200
commit40e18948727b41843fc0766e520f92b8cc841296 (patch)
tree47d251f6d5898815f46f97926a94b8dc567e2cb9 /src/modules/multirotor_pos_control
parent193a52d8132ce03aa0de9547f77ca8aeb67220f1 (diff)
downloadpx4-firmware-40e18948727b41843fc0766e520f92b8cc841296.tar.gz
px4-firmware-40e18948727b41843fc0766e520f92b8cc841296.tar.bz2
px4-firmware-40e18948727b41843fc0766e520f92b8cc841296.zip
Added parameter NAV_TAKEOFF_GAP
Diffstat (limited to 'src/modules/multirotor_pos_control')
-rw-r--r--src/modules/multirotor_pos_control/multirotor_pos_control.c2
-rw-r--r--src/modules/multirotor_pos_control/multirotor_pos_control_params.c4
-rw-r--r--src/modules/multirotor_pos_control/multirotor_pos_control_params.h6
3 files changed, 8 insertions, 4 deletions
diff --git a/src/modules/multirotor_pos_control/multirotor_pos_control.c b/src/modules/multirotor_pos_control/multirotor_pos_control.c
index 5260a0963..336523072 100644
--- a/src/modules/multirotor_pos_control/multirotor_pos_control.c
+++ b/src/modules/multirotor_pos_control/multirotor_pos_control.c
@@ -424,7 +424,7 @@ static int multirotor_pos_control_thread_main(int argc, char *argv[])
if (reset_auto_pos) {
local_pos_sp.x = local_pos.x;
local_pos_sp.y = local_pos.y;
- local_pos_sp.z = - params.takeoff_alt - 3.0f;
+ local_pos_sp.z = - params.takeoff_alt - params.takeoff_gap;
local_pos_sp.yaw = att.yaw;
local_pos_sp_valid = true;
att_sp.yaw_body = att.yaw;
diff --git a/src/modules/multirotor_pos_control/multirotor_pos_control_params.c b/src/modules/multirotor_pos_control/multirotor_pos_control_params.c
index 4d6511851..bf9578ea3 100644
--- a/src/modules/multirotor_pos_control/multirotor_pos_control_params.c
+++ b/src/modules/multirotor_pos_control/multirotor_pos_control_params.c
@@ -60,6 +60,7 @@ PARAM_DEFINE_FLOAT(MPC_TILT_MAX, 0.5f);
int parameters_init(struct multirotor_position_control_param_handles *h)
{
h->takeoff_alt = param_find("NAV_TAKEOFF_ALT");
+ h->takeoff_gap = param_find("NAV_TAKEOFF_GAP");
h->thr_min = param_find("MPC_THR_MIN");
h->thr_max = param_find("MPC_THR_MAX");
h->z_p = param_find("MPC_Z_P");
@@ -85,7 +86,8 @@ int parameters_init(struct multirotor_position_control_param_handles *h)
int parameters_update(const struct multirotor_position_control_param_handles *h, struct multirotor_position_control_params *p)
{
- param_get(h->takeoff_alt,&(p->takeoff_alt));
+ param_get(h->takeoff_alt, &(p->takeoff_alt));
+ param_get(h->takeoff_gap, &(p->takeoff_gap));
param_get(h->thr_min, &(p->thr_min));
param_get(h->thr_max, &(p->thr_max));
param_get(h->z_p, &(p->z_p));
diff --git a/src/modules/multirotor_pos_control/multirotor_pos_control_params.h b/src/modules/multirotor_pos_control/multirotor_pos_control_params.h
index 79bc9b72b..fc658dadb 100644
--- a/src/modules/multirotor_pos_control/multirotor_pos_control_params.h
+++ b/src/modules/multirotor_pos_control/multirotor_pos_control_params.h
@@ -41,7 +41,8 @@
#include <systemlib/param/param.h>
struct multirotor_position_control_params {
- float takeoff_alt;
+ float takeoff_alt;
+ float takeoff_gap;
float thr_min;
float thr_max;
float z_p;
@@ -64,7 +65,8 @@ struct multirotor_position_control_params {
};
struct multirotor_position_control_param_handles {
- param_t takeoff_alt;
+ param_t takeoff_alt;
+ param_t takeoff_gap;
param_t thr_min;
param_t thr_max;
param_t z_p;