BME280 Combined humidity and pressure sensor library

Dependents:   mDot_TTN_OTAA_Node LoraGPSLogger mDot_TTN_OTAA_Node_send_data_as_string

Fork of BME280 by Toyomasa Watarai

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];