sannysanoff / SDRPlusPlusBrown

Cross-Platform SDR Software
GNU General Public License v3.0
27 stars 6 forks source link

Soapy_source: more settings #11

Open nmaster2042 opened 1 year ago

nmaster2042 commented 1 year ago

On soapy_source we can change gain, sample rate, bandwidth and antenna.

A lot of devices has more settings options not shown on GUI that would provide better controls on devices (ex: bias tee, filters, etc).

This depend of the device and soapy driver but it would be great add.

sannysanoff commented 1 year ago

i wish I had those devices to test..

ericek111 commented 1 year ago

All of that is available in this branch: https://github.com/ericek111/SDRPlusPlus/tree/soapysettings

One last thing missing -- custom device strings.

nmaster2042 commented 1 year ago

It would be nice to have this improvements in SDRPP or to be able to build this soapy_source separatly to use with officiel SDRPP version.

Le dim. 19 mars 2023 à 23:53, Erik Bročko @.***> a écrit :

All of that is available in this branch: https://github.com/ericek111/SDRPlusPlus/tree/soapysettings

One last thing missing -- custom device strings.

— Reply to this email directly, view it on GitHub https://github.com/sannysanoff/SDRPlusPlusBrown/issues/11#issuecomment-1475424737, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFNR5KCQI4DCNUYZY3GON5TW46E5XANCNFSM6AAAAAARKTI7VY . You are receiving this because you authored the thread.Message ID: @.***>

angrysmiley commented 7 months ago

Albeit incomplete as of yet, someone started on a module/plugin:

https://github.com/cropinghigh/sdrpp-mirisdr-source

gvanem commented 3 months ago

I'll comment here (instead of opening a new issue that will get ignored). There's a bug WRT. to LoadLibraryExW() and the LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR flag. No .DLLs in %SOAPY_SDR_PLUGIN_PATH% will thus get loaded. Or it the intention to have all those .DLLs in the ./modules directory? Madness if so.

I patched core/src/modules.cpp and now SDR++ works fine with SoapySDR and %SOAPY_SDR_PLUGIN_PATH%/AfedriSupport.dll. From: https://github.com/alexander-sholohov/SoapyAfedri

sannysanoff commented 3 months ago

All of that is available in this branch: https://github.com/ericek111/SDRPlusPlus/tree/soapysettings

One last thing missing -- custom device strings.

Dear colleague, if you would create pull request, I would merge it. If it is related to soapy_source. Also, please bear in mind issues related to server-side mode ui. If you're not using SmGui, there will be issues in server mode. You must add a condition on server-side, if you have some code that works only in client mode.

alexander-sholohov commented 3 months ago

I've implemented initial soapy device settings. It's available in the branch: https://github.com/alexander-sholohov/SDRPlusPlus/tree/feature/soapy-driver-start-settings

nmaster2042 commented 3 months ago

Nice add the hability to enter args manually.

Do you think it can be accumulated with the work of ericek111s' improved soapy args management he proposed ?

Because it adds all string args avaliable for the soapy device directly on the UI.

I actually tried it with success.

It would be the perfect combo to manage well soapy devices.

alexander-sholohov commented 3 months ago

This is the branch with ericek111's "runtime" settings + my device initial setting + try-catch around SoapySDR::Device::make() Please try. https://github.com/alexander-sholohov/SDRPlusPlus/tree/feature/soapysdr-settings

alexander-sholohov commented 3 months ago

I'll comment here (instead of opening a new issue that will get ignored). There's a bug WRT. to LoadLibraryExW() and the LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR flag. No .DLLs in %SOAPY_SDR_PLUGIN_PATH% will thus get loaded. Or it the intention to have all those .DLLs in the ./modules directory? Madness if so.

That’s actually fine for self contained distros. In this case soapy_source.dll will use SoapySDR.dll coming with sdrpp.exe and won’t fall back to random SoapySDR found in the paths. To organize folder with soapy modules we can set environment variable SOAPY_SDR_PLUGIN_PATH like here

nmaster2042 commented 3 months ago

@alexander-sholohov : I built your soapy_source, and I'm actually using it successfully. It's a very good progress over original soapy_source.

I own SDRs that don't have native SDR++ support such as the funcube dongle pro+ and now I have a good control of the settings.

I made my test on desktop (with UI), I'll make some more with server mode. SDR++ server is very flexible do put SDR and antenna far from my computer, it it's the main mode I'm using here.

I'll let you know results.

Thank you for the nice work

nmaster2042 commented 3 months ago

Hi @alexander-sholohov

I just wanted to let you know I was able to use your soapy_source in server mode exactly the same way as in GUI mode.

It's a great add for my usage of remote SDR++ server.

sannysanoff commented 2 months ago

I merged (not merged, actually, but took the code from, because it was not rebased) into the 01c250a7773947bf084f3530395b3a1187b850d7. Only main.cpp file related to soapy_sdr.

Please check if all is ok.

alexander-sholohov commented 2 months ago

I merged (not merged, actually, but took the code from, because it was not rebased) into the 01c250a. Only main.cpp file related to soapy_sdr.

Please check if all is ok.

It compiles and works ok. Looks good.

sannysanoff commented 2 months ago

thanks for your contribution!

sannysanoff commented 2 months ago

https://github.com/sannysanoff/SDRPlusPlusBrown/actions/runs/8694451628/job/23843383995

not built on older platforms.

sannysanoff commented 2 months ago

@alexander-sholohov ^^ plz see if you can do something.

Я пока что задизаблил билд этого модуля на старых платформах, где не предоставляется этот плюсовый API, который ты используешь.

alexander-sholohov commented 2 months ago

This is because Debian11 comes with old SoapySDR version 0.7 which doesn't have templated settings. I've disabled runtime setting when soapy_source compiles with old SoapySDR API.

sannysanoff commented 2 months ago

If possible, plz provide pull request.

sannysanoff commented 2 months ago

taking my words back, I see it's there already. Thank you!