Closed markjfine closed 1 year 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);
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
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.
Was able to build this in Qt Creator on a Mac in Catalina and the required packages from Homebrew.
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
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.