> Hi Lorenzo! > > thanks for the review! > > On Fri, Aug 11, 2023 at 12:07 PM Lorenzo Bianconi <lorenzo@xxxxxxxxxx> wrote: > > > > + [ST_LSM6DSX_ID_TEMP] = { > > > + .reg = { > > > + .addr = 0x0A, > > > + .mask = GENMASK(5, 4), > > > + }, > > > > 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(). > > > > > + .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 Regards, Lorenzo [0] https://www.st.com/resource/en/application_note/an5398-ism330dhcx-alwayson-3d-accelerometer-and-3d-gyroscope-with-digital-output-for-industrial-applications-stmicroelectronics.pdf > > That reads to me that I should actually add the odr for 1.6 and 12.5 Hz > and the above 26 Hz is wrong but the .odr_avl[1] = { 52000, 0x03 }, > 52000 milli-Hz is fine? > > Yours, > Linus Walleij
Attachment:
signature.asc
Description: PGP signature