discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] stop() the flow graph


From: Syed Aqeel Raza
Subject: Re: [Discuss-gnuradio] stop() the flow graph
Date: Sat, 15 Nov 2014 15:56:43 +0800

Hi,
 
Currently, I am using a single usrp as a transmitter. The program is changing the transmission frequency with respect to (external) switching time. In order to change the frequency in usrp box; I set the following programming conditions.
 
while 1:
    if ((time!=0) and ((ch1=1) or (ch2==1))):
          tb1.start()
          time = int(time) - int(1)
          sleep(external time which provide the active channel time of channel 1 and channel 2)
   elif (time==0):
          tb1.stop()
 
But (I think) due to this frequent start() and stop() activities; after maximum of 15 minutes time I have received the following error.
 
/Traceback (most recent call last):
File "source_test.py", line 121, in <module>
tb1 = gmsk_tx()
File "source_test.py", line 88, in __init__
self.blocks_udp_source_0 = blocks.udp_source(gr.sizeof_char*1, "127.0.0.1", 1234, 1472, True)
File "/usr/local/lib/python2.7/dist-packages/gnuradio/blocks/blocks_swig5.py",
line 1969, in make
return _blocks_swig5.udp_source_make(*args, **kwargs)
RuntimeError: boost::thread_resource_error: Resource temporarily unavailable
 
I want the program to be run continuously. Kindly propose some solution.
 
Regards,
Syed Aqeel Raza

On Thu, Nov 13, 2014 at 6:32 PM, Syed Aqeel Raza <address@hidden> wrote:
I can't use sleep() here; because there're other threads as well in the program which need to be executed as well. Sleep() stop the execution of program; which is not a solution. Thanks.

On Thu, Nov 13, 2014 at 5:53 PM, Syed Aqeel Raza <address@hidden> wrote:
Thanks Sylvain for your reply; but if I introduced sleep(14) then during that time it won't perform the tasks in tb1 as well.

On Thu, Nov 13, 2014 at 3:28 PM, Syed Aqeel Raza <address@hidden> wrote:
Hi All,
 
I am looking for a solution that start() the flow graph for a definite period of time (in seconds) and after that it stop() it automatically. For example
 
# let suppose initial value of time is 14 seconds; it means that the flowgraph defined in tb1 should need to executed during that time; and when the time reaches zero it must be stop.
 
while 1:
    if (time!=0):                     
          tb1.run()
          time = int(time) - int(1)
    elif (time==0):
          tb1.stop()
 
 
I tried this; but once the flow graph started; then it never comes to the elif condition. How can I stop() the flowgraph in this condition. Waiting for reply.
 
Regards,
 
 
          




reply via email to

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