From 21175320b4c3daca4dea8c50c62f183ecdee5e3a Mon Sep 17 00:00:00 2001 From: Michael Keller Date: Fri, 15 Sep 2017 21:57:55 +1200 Subject: [PATCH] Fixed Spektrum binding when overclocked. Also changed data type of 'spektrum_sat_bind_autoreset' from uint8_t to lookup(TABLE_OFF_ON). --- src/main/fc/fc_init.c | 28 ++++++++++++++-------------- src/main/fc/settings.c | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/main/fc/fc_init.c b/src/main/fc/fc_init.c index 27c4c56c57..121f71adeb 100644 --- a/src/main/fc/fc_init.c +++ b/src/main/fc/fc_init.c @@ -273,20 +273,6 @@ void init(void) resetEEPROM(); } -#if defined(STM32F4) && !defined(DISABLE_OVERCLOCK) - // If F4 Overclocking is set and System core clock is not correct a reset is forced - if (systemConfig()->cpu_overclock && SystemCoreClock != OC_FREQUENCY_HZ) { - *((uint32_t *)0x2001FFF8) = 0xBABEFACE; // 128KB SRAM STM32F4XX - __disable_irq(); - NVIC_SystemReset(); - } else if (!systemConfig()->cpu_overclock && SystemCoreClock == OC_FREQUENCY_HZ) { - *((uint32_t *)0x2001FFF8) = 0x0; // 128KB SRAM STM32F4XX - __disable_irq(); - NVIC_SystemReset(); - } - -#endif - systemState |= SYSTEM_STATE_CONFIG_LOADED; //i2cSetOverclock(masterConfig.i2c_overclock); @@ -351,6 +337,20 @@ void init(void) } #endif +#if defined(STM32F4) && !defined(DISABLE_OVERCLOCK) + // If F4 Overclocking is set and System core clock is not correct a reset is forced + if (systemConfig()->cpu_overclock && SystemCoreClock != OC_FREQUENCY_HZ) { + *((uint32_t *)0x2001FFF8) = 0xBABEFACE; // 128KB SRAM STM32F4XX + __disable_irq(); + NVIC_SystemReset(); + } else if (!systemConfig()->cpu_overclock && SystemCoreClock == OC_FREQUENCY_HZ) { + *((uint32_t *)0x2001FFF8) = 0x0; // 128KB SRAM STM32F4XX + __disable_irq(); + NVIC_SystemReset(); + } + +#endif + delay(100); timerInit(); // timer must be initialized before any channel is allocated diff --git a/src/main/fc/settings.c b/src/main/fc/settings.c index 9fbdc1073e..b32f1c278f 100644 --- a/src/main/fc/settings.c +++ b/src/main/fc/settings.c @@ -373,7 +373,7 @@ const clivalue_t valueTable[] = { #endif #ifdef USE_SPEKTRUM_BIND { "spektrum_sat_bind", VAR_UINT8 | MASTER_VALUE, .config.minmax = { SPEKTRUM_SAT_BIND_DISABLED, SPEKTRUM_SAT_BIND_MAX}, PG_RX_CONFIG, offsetof(rxConfig_t, spektrum_sat_bind) }, - { "spektrum_sat_bind_autoreset",VAR_UINT8 | MASTER_VALUE, .config.minmax = { 0, 1 }, PG_RX_CONFIG, offsetof(rxConfig_t, spektrum_sat_bind_autoreset) }, + { "spektrum_sat_bind_autoreset",VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_RX_CONFIG, offsetof(rxConfig_t, spektrum_sat_bind_autoreset) }, #endif { "airmode_start_throttle", VAR_UINT16 | MASTER_VALUE, .config.minmax = { 1000, 2000 }, PG_RX_CONFIG, offsetof(rxConfig_t, airModeActivateThreshold) }, { "rx_min_usec", VAR_UINT16 | MASTER_VALUE, .config.minmax = { PWM_PULSE_MIN, PWM_PULSE_MAX }, PG_RX_CONFIG, offsetof(rxConfig_t, rx_min_usec) },