From c7beb9b2d480b820d2aa9aab87432edc91e2ac05 Mon Sep 17 00:00:00 2001 From: Gautier Hattenberger Date: Tue, 16 Dec 2025 22:45:27 +0100 Subject: [PATCH] [imu] change conditions for IMU default settings Only two different settings (low and high speed / bandwidth) depending of PERIODIC_FREQUENCY with a transition at 500 Hz --- sw/airborne/modules/imu/imu_aspirin_2_spi.c | 12 +++++------ sw/airborne/modules/imu/imu_bebop.c | 8 ++++--- sw/airborne/modules/imu/imu_disco.c | 9 ++++---- sw/airborne/modules/imu/imu_mpu6000.c | 21 +++++++------------ sw/airborne/modules/imu/imu_mpu6000_hmc5883.c | 12 +++++------ sw/airborne/modules/imu/imu_mpu60x0_i2c.c | 12 +++++------ sw/airborne/modules/imu/imu_mpu9250_i2c.c | 17 ++++++--------- sw/airborne/modules/imu/imu_mpu9250_spi.c | 17 ++++++--------- sw/airborne/modules/imu/imu_px4fmu.c | 10 ++++----- 9 files changed, 53 insertions(+), 65 deletions(-) diff --git a/sw/airborne/modules/imu/imu_aspirin_2_spi.c b/sw/airborne/modules/imu/imu_aspirin_2_spi.c index 28fe662244..051167ff18 100644 --- a/sw/airborne/modules/imu/imu_aspirin_2_spi.c +++ b/sw/airborne/modules/imu/imu_aspirin_2_spi.c @@ -44,28 +44,28 @@ PRINT_CONFIG_VAR(ASPIRIN_2_SPI_SLAVE_IDX) PRINT_CONFIG_VAR(ASPIRIN_2_SPI_DEV) /* MPU60x0 gyro/accel internal lowpass frequency */ -#if !defined ASPIRIN_2_LOWPASS_FILTER && !defined ASPIRIN_2_SMPLRT_DIV -#if (PERIODIC_FREQUENCY == 60) || (PERIODIC_FREQUENCY == 120) +#if !defined ASPIRIN_2_LOWPASS_FILTER && !defined ASPIRIN_2_SMPLRT_DIV +#if PERIODIC_FREQUENCY < 500 /* Accelerometer: Bandwidth 44Hz, Delay 4.9ms * Gyroscope: Bandwidth 42Hz, Delay 4.8ms sampling 1kHz */ #define ASPIRIN_2_LOWPASS_FILTER MPU60X0_DLPF_42HZ #define ASPIRIN_2_SMPLRT_DIV 9 PRINT_CONFIG_MSG("Gyro/Accel output rate is 100Hz at 1kHz internal sampling") -#elif (PERIODIC_FREQUENCY == 500) || (PERIODIC_FREQUENCY == 512) + +#else // PERIODIC_FREQUENCY >= 500 /* Accelerometer: Bandwidth 260Hz, Delay 0ms * Gyroscope: Bandwidth 256Hz, Delay 0.98ms sampling 8kHz */ #define ASPIRIN_2_LOWPASS_FILTER MPU60X0_DLPF_256HZ #define ASPIRIN_2_SMPLRT_DIV 3 PRINT_CONFIG_MSG("Gyro/Accel output rate is 2kHz at 8kHz internal sampling") -#else -#error Non-default PERIODIC_FREQUENCY: please define ASPIRIN_2_LOWPASS_FILTER and ASPIRIN_2_SMPLRT_DIV. + #endif #endif + PRINT_CONFIG_VAR(ASPIRIN_2_LOWPASS_FILTER) PRINT_CONFIG_VAR(ASPIRIN_2_SMPLRT_DIV) - PRINT_CONFIG_VAR(ASPIRIN_2_GYRO_RANGE) PRINT_CONFIG_VAR(ASPIRIN_2_ACCEL_RANGE) diff --git a/sw/airborne/modules/imu/imu_bebop.c b/sw/airborne/modules/imu/imu_bebop.c index 71a9c78fb8..2f34e390de 100644 --- a/sw/airborne/modules/imu/imu_bebop.c +++ b/sw/airborne/modules/imu/imu_bebop.c @@ -43,25 +43,27 @@ PRINT_CONFIG_VAR(BEBOP_MAG_I2C_DEV) PRINT_CONFIG_VAR(BEBOP_MPU_I2C_DEV) #if !defined BEBOP_LOWPASS_FILTER && !defined BEBOP_SMPLRT_DIV -#if (PERIODIC_FREQUENCY == 60) || (PERIODIC_FREQUENCY == 120) +#if PERIODIC_FREQUENCY < 500 /* Accelerometer: Bandwidth 44Hz, Delay 4.9ms * Gyroscope: Bandwidth 42Hz, Delay 4.8ms sampling 1kHz */ #define BEBOP_LOWPASS_FILTER MPU60X0_DLPF_42HZ #define BEBOP_SMPLRT_DIV 9 PRINT_CONFIG_MSG("Gyro/Accel output rate is 100Hz at 1kHz internal sampling") -#elif PERIODIC_FREQUENCY == 512 + +#else // PERIODIC_FREQUENCY >= 500 /* Accelerometer: Bandwidth 260Hz, Delay 0ms * Gyroscope: Bandwidth 256Hz, Delay 0.98ms sampling 8kHz */ #define BEBOP_LOWPASS_FILTER MPU60X0_DLPF_256HZ #define BEBOP_SMPLRT_DIV 3 PRINT_CONFIG_MSG("Gyro/Accel output rate is 2kHz at 8kHz internal sampling") + #endif #endif + PRINT_CONFIG_VAR(BEBOP_SMPLRT_DIV) PRINT_CONFIG_VAR(BEBOP_LOWPASS_FILTER) - PRINT_CONFIG_VAR(BEBOP_GYRO_RANGE) PRINT_CONFIG_VAR(BEBOP_ACCEL_RANGE) diff --git a/sw/airborne/modules/imu/imu_disco.c b/sw/airborne/modules/imu/imu_disco.c index 89b4125738..c4f2cef829 100644 --- a/sw/airborne/modules/imu/imu_disco.c +++ b/sw/airborne/modules/imu/imu_disco.c @@ -41,27 +41,28 @@ PRINT_CONFIG_VAR(DISCO_MPU_I2C_DEV) #define AK8963_HZ 50 #endif -#if !defined DISCO_LOWPASS_FILTER && !defined DISCO_SMPLRT_DIV -#if (PERIODIC_FREQUENCY == 60) || (PERIODIC_FREQUENCY == 120) +#if !defined DISCO_LOWPASS_FILTER && !defined DISCO_SMPLRT_DIV +#if PERIODIC_FREQUENCY < 500 /* Accelerometer: Bandwidth 44Hz, Delay 4.9ms * Gyroscope: Bandwidth 42Hz, Delay 4.8ms sampling 1kHz */ #define DISCO_LOWPASS_FILTER MPU60X0_DLPF_42HZ #define DISCO_SMPLRT_DIV 9 PRINT_CONFIG_MSG("Gyro/Accel output rate is 100Hz at 1kHz internal sampling") -#elif PERIODIC_FREQUENCY == 512 + +#else // PERIODIC_FREQUENCY >= 500 /* Accelerometer: Bandwidth 260Hz, Delay 0ms * Gyroscope: Bandwidth 256Hz, Delay 0.98ms sampling 8kHz */ #define DISCO_LOWPASS_FILTER MPU60X0_DLPF_256HZ #define DISCO_SMPLRT_DIV 3 PRINT_CONFIG_MSG("Gyro/Accel output rate is 2kHz at 8kHz internal sampling") + #endif #endif PRINT_CONFIG_VAR(DISCO_SMPLRT_DIV) PRINT_CONFIG_VAR(DISCO_LOWPASS_FILTER) - PRINT_CONFIG_VAR(DISCO_GYRO_RANGE) PRINT_CONFIG_VAR(DISCO_ACCEL_RANGE) diff --git a/sw/airborne/modules/imu/imu_mpu6000.c b/sw/airborne/modules/imu/imu_mpu6000.c index 97d98533ca..f19fc113b2 100644 --- a/sw/airborne/modules/imu/imu_mpu6000.c +++ b/sw/airborne/modules/imu/imu_mpu6000.c @@ -39,42 +39,37 @@ PRINT_CONFIG_VAR(IMU_MPU_SPI_SLAVE_IDX) PRINT_CONFIG_VAR(IMU_MPU_SPI_DEV) /* MPU60x0 gyro/accel internal lowpass frequency */ -#if !defined IMU_MPU_LOWPASS_FILTER && !defined IMU_MPU_SMPLRT_DIV -#if (PERIODIC_FREQUENCY >= 60) && (PERIODIC_FREQUENCY <= 120) +#if !defined IMU_MPU_LOWPASS_FILTER && !defined IMU_MPU_SMPLRT_DIV +#if PERIODIC_FREQUENCY < 500 /* Accelerometer: Bandwidth 44Hz, Delay 4.9ms * Gyroscope: Bandwidth 42Hz, Delay 4.8ms sampling 1kHz */ #define IMU_MPU_LOWPASS_FILTER MPU60X0_DLPF_42HZ #define IMU_MPU_SMPLRT_DIV 9 PRINT_CONFIG_MSG("Gyro/Accel output rate is 100Hz at 1kHz internal sampling") + #ifndef IMU_MPU_ACCEL_LOWPASS_FILTER #define IMU_MPU_ACCEL_LOWPASS_FILTER MPU60X0_DLPF_ACC_44HZ // for ICM sensors #endif -#elif (PERIODIC_FREQUENCY == 512) || (PERIODIC_FREQUENCY == 500) + +#else // PERIODIC_FREQUENCY >= 500 /* Accelerometer: Bandwidth 260Hz, Delay 0ms * Gyroscope: Bandwidth 256Hz, Delay 0.98ms sampling 8kHz */ #define IMU_MPU_LOWPASS_FILTER MPU60X0_DLPF_256HZ #define IMU_MPU_SMPLRT_DIV 3 PRINT_CONFIG_MSG("Gyro/Accel output rate is 2kHz at 8kHz internal sampling") + #ifndef IMU_MPU_ACCEL_LOWPASS_FILTER #define IMU_MPU_ACCEL_LOWPASS_FILTER MPU60X0_DLPF_ACC_218HZ // for ICM sensors #endif -#else -/* By default, don't go too fast */ -#define IMU_MPU_LOWPASS_FILTER MPU60X0_DLPF_42HZ -#define IMU_MPU_SMPLRT_DIV 9 -PRINT_CONFIG_MSG("Gyro/Accel output rate is 100Hz at 1kHz internal sampling") -#ifndef IMU_MPU_ACCEL_LOWPASS_FILTER -#define IMU_MPU_ACCEL_LOWPASS_FILTER MPU60X0_DLPF_ACC_44HZ // for ICM sensors -#endif -#warning "Non-default PERIODIC_FREQUENCY: please define IMU_MPU_LOWPASS_FILTER and IMU_MPU_SMPLRT_DIV." + #endif #endif + PRINT_CONFIG_VAR(IMU_MPU_LOWPASS_FILTER) PRINT_CONFIG_VAR(IMU_MPU_ACCEL_LOWPASS_FILTER) PRINT_CONFIG_VAR(IMU_MPU_SMPLRT_DIV) - PRINT_CONFIG_VAR(IMU_MPU_GYRO_RANGE) PRINT_CONFIG_VAR(IMU_MPU_ACCEL_RANGE) diff --git a/sw/airborne/modules/imu/imu_mpu6000_hmc5883.c b/sw/airborne/modules/imu/imu_mpu6000_hmc5883.c index 2be40b199b..e5748bd6b6 100644 --- a/sw/airborne/modules/imu/imu_mpu6000_hmc5883.c +++ b/sw/airborne/modules/imu/imu_mpu6000_hmc5883.c @@ -39,28 +39,28 @@ PRINT_CONFIG_VAR(IMU_HMC_I2C_DEV) /* MPU60x0 gyro/accel internal lowpass frequency */ -#if !defined IMU_MPU_LOWPASS_FILTER && !defined IMU_MPU_SMPLRT_DIV -#if (PERIODIC_FREQUENCY == 60) || (PERIODIC_FREQUENCY == 120) +#if !defined IMU_MPU_LOWPASS_FILTER && !defined IMU_MPU_SMPLRT_DIV +#if PERIODIC_FREQUENCY < 500 /* Accelerometer: Bandwidth 44Hz, Delay 4.9ms * Gyroscope: Bandwidth 42Hz, Delay 4.8ms sampling 1kHz */ #define IMU_MPU_LOWPASS_FILTER MPU60X0_DLPF_42HZ #define IMU_MPU_SMPLRT_DIV 9 PRINT_CONFIG_MSG("Gyro/Accel output rate is 100Hz at 1kHz internal sampling") -#elif (PERIODIC_FREQUENCY == 500) || (PERIODIC_FREQUENCY == 512) + +#else // PERIODIC_FREQUENCY >= 500 /* Accelerometer: Bandwidth 260Hz, Delay 0ms * Gyroscope: Bandwidth 256Hz, Delay 0.98ms sampling 8kHz */ #define IMU_MPU_LOWPASS_FILTER MPU60X0_DLPF_256HZ #define IMU_MPU_SMPLRT_DIV 3 PRINT_CONFIG_MSG("Gyro/Accel output rate is 2kHz at 8kHz internal sampling") -#else -#error Non-default PERIODIC_FREQUENCY: please define IMU_MPU_LOWPASS_FILTER and IMU_MPU_SMPLRT_DIV. + #endif #endif + PRINT_CONFIG_VAR(IMU_MPU_LOWPASS_FILTER) PRINT_CONFIG_VAR(IMU_MPU_SMPLRT_DIV) - PRINT_CONFIG_VAR(IMU_MPU_GYRO_RANGE) PRINT_CONFIG_VAR(IMU_MPU_ACCEL_RANGE) diff --git a/sw/airborne/modules/imu/imu_mpu60x0_i2c.c b/sw/airborne/modules/imu/imu_mpu60x0_i2c.c index 8b0c0f1121..fe9b8d1f8f 100644 --- a/sw/airborne/modules/imu/imu_mpu60x0_i2c.c +++ b/sw/airborne/modules/imu/imu_mpu60x0_i2c.c @@ -33,28 +33,28 @@ #include "generated/modules.h" /* MPU60x0 gyro/accel internal lowpass frequency */ -#if !defined IMU_MPU60X0_LOWPASS_FILTER && !defined IMU_MPU60X0_SMPLRT_DIV -#if (PERIODIC_FREQUENCY == 60) || (PERIODIC_FREQUENCY == 120) +#if !defined IMU_MPU60X0_LOWPASS_FILTER && !defined IMU_MPU60X0_SMPLRT_DIV +#if PERIODIC_FREQUENCY < 500 /* Accelerometer: Bandwidth 44Hz, Delay 4.9ms * Gyroscope: Bandwidth 42Hz, Delay 4.8ms sampling 1kHz */ #define IMU_MPU60X0_LOWPASS_FILTER MPU60X0_DLPF_42HZ #define IMU_MPU60X0_SMPLRT_DIV 9 PRINT_CONFIG_MSG("Gyro/Accel output rate is 100Hz at 1kHz internal sampling") -#elif (PERIODIC_FREQUENCY == 500) || (PERIODIC_FREQUENCY == 512) + +#else // PERIODIC_FREQUENCY >= 500 /* Accelerometer: Bandwidth 260Hz, Delay 0ms * Gyroscope: Bandwidth 256Hz, Delay 0.98ms sampling 8kHz */ #define IMU_MPU60X0_LOWPASS_FILTER MPU60X0_DLPF_256HZ #define IMU_MPU60X0_SMPLRT_DIV 3 PRINT_CONFIG_MSG("Gyro/Accel output rate is 2kHz at 8kHz internal sampling") -#else -#error Non-default PERIODIC_FREQUENCY: please define IMU_MPU60X0_LOWPASS_FILTER and IMU_MPU60X0_SMPLRT_DIV. + #endif #endif + PRINT_CONFIG_VAR(IMU_MPU60X0_LOWPASS_FILTER) PRINT_CONFIG_VAR(IMU_MPU60X0_SMPLRT_DIV) - PRINT_CONFIG_VAR(IMU_MPU60X0_GYRO_RANGE) PRINT_CONFIG_VAR(IMU_MPU60X0_ACCEL_RANGE) diff --git a/sw/airborne/modules/imu/imu_mpu9250_i2c.c b/sw/airborne/modules/imu/imu_mpu9250_i2c.c index e3e1825f37..d5d9319a8d 100644 --- a/sw/airborne/modules/imu/imu_mpu9250_i2c.c +++ b/sw/airborne/modules/imu/imu_mpu9250_i2c.c @@ -32,8 +32,8 @@ #include "modules/core/abi.h" #include "generated/modules.h" -#if !defined IMU_MPU9250_GYRO_LOWPASS_FILTER && !defined IMU_MPU9250_ACCEL_LOWPASS_FILTER && !defined IMU_MPU9250_SMPLRT_DIV -#if (PERIODIC_FREQUENCY >= 60) && (PERIODIC_FREQUENCY <= 120) +#if !defined IMU_MPU9250_GYRO_LOWPASS_FILTER && !defined IMU_MPU9250_ACCEL_LOWPASS_FILTER && !defined IMU_MPU9250_SMPLRT_DIV +#if PERIODIC_FREQUENCY < 500 /* Accelerometer: Bandwidth 41Hz, Delay 5.9ms * Gyroscope: Bandwidth 41Hz, Delay 5.9ms sampling 1kHz * Output rate: 100Hz @@ -42,7 +42,8 @@ #define IMU_MPU9250_ACCEL_LOWPASS_FILTER MPU9250_DLPF_ACCEL_41HZ #define IMU_MPU9250_SMPLRT_DIV 9 PRINT_CONFIG_MSG("Gyro/Accel output rate is 100Hz at 1kHz internal sampling") -#elif (PERIODIC_FREQUENCY == 512) || (PERIODIC_FREQUENCY == 500) + +#else // PERIODIC_FREQUENCY >= 500 /* Accelerometer: Bandwidth 184Hz, Delay 5.8ms * Gyroscope: Bandwidth 250Hz, Delay 0.97ms sampling 8kHz * Output rate: 2kHz @@ -51,19 +52,13 @@ PRINT_CONFIG_MSG("Gyro/Accel output rate is 100Hz at 1kHz internal sampling") #define IMU_MPU9250_ACCEL_LOWPASS_FILTER MPU9250_DLPF_ACCEL_184HZ #define IMU_MPU9250_SMPLRT_DIV 3 PRINT_CONFIG_MSG("Gyro/Accel output rate is 2kHz at 8kHz internal sampling") -#else -/* By default, don't go too fast */ -#define IMU_MPU9250_SMPLRT_DIV 9 -#define IMU_MPU9250_GYRO_LOWPASS_FILTER MPU9250_DLPF_GYRO_41HZ -#define IMU_MPU9250_ACCEL_LOWPASS_FILTER MPU9250_DLPF_ACCEL_41HZ -PRINT_CONFIG_MSG("Gyro/Accel output rate is 100Hz at 1kHz internal sampling") -#warning "Non-default PERIODIC_FREQUENCY: please define IMU_MPU9250_GYRO_LOWPASS_FILTER, IMU_MPU9250_ACCEL_LOWPASS_FILTER and IMU_MPU9250_SMPLRT_DIV." + #endif #endif + PRINT_CONFIG_VAR(IMU_MPU9250_SMPLRT_DIV) PRINT_CONFIG_VAR(IMU_MPU9250_GYRO_LOWPASS_FILTER) PRINT_CONFIG_VAR(IMU_MPU9250_ACCEL_LOWPASS_FILTER) - PRINT_CONFIG_VAR(IMU_MPU9250_GYRO_RANGE) PRINT_CONFIG_VAR(IMU_MPU9250_ACCEL_RANGE) diff --git a/sw/airborne/modules/imu/imu_mpu9250_spi.c b/sw/airborne/modules/imu/imu_mpu9250_spi.c index 6d75bde9fb..da0de32a26 100644 --- a/sw/airborne/modules/imu/imu_mpu9250_spi.c +++ b/sw/airborne/modules/imu/imu_mpu9250_spi.c @@ -38,8 +38,8 @@ PRINT_CONFIG_VAR(IMU_MPU9250_SPI_SLAVE_IDX) PRINT_CONFIG_VAR(IMU_MPU9250_SPI_DEV) -#if !defined IMU_MPU9250_GYRO_LOWPASS_FILTER && !defined IMU_MPU9250_ACCEL_LOWPASS_FILTER && !defined IMU_MPU9250_SMPLRT_DIV -#if (PERIODIC_FREQUENCY >= 60) && (PERIODIC_FREQUENCY <= 120) +#if !defined IMU_MPU9250_GYRO_LOWPASS_FILTER && !defined IMU_MPU9250_ACCEL_LOWPASS_FILTER && !defined IMU_MPU9250_SMPLRT_DIV +#if PERIODIC_FREQUENCY < 500 /* Accelerometer: Bandwidth 41Hz, Delay 5.9ms * Gyroscope: Bandwidth 41Hz, Delay 5.9ms sampling 1kHz * Output rate: 100Hz @@ -48,7 +48,8 @@ PRINT_CONFIG_VAR(IMU_MPU9250_SPI_DEV) #define IMU_MPU9250_ACCEL_LOWPASS_FILTER MPU9250_DLPF_ACCEL_41HZ #define IMU_MPU9250_SMPLRT_DIV 9 PRINT_CONFIG_MSG("Gyro/Accel output rate is 100Hz at 1kHz internal sampling") -#elif (PERIODIC_FREQUENCY == 512) || (PERIODIC_FREQUENCY == 500) + +#else // PERIODIC_FREQUENCY >= 500 /* Accelerometer: Bandwidth 184Hz, Delay 5.8ms * Gyroscope: Bandwidth 250Hz, Delay 0.97ms sampling 8kHz * Output rate: 2kHz @@ -57,19 +58,13 @@ PRINT_CONFIG_MSG("Gyro/Accel output rate is 100Hz at 1kHz internal sampling") #define IMU_MPU9250_ACCEL_LOWPASS_FILTER MPU9250_DLPF_ACCEL_184HZ #define IMU_MPU9250_SMPLRT_DIV 3 PRINT_CONFIG_MSG("Gyro/Accel output rate is 2kHz at 8kHz internal sampling") -#else -/* By default, don't go too fast */ -#define IMU_MPU9250_SMPLRT_DIV 9 -#define IMU_MPU9250_GYRO_LOWPASS_FILTER MPU9250_DLPF_GYRO_41HZ -#define IMU_MPU9250_ACCEL_LOWPASS_FILTER MPU9250_DLPF_ACCEL_41HZ -PRINT_CONFIG_MSG("Gyro/Accel output rate is 100Hz at 1kHz internal sampling") -#warning "Non-default PERIODIC_FREQUENCY: please define IMU_MPU9250_GYRO_LOWPASS_FILTER, IMU_MPU9250_ACCEL_LOWPASS_FILTER and IMU_MPU9250_SMPLRT_DIV." + #endif #endif + PRINT_CONFIG_VAR(IMU_MPU9250_SMPLRT_DIV) PRINT_CONFIG_VAR(IMU_MPU9250_GYRO_LOWPASS_FILTER) PRINT_CONFIG_VAR(IMU_MPU9250_ACCEL_LOWPASS_FILTER) - PRINT_CONFIG_VAR(IMU_MPU9250_GYRO_RANGE) PRINT_CONFIG_VAR(IMU_MPU9250_ACCEL_RANGE) diff --git a/sw/airborne/modules/imu/imu_px4fmu.c b/sw/airborne/modules/imu/imu_px4fmu.c index 7eabe9493e..4cb5894a4b 100644 --- a/sw/airborne/modules/imu/imu_px4fmu.c +++ b/sw/airborne/modules/imu/imu_px4fmu.c @@ -33,27 +33,27 @@ /* MPU60x0 gyro/accel internal lowpass frequency */ #if !defined PX4FMU_LOWPASS_FILTER && !defined PX4FMU_SMPLRT_DIV -#if (PERIODIC_FREQUENCY == 60) || (PERIODIC_FREQUENCY == 120) +#if PERIODIC_FREQUENCY < 500 /* Accelerometer: Bandwidth 44Hz, Delay 4.9ms * Gyroscope: Bandwidth 42Hz, Delay 4.8ms sampling 1kHz */ #define PX4FMU_LOWPASS_FILTER MPU60X0_DLPF_42HZ #define PX4FMU_SMPLRT_DIV 9 PRINT_CONFIG_MSG("Gyro/Accel output rate is 100Hz at 1kHz internal sampling") -#elif (PERIODIC_FREQUENCY == 500) || (PERIODIC_FREQUENCY == 512) + +#else // PERIODIC_FREQUENCY >= 500 /* Accelerometer: Bandwidth 260Hz, Delay 0ms * Gyroscope: Bandwidth 256Hz, Delay 0.98ms sampling 8kHz */ #define PX4FMU_LOWPASS_FILTER MPU60X0_DLPF_256HZ #define PX4FMU_SMPLRT_DIV 3 PRINT_CONFIG_MSG("Gyro/Accel output rate is 2kHz at 8kHz internal sampling") -#else -#error Non-default PERIODIC_FREQUENCY: please define PX4FMU_LOWPASS_FILTER and PX4FMU_SMPLRT_DIV. + #endif #endif + PRINT_CONFIG_VAR(PX4FMU_LOWPASS_FILTER) PRINT_CONFIG_VAR(PX4FMU_SMPLRT_DIV) - PRINT_CONFIG_VAR(PX4FMU_GYRO_RANGE) PRINT_CONFIG_VAR(PX4FMU_ACCEL_RANGE)