Announcing the SoapySDR project

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/osmocom-sdr@lists.osmocom.org/.

Josh Blum josh at joshknows.com
Wed Nov 12 07:03:48 UTC 2014


Hello list,

I am pleased to announce the SoapySDR project. SoapySDR is a vendor
neutral and platform independent SDR support library. The library
provides a generic API for accessing SDR devices, and a plugin
architecture for supporting vendor hardware drivers. Currently SoapySDR
offers both a C++ and a C API, as well as Python language bindings.

SoapySDR already supports most devices through osmosdr and uhd based
plugins. The API covers an almost complete superset of available
functionality found in these libraries. Therefore, there is an API for
things like burst controls, heterogeneous channels, timed streaming,
timed command, find tuning adjustments, automatic gain controls...

I have seen a lot of applications where the developer has gone through
the trouble of wrapping several low level drivers to gain support for
each new device. But this can be way easier: you can use SoapySDR right
now, write the code once, and have support for most devices.

Please read more about SoapySDR on its main project page:
https://github.com/pothosware/SoapySDR/wiki

-- Community feedback --
Making a generic library has its challenges, and we will probably never
get it 100% right. But with feedback from vendors and users, we can make
sure the the library has what most people need. Missing a feature? Need
another language binding? Don't like the way something works? Lets hear it.

https://github.com/pothosware/SoapySDR/wiki/FAQ

-- GNU Radio blocks --
We have created out-of-tree GNU Radio source and sink blocks based on
SoapySDR that can provide a GNU Radio interface for the vast majority of
SDR devices and capabilities:
https://github.com/pothosware/gr-sdr/wiki

Volunteers? The source and sink blocks have full basic functionality,
but there are still additional APIs to wrap and apps to port over. The
eventual goal is to mainline this component into GNU Radio:
https://github.com/pothosware/gr-sdr/issues

There has been some debate over what would be a good name for this GNU
Radio component. Please help us with feedback about the name by taking
this online poll:
https://github.com/pothosware/gr-sdr/wiki#help-us-name-gr-sdr

-- Hardware vendors --
If you are a hardware vendor, chances are that your device is already
supported through the uhd or osmo libraries. However, you may be
interested in directly hosting a SoapySDR support module along with your
low-level driver: for simplicity's sake, licensing reasons, or because
it exposes additional features.

Hosting a module build with along with the driver is fairly simple and
has many advantages. I'm happy to work with anyone who is interested:
https://github.com/pothosware/SoapySDR/tree/master/ExampleDriver

Thanks,
-Josh



More information about the osmocom-sdr mailing list