mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-23 08:15:26 +03:00
Remove overclock (emf_avoidance) as unstable and unsafe feature (#420)
This commit is contained in:
parent
9d8a0848ed
commit
9ef4de8209
5 changed files with 2 additions and 26 deletions
|
@ -87,7 +87,7 @@ enum {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Set system clock to 72 (HSE) or 64 (HSI) MHz
|
// Set system clock to 72 (HSE) or 64 (HSI) MHz
|
||||||
void SetSysClock(bool overclock)
|
void SetSysClock(void)
|
||||||
{
|
{
|
||||||
__IO uint32_t StartUpCounter = 0, status = 0, clocksrc = SRC_NONE;
|
__IO uint32_t StartUpCounter = 0, status = 0, clocksrc = SRC_NONE;
|
||||||
__IO uint32_t *RCC_CRH = &GPIOC->CRH;
|
__IO uint32_t *RCC_CRH = &GPIOC->CRH;
|
||||||
|
@ -149,14 +149,6 @@ void SetSysClock(bool overclock)
|
||||||
#endif
|
#endif
|
||||||
switch (clocksrc) {
|
switch (clocksrc) {
|
||||||
case SRC_HSE:
|
case SRC_HSE:
|
||||||
if (overclock) {
|
|
||||||
if (RCC_CFGR_PLLMUL == RCC_CFGR_PLLMULL6)
|
|
||||||
RCC_CFGR_PLLMUL = RCC_CFGR_PLLMULL7;
|
|
||||||
else if (RCC_CFGR_PLLMUL == RCC_CFGR_PLLMULL9)
|
|
||||||
RCC_CFGR_PLLMUL = RCC_CFGR_PLLMULL10;
|
|
||||||
}
|
|
||||||
// overclock=false : PLL configuration: PLLCLK = HSE * 9 = 72 MHz || HSE * 6 = 72 MHz
|
|
||||||
// overclock=true : PLL configuration: PLLCLK = HSE * 10 = 80 MHz || HSE * 7 = 84 MHz
|
|
||||||
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMUL);
|
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMUL);
|
||||||
break;
|
break;
|
||||||
case SRC_HSI:
|
case SRC_HSI:
|
||||||
|
|
|
@ -564,7 +564,6 @@ static void resetConf(void)
|
||||||
resetSerialConfig(&masterConfig.serialConfig);
|
resetSerialConfig(&masterConfig.serialConfig);
|
||||||
|
|
||||||
masterConfig.looptime = 2000;
|
masterConfig.looptime = 2000;
|
||||||
masterConfig.emf_avoidance = 0;
|
|
||||||
masterConfig.i2c_overclock = 0;
|
masterConfig.i2c_overclock = 0;
|
||||||
masterConfig.gyroSync = 0;
|
masterConfig.gyroSync = 0;
|
||||||
masterConfig.gyroSyncDenominator = 2;
|
masterConfig.gyroSyncDenominator = 2;
|
||||||
|
|
|
@ -27,7 +27,6 @@ typedef struct master_t {
|
||||||
uint32_t enabledFeatures;
|
uint32_t enabledFeatures;
|
||||||
uint8_t persistentFlags;
|
uint8_t persistentFlags;
|
||||||
uint16_t looptime; // imu loop time in us
|
uint16_t looptime; // imu loop time in us
|
||||||
uint8_t emf_avoidance; // change pll settings to avoid noise in the uhf band
|
|
||||||
uint8_t i2c_overclock; // Overclock i2c Bus for faster IMU readings
|
uint8_t i2c_overclock; // Overclock i2c Bus for faster IMU readings
|
||||||
uint8_t gyroSync; // Enable interrupt based loop
|
uint8_t gyroSync; // Enable interrupt based loop
|
||||||
uint8_t gyroSyncDenominator; // Gyro sync Denominator
|
uint8_t gyroSyncDenominator; // Gyro sync Denominator
|
||||||
|
|
|
@ -556,7 +556,6 @@ typedef struct {
|
||||||
|
|
||||||
const clivalue_t valueTable[] = {
|
const clivalue_t valueTable[] = {
|
||||||
{ "looptime", VAR_UINT16 | MASTER_VALUE, &masterConfig.looptime, .config.minmax = {0, 9000}, 0 },
|
{ "looptime", VAR_UINT16 | MASTER_VALUE, &masterConfig.looptime, .config.minmax = {0, 9000}, 0 },
|
||||||
{ "emf_avoidance", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &masterConfig.emf_avoidance, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
||||||
{ "i2c_overclock", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &masterConfig.i2c_overclock, .config.lookup = { TABLE_OFF_ON }, 0 },
|
{ "i2c_overclock", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &masterConfig.i2c_overclock, .config.lookup = { TABLE_OFF_ON }, 0 },
|
||||||
{ "gyro_sync", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &masterConfig.gyroSync, .config.lookup = { TABLE_OFF_ON } },
|
{ "gyro_sync", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &masterConfig.gyroSync, .config.lookup = { TABLE_OFF_ON } },
|
||||||
{ "gyro_sync_denom", VAR_UINT8 | MASTER_VALUE, &masterConfig.gyroSyncDenominator, .config.minmax = { 1, 32 } },
|
{ "gyro_sync_denom", VAR_UINT8 | MASTER_VALUE, &masterConfig.gyroSyncDenominator, .config.minmax = { 1, 32 } },
|
||||||
|
|
|
@ -124,14 +124,7 @@ void ledStripInit(ledConfig_t *ledConfigsToUse, hsvColor_t *colorsToUse, modeCol
|
||||||
void spektrumBind(rxConfig_t *rxConfig);
|
void spektrumBind(rxConfig_t *rxConfig);
|
||||||
const sonarHcsr04Hardware_t *sonarGetHardwareConfiguration(currentSensor_e currentSensor);
|
const sonarHcsr04Hardware_t *sonarGetHardwareConfiguration(currentSensor_e currentSensor);
|
||||||
|
|
||||||
#ifdef STM32F303xC
|
|
||||||
// from system_stm32f30x.c
|
|
||||||
void SetSysClock(void);
|
void SetSysClock(void);
|
||||||
#endif
|
|
||||||
#ifdef STM32F10X
|
|
||||||
// from system_stm32f10x.c
|
|
||||||
void SetSysClock(bool overclock);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
SYSTEM_STATE_INITIALISING = 0,
|
SYSTEM_STATE_INITIALISING = 0,
|
||||||
|
@ -179,14 +172,8 @@ void init(void)
|
||||||
SCB->CPACR = (0x3 << (10*2)) | (0x3 << (11*2));
|
SCB->CPACR = (0x3 << (10*2)) | (0x3 << (11*2));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef STM32F303xC
|
|
||||||
SetSysClock();
|
SetSysClock();
|
||||||
#endif
|
|
||||||
#ifdef STM32F10X
|
|
||||||
// Configure the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers
|
|
||||||
// Configure the Flash Latency cycles and enable prefetch buffer
|
|
||||||
SetSysClock(masterConfig.emf_avoidance);
|
|
||||||
#endif
|
|
||||||
i2cSetOverclock(masterConfig.i2c_overclock);
|
i2cSetOverclock(masterConfig.i2c_overclock);
|
||||||
|
|
||||||
#ifdef USE_HARDWARE_REVISION_DETECTION
|
#ifdef USE_HARDWARE_REVISION_DETECTION
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue