antirez / antirez/bme680-pure-mp

Minor error in formula to calculate air pressure

Aperta
#2 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
20
Fork
1
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

I think I have found a very, very small error in the calculation of the air pressure. As far as I know, URL https://github.com/boschsensortec/BME68x_SensorAPI/ contains the reference API for handling data from a BME680 sensor. Line 871 in this driver reads:
` var2 = ((((var1 >> 2) * (var1 >> 2)) >> 11) * (int32_t)dev->calib.par_p6) >> 2;
`
In your driver this corresponds with line 69, which reads:
` var2 = (((var1 >> 2) ** 2) >> 11) * (self.par_p6 >> 2)`
I think it should read:
` var2 = ((((var1 >> 2) ** 2) >> 11) * self.par_p6) >> 2`

Running some tests show that the (absolute) difference between the air pressures calculated using both variants of the formula set is much less than 1 [hPa], thus much less than the typical accuracy. So normally, one will not notice the difference.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.