ik1xpv / ExtIO_sddc

ExtIO_sddc.dll - BreadBoard RF103 / HDSDR
Other
69 stars 26 forks source link

SoapySDR Lib #234

Closed howard0su closed 2 months ago

howard0su commented 2 months ago

Still working in progress but it pass the testing on Linux.

Based on the work from @cozycactus

cozycactus commented 2 months ago

hello! doesn't work in macOS :( in linux there is sound glitches while streaming

cozy@cozys-iMac ~/g/b/src (master)> ./gqrx gr-osmosdr 0.2.0.0 (0.2.0) gnuradio v3.11.0.0git-717-g72e21b54 built-in source types: file rtl rtl_tcp rfspace soapy redpitaya rx_nb_cc :info: set_min_output_buffer on block 10 to 32768 Resampling audio 96000 -> 48000 PortAudio V19.7.0-devel, revision 147dd722548358763a8b649b3e4b41dfffbcfbb6 (version 1246976) Number of audio devices: 5 0: Built-in Input I:2 O:0 1: Built-in Line Input I:2 O:0 2: Built-in Output I:0 O:2 3: Built-in Digital Output I:0 O:2 4: Realphones System-Wide I:2 O:2 Using default audio device BandPlanFile is /Users/cozy/.config/gqrx/bandplan.csv BookmarksFile is /Users/cozy/.config/gqrx/bookmarks.csv PortAudio V19.7.0-devel, revision 147dd722548358763a8b649b3e4b41dfffbcfbb6 (version 1246976) Number of audio devices: 5 0: Built-in Input I:2 O:0 1: Built-in Line Input I:2 O:0 2: Built-in Output I:0 O:2 3: Built-in Digital Output I:0 O:2 4: Realphones System-Wide I:2 O:2 [SDDC] soapySDDC::findSDDC [SDDC] Close dev=0x0 gr-osmosdr 0.2.0.0 (0.2.0) gnuradio v3.11.0.0git-717-g72e21b54 built-in source types: file rtl rtl_tcp rfspace soapy redpitaya [SDDC] soapySDDC::findSDDC [SDDC] Close dev=0x0 [SDDC] soapySDDC::makeSDDC [SDDC] SoapySDDC::SoapySDDC normal FW binary executable image with checksum FX3 bootloader version: 0x000000A9 writing image... transfer execution to Program Entry at 0x40012cfc [SDDC] Open DevIdx=0 dev=0x7fb83208d930


Filter tap estimation, Astop = 120.0 dB, relPass = 0.85, relStop = 1.10 decimation 0: KaiserWindow(Astop = 120.0 dB, Fpass = 54.400,Fstop = 70.400, Bw 64.000 @ 128.000000 ) => 63 taps decimation 1: KaiserWindow(Astop = 120.0 dB, Fpass = 27.200,Fstop = 35.200, Bw 32.000 @ 128.000000 ) => 125 taps decimation 2: KaiserWindow(Astop = 120.0 dB, Fpass = 13.600,Fstop = 17.600, Bw 16.000 @ 128.000000 ) => 250 taps decimation 3: KaiserWindow(Astop = 120.0 dB, Fpass = 6.800,Fstop = 8.800, Bw 8.000 @ 128.000000 ) => 500 taps decimation 4: KaiserWindow(Astop = 120.0 dB, Fpass = 3.400,Fstop = 4.400, Bw 4.000 @ 128.000000 ) => 999 taps decimation 5: KaiserWindow(Astop = 120.0 dB, Fpass = 1.700,Fstop = 2.200, Bw 2.000 @ 128.000000 ) => 1998 taps decimation 6: KaiserWindow(Astop = 120.0 dB, Fpass = 0.850,Fstop = 1.100, Bw 1.000 @ 128.000000 ) => 3995 taps


[SDDC] RX888 | firmware 202 [SDDC] r2iqCntrl initialization [SDDC] RandTable generated [SDDC] SoapySDDC::setupStream [INFO] Using format CF32. [SDDC] SoapySDDC::listGains [SDDC] SoapySDDC::getGainRange [SDDC] SoapySDDC::getSampleRate 32000000.000000 [SDDC] SoapySDDC::getSampleRate 32000000.000000 [SDDC] SoapySDDC::getSampleRate 32000000.000000 [SDDC] SoapySDDC::setSampleRate 32000000.000000 [SDDC] SoapySDDC::getSampleRate 32000000.000000 [SDDC] SoapySDDC::listAntennas : 1 [SDDC] SoapySDDC::listAntennas : HF [SDDC] SoapySDDC::listAntennas : VHF [SDDC] SoapySDDC::setAntenna : 1 [SDDC] Switch to mode: 1 [SDDC] SoapySDDC::setAntenna : HF [SDDC] SoapySDDC::getAntenna [SDDC] SoapySDDC::listGains [SDDC] SoapySDDC::getGainRange PortAudio V19.7.0-devel, revision 147dd722548358763a8b649b3e4b41dfffbcfbb6 (version 1246976) Number of audio devices: 5 0: Built-in Input I:2 O:0 1: Built-in Line Input I:2 O:0 2: Built-in Output I:0 O:2 3: Built-in Digital Output I:0 O:2 4: Realphones System-Wide I:2 O:2 Using default audio device [SDDC] SoapySDDC::getSampleRate 32000000.000000 [SDDC] SoapySDDC::setSampleRate 64000000.000000 [SDDC] SoapySDDC::getSampleRate 32000000.000000 [SDDC] SoapySDDC::getSampleRate 32000000.000000 [SDDC] SoapySDDC::getFrequency 0.000000 [SDDC] SoapySDDC::setGain [SDDC] SoapySDDC::setGain [SDDC] SoapySDDC::setFrequency 10166600.000000 [SDDC] Offset freq 10166600 [SDDC] offset 0.317706 mtunebin 1300 delta -0.000323 (-0.000323) [SDDC] SoapySDDC::getFrequency 10166600.000000 [SDDC] SoapySDDC::activateStream 4 [SDDC] RadioHandlerClass::Stop 0 [SDDC] RadioHandlerClass::Start frame_size = 138240, iso_packets_per_frame = 135 ERROR - libusb_dev_mem_alloc() failed in streaming_open_async at /Users/cozy/ik1xpv/ExtIO_sddc/Core/arch/linux/streaming.c:144 [SDDC] Hardware Capability: AVX:1 AVX2:1 AVX512:1 [SDDC] SoapySDDC::deactivateStream [SDDC] RadioHandlerClass::Stop 1 fish: Job 1, './gqrx' terminated by signal SIGSEGV (Address boundary error)

howard0su commented 2 months ago

I think I fixed the problem in the recent update to change the packet size of usb. Can you try again with the latest version?

On Sat, Jul 6, 2024 at 4:23 AM Ruslan Migirov @.***> wrote:

hello! doesn't work in macOS :(

@.*** ~/g/b/src (master)> ./gqrx gr-osmosdr 0.2.0.0 (0.2.0) gnuradio v3.11.0.0git-717-g72e21b54 built-in source types: file rtl rtl_tcp rfspace soapy redpitaya rx_nb_cc :info: set_min_output_buffer on block 10 to 32768 Resampling audio 96000 -> 48000 PortAudio V19.7.0-devel, revision 147dd722548358763a8b649b3e4b41dfffbcfbb6 (version 1246976) Number of audio devices: 5 0: Built-in Input I:2 O:0 1: Built-in Line Input I:2 O:0 2: Built-in Output I:0 O:2 3: Built-in Digital Output I:0 O:2 4: Realphones System-Wide I:2 O:2 Using default audio device BandPlanFile is /Users/cozy/.config/gqrx/bandplan.csv BookmarksFile is /Users/cozy/.config/gqrx/bookmarks.csv PortAudio V19.7.0-devel, revision 147dd722548358763a8b649b3e4b41dfffbcfbb6 (version 1246976) Number of audio devices: 5 0: Built-in Input I:2 O:0 1: Built-in Line Input I:2 O:0 2: Built-in Output I:0 O:2 3: Built-in Digital Output I:0 O:2 4: Realphones System-Wide I:2 O:2 [SDDC] soapySDDC::findSDDC [SDDC] Close dev=0x0 gr-osmosdr 0.2.0.0 (0.2.0) gnuradio v3.11.0.0git-717-g72e21b54 built-in source types: file rtl rtl_tcp rfspace soapy redpitaya [SDDC] soapySDDC::findSDDC [SDDC] Close dev=0x0 [SDDC] soapySDDC::makeSDDC [SDDC] SoapySDDC::SoapySDDC normal FW binary executable image with checksum FX3 bootloader version: 0x000000A9 writing image... transfer execution to Program Entry at 0x40012cfc [SDDC] Open DevIdx=0 dev=0x7fb83208d930

Filter tap estimation, Astop = 120.0 dB, relPass = 0.85, relStop = 1.10 decimation 0: KaiserWindow(Astop = 120.0 dB, Fpass = 54.400,Fstop = 70.400, Bw 64.000 @ 128.000000 ) => 63 taps decimation 1: KaiserWindow(Astop = 120.0 dB, Fpass = 27.200,Fstop = 35.200, Bw 32.000 @ 128.000000 ) => 125 taps decimation 2: KaiserWindow(Astop = 120.0 dB, Fpass = 13.600,Fstop = 17.600, Bw 16.000 @ 128.000000 ) => 250 taps decimation 3: KaiserWindow(Astop = 120.0 dB, Fpass = 6.800,Fstop = 8.800, Bw 8.000 @ 128.000000 ) => 500 taps decimation 4: KaiserWindow(Astop = 120.0 dB, Fpass = 3.400,Fstop = 4.400, Bw 4.000 @ 128.000000 ) => 999 taps decimation 5: KaiserWindow(Astop = 120.0 dB, Fpass = 1.700,Fstop = 2.200, Bw 2.000 @ 128.000000 ) => 1998 taps decimation 6: KaiserWindow(Astop = 120.0 dB, Fpass = 0.850,Fstop = 1.100, Bw 1.000 @ 128.000000 ) => 3995 taps

[SDDC] RX888 | firmware 202 [SDDC] r2iqCntrl initialization [SDDC] RandTable generated [SDDC] SoapySDDC::setupStream [INFO] Using format CF32. [SDDC] SoapySDDC::listGains [SDDC] SoapySDDC::getGainRange [SDDC] SoapySDDC::getSampleRate 32000000.000000 [SDDC] SoapySDDC::getSampleRate 32000000.000000 [SDDC] SoapySDDC::getSampleRate 32000000.000000 [SDDC] SoapySDDC::setSampleRate 32000000.000000 [SDDC] SoapySDDC::getSampleRate 32000000.000000 [SDDC] SoapySDDC::listAntennas : 1 [SDDC] SoapySDDC::listAntennas : HF [SDDC] SoapySDDC::listAntennas : VHF [SDDC] SoapySDDC::setAntenna : 1 [SDDC] Switch to mode: 1 [SDDC] SoapySDDC::setAntenna : HF [SDDC] SoapySDDC::getAntenna [SDDC] SoapySDDC::listGains [SDDC] SoapySDDC::getGainRange PortAudio V19.7.0-devel, revision 147dd722548358763a8b649b3e4b41dfffbcfbb6 (version 1246976) Number of audio devices: 5 0: Built-in Input I:2 O:0 1: Built-in Line Input I:2 O:0 2: Built-in Output I:0 O:2 3: Built-in Digital Output I:0 O:2 4: Realphones System-Wide I:2 O:2 Using default audio device [SDDC] SoapySDDC::getSampleRate 32000000.000000 [SDDC] SoapySDDC::setSampleRate 64000000.000000 [SDDC] SoapySDDC::getSampleRate 32000000.000000 [SDDC] SoapySDDC::getSampleRate 32000000.000000 [SDDC] SoapySDDC::getFrequency 0.000000 [SDDC] SoapySDDC::setGain [SDDC] SoapySDDC::setGain [SDDC] SoapySDDC::setFrequency 10166600.000000 [SDDC] Offset freq 10166600 [SDDC] offset 0.317706 mtunebin 1300 delta -0.000323 (-0.000323) [SDDC] SoapySDDC::getFrequency 10166600.000000 [SDDC] SoapySDDC::activateStream 4 [SDDC] RadioHandlerClass::Stop 0 [SDDC] RadioHandlerClass::Start frame_size = 138240, iso_packets_per_frame = 135 ERROR - libusb_dev_mem_alloc() failed in streaming_open_async at /Users/cozy/ik1xpv/ExtIO_sddc/Core/arch/linux/streaming.c:144 [SDDC] Hardware Capability: AVX:1 AVX2:1 AVX512:1 [SDDC] SoapySDDC::deactivateStream [SDDC] RadioHandlerClass::Stop 1 fish: Job 1, './gqrx' terminated by signal SIGSEGV (Address boundary error)

— Reply to this email directly, view it on GitHub https://github.com/ik1xpv/ExtIO_sddc/pull/234#issuecomment-2211375938, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAF3GRGZUFTDBG5WYVLPD4LZK36FZAVCNFSM6AAAAABKLYOKJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMJRGM3TKOJTHA . You are receiving this because you authored the thread.Message ID: @.***>

-- -Howard

cozycactus commented 2 months ago

nice work! now it works even on 4 core 800mhz ubuntu 22.04 without sound stuttering with sdrpp

nmaster2042 commented 2 months ago

in Settings.cpp, in setAntenna() function I see:

if (name == "HF")
    {
        RadioHandler.UpdatemodeRF(HFMODE);
        RadioHandler.UpdBiasT_HF(true);
    }
    else if (name == "VHF")
    {
        RadioHandler.UpdatemodeRF(VHFMODE);
        RadioHandler.UpdBiasT_VHF(true);
    }

Does this mean BiasT is enabled at the same time HF or VHF antenna is selected ?

howard0su commented 2 months ago

yes, but I think this may not be right. feel free to propose PR to fix it.

On Sat, Jul 13, 2024 at 2:09 AM nmaster2042 @.***> wrote:

in Settings.cpp, in setAntenna() function I see:

if (name == "HF") { RadioHandler.UpdatemodeRF(HFMODE); RadioHandler.UpdBiasT_HF(true); } else if (name == "VHF") { RadioHandler.UpdatemodeRF(VHFMODE); RadioHandler.UpdBiasT_VHF(true); }

Does this mean BiasT is enabled at the same time HF or VHF antenna is selected ?

— Reply to this email directly, view it on GitHub https://github.com/ik1xpv/ExtIO_sddc/pull/234#issuecomment-2226122687, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAF3GRBSMQRAVFJNMTZZDI3ZMALXJAVCNFSM6AAAAABKLYOKJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRWGEZDENRYG4 . You are receiving this because you modified the open/close state.Message ID: @.***>

-- -Howard

cozycactus commented 1 week ago

@howard0su @nmaster2042 gqrx and sdrpp does not support biasT manipulation. only CubicSDR support it in settings. sdrpp deprecated SoapySDR support :(

howard0su commented 1 week ago

I will fix this. it is on my todo list.

On Sun, Sep 1, 2024 at 5:26 AM Ruslan Migirov @.***> wrote:

@howard0su https://github.com/howard0su @nmaster2042 https://github.com/nmaster2042 gqrx and sdrpp does not support biasT manipulation. only only CubicSDR and sdrpp deprecated SoapySDR support

— Reply to this email directly, view it on GitHub https://github.com/ik1xpv/ExtIO_sddc/pull/234#issuecomment-2323046926, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAF3GRD6SNSKUJHCMZ7HBELZUIYGXAVCNFSM6AAAAABKLYOKJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMRTGA2DMOJSGY . You are receiving this because you were mentioned.Message ID: @.***>

-- -Howard