#!/usr/bin/env python # # Copyright 2007 University of Notre Dame from gnuradio import gr from gnuradio import usrp import time class my_graph (gr.top_block): def __init__ (self, tx_interp, freq): gr.top_block.__init__ (self, "my_graph") self.sig_src = gr.sig_source_c (1e+6, gr.GR_SIN_WAVE, 1e+3, 100.0) self.usrp_tx = usrp.sink_c (0, tx_interp) subdev_spec = (0,0) # usrp.pick_tx_subdevice (self.usrp_tx) print "subdev_spec is", subdev_spec self.subdev = usrp.selected_subdev (self.usrp_tx, subdev_spec) print "Using TX d'board %s" % (self.subdev.side_and_name(),) self.usrp_tx.set_mux (usrp.determine_tx_mux_value ( self.usrp_tx, subdev_spec)) r = usrp.tune (self.usrp_tx, 0, self.subdev, freq) if r: print "Tuned to", freq, "MHz center frequency" else: print "Error tuning to", freq, "MHz center frequency" self.connect (self.sig_src, self.usrp_tx) self.subdev.set_auto_tr (False) gg = self.subdev.gain_range () try: self.subdev.set_gain (gg[1]) except: pass self.subdev.set_enable (True) def main (): new_interp = 64 init_interp = 64 wait_time = 15 init_freq = 455e+6 tb = my_graph (init_interp, init_freq) try: print "Init Interp rate is", tb.usrp_tx.interp_rate () print "Starting TB" tb.start () print "Sleeping for", wait_time, "seconds" time.sleep (wait_time) tb.usrp_tx.set_interp_rate (new_interp) print "Interp rate is now", tb.usrp_tx.interp_rate () print "Waiting for user to interrupt execution" tb.wait () except KeyboardInterrupt: pass if __name__ == '__main__': main ()