Line data Source code
1 1 : /*
2 : * Copyright (c) 2025 Prevas A/S
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 :
7 : /**
8 : * @file
9 : * @brief Header file for extended sensor API of FCX-MLDX5 sensor
10 : * @ingroup fcx_mldx5_interface
11 : */
12 :
13 : #ifndef ZEPHYR_INCLUDE_DRIVERS_SENSOR_FCX_MLDX5_H_
14 : #define ZEPHYR_INCLUDE_DRIVERS_SENSOR_FCX_MLDX5_H_
15 :
16 : /**
17 : * @brief Angst+Pfister FCX-MLDX5 O<sub>2</sub> sensor
18 : * @defgroup fcx_mldx5_interface FCX-MLDX5
19 : * @ingroup sensor_interface_ext
20 : * @{
21 : */
22 :
23 : #ifdef __cplusplus
24 : extern "C" {
25 : #endif
26 :
27 : #include <zephyr/drivers/sensor.h>
28 :
29 : /**
30 : * @brief Custom sensor attributes for FCX-MLDX5
31 : */
32 1 : enum sensor_attribute_fcx_mldx5 {
33 : /**
34 : * Status of the sensor
35 : *
36 : * sensor_value.val1 is the status of the sensor, see fcx_mldx5_status enum
37 : */
38 : SENSOR_ATTR_FCX_MLDX5_STATUS = SENSOR_ATTR_PRIV_START,
39 : /**
40 : * Reset the sensor
41 : */
42 : SENSOR_ATTR_FCX_MLDX5_RESET,
43 : };
44 :
45 : /**
46 : * @brief Status of the sensor
47 : */
48 1 : enum fcx_mldx5_status {
49 : /**
50 : * @brief Standby
51 : * The heating of the O2 sensor is on standby, no O2 measurement is possible.
52 : */
53 : FCX_MLDX5_STATUS_STANDBY = 2,
54 : /**
55 : * @brief Ramp-up
56 : * The O2 sensor is in the heating phase, no O2 measurement is possible.
57 : */
58 : FCX_MLDX5_STATUS_RAMP_UP = 3,
59 : /**
60 : * @brief Run
61 : * The O2 module is in normal operation.
62 : */
63 : FCX_MLDX5_STATUS_RUN = 4,
64 : /**
65 : * @brief Error
66 : * The O2 module has detected a system error, no O2 measurement is possible.
67 : */
68 : FCX_MLDX5_STATUS_ERROR = 5,
69 : /**
70 : * @brief Unknown status
71 : * Unknown is not sent by the sensor but used in the driver to indicate an error case.
72 : */
73 : FCX_MLDX5_STATUS_UNKNOWN,
74 : };
75 :
76 : #ifdef __cplusplus
77 : }
78 : #endif
79 :
80 : /**
81 : * @}
82 : */
83 :
84 : #endif /* ZEPHYR_INCLUDE_DRIVERS_SENSOR_FCX_MLDX5_H_ */
|