gr-dsd
gr-dsd copied to clipboard
Just a heads-up
HI, I just wanted to let you know that I've used gr-dsd successfully with Gqrx: https://www.youtube.com/watch?v=BI3u8kfuhQ0 Great work!
Nice! Have you let the author of gqrx know about that? Maybe you should post to the gqrx mailing list.
I will, once I clean up the code a bit. It was a couple of nights of work, so it's not that pretty. Works very well though in automatic mode.
Cool! I have been thinking about doing this for a while. Let me know when you have the code up.
You can find gr-dsd integrated in gqrx here: https://github.com/kantooon/gqrx_fork (in branch digital).
fyi: gqrx-digital has as a dependency gr-dsd, which uses dsd.h from the dsd project. global int exitflag should be defined as an extern, otherwise the linker will complain. Saw this being reported on pybombs as well as on my repo, but I don't read these messages often.
Hello everyone,
I just installed: gr-dsd from: https://github.com/argilo/gr-dsd.git as well as installed Gqrx from https://github.com/kantooon/gqrx_fork.git. However, when I open Gqrx there is NO DSD Mode listed; only the standard Gqrx modes are available e.g. Raw I/Q, AM, Narrow FM, WFM (Mono), etc... However, if I open GNU Radio Companion there is a DSD Block available. Would anyone have an idea as to why there is no DSD Mode available after installing Gqrx from this fork? I forgot to add that I'm running: Ubuntu 14.04, kernel: 3.13.0-29-generic, GNU Radio Companion 3.7.5.1 and a Ettus Research USRP N210 if that makes any difference.
You need to use the digital branch. The new code has not been merged into master yet.
Thank you for the prompt reply! I apologize, because I was executing: "git clone https://github.com/kantooon/gqrx_fork.git", when I needed to be executing: "git clone -b digital https://github.com/kantooon/gqrx_fork.git" (I'm still learning). However, when trying to build using: "make" I encounter this error:
file included from ../../gqrx_fork/receivers/nbrx.h:42:0,
from ../applications/gqrx/receiver.cpp:36:
/usr/local/include/dsd/dsd_block_ff.h:25:21: fatal error: dsd_api.h: No such file or directory
#include dsd_api.h
compilation terminated. make: *** [receiver.o] Error 1
But the: "dsd_api.h" header file is indeed in the following directory as running the: "ls" command reveals: $:/usr/local/include/dsd$ ls dsd_api.h dsd_block_ff.h swig
Any idea what might be causing this?
Seems like include paths for the headers are incorrect. You can either fix this in 5 minutes by editing manually the headers to add <dsd/dsd_api.h> (notice the path there) or you can wait for Clayton to push a fix to gr-dsd.
Ahhh, thanks for pointing me in the right direction (I'm learning something new all the time). I was looking through the Gqrx headers when it actually was the dsd_block_ff.h header file that needed changed. I changed the dsd_block_ff.h to show the correct path and that seems to have corrected that issue.
Now I have another issue:
g++ -m64 -Wl,-O1 -o gqrx main.o mainwindow.o receiver.o cafsk12.o costabf.o agc_impl.o correct_iq_cc.o lpf.o resampler_xx.o rx_demod_am.o rx_demod_fm.o rx_fft.o rx_filter.o rx_meter.o rx_agc_xx.o rx_noise_blanker_cc.o sniffer_f.o stereo_demod.o afsk1200win.o agc_options.o audio_options.o demod_options.o dockinputctl.o dockaudio.o dockfft.o dockiqplayer.o dockrxopt.o freqctrl.o gain_options.o ioconfig.o meter.o nb_options.o plotter.o qtcolorpicker.o nbrx.o receiver_base.o wfmrx.o rx_demod_qpsk.o qpsk_to_audio.o shoutstreamer.o pa_device_list.o pa_sink.o pa_source.o moc_mainwindow.o moc_cafsk12.o moc_afsk1200win.o moc_agc_options.o moc_audio_options.o moc_demod_options.o moc_dockaudio.o moc_dockfft.o moc_dockinputctl.o moc_dockiqplayer.o moc_dockrxopt.o moc_freqctrl.o moc_gain_options.o moc_ioconfig.o moc_meter.o moc_nb_options.o moc_plotter.o moc_qtcolorpicker.o qrc_icons.o -L/usr/lib/x86_64-linux-gnu -lboost_system -lboost_program_options -lrt -lgr-dsd -losmocore -lshout -L/home/marcus/Desktop/osmo-tetra/src -losmo-tetra-phy -losmo-tetra-mac -lpulse-simple -lpulse -L/usr/local/lib -lgnuradio-analog -lgnuradio-filter -lgnuradio-fft -lgnuradio-osmosdr -lgnuradio-blocks -lgnuradio-digital -lgnuradio-runtime -lgnuradio-pmt -lQtSvg -lQtGui -lQtCore -lpthread nbrx.o:(.bss+0x0): multiple definition of `exitflag' receiver.o:(.bss+0x0): first defined here collect2: error: ld returned 1 exit status make: *** [gqrx] Error 1
The only thing I have changed in the: "gqrx_fork" git file folder is the: "gqrx.pro" file. I changed these fields towards the end of the file within the: "unix:!macx {..." brackets:
DEPENDPATH += /home/marcus/Desktop/osmo-tetra/src LIBS += -L/home/marcus/Desktop/osmo-tetra/src -losmo-tetra-phy -L/home/marcus/Desktop/osmo-tetra/src -losmo-tetra-mac INCLUDEPATH += /home/marcus/Desktop/osmo-tetra/src
I could only get gqrx_fork to compile this far by changing those fields...otherwise it complained of osmo-tetra errors (there is no make install file for osmo-tetra either). Is this latest error the result of something I did, or something else? Again, thanks for all the help!
Your solution for osmo-tetra is just fine. Regarding the dsd global variable which confuses the linker, see my comment from October above. Again, an easy fix of 5 minutes if you are willing to grep through the source code, find the declaration and change it by adding the extern keyword.
Though this issue should probably be reported on another bug, and fixed within gr-dsd.
exitflags are incorrect because defined twice regarding to my colleague. once in dsd and a second time at some other point. he defined it as static flag and then it worked fine for us.
second is that the g++ command is incomplete. we receive
/usr/bin/ld: qpsk_to_audio.o: undefined reference to symbol '_talloc_zero@@TALLOC_2.0.2' //usr/lib/x86_64-linux-gnu/libtalloc.so.2: error adding symbols: DSO missing from command line
this is because the library is not in the call of LIBS in the Makefile add in the end if this happens to you too -ltalloc
all what is left then is a warning with: /usr/bin/ld: warning: libvolk.so.0.0.0, needed by //usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so.3.7.5, may conflict with libvolk.so.1.0.2
but now it runs on kali 2.0
Was there any progress regarding possible upstreaming of the Gqrx DSD support? Thanks!