altos: Provide MS5611 configuration option, HAS_MS5611
[fw/altos] / src / drivers / ao_ms5607.c
index 704b4583ec9e973848b82e22e1a9ef52aed82241..b0d5ddd4e86b2136eae498288ad865728547b801 100644 (file)
@@ -179,9 +179,13 @@ ao_ms5607_convert(struct ao_ms5607_sample *sample, struct ao_ms5607_value *value
        
        TEMP = 2000 + (((int64_t) dT * ms5607_prom.tempsens) >> 23);
 
+#if HAS_MS5611
+       OFF = ((int64_t) ms5607_prom.off << 16) + (((int64_t) ms5607_prom.tco * dT) >> 7);
+       SENS = ((int64_t) ms5607_prom.sens << 15) + (((int64_t) ms5607_prom.tcs * dT) >> 8);
+#else
        OFF = ((int64_t) ms5607_prom.off << 17) + (((int64_t) ms5607_prom.tco * dT) >> 6);
-
        SENS = ((int64_t) ms5607_prom.sens << 16) + (((int64_t) ms5607_prom.tcs * dT) >> 7);
+#endif
 
        if (TEMP < 2000) {
                int32_t T2 = ((int64_t) dT * (int64_t) dT) >> 31;