diff options
author | Josh Blum <josh@joshknows.com> | 2009-10-29 14:28:56 -0700 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2009-10-29 14:28:56 -0700 |
commit | a0ffbc6d5c39bf605cf6e9f3c09de9f95ee6c6e6 (patch) | |
tree | 10994d369bb9e38dc8e06c0255585f96057daf8a | |
parent | c6fe89eb039b13afb65a09980837063cdd61c810 (diff) |
fixed issue where usrp siggen continued to transmit after program exit
-rw-r--r-- | gnuradio-core/src/python/gnuradio/blks2impl/generic_usrp.py | 9 | ||||
-rwxr-xr-x | gr-utils/src/python/usrp_siggen.py | 10 | ||||
-rwxr-xr-x | gr-utils/src/python/usrp_siggen_gui.py | 9 |
3 files changed, 17 insertions, 11 deletions
diff --git a/gnuradio-core/src/python/gnuradio/blks2impl/generic_usrp.py b/gnuradio-core/src/python/gnuradio/blks2impl/generic_usrp.py index 6daa4e7a2a..82d1eca13a 100644 --- a/gnuradio-core/src/python/gnuradio/blks2impl/generic_usrp.py +++ b/gnuradio-core/src/python/gnuradio/blks2impl/generic_usrp.py @@ -121,15 +121,6 @@ class _generic_usrp_base(object): def set_auto_tr(self, enable): if self._type == USRP1_TYPE: return self._subdev.set_auto_tr(enable) - def __del__(self): - #delete usrp1 specific subdev - if self._type == USRP1_TYPE: - del self._subdev - self._subdev = None - #delete the usrp device - del self._u - self._u = None - ######################################################################## # generic usrp source ######################################################################## diff --git a/gr-utils/src/python/usrp_siggen.py b/gr-utils/src/python/usrp_siggen.py index 69925fd0ef..da83da770d 100755 --- a/gr-utils/src/python/usrp_siggen.py +++ b/gr-utils/src/python/usrp_siggen.py @@ -305,7 +305,7 @@ def get_options(): return (options, args) # If this script is executed, the following runs. If it is imported, the below does not run. -if __name__ == "__main__": +def main(): if gr.enable_realtime_scheduling() != gr.RT_OK: print "Note: failed to enable realtime scheduling, continuing" @@ -321,3 +321,11 @@ if __name__ == "__main__": tb.start() raw_input('Press Enter to quit: ') tb.stop() + tb.wait() + +# Make sure to create the top block (tb) within a function: +# That code in main will allow tb to go out of scope on return, +# which will call the decontructor on usrp and stop transmit. +# Whats odd is that grc works fine with tb in the __main__, +# perhaps its because the try/except clauses around tb. +if __name__ == "__main__": main() diff --git a/gr-utils/src/python/usrp_siggen_gui.py b/gr-utils/src/python/usrp_siggen_gui.py index 40848fbeee..47d47bdb3d 100755 --- a/gr-utils/src/python/usrp_siggen_gui.py +++ b/gr-utils/src/python/usrp_siggen_gui.py @@ -284,7 +284,7 @@ class app_gui(pubsub): self.vbox.AddSpacer(5) self.vbox.AddStretchSpacer() -if __name__ == "__main__": +def main(): try: # Get command line parameters (options, args) = usrp_siggen.get_options() @@ -308,3 +308,10 @@ if __name__ == "__main__": except RuntimeError, e: print e sys.exit(1) + +# Make sure to create the top block (tb) within a function: +# That code in main will allow tb to go out of scope on return, +# which will call the decontructor on usrp and stop transmit. +# Whats odd is that grc works fine with tb in the __main__, +# perhaps its because the try/except clauses around tb. +if __name__ == "__main__": main() |