Announcing the SoapySDR project

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