Skip to content

Commit

Permalink
Merge pull request #11524 from klutvott123/prevent-failsafe-on-eeprom…
Browse files Browse the repository at this point in the history
…-write

Prevent false failsafe / rx loss on eeprom write for all RX protocols
  • Loading branch information
haslinghuis committed Apr 14, 2022
2 parents b7c8eae + 332ba0b commit 9360ab1
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 10 deletions.
8 changes: 4 additions & 4 deletions src/main/config/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -717,7 +717,7 @@ void validateAndFixGyroConfig(void)

bool readEEPROM(void)
{
suspendRxPwmPpmSignal();
suspendRxSignal();

// Sanity check, read flash
bool success = loadEEPROM();
Expand All @@ -728,7 +728,7 @@ bool readEEPROM(void)

activateConfig();

resumeRxPwmPpmSignal();
resumeRxSignal();

return success;
}
Expand All @@ -737,11 +737,11 @@ void writeUnmodifiedConfigToEEPROM(void)
{
validateAndFixConfig();

suspendRxPwmPpmSignal();
suspendRxSignal();

writeConfigToEEPROM();

resumeRxPwmPpmSignal();
resumeRxSignal();
configIsDirty = false;
}

Expand Down
8 changes: 4 additions & 4 deletions src/main/rx/rx.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions src/main/rx/rx.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down

0 comments on commit 9360ab1

Please sign in to comment.