On Sat, 12 Aug 2023 22:40:19 +0200 Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > On Sat, Aug 12, 2023 at 11:17 AM Lorenzo Bianconi <lorenzo@xxxxxxxxxx> wrote: > > > > > looking at the ISM330DHCX datasheet, the temperature sensor ODR is just 52Hz, > > > > while values in 0x0A register are used only for FIFO decimation, they are not > > > > values you can configure the sensor e.g. for read_one_shot(). > > BTW looked at this and the read_one_shot() call uses > register 0x20/0x21 as appropriate. > > > > > > > > > > + .odr_avl[0] = { 26000, 0x02 }, > > > > > + .odr_avl[1] = { 52000, 0x03 }, > > > > > + .odr_len = 2, > > > > > > I look at page 44, paragraph 9.6 about bits 4-5: > > > > > > ODR_T_BATCH_[1:0] > > > Selects batch data rate (write frequency in FIFO) for temperature data > > > (00: Temperature not batched in FIFO (default); > > > 01: 1.6 Hz; > > > 10: 12.5 Hz; > > > 11: 52 Hz) > > > > AFAIR the batch register is used to sub-sample sensor data before queueing them > > into the FIFO (please check st_lsm6dsx_set_fifo_odr()), but it does not refer > > to the configured sensor ODR. > > Looking at the device application-note [0], the temperature sensor ODR depends > > on the accel/gyro one: > > > > - temperature sensor ODR == accel sensor ODR if accel ODR is < 52Hz and the > > gyro is in power-down > > - temperature sensor ODR = 52Hz if accel ODR > 52Hz or if the gyro is not in > > power-down > > We handle the TEMP along with the EXT channels in > st_lsm6dsx_set_odr() which actually makes sure to match > the data rate of the accelerometer. > > It looks as nobody cared to look into the issue with the > gyroscope though :/ It feels like a whole separate issue, > I expect more channels to be affected by that... > > Yours, > Linus Walleij FWIW this seems crazy. Ah well, Lorenzo is the expert on these beasts. Jonathna