discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] Module development and debugging


From: Gavin Jacobs
Subject: [Discuss-gnuradio] Module development and debugging
Date: Mon, 19 Sep 2016 23:03:51 +0000

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:

https://github.com/dl1ksv/gr-ax25

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 GUI?


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 variables?


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:

https://github.com/dl1ksv/gr-display

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

$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.


Jake










reply via email to

[Prev in Thread] Current Thread [Next in Thread]