Skip to content
This repository has been archived by the owner on Oct 13, 2021. It is now read-only.

added setHeaterLevel function #12

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions src/HTU21D.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,33 @@ void HTU21D::setHeater(HTU21D_HEATER_SWITCH heaterSwitch)
write8(HTU21D_USER_REGISTER_WRITE, userRegisterData);
}

/**************************************************************************/
/*
setHeaterLevel()

Set the Heater level (between 3.09 mA and 94.20 mA, see datasheet)

NOTE:
- prolonged exposure to high humidity will result gradual upward drift
of the RH reading, the heater is used to drive off condensation &
reverse drift effect.
- heater consumtion is 3.09mA - 94.20mA @ 3.3v.
*/
/**************************************************************************/
void HTU21D::setHeaterLevel(byte heaterLevel)
{
uint8_t heaterRegisterData = 0;

heaterRegisterData = read8(HTU21D_HEATER_REGISTER_READ);

heaterLevel &= 0x0F;
heaterRegisterData &= 0xF0;
heaterRegisterData |= heaterLevel;

write8(HTU21D_HEATER_REGISTER_WRITE, heaterRegisterData);
}


/**************************************************************************/
/*
readHumidity()
Expand Down
1 change: 1 addition & 0 deletions src/HTU21D.h
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ class HTU21D
void softReset(void);
bool batteryStatus(void);
void setHeater(HTU21D_HEATER_SWITCH heaterSwitch);
void setHeaterLevel(byte heaterLevel);
uint16_t readDeviceID(void);
uint8_t readFirmwareVersion(void);

Expand Down