Further to some suggestions here a few months ago, I've switched gnuradio from 
my Windows laptop to a dedicated desktop computer running Ubuntu. It is setup 
in the attic with the receivers and antenna. I use my laptop and Remote Desktop 
Connection to run the desktop in a 'headless' fashion. So now, I can get down 
to the business of developing flowgraphs and modules. I went through the OOT 
module/block tutorial again (in both CPP and Python flavors)  and it went 
reasonably well. I also learned how to make an ad hoc Python block that is 
embedded in the project. So far so good.

The last few days I have been trying to build an APRS receiver. I built a 
project using the narrowband FM demodulator and I can save the audio to a file 
sink, or connect it to an audio sink. So far so good, but the next step is to 
feed the audio to an FSK demodulator. Looking around I found exactly that in a 
module package here:


So, I learned about git, and cmake, and make, and tons of other linux stuff, 
tried to download and install, but no go. Turns out that the package is three 
years old, and not compatible with the current version of gnuradio. So, I used 
gr-modtool to create a new module and block with the same inputs/outputs as his 
afsk1200 block, and then take his code and put it in the new template. After a 
few more learning experiences, I have a block that will instantiate, and 
consume inputs, and print out some info via gr::log. But, it wasn't decoding, 
so I got the TNC-Test CD, extracted one "known good" transmission burst into a 
wav file and used that as a source to the afsk1200 block. The troubling thing 
is that it doesn't give consistent results; i.e. sometimes it decodes the burst 
and sometimes it doesn't. So, my questions are about debugging this block.

1. Are there any tools/blocks/tips/tricks for showing debug information? I 
already have QT GUI Time Sink showing the audio waveform (so I know the 
1200/2400 hz tones are there), but I would like to see my decoded bits on the 
same timescale. Is there a way to do that? Also, is there a way to freeze the 

2. Once you have a new block built, the process to make a change appears to be:

- edit the source file

- make

- sudo make install

- sudo ldconfig

Is the last step always necessary? Is there a better way? Is there an IDE that 
can be used to shorten the cycle? How about a debugger, with breakpoints and 

And I have two tangential questions.

3. In an effort to get a visualization of the the outputs, I found this package 
by the same author as above:


and it even claims to be compatible with gnuradio 3.7. But I got stuck at this 

$cmake -DCMAKE_INSTALL_PREFIX=<where gnuradio is installed> ../

I tried to findout "where gnuradio is installed" using the suggested command:

gnuradio-config-info --prefix

which showed "/usr" but plugging that in didn't work. cmake complained:

"Cannot find gnuradio cmake Modules directory"

I could find /usr/share/gnuradio but none of the subdirectories were related to 
cmake nor Modules

4. For anyone who is still reading, is there a way to do AFSK demodulation 
without a custom block?

Sorry for the long post - and thanks for any advice.


Discuss-gnuradio mailing list

Reply via email to