SDRplay emulating an rtlsdr device
Therefore I was/am experimenting with a "bridge", a library that shows itself as an rtlsdr osmocom library to the application, and translates the
calls to the various API functions to calls to the SDRplay API. Of course the mapping is not 100%, functions like setting or reading the eeprom are not supported, and there are more. Obviously one looses precision, the SDRplay is 12 - 14 bits, the dabsticks 8 bits. However, to me the emulated library seems a good device to look at various programs and see whether or not in the longer run SDRplay specific versions can/should be made.
The highly experimental subset implementation runs successful with my own software (qt-dab, sdr-j-fm, sdr-j-spectrum) and was tested (with positive result) with the original versions of dump1090, acarsdec, rtl_433 and aiswaitcher.
One of the issues I am struggling with is the gain setting. The rtlsdr library has a function that writes the gain values -in tenth of dB - to a user provided
array, functionality often used at the start of a program to set up a table of valid gain values. However, for the RSP devices, the gain table (better: gain reduction table) depends on both the device (i.e. RSP1, II 1A or duo) as well as on the frequency. Current approach is a kind of common denominator set of "gain" values with different tables of lnaState/GRdB values for different devices, ignoring the different frequencies issues
I am working under Linux . Although being completely ignorant about Windows (and hoping to stay that way), I'll try to create a DLL at some point in time.
It would be really helpful to get some thoughts on the issue of the gain handling as well as suggestions for other (Linux) programs that could be tested with the emulated rtlsdr library.
Of course, if there is interest I am willing to share the code.