aboutsummaryrefslogtreecommitdiff
path: root/src/modules/mc_pos_control/mc_pos_control_main.cpp
diff options
context:
space:
mode:
authorLorenz Meier <lm@qgroundcontrol.org>2014-10-07 10:29:04 +0200
committerLorenz Meier <lm@qgroundcontrol.org>2014-10-07 10:29:04 +0200
commit79e5ec646523c8c93bc0e17c39fbe31222863d93 (patch)
tree9d3d2d428c45f44f6cccd2e5b121fc0827b469f0 /src/modules/mc_pos_control/mc_pos_control_main.cpp
parentd856356fce52d802258a6bbfd8e4b705655ea624 (diff)
parentc6de36d683601a17bfa62d75da4ecb76e95360fe (diff)
downloadpx4-firmware-79e5ec646523c8c93bc0e17c39fbe31222863d93.tar.gz
px4-firmware-79e5ec646523c8c93bc0e17c39fbe31222863d93.tar.bz2
px4-firmware-79e5ec646523c8c93bc0e17c39fbe31222863d93.zip
Merge pull request #1151 from PX4/offboard2_externalsetpointmessages
Offboard2: Handle external setpoint messages
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.cpp6
1 files changed, 5 insertions, 1 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 ec7b2a78f..d52138522 100644
--- a/src/modules/mc_pos_control/mc_pos_control_main.cpp
+++ b/src/modules/mc_pos_control/mc_pos_control_main.cpp
@@ -653,7 +653,6 @@ MulticopterPositionControl::control_offboard(float dt)
_pos_sp(0) = _pos_sp_triplet.current.x;
_pos_sp(1) = _pos_sp_triplet.current.y;
_pos_sp(2) = _pos_sp_triplet.current.z;
- _att_sp.yaw_body = _pos_sp_triplet.current.yaw;
} else if (_control_mode.flag_control_velocity_enabled && _pos_sp_triplet.current.velocity_valid) {
/* control velocity */
@@ -663,6 +662,11 @@ MulticopterPositionControl::control_offboard(float dt)
/* set position setpoint move rate */
_sp_move_rate(0) = _pos_sp_triplet.current.vx;
_sp_move_rate(1) = _pos_sp_triplet.current.vy;
+ }
+
+ if (_pos_sp_triplet.current.yaw_valid) {
+ _att_sp.yaw_body = _pos_sp_triplet.current.yaw;
+ } else if (_pos_sp_triplet.current.yawspeed_valid) {
_att_sp.yaw_body = _att_sp.yaw_body + _pos_sp_triplet.current.yawspeed * dt;
}