discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: Calling blocks directly


From: Josh Morman
Subject: Re: Calling blocks directly
Date: Mon, 29 Nov 2021 14:55:24 -0500

This sounds like a very interesting project - but separating out the calls to blocks from the underlying framework is very difficult in GNU Radio for many reasons, but one being that the blocks call back into the scheduler for things like getting the number of items read/written, and updating buffer pointers and such. 

Separating the block API so the blocks can be used for this purpose (integration of the core signal processing work() calls with external frameworks) is a goal of the GR 4.0 framework (newsched).  If you are interested in doing this with newsched (https://github.com/gnuradio/newsched) - we can port more blocks in from GNU Radio that might be of interest.

Josh

On Mon, Nov 29, 2021 at 2:01 PM Jeff Long <willcode4@gmail.com> wrote:
To do this, you write a "mock" framework that calls the block init, then calls general_work() or work() with the proper parameters. I'd say you need to understand the C++ API for blocks pretty well to make this work. How much of the framework you need to implement will depend on which blocks you use.

On Mon, Nov 29, 2021 at 1:28 PM Andra-Maria Ilies <andramariailies@gmail.com> wrote:

Hello, 


I am trying to write a full-program optimizer for GNURadio flow graphs in C++. For this purpose, I need to call GNURadio blocks separately inside my program.


I have 2 questions:

  1. How to directly feed a local vector input to a block? 
  2. How can I set a local array as the output array of the used block?  

I would like to mention that I want to do this directly, without using GNU Radio specific functions such as connect(), because I will be using only certain blocks, whose operation I find useful for my application. 


Thank you in advance!

Andra


reply via email to

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