- int32_t var1;
- int32_t var2;
- int32_t var3;
- int32_t var4;
- uint32_t var5;
- uint32_t pressure;
- uint32_t pressure_min = 30000;
- uint32_t pressure_max = 110000;
-
- var1 = (((int32_t)calib_data->t_fine) / 2) - (int32_t)64000;
- var2 = (((var1 / 4) * (var1 / 4)) / 2048) * ((int32_t)calib_data->dig_P6);
- var2 = var2 + ((var1 * ((int32_t)calib_data->dig_P5)) * 2);
- var2 = (var2 / 4) + (((int32_t)calib_data->dig_P4) * 65536);
- var3 = (calib_data->dig_P3 * (((var1 / 4) * (var1 / 4)) / 8192)) / 8;
- var4 = (((int32_t)calib_data->dig_P2) * var1) / 2;
- var1 = (var3 + var4) / 262144;
- var1 = (((32768 + var1)) * ((int32_t)calib_data->dig_P1)) / 32768;
- /* avoid exception caused by division by zero */
- if (var1) {
- var5 = (uint32_t)((uint32_t)1048576) - uncomp_data->pressure;
- pressure = ((uint32_t)(var5 - (uint32_t)(var2 / 4096))) * 3125;
- if (pressure < 0x80000000)
- pressure = (pressure << 1) / ((uint32_t)var1);
- else
- pressure = (pressure / (uint32_t)var1) * 2;
-
- var1 = (((int32_t)calib_data->dig_P9) * ((int32_t)(((pressure / 8) * (pressure / 8)) / 8192))) / 4096;
- var2 = (((int32_t)(pressure / 4)) * ((int32_t)calib_data->dig_P8)) / 8192;
- pressure = (uint32_t)((int32_t)pressure + ((var1 + var2 + calib_data->dig_P7) / 16));
-
- if (pressure < pressure_min)
- pressure = pressure_min;
- else if (pressure > pressure_max)
- pressure = pressure_max;
- } else {
- pressure = pressure_min;
- }
-
- return pressure;
+ int32_t var1;
+ int32_t var2;
+ int32_t var3;
+ int32_t var4;
+ uint32_t var5;
+ uint32_t pressure;
+ uint32_t pressure_min = 30000;
+ uint32_t pressure_max = 110000;
+
+ var1 = (((int32_t)calib_data->t_fine) / 2) - (int32_t)64000;
+ var2 = (((var1 / 4) * (var1 / 4)) / 2048) * ((int32_t)calib_data->dig_P6);
+ var2 = var2 + ((var1 * ((int32_t)calib_data->dig_P5)) * 2);
+ var2 = (var2 / 4) + (((int32_t)calib_data->dig_P4) * 65536);
+ var3 = (calib_data->dig_P3 * (((var1 / 4) * (var1 / 4)) / 8192)) / 8;
+ var4 = (((int32_t)calib_data->dig_P2) * var1) / 2;
+ var1 = (var3 + var4) / 262144;
+ var1 = (((32768 + var1)) * ((int32_t)calib_data->dig_P1)) / 32768;
+
+ /* avoid exception caused by division by zero */
+ if (var1)
+ {
+ var5 = (uint32_t)((uint32_t)1048576) - uncomp_data->pressure;
+ pressure = ((uint32_t)(var5 - (uint32_t)(var2 / 4096))) * 3125;
+ if (pressure < 0x80000000)
+ {
+ pressure = (pressure << 1) / ((uint32_t)var1);
+ }
+ else
+ {
+ pressure = (pressure / (uint32_t)var1) * 2;
+ }
+ var1 = (((int32_t)calib_data->dig_P9) * ((int32_t)(((pressure / 8) * (pressure / 8)) / 8192))) / 4096;
+ var2 = (((int32_t)(pressure / 4)) * ((int32_t)calib_data->dig_P8)) / 8192;
+ pressure = (uint32_t)((int32_t)pressure + ((var1 + var2 + calib_data->dig_P7) / 16));
+ if (pressure < pressure_min)
+ {
+ pressure = pressure_min;
+ }
+ else if (pressure > pressure_max)
+ {
+ pressure = pressure_max;
+ }
+ }
+ else
+ {
+ pressure = pressure_min;
+ }
+
+ return pressure;