Fix Motor stop and 3D reverse
This commit is contained in:
parent
91d12a0b7c
commit
2f6eeed6f5
|
@ -83,7 +83,6 @@ static lowpass_t lowpassFilters[MAX_SUPPORTED_SERVOS];
|
|||
#endif
|
||||
|
||||
typedef enum {
|
||||
THROTTLE_REVERSED,
|
||||
THROTTLE_LOW_NEUTRAL,
|
||||
THROTTLE_HIGH_NEUTRAL,
|
||||
THROTTLE_NORMAL
|
||||
|
@ -808,7 +807,7 @@ void mixTable(void)
|
|||
if (rcData[THROTTLE] <= (rxConfig->midrc - flight3DConfig->deadband3d_throttle)) {
|
||||
throttleMax = rxConfig->midrc - flight3DConfig->deadband3d_high;
|
||||
throttleMin = escAndServoConfig->minthrottle;
|
||||
throttleStatus3d = THROTTLE_REVERSED;
|
||||
throttleStatus3d = THROTTLE_NORMAL;
|
||||
} else if (rcData[THROTTLE] >= (rxConfig->midrc + flight3DConfig->deadband3d_throttle)) {
|
||||
throttleMin = rxConfig->midrc + flight3DConfig->deadband3d_high;
|
||||
throttleMax = escAndServoConfig->maxthrottle;
|
||||
|
@ -840,21 +839,17 @@ void mixTable(void)
|
|||
// roll/pitch/yaw. This could move throttle down, but also up for those low throttle flips.
|
||||
for (i = 0; i < motorCount; i++) {
|
||||
motor[i] = rollPitchYawMix[i] + constrainf(rcCommand[THROTTLE] * currentMixer[i].throttle, throttleMin, throttleMax);
|
||||
}
|
||||
|
||||
// Correct motor output for 3D based on the current throttle state
|
||||
if (feature(FEATURE_3D)) {
|
||||
switch(throttleStatus3d) {
|
||||
case(THROTTLE_REVERSED):
|
||||
motor[i] = rxConfig->midrc - motor[i];
|
||||
break;
|
||||
case(THROTTLE_LOW_NEUTRAL):
|
||||
motor[i] = rxConfig->midrc - flight3DConfig->deadband3d_throttle;
|
||||
break;
|
||||
case(THROTTLE_HIGH_NEUTRAL):
|
||||
motor[i] = rxConfig->midrc + flight3DConfig->deadband3d_throttle;
|
||||
break;
|
||||
case(THROTTLE_NORMAL):
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -873,6 +868,7 @@ void mixTable(void)
|
|||
motor[i] = constrain(motor[i], escAndServoConfig->mincommand, escAndServoConfig->maxthrottle);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (ARMING_FLAG(ARMED)) {
|
||||
if (!(IS_RC_MODE_ACTIVE(BOXAIRMODE))) {
|
||||
|
|
Loading…
Reference in New Issue