05-19-2021 09:59 AM
Hello,
my BMI270 board is lying on the desk and I have following gyro values:
Event: time 1159.868394, -------------- SYN_REPORT ------------
Event: time 1159.878398, type 3 (EV_ABS), code 40 (ABS_MISC), value 113079
Event: time 1159.878398, type 3 (EV_ABS), code 0 (ABS_X), value 0
Event: time 1159.878398, type 3 (EV_ABS), code 1 (ABS_Y), value 2
Event: time 1159.878398, type 3 (EV_ABS), code 2 (ABS_Z), value -2
Event: time 1159.878398, -------------- SYN_REPORT ------------
Event: time 1159.888399, type 3 (EV_ABS), code 40 (ABS_MISC), value 113080
Event: time 1159.888399, type 3 (EV_ABS), code 2 (ABS_Z), value -3
Event: time 1159.888399, -------------- SYN_REPORT ------------
Event: time 1159.898404, type 3 (EV_ABS), code 40 (ABS_MISC), value 113081
Event: time 1159.898404, type 3 (EV_ABS), code 0 (ABS_X), value 1
Event: time 1159.898404, type 3 (EV_ABS), code 1 (ABS_Y), value 1
Event: time 1159.898404, type 3 (EV_ABS), code 2 (ABS_Z), value -2
Event: time 1159.898404, -------------- SYN_REPORT ------------
Event: time 1159.908369, type 3 (EV_ABS), code 40 (ABS_MISC), value 113082
Event: time 1159.908369, type 3 (EV_ABS), code 0 (ABS_X), value 0
Event: time 1159.908369, type 3 (EV_ABS), code 1 (ABS_Y), value 2
Event: time 1159.908369, type 3 (EV_ABS), code 2 (ABS_Z), value -3
If I turn off downsampling (BMI2_FIFO_DOWNS_ADDR is set to 0x80) I'm getting following gyro values:
Event: time 54.097798, -------------- SYN_REPORT ------------
Event: time 54.097806, type 3 (EV_ABS), code 40 (ABS_MISC), value 5904
Event: time 54.097806, type 3 (EV_ABS), code 0 (ABS_X), value -197
Event: time 54.097806, type 3 (EV_ABS), code 1 (ABS_Y), value 183
Event: time 54.097806, type 3 (EV_ABS), code 2 (ABS_Z), value 139
Event: time 54.097806, -------------- SYN_REPORT ------------
Event: time 54.097813, type 3 (EV_ABS), code 40 (ABS_MISC), value 5905
Event: time 54.097813, type 3 (EV_ABS), code 0 (ABS_X), value 99
Event: time 54.097813, type 3 (EV_ABS), code 1 (ABS_Y), value -59
Event: time 54.097813, type 3 (EV_ABS), code 2 (ABS_Z), value 185
Event: time 54.097813, -------------- SYN_REPORT ------------
Event: time 54.097820, type 3 (EV_ABS), code 40 (ABS_MISC), value 5906
Event: time 54.097820, type 3 (EV_ABS), code 0 (ABS_X), value 245
Event: time 54.097820, type 3 (EV_ABS), code 1 (ABS_Y), value -93
Event: time 54.097820, type 3 (EV_ABS), code 2 (ABS_Z), value -112
Why are they about 100 times higher ? I would exept average values if filtering is on. Register (0x43) GYR_RANGE is 0 in both cases.
When BMI2_FIFO_DOWNS_ADDR is set to 0x80 and ODR is set to 100 for gyro and accel, ODR for accel is fine, but gyro ODR reg is ignored and ODR is 6.4kHz. Why is this register ignored ?
Thanks
05-20-2021 05:03 AM
Hello joma,
It is not good way to disable gyr_fifo_filt_data bit in FIFO_DOWNS(0x45) register. This is not recommended.
05-20-2021 02:26 PM
Thanks for the info.
Then how is it possible to sed 6.4 kHz ODR for gyro ?
05-31-2021 07:26 AM
Hello joma,
If you disable gyr_fifo_filt_data bit in FIFO_DOWNS(0x45) register, ODR was set to 6.4 kHz.