use virtual attitude setpoint

Conflicts:
	src/modules/vtol_att_control/tailsitter.cpp
	src/modules/vtol_att_control/tiltrotor.cpp
	src/modules/vtol_att_control/vtol_att_control_main.cpp
	src/modules/vtol_att_control/vtol_att_control_main.h
	src/modules/vtol_att_control/vtol_type.h
This commit is contained in:
tumbili
2015-11-25 13:28:22 +01:00
parent d1dc8ed432
commit 0a0a074194
11 changed files with 143 additions and 34 deletions
+9 -2
View File
@@ -186,6 +186,9 @@ void Standard::update_vtol_state()
void Standard::update_transition_state()
{
// copy virtual attitude setpoint to real attitude setpoint
memcpy(_v_att_sp, _mc_virtual_att_sp, sizeof(vehicle_attitude_setpoint_s));
if (_vtol_schedule.flight_mode == TRANSITION_TO_FW) {
if (_params_standard.front_trans_dur <= 0.0f) {
// just set the final target throttle value
@@ -242,12 +245,16 @@ void Standard::update_transition_state()
void Standard::update_mc_state()
{
// do nothing
// copy virtual attitude setpoint to real attitude setpoint
memcpy(_v_att_sp, _mc_virtual_att_sp, sizeof(vehicle_attitude_setpoint_s));
}
void Standard::update_fw_state()
{
// in fw mode we need the multirotor motors to stop spinning, in backtransition mode we let them spin up again
// copy virtual attitude setpoint to real attitude setpoint
memcpy(_v_att_sp, _fw_virtual_att_sp, sizeof(vehicle_attitude_setpoint_s));
// in fw mode we need the multirotor motors to stop spinning, in backtransition mode we let them spin up again
if (!_flag_enable_mc_motors) {
set_max_mc(950);
set_idle_fw(); // force them to stop, not just idle