25 #include <Adafruit_I2CDevice.h> 27 #define MPL3115A2_ADDRESS (0x60) 31 MPL3115A2_REGISTER_STATUS = (0x00),
33 MPL3115A2_REGISTER_PRESSURE_MSB = (0x01),
34 MPL3115A2_REGISTER_PRESSURE_CSB = (0x02),
35 MPL3115A2_REGISTER_PRESSURE_LSB = (0x03),
37 MPL3115A2_REGISTER_TEMP_MSB = (0x04),
38 MPL3115A2_REGISTER_TEMP_LSB = (0x05),
40 MPL3115A2_REGISTER_DR_STATUS = (0x06),
42 MPL3115A2_OUT_P_DELTA_MSB = (0x07),
43 MPL3115A2_OUT_P_DELTA_CSB = (0x08),
44 MPL3115A2_OUT_P_DELTA_LSB = (0x09),
46 MPL3115A2_OUT_T_DELTA_MSB = (0x0A),
47 MPL3115A2_OUT_T_DELTA_LSB = (0x0B),
49 MPL3115A2_WHOAMI = (0x0C),
51 MPL3115A2_BAR_IN_MSB = (0x14),
52 MPL3115A2_BAR_IN_LSB = (0x15),
54 MPL3115A2_OFF_H = (0x2D),
59 MPL3115A2_REGISTER_STATUS_TDR = 0x02,
60 MPL3115A2_REGISTER_STATUS_PDR = 0x04,
61 MPL3115A2_REGISTER_STATUS_PTDR = 0x08,
66 MPL3115A2_PT_DATA_CFG = 0x13,
67 MPL3115A2_PT_DATA_CFG_TDEFE = 0x01,
68 MPL3115A2_PT_DATA_CFG_PDEFE = 0x02,
69 MPL3115A2_PT_DATA_CFG_DREM = 0x04,
75 MPL3115A2_CTRL_REG1 = (0x26),
76 MPL3115A2_CTRL_REG2 = (0x27),
77 MPL3115A2_CTRL_REG3 = (0x28),
78 MPL3115A2_CTRL_REG4 = (0x29),
79 MPL3115A2_CTRL_REG5 = (0x2A),
84 MPL3115A2_CTRL_REG1_SBYB = 0x01,
85 MPL3115A2_CTRL_REG1_OST = 0x02,
86 MPL3115A2_CTRL_REG1_RST = 0x04,
87 MPL3115A2_CTRL_REG1_RAW = 0x40,
88 MPL3115A2_CTRL_REG1_ALT = 0x80,
89 MPL3115A2_CTRL_REG1_BAR = 0x00,
94 MPL3115A2_CTRL_REG1_OS1 = 0x00,
95 MPL3115A2_CTRL_REG1_OS2 = 0x08,
96 MPL3115A2_CTRL_REG1_OS4 = 0x10,
97 MPL3115A2_CTRL_REG1_OS8 = 0x18,
98 MPL3115A2_CTRL_REG1_OS16 = 0x20,
99 MPL3115A2_CTRL_REG1_OS32 = 0x28,
100 MPL3115A2_CTRL_REG1_OS64 = 0x30,
101 MPL3115A2_CTRL_REG1_OS128 = 0x38,
106 MPL3115A2_BAROMETER = 0,
114 MPL3115A2_TEMPERATURE,
117 #define MPL3115A2_REGISTER_STARTCONVERSION (0x12) 126 boolean begin(TwoWire *twoWire = &Wire);
139 void write8(uint8_t a, uint8_t d);
142 Adafruit_I2CDevice *i2c_dev = NULL;
143 uint8_t read8(uint8_t a);
157 ctrl_reg1 _ctrl_reg1;
float getLastConversionResults(mpl3115a2_meas_t value=MPL3115A2_PRESSURE)
Get results from last measurement.
Definition: Adafruit_MPL3115A2.cpp:192
void setMode(mpl3115a2_mode_t mode=MPL3115A2_BAROMETER)
Set measurement mode.
Definition: Adafruit_MPL3115A2.cpp:151
float getPressure(void)
Get barometric pressure.
Definition: Adafruit_MPL3115A2.cpp:79
void setAltitudeOffset(int8_t offset)
Set the altitude offset.
Definition: Adafruit_MPL3115A2.cpp:113
void startOneShot(void)
Initiate a one-shot measurement.
Definition: Adafruit_MPL3115A2.cpp:162
boolean begin(TwoWire *twoWire=&Wire)
Setups the HW (reads coefficients values, etc.)
Definition: Adafruit_MPL3115A2.cpp:44
int8_t getAltitudeOffset(void)
Get the altitude offset.
Definition: Adafruit_MPL3115A2.cpp:105
void setSeaPressure(float SLP)
Set the local sea level pressure.
Definition: Adafruit_MPL3115A2.cpp:121
void write8(uint8_t a, uint8_t d)
write a byte of data to the specified address
Definition: Adafruit_MPL3115A2.cpp:234
bool conversionComplete(void)
Check for measurement conversion completion.
Definition: Adafruit_MPL3115A2.cpp:178
mpl3115a2_meas_t
Definition: Adafruit_MPL3115A2.h:111
mpl3115a2_mode_t
Definition: Adafruit_MPL3115A2.h:105
float getAltitude(void)
Get altitude.
Definition: Adafruit_MPL3115A2.cpp:92
Adafruit_MPL3115A2()
Instantiates a new MPL3115A2 class.
Definition: Adafruit_MPL3115A2.cpp:36
Class that stores state and functions for interacting with MPL3115A2 altimeter.
Definition: Adafruit_MPL3115A2.h:123
float getTemperature(void)
Get temperature.
Definition: Adafruit_MPL3115A2.cpp:139