X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fdrivers%2Fao_ms5607.h;h=fa3b1c5b83df662386411e1a36d7439b2e7c29b9;hb=843fcab46d633e5bb6959286adeb68e41a4c30a3;hp=489190a496352bc6cc95058124081e5bfc4e4627;hpb=3909fca0a3f918121888a415f9bf9bca99505366;p=fw%2Faltos diff --git a/src/drivers/ao_ms5607.h b/src/drivers/ao_ms5607.h index 489190a4..fa3b1c5b 100644 --- a/src/drivers/ao_ms5607.h +++ b/src/drivers/ao_ms5607.h @@ -35,4 +35,43 @@ #define AO_MS5607_ADC_READ 0x00 #define AO_MS5607_PROM_READ(ad) (0xA0 | ((ad) << 1)) +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 */ +}; + +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 */ +}; + +void +ao_ms5607_init(void); + +void +ao_ms5607_info(void); + +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); + #endif /* _AO_MS5607_H_ */