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 _IIO_TYPES_H_ 11 #define _IIO_TYPES_H_ 12 13 enum 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 }; 34 35 enum iio_modifier { 36 IIO_NO_MOD, 37 IIO_MOD_X, 38 IIO_MOD_Y, 39 IIO_MOD_Z, 40 IIO_MOD_X_AND_Y, 41 IIO_MOD_X_AND_Z, 42 IIO_MOD_Y_AND_Z, 43 IIO_MOD_X_AND_Y_AND_Z, 44 IIO_MOD_X_OR_Y, 45 IIO_MOD_X_OR_Z, 46 IIO_MOD_Y_OR_Z, 47 IIO_MOD_X_OR_Y_OR_Z, 48 IIO_MOD_LIGHT_BOTH, 49 IIO_MOD_LIGHT_IR, 50 IIO_MOD_ROOT_SUM_SQUARED_X_Y, 51 IIO_MOD_SUM_SQUARED_X_Y_Z, 52 IIO_MOD_LIGHT_CLEAR, 53 IIO_MOD_LIGHT_RED, 54 IIO_MOD_LIGHT_GREEN, 55 IIO_MOD_LIGHT_BLUE, 56 IIO_MOD_QUATERNION, 57 IIO_MOD_TEMP_AMBIENT, 58 IIO_MOD_TEMP_OBJECT, 59 IIO_MOD_NORTH_MAGN, 60 IIO_MOD_NORTH_TRUE, 61 IIO_MOD_NORTH_MAGN_TILT_COMP, 62 IIO_MOD_NORTH_TRUE_TILT_COMP 63 }; 64 65 enum iio_event_type { 66 IIO_EV_TYPE_THRESH, 67 IIO_EV_TYPE_MAG, 68 IIO_EV_TYPE_ROC, 69 IIO_EV_TYPE_THRESH_ADAPTIVE, 70 IIO_EV_TYPE_MAG_ADAPTIVE, 71 }; 72 73 enum iio_event_info { 74 IIO_EV_INFO_ENABLE, 75 IIO_EV_INFO_VALUE, 76 IIO_EV_INFO_HYSTERESIS, 77 IIO_EV_INFO_PERIOD, 78 }; 79 80 enum iio_event_direction { 81 IIO_EV_DIR_EITHER, 82 IIO_EV_DIR_RISING, 83 IIO_EV_DIR_FALLING, 84 }; 85 86 #define IIO_VAL_INT 1 87 #define IIO_VAL_INT_PLUS_MICRO 2 88 #define IIO_VAL_INT_PLUS_NANO 3 89 #define IIO_VAL_INT_PLUS_MICRO_DB 4 90 #define IIO_VAL_INT_MULTIPLE 5 91 #define IIO_VAL_FRACTIONAL 10 92 #define IIO_VAL_FRACTIONAL_LOG2 11 93 94 #endif /* _IIO_TYPES_H_ */ 95