Gr-iio is a module based around the Industrial Input/Output (IIO) framework,
which has been in the upstream Linux kernels since 2011 and is responsible for
handling sensors, converters, integrated transceivers, and other real-world
I/O devices. It provides a hardware abstraction layer with a consistent API
for the user-space applications. The IIO framework supports discrete
components as well as integrated transceivers like the Analog Devices AD9361,
a 2x2 RF Agile Transceiver, found in many SDR products like the ADALM-PLUTO.
The gr-iio module both provides access to generic IIO devices, and also
contains device-specific blocks for certain SDRs.
The Gr-iio blocks, which are available in the official GNU Radio repository
since 2021, are built on top of a software library named libiio, which has
been created with the objective to provide a lean, robust and simple
interface for applications and frameworks that need to interact with IIO
devices. Since its inception in 2014, it gained new features but has never
broken its ABI, which means that applications written around libiio v0.1 will
still work with 2022's v0.34 version. However, the upcoming libiio 1.0 will
introduce a lot of ABI-breaking changes, in order to improve the interface of
the library, and especially to improve its performance.
In this small talk, I will present the important changes in the upcoming
libiio 1.0, as well as the new changes coming to the IIO subsystem of the
Linux kernel, and what it means for gr-iio and GNU Radio.
|Talk Length||15 Minutes|