| /* |
| * Copyright (c) 2021, Leonard Pollak |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /** |
| * @file |
| * @brief Extended public API for Sensirion's SHT4X T/RH sensors |
| * |
| * This exposes an API to the on-chip heater which is specific to |
| * the application/environment and cannot be expressed within the |
| * sensor driver abstraction. |
| */ |
| |
| #ifndef ZEPHYR_INCLUDE_DRIVERS_SENSOR_SHT4X_H_ |
| #define ZEPHYR_INCLUDE_DRIVERS_SENSOR_SHT4X_H_ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #include <drivers/sensor.h> |
| |
| /* Maximum temperature above which the heater should not be used */ |
| #define SHT4X_HEATER_MAX_TEMP 65 |
| |
| enum sensor_attribute_sht4x { |
| /* Heater Power: 0, 1, 2 -> high, med, low */ |
| SENSOR_ATTR_SHT4X_HEATER_POWER = SENSOR_ATTR_PRIV_START, |
| /* Heater Duration: 0, 1 -> long, short */ |
| SENSOR_ATTR_SHT4X_HEATER_DURATION |
| }; |
| |
| /** |
| * @brief Fetches data using the on-chip heater. |
| * |
| * Measurement is always done with "high" repeatability. |
| * |
| * @param dev Pointer to the sensor device |
| * |
| * @return 0 if successful, negative errno code if failure. |
| */ |
| int sht4x_fetch_with_heater(const struct device *dev); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* ZEPHYR_INCLUDE_DRIVERS_SENSOR_SHT4X_H_ */ |