気圧センサ LPS25H を I2C 接続で使うためのライブラリ. Library for atmospheric pressure sensor LPS25H using I2C interface.
LPS25H_I2C.hpp@0:888288e9f8d5, 2016-12-18 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Sun Dec 18 08:28:14 2016 +0000
- Revision:
- 0:888288e9f8d5
1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:888288e9f8d5 | 1 | //--------------------------------------------------------- |
MikamiUitOpen | 0:888288e9f8d5 | 2 | // Class for atmospheric pressure sensor LPS25H (Header) |
MikamiUitOpen | 0:888288e9f8d5 | 3 | // Interface: I2C only |
MikamiUitOpen | 0:888288e9f8d5 | 4 | // Pin assignment |
MikamiUitOpen | 0:888288e9f8d5 | 5 | // VDD: pin1 |
MikamiUitOpen | 0:888288e9f8d5 | 6 | // SCL: pin2 |
MikamiUitOpen | 0:888288e9f8d5 | 7 | // SDA: pin3 |
MikamiUitOpen | 0:888288e9f8d5 | 8 | // GND: pin8 |
MikamiUitOpen | 0:888288e9f8d5 | 9 | // |
MikamiUitOpen | 0:888288e9f8d5 | 10 | // 2016/12/18, Copyright (c) 2016 MIKAMI, Naoki |
MikamiUitOpen | 0:888288e9f8d5 | 11 | //--------------------------------------------------------- |
MikamiUitOpen | 0:888288e9f8d5 | 12 | |
MikamiUitOpen | 0:888288e9f8d5 | 13 | #ifndef LPS25H_I2C_HPP |
MikamiUitOpen | 0:888288e9f8d5 | 14 | #define LPS25H_I2C_HPP |
MikamiUitOpen | 0:888288e9f8d5 | 15 | |
MikamiUitOpen | 0:888288e9f8d5 | 16 | #include "mbed.h" |
MikamiUitOpen | 0:888288e9f8d5 | 17 | |
MikamiUitOpen | 0:888288e9f8d5 | 18 | namespace Mikami |
MikamiUitOpen | 0:888288e9f8d5 | 19 | { |
MikamiUitOpen | 0:888288e9f8d5 | 20 | class Lps25hI2c |
MikamiUitOpen | 0:888288e9f8d5 | 21 | { |
MikamiUitOpen | 0:888288e9f8d5 | 22 | public: |
MikamiUitOpen | 0:888288e9f8d5 | 23 | // Constructor |
MikamiUitOpen | 0:888288e9f8d5 | 24 | Lps25hI2c(PinName sda = D14, // SDA |
MikamiUitOpen | 0:888288e9f8d5 | 25 | PinName scl = D15, // SCL |
MikamiUitOpen | 0:888288e9f8d5 | 26 | uint8_t addr = 0xB8); // 0xB8: SA0 => GND |
MikamiUitOpen | 0:888288e9f8d5 | 27 | |
MikamiUitOpen | 0:888288e9f8d5 | 28 | ~Lps25hI2c() { delete i2cPtr_; } |
MikamiUitOpen | 0:888288e9f8d5 | 29 | |
MikamiUitOpen | 0:888288e9f8d5 | 30 | // Read atmospheric pressure |
MikamiUitOpen | 0:888288e9f8d5 | 31 | // Unit of return value: hPa |
MikamiUitOpen | 0:888288e9f8d5 | 32 | float Read(); |
MikamiUitOpen | 0:888288e9f8d5 | 33 | |
MikamiUitOpen | 0:888288e9f8d5 | 34 | // Operator shorthand for Read() |
MikamiUitOpen | 0:888288e9f8d5 | 35 | operator float() { return Read(); } |
MikamiUitOpen | 0:888288e9f8d5 | 36 | |
MikamiUitOpen | 0:888288e9f8d5 | 37 | private: |
MikamiUitOpen | 0:888288e9f8d5 | 38 | const uint8_t ADDR_; |
MikamiUitOpen | 0:888288e9f8d5 | 39 | |
MikamiUitOpen | 0:888288e9f8d5 | 40 | I2C *i2cPtr_; // Pointer of I2C object |
MikamiUitOpen | 0:888288e9f8d5 | 41 | |
MikamiUitOpen | 0:888288e9f8d5 | 42 | // disallow copy constructor and assignment operator |
MikamiUitOpen | 0:888288e9f8d5 | 43 | Lps25hI2c(const Lps25hI2c&); |
MikamiUitOpen | 0:888288e9f8d5 | 44 | Lps25hI2c& operator=(const Lps25hI2c&); |
MikamiUitOpen | 0:888288e9f8d5 | 45 | }; |
MikamiUitOpen | 0:888288e9f8d5 | 46 | } |
MikamiUitOpen | 0:888288e9f8d5 | 47 | #endif // LPS25H_I2C_HPP |