pothosware / SoapySDRPlay3

Soapy SDR plugin for SDRPlay APIv3
https://github.com/pothosware/SoapySDRPlay3/wiki
MIT License
98 stars 15 forks source link

Update fix #61

Closed luarvique closed 1 year ago

luarvique commented 1 year ago

This fix will make SoapySDRPlay3 retry sdrplay_api_Update() call several times (up to 3 with the current setting), or until it succeeds.

Have been testing it several days and so far it appears to completely fix random failures to set radio parameters in OpenWebRX.

fventuri commented 1 year ago

@luarvique - last week I had some time to look into the problem with sdrplay_api_Update() returning the error sdrplay_api_RfUpdateError, like you were seeing, and last night I was able to replicate it consistently running the attached C test program based on the example from the SDRplay API Specification guide.

What I found is that the error occurs every single time if the AGC is not disabled (for instance set to 50Hz), however the program runs without any problem if the AGC is disabled (you can check that by running something like this: ./sdrplay_api_example -a 0). Since this is a bit surprising (the AGC setting shouldn't affect updating the center frequency or sample rate), I contacted SDRplay about it; there should be a new version of their API for Linux coming out, which should address this problem and other issues (the current SDRplay API for Linux, version 3.07, is about three years old). I honestly don't know when the new version of the API will be available, but I'll follow up with them after their new SDR client software is released, and validate that the sdrplay_api_RfUpdateError doesn't occur any more (at least in this case).

Thanks for your patience, Franco

sdrplay_api_example.zip