Page 1 of 1

SDRIO: A hardware abstraction layer for SDR devices

Posted: Sun Mar 02, 2014 4:15 am
by spcutler
In the course of various development efforts, I found the need for a SDR hardware abstraction layer that went beyond the capabilities of ExtIO (the only other abstraction layer I know of). Specifically, I wanted transmit support, as well as better handling for gain and other controls.

I call what I came up with SDRIO. It's a C API, LGPL licensed. I currently support RTL-SDR, Funcube Dongle, and bladeRF (of course, only bladeRF has TX support). It is currently Windows-only, though the API is OS-agnostic and it should not be difficult to port to other systems.

The code and a binary build is available here:
https://github.com/spcutler/SDRIO

I have worked with the RTL-SDR developers to ensure that the library may legally be used by non-GPL programs. The SDRIO library as a whole is LGPL licensed, but certain parts (specifically the SDRIO_RTLSDR module) must be considered true GPL since it references GPL code. The SDRIO_RTLSDR module must therefore not be bundled with non-GPL software (or even auto-downloaded), though as long as SDRIO is installed separately there is no problem. The SDRIO_bladeRF and SDRIO_FUNcube modules do not have this problem.

Let me know if you have questions! I plan on adding additional HW support as soon as I get my hands on more devices.

Re: SDRIO: A hardware abstraction layer for SDR devices

Posted: Sat Mar 22, 2014 2:49 pm
by cwiener
Are there any programs which currently support this API?

Re: SDRIO: A hardware abstraction layer for SDR devices

Posted: Mon Mar 24, 2014 1:26 am
by spcutler
Just one, so far: my program SeeDeR, still in beta, which you can get here.

I've recently added Mirics MSi3103 chipset support.