aboutsummaryrefslogtreecommitdiff
path: root/src/modules/fw_pos_control_l1/fw_pos_control_l1_main.cpp
diff options
context:
space:
mode:
authorThomas Gubler <thomasgubler@gmail.com>2014-06-24 17:42:21 +0200
committerThomas Gubler <thomasgubler@gmail.com>2014-06-24 17:42:21 +0200
commitc6cdcfc2638f8d994b3716d8739614c5377c4962 (patch)
tree2d0802df529f970582802729bb4e13879df2d67a /src/modules/fw_pos_control_l1/fw_pos_control_l1_main.cpp
parent9a911f7388e1a48630469fd2e875f00a119c829a (diff)
downloadpx4-firmware-c6cdcfc2638f8d994b3716d8739614c5377c4962.tar.gz
px4-firmware-c6cdcfc2638f8d994b3716d8739614c5377c4962.tar.bz2
px4-firmware-c6cdcfc2638f8d994b3716d8739614c5377c4962.zip
fw pos control: set integrator reset flags in attitude setpoint topic, set them to true when launchdetection is running (while waiting for launch)
Diffstat (limited to 'src/modules/fw_pos_control_l1/fw_pos_control_l1_main.cpp')
-rw-r--r--src/modules/fw_pos_control_l1/fw_pos_control_l1_main.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/modules/fw_pos_control_l1/fw_pos_control_l1_main.cpp b/src/modules/fw_pos_control_l1/fw_pos_control_l1_main.cpp
index 116d3cc63..518116fa1 100644
--- a/src/modules/fw_pos_control_l1/fw_pos_control_l1_main.cpp
+++ b/src/modules/fw_pos_control_l1/fw_pos_control_l1_main.cpp
@@ -841,6 +841,10 @@ FixedwingPositionControl::control_position(const math::Vector<2> &current_positi
/* current waypoint (the one currently heading for) */
math::Vector<2> curr_wp((float)pos_sp_triplet.current.lat, (float)pos_sp_triplet.current.lon);
+ /* Initialize attitude controller integrator reset flags to 0 */
+ _att_sp.roll_reset_integral = false;
+ _att_sp.pitch_reset_integral = false;
+ _att_sp.yaw_reset_integral = false;
/* previous waypoint */
math::Vector<2> prev_wp;
@@ -1028,6 +1032,11 @@ FixedwingPositionControl::control_position(const math::Vector<2> &current_positi
// warnx("Launch detection running");
mavlink_log_info(_mavlink_fd, "#audio: Launchdetection running");
last_sent = hrt_absolute_time();
+ /* Tell the attitude controller to stop integrating while we are
+ * waiting for the launch */
+ _att_sp.roll_reset_integral = true;
+ _att_sp.pitch_reset_integral = true;
+ _att_sp.yaw_reset_integral = true;
}
launchDetector.update(_sensor_combined.accelerometer_m_s2[0]);
if (launchDetector.getLaunchDetected()) {