Line data Source code
1 1 : /*
2 : * Copyright (c) 2021, Leonard Pollak
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 :
7 : /**
8 : * @file
9 : * @brief Extended public API for Sensirion's SHT4X T/RH sensors
10 : *
11 : * This exposes an API to the on-chip heater which is specific to
12 : * the application/environment and cannot be expressed within the
13 : * sensor driver abstraction.
14 : */
15 :
16 : #ifndef ZEPHYR_INCLUDE_DRIVERS_SENSOR_SHT4X_H_
17 : #define ZEPHYR_INCLUDE_DRIVERS_SENSOR_SHT4X_H_
18 :
19 : #ifdef __cplusplus
20 : extern "C" {
21 : #endif
22 :
23 : #include <zephyr/drivers/sensor.h>
24 :
25 : /* Maximum temperature above which the heater should not be used */
26 0 : #define SHT4X_HEATER_MAX_TEMP 65
27 :
28 0 : enum sensor_attribute_sht4x {
29 : /* Heater Power: 0, 1, 2 -> high, med, low */
30 : SENSOR_ATTR_SHT4X_HEATER_POWER = SENSOR_ATTR_PRIV_START,
31 : /* Heater Duration: 0, 1 -> long, short */
32 : SENSOR_ATTR_SHT4X_HEATER_DURATION
33 : };
34 :
35 : /**
36 : * @brief Fetches data using the on-chip heater.
37 : *
38 : * Measurement is always done with "high" repeatability.
39 : *
40 : * @param dev Pointer to the sensor device
41 : *
42 : * @return 0 if successful, negative errno code if failure.
43 : */
44 1 : int sht4x_fetch_with_heater(const struct device *dev);
45 :
46 : #ifdef __cplusplus
47 : }
48 : #endif
49 :
50 : #endif /* ZEPHYR_INCLUDE_DRIVERS_SENSOR_SHT4X_H_ */
|