discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Reconfiguring Flowgraphs


From: xianda
Subject: Re: [Discuss-gnuradio] Reconfiguring Flowgraphs
Date: Fri, 25 Jul 2014 18:31:32 +0800 (CST)

Hi Marcus:
                     Thank you so much for your kindly reply.I have attached my code.I want to run the flowgraph 1 at first,and then I disconnct it.Then I want to run the flowgraph 2.
                    Flowgraph 1:
                    uhd_usrp_source---->>>ofdm_rx_0---->>>file sink

                    Flowgraph 2:
                    uhd_usrp_source---->>>ofdm_rx_1---->>>blocks_vector_to_stream---->>>blks2_tcp_sink

Note:
                    ofdm_rx is a block in gnuradio/gr-digital/python/digital/ofdm_txrx.py.I make some changes on ofdm_rx.And I get two new block:ofdm_rx_0 and ofdm_rx_1.I have tested flowgraph 1 and flowgraph 2 respectively.And they all run successfully.And now I just want to run flowgraph 1 in 30 seconds and then disconnct flowgraph 1.Then run flowgraph 2 forever.But now the flowgraph 2 don't receive samples.And in the ofdm_rx_1 I add some file sink.These file sink display null.When I have tested  flowgraph 1 and flowgraph 2 respectively,these file sink all have samples.So I think maybe encounter some errors when I reconfiguring flowgraphs.Thank you so much.So kindly of you.Thanks.
Best regards,
xd







At 2014-07-25 05:40:58, "Marcus Müller" <address@hidden> wrote: >Xianda, >my advice: Please try to draw a complete picture of what you are doing. >What are your sources, blocks you interchange, your sinks, what do you >do to make your flowgraph stop (under which circumstances)? I really >can't read your mind; all I know about your flow graph is what you tell >me, which is that you have 1 source, and two in-and-output blocks and >two sinks, and that you first connect src - blk1 - sink1 and then src - >blk2 - sink2. > >You omitted that it is a USRP source until you send an excerpt of your >code, you omit what kind of blocks blk{1,2} and what kind of sinks >sink{1,2} are. You don't tell me in what relationship your "new" >flowgraph stands to your reconfigured one etc. > >It's like you expect me to guess what you are doing in my own time to >try to help you, just to save you from revealing what you are doing. >This won't work. >Please explain, in whole, what you're trying to do, what you have tried >to verify that it goes wrong, which problems you encountered and so on, >and we, as a list, might be able to figure out what's going on. > >Greetings, >Marcus > > >On 25.07.2014 11:32, xianda wrote: >> Hi Marcus: >> Thank you so much.Do you indicate my new flowgraph had run?I have add a file sink,but it is null.And I think it don't run.I don't know why.Can you give me some advices?Thank you so much. >> Best regards, >> xd >> >> >> >> >> >> >> >> >> At 2014-07-25 05:27:28, "Marcus Müller" <address@hidden> wrote: >>> Hi xianda, >>> >>> tb.wait() does exactly what you said it does: Wait for the flow graph to >>> complete.A flowgraph will run until one of the blocks in that flowgraph >>> signal that they're done, or you call tb.stop(). >>> If you don't have such a block, your tb will run forever, and wait() >>> will never return. >>> >>> Greetings, >>> Marcus >>> >>> >>> On 25.07.2014 11:13, xianda wrote: >>>> Hi Marcus: >>>> Thank you for your reply.Sorry for that if you can't understand.I will try my best to explain my question. >>>> >>>> def main(): >>>> tb=my_top_block() >>>> tb.start() >>>> time.sleep(30) >>>> >>>> #stop flowgraph >>>> tb.lock() >>>> tb.disconnect((tb.uhd_usrp_source_0,0),(tb.rx_0,0)) >>>> tb.disconnct((tb.rx_0,0),tb.snk1) >>>> #start flowgraph >>>> tb.connect((tb.uhd_usrp_source_0,0),(tb.rx_1,0)) >>>> tb.connect((tb.rx_1,0),tb.snk) >>>> # blockA:(tb.rx_0,0) blockB:(tb.rx_1,0) >>>> tb.unlock() >>>> tb.wait() >>>> print "start" >>>> >>>> I want to disconnct flow graph, and then to start a new connect.My code hang in tb.wait(),it can't go on.I add print "start" and it can't display "start".Sorry for my poor english if you can't understand. >>>> Thank you so much. >>>> Best regards, >>>> xd >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> At 2014-07-25 04:59:52, "Marcus Müller" <address@hidden> wrote: >>>>> Hi Xianda, >>>>> >>>>> as usual, saying "doesn't work", "can't run", "behaves wrong" really >>>>> gives no clue what's wrong. >>>>> Please follow >>>>> http://gnuradio.org/redmine/projects/gnuradio/wiki/ReportingErrors , >>>>> especially "How do I ask?". >>>>> >>>>> Greetings, >>>>> Marcus >>>>> >>>>> On 25.07.2014 09:36, xianda wrote: >>>>>> Hi Marcus: >>>>>> Thank you so much for your kindly reply. And I disconnect block A and sink 1. >>>>>> >>>>>> def main(): >>>>>> tb=my_top_block() >>>>>> tb.start() >>>>>> time.sleep(30) >>>>>> >>>>>> #stop flowgraph >>>>>> tb.lock() >>>>>> tb.disconnect((tb.uhd_usrp_source_0,0),(tb.rx_0,0)) >>>>>> tb.disconnct((tb.rx_0,0),tb.snk1) >>>>>> #start flowgraph >>>>>> tb.connect((tb.uhd_usrp_source_0,0),(tb.rx_1,0)) >>>>>> tb.connect((tb.rx_1,0),tb.snk) >>>>>> # blockA:(tb.rx_0,0) blockB:(tb.rx_1,0) >>>>>> tb.unlock() >>>>>> >>>>>> tb.wait() >>>>>> And It can run.But new problem exists.My new flowgraph: >>>>>> >>>>>> source--->block B(just one block)--->sink2 >>>>>> can't run(I have already tested my new flowgraph alone,it's normal.But after reconfiguring flowgraph,it can't run normally. ).I think it's blocking because of the tb.wait().I know the wait is a blocking call that sits there and waits for the flowgraph to finish.I just want my new flowgraph run.Thank you. >>>>>> Best regards, >>>>>> xd >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> At 2014-07-21 08:06:52, "Marcus Müller" <address@hidden> wrote: >>>>>> unless you also disconnect block A and sink1, GNU Radio will continue to assume that block A should produce output for sink1, and it can't do that without input. >>>>>> >>>>>> Greetings, >>>>>> Marcus >>>>>> >>>>>> On 21.07.2014 13:43, xianda wrote: >>>>>> >>>>>> I forget to say:the "sink" also different with each other.Namely: >>>>>> source--->block A(just one block)--->sink1 >>>>>> source--->block B(just one block)--->sink2 >>>>>> Can someone help me?Thanks. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> At 2014-07-21 06:50:10, "xianda" <address@hidden> wrote: >>>>>> >>>>>> Hi all: >>>>>> Thank you in advance.I want to ask some questions about the "Reconfiguring Flowgraphs". >>>>>> My flowgraphs: >>>>>> source--->block A(just one block)--->sink >>>>>> And I want to run the flowgraphs for 30 seconds,and then run the other flowgraphs: >>>>>> source--->block B(just one block)--->sink >>>>>> And I have read the API,and then I write something like this: >>>>>> >>>>>> def main(): >>>>>> tb=my_top_block() >>>>>> tb.start() >>>>>> time.sleep(30) >>>>>> >>>>>> #stop flowgraph >>>>>> tb.lock() >>>>>> tb.disconnect((tb.uhd_usrp_source_0,0),(tb.rx_0,0)) >>>>>> >>>>>> #start flowgraph >>>>>> tb.connect((tb.uhd_usrp_source_0,0),(tb.rx_1,0)) >>>>>> tb.connect((tb.rx_1,0),tb.snk) >>>>>> # blockA:(tb.rx_0,0) blockB:(tb.rx_1,0) >>>>>> tb.unlock() >>>>>> >>>>>> tb.wait() >>>>>> But it go error: RuntimeError: delay(4): insufficient connected input ports (1 needed, 0 connected) >>>>>> Can someone help me?Thank you. >>>>>> Best regards, >>>>>> xd >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Discuss-gnuradio mailing list >>>>>> address@hidden://lists.gnu.org/mailman/listinfo/discuss-gnuradio >>>>>> >


Attachment: mimo_see_ofdm_miso.py
Description: Binary data


reply via email to

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