IMU sample rate

Hello! I got a question, how is IMU sample rate by default been set?
I checked v1.12.1 master, then found we can choose 3 IMUs with 1000Hz/400Hz/400Hz, while in v1.8.2 we only have 2 IMUs with 800Hz/800Hz sample rate.

Could we decrease all the IMU’ s sample rate to 400Hz or lower? Would it lead to crash or decrease flight performance? Like more sensitive to vibration…

Or if this default sample rate is been calculated?

Thanks in advance.

Are you referring to the param IMU_GYRO_RATEMAX?

Thanks for you reply, but not that param, I mean this:
MPU6000_GYRO_DEFAULT_RATE
in mpu6000.cpp, by default it’s 1000 Hz, I want to reduce this one as this may reduce cpu load a bit.
How is this param been set by default?

What is your CPU load, and have you checked using top what is using most? I don’t think messing with that one define will solve your problem but rather the par I shared above.

With 3 IMUs:
1 main(1000Hz), 2 redundant(400Hz/400Hz), with 1.12.1 master, cpuload is about 65%-70% by using “top” command.
1 main(800Hz), 2 redundant(800Hz/800Hz), with 1.8.2 master, cpuload is about 75%-85% by using “top” command.
That’s a little bit over I suppose?

Could I inquire how to increase the sampling rate of the IMU (rostopic /mavros/imu/data)
because I notice that my IMU rostopic is only about 10 hz
like this post : How to increase sample rare of the IMU (/mavros/imu/data)

Thank you very much