Merge pull request #11524 from klutvott123/prevent-failsafe-on-eeprom-write

Prevent false failsafe / rx loss on eeprom write for all RX protocols
This commit is contained in:
haslinghuis 2022-04-14 23:41:56 +02:00 committed by GitHub
commit 9360ab1276
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 10 deletions

View File

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

View File

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

View File

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