11 uint8_t coef_data_raw[DPS310_NUM_COEF_REGS];
12 auto timer = DPS310_INIT_TIMEOUT;
15 if (!this->
write_byte(DPS310_REG_RESET, DPS310_CMD_RESET)) {
21 while (timer-- && (!(
reg & DPS310_BIT_SENSOR_RDY) || !(
reg & DPS310_BIT_COEF_RDY))) {
26 if (!(
reg & DPS310_BIT_SENSOR_RDY) || !(
reg & DPS310_BIT_COEF_RDY)) {
36 if (!this->
read_bytes(DPS310_REG_COEF, coef_data_raw, DPS310_NUM_COEF_REGS)) {
46 if (!this->
write_byte(DPS310_REG_PRS_CFG, DPS310_VAL_PRS_CFG)) {
50 if (!this->
write_byte(DPS310_REG_TMP_CFG, DPS310_VAL_TMP_CFG | (
reg & DPS310_BIT_TMP_COEF_SRC))) {
54 if (!this->
write_byte(DPS310_REG_CFG, DPS310_VAL_REG_CFG)) {
58 if (!this->
write_byte(DPS310_REG_MEAS_CFG, 0x07)) {
65 int16_t(((uint16_t) coef_data_raw[0] << 4) | (((uint16_t) coef_data_raw[1] >> 4) & 0x0F)), 12) /
71 this->
c00_ = ((uint32_t) coef_data_raw[3] << 12) | ((uint32_t) coef_data_raw[4] << 4) |
72 (((uint32_t) coef_data_raw[5] >> 4) & 0x0F);
76 (((uint32_t) coef_data_raw[5] & 0x0F) << 16) | ((uint32_t) coef_data_raw[6] << 8) | (uint32_t) coef_data_raw[7];
79 this->
c01_ = int16_t(((uint16_t) coef_data_raw[8] << 8) | (uint16_t) coef_data_raw[9]);
80 this->
c11_ = int16_t(((uint16_t) coef_data_raw[10] << 8) | (uint16_t) coef_data_raw[11]);
81 this->
c20_ = int16_t(((uint16_t) coef_data_raw[12] << 8) | (uint16_t) coef_data_raw[13]);
82 this->
c21_ = int16_t(((uint16_t) coef_data_raw[14] << 8) | (uint16_t) coef_data_raw[15]);
83 this->
c30_ = int16_t(((uint16_t) coef_data_raw[16] << 8) | (uint16_t) coef_data_raw[17]);