iio:pressure:bmp280: fix pressure calculation
According to the datasheet and as defined in struct bmp280_comp_press, dig_p1 is of type u16, while dig_p2 to dig_p9 are of type s16. In bmp280_read_compensation_press(), values read from the device were treated as the wrong type. In bmp280_read_press() the fractional part of the measured pressure is calculated wrong. A better way is to use *val for the raw pressure and *val2 for the quotient and let the core do the proper conversion using IIO_VAL_FRACTIONAL. Signed-off-by: NHartmut Knaack <knaack.h@gmx.de> Acked-by: NVlad Dogaru <vlad.dogaru@intel.com> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
Showing
想要评论请 注册 或 登录