X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fdrivers%2Fao_ms5607.h;h=322cc4684a292ddba5bf9e9cc667b1a38237f06a;hp=6c245368ad6164d029f9b4612d1acbab1e97ddea;hb=41fed74c4cf139de6bf8f1879d370977785ad1f8;hpb=9b12bc445fe482306e4587ad60c6d2daf65a60f3 diff --git a/src/drivers/ao_ms5607.h b/src/drivers/ao_ms5607.h index 6c245368..322cc468 100644 --- a/src/drivers/ao_ms5607.h +++ b/src/drivers/ao_ms5607.h @@ -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,6 +34,46 @@ #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) (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 */ +}; + +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); + +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); #endif /* _AO_MS5607_H_ */