diff options
author | Anton Babushkin <anton.babushkin@me.com> | 2013-08-17 12:37:41 +0200 |
---|---|---|
committer | Anton Babushkin <anton.babushkin@me.com> | 2013-08-17 12:37:41 +0200 |
commit | 2be5240b9f70803417c9648133490409ba40ba55 (patch) | |
tree | a511a38870d63fe5dfd6b41f80ccf6ad753bfaa9 /src/modules/multirotor_att_control | |
parent | c543f89ec17048c1b5264623a885a9247a05304c (diff) | |
download | px4-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.c | 20 |
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; |