diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index 761300ffe..83bba86bb 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -1594,6 +1594,7 @@ PACK(typedef struct t_TimerData { uint8_t spare:4; uint16_t value; }) TimerData; +#define IS_PERSISTENT_TIMER(idx) g_model.timers[idx].persistent #else PACK(typedef struct t_TimerData { int8_t mode; // timer trigger source -> off, abs, stk, stk%, sw/!sw, !m_sw/!m_sw @@ -1602,6 +1603,7 @@ PACK(typedef struct t_TimerData { uint16_t minuteBeep:1; uint16_t spare:2; }) TimerData; +#define IS_PERSISTENT_TIMER(idx) 0 #endif enum Protocols { diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 28dd5d93b..b26c93449 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -1619,8 +1619,14 @@ void flightReset() else AUDIO_RESET(); - timerReset(0); - timerReset(1); + if (!IS_PERSISTENT_TIMER(0)) { + timerReset(0); + } + + if (!IS_PERSISTENT_TIMER(1)) { + timerReset(1); + } + #if defined(FRSKY) telemetryReset(); #endif