In many data analysis applications, it is useful to be able to capture data based on some external signal (trigger). These triggers might be:
- A data ready signal
- An IRQ line connected to some external system (GPIO or something else)
- On-processor periodic interrupt
- User space reading/writing a specific file in sysfs
IIO device drivers are completely unrelated to triggers. A trigger may initialize data capture on one or many devices. These triggers are used to fill buffers, exposed to the user space as character devices.
You can develop your own trigger driver, but that is beyond the scope of this book. We will try to focus on existing ones only. These are:
- iio-trig-interrupt: This provides support for using any IRQ as IIO triggers. In old kernel versions, it used to be iio-trig-gpio. The kernel option to enable this trigger mode is CONFIG_IIO_INTERRUPT_TRIGGER...