diff options
author | t0ni0 <azntonio789@gmail.com> | 2014-06-03 23:55:21 -0400 |
---|---|---|
committer | t0ni0 <azntonio789@gmail.com> | 2014-06-03 23:55:21 -0400 |
commit | f1b6a3f44f3c1ade07de2a1a996b055eccd5155c (patch) | |
tree | 56f1eba71c08fd617989f41efda4da73e60b71a6 /src/modules/mc_pos_control/mc_pos_control_main.cpp | |
parent | e12d3af503c5ebc105e5b3c3ef8e51bd75959329 (diff) | |
download | px4-firmware-f1b6a3f44f3c1ade07de2a1a996b055eccd5155c.tar.gz px4-firmware-f1b6a3f44f3c1ade07de2a1a996b055eccd5155c.tar.bz2 px4-firmware-f1b6a3f44f3c1ade07de2a1a996b055eccd5155c.zip |
Fixed offboard_control_pos_sp to be passed to _pos_sp vector. Added checks for position and altitude control modes.
Diffstat (limited to 'src/modules/mc_pos_control/mc_pos_control_main.cpp')
-rw-r--r-- | src/modules/mc_pos_control/mc_pos_control_main.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/modules/mc_pos_control/mc_pos_control_main.cpp b/src/modules/mc_pos_control/mc_pos_control_main.cpp index d870b733f..b2693345c 100644 --- a/src/modules/mc_pos_control/mc_pos_control_main.cpp +++ b/src/modules/mc_pos_control/mc_pos_control_main.cpp @@ -681,9 +681,16 @@ MulticopterPositionControl::task_main() } /* Hopefully no one dies from this */ - pos(0) = _offboard_control_pos_sp.p1; - pos(1) = _offboard_control_pos_sp.p2; - pos(2) = _offboard_control_pos_sp.p4; + /* Make sure position control is selected i.e. not only velocity control */ + if (_control_mode.flag_control_position_enabled) { + _pos_sp(0) = _offboard_control_pos_sp.p1; + _pos_sp(1) = _offboard_control_pos_sp.p2; + } + + if (_control_mode.flag_control_altitude_enabled) { + _pos_sp(2) = _offboard_control_pos_sp.p4; + } + _att_sp.yaw_body = _offboard_control_pos_sp.p3; } else { |