Skip to content

Commit db402f2

Browse files
committed
Merge branch 'betaflight_master' into emuflight-1.0.0-master
2 parents 79f6ede + 642689d commit db402f2

File tree

3 files changed

+7
-3
lines changed

3 files changed

+7
-3
lines changed

src/main/cli/settings.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -869,7 +869,7 @@ const clivalue_t valueTable[] = {
869869
{ "thr_corr_angle", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { 1, 900 }, PG_THROTTLE_CORRECTION_CONFIG, offsetof(throttleCorrectionConfig_t, throttle_correction_angle) },
870870

871871
// PG_FAILSAFE_CONFIG
872-
{ "failsafe_delay", VAR_UINT8 | MASTER_VALUE, .config.minmaxUnsigned = { 0, 200 }, PG_FAILSAFE_CONFIG, offsetof(failsafeConfig_t, failsafe_delay) },
872+
{ "failsafe_delay", VAR_UINT8 | MASTER_VALUE, .config.minmaxUnsigned = { PERIOD_RXDATA_RECOVERY / MILLIS_PER_TENTH_SECOND, 200 }, PG_FAILSAFE_CONFIG, offsetof(failsafeConfig_t, failsafe_delay) },
873873
{ "failsafe_off_delay", VAR_UINT8 | MASTER_VALUE, .config.minmaxUnsigned = { 0, 200 }, PG_FAILSAFE_CONFIG, offsetof(failsafeConfig_t, failsafe_off_delay) },
874874
{ "failsafe_throttle", VAR_UINT16 | MASTER_VALUE, .config.minmaxUnsigned = { PWM_PULSE_MIN, PWM_PULSE_MAX }, PG_FAILSAFE_CONFIG, offsetof(failsafeConfig_t, failsafe_throttle) },
875875
{ "failsafe_switch_mode", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_FAILSAFE_SWITCH_MODE }, PG_FAILSAFE_CONFIG, offsetof(failsafeConfig_t, failsafe_switch_mode) },

src/main/cms/cms_menu_failsafe.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ static const OSD_Entry cmsx_menuFailsafeEntries[] =
7878
{ "-- FAILSAFE --", OME_Label, NULL, NULL},
7979

8080
{ "PROCEDURE", OME_TAB | REBOOT_REQUIRED, NULL, &(OSD_TAB_t) { &failsafeConfig_failsafe_procedure, FAILSAFE_PROCEDURE_COUNT - 1, failsafeProcedureNames } },
81-
{ "GUARD TIME", OME_FLOAT | REBOOT_REQUIRED, NULL, &(OSD_FLOAT_t) { &failsafeConfig_failsafe_delay, 0, 200, 1, 100 } },
81+
{ "GUARD TIME", OME_FLOAT | REBOOT_REQUIRED, NULL, &(OSD_FLOAT_t) { &failsafeConfig_failsafe_delay, PERIOD_RXDATA_RECOVERY / MILLIS_PER_TENTH_SECOND, 200, 1, 100 } },
8282
{ "STAGE 2 DELAY", OME_FLOAT | REBOOT_REQUIRED, NULL, &(OSD_FLOAT_t) { &failsafeConfig_failsafe_off_delay, 0, 200, 1, 100 } },
8383
{ "STAGE 2 THROTTLE", OME_UINT16 | REBOOT_REQUIRED, NULL, &(OSD_UINT16_t) { &failsafeConfig_failsafe_throttle, PWM_PULSE_MIN, PWM_PULSE_MAX, 1 } },
8484
#ifdef USE_CMS_GPS_RESCUE_MENU

src/main/flight/failsafe.c

+5-1
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,12 @@ const char * const failsafeProcedureNames[FAILSAFE_PROCEDURE_COUNT] = {
8787
void failsafeReset(void)
8888
{
8989
failsafeState.rxDataFailurePeriod = failsafeConfig()->failsafe_delay * MILLIS_PER_TENTH_SECOND; // time to start stage2
90+
if (failsafeState.rxDataFailurePeriod < PERIOD_RXDATA_RECOVERY) {
91+
// PERIOD_RXDATA_RECOVERY (200ms) - avoid transients and ensure reliable arming
92+
failsafeState.rxDataFailurePeriod = PERIOD_RXDATA_RECOVERY;
93+
}
9094
failsafeState.rxDataRecoveryPeriod = failsafeConfig()->failsafe_recovery_delay * MILLIS_PER_TENTH_SECOND;
91-
if (failsafeState.rxDataRecoveryPeriod < PERIOD_RXDATA_RECOVERY){
95+
if (failsafeState.rxDataRecoveryPeriod < PERIOD_RXDATA_RECOVERY) {
9296
// PERIOD_RXDATA_RECOVERY (200ms) is the minimum allowed RxData recovery time
9397
failsafeState.rxDataRecoveryPeriod = PERIOD_RXDATA_RECOVERY;
9498
}

0 commit comments

Comments
 (0)