Lines Matching full:calib
28 /* Temperature calib indexes */
31 /* Pressure calib indexes */
46 /* Humidity calib indexes */
54 /* Stray T1 calib index */
56 /* Gas heater calib indexes */
161 struct bme680_calib *calib) in bme680_read_calib() argument
171 dev_err(dev, "failed to read 1st set of calib data;\n"); in bme680_read_calib()
175 calib->par_t2 = get_unaligned_le16(&data->bme680_cal_buf_1[T2_LSB]); in bme680_read_calib()
176 calib->par_t3 = data->bme680_cal_buf_1[T3]; in bme680_read_calib()
177 calib->par_p1 = get_unaligned_le16(&data->bme680_cal_buf_1[P1_LSB]); in bme680_read_calib()
178 calib->par_p2 = get_unaligned_le16(&data->bme680_cal_buf_1[P2_LSB]); in bme680_read_calib()
179 calib->par_p3 = data->bme680_cal_buf_1[P3]; in bme680_read_calib()
180 calib->par_p4 = get_unaligned_le16(&data->bme680_cal_buf_1[P4_LSB]); in bme680_read_calib()
181 calib->par_p5 = get_unaligned_le16(&data->bme680_cal_buf_1[P5_LSB]); in bme680_read_calib()
182 calib->par_p7 = data->bme680_cal_buf_1[P7]; in bme680_read_calib()
183 calib->par_p6 = data->bme680_cal_buf_1[P6]; in bme680_read_calib()
184 calib->par_p8 = get_unaligned_le16(&data->bme680_cal_buf_1[P8_LSB]); in bme680_read_calib()
185 calib->par_p9 = get_unaligned_le16(&data->bme680_cal_buf_1[P9_LSB]); in bme680_read_calib()
186 calib->par_p10 = data->bme680_cal_buf_1[P10]; in bme680_read_calib()
192 dev_err(dev, "failed to read 2nd set of calib data;\n"); in bme680_read_calib()
198 calib->par_h1 = (tmp_msb << BME680_HUM_REG_SHIFT_VAL) | in bme680_read_calib()
203 calib->par_h2 = (tmp_msb << BME680_HUM_REG_SHIFT_VAL) | in bme680_read_calib()
206 calib->par_h3 = data->bme680_cal_buf_2[H3]; in bme680_read_calib()
207 calib->par_h4 = data->bme680_cal_buf_2[H4]; in bme680_read_calib()
208 calib->par_h5 = data->bme680_cal_buf_2[H5]; in bme680_read_calib()
209 calib->par_h6 = data->bme680_cal_buf_2[H6]; in bme680_read_calib()
210 calib->par_h7 = data->bme680_cal_buf_2[H7]; in bme680_read_calib()
211 calib->par_t1 = get_unaligned_le16(&data->bme680_cal_buf_2[T1_LSB]); in bme680_read_calib()
212 calib->par_gh2 = get_unaligned_le16(&data->bme680_cal_buf_2[GH2_LSB]); in bme680_read_calib()
213 calib->par_gh1 = data->bme680_cal_buf_2[GH1]; in bme680_read_calib()
214 calib->par_gh3 = data->bme680_cal_buf_2[GH3]; in bme680_read_calib()
220 dev_err(dev, "failed to read 3rd set of calib data;\n"); in bme680_read_calib()
224 calib->res_heat_val = data->bme680_cal_buf_3[RES_HEAT_VAL]; in bme680_read_calib()
226 calib->res_heat_range = FIELD_GET(BME680_RHRANGE_MASK, in bme680_read_calib()
229 calib->range_sw_err = FIELD_GET(BME680_RSERROR_MASK, in bme680_read_calib()
269 struct bme680_calib *calib = &data->bme680; in bme680_calc_t_fine() local
273 if (!calib->par_t2) in bme680_calc_t_fine()
274 bme680_read_calib(data, calib); in bme680_calc_t_fine()
276 var1 = ((s32)adc_temp >> 3) - ((s32)calib->par_t1 << 1); in bme680_calc_t_fine()
277 var2 = (var1 * calib->par_t2) >> 11; in bme680_calc_t_fine()
279 var3 = (var3 * ((s32)calib->par_t3 << 4)) >> 14; in bme680_calc_t_fine()
338 struct bme680_calib *calib = &data->bme680; in bme680_compensate_press() local
342 var2 = ((((var1 >> 2) * (var1 >> 2)) >> 11) * calib->par_p6) >> 2; in bme680_compensate_press()
343 var2 = var2 + (var1 * calib->par_p5 << 1); in bme680_compensate_press()
344 var2 = (var2 >> 2) + ((s32)calib->par_p4 << 16); in bme680_compensate_press()
346 ((s32)calib->par_p3 << 5)) >> 3) + in bme680_compensate_press()
347 ((calib->par_p2 * var1) >> 1); in bme680_compensate_press()
349 var1 = ((32768 + var1) * calib->par_p1) >> 15; in bme680_compensate_press()
358 var1 = (calib->par_p9 * (((press_comp >> 3) * in bme680_compensate_press()
360 var2 = ((press_comp >> 2) * calib->par_p8) >> 13; in bme680_compensate_press()
362 (press_comp >> 8) * calib->par_p10) >> 17; in bme680_compensate_press()
364 press_comp += (var1 + var2 + var3 + ((s32)calib->par_p7 << 7)) >> 4; in bme680_compensate_press()
403 struct bme680_calib *calib = &data->bme680; in bme680_compensate_humid() local
407 var1 = (adc_humid - (((s32)calib->par_h1 * 16))) - in bme680_compensate_humid()
408 (((temp_scaled * calib->par_h3) / 100) >> 1); in bme680_compensate_humid()
409 var2 = (calib->par_h2 * in bme680_compensate_humid()
410 (((temp_scaled * calib->par_h4) / 100) + in bme680_compensate_humid()
411 (((temp_scaled * ((temp_scaled * calib->par_h5) / 100)) in bme680_compensate_humid()
414 var4 = (s32)calib->par_h6 << 7; in bme680_compensate_humid()
415 var4 = (var4 + ((temp_scaled * calib->par_h7) / 100)) >> 4; in bme680_compensate_humid()
434 struct bme680_calib *calib = &data->bme680; in bme680_compensate_gas() local
448 var1 = ((1340 + (5 * (s64) calib->range_sw_err)) * in bme680_compensate_gas()
464 struct bme680_calib *calib = &data->bme680; in bme680_calc_heater_res() local
471 var1 = (((s32) BME680_AMB_TEMP * calib->par_gh3) / 1000) * 256; in bme680_calc_heater_res()
472 var2 = (calib->par_gh1 + 784) * (((((calib->par_gh2 + 154009) * in bme680_calc_heater_res()
476 var4 = (var3 / (calib->res_heat_range + 4)); in bme680_calc_heater_res()
477 var5 = 131 * calib->res_heat_val + 65536; in bme680_calc_heater_res()