Chapter 10. IIO Framework
Industrial I/O (IIO) is a kernel subsystem dedicated to analog-to-digital converters (ADCs) and digital-to-analog converters (DACs). With the growing number of sensors (measurement devices with analogue-to-digital, or digital-to-analogue, capabilities) with different code implementations scattered over the kernel sources, gathering them became necessary. This is what the IIO framework does, in a generic and homogeneous way. Jonathan Cameron and the Linux IIO community have been developing it since 2009.
Accelerometers, gyroscopes, current/voltage measurement chips, light sensors, pressure sensors, and so on all fall into the IIO family of devices.
The IIO model is based on a device and channel architecture:
- Device represents the chip itself. It is the top level of the hierarchy.
- Channel represents a single acquisition line of the device. A device may have one or more channels. For example, an accelerometer is a device with three channels, one for each axis (X, Y, and...