102 uint8_t a_data_uint8_tr[QMP6988_CALIBRATION_DATA_LENGTH] = {0};
104 for (uint8_t
len = 0;
len < QMP6988_CALIBRATION_DATA_LENGTH;
len += 1) {
106 ESP_LOGE(TAG,
"Read calibration data (0xA0) error");
112 (int32_t)
encode_uint32(a_data_uint8_tr[18], a_data_uint8_tr[19], (a_data_uint8_tr[24] & 0x0f) << 4, 0);
119 (int32_t)
encode_uint32(a_data_uint8_tr[0], a_data_uint8_tr[1], a_data_uint8_tr[24] & 0xf0, 0);
132 "Calibration data:\n"
133 " COE_a0[%" PRId32
"] COE_a1[%d] COE_a2[%d] COE_b00[%" PRId32
"]\n"
134 " COE_bt1[%d] COE_bt2[%d] COE_bp1[%d] COE_b11[%d]\n"
135 " COE_bp2[%d] COE_b12[%d] COE_b21[%d] COE_bp3[%d]",
156 "Int calibration data:\n"
157 " a0[%" PRId32
"] a1[%" PRId32
"] a2[%" PRId32
"] b00[%" PRId32
"]\n"
158 " bt1[%lld] bt2[%lld] bp1[%lld] b11[%lld]\n"
159 " bp2[%lld] b12[%lld] b21[%lld] bp3[%lld]",
181 int64_t wk1, wk2, wk3;
184 wk1 = ((int64_t) ik->bt1 * (int64_t) tx);
185 wk2 = ((int64_t) ik->bp1 * (int64_t) dp) >> 5;
187 wk2 = ((int64_t) ik->bt2 * (int64_t) tx) >> 1;
188 wk2 = (wk2 * (int64_t) tx) >> 8;
190 wk2 = ((int64_t) ik->b11 * (int64_t) tx) >> 4;
191 wk2 = (wk2 * (int64_t) dp) >> 1;
193 wk2 = ((int64_t) ik->bp2 * (int64_t) dp) >> 13;
194 wk2 = (wk2 * (int64_t) dp) >> 1;
197 wk2 = ((int64_t) ik->b12 * (int64_t) tx);
198 wk2 = (wk2 * (int64_t) tx) >> 22;
199 wk2 = (wk2 * (int64_t) dp) >> 1;
201 wk2 = ((int64_t) ik->b21 * (int64_t) tx) >> 6;
202 wk2 = (wk2 * (int64_t) dp) >> 23;
203 wk2 = (wk2 * (int64_t) dp) >> 1;
205 wk2 = ((int64_t) ik->bp3 * (int64_t) dp) >> 12;
206 wk2 = (wk2 * (int64_t) dp) >> 23;
207 wk2 = (wk2 * (int64_t) dp);
289 int32_t p_raw, t_raw;
290 uint8_t a_data_uint8_tr[6] = {0};
291 int32_t t_int, p_int;
295 err = this->
read_register(QMP6988_PRESSURE_MSB_REG, a_data_uint8_tr, 6);
297 ESP_LOGE(TAG,
"Error reading raw pressure/temp values");
300 p_read =
encode_uint24(a_data_uint8_tr[0], a_data_uint8_tr[1], a_data_uint8_tr[2]);
301 p_raw = (int32_t) (p_read - SUBTRACTOR);
303 t_read =
encode_uint24(a_data_uint8_tr[3], a_data_uint8_tr[4], a_data_uint8_tr[5]);
304 t_raw = (int32_t) (t_read - SUBTRACTOR);