Go to the documentation of this file.
67 bsp::I2CA::write(DeviceAddress,
enumValue(Command::SoftReset));
80 return getSensorData(precision).sensorTemperature;
91 return getSensorData(precision).humidity;
101 bsp::I2CA::write(DeviceAddress,
enumValue(level));
111 float sensorTemperature;
122 bsp::I2CA::write(DeviceAddress,
enumValue(precision));
125 auto rawData = bsp::I2CA::read<SensorDataRaw>(DeviceAddress);
128 data.sensorTemperature = -45 + 175 * float((
u16(rawData.th) << 8) | rawData.tl) / 0xFFFF;
129 data.humidity = -6 + 125 * float((
u16(rawData.rhh) << 8) | rawData.rhl) / 0xFFFF;
131 if (data.humidity > 100) data.humidity = 100;
132 else if(data.humidity < 0) data.humidity = 0;
141 struct SensorDataRaw {
153 enum class Command :
u8 {
158 constexpr
static inline u8 DeviceAddress = 0x88;
@ Low
measure T & RH with lowest precision (low repeatability)
static float getTemperature(Precision precision=Precision::High)
Get the temperature without using the heater.
Definition: humidity_sensor.hpp:79
@ _110mWFor0p1s
110mW @ 3.3V for 0.1s
@ Medium
measure T & RH with medium precision (medium repeatability)
uint16_t u16
Definition: types.h:37
Commonly used helper functions.
uint8_t u8
Unsigned integer definitions.
Definition: types.h:36
Commonly used type definitions and helper templates.
static float getHumidity(Precision precision=Precision::High)
Get the temperature without using the heater.
Definition: humidity_sensor.hpp:90
static bool init()
Initialization of the SHT40-AD1B-R2 relative humidity and temperature sensor.
Definition: humidity_sensor.hpp:66
@ _20mWFor0p1s
20mW @ 3.3V for 0.1s
auto enumValue(T value)
Casts a scoped enum type into its underlying value.
Definition: utils.hpp:151
Heat
Heater commands for the SHT40-AD1B-R2 sensor.
Definition: humidity_sensor.hpp:45
@ High
measure T & RH with High precision (High repeatability)
Precision
Definition: humidity_sensor.hpp:54
@ _20mWFor1s
20mW @ 3.3V for 1s
@ _110mWFor1s
110mW @ 3.3V for 1s
static void enableHeater(Heat level)
Enable the heater module on the sensor.
Definition: humidity_sensor.hpp:100
Commonly used C++ and GNU attributes.
@ _200mWFor1s
200mW @ 3.3V for 1s
@ _200mWFor0p1s
200mW @ 3.3V for 0.1s
Humidity sensor SHT40-AD1B-R2 driver.
Definition: humidity_sensor.hpp:37
ALWAYS_INLINE void delay(u32 ms)
Delays execution by a certain number of milliseconds.
Definition: cortex.hpp:39
Definition: color_sensor.hpp:32