MPL115A2 (I2C) Pressure sensor interface

Dependents:   MPL115A2Sample dataloger_for_modelrocket ARLISS2012_Hidaka

Committer:
yamaguch
Date:
Sat May 14 17:29:51 2011 +0000
Revision:
2:d77bd4340924
0.91

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yamaguch 2:d77bd4340924 1 #ifndef MPL115A2
yamaguch 2:d77bd4340924 2 #define MPL115A
yamaguch 2:d77bd4340924 3
yamaguch 2:d77bd4340924 4 #include "mbed.h"
yamaguch 2:d77bd4340924 5
yamaguch 2:d77bd4340924 6 /**
yamaguch 2:d77bd4340924 7 * MPL115A2 (I2C) pressure sensor
yamaguch 2:d77bd4340924 8 */
yamaguch 2:d77bd4340924 9
yamaguch 2:d77bd4340924 10 class MPL115A2 {
yamaguch 2:d77bd4340924 11 public:
yamaguch 2:d77bd4340924 12 /**
yamaguch 2:d77bd4340924 13 * Create an MPL115A(I2C) interface with specified pins
yamaguch 2:d77bd4340924 14 *
yamaguch 2:d77bd4340924 15 * @param PinName sda SDA pin (default = p9)
yamaguch 2:d77bd4340924 16 * @param PinName scl SCL pin (default = p10)
yamaguch 2:d77bd4340924 17 */
yamaguch 2:d77bd4340924 18 MPL115A2(PinName sda = p9, PinName scl = p10) : i2c(sda, scl) {
yamaguch 2:d77bd4340924 19 }
yamaguch 2:d77bd4340924 20
yamaguch 2:d77bd4340924 21 /**
yamaguch 2:d77bd4340924 22 * Read current pressure and/or temperature
yamaguch 2:d77bd4340924 23 *
yamaguch 2:d77bd4340924 24 * @param puressure pointer to a float area to receive pressure
yamaguch 2:d77bd4340924 25 * @param padc pointer to an int area to receive pressure adc value
yamaguch 2:d77bd4340924 26 * @param tadc pointer to an int area to receive temperature adc value
yamaguch 2:d77bd4340924 27 * @param data pointer to an array of adc's and coefficients (byte array of size 16)
yamaguch 2:d77bd4340924 28 *
yamaguch 2:d77bd4340924 29 * @returns 0 (success), or -1 (I2C error)
yamaguch 2:d77bd4340924 30 */
yamaguch 2:d77bd4340924 31
yamaguch 2:d77bd4340924 32 int read(float *pressure, char *data);
yamaguch 2:d77bd4340924 33
yamaguch 2:d77bd4340924 34 /**
yamaguch 2:d77bd4340924 35 * Read current pressure
yamaguch 2:d77bd4340924 36 *
yamaguch 2:d77bd4340924 37 * @returns current pressure (in hPa)
yamaguch 2:d77bd4340924 38 */
yamaguch 2:d77bd4340924 39 float readPressure();
yamaguch 2:d77bd4340924 40
yamaguch 2:d77bd4340924 41 /**
yamaguch 2:d77bd4340924 42 * Operator shorthand for readPressure()
yamaguch 2:d77bd4340924 43 */
yamaguch 2:d77bd4340924 44 operator float() {
yamaguch 2:d77bd4340924 45 return readPressure();
yamaguch 2:d77bd4340924 46 }
yamaguch 2:d77bd4340924 47
yamaguch 2:d77bd4340924 48 private:
yamaguch 2:d77bd4340924 49 I2C i2c;
yamaguch 2:d77bd4340924 50 };
yamaguch 2:d77bd4340924 51
yamaguch 2:d77bd4340924 52 #endif