Page 1 of 1

122-16 SDRLab with GNU radio problem

Posted: Sun Mar 12, 2023 10:49 pm
by belotserm
Hi. I've been trying to use Pavel Demin's sample SDR transceiver application under GNU radio. When I try running it, I get this message: "Warning: This flow graph may not have flow control: no audio or RF hardware blocks found. " And indeed, the graph runs, but there is no output from the design. However, when I replaced the Red Pitaya source and sink blocks with "osmocom" source and sink, using the same device addresses/ports, the flowgraph runs and the expected output is observed. Can someone explain why the "red pitaya" blocks that come with Pavel's image (under red-pitaya-notes/) can't seem to be able to communicate with the hardware? Do the underlying libraries need to be compiled on my machine to make them accessible to GNU? The python wrappers are there, but the "guts" are probably written in C/C++? Thanks!

Re: 122-16 SDRLab with GNU radio problem

Posted: Tue Mar 14, 2023 8:52 pm
by pavel
There is not enough information about your configuration to understand why the blocks are not working.

If osmocom blocks work for you, then there is nothing to worry about. I have created these osmocom blocks because I think they are easier to use and they work on Windows.

Re: 122-16 SDRLab with GNU radio problem

Posted: Sun Mar 19, 2023 12:24 am
by belotserm
Thanks for your reply. I'll stick with osmocom. Here is my end goal: I have a GNU Radio model of a home-brew transceiver. I'd like to transition this model, block by block, to the RedPitaya SDR board, where parts of the processing will initially remain on my PC in GR, parts will be in Verilog on the PL on Zync, and part will run (eventually) in C++ on the embedded ARM. I have long experience in writing radio stuff in Verilog, but no SoC experience, so I don't have clear path on how to execute my plan. What example design would you suggest as a starting point for what I'm trying to do? Could you suggest documentation to help me make sense of it? I have 2 paths in my mind: one described here ( ... A-transfer - which is Vivado based), and another is one of yours (using Vitis). The amount of information is a bit overwhelming, and I need advice on getting started.

Re: 122-16 SDRLab with GNU radio problem

Posted: Sun Mar 19, 2023 8:56 am
by pavel
The difference between FPGA-Notes-for-Scientists and my projects is not VIvado vs Vitis. I also use Vivado to build the FPGA setup for my projects.

The main difference for me is that the FPGA-Notes-for-Scientists wiki pages describe how to use the GUI to build the FPGA configuration and I use Tcl scripts to build the FPGA configuration for my projects. It allows me to efficiently use git for version control, easily change Vivado versions, easily port my projects to different boards.

Xilinx provides lots of documentation. This documentation is the main source of information for me.

Some details about my scripts can be found at the following links: ... d-blinker/ ... n.pdf?dl=1

Re: 122-16 SDRLab with GNU radio problem

Posted: Mon Mar 20, 2023 12:08 am
by belotserm
Thanks for your explanation. I have a follow-ups: after some thought, I would like to be able to use the Red Pitaya blocks that came with the transceiver project (red_pitaya_source/sink) instead of osmoscom, because they are straight python and simple (using streaming sockets), so it seems if I add FPGA functionality that will take additional parameters/send additional status to GNU Radio it will be easier for me to customize the matching GR block to control the PL. As I mentioned at the start of this thread, the GR graph with red_pitaya block loads and runs, but no input/output. I have just observed that when I first call gnuradio-companion with the trx_am flowgraph, I get the following in the console:
(gnuradio-companion:44126): Gtk-WARNING **: 15:52:14.518: Locale not supported by C library.
Using the fallback 'C' locale.
Block with id "red_pitaya_sink" loaded from
overwritten by
Block with id "red_pitaya_source" loaded from
overwritten by
<<< Welcome to GNU Radio Companion >>>

Block paths:

Loading: "/home/developer/red-pitaya-notes/projects/sdr_transceiver_122_88/gnuradio/trx_am.grc"
>>> Done
I don't understand the comment about the 'C local' or why the blocks supplied in the directory I'm launching GR from are being "overwritten". I suspect this is the reason why the blocks aren't working, but I don't know enough about the inner workings of GR to understand why this happens or how to fix it. Could you suggest anything? Thanks!