first cut at turnon scripts for EasyTimer v2
[fw/altos] / src / drivers / ao_ms5607.h
index fa3b1c5b83df662386411e1a36d7439b2e7c29b9..02350bb0cbf5977a05cc5a3fa141216b24cfdbf6 100644 (file)
@@ -3,7 +3,8 @@
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -33,7 +34,7 @@
 #define AO_MS5607_CONVERT_D2_4096      0x58
 
 #define AO_MS5607_ADC_READ             0x00
-#define AO_MS5607_PROM_READ(ad)                (0xA0 | ((ad) << 1))
+#define AO_MS5607_PROM_READ(ad)                (0xA0U | (uint8_t) ((ad) << 1))
 
 struct ao_ms5607_prom {
        uint16_t        reserved;
@@ -51,14 +52,17 @@ struct ao_ms5607_sample {
        uint32_t        temp;   /* raw 24 bit sensor */
 };
 
-extern uint8_t ao_ms5607_valid;
-extern struct ao_ms5607_sample ao_ms5607_current;
-
 struct ao_ms5607_value {
        int32_t         pres;   /* in Pa * 10 */
        int32_t         temp;   /* in °C * 100 */
 };
 
+extern struct ao_ms5607_sample ao_ms5607_current;
+extern struct ao_ms5607_prom   ao_ms5607_prom;
+
+void
+ao_ms5607_setup(void);
+
 void
 ao_ms5607_init(void);
 
@@ -69,9 +73,7 @@ void
 ao_ms5607_sample(struct ao_ms5607_sample *sample);
 
 void
-ao_ms5607_convert(struct ao_ms5607_sample *sample, struct ao_ms5607_value *value);
-
-void
-ao_ms5607_get_prom(struct ao_ms5607_prom *prom);
+ao_ms5607_convert(struct ao_ms5607_sample *sample,
+                 struct ao_ms5607_value *value);
 
 #endif /* _AO_MS5607_H_ */