types.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. #ifndef _IIO_TYPES_H_
  10. #define _IIO_TYPES_H_
  11. enum iio_chan_type {
  12. IIO_VOLTAGE,
  13. IIO_CURRENT,
  14. IIO_POWER,
  15. IIO_ACCEL,
  16. IIO_ANGL_VEL,
  17. IIO_MAGN,
  18. IIO_LIGHT,
  19. IIO_INTENSITY,
  20. IIO_PROXIMITY,
  21. IIO_TEMP,
  22. IIO_INCLI,
  23. IIO_ROT,
  24. IIO_ANGL,
  25. IIO_TIMESTAMP,
  26. IIO_CAPACITANCE,
  27. IIO_ALTVOLTAGE,
  28. IIO_CCT,
  29. IIO_PRESSURE,
  30. IIO_HUMIDITYRELATIVE,
  31. };
  32. enum iio_modifier {
  33. IIO_NO_MOD,
  34. IIO_MOD_X,
  35. IIO_MOD_Y,
  36. IIO_MOD_Z,
  37. IIO_MOD_X_AND_Y,
  38. IIO_MOD_X_AND_Z,
  39. IIO_MOD_Y_AND_Z,
  40. IIO_MOD_X_AND_Y_AND_Z,
  41. IIO_MOD_X_OR_Y,
  42. IIO_MOD_X_OR_Z,
  43. IIO_MOD_Y_OR_Z,
  44. IIO_MOD_X_OR_Y_OR_Z,
  45. IIO_MOD_LIGHT_BOTH,
  46. IIO_MOD_LIGHT_IR,
  47. IIO_MOD_ROOT_SUM_SQUARED_X_Y,
  48. IIO_MOD_SUM_SQUARED_X_Y_Z,
  49. IIO_MOD_LIGHT_CLEAR,
  50. IIO_MOD_LIGHT_RED,
  51. IIO_MOD_LIGHT_GREEN,
  52. IIO_MOD_LIGHT_BLUE,
  53. IIO_MOD_QUATERNION,
  54. IIO_MOD_TEMP_AMBIENT,
  55. IIO_MOD_TEMP_OBJECT,
  56. IIO_MOD_NORTH_MAGN,
  57. IIO_MOD_NORTH_TRUE,
  58. IIO_MOD_NORTH_MAGN_TILT_COMP,
  59. IIO_MOD_NORTH_TRUE_TILT_COMP
  60. };
  61. enum iio_event_type {
  62. IIO_EV_TYPE_THRESH,
  63. IIO_EV_TYPE_MAG,
  64. IIO_EV_TYPE_ROC,
  65. IIO_EV_TYPE_THRESH_ADAPTIVE,
  66. IIO_EV_TYPE_MAG_ADAPTIVE,
  67. };
  68. enum iio_event_info {
  69. IIO_EV_INFO_ENABLE,
  70. IIO_EV_INFO_VALUE,
  71. IIO_EV_INFO_HYSTERESIS,
  72. IIO_EV_INFO_PERIOD,
  73. };
  74. enum iio_event_direction {
  75. IIO_EV_DIR_EITHER,
  76. IIO_EV_DIR_RISING,
  77. IIO_EV_DIR_FALLING,
  78. };
  79. #define IIO_VAL_INT 1
  80. #define IIO_VAL_INT_PLUS_MICRO 2
  81. #define IIO_VAL_INT_PLUS_NANO 3
  82. #define IIO_VAL_INT_PLUS_MICRO_DB 4
  83. #define IIO_VAL_INT_MULTIPLE 5
  84. #define IIO_VAL_FRACTIONAL 10
  85. #define IIO_VAL_FRACTIONAL_LOG2 11
  86. #endif /* _IIO_TYPES_H_ */