LPS331 library forked with I2C address to 0xBA
Dependents: Skywire_Demo_3 Skywire_Kinetis_K64_demo Skywire_Demo Skywire_Demo
Fork of LPS331 by
LPS331.cpp
- Committer:
- yasuyuki
- Date:
- 2014-10-04
- Revision:
- 0:ef4f624dc3ec
- Child:
- 1:f70e671b008f
File content as of revision 0:ef4f624dc3ec:
//********************** // 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); }