upm  0.4.1
Sensor/Actuator repository for libmraa (v0.8.0)
Public Member Functions | List of all members

API for the MPL3115A2 Atmospheric Pressure Sensor. More...

Detailed Description

Freescale Semiconductor* MPL3115A2 is a high-precision, ultra-low power consumption pressure sensor. Its operating range is 50-110 kPa.

mpl3115a2.jpg
// Instantiate a MPL3115A2 sensor on I2C
while (true) {
System.out.println("Pressure: " + sensor.getPressure());
System.out.println("Altitude: " + sensor.getAltitude());
System.out.println("Sealevel pressure: " + sensor.getSealevelPressure());
System.out.println("Temperature: " + sensor.getTemperature());
System.out.println();
Thread.sleep(1000);
}

Public Member Functions

synchronized void delete ()
 
 MPL3115A2 (int bus, int devAddr, short mode)
 
 MPL3115A2 (int bus, int devAddr)
 
 MPL3115A2 (int bus)
 
int testSensor ()
 
int resetSensor ()
 
void dumpSensor ()
 
int sampleData ()
 
int getPressureReg (int reg)
 
int getTempReg (int reg)
 
float getPressure (int bSampleData)
 
float getPressure ()
 
float getTemperature (int bSampleData)
 
float getTemperature ()
 
float getSealevelPressure (float altitudeMeters)
 
float getSealevelPressure ()
 
float getAltitude (float sealevelPressure)
 
float getAltitude ()
 
void setOversampling (short oversampling)
 
short getOversampling ()
 
float getTemperatureMax ()
 
float getTemperatureMin ()
 
float getPressureMax ()
 
float getPressureMin ()
 
float convertTempCtoF (float fTemp)
 
float convertPaToinHg (float fPressure)
 
int i2cWriteReg (short reg, short value)
 
int i2cReadReg_16 (int reg)
 
short i2cReadReg_8 (int reg)
 

Constructor & Destructor Documentation

MPL3115A2 ( int  bus,
int  devAddr,
short  mode 
)

Instantiates an MPL3115A2 object

Parameters
busNumber of the used bus
devAddrAddress of the used I2C device
modeMPL3115A2 oversampling (6 = 64x)

Member Function Documentation

float convertPaToinHg ( float  fPressure)

Converts pressure from Pa*100 to inHg*10000 This is set for 15degC (Pa = 0.0002961 in Hg) TODO: Change the function to add temperature calibration

Parameters
iPressurePressure in Pa
float convertTempCtoF ( float  fTemp)

Converts temperature from degC*1000 to degF*1000

Parameters
iTempTemperature in degC
float getAltitude ( float  sealevelPressure)

Reads the current pressure and, using a known sea level pressure, calculates the altitude value [m] This function should be preceded by the sampleData() call

Parameters
sealevelPressureCurrent sea level pressure
float getPressure ( int  bSampleData)

Reads the current pressure value from MPL3115A2 [Pa]

Parameters
bSampleDataSets non-zero to a sample reading
int getPressureReg ( int  reg)

Reads the pressure value from MPL3115A2 [Pa * 100]

Parameters
regBase address of the pressure register
float getSealevelPressure ( float  altitudeMeters)

Reads the current pressure and, using a known altitude, calculates the sea level pressure value [Pa] This function should be preceded by the sampleData() call

Parameters
altitudeMetersAltitude in meters
float getTemperature ( int  bSampleData)

Reads the current temperature value from MPL3115A2 [degC]

Parameters
bSampleDataSets non-zero to a sample reading
int getTempReg ( int  reg)

Reads the temperature value from MPL3115A2 [degC * 1000]

Parameters
regBase address of the temperature register
int i2cReadReg_16 ( int  reg)

Reads two bytes from an I2C register

Parameters
regAddress of the register
short i2cReadReg_8 ( int  reg)

Reads a one-byte register

Parameters
regAddress of the register
int i2cWriteReg ( short  reg,
short  value 
)

Writes one byte to an I2C register

Parameters
regAddress of the register
valueByte to be written
void setOversampling ( short  oversampling)

Defines the oversampling setting (ranges from 0 to 7). The value represents 2^n samples (ranging from 1 to 128). The time to calculate a sample is approximately (2^n * 4 + 2) ms

Parameters
oversamplingNew oversampling value

The documentation for this class was generated from the following file: