Check if offboard mode was activated before publishing controls

This commit is contained in:
Matt Beall
2015-02-28 15:19:16 +01:00
committed by Thomas Gubler
parent 220fb19eb7
commit 0f51907dd6
+11 -1
View File
@@ -684,6 +684,16 @@ MavlinkReceiver::handle_message_set_actuator_control_target(mavlink_message_t *m
orb_publish(ORB_ID(offboard_control_mode), _offboard_control_mode_pub, &offboard_control_mode); orb_publish(ORB_ID(offboard_control_mode), _offboard_control_mode_pub, &offboard_control_mode);
} }
/* If we are in offboard control mode, publish the actuator controls */
bool updated;
orb_check(_control_mode_sub, &updated);
if (updated) {
orb_copy(ORB_ID(vehicle_control_mode), _control_mode_sub, &_control_mode);
}
if (_control_mode.flag_control_offboard_enabled) {
actuator_controls.timestamp = hrt_absolute_time(); actuator_controls.timestamp = hrt_absolute_time();
/* Set duty cycles for the servos in actuator_controls_0 */ /* Set duty cycles for the servos in actuator_controls_0 */
@@ -696,7 +706,7 @@ MavlinkReceiver::handle_message_set_actuator_control_target(mavlink_message_t *m
} else { } else {
orb_publish(ORB_ID(actuator_controls_0), _actuator_controls_pub, &actuator_controls); orb_publish(ORB_ID(actuator_controls_0), _actuator_controls_pub, &actuator_controls);
} }
}
} }
} }