projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Provide MS5611 configuration option, HAS_MS5611
[fw/altos]
/
src
/
drivers
/
ao_ms5607.c
diff --git
a/src/drivers/ao_ms5607.c
b/src/drivers/ao_ms5607.c
index 704b4583ec9e973848b82e22e1a9ef52aed82241..b0d5ddd4e86b2136eae498288ad865728547b801 100644
(file)
--- a/
src/drivers/ao_ms5607.c
+++ b/
src/drivers/ao_ms5607.c
@@
-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);
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);
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);
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;
if (TEMP < 2000) {
int32_t T2 = ((int64_t) dT * (int64_t) dT) >> 31;