lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZNdOOuXy7vON/Shb@lore-rh-laptop>
Date:   Sat, 12 Aug 2023 11:17:46 +0200
From:   Lorenzo Bianconi <lorenzo@...nel.org>
To:     Linus Walleij <linus.walleij@...aro.org>
Cc:     Jonathan Cameron <jic23@...nel.org>,
        Lars-Peter Clausen <lars@...afoo.de>,
        Mario Tesi <mario.tesi@...com>,
        Miquel Raynal <miquel.raynal@...tlin.com>,
        linux-iio@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] iio: lsm6dsx: Support temperature channel

> Hi Lorenzo!
> 
> thanks for the review!
> 
> On Fri, Aug 11, 2023 at 12:07 PM Lorenzo Bianconi <lorenzo@...nel.org> 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

Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ