I aim to collect IMU samples at 250Hz.
To do that, if I set gyro DLPF_CFG 1 - 7, the ADC sampling is 1kHz and so SMPLRT_DIV is set to 3 to get that 250Hz. All works well - the time of flight matches the number of samples taken to 0.1% e.g. a 10s flight has 2500 samples.
Setting DLPF_CFG to 0 sets the ADC sampling to 8kHz, and so SMPLRT_DIV is set to 31 to get the same 250Hz data ready interrupt. But in this case 2500 samples are collected in less than 10s - something like 8s. Or to put it another way, the data ready interrupt frequency is more than 250Hz.
Anyone else seen this? Any suggestions?
Everything works well at DLPF_CFG = 1 but if I can get 0 to work, I will.
TIA
P.S. Sorry, I know this is the wrong forum, but I couldn't find a general IMU one.
Replies
OK, I did a little more testing:
Setting the gyro DLPF to 0, the ADC sampling rate goes up to 8kHz according to the spec. Then setting SMPLRT_DIV to 31 should mean the data ready interrupt triggers at 250Hz. But whatever I set SMPLRT_DIV to, I get 166Hz data ready interrupts.
With gyro DLPF set to > 0, then all works: the ADC sampling is 1kHz and setting the SMPLRT_DIV to 3 results in the required 250Hz data ready interrupts.
Has anyone else tested the gyro DLPF set to 0 and seen this?