From 689fea2f90f9899e9697a9483da077e02970648a Mon Sep 17 00:00:00 2001 From: bsongis Date: Sun, 16 Dec 2012 22:11:35 +0000 Subject: [PATCH] [all] Fade-in / Fade-out in flight phases was broken (wrong flash saving) --- src/open9x.cpp | 20 +++++++++----------- src/open9x.h | 2 ++ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/open9x.cpp b/src/open9x.cpp index a6b3a3b97..985dd14a4 100644 --- a/src/open9x.cpp +++ b/src/open9x.cpp @@ -2530,7 +2530,7 @@ FORCEINLINE void doMixerCalculations() #define MAX_ACT 0xffff static uint16_t fp_act[MAX_PHASES] = {0}; static uint16_t delta = 0; - static uint8_t s_fade_flight_phases = 0; + static ACTIVE_PHASES_TYPE s_fade_flight_phases = 0; static uint8_t s_last_phase = 255; uint8_t phase = getFlightPhase(); int32_t weight = 0; @@ -2541,11 +2541,10 @@ FORCEINLINE void doMixerCalculations() } else { uint8_t fadeTime = max(g_model.phaseData[s_last_phase].fadeOut, g_model.phaseData[phase].fadeIn); - uint8_t transitionMask = (1< delta) - fp_act[p] += delta; + if (MAX_ACT - fp_act[p] > tick_delta) + fp_act[p] += tick_delta; else { fp_act[p] = MAX_ACT; s_fade_flight_phases -= phaseMask; } } else { - if (fp_act[p] > delta) - fp_act[p] -= delta; + if (fp_act[p] > tick_delta) + fp_act[p] -= tick_delta; else { fp_act[p] = 0; s_fade_flight_phases -= phaseMask; diff --git a/src/open9x.h b/src/open9x.h index 7cdcc2de8..e563d4b6c 100644 --- a/src/open9x.h +++ b/src/open9x.h @@ -1125,9 +1125,11 @@ extern void moveTrimsToOffsets(); #if defined(CPUARM) #define ACTIVE_EXPOS_TYPE uint32_t #define ACTIVE_MIXES_TYPE uint64_t +#define ACTIVE_PHASES_TYPE uint16_t #else #define ACTIVE_EXPOS_TYPE uint16_t #define ACTIVE_MIXES_TYPE uint32_t +#define ACTIVE_PHASES_TYPE uint8_t #endif #ifdef BOLD_FONT