[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Reconfiguring Flowgraphs
From: |
Marcus Müller |
Subject: |
Re: [Discuss-gnuradio] Reconfiguring Flowgraphs |
Date: |
Fri, 25 Jul 2014 15:58:39 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 |
so if you replace lines 70-79 and replace them with tb.stop(), you get
bytes in your file? How many? Is it much more than 52*8? Do you actually
guarantee that there should be output of ofdm_rx_0 or does this happen
coincidentially?
Something as complex as an OFDM receiver really shouldn't be used as a
test for stream reconfiguration, because you're receiving live signals
and there's millions of things that might go wrong; have you tried with
a simpler block, e.g. stream_to_vector instead of ofdm_rx/ofdm_rx1? Have
you intentionally used
"from ofdm_null_txrx import ofdm_rx"? I don't know ofdm_null_txrx, so
this might be to blame; the name sure suggests that it might not produce
output, and the parameters suggest you send data somewhere (not to the
output of that block).
Greetings,
Marcus
On 25.07.2014 12:31, xianda wrote:
> 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
>>>>>>>
- [Discuss-gnuradio] Reconfiguring Flowgraphs, xianda, 2014/07/21
- Re: [Discuss-gnuradio] Reconfiguring Flowgraphs, xianda, 2014/07/21
- Re: [Discuss-gnuradio] Reconfiguring Flowgraphs, Marcus Müller, 2014/07/21
- Message not available
- Re: [Discuss-gnuradio] Reconfiguring Flowgraphs, Marcus Müller, 2014/07/25
- Re: [Discuss-gnuradio] Reconfiguring Flowgraphs, xianda, 2014/07/25
- Re: [Discuss-gnuradio] Reconfiguring Flowgraphs, Marcus Müller, 2014/07/25
- Re: [Discuss-gnuradio] Reconfiguring Flowgraphs, xianda, 2014/07/25
- Re: [Discuss-gnuradio] Reconfiguring Flowgraphs, Marcus Müller, 2014/07/25
- Re: [Discuss-gnuradio] Reconfiguring Flowgraphs, xianda, 2014/07/25
- Re: [Discuss-gnuradio] Reconfiguring Flowgraphs,
Marcus Müller <=