discuss-gnuradio
[Top][All Lists]
Advanced

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

[Discuss-gnuradio] Trouble on top block lock/disconnect/connect/unlock w


From: ILKYOUNG KWOUN
Subject: [Discuss-gnuradio] Trouble on top block lock/disconnect/connect/unlock with usrp2
Date: Sun, 3 Jan 2010 02:41:35 +0900

Happy New Year! folks,

I need to dynamically change software filter coefficient according to user command while the program is running.
So, I made a test program similar to the following.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class my_top_block(gr.top_block):
    Bla bla bla ~~~
    usrp2 initialization and flow graph generation
    Bla bla bla ~~~

    self.connect(self.u, self.s2v, self.fft, self.c2mag, self.stats)

def Main(tb):
    Bla bla bla ~~~
    Various preparations
    Bla bla bla ~~~

    while(1):
        check_uesr_command()

        tb.lock()
        print "Tob block locked"
        tb.disconnect(tb.u, tb.s2v, tb.fft, tb.c2mag, tb.stats)
        print "Tob block disconnected"
        tb.connect(tb.u, tb.s2v, tb.fft, tb.c2mag, tb.stats)
        print "Tob block re-connected"
        tb.unlock()
        print "Tob block unlocked"

        Bla bla bla ~~~

if __name__ == '__main__':
    tb = my_top_block()

    try:
        tb.start()           
        main_loop(tb)

    except KeyboardInterrupt:
        pass
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

While it is running, the program hangs after the following messages

++++++++++++++++++++++++++
Tob block locked
Tob block disconnected
Tob block re-connected
Tob block unlocked
usrp2: channel 0 not receiving
usrp2::rx_samples() failed
++++++++++++++++++++++++++

The program hangs at the point that it is waiting for the message queue to be filled. My guess is that the usrp2 stops sending samples to host after the lock/disconnect/connect/unlock procedure.
Without the lock/disconnect/connect/unlock procedure, it works pretty well for quite a long time like several days.
I don't know what I did wrong.

Any hints or advice?

Regards,

ILKYOUNG

reply via email to

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