1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2024 Jilay Sandeep Pandya
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 
6 #ifndef ZEPHYR_INCLUDE_DRIVERS_SENSOR_ADLTC2990_H_
7 #define ZEPHYR_INCLUDE_DRIVERS_SENSOR_ADLTC2990_H_
8 
9 #include <stdbool.h>
10 
11 #include <zephyr/device.h>
12 
13 enum adltc2990_acquisition_format {
14 	ADLTC2990_REPEATED_ACQUISITION,
15 	ADLTC2990_SINGLE_SHOT_ACQUISITION,
16 };
17 
18 /**
19  * @brief check if adtlc2990 is busy doing conversion
20  *
21  * @param dev Pointer to the adltc2990 device
22  * @param is_busy Pointer to the variable to store the busy status
23  *
24  * @retval 0 if successful
25  * @retval -EIO General input / output error.
26  */
27 int adltc2990_is_busy(const struct device *dev, bool *is_busy);
28 
29 /**
30  * @brief Trigger the adltc2990 to start a measurement
31  *
32  * @param dev Pointer to the adltc2990 device
33  * @param format The acquisition format to be used
34  *
35  * @retval 0 if successful
36  * @retval -EIO General input / output error.
37  */
38 int adltc2990_trigger_measurement(const struct device *dev,
39 				  enum adltc2990_acquisition_format format);
40 
41 #endif /* ZEPHYR_INCLUDE_DRIVERS_SENSOR_ADLTC2990_H_ */
42