diff --git a/ROMFS/px4fmu_common/init.d-posix/rcS b/ROMFS/px4fmu_common/init.d-posix/rcS index 5c6a93b103..5a39f7186d 100644 --- a/ROMFS/px4fmu_common/init.d-posix/rcS +++ b/ROMFS/px4fmu_common/init.d-posix/rcS @@ -117,49 +117,49 @@ if [ $AUTOCNF = yes ] then param set SYS_AUTOSTART $REQUESTED_AUTOSTART - param set BAT_N_CELLS 4 - - param set CAL_ACC0_ID 1310988 # 1310988: DRV_IMU_DEVTYPE_SIM, BUS: 1, ADDR: 1, TYPE: SIMULATION - param set CAL_ACC1_ID 1310996 # 1310996: DRV_IMU_DEVTYPE_SIM, BUS: 2, ADDR: 1, TYPE: SIMULATION - param set CAL_ACC2_ID 1311004 # 1311004: DRV_IMU_DEVTYPE_SIM, BUS: 3, ADDR: 1, TYPE: SIMULATION + param set CAL_ACC0_ID 1310988 # 1310988: DRV_IMU_DEVTYPE_SIM, BUS: 1, ADDR: 1, TYPE: SIMULATION param set CAL_GYRO0_ID 1310988 # 1310988: DRV_IMU_DEVTYPE_SIM, BUS: 1, ADDR: 1, TYPE: SIMULATION + param set CAL_ACC1_ID 1310996 # 1310996: DRV_IMU_DEVTYPE_SIM, BUS: 2, ADDR: 1, TYPE: SIMULATION param set CAL_GYRO1_ID 1310996 # 1310996: DRV_IMU_DEVTYPE_SIM, BUS: 2, ADDR: 1, TYPE: SIMULATION + param set CAL_ACC2_ID 1311004 # 1311004: DRV_IMU_DEVTYPE_SIM, BUS: 3, ADDR: 1, TYPE: SIMULATION param set CAL_GYRO2_ID 1311004 # 1311004: DRV_IMU_DEVTYPE_SIM, BUS: 3, ADDR: 1, TYPE: SIMULATION + param set CAL_MAG0_ID 197388 param set CAL_MAG1_ID 197644 - param set CBRK_AIRSPD_CHK 0 - param set CBRK_SUPPLY_CHK 894281 - - # Don't require RC calibration and configuration - param set COM_RC_IN_MODE 1 - - # Speedup SITL startup - param set EKF2_REQ_GPS_H 0.5 - - # Multi-EKF - param set EKF2_MULTI_IMU 3 - param set SENS_IMU_MODE 0 - param set EKF2_MULTI_MAG 2 - param set SENS_MAG_MODE 0 - - # By default log from boot until first disarm. - param set SDLOG_MODE 1 - # enable default, estimator replay and vision/avoidance logging profiles - param set SDLOG_PROFILE 131 - param set SDLOG_DIRS_MAX 7 - param set SENS_BOARD_ROT 0 param set SENS_BOARD_X_OFF 0.000001 param set SENS_DPRES_OFF 0.001 - param set SYS_RESTART_TYPE 2 - param set TRIG_INTERFACE 3 + param set SYS_RESTART_TYPE 2 fi -param set COM_CPU_MAX -1 # disable check, no CPU load reported on posix yet +param set-default BAT_N_CELLS 4 -# Simulator IMU data provided at 250 Hz -param set IMU_INTEG_RATE 250 +param set-default CBRK_AIRSPD_CHK 0 +param set-default CBRK_SUPPLY_CHK 894281 + +# disable check, no CPU load reported on posix yet +param set-default COM_CPU_MAX -1 + +# Don't require RC calibration and configuration +param set-default COM_RC_IN_MODE 1 + +# Speedup SITL startup +param set-default EKF2_REQ_GPS_H 0.5 + +# Multi-EKF +param set-default EKF2_MULTI_IMU 3 +param set-default SENS_IMU_MODE 0 +param set-default EKF2_MULTI_MAG 2 +param set-default SENS_MAG_MODE 0 + +# By default log from boot until first disarm. +param set-default SDLOG_MODE 1 +# enable default, estimator replay and vision/avoidance logging profiles +param set-default SDLOG_PROFILE 131 +param set-default SDLOG_DIRS_MAX 7 + +param set-default TRIG_INTERFACE 3 # Adapt timeout parameters if simulation runs faster or slower than realtime. if [ -n "$PX4_SIM_SPEED_FACTOR" ]; then @@ -206,6 +206,9 @@ then param set SYS_AUTOCONFIG 0 fi +# Simulator IMU data provided at 250 Hz +param set IMU_INTEG_RATE 250 + dataman start # only start the simulator if not in replay mode, as both control the lockstep time if ! replay tryapplyparams diff --git a/ROMFS/px4fmu_common/init.d/airframes/4017_nxp_hovergames b/ROMFS/px4fmu_common/init.d/airframes/4017_nxp_hovergames index ab9a1caa88..d28edc165e 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/4017_nxp_hovergames +++ b/ROMFS/px4fmu_common/init.d/airframes/4017_nxp_hovergames @@ -21,11 +21,8 @@ set MIXER quad_x set PWM_OUT 1234 - - param set-default IMU_GYRO_CUTOFF 40 param set-default IMU_DGYRO_CUTOFF 20 -param set-default IMU_GYRO_RATEMAX 400 param set-default MC_ROLLRATE_P 0.18 param set-default MC_ROLLRATE_I 0.15 diff --git a/ROMFS/px4fmu_common/init.d/rc.mc_defaults b/ROMFS/px4fmu_common/init.d/rc.mc_defaults index 06ba384f6d..7a9fc56414 100644 --- a/ROMFS/px4fmu_common/init.d/rc.mc_defaults +++ b/ROMFS/px4fmu_common/init.d/rc.mc_defaults @@ -7,6 +7,8 @@ set VEHICLE_TYPE mc +param set-default IMU_GYRO_RATEMAX 800 + param set-default NAV_ACC_RAD 2 param set-default RTL_RETURN_ALT 30 diff --git a/ROMFS/px4fmu_common/init.d/rc.vtol_defaults b/ROMFS/px4fmu_common/init.d/rc.vtol_defaults index 2830440e79..fd584941e6 100644 --- a/ROMFS/px4fmu_common/init.d/rc.vtol_defaults +++ b/ROMFS/px4fmu_common/init.d/rc.vtol_defaults @@ -7,9 +7,6 @@ set VEHICLE_TYPE vtol -# to minimize cpu usage on older boards limit inner loop to 400 Hz -param set-default IMU_GYRO_RATEMAX 400 - param set-default MIS_TAKEOFF_ALT 20 param set-default MIS_YAW_TMT 10 diff --git a/boards/mro/x21/init/rc.board_defaults b/boards/mro/x21/init/rc.board_defaults index 7643610b24..63a0baaa17 100644 --- a/boards/mro/x21/init/rc.board_defaults +++ b/boards/mro/x21/init/rc.board_defaults @@ -2,6 +2,3 @@ # # mRo x21 specific board defaults #------------------------------------------------------------------------------ - -# to minimize cpu usage on older boards limit inner loop to 400 Hz by default -param set-default IMU_GYRO_RATEMAX 400 diff --git a/boards/px4/fmu-v2/init/rc.board_defaults b/boards/px4/fmu-v2/init/rc.board_defaults index ab4deb04cf..9d81e1ef47 100644 --- a/boards/px4/fmu-v2/init/rc.board_defaults +++ b/boards/px4/fmu-v2/init/rc.board_defaults @@ -21,6 +21,3 @@ then fi fi unset BL_FILE - -# to minimize cpu usage on older boards limit inner loop to 400 Hz by default -param set-default IMU_GYRO_RATEMAX 400 diff --git a/boards/px4/fmu-v3/init/rc.board_defaults b/boards/px4/fmu-v3/init/rc.board_defaults index d683544d53..80652e6b92 100644 --- a/boards/px4/fmu-v3/init/rc.board_defaults +++ b/boards/px4/fmu-v3/init/rc.board_defaults @@ -21,6 +21,3 @@ then fi fi unset BL_FILE - -# to minimize cpu usage on older boards limit inner loop to 400 Hz by default -param set-default IMU_GYRO_RATEMAX 400 diff --git a/posix-configs/rpi/px4.config b/posix-configs/rpi/px4.config index 4cefd5d422..f34943d3c8 100644 --- a/posix-configs/rpi/px4.config +++ b/posix-configs/rpi/px4.config @@ -12,7 +12,6 @@ fi param set CBRK_SUPPLY_CHK 894281 param set SYS_AUTOSTART 4001 param set MAV_TYPE 2 -param set IMU_GYRO_RATEMAX 400 # Multi-EKF param set EKF2_MULTI_IMU 2 diff --git a/posix-configs/rpi/px4_fw.config b/posix-configs/rpi/px4_fw.config index 31436ecdf9..8852f2a6fa 100644 --- a/posix-configs/rpi/px4_fw.config +++ b/posix-configs/rpi/px4_fw.config @@ -12,7 +12,6 @@ fi param set CBRK_SUPPLY_CHK 894281 param set SYS_AUTOSTART 2100 param set MAV_TYPE 1 -param set IMU_GYRO_RATEMAX 400 # Multi-EKF param set EKF2_MULTI_IMU 2 diff --git a/posix-configs/rpi/px4_test.config b/posix-configs/rpi/px4_test.config index ee58a5414c..2c4ca5ad92 100644 --- a/posix-configs/rpi/px4_test.config +++ b/posix-configs/rpi/px4_test.config @@ -12,7 +12,6 @@ fi param set CBRK_SUPPLY_CHK 894281 param set SYS_AUTOSTART 4001 param set MAV_TYPE 2 -param set IMU_GYRO_RATEMAX 400 # Multi-EKF param set EKF2_MULTI_IMU 2 diff --git a/src/drivers/imu/bosch/bmi055/BMI055_Accelerometer.cpp b/src/drivers/imu/bosch/bmi055/BMI055_Accelerometer.cpp index a3d232fe17..27ed70a0ac 100644 --- a/src/drivers/imu/bosch/bmi055/BMI055_Accelerometer.cpp +++ b/src/drivers/imu/bosch/bmi055/BMI055_Accelerometer.cpp @@ -267,10 +267,6 @@ void BMI055_Accelerometer::ConfigureAccel() void BMI055_Accelerometer::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 1000; // default to 1000 Hz - } - // round down to nearest FIFO sample dt * SAMPLES_PER_TRANSFER const float min_interval = FIFO_SAMPLE_DT; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/bosch/bmi055/BMI055_Gyroscope.cpp b/src/drivers/imu/bosch/bmi055/BMI055_Gyroscope.cpp index 232d2d2ffa..6a18c2a7c5 100644 --- a/src/drivers/imu/bosch/bmi055/BMI055_Gyroscope.cpp +++ b/src/drivers/imu/bosch/bmi055/BMI055_Gyroscope.cpp @@ -265,10 +265,6 @@ void BMI055_Gyroscope::ConfigureGyro() void BMI055_Gyroscope::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 1000; // default to 1000 Hz - } - // round down to nearest FIFO sample dt * SAMPLES_PER_TRANSFER const float min_interval = FIFO_SAMPLE_DT; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/bosch/bmi088/BMI088_Accelerometer.cpp b/src/drivers/imu/bosch/bmi088/BMI088_Accelerometer.cpp index b60bf850e1..f8d900eb57 100644 --- a/src/drivers/imu/bosch/bmi088/BMI088_Accelerometer.cpp +++ b/src/drivers/imu/bosch/bmi088/BMI088_Accelerometer.cpp @@ -300,10 +300,6 @@ void BMI088_Accelerometer::ConfigureAccel() void BMI088_Accelerometer::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 800; // default to 800 Hz - } - // round down to nearest FIFO sample dt * SAMPLES_PER_TRANSFER const float min_interval = FIFO_SAMPLE_DT; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/bosch/bmi088/BMI088_Gyroscope.cpp b/src/drivers/imu/bosch/bmi088/BMI088_Gyroscope.cpp index f853cc2313..ef8e6a759e 100644 --- a/src/drivers/imu/bosch/bmi088/BMI088_Gyroscope.cpp +++ b/src/drivers/imu/bosch/bmi088/BMI088_Gyroscope.cpp @@ -266,10 +266,6 @@ void BMI088_Gyroscope::ConfigureGyro() void BMI088_Gyroscope::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 1000; // default to 1000 Hz - } - // round down to nearest FIFO sample dt * SAMPLES_PER_TRANSFER const float min_interval = FIFO_SAMPLE_DT; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/bosch/bmi088/bmi088_i2c/BMI088_Accelerometer.cpp b/src/drivers/imu/bosch/bmi088/bmi088_i2c/BMI088_Accelerometer.cpp index ca6f6fcd0d..3f213a66dd 100644 --- a/src/drivers/imu/bosch/bmi088/bmi088_i2c/BMI088_Accelerometer.cpp +++ b/src/drivers/imu/bosch/bmi088/bmi088_i2c/BMI088_Accelerometer.cpp @@ -228,10 +228,6 @@ void BMI088_Accelerometer::ConfigureAccel() void BMI088_Accelerometer::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 800; // default to 800 Hz - } - // round down to nearest FIFO sample dt * SAMPLES_PER_TRANSFER const float min_interval = FIFO_SAMPLE_DT; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/bosch/bmi088/bmi088_i2c/BMI088_Gyroscope.cpp b/src/drivers/imu/bosch/bmi088/bmi088_i2c/BMI088_Gyroscope.cpp index c1c710aa33..3475ff58d9 100644 --- a/src/drivers/imu/bosch/bmi088/bmi088_i2c/BMI088_Gyroscope.cpp +++ b/src/drivers/imu/bosch/bmi088/bmi088_i2c/BMI088_Gyroscope.cpp @@ -211,10 +211,6 @@ void BMI088_Gyroscope::ConfigureGyro() void BMI088_Gyroscope::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 2000; // default to 1000 Hz - } - // round down to nearest FIFO sample dt * SAMPLES_PER_TRANSFER const float min_interval = FIFO_SAMPLE_DT; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/invensense/icm20602/ICM20602.cpp b/src/drivers/imu/invensense/icm20602/ICM20602.cpp index 9c7173d690..72e63f7474 100644 --- a/src/drivers/imu/invensense/icm20602/ICM20602.cpp +++ b/src/drivers/imu/invensense/icm20602/ICM20602.cpp @@ -335,10 +335,6 @@ void ICM20602::ConfigureGyro() void ICM20602::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 800; // default to 800 Hz - } - // round down to nearest FIFO sample dt * SAMPLES_PER_TRANSFER const float min_interval = FIFO_SAMPLE_DT * SAMPLES_PER_TRANSFER; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/invensense/icm20608g/ICM20608G.cpp b/src/drivers/imu/invensense/icm20608g/ICM20608G.cpp index 01c850ef37..a06d54cadf 100644 --- a/src/drivers/imu/invensense/icm20608g/ICM20608G.cpp +++ b/src/drivers/imu/invensense/icm20608g/ICM20608G.cpp @@ -331,10 +331,6 @@ void ICM20608G::ConfigureGyro() void ICM20608G::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 800; // default to 800 Hz - } - // round down to nearest FIFO sample dt * SAMPLES_PER_TRANSFER const float min_interval = FIFO_SAMPLE_DT * SAMPLES_PER_TRANSFER; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/invensense/icm20649/ICM20649.cpp b/src/drivers/imu/invensense/icm20649/ICM20649.cpp index ca91e3cca9..03e4066414 100644 --- a/src/drivers/imu/invensense/icm20649/ICM20649.cpp +++ b/src/drivers/imu/invensense/icm20649/ICM20649.cpp @@ -332,10 +332,6 @@ void ICM20649::ConfigureGyro() void ICM20649::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 800; // default to ~800 Hz - } - // round down to nearest FIFO sample dt * SAMPLES_PER_TRANSFER const float min_interval = FIFO_SAMPLE_DT * SAMPLES_PER_TRANSFER; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/invensense/icm20689/ICM20689.cpp b/src/drivers/imu/invensense/icm20689/ICM20689.cpp index 35105132e7..c251270133 100644 --- a/src/drivers/imu/invensense/icm20689/ICM20689.cpp +++ b/src/drivers/imu/invensense/icm20689/ICM20689.cpp @@ -331,10 +331,6 @@ void ICM20689::ConfigureGyro() void ICM20689::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 800; // default to 800 Hz - } - // round down to nearest FIFO sample dt * SAMPLES_PER_TRANSFER const float min_interval = FIFO_SAMPLE_DT * SAMPLES_PER_TRANSFER; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/invensense/icm20948/ICM20948.cpp b/src/drivers/imu/invensense/icm20948/ICM20948.cpp index f8072490d8..3bf358f686 100644 --- a/src/drivers/imu/invensense/icm20948/ICM20948.cpp +++ b/src/drivers/imu/invensense/icm20948/ICM20948.cpp @@ -368,10 +368,6 @@ void ICM20948::ConfigureGyro() void ICM20948::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 800; // default to ~800 Hz - } - // round down to nearest FIFO sample dt * SAMPLES_PER_TRANSFER const float min_interval = FIFO_SAMPLE_DT * SAMPLES_PER_TRANSFER; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/invensense/icm40609d/ICM40609D.cpp b/src/drivers/imu/invensense/icm40609d/ICM40609D.cpp index 965494e21b..881be246f9 100644 --- a/src/drivers/imu/invensense/icm40609d/ICM40609D.cpp +++ b/src/drivers/imu/invensense/icm40609d/ICM40609D.cpp @@ -338,10 +338,6 @@ void ICM40609D::ConfigureGyro() void ICM40609D::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 800; // default to 800 Hz - } - // round down to nearest FIFO sample dt const float min_interval = FIFO_SAMPLE_DT; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/invensense/icm42605/ICM42605.cpp b/src/drivers/imu/invensense/icm42605/ICM42605.cpp index 2d6c233016..60827cd0a7 100644 --- a/src/drivers/imu/invensense/icm42605/ICM42605.cpp +++ b/src/drivers/imu/invensense/icm42605/ICM42605.cpp @@ -339,10 +339,6 @@ void ICM42605::ConfigureGyro() void ICM42605::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 800; // default to 800 Hz - } - // round down to nearest FIFO sample dt const float min_interval = FIFO_SAMPLE_DT; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/invensense/icm42688p/ICM42688P.cpp b/src/drivers/imu/invensense/icm42688p/ICM42688P.cpp index 1d9916dad8..e2f22c046d 100644 --- a/src/drivers/imu/invensense/icm42688p/ICM42688P.cpp +++ b/src/drivers/imu/invensense/icm42688p/ICM42688P.cpp @@ -275,10 +275,6 @@ void ICM42688P::RunImpl() void ICM42688P::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 800; // default to 800 Hz - } - // round down to nearest FIFO sample dt const float min_interval = FIFO_SAMPLE_DT; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/invensense/mpu6000/MPU6000.cpp b/src/drivers/imu/invensense/mpu6000/MPU6000.cpp index e843c088af..86c69ed07b 100644 --- a/src/drivers/imu/invensense/mpu6000/MPU6000.cpp +++ b/src/drivers/imu/invensense/mpu6000/MPU6000.cpp @@ -331,10 +331,6 @@ void MPU6000::ConfigureGyro() void MPU6000::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 1000; // default to 1000 Hz - } - // round down to nearest FIFO sample dt const float min_interval = FIFO_SAMPLE_DT * 4; // limit to 2 kHz (500 us interval) _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/invensense/mpu6500/MPU6500.cpp b/src/drivers/imu/invensense/mpu6500/MPU6500.cpp index eecb9a526f..9d5e766177 100644 --- a/src/drivers/imu/invensense/mpu6500/MPU6500.cpp +++ b/src/drivers/imu/invensense/mpu6500/MPU6500.cpp @@ -331,10 +331,6 @@ void MPU6500::ConfigureGyro() void MPU6500::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 800; // default to 800 Hz - } - // round down to nearest FIFO sample dt * SAMPLES_PER_TRANSFER const float min_interval = FIFO_SAMPLE_DT * SAMPLES_PER_TRANSFER; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/invensense/mpu9250/MPU9250.cpp b/src/drivers/imu/invensense/mpu9250/MPU9250.cpp index 0e3b66f83e..1433b83221 100644 --- a/src/drivers/imu/invensense/mpu9250/MPU9250.cpp +++ b/src/drivers/imu/invensense/mpu9250/MPU9250.cpp @@ -365,10 +365,6 @@ void MPU9250::ConfigureGyro() void MPU9250::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 800; // default to 800 Hz - } - // round down to nearest FIFO sample dt * SAMPLES_PER_TRANSFER const float min_interval = FIFO_SAMPLE_DT * SAMPLES_PER_TRANSFER; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/invensense/mpu9250/MPU9250_I2C.cpp b/src/drivers/imu/invensense/mpu9250/MPU9250_I2C.cpp index 234ef80b8f..d6a7902450 100644 --- a/src/drivers/imu/invensense/mpu9250/MPU9250_I2C.cpp +++ b/src/drivers/imu/invensense/mpu9250/MPU9250_I2C.cpp @@ -332,10 +332,6 @@ void MPU9250_I2C::ConfigureGyro() void MPU9250_I2C::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = 1000; // default to 1000 Hz - } - // round down to nearest FIFO sample dt * SAMPLES_PER_TRANSFER const float min_interval = FIFO_SAMPLE_DT * SAMPLES_PER_TRANSFER; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/drivers/imu/st/lsm9ds1/LSM9DS1.cpp b/src/drivers/imu/st/lsm9ds1/LSM9DS1.cpp index 6a12447992..fc98fc2793 100644 --- a/src/drivers/imu/st/lsm9ds1/LSM9DS1.cpp +++ b/src/drivers/imu/st/lsm9ds1/LSM9DS1.cpp @@ -239,10 +239,6 @@ void LSM9DS1::RunImpl() void LSM9DS1::ConfigureSampleRate(int sample_rate) { - if (sample_rate == 0) { - sample_rate = ST_LSM9DS1::LA_ODR; - } - // round down to nearest FIFO sample dt const float min_interval = FIFO_SAMPLE_DT; _fifo_empty_interval_us = math::max(roundf((1e6f / (float)sample_rate) / min_interval) * min_interval, min_interval); diff --git a/src/modules/sensors/vehicle_angular_velocity/imu_gyro_parameters.c b/src/modules/sensors/vehicle_angular_velocity/imu_gyro_parameters.c index aee724ce14..b625657116 100644 --- a/src/modules/sensors/vehicle_angular_velocity/imu_gyro_parameters.c +++ b/src/modules/sensors/vehicle_angular_velocity/imu_gyro_parameters.c @@ -90,8 +90,8 @@ PARAM_DEFINE_FLOAT(IMU_GYRO_CUTOFF, 30.0f); * * @min 0 * @max 2000 -* @value 0 0 (no limit) -* @value 50 50 Hz +* @value 0 0 (driver minimum) +* @value 100 100 Hz * @value 250 250 Hz * @value 400 400 Hz * @value 1000 1000 Hz @@ -100,7 +100,7 @@ PARAM_DEFINE_FLOAT(IMU_GYRO_CUTOFF, 30.0f); * @reboot_required true * @group Sensors */ -PARAM_DEFINE_INT32(IMU_GYRO_RATEMAX, 0); +PARAM_DEFINE_INT32(IMU_GYRO_RATEMAX, 400); /** * Cutoff frequency for angular acceleration (D-Term filter)