fix(fw): trim not applied when mix source is inverted (#7779)

Co-authored-by: philmoz <phil.a.mitchell@gmail.com>
This commit is contained in:
philmoz
2026-09-13 13:37:36 +10:00
committed by GitHub
co-authored by philmoz
parent 7f7d57e8d8
commit b0eb2332fc
+6 -6
View File
@@ -716,13 +716,13 @@ int getSourceTrimOrigin(int source)
int getSourceTrimValue(int source, int stickValue=0)
{
auto origin = getSourceTrimOrigin(source);
int rv = 0;
auto origin = getSourceTrimOrigin(abs(source));
if (origin >= 0) {
return getStickTrimValue(origin, stickValue);
}
else {
return 0;
rv = getStickTrimValue(origin, stickValue);
if (source < 0) rv = -rv;
}
return rv;
}
constexpr bitfield_channels_t all_channels_dirty = (bitfield_channels_t)-1;
@@ -978,7 +978,7 @@ void evalFlightModeMixes(uint8_t mode, uint8_t tick10ms)
if (applyOffsetAndCurve) {
bool applyTrims = !(mode & e_perout_mode_notrims);
if (!applyTrims && g_model.thrTrim) {
auto origin = getSourceTrimOrigin(srcRaw);
auto origin = getSourceTrimOrigin(srcRawAbs);
if (origin == g_model.getThrottleStickTrimSource() - MIXSRC_FIRST_TRIM) {
applyTrims = true;
}