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);
131 "<-----------calibration data-------------->\n"
132 "COE_a0[%d] COE_a1[%d] COE_a2[%d] COE_b00[%d]",
135 ESP_LOGV(TAG,
"COE_bt1[%d] COE_bt2[%d] COE_bp1[%d] COE_b11[%d]\r\n",
qmp6988_data_.qmp6988_cali.COE_bt1,
137 ESP_LOGV(TAG,
"COE_bp2[%d] COE_b12[%d] COE_b21[%d] COE_bp3[%d]\r\n",
qmp6988_data_.qmp6988_cali.COE_bp2,
139 ESP_LOGV(TAG,
"<-----------calibration data-------------->\r\n");
156 "<----------- int calibration data -------------->\n"
157 "a0[%d] a1[%d] a2[%d] b00[%d]",
163 ESP_LOGV(TAG,
"<----------- int calibration data -------------->\r\n");
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);
289 uint32_t p_read, t_read;
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);