Paparazzi UAS  v5.2.2_stable-0-gd6b9f29
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
bmp085.h File Reference

Bosch BMP085 driver interface. More...

#include "mcu_periph/i2c.h"
#include "std.h"
+ Include dependency graph for bmp085.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Bmp085Calib
 
struct  Bmp085
 

Typedefs

typedef bool_t(* Bmp085EOC )(void)
 

Enumerations

enum  Bmp085Status {
  BMP085_STATUS_UNINIT, BMP085_STATUS_IDLE, BMP085_STATUS_START_TEMP, BMP085_STATUS_READ_TEMP,
  BMP085_STATUS_START_PRESS, BMP085_STATUS_READ_PRESS
}
 

Functions

void bmp085_read_eeprom_calib (struct Bmp085 *bmp)
 
void bmp085_init (struct Bmp085 *bmp, struct i2c_periph *i2c_p, uint8_t addr)
 
void bmp085_periodic (struct Bmp085 *bmp)
 Start new measurement if idle or read temp/pressure. More...
 
void bmp085_event (struct Bmp085 *bmp)
 

Detailed Description

Bosch BMP085 driver interface.

Definition in file bmp085.h.

Typedef Documentation

typedef bool_t(* Bmp085EOC)(void)

Definition at line 60 of file bmp085.h.

Enumeration Type Documentation

Enumerator
BMP085_STATUS_UNINIT 
BMP085_STATUS_IDLE 
BMP085_STATUS_START_TEMP 
BMP085_STATUS_READ_TEMP 
BMP085_STATUS_START_PRESS 
BMP085_STATUS_READ_PRESS 

Definition at line 33 of file bmp085.h.

Function Documentation

void bmp085_init ( struct Bmp085 bmp,
struct i2c_periph i2c_p,
uint8_t  addr 
)

Definition at line 83 of file bmp085.c.

References bmp085_eoc_true(), BMP085_STATUS_UNINIT, Bmp085::data_available, Bmp085::eoc, FALSE, Bmp085::i2c_p, Bmp085::i2c_trans, I2CTransDone, Bmp085::initialized, i2c_transaction::slave_addr, Bmp085::status, and i2c_transaction::status.

Referenced by baro_bmp_init(), and baro_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void bmp085_periodic ( struct Bmp085 bmp)

Start new measurement if idle or read temp/pressure.

Should run at < 40Hz unless eoc check function is provided. At ultra high resolution (oss = 3) conversion time is max 25.5ms.

Definition at line 108 of file bmp085.c.

References BMP085_CTRL_REG, BMP085_DAT_MSB, BMP085_START_TEMP, BMP085_STATUS_IDLE, BMP085_STATUS_READ_PRESS, BMP085_STATUS_READ_TEMP, BMP085_STATUS_START_PRESS, BMP085_STATUS_START_TEMP, i2c_transaction::buf, Bmp085::eoc, Bmp085::i2c_p, Bmp085::i2c_trans, i2c_transceive(), i2c_transmit(), i2c_transaction::slave_addr, and Bmp085::status.

Referenced by baro_bmp_periodic(), and baro_periodic().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void bmp085_read_eeprom_calib ( struct Bmp085 bmp)

Definition at line 73 of file bmp085.c.

References BMP085_EEPROM_AC1, BMP085_STATUS_UNINIT, i2c_transaction::buf, FALSE, Bmp085::i2c_p, Bmp085::i2c_trans, i2c_transceive(), I2CTransDone, Bmp085::initialized, i2c_transaction::slave_addr, Bmp085::status, and i2c_transaction::status.

Referenced by baro_bmp_periodic(), and baro_periodic().

+ Here is the call graph for this function:

+ Here is the caller graph for this function: