I2C bus upgrade (#432)
This commit is contained in:
parent
d100f42b1f
commit
b83c2629b9
56 changed files with 909 additions and 804 deletions
|
|
@ -14,9 +14,13 @@
|
|||
#include "FreeRTOS.h"
|
||||
#include "queue.h"
|
||||
|
||||
#include "i2c/i2c.h"
|
||||
|
||||
// Uncomment to enable debug output
|
||||
//#define BMP180_DEBUG
|
||||
|
||||
#define BMP180_DEVICE_ADDRESS 0x77
|
||||
|
||||
#define BMP180_TEMPERATURE (1<<0)
|
||||
#define BMP180_PRESSURE (1<<1)
|
||||
|
||||
|
|
@ -42,16 +46,16 @@ typedef struct
|
|||
} bmp180_result_t;
|
||||
|
||||
// Init bmp180 driver ...
|
||||
bool bmp180_init(uint8_t scl, uint8_t sda);
|
||||
bool bmp180_init(i2c_dev_t *dev);
|
||||
|
||||
// Trigger a "complete" measurement (temperature and pressure will be valid when given to "bmp180_informUser)
|
||||
void bmp180_trigger_measurement(const QueueHandle_t* resultQueue);
|
||||
void bmp180_trigger_measurement(i2c_dev_t *dev, const QueueHandle_t* resultQueue);
|
||||
|
||||
// Trigger a "temperature only" measurement (only temperature will be valid when given to "bmp180_informUser)
|
||||
void bmp180_trigger_temperature_measurement(const QueueHandle_t* resultQueue);
|
||||
void bmp180_trigger_temperature_measurement(i2c_dev_t *dev, const QueueHandle_t* resultQueue);
|
||||
|
||||
// Trigger a "pressure only" measurement (only pressure will be valid when given to "bmp180_informUser)
|
||||
void bmp180_trigger_pressure_measurement(const QueueHandle_t* resultQueue);
|
||||
void bmp180_trigger_pressure_measurement(i2c_dev_t *dev, const QueueHandle_t* resultQueue);
|
||||
|
||||
// Give the user the chance to create it's own handler
|
||||
extern bool (*bmp180_informUser)(const QueueHandle_t* resultQueue, uint8_t cmd, bmp180_temp_t temperature, bmp180_press_t pressure);
|
||||
|
|
@ -75,12 +79,12 @@ typedef struct
|
|||
} bmp180_constants_t;
|
||||
|
||||
// Returns true if the bmp180 is detected.
|
||||
bool bmp180_is_available();
|
||||
bool bmp180_is_available(i2c_dev_t *dev);
|
||||
// Reads all the internal constants, returning true on success.
|
||||
bool bmp180_fillInternalConstants(bmp180_constants_t *c);
|
||||
bool bmp180_fillInternalConstants(i2c_dev_t *dev, bmp180_constants_t *c);
|
||||
// Reads an optional temperature and pressure. The over sampling
|
||||
// setting, oss, may be 0 to 3. Returns true on success.
|
||||
bool bmp180_measure(bmp180_constants_t *c, int32_t *temperature,
|
||||
bool bmp180_measure(i2c_dev_t *dev, bmp180_constants_t *c, int32_t *temperature,
|
||||
uint32_t *pressure, uint8_t oss);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue