void ms5611_i2c_init(struct Ms5611_I2c *ms, struct i2c_periph *i2c_p, uint8_t addr, bool is_ms5607)
bool ms5611_calc(struct Ms5611Data *ms)
Calculate temperature and compensated pressure for MS5611.
volatile uint8_t buf[I2C_BUF_LEN]
Transaction buffer With I2C_BUF_LEN number of bytes.
transaction successfully finished by I2C driver
bool ms5607_calc(struct Ms5611Data *ms)
Calculate temperature and compensated pressure for MS5607.
bool is_ms5607
TRUE if MS5607, FALSE if MS5611.
void ms5611_i2c_start_configure(struct Ms5611_I2c *ms)
bool ms5611_prom_crc_ok(uint16_t *prom)
Check if CRC of PROM data is OK.
#define MS5611_START_CONV_D1
int32_t prom_cnt
number of bytes read from PROM
volatile bool data_available
data ready flag
transaction set to done by user level
Measurement Specialties (Intersema) MS5611-01BA and MS5607-02BA03 pressure/temperature sensor interfa...
void ms5611_i2c_event(struct Ms5611_I2c *ms)
bool i2c_transceive(struct i2c_periph *p, struct i2c_transaction *t, uint8_t s_addr, uint8_t len_w, uint16_t len_r)
Submit a write/read transaction.
enum I2CTransactionStatus status
Transaction status.
bool i2c_transmit(struct i2c_periph *p, struct i2c_transaction *t, uint8_t s_addr, uint8_t len)
Submit a write only transaction.
void ms5611_i2c_start_conversion(struct Ms5611_I2c *ms)
uint8_t slave_addr
Slave address.
I2C peripheral structure.
struct i2c_transaction i2c_trans
bool initialized
config done flag
struct i2c_periph * i2c_p
void ms5611_i2c_periodic_check(struct Ms5611_I2c *ms)
Periodic function to ensure proper delay after triggering reset or conversion.
#define MS5611_SOFT_RESET
#define MS5611_START_CONV_D2
if(PrimarySpektrumState.SpektrumTimer)