X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fdrivers%2Fao_ms5607.h;h=206efd64f8c2e8ccf7934ef0441c3bff70f16b78;hb=7f6cbfac7c1965add91ebfc28ca3eac4561b4fb6;hp=29df25e47066875500dc8767282cffed4414eec1;hpb=1541fc0bde71f503b1ae5757497e9e1e6d023111;p=fw%2Faltos diff --git a/src/drivers/ao_ms5607.h b/src/drivers/ao_ms5607.h index 29df25e4..206efd64 100644 --- a/src/drivers/ao_ms5607.h +++ b/src/drivers/ao_ms5607.h @@ -35,7 +35,7 @@ #define AO_MS5607_ADC_READ 0x00 #define AO_MS5607_PROM_READ(ad) (0xA0 | ((ad) << 1)) -struct ms5607_prom { +struct ao_ms5607_prom { uint16_t reserved; uint16_t sens; uint16_t off; @@ -47,14 +47,34 @@ struct ms5607_prom { }; struct ao_ms5607_sample { - int32_t temp; - int32_t pres; + 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; + +void +ao_ms5607_setup(void); + void ao_ms5607_init(void); void -ao_ms5607_sample(struct ao_ms5607_sample *sample); +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); + +void +ao_ms5607_get_prom(__data struct ao_ms5607_prom *prom); #endif /* _AO_MS5607_H_ */