Fork of original LPS331 library Changed the I2C address to 0xBA

Revision:
0:ef4f624dc3ec
Child:
1:f70e671b008f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LPS331.cpp	Sat Oct 04 12:02:25 2014 +0000
@@ -0,0 +1,64 @@
+//**********************
+// LPS331.cpp for mbed
+//
+// LPS331 barometer(P0_5,P0_4);
+// or
+// I2C i2c(P0_5,P0_4);
+// LPS331 barometer(i2c);
+//
+// (C)Copyright 2014 All rights reserved by Y.Onodera
+// http://einstlab.web.fc2.com
+//**********************
+
+#include "mbed.h"
+#include "LPS331.h"
+
+LPS331::LPS331 (PinName sda, PinName scl) : _i2c(sda, scl) {
+    init();
+}
+LPS331::LPS331 (I2C& p_i2c) : _i2c(p_i2c) {
+    init();
+}
+
+void LPS331::put(unsigned char a, unsigned char b)
+{
+    buf[0]=a;
+    buf[1]=b;
+    _i2c.write(LPS331_ADDR, buf, 2);
+}
+
+
+void LPS331::get(unsigned char a)
+{
+    buf[0] = a;
+    _i2c.write(LPS331_ADDR, buf, 1, true); // no stop, repeated
+    _i2c.read( LPS331_ADDR, buf, 1);
+
+}
+
+long LPS331::value()
+{
+
+    // get press_high
+    get(LPS331_PRESS_OUT_H);
+    //press=buf[0]*0x10000;
+    press.byte.UB=buf[0];
+    // get tpress_low
+    get(LPS331_PRESS_OUT_L);
+    //press+=buf[0]*0x100;
+    press.byte.HB=buf[0];
+    // get press_xl
+    get(LPS331_PRESS_POUT_XL_REH);
+    //press+=buf[0];
+    press.byte.LB=buf[0];
+    return press.Val;
+    
+}
+
+void LPS331::init()
+{
+    // Power ON Cycle=1Hz
+    put(LPS331_CTRL_REG1, 0x90);
+}
+
+