On Thu, 2024-03-14 at 21:17 +0100, Vasileios Amoiridis wrote: > On Thu, Mar 14, 2024 at 03:09:59PM +0000, Jonathan Cameron wrote: > > On Wed, 13 Mar 2024 18:40:05 +0100 > > Vasileios Amoiridis <vassilisamir@xxxxxxxxx> wrote: > > > > > The read_press/read_humid functions need the updated t_fine value > > > in order to calculate the current pressure/humidity. Temperature > > > reads should be removed from the read_press/read_humid functions > > > and should be placed in the oneshot captures before the pressure > > > and humidity reads. This makes the code more intuitive. > > > > > > Signed-off-by: Vasileios Amoiridis <vassilisamir@xxxxxxxxx> > > > > To me this makes the use of these calls less obvious than they were > > previously. The calls are made close to where t_fine is used and > > don't have to go via the indirection of chip_info. > > > > So I disagree. I think this change makes the code a lot less > > clear. > > > > This was mainly driven by the fact that I wanted to avoid reading > the temperature 3 times in case temp, press and humid are enabled > and there are consecutive buffer readings. But thank you for the > proposal I really appreciate it! > Hi, just a side note reflecting on this. Depending on your sampling frequency and registers data shadowing, to avoid compensating with different samples between readings, we should be doing burst readings to get a bundle of the temperature+pressure and/or humidity. On the bmp/bme280 and bmp380 this can be done as registers are contiguous on the memory. On the bmp580 this is not a problem as the values are already compensated, you`ll get always the latest reading. Kind regard, Angel