103 uint8_t a_data_uint8_tr[QMP6988_CALIBRATION_DATA_LENGTH] = {0};
105 for (uint8_t
len = 0;
len < QMP6988_CALIBRATION_DATA_LENGTH;
len += 1) {
107 ESP_LOGE(TAG,
"Read calibration data (0xA0) error");
113 (int32_t)
encode_uint32(a_data_uint8_tr[18], a_data_uint8_tr[19], (a_data_uint8_tr[24] & 0x0f) << 4, 0);
120 (int32_t)
encode_uint32(a_data_uint8_tr[0], a_data_uint8_tr[1], a_data_uint8_tr[24] & 0xf0, 0);
133 "Calibration data:\n"
134 " COE_a0[%" PRId32
"] COE_a1[%d] COE_a2[%d] COE_b00[%" PRId32
"]\n"
135 " COE_bt1[%d] COE_bt2[%d] COE_bp1[%d] COE_b11[%d]\n"
136 " COE_bp2[%d] COE_b12[%d] COE_b21[%d] COE_bp3[%d]",
157 "Int calibration data:\n"
158 " a0[%" PRId32
"] a1[%" PRId32
"] a2[%" PRId32
"] b00[%" PRId32
"]\n"
159 " bt1[%lld] bt2[%lld] bp1[%lld] b11[%lld]\n"
160 " bp2[%lld] b12[%lld] b21[%lld] bp3[%lld]",
182 int64_t wk1, wk2, wk3;
185 wk1 = ((int64_t) ik->bt1 * (int64_t) tx);
186 wk2 = ((int64_t) ik->bp1 * (int64_t) dp) >> 5;
188 wk2 = ((int64_t) ik->bt2 * (int64_t) tx) >> 1;
189 wk2 = (wk2 * (int64_t) tx) >> 8;
191 wk2 = ((int64_t) ik->b11 * (int64_t) tx) >> 4;
192 wk2 = (wk2 * (int64_t) dp) >> 1;
194 wk2 = ((int64_t) ik->bp2 * (int64_t) dp) >> 13;
195 wk2 = (wk2 * (int64_t) dp) >> 1;
198 wk2 = ((int64_t) ik->b12 * (int64_t) tx);
199 wk2 = (wk2 * (int64_t) tx) >> 22;
200 wk2 = (wk2 * (int64_t) dp) >> 1;
202 wk2 = ((int64_t) ik->b21 * (int64_t) tx) >> 6;
203 wk2 = (wk2 * (int64_t) dp) >> 23;
204 wk2 = (wk2 * (int64_t) dp) >> 1;
206 wk2 = ((int64_t) ik->bp3 * (int64_t) dp) >> 12;
207 wk2 = (wk2 * (int64_t) dp) >> 23;
208 wk2 = (wk2 * (int64_t) dp);
290 int32_t p_raw, t_raw;
291 uint8_t a_data_uint8_tr[6] = {0};
292 int32_t t_int, p_int;
296 err = this->
read_register(QMP6988_PRESSURE_MSB_REG, a_data_uint8_tr, 6);
298 ESP_LOGE(TAG,
"Error reading raw pressure/temp values");
301 p_read =
encode_uint24(a_data_uint8_tr[0], a_data_uint8_tr[1], a_data_uint8_tr[2]);
302 p_raw = (int32_t) (p_read - SUBTRACTOR);
304 t_read =
encode_uint24(a_data_uint8_tr[3], a_data_uint8_tr[4], a_data_uint8_tr[5]);
305 t_raw = (int32_t) (t_read - SUBTRACTOR);