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

Fork of LPS25H by Kenji Arai

Revision:
1:9db35e42ddbc
Parent:
0:8fc511bd51af
Child:
2:92691fd6cb75
--- a/LPS25H.h	Sun Feb 22 00:59:52 2015 +0000
+++ b/LPS25H.h	Tue Aug 22 10:18:07 2017 +0000
@@ -4,26 +4,20 @@
  *   made by STMicroelectronics
  *   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
  */
 /*
- *---------------- REFERENCE ----------------------------------------------------------------------
+ *---------------- REFERENCE ---------------------------------------------------
  * Original Information
- *  http://www.st-japan.co.jp/web/jp/catalog/sense_power/FM89/SC1316/PF255230
+ *  http://www.st.com/content/st_com/ja/products/
+ *        mems-and-sensors/pressure-sensors/lps25h.html
  * AN4450 Application Note (as follows)
- *  http://www.st.com/st-web-ui/static/active/jp/
- *         resource/technical/document/application_note/DM00108837.pdf
- * Device kit
+ *  en.DM00108837.pdf
+ * Device kit (not avairable)
  *  http://akizukidenshi.com/catalog/g/gK-08338/
  */
 
@@ -99,7 +93,8 @@
  * int main() {
  *   while( trure){
  *      baro.get();
- *      printf("Presere: 0x%6.1f, Temperature: 0x%+4.1f\r\n", baro.pressue(), baro.temperature());
+ *      printf("Presere: 0x%6.1f, Temperature: 0x%+4.1f\r\n",
+ *              baro.pressue(), baro.temperature());
  *      wait(1.0);
  *   }
  * }
@@ -111,16 +106,16 @@
 public:
     /** Configure data pin
       * @param data SDA and SCL pins
-      * @param device address LPS25H(SA0=0 or 1), LPS25H_G_CHIP_ADDR or LPS25H_V_CHIP_ADDR
-      * @param Operation mode FIFO_HW_FILTER(default) or FIFO_BYPASS (Option parameter)
+      * @param device address LPS25H(SA0=0 or 1), LPS25H_G_CHIP_ADDR or _V_
+      * @param Operation mode FIFO_HW_FILTER(default) or FIFO_BYPASS
       */
     LPS25H(PinName p_sda, PinName p_scl, uint8_t addr);
     LPS25H(PinName p_sda, PinName p_scl, uint8_t addr, uint8_t mode);
 
     /** Configure data pin (with other devices on I2C line)
       * @param I2C previous definition
-      * @param device address LPS25H(SA0=0 or 1), LPS25H_G_CHIP_ADDR or LPS25H_V_CHIP_ADDR
-      * @param Operation mode FIFO_HW_FILTER(default) or FIFO_BYPASS (Option parameter)
+      * @param device address LPS25H(SA0=0 or 1), LPS25H_G_CHIP_ADDR or _V_
+      * @param Operation mode FIFO_HW_FILTER(default) or FIFO_BYPASS
       */
     LPS25H(I2C& p_i2c, uint8_t addr);
     LPS25H(I2C& p_i2c, uint8_t addr, uint8_t mode);
@@ -175,7 +170,8 @@
     void write_reg(uint8_t addr, uint8_t data);
 
 protected:
-    I2C _i2c;
+    I2C *_i2c_p;
+    I2C &_i2c;
 
     void init(void);