1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-26 01:35:41 +03:00

Prevent failsafe on eeprom write for all RX protocols

This commit is contained in:
Hans Christian Olaussen 2022-04-14 15:44:01 +02:00
parent b7c8eaee3f
commit 332ba0b37c
3 changed files with 10 additions and 10 deletions

View file

@ -717,7 +717,7 @@ void validateAndFixGyroConfig(void)
bool readEEPROM(void) bool readEEPROM(void)
{ {
suspendRxPwmPpmSignal(); suspendRxSignal();
// Sanity check, read flash // Sanity check, read flash
bool success = loadEEPROM(); bool success = loadEEPROM();
@ -728,7 +728,7 @@ bool readEEPROM(void)
activateConfig(); activateConfig();
resumeRxPwmPpmSignal(); resumeRxSignal();
return success; return success;
} }
@ -737,11 +737,11 @@ void writeUnmodifiedConfigToEEPROM(void)
{ {
validateAndFixConfig(); validateAndFixConfig();
suspendRxPwmPpmSignal(); suspendRxSignal();
writeConfigToEEPROM(); writeConfigToEEPROM();
resumeRxPwmPpmSignal(); resumeRxSignal();
configIsDirty = false; configIsDirty = false;
} }

View file

@ -374,26 +374,26 @@ bool rxAreFlightChannelsValid(void)
return rxFlightChannelsValid; return rxFlightChannelsValid;
} }
void suspendRxPwmPpmSignal(void) void suspendRxSignal(void)
{ {
#if defined(USE_PWM) || defined(USE_PPM) #if defined(USE_PWM) || defined(USE_PPM)
if (rxRuntimeState.rxProvider == RX_PROVIDER_PARALLEL_PWM || rxRuntimeState.rxProvider == RX_PROVIDER_PPM) { if (rxRuntimeState.rxProvider == RX_PROVIDER_PARALLEL_PWM || rxRuntimeState.rxProvider == RX_PROVIDER_PPM) {
suspendRxSignalUntil = micros() + DELAY_1500_MS; // 1.5s suspendRxSignalUntil = micros() + DELAY_1500_MS; // 1.5s
skipRxSamples = SKIP_RC_SAMPLES_ON_RESUME; skipRxSamples = SKIP_RC_SAMPLES_ON_RESUME;
failsafeOnRxSuspend(DELAY_1500_MS); // 1.5s
} }
#endif #endif
failsafeOnRxSuspend(DELAY_1500_MS); // 1.5s
} }
void resumeRxPwmPpmSignal(void) void resumeRxSignal(void)
{ {
#if defined(USE_PWM) || defined(USE_PPM) #if defined(USE_PWM) || defined(USE_PPM)
if (rxRuntimeState.rxProvider == RX_PROVIDER_PARALLEL_PWM || rxRuntimeState.rxProvider == RX_PROVIDER_PPM) { if (rxRuntimeState.rxProvider == RX_PROVIDER_PARALLEL_PWM || rxRuntimeState.rxProvider == RX_PROVIDER_PPM) {
suspendRxSignalUntil = micros(); suspendRxSignalUntil = micros();
skipRxSamples = SKIP_RC_SAMPLES_ON_RESUME; skipRxSamples = SKIP_RC_SAMPLES_ON_RESUME;
failsafeOnRxResume();
} }
#endif #endif
failsafeOnRxResume();
} }
#ifdef USE_RX_LINK_QUALITY_INFO #ifdef USE_RX_LINK_QUALITY_INFO

View file

@ -214,8 +214,8 @@ uint16_t rxGetUplinkTxPwrMw(void);
void resetAllRxChannelRangeConfigurations(rxChannelRangeConfig_t *rxChannelRangeConfig); void resetAllRxChannelRangeConfigurations(rxChannelRangeConfig_t *rxChannelRangeConfig);
void suspendRxPwmPpmSignal(void); void suspendRxSignal(void);
void resumeRxPwmPpmSignal(void); void resumeRxSignal(void);
uint16_t rxGetRefreshRate(void); uint16_t rxGetRefreshRate(void);