JvanKatwijk / swradio-8

shortwave receiver for use with sdrplay, hackrf, dabsticks and pmsdr
GNU General Public License v2.0
76 stars 18 forks source link

Building on a Mac using Qt Creator #4

Closed markjfine closed 1 year ago

markjfine commented 3 years ago

Was able to build this in Qt Creator on a Mac in Catalina and the required packages from Homebrew.

  1. Modify swradio-8.pro's unix section (at the bottom) as follows: # LIBS += -L/usr/lib64 # LIBS += -L/lib64 INCLUDEPATH += /usr/local/include /usr/local/lib/qwt.framework/Headers QMAKE_LFLAGS += -F/usr/local/opt/qwt/lib -L/usr/local/lib LIBS += -framework qwt -lsndfile -lsamplerate -lportaudio -lusb-1.0 -lfftw3f -ldl

  2. Modify the radio handler to use 'dylib' instead of 'so', otherwise it won't recognise the radio, e.g. in rtlsdr-handler.cpp // Handle = dlopen ("librtlsdr.so", RTLD_NOW); Handle = dlopen ("librtlsdr.dylib", RTLD_NOW);

Should be a more elegant way of doing this using defines, but this works for now.

That said, am using an RTL-SDR v3 and it seems like it's not going into direct sampling for HF. Works in VHF, even though there's no WFM demodulator. I will look at setting direct sampling next.

markjfine commented 3 years ago

Changing line 314-316 of rtlsdr-handler.cpp seems to fix the direct sampling issue for HF: vfoFrequency = f; if (f <= 28800000) { rtlsdr_set_direct_sampling (device, 2); } else { rtlsdr_set_direct_sampling (device, 0); } (void)rtlsdr_set_center_freq (device, f);

JvanKatwijk commented 3 years ago

Thanks

I'll see now to insert these mods later this week (doing now some mods to the wfax decoder)

Op za 6 mrt. 2021 om 18:28 schreef markjfine notifications@github.com:

Changing line 314-316 of rtlsdr-handler.cpp seems to fix the direct sampling issue for HF: ' vfoFrequency = f;' ' if (f <= 28800000) {' ' rtlsdr_set_direct_sampling (device, 2);' ' } else {' ' rtlsdr_set_direct_sampling (device, 0);' ' }' ' (void)rtlsdr_set_center_freq (device, f);'

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/JvanKatwijk/swradio-8/issues/4#issuecomment-791994611, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCPHQC2EY7FC73SHMOYSILTCJQ4VANCNFSM4YW3JPRQ .

-- Jan van Katwijk

markjfine commented 3 years ago

Cheers. Let me know if you need some help with anything. You're doing a lot of good stuff here.

Some other ideas:

Might also be advantageous to save the direct sampling setting as a parameter somewhere in the rtlsdr interface, initialised at -1. This way rtlsdr_set_direct_sampling() only needs to actually call the radio function from the dll/dylib if it is different from what it was. I'm not really sure what repeated calls does to radio performance (or if that's actually an issue with the rtl-sdr).

Was also thinking of trying my hand at writing an AirSpy HF+ interface for you.