|
|
|
@ -183,25 +183,15 @@ void Plane::read_radio()
@@ -183,25 +183,15 @@ void Plane::read_radio()
|
|
|
|
|
|
|
|
|
|
failsafe.last_valid_rc_ms = millis(); |
|
|
|
|
|
|
|
|
|
elevon.ch1_temp = channel_roll->read(); |
|
|
|
|
elevon.ch2_temp = channel_pitch->read(); |
|
|
|
|
uint16_t pwm_roll, pwm_pitch; |
|
|
|
|
|
|
|
|
|
pwm_roll = elevon.ch1_temp; |
|
|
|
|
pwm_pitch = elevon.ch2_temp; |
|
|
|
|
|
|
|
|
|
RC_Channels::set_pwm_all(); |
|
|
|
|
|
|
|
|
|
if (control_mode == TRAINING) { |
|
|
|
|
// in training mode we don't want to use a deadzone, as we
|
|
|
|
|
// want manual pass through when not exceeding attitude limits
|
|
|
|
|
channel_roll->set_pwm_no_deadzone(pwm_roll); |
|
|
|
|
channel_pitch->set_pwm_no_deadzone(pwm_pitch); |
|
|
|
|
channel_throttle->set_pwm_no_deadzone(channel_throttle->read()); |
|
|
|
|
channel_rudder->set_pwm_no_deadzone(channel_rudder->read()); |
|
|
|
|
} else { |
|
|
|
|
channel_roll->set_pwm(pwm_roll); |
|
|
|
|
channel_pitch->set_pwm(pwm_pitch); |
|
|
|
|
channel_roll->recompute_pwm_no_deadzone(); |
|
|
|
|
channel_pitch->recompute_pwm_no_deadzone(); |
|
|
|
|
channel_throttle->recompute_pwm_no_deadzone(); |
|
|
|
|
channel_rudder->recompute_pwm_no_deadzone(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
control_failsafe(); |
|
|
|
|