Hi Thanks for the suggestions. What I did and whats works for me is that I looked at the function probe block and saw that it dosent have a separate python-file. Then I realized that I can create my own block and then just put the additional python code in the xml-file. I guess that it is not the best looking solution but it works for me BRDaniel
From: sean.now...@gtri.gatech.edu To: marcus.muel...@ettus.com; discuss-gnuradio@gnu.org Date: Mon, 6 Jul 2015 13:51:24 +0000 Subject: Re: [Discuss-gnuradio] Additional code to GRC flowgraph 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+sean.nowlan=gtri.gatech....@gnu.org [mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech....@gnu.org] On Behalf Of Marcus Müller Sent: Monday, July 06, 2015 9:33 AM To: discuss-gnuradio@gnu.org 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: marcus.muel...@ettus.com To: discuss-gnuradio@gnu.org 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: marcus.muel...@ettus.com > To: discuss-gnuradio@gnu.org > 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 > > Discuss-gnuradio@gnu.org > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > > > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio