antirez / antirez/bme680-pure-mp

Minor error in formula to calculate air pressure

オープン
#2 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
20
フォーク
1
PR マージ指標
30日以内にマージされた PR はありません

説明

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.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。