Update BMP085 library.

And additional pressure sensor problems repoted by @MagKas.
http://forum.mysensors.org/topic/631/pressure-sensor-arduino-low-memory
This commit is contained in:
Henrik Ekblad
2014-11-25 16:18:40 +01:00
parent ab3db8b28b
commit 843e163328
4 changed files with 49 additions and 29 deletions
+11 -3
View File
@@ -1,8 +1,9 @@
/***************************************************
This is a library for the BMP085 Barometric Pressure & Temp Sensor
This is a library for the Adafruit BMP085/BMP180 Barometric Pressure + Temp sensor
Designed specifically to work with the Adafruit BMP085 Breakout
----> https://www.adafruit.com/products/391
Designed specifically to work with the Adafruit BMP085 or BMP180 Breakout
----> http://www.adafruit.com/products/391
----> http://www.adafruit.com/products/1603
These displays use I2C to communicate, 2 pins are required to
interface
@@ -14,6 +15,9 @@
BSD license, all text above must be included in any redistribution
****************************************************/
#ifndef ADAFRUIT_BMP085_H
#define ADAFRUIT_BMP085_H
#if (ARDUINO >= 100)
#include "Arduino.h"
#else
@@ -54,11 +58,13 @@ class Adafruit_BMP085 {
boolean begin(uint8_t mode = BMP085_ULTRAHIGHRES); // by default go highres
float readTemperature(void);
int32_t readPressure(void);
int32_t readSealevelPressure(float altitude_meters = 0);
float readAltitude(float sealevelPressure = 101325); // std atmosphere
uint16_t readRawTemperature(void);
uint32_t readRawPressure(void);
private:
int32_t computeB5(int32_t UT);
uint8_t read8(uint8_t addr);
uint16_t read16(uint8_t addr);
void write8(uint8_t addr, uint8_t data);
@@ -69,3 +75,5 @@ class Adafruit_BMP085 {
uint16_t ac4, ac5, ac6;
};
#endif // ADAFRUIT_BMP085_H