aboutsummaryrefslogtreecommitdiff
path: root/src/modules/multirotor_att_control
diff options
context:
space:
mode:
authorAnton Babushkin <anton.babushkin@me.com>2013-08-17 12:37:41 +0200
committerAnton Babushkin <anton.babushkin@me.com>2013-08-17 12:37:41 +0200
commit2be5240b9f70803417c9648133490409ba40ba55 (patch)
treea511a38870d63fe5dfd6b41f80ccf6ad753bfaa9 /src/modules/multirotor_att_control
parentc543f89ec17048c1b5264623a885a9247a05304c (diff)
downloadpx4-firmware-2be5240b9f70803417c9648133490409ba40ba55.tar.gz
px4-firmware-2be5240b9f70803417c9648133490409ba40ba55.tar.bz2
px4-firmware-2be5240b9f70803417c9648133490409ba40ba55.zip
commander, multirotor_att_control, position_estimator_inav: position valid flag fixed, other fixes and cleaunup
Diffstat (limited to 'src/modules/multirotor_att_control')
-rw-r--r--src/modules/multirotor_att_control/multirotor_att_control_main.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/modules/multirotor_att_control/multirotor_att_control_main.c b/src/modules/multirotor_att_control/multirotor_att_control_main.c
index 1aa24a4fc..5cad667f6 100644
--- a/src/modules/multirotor_att_control/multirotor_att_control_main.c
+++ b/src/modules/multirotor_att_control/multirotor_att_control_main.c
@@ -367,14 +367,20 @@ mc_thread_main(int argc, char *argv[])
}
/* apply controller */
- float gyro[3];
- gyro[0] = att.rollspeed;
- gyro[1] = att.pitchspeed;
- gyro[2] = att.yawspeed;
-
- multirotor_control_rates(&rates_sp, gyro, &actuators);
- orb_publish(ORB_ID_VEHICLE_ATTITUDE_CONTROLS, actuator_pub, &actuators);
+ float rates[3];
+ rates[0] = att.rollspeed;
+ rates[1] = att.pitchspeed;
+ rates[2] = att.yawspeed;
+ multirotor_control_rates(&rates_sp, rates, &actuators);
+ } else {
+ /* rates controller disabled, set actuators to zero for safety */
+ actuators.control[0] = 0.0f;
+ actuators.control[1] = 0.0f;
+ actuators.control[2] = 0.0f;
+ actuators.control[3] = 0.0f;
}
+ actuators.timestamp = hrt_absolute_time();
+ orb_publish(ORB_ID_VEHICLE_ATTITUDE_CONTROLS, actuator_pub, &actuators);
/* update state */
flag_control_attitude_enabled = control_mode.flag_control_attitude_enabled;