fix NaN yaw breaking attitude setpoints when going back into posctl from offboard

This commit is contained in:
Elikos default 2015-06-11 20:28:47 -04:00 committed by Lorenz Meier
parent 938301cdec
commit a0176474c7
2 changed files with 4 additions and 4 deletions

View File

@ -621,7 +621,7 @@ MavlinkReceiver::handle_message_set_position_target_local_ned(mavlink_message_t
}
/* set the yaw sp value */
if (!offboard_control_mode.ignore_attitude) {
if (!offboard_control_mode.ignore_attitude && !isnan(set_position_target_local_ned.yaw)) {
pos_sp_triplet.current.yaw_valid = true;
pos_sp_triplet.current.yaw = set_position_target_local_ned.yaw;
@ -630,7 +630,7 @@ MavlinkReceiver::handle_message_set_position_target_local_ned(mavlink_message_t
}
/* set the yawrate sp value */
if (!offboard_control_mode.ignore_bodyrate) {
if (!offboard_control_mode.ignore_bodyrate && !isnan(set_position_target_local_ned.yaw)) {
pos_sp_triplet.current.yawspeed_valid = true;
pos_sp_triplet.current.yawspeed = set_position_target_local_ned.yaw_rate;

View File

@ -273,7 +273,7 @@ void Mavlink::handle_msg_set_position_target_local_ned(const mavlink_message_t *
}
/* set the yaw sp value */
if (!offboard_control_mode.ignore_attitude) {
if (!offboard_control_mode.ignore_attitude && !isnan(set_position_target_local_ned.yaw)) {
pos_sp_triplet.current.yaw_valid = true;
pos_sp_triplet.current.yaw = set_position_target_local_ned.yaw;
@ -282,7 +282,7 @@ void Mavlink::handle_msg_set_position_target_local_ned(const mavlink_message_t *
}
/* set the yawrate sp value */
if (!offboard_control_mode.ignore_bodyrate) {
if (!offboard_control_mode.ignore_bodyrate && !isnan(set_position_target_local_ned.yaw)) {
pos_sp_triplet.current.yawspeed_valid = true;
pos_sp_triplet.current.yawspeed = set_position_target_local_ned.yaw_rate;