MEMS pressure sensor by STMicroelectronics. FIFO Hardware digital filter as default.

Dependents:   Altimu10v4

Revision:
1:9db35e42ddbc
Parent:
0:8fc511bd51af
--- a/LPS25H.cpp	Sun Feb 22 00:59:52 2015 +0000
+++ b/LPS25H.cpp	Tue Aug 22 10:18:07 2017 +0000
@@ -2,31 +2,27 @@
  * mbed library program
  *  LPS25H MEMS pressure sensor: 260-1260 hPa absolute digital output barometer
  *   made by STMicroelectronics
- *   http://www.st-japan.co.jp/web/catalog/sense_power/FM89/SC1316/PF255230?s_searchtype=partnumber
+ *   http://www.st-japan.co.jp/web/catalog/sense_power/FM89/SC1316/PF255230
  *
- * Copyright (c) 2015 Kenji Arai / JH1PJL
+ * Copyright (c) 2015,'17 Kenji Arai / JH1PJL
  *  http://www.page.sannet.ne.jp/kenjia/index.html
  *  http://mbed.org/users/kenjiArai/
  *      Created: Feburary  21st, 2015
- *      Revised: Feburary  22nd, 2015
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
- * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
- * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *      Revised: August    21st, 2017
  */
 
 #include "LPS25H.h"
 
-LPS25H::LPS25H (PinName p_sda, PinName p_scl, uint8_t addr) : _i2c(p_sda, p_scl)
+LPS25H::LPS25H (PinName p_sda, PinName p_scl, uint8_t addr) :
+ _i2c_p(new I2C(p_sda, p_scl)), _i2c(*_i2c_p)
 {
     LPS25H_addr = addr;
     LPS25H_mode = FIFO_HW_FILTER;
     init();
 }
 
-LPS25H::LPS25H (PinName p_sda, PinName p_scl, uint8_t addr, uint8_t mode) : _i2c(p_sda, p_scl)
+LPS25H::LPS25H (PinName p_sda, PinName p_scl, uint8_t addr, uint8_t mode) :
+ _i2c_p(new I2C(p_sda, p_scl)), _i2c(*_i2c_p)
 {
     LPS25H_addr = addr;
     LPS25H_mode = mode;
@@ -65,7 +61,8 @@
     }
     if (LPS25H_mode == FIFO_HW_FILTER){
         // Hardware digital filter
-        // AN4450 April 2014 Rev1 P20/26, Filter enabling and suggested configuration
+        // AN4450 April 2014 Rev1 P20/26,
+        // Filter enabling and suggested configuration
         dt[0] = LPS25H_RES_CONF;
         dt[1] = 0x05;
         _i2c.write(LPS25H_addr, dt, 2, false);
@@ -81,7 +78,7 @@
     } else {
         dt[0] = LPS25H_CTRL_REG2;
         dt[1] = 0x0;
-        _i2c.write(LPS25H_addr, dt, 2, false);       
+        _i2c.write(LPS25H_addr, dt, 2, false);
         dt[0] = LPS25H_CTRL_REG1;
         dt[1] = CR_STD_SET;
         _i2c.write(LPS25H_addr, dt, 2, false);