discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Additional code to GRC flowgraph


From: Nowlan, Sean
Subject: Re: [Discuss-gnuradio] Additional code to GRC flowgraph
Date: Mon, 6 Jul 2015 13:51:24 +0000

One way to do this is to create a flowgraph, such as foo.grc. This will generate a Python file that you can import into another file, bar.py:

 

#!/usr/bin/env python2

 

import foo

if __name__ == '__main__':

    tb = foo.foo()

 

   # custom code

    print "samp_rate:", tb.get_samp_rate()

 

    # standard stuff

    tb.start()

    try:

        raw_input('Press Enter to quit: ')

    except EOFError:

        pass

    tb.stop()

    tb.wait()

 

You can add custom stuff into bar.py while being able to modify foo in GRC. I’m not sure if this applies directly to what you want to do, but I’ve found it useful for testing while avoiding having GRC overwrite your custom code.

 

Of course, another way to do this is to export your flowgraph as a hierarchical block, which you then import into a top level flowgraph. Your top level can stay the same but you can keep iterating on the hierarchical block.

 

Sean

 

From: discuss-gnuradio-bounces+address@hidden [mailto:discuss-gnuradio-bounces+address@hidden On Behalf Of Marcus Müller
Sent: Monday, July 06, 2015 9:33 AM
To: address@hidden
Subject: Re: [Discuss-gnuradio] Additional code to GRC flowgraph

 

As I said, if that's the case, avoid using function probes but just use the MPSK estimator (not the estimator probe), and write your own block that just takes the tags that come from that, and translates them to messages that you send to another block that does something useful with them (e.g. adjusting a frequency correction etc.)

Best regards,

Marcus

On 07/06/2015 12:11 PM, Daniel Brogren wrote:

Sorry for for that.... I thought the "imoprt" block was a type of block that I could create from the modtool.

but

In the import-block I can import modules. But I can still not import actuall code into my top_block and I can not call functions from the import-block. What I want to avoid is to add code in the top_block manually since I'm normally using the GRC to generate the top_block.

/Daniel


Date: Mon, 6 Jul 2015 09:43:24 +0200
From: address@hidden
To: address@hidden
Subject: Re: [Discuss-gnuradio] Additional code to GRC flowgraph

Try the block search (magnifier button in GRC), type in "import" :)

On 07/06/2015 09:33 AM, Daniel Brogren wrote:

Hi again

I have a MPSK SNR Estimator Probe and a Function Probe that calculates the SNR.

I can not find any information regarding "import" block.

BR
Daniel Brogren

> Date: Fri, 3 Jul 2015 18:46:12 +0200
> From: address@hidden
> To: address@hidden
> Subject: Re: [Discuss-gnuradio] Additional code to GRC flowgraph
>
> Hi Daniel,
>
> if your code really just looks like
>
> from awesometoolkit import skynet
> skynet.kill_sarah()
>
> you can put that into an "import" block.
>
> But: what you describe doesn't sound like you want to modify the top
> block -- it sounds more like you'd want a block to calculate SNR, and
> every f_sample*3 samples change some other block.
>
> Now, this completely depends on the block where the freq. offset is
> used, but you can just write a block (in python or C++, only matters for
> performance), and give that block an message output port, and send
> messages containing the changed parameter to the block that needs
> adjustment.
>
> If you take a look at the frequency xlating fir filter block, it has a
> message port named "freq", which takes in PMT messages in form of
> tuples; these tuples must be of the form
> pmt.pair(pmt.intern("freq"), pmt.from_double(123.131) )
>
>
> Best regards,
> Marcus
> On 07/03/2015 04:27 PM, Daniel Brogren wrote:
> > Hi
> >
> > I'm working with a receiver application in GNU Radio Companion. I would like to add some additional code to the top block but I still want to be able to work with the GRC. Is there a way to add this extra code without the code will be removed when I re-generate the flowgraph from GRC
> > or
> > Could I create a new block that can access the variables in the top block or can execute the set/get functions for the variables in the top block.
> >
> > What I'm trying to accomplish is that every 3rd second I will check the SNR and then do som trimming of a freq-offset. I'm a newbie with GNU Radio and Python but have read through the guided tutorials.
> >
> > BR
> > Daniel Brogren
> > _______________________________________________
> > Discuss-gnuradio mailing list
> > address@hidden
> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



_______________________________________________ Discuss-gnuradio mailing list address@hidden https://lists.gnu.org/mailman/listinfo/discuss-gnuradio




_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

 


reply via email to

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