1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-24 08:45:36 +03:00

Detach midrc (input) from servo center (output).

This fixes incorrect servo center position when midrc was not 1500.
Most likely only experienced by futaba plane or servo/tilt users.
This commit is contained in:
Dominic Clifton 2015-01-27 22:55:41 +01:00
parent f4ec9a2c65
commit a2b232e805
6 changed files with 10 additions and 5 deletions

View file

@ -473,14 +473,14 @@ static void airplaneMixer(void)
int16_t lFlap = determineServoMiddleOrForwardFromChannel(2);
lFlap = constrain(lFlap, servoConf[2].min, servoConf[2].max);
lFlap = rxConfig->midrc - lFlap;
lFlap = escAndServoConfig->servoCenterPulse - lFlap;
if (slow_LFlaps < lFlap)
slow_LFlaps += airplaneConfig->flaps_speed;
else if (slow_LFlaps > lFlap)
slow_LFlaps -= airplaneConfig->flaps_speed;
servo[2] = ((int32_t)servoConf[2].rate * slow_LFlaps) / 100L;
servo[2] += rxConfig->midrc;
servo[2] += escAndServoConfig->servoCenterPulse;
}
if (FLIGHT_MODE(PASSTHRU_MODE)) { // Direct passthru from RX