xref: /linux/include/uapi/linux/iio/types.h (revision ec2e0fb07d789976c601bec19ecced7a501c3705)
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /* industrial I/O data types needed both in and out of kernel
3  *
4  * Copyright (c) 2008 Jonathan Cameron
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License version 2 as published by
8  * the Free Software Foundation.
9  */
10 
11 #ifndef _UAPI_IIO_TYPES_H_
12 #define _UAPI_IIO_TYPES_H_
13 
14 enum iio_chan_type {
15 	IIO_VOLTAGE,
16 	IIO_CURRENT,
17 	IIO_POWER,
18 	IIO_ACCEL,
19 	IIO_ANGL_VEL,
20 	IIO_MAGN,
21 	IIO_LIGHT,
22 	IIO_INTENSITY,
23 	IIO_PROXIMITY,
24 	IIO_TEMP,
25 	IIO_INCLI,
26 	IIO_ROT,
27 	IIO_ANGL,
28 	IIO_TIMESTAMP,
29 	IIO_CAPACITANCE,
30 	IIO_ALTVOLTAGE,
31 	IIO_CCT,
32 	IIO_PRESSURE,
33 	IIO_HUMIDITYRELATIVE,
34 	IIO_ACTIVITY,
35 	IIO_STEPS,
36 	IIO_ENERGY,
37 	IIO_DISTANCE,
38 	IIO_VELOCITY,
39 	IIO_CONCENTRATION,
40 	IIO_RESISTANCE,
41 	IIO_PH,
42 	IIO_UVINDEX,
43 	IIO_ELECTRICALCONDUCTIVITY,
44 	IIO_COUNT,
45 	IIO_INDEX,
46 	IIO_GRAVITY,
47 	IIO_POSITIONRELATIVE,
48 	IIO_PHASE,
49 	IIO_MASSCONCENTRATION,
50 	IIO_DELTA_ANGL,
51 	IIO_DELTA_VELOCITY,
52 	IIO_COLORTEMP,
53 	IIO_CHROMATICITY,
54 	IIO_ATTENTION,
55 	IIO_ALTCURRENT,
56 };
57 
58 enum iio_modifier {
59 	IIO_NO_MOD,
60 	IIO_MOD_X,
61 	IIO_MOD_Y,
62 	IIO_MOD_Z,
63 	IIO_MOD_X_AND_Y,
64 	IIO_MOD_X_AND_Z,
65 	IIO_MOD_Y_AND_Z,
66 	IIO_MOD_X_AND_Y_AND_Z,
67 	IIO_MOD_X_OR_Y,
68 	IIO_MOD_X_OR_Z,
69 	IIO_MOD_Y_OR_Z,
70 	IIO_MOD_X_OR_Y_OR_Z,
71 	IIO_MOD_LIGHT_BOTH,
72 	IIO_MOD_LIGHT_IR,
73 	IIO_MOD_ROOT_SUM_SQUARED_X_Y,
74 	IIO_MOD_SUM_SQUARED_X_Y_Z,
75 	IIO_MOD_LIGHT_CLEAR,
76 	IIO_MOD_LIGHT_RED,
77 	IIO_MOD_LIGHT_GREEN,
78 	IIO_MOD_LIGHT_BLUE,
79 	IIO_MOD_QUATERNION,
80 	IIO_MOD_TEMP_AMBIENT,
81 	IIO_MOD_TEMP_OBJECT,
82 	IIO_MOD_NORTH_MAGN,
83 	IIO_MOD_NORTH_TRUE,
84 	IIO_MOD_NORTH_MAGN_TILT_COMP,
85 	IIO_MOD_NORTH_TRUE_TILT_COMP,
86 	IIO_MOD_RUNNING,
87 	IIO_MOD_JOGGING,
88 	IIO_MOD_WALKING,
89 	IIO_MOD_STILL,
90 	IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z,
91 	IIO_MOD_I,
92 	IIO_MOD_Q,
93 	IIO_MOD_CO2,
94 	IIO_MOD_VOC,
95 	IIO_MOD_LIGHT_UV,
96 	IIO_MOD_LIGHT_DUV,
97 	IIO_MOD_PM1,
98 	IIO_MOD_PM2P5,
99 	IIO_MOD_PM4,
100 	IIO_MOD_PM10,
101 	IIO_MOD_ETHANOL,
102 	IIO_MOD_H2,
103 	IIO_MOD_O2,
104 	IIO_MOD_LINEAR_X,
105 	IIO_MOD_LINEAR_Y,
106 	IIO_MOD_LINEAR_Z,
107 	IIO_MOD_PITCH,
108 	IIO_MOD_YAW,
109 	IIO_MOD_ROLL,
110 	IIO_MOD_LIGHT_UVA,
111 	IIO_MOD_LIGHT_UVB,
112 	IIO_MOD_RMS,
113 	IIO_MOD_ACTIVE,
114 	IIO_MOD_REACTIVE,
115 	IIO_MOD_APPARENT,
116 };
117 
118 enum iio_event_type {
119 	IIO_EV_TYPE_THRESH,
120 	IIO_EV_TYPE_MAG,
121 	IIO_EV_TYPE_ROC,
122 	IIO_EV_TYPE_THRESH_ADAPTIVE,
123 	IIO_EV_TYPE_MAG_ADAPTIVE,
124 	IIO_EV_TYPE_CHANGE,
125 	IIO_EV_TYPE_MAG_REFERENCED,
126 	IIO_EV_TYPE_GESTURE,
127 	IIO_EV_TYPE_FAULT,
128 };
129 
130 enum iio_event_direction {
131 	IIO_EV_DIR_EITHER,
132 	IIO_EV_DIR_RISING,
133 	IIO_EV_DIR_FALLING,
134 	IIO_EV_DIR_NONE,
135 	IIO_EV_DIR_SINGLETAP,
136 	IIO_EV_DIR_DOUBLETAP,
137 	IIO_EV_DIR_FAULT_OPENWIRE,
138 };
139 
140 #endif /* _UAPI_IIO_TYPES_H_ */
141