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 }; 57 58 enum iio_event_type { 59 IIO_EV_TYPE_THRESH, 60 IIO_EV_TYPE_MAG, 61 IIO_EV_TYPE_ROC, 62 IIO_EV_TYPE_THRESH_ADAPTIVE, 63 IIO_EV_TYPE_MAG_ADAPTIVE, 64 }; 65 66 enum iio_event_info { 67 IIO_EV_INFO_ENABLE, 68 IIO_EV_INFO_VALUE, 69 IIO_EV_INFO_HYSTERESIS, 70 }; 71 72 enum iio_event_direction { 73 IIO_EV_DIR_EITHER, 74 IIO_EV_DIR_RISING, 75 IIO_EV_DIR_FALLING, 76 }; 77 78 #define IIO_VAL_INT 1 79 #define IIO_VAL_INT_PLUS_MICRO 2 80 #define IIO_VAL_INT_PLUS_NANO 3 81 #define IIO_VAL_INT_PLUS_MICRO_DB 4 82 #define IIO_VAL_FRACTIONAL 10 83 #define IIO_VAL_FRACTIONAL_LOG2 11 84 85 #endif /* _IIO_TYPES_H_ */ 86