101 uint8_t a_data_uint8_tr[QMP6988_CALIBRATION_DATA_LENGTH] = {0};
103 for (uint8_t
len = 0;
len < QMP6988_CALIBRATION_DATA_LENGTH;
len += 1) {
105 ESP_LOGE(TAG,
"Read calibration data (0xA0) error");
111 (int32_t)
encode_uint32(a_data_uint8_tr[18], a_data_uint8_tr[19], (a_data_uint8_tr[24] & 0x0f) << 4, 0);
118 (int32_t)
encode_uint32(a_data_uint8_tr[0], a_data_uint8_tr[1], a_data_uint8_tr[24] & 0xf0, 0);
130 ESP_LOGV(TAG,
"<-----------calibration data-------------->\r\n");
131 ESP_LOGV(TAG,
"COE_a0[%d] COE_a1[%d] COE_a2[%d] COE_b00[%d]\r\n",
qmp6988_data_.qmp6988_cali.COE_a0,
133 ESP_LOGV(TAG,
"COE_bt1[%d] COE_bt2[%d] COE_bp1[%d] COE_b11[%d]\r\n",
qmp6988_data_.qmp6988_cali.COE_bt1,
135 ESP_LOGV(TAG,
"COE_bp2[%d] COE_b12[%d] COE_b21[%d] COE_bp3[%d]\r\n",
qmp6988_data_.qmp6988_cali.COE_bp2,
137 ESP_LOGV(TAG,
"<-----------calibration data-------------->\r\n");
153 ESP_LOGV(TAG,
"<----------- int calibration data -------------->\r\n");
160 ESP_LOGV(TAG,
"<----------- int calibration data -------------->\r\n");
179 int64_t wk1, wk2, wk3;
182 wk1 = ((int64_t) ik->bt1 * (int64_t) tx);
183 wk2 = ((int64_t) ik->bp1 * (int64_t) dp) >> 5;
185 wk2 = ((int64_t) ik->bt2 * (int64_t) tx) >> 1;
186 wk2 = (wk2 * (int64_t) tx) >> 8;
188 wk2 = ((int64_t) ik->b11 * (int64_t) tx) >> 4;
189 wk2 = (wk2 * (int64_t) dp) >> 1;
191 wk2 = ((int64_t) ik->bp2 * (int64_t) dp) >> 13;
192 wk2 = (wk2 * (int64_t) dp) >> 1;
195 wk2 = ((int64_t) ik->b12 * (int64_t) tx);
196 wk2 = (wk2 * (int64_t) tx) >> 22;
197 wk2 = (wk2 * (int64_t) dp) >> 1;
199 wk2 = ((int64_t) ik->b21 * (int64_t) tx) >> 6;
200 wk2 = (wk2 * (int64_t) dp) >> 23;
201 wk2 = (wk2 * (int64_t) dp) >> 1;
203 wk2 = ((int64_t) ik->bp3 * (int64_t) dp) >> 12;
204 wk2 = (wk2 * (int64_t) dp) >> 23;
205 wk2 = (wk2 * (int64_t) dp);
286 uint32_t p_read, t_read;
287 int32_t p_raw, t_raw;
288 uint8_t a_data_uint8_tr[6] = {0};
289 int32_t t_int, p_int;
293 err = this->
read_register(QMP6988_PRESSURE_MSB_REG, a_data_uint8_tr, 6);
295 ESP_LOGE(TAG,
"Error reading raw pressure/temp values");
298 p_read =
encode_uint24(a_data_uint8_tr[0], a_data_uint8_tr[1], a_data_uint8_tr[2]);
299 p_raw = (int32_t) (p_read - SUBTRACTOR);
301 t_read =
encode_uint24(a_data_uint8_tr[3], a_data_uint8_tr[4], a_data_uint8_tr[5]);
302 t_raw = (int32_t) (t_read - SUBTRACTOR);