discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Top block trash not cleaning up where it used to.


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] Top block trash not cleaning up where it used to. File sink not writing in some instances.
Date: Sat, 04 Jan 2014 12:47:47 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0

Hi Miguel,
On 01/03/2014 11:01 PM, Miguel Duarte wrote:
The proposed solution was using detector1.wait() and detector1 = None after 
stopping the flowgraph.
If I remember correctly, I proposed this to kindly suggest that python *really* 
garbage collects things, call swig __del__ methods, calling C++ destructors, 
flushing files in turn.
Glad to hear that solved the "things not being written to files" problem, if I 
understand correctly.

However, I've run into some troubles. Everytime I instance the class the USRP is 
"started" again, eventually throwing this error:
Ok, the restarting is by design: You deconstruct the uhd_source every time, so 
of course the USRP is reinitialized each time after.

UHD Warning:
    The control endpoint was left in a bad state.
    Attempting endpoint re-enumeration...

Hm this is a warning only, I guess if you don't see an error afterwards, 
re-enumeration was successful and everything should work as expected.
And in most experiments the file sink doesn't write anything into the file 
(even though it writes the file itself, so I believe the file pointer isn't the 
problem). I never had this problem before and I didn't change anything in the 
python source code itself.
So the file writing problem persists? Can you verify that data actually reaches 
the file sink? Please really do the wait() call, it makes sure that the 
remaining samples actually reach the sinks.

Could it be anything in the top block itself that is causing the problem, or is 
there something I'm doing wrong?
Well, aside from not calling wait() I don't think you're doing anything 
/wrong/, but it might be a better design choice not to reinstantiate the whole 
top_block each time but to reuse your uhd_source, pause it, pause the 
flowgraph, close the file_sink, open the next file, reconfigure the flowgraph, 
and continue it.

Thanks in advance.
Hope this one actually helps,
Marcus



reply via email to

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