+struct ao_ms5607_prom {
+ uint16_t reserved;
+ uint16_t sens;
+ uint16_t off;
+ uint16_t tcs;
+ uint16_t tco;
+ uint16_t tref;
+ uint16_t tempsens;
+ uint16_t crc;
+};
+
+struct ao_ms5607_sample {
+ uint32_t pres; /* raw 24 bit sensor */
+ uint32_t temp; /* raw 24 bit sensor */
+};
+
+struct ao_ms5607_value {
+ int32_t pres; /* in Pa * 10 */
+ int32_t temp; /* in °C * 100 */
+};
+
+extern __xdata struct ao_ms5607_sample ao_ms5607_current;
+extern __xdata struct ao_ms5607_prom ao_ms5607_prom;
+
+void
+ao_ms5607_setup(void);
+
+void
+ao_ms5607_init(void);
+
+void
+ao_ms5607_info(void);
+
+void
+ao_ms5607_sample(__xdata struct ao_ms5607_sample *sample);
+
+void
+ao_ms5607_convert(__xdata struct ao_ms5607_sample *sample,
+ __xdata struct ao_ms5607_value *value);
+