diff --git a/src/main/blackbox/blackbox.c b/src/main/blackbox/blackbox.c index 8d1314ca7d..4606e8a178 100644 --- a/src/main/blackbox/blackbox.c +++ b/src/main/blackbox/blackbox.c @@ -1915,7 +1915,7 @@ static bool blackboxWriteSysinfo(void) BLACKBOX_PRINT_HEADER_LINE("dterm_lpf_type", "%d", pidProfile()->dterm_lpf_type); BLACKBOX_PRINT_HEADER_LINE("deadband", "%d", rcControlsConfig()->deadband); BLACKBOX_PRINT_HEADER_LINE("yaw_deadband", "%d", rcControlsConfig()->yaw_deadband); - BLACKBOX_PRINT_HEADER_LINE("gyro_lpf", "%d", gyroConfig()->gyro_lpf); + BLACKBOX_PRINT_HEADER_LINE("gyro_lpf", "%d", GYRO_LPF_256HZ); BLACKBOX_PRINT_HEADER_LINE("gyro_lpf_hz", "%d", gyroConfig()->gyro_main_lpf_hz); #ifdef USE_DYNAMIC_FILTERS BLACKBOX_PRINT_HEADER_LINE("dynamicGyroNotchQ", "%d", gyroConfig()->dynamicGyroNotchQ); diff --git a/src/main/cms/cms_menu_imu.c b/src/main/cms/cms_menu_imu.c index ce40d320c4..f8c75ab480 100644 --- a/src/main/cms/cms_menu_imu.c +++ b/src/main/cms/cms_menu_imu.c @@ -422,7 +422,6 @@ static const CMS_Menu cmsx_menuProfileOther = { static const OSD_Entry cmsx_menuFilterPerProfileEntries[] = { OSD_LABEL_DATA_ENTRY("-- FILTERING --", profileIndexString), - OSD_SETTING_ENTRY("HARDWARE LPF", SETTING_GYRO_HARDWARE_LPF), OSD_SETTING_ENTRY("GYRO MAIN", SETTING_GYRO_MAIN_LPF_HZ), OSD_SETTING_ENTRY("DTERM LPF", SETTING_DTERM_LPF_HZ), #ifdef USE_DYNAMIC_FILTERS diff --git a/src/main/drivers/accgyro/accgyro_bmi160.c b/src/main/drivers/accgyro/accgyro_bmi160.c index cadaeb22da..fc7fb472b5 100644 --- a/src/main/drivers/accgyro/accgyro_bmi160.c +++ b/src/main/drivers/accgyro/accgyro_bmi160.c @@ -108,15 +108,6 @@ static const gyroFilterAndRateConfig_t gyroConfigs[] = { { GYRO_LPF_256HZ, 3200, { BMI160_BWP_OSR4 | BMI160_ODR_3200_Hz} }, { GYRO_LPF_256HZ, 1600, { BMI160_BWP_OSR2 | BMI160_ODR_1600_Hz} }, { GYRO_LPF_256HZ, 800, { BMI160_BWP_NORMAL | BMI160_ODR_800_Hz } }, - - { GYRO_LPF_188HZ, 800, { BMI160_BWP_OSR2 | BMI160_ODR_800_Hz } }, // ODR = 800 Hz, LPF = 128 Hz - { GYRO_LPF_188HZ, 400, { BMI160_BWP_NORMAL | BMI160_ODR_400_Hz } }, // ODR = 400 Hz, LPF = 137 Hz - - { GYRO_LPF_98HZ, 800, { BMI160_BWP_OSR4 | BMI160_ODR_800_Hz } }, // ODR = 800 Hz, LPF = 63 Hz - { GYRO_LPF_98HZ, 400, { BMI160_BWP_OSR2 | BMI160_ODR_400_Hz } }, // ODR = 400 Hz, LPF = 68 Hz - - { GYRO_LPF_42HZ, 800, { BMI160_BWP_OSR4 | BMI160_ODR_800_Hz } }, // ODR = 800 Hz, LPF = 63 Hz - { GYRO_LPF_42HZ, 400, { BMI160_BWP_OSR4 | BMI160_ODR_400_Hz } }, // ODR = 400 Hz, LPF = 34 Hz }; static void bmi160AccAndGyroInit(gyroDev_t *gyro) diff --git a/src/main/drivers/accgyro/accgyro_bmi270.c b/src/main/drivers/accgyro/accgyro_bmi270.c index 3e1db22253..1dc4d3fc59 100644 --- a/src/main/drivers/accgyro/accgyro_bmi270.c +++ b/src/main/drivers/accgyro/accgyro_bmi270.c @@ -134,15 +134,6 @@ static const gyroFilterAndRateConfig_t gyroConfigs[] = { { GYRO_LPF_256HZ, 3200, { BMI270_BWP_OSR4 | BMI270_ODR_3200} }, { GYRO_LPF_256HZ, 1600, { BMI270_BWP_OSR2 | BMI270_ODR_1600} }, { GYRO_LPF_256HZ, 800, { BMI270_BWP_NORM | BMI270_ODR_800 } }, - - { GYRO_LPF_188HZ, 800, { BMI270_BWP_OSR2 | BMI270_ODR_800 } }, - { GYRO_LPF_188HZ, 400, { BMI270_BWP_NORM | BMI270_ODR_400 } }, - - { GYRO_LPF_98HZ, 800, { BMI270_BWP_OSR4 | BMI270_ODR_800 } }, - { GYRO_LPF_98HZ, 400, { BMI270_BWP_OSR2 | BMI270_ODR_400 } }, - - { GYRO_LPF_42HZ, 800, { BMI270_BWP_OSR4 | BMI270_ODR_800 } }, - { GYRO_LPF_42HZ, 400, { BMI270_BWP_OSR4 | BMI270_ODR_400 } }, }; // Toggle the CS to switch the device into SPI mode. diff --git a/src/main/drivers/accgyro/accgyro_icm42605.c b/src/main/drivers/accgyro/accgyro_icm42605.c index 082b31540e..13bc22fcee 100644 --- a/src/main/drivers/accgyro/accgyro_icm42605.c +++ b/src/main/drivers/accgyro/accgyro_icm42605.c @@ -198,21 +198,6 @@ static const gyroFilterAndRateConfig_t icm42605GyroConfigs[] = { { GYRO_LPF_256HZ, 2000, { 3, 5 } }, /* 250 Hz LPF */ { GYRO_LPF_256HZ, 1000, { 1, 6 } }, /* 250 Hz LPF */ { GYRO_LPF_256HZ, 500, { 0, 15 } }, /* 250 Hz LPF */ - - { GYRO_LPF_188HZ, 1000, { 3, 6 } }, /* 125 HZ */ - { GYRO_LPF_188HZ, 500, { 1, 15 } }, /* 125 HZ */ - - { GYRO_LPF_98HZ, 1000, { 4, 6 } }, /* 100 HZ*/ - { GYRO_LPF_98HZ, 500, { 2, 15 } }, /* 100 HZ*/ - - { GYRO_LPF_42HZ, 1000, { 6, 6 } }, /* 50 HZ */ - { GYRO_LPF_42HZ, 500, { 4, 15 } }, - - { GYRO_LPF_20HZ, 1000, { 7, 6 } }, /* 25 HZ */ - { GYRO_LPF_20HZ, 500, { 6, 15 } }, - - { GYRO_LPF_10HZ, 1000, { 7, 6 } }, /* 25 HZ */ - { GYRO_LPF_10HZ, 500, { 7, 15 } } /* 12.5 HZ */ }; static void icm42605AccAndGyroInit(gyroDev_t *gyro) diff --git a/src/main/drivers/accgyro/accgyro_mpu.c b/src/main/drivers/accgyro/accgyro_mpu.c index 710865436b..a52606946b 100644 --- a/src/main/drivers/accgyro/accgyro_mpu.c +++ b/src/main/drivers/accgyro/accgyro_mpu.c @@ -50,21 +50,6 @@ static const gyroFilterAndRateConfig_t mpuGyroConfigs[] = { { GYRO_LPF_256HZ, 1000, { MPU_DLPF_256HZ, 7 } }, { GYRO_LPF_256HZ, 666, { MPU_DLPF_256HZ, 11 } }, { GYRO_LPF_256HZ, 500, { MPU_DLPF_256HZ, 15 } }, - - { GYRO_LPF_188HZ, 1000, { MPU_DLPF_188HZ, 0 } }, - { GYRO_LPF_188HZ, 500, { MPU_DLPF_188HZ, 1 } }, - - { GYRO_LPF_98HZ, 1000, { MPU_DLPF_98HZ, 0 } }, - { GYRO_LPF_98HZ, 500, { MPU_DLPF_98HZ, 1 } }, - - { GYRO_LPF_42HZ, 1000, { MPU_DLPF_42HZ, 0 } }, - { GYRO_LPF_42HZ, 500, { MPU_DLPF_42HZ, 1 } }, - - { GYRO_LPF_20HZ, 1000, { MPU_DLPF_20HZ, 0 } }, - { GYRO_LPF_20HZ, 500, { MPU_DLPF_20HZ, 1 } }, - - { GYRO_LPF_10HZ, 1000, { MPU_DLPF_10HZ, 0 } }, - { GYRO_LPF_10HZ, 500, { MPU_DLPF_10HZ, 1 } } }; const gyroFilterAndRateConfig_t * mpuChooseGyroConfig(uint8_t desiredLpf, uint16_t desiredRateHz) diff --git a/src/main/fc/fc_msp.c b/src/main/fc/fc_msp.c index 2d47d0ec2e..61ce9f7d8e 100644 --- a/src/main/fc/fc_msp.c +++ b/src/main/fc/fc_msp.c @@ -1295,7 +1295,7 @@ static bool mspFcProcessOutCommand(uint16_t cmdMSP, sbuf_t *dst, mspPostProcessF sbufWriteU8(dst, pidProfile()->heading_hold_rate_limit); sbufWriteU8(dst, HEADING_HOLD_ERROR_LPF_FREQ); sbufWriteU16(dst, 0); - sbufWriteU8(dst, gyroConfig()->gyro_lpf); + sbufWriteU8(dst, GYRO_LPF_256HZ); sbufWriteU8(dst, accelerometerConfig()->acc_lpf_hz); sbufWriteU8(dst, 0); //reserved sbufWriteU8(dst, 0); //reserved @@ -2335,7 +2335,7 @@ static mspResult_e mspFcProcessInCommand(uint16_t cmdMSP, sbuf_t *src) pidProfileMutable()->heading_hold_rate_limit = sbufReadU8(src); sbufReadU8(src); //HEADING_HOLD_ERROR_LPF_FREQ sbufReadU16(src); //Legacy yaw_jump_prevention_limit - gyroConfigMutable()->gyro_lpf = sbufReadU8(src); + sbufReadU8(src); // was gyro lpf accelerometerConfigMutable()->acc_lpf_hz = sbufReadU8(src); sbufReadU8(src); //reserved sbufReadU8(src); //reserved diff --git a/src/main/fc/settings.yaml b/src/main/fc/settings.yaml index 21f4e33fee..8d1006c285 100644 --- a/src/main/fc/settings.yaml +++ b/src/main/fc/settings.yaml @@ -1,8 +1,6 @@ tables: - name: alignment values: ["DEFAULT", "CW0", "CW90", "CW180", "CW270", "CW0FLIP", "CW90FLIP", "CW180FLIP", "CW270FLIP"] - - name: gyro_lpf - values: ["256HZ", "188HZ", "98HZ", "42HZ", "20HZ", "10HZ"] - name: acc_hardware values: ["NONE", "AUTO", "MPU6000", "MPU6500", "MPU9250", "BMI160", "ICM20689", "BMI088", "ICM42605", "BMI270","LSM6DXX", "FAKE"] enum: accelerationSensor_e @@ -217,11 +215,6 @@ groups: description: "This is the main loop time (in us). Changing this affects PID effect with some PID controllers (see PID section for details). A very conservative value of 3500us/285Hz should work for everyone. Setting it to zero does not limit loop time, so it will go as fast as possible." default_value: 1000 max: 9000 - - name: gyro_hardware_lpf - description: "Hardware lowpass filter for gyro. This value should never be changed without a very strong reason! If you have to set gyro lpf below 256HZ, it means the frame is vibrating too much, and that should be fixed first." - default_value: "256HZ" - field: gyro_lpf - table: gyro_lpf - name: gyro_anti_aliasing_lpf_hz description: "Gyro processing anti-aliasing filter cutoff frequency. In normal operation this filter setting should never be changed. In Hz" default_value: 250 diff --git a/src/main/io/osd_dji_hd.c b/src/main/io/osd_dji_hd.c index 29dfe0b809..ada5b8501c 100644 --- a/src/main/io/osd_dji_hd.c +++ b/src/main/io/osd_dji_hd.c @@ -1454,7 +1454,7 @@ static mspResult_e djiProcessMspCommand(mspPacket_t *cmd, mspPacket_t *reply, ms sbufWriteU16(dst, 0); // BF: gyroConfig()->gyro_soft_notch_hz_2 sbufWriteU16(dst, 1); // BF: gyroConfig()->gyro_soft_notch_cutoff_2 sbufWriteU8(dst, 0); // BF: currentPidProfile->dterm_filter_type - sbufWriteU8(dst, gyroConfig()->gyro_lpf); // BF: gyroConfig()->gyro_hardware_lpf); + sbufWriteU8(dst, GYRO_LPF_256HZ); // BF: gyroConfig()->gyro_hardware_lpf); sbufWriteU8(dst, 0); // BF: DEPRECATED: gyro_32khz_hardware_lpf sbufWriteU16(dst, gyroConfig()->gyro_main_lpf_hz); // BF: gyroConfig()->gyro_lowpass_hz); sbufWriteU16(dst, 0); // BF: gyroConfig()->gyro_lowpass2_hz); diff --git a/src/main/sensors/gyro.c b/src/main/sensors/gyro.c index 7e8c9742e0..97e3f3be43 100644 --- a/src/main/sensors/gyro.c +++ b/src/main/sensors/gyro.c @@ -98,7 +98,6 @@ EXTENDED_FASTRAM secondaryDynamicGyroNotchState_t secondaryDynamicGyroNotchState PG_REGISTER_WITH_RESET_TEMPLATE(gyroConfig_t, gyroConfig, PG_GYRO_CONFIG, 8); PG_RESET_TEMPLATE(gyroConfig_t, gyroConfig, - .gyro_lpf = SETTING_GYRO_HARDWARE_LPF_DEFAULT, .gyro_anti_aliasing_lpf_hz = SETTING_GYRO_ANTI_ALIASING_LPF_HZ_DEFAULT, .looptime = SETTING_LOOPTIME_DEFAULT, #ifdef USE_DUAL_GYRO @@ -282,7 +281,7 @@ bool gyroInit(void) sensorsSet(SENSOR_GYRO); // Driver initialisation - gyroDev[0].lpf = gyroConfig()->gyro_lpf; + gyroDev[0].lpf = GYRO_LPF_256HZ; gyroDev[0].requestedSampleIntervalUs = TASK_GYRO_LOOPTIME; gyroDev[0].sampleRateIntervalUs = TASK_GYRO_LOOPTIME; gyroDev[0].initFn(&gyroDev[0]); diff --git a/src/main/sensors/gyro.h b/src/main/sensors/gyro.h index c1a9d324dc..2ea70c589d 100644 --- a/src/main/sensors/gyro.h +++ b/src/main/sensors/gyro.h @@ -64,7 +64,6 @@ extern dynamicGyroNotchState_t dynamicGyroNotchState; typedef struct gyroConfig_s { uint16_t looptime; // imu loop time in us - uint8_t gyro_lpf; // gyro LPF setting - values are driver specific, in case of invalid number, a reasonable default ~30-40HZ is chosen. uint16_t gyro_anti_aliasing_lpf_hz; #ifdef USE_DUAL_GYRO uint8_t gyro_to_use;