Library for Bosch BMP280 temperature and pressure sensor

Dependents:   ELEC350-LCD-DEMO ELEC350-CWTEMPLATE-2017 ELEC351_v1 ELEC350-CWTEMPLATE-2017 ... more

Fork of BMP280 by Edwin Cho

Library for Temperature and Pressure Sensor Bosch BMP280.

Breakoutboard for example from Adafruit

https://learn.adafruit.com/adafruit-bmp280-barometric-pressure-plus-temperature-sensor-breakout/overview

/media/uploads/charly/bmp280.jpg

Files at this revision

API Documentation at this revision

Comitter:
takafuminaka
Date:
Tue May 12 12:07:25 2015 +0000
Parent:
2:c35f637c28ef
Child:
4:ddcaa259e65b
Commit message:
* Bug fix for getHumidity : 0xfd was read twice.; * Use burst read in getXXXX : As mentioned at chapter "4 Date readout" in datasheet.

Changed in this revision

BME280.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/BME280.cpp	Sat Apr 11 15:47:58 2015 +0000
+++ b/BME280.cpp	Tue May 12 12:07:25 2015 +0000
@@ -108,15 +108,15 @@
  
     cmd[0] = 0xfa; // temp_msb
     i2c.write(address, cmd, 1);
-    i2c.read(address, &cmd[1], 1);
+    i2c.read(address, &cmd[1], 3);
  
-    cmd[0] = 0xfb; // temp_lsb
-    i2c.write(address, cmd, 1);
-    i2c.read(address, &cmd[2], 1);
+    //cmd[0] = 0xfb; // temp_lsb
+    //i2c.write(address, cmd, 1);
+    //i2c.read(address, &cmd[2], 1);
  
-    cmd[0] = 0xfc; // temp_xlsb
-    i2c.write(address, cmd, 1);
-    i2c.read(address, &cmd[3], 1);
+    //cmd[0] = 0xfc; // temp_xlsb
+    //i2c.write(address, cmd, 1);
+    //i2c.read(address, &cmd[3], 1);
  
     temp_raw = (cmd[1] << 12) | (cmd[2] << 4) | (cmd[3] >> 4);
  
@@ -141,15 +141,15 @@
  
     cmd[0] = 0xf7; // press_msb
     i2c.write(address, cmd, 1);
-    i2c.read(address, &cmd[1], 1);
+    i2c.read(address, &cmd[1], 3);
  
-    cmd[0] = 0xf8; // press_lsb
-    i2c.write(address, cmd, 1);
-    i2c.read(address, &cmd[2], 1);
+    //cmd[0] = 0xf8; // press_lsb
+    //i2c.write(address, cmd, 1);
+    //i2c.read(address, &cmd[2], 1);
  
-    cmd[0] = 0xf9; // press_xlsb
-    i2c.write(address, cmd, 1);
-    i2c.read(address, &cmd[3], 1);
+    //cmd[0] = 0xf9; // press_xlsb
+    //i2c.write(address, cmd, 1);
+    //i2c.read(address, &cmd[3], 1);
  
     press_raw = (cmd[1] << 12) | (cmd[2] << 4) | (cmd[3] >> 4);
  
@@ -187,11 +187,11 @@
  
     cmd[0] = 0xfd; // hum_msb
     i2c.write(address, cmd, 1);
-    i2c.read(address, &cmd[1], 1);
+    i2c.read(address, &cmd[1], 2);
  
-    cmd[0] = 0xfd; // hum_lsb
-    i2c.write(address, cmd, 1);
-    i2c.read(address, &cmd[2], 1);
+    //cmd[0] = 0xfe; // hum_lsb
+    //i2c.write(address, cmd, 1);
+    //i2c.read(address, &cmd[2], 1);
  
     hum_raw = (cmd[1] << 8) | cmd[2];