upm
1.7.1
Sensor/Actuator repository for libmraa (v2.0.0)
|
API for the HTU21D Temperature & Humidity Sensor. More...
HTU21D by Measurement Specialties is a digital humidity sensor with temperature output. RH reports between 0 and 100%, and the temperature range is -40 to +125 degC. Note: getCompRH is the preferred function below (passing true to cause a measurement cycle). If actual values used for the compensated ready are necessary, use the getHumidity(false) and getTemperature(false) functions following the getCompRH call. Also note the sensor should not perform more than a couple of measurements per second to limit the heating of the sensor.
Public Member Functions | |
HTU21D (int bus, int devAddr=HTU21D_I2C_ADDRESS) | |
int | sampleData (void) |
float | getHumidity (int bSampleData=false) |
float | getTemperature (int bSampleData=false) |
float | getCompRH (int bSampleData=false) |
float | getDewPoint (int bSampleData=false) |
int | getHumidityData (float *fHum, float *fHumTemp, float *fDewPt) |
int | setHeater (int bEnable=false) |
void | resetSensor (void) |
int | testSensor (void) |
mraa::Result | i2cWriteReg (uint8_t reg, uint8_t value) |
uint16_t | i2cReadReg_16 (int reg) |
uint8_t | i2cReadReg_8 (int reg) |
HTU21D | ( | int | bus, |
int | devAddr = HTU21D_I2C_ADDRESS |
||
) |
Instantiates an HTU21D object
bus | Number of the used bus |
devAddr | Address of the used I2C device |
int sampleData | ( | void | ) |
Initiates a temperature/pressure mesasurement and waits to complete. The humidity and temperature registers can be read after this call.
float getHumidity | ( | int | bSampleData = false | ) |
Gets the current measured humidity [RH]
bSampleData | Flag to sample sensor (default false) |
float getTemperature | ( | int | bSampleData = false | ) |
Gets the humidity cell temperature [degC]
bSampleData | Flag to sample sensor (default false) |
float getCompRH | ( | int | bSampleData = false | ) |
Using the current humidity and temperature, the function calculates the compensated RH using the equation from the datasheet.
bSampleData | Flag to sample sensor (default false) |
float getDewPoint | ( | int | bSampleData = false | ) |
Using the current humidity and temperature the function will calculate the dew point in degreeC based on equation from the datasheet.
bSampleData | Flag to sample sensor (default false) |
int getHumidityData | ( | float * | fHum, |
float * | fHumTemp, | ||
float * | fDewPt | ||
) |
Function will attempt to get the best measurement for humidity using the heater in cases where humidity is high to keep the sesnsor dry. The heater setting is returned
fHum | pointer to float for relative humidity RH |
fHumTemp | pointer to float for temperature degC |
fDewPt | pointer to float for calculated dew point degC |
int setHeater | ( | int | bEnable = false | ) |
Sets the heater state. The heater is used to test the sensor functionality since the temperature should increase 0.5 to 1.5 degC, and the humidity should decrease. The testSensor() function below uses the heater.
bEnable | Sets to non-zero to turn the heater on |
void resetSensor | ( | void | ) |
Performs a soft reset of the MPL3115A2 device to ensure it is in a known state. This function can be used to reset the min/max temperature and pressure values.
int testSensor | ( | void | ) |
Tests the device and verifies it is operating correctly.
mraa::Result i2cWriteReg | ( | uint8_t | reg, |
uint8_t | value | ||
) |
Writes to a one-byte register
reg | Address of the register |
value | Byte to be written |
uint16_t i2cReadReg_16 | ( | int | reg | ) |
Reads a two-byte register. Note: byte ordering is hardware specific.
reg | Address of the register |
uint8_t i2cReadReg_8 | ( | int | reg | ) |
Reads a one-byte register
reg | Address of the register |