correctly scale and trim outputs in IO

This commit is contained in:
Andreas Antener
2016-07-13 09:29:13 +02:00
parent 13905c2480
commit af8cd3f880
+6 -3
View File
@@ -373,15 +373,18 @@ mixer_callback(uintptr_t handle,
if (source == MIX_OVERRIDE || source == MIX_OVERRIDE_FMU_OK) {
if (control_group == actuator_controls_s::GROUP_INDEX_ATTITUDE &&
control_index == actuator_controls_s::INDEX_ROLL) {
control *= REG_TO_FLOAT(r_setup_scale_roll) + REG_TO_FLOAT(r_setup_trim_roll);
control *= REG_TO_FLOAT(r_setup_scale_roll);
control += REG_TO_FLOAT(r_setup_trim_roll);
} else if (control_group == actuator_controls_s::GROUP_INDEX_ATTITUDE &&
control_index == actuator_controls_s::INDEX_PITCH) {
control *= REG_TO_FLOAT(r_setup_scale_pitch) + REG_TO_FLOAT(r_setup_trim_pitch);
control *= REG_TO_FLOAT(r_setup_scale_pitch);
control += REG_TO_FLOAT(r_setup_trim_pitch);
} else if (control_group == actuator_controls_s::GROUP_INDEX_ATTITUDE &&
control_index == actuator_controls_s::INDEX_YAW) {
control *= REG_TO_FLOAT(r_setup_scale_yaw) + REG_TO_FLOAT(r_setup_trim_yaw);
control *= REG_TO_FLOAT(r_setup_scale_yaw);
control += REG_TO_FLOAT(r_setup_trim_yaw);
}
}