Announcing new Soapy SDR modules Sun, Oct 4 2015 AM
I originally started Soapy SDR out of necessity -- to support SDR devices in the Pothos SDR source and sink blocks. Along the way, I made sure that Soapy SDR was a general purpose tool; separate from Pothos, and as slim as possible, so anyone could use it in their application or write a plugin module for a new device.
I am glad to see the upfront effort really pay off. Besides supporting pothos, the python bindings for Soapy SDR have been extremely useful in writing calibration utilities using numpy and matplotlib for signal analysis and plotting. In addition, the CubicSDR community has made great use of Soapy SDR as versatile hardware abstraction layer.
Rather than wrapping up another device inside a custom abstraction layer specific to CubicSDR, I'm really happy to see the CubicSDR community make use of Soapy SDR's plugin architecture, and contribute several new hardware support modules to the project: Soapy HackRF, Soapy RTL-SDR, and Soapy SDR Play.
Soapy Remote is a transparent network gateway for any Soapy SDR supported device. You can use any device over a local network, without even thinking about it. Personally, its been awesome for doing embedded development work. Besides that, a device that was previously process locked is now free to be shared across several processes or hosts on a network. If you can tolerate the latency, there is a tremendous amount of buffering in network sockets, which you get for free, and transparently by simply using Soapy Remote.
The HackRF support in Soapy Osmo was a little funny. You see, separate GrOsmo source and sink blocks for the Hack RF weren't properly sharing device handles. So the Soapy SDR wrapper, which instantiated both the source and sink block internally would blow up when trying to instantiate the sink (after the source) because all of the handles were already claimed. A helpful HackRF user donated Soapy HackRF overnight, and now we have a fresh, new Soapy SDR module which supports the Hack RF directly using the libhackrf API.
Soapy SDR Play