1/* industrial I/O data types needed both in and out of kernel
2 *
3 * Copyright (c) 2008 Jonathan Cameron
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 as published by
7 * the Free Software Foundation.
8 */
9
10#ifndef _UAPI_IIO_TYPES_H_
11#define _UAPI_IIO_TYPES_H_
12
13enum iio_chan_type {
14	IIO_VOLTAGE,
15	IIO_CURRENT,
16	IIO_POWER,
17	IIO_ACCEL,
18	IIO_ANGL_VEL,
19	IIO_MAGN,
20	IIO_LIGHT,
21	IIO_INTENSITY,
22	IIO_PROXIMITY,
23	IIO_TEMP,
24	IIO_INCLI,
25	IIO_ROT,
26	IIO_ANGL,
27	IIO_TIMESTAMP,
28	IIO_CAPACITANCE,
29	IIO_ALTVOLTAGE,
30	IIO_CCT,
31	IIO_PRESSURE,
32	IIO_HUMIDITYRELATIVE,
33	IIO_ACTIVITY,
34	IIO_STEPS,
35	IIO_ENERGY,
36	IIO_DISTANCE,
37	IIO_VELOCITY,
38};
39
40enum iio_modifier {
41	IIO_NO_MOD,
42	IIO_MOD_X,
43	IIO_MOD_Y,
44	IIO_MOD_Z,
45	IIO_MOD_X_AND_Y,
46	IIO_MOD_X_AND_Z,
47	IIO_MOD_Y_AND_Z,
48	IIO_MOD_X_AND_Y_AND_Z,
49	IIO_MOD_X_OR_Y,
50	IIO_MOD_X_OR_Z,
51	IIO_MOD_Y_OR_Z,
52	IIO_MOD_X_OR_Y_OR_Z,
53	IIO_MOD_LIGHT_BOTH,
54	IIO_MOD_LIGHT_IR,
55	IIO_MOD_ROOT_SUM_SQUARED_X_Y,
56	IIO_MOD_SUM_SQUARED_X_Y_Z,
57	IIO_MOD_LIGHT_CLEAR,
58	IIO_MOD_LIGHT_RED,
59	IIO_MOD_LIGHT_GREEN,
60	IIO_MOD_LIGHT_BLUE,
61	IIO_MOD_QUATERNION,
62	IIO_MOD_TEMP_AMBIENT,
63	IIO_MOD_TEMP_OBJECT,
64	IIO_MOD_NORTH_MAGN,
65	IIO_MOD_NORTH_TRUE,
66	IIO_MOD_NORTH_MAGN_TILT_COMP,
67	IIO_MOD_NORTH_TRUE_TILT_COMP,
68	IIO_MOD_RUNNING,
69	IIO_MOD_JOGGING,
70	IIO_MOD_WALKING,
71	IIO_MOD_STILL,
72	IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z,
73};
74
75enum iio_event_type {
76	IIO_EV_TYPE_THRESH,
77	IIO_EV_TYPE_MAG,
78	IIO_EV_TYPE_ROC,
79	IIO_EV_TYPE_THRESH_ADAPTIVE,
80	IIO_EV_TYPE_MAG_ADAPTIVE,
81	IIO_EV_TYPE_CHANGE,
82};
83
84enum iio_event_direction {
85	IIO_EV_DIR_EITHER,
86	IIO_EV_DIR_RISING,
87	IIO_EV_DIR_FALLING,
88	IIO_EV_DIR_NONE,
89};
90
91#endif /* _UAPI_IIO_TYPES_H_ */
92
93