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:
parent
f4ec9a2c65
commit
a2b232e805
6 changed files with 10 additions and 5 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue