commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r5055 - gnuradio/branches/developers/jcorgan/snd/gr-so


From: jcorgan
Subject: [Commit-gnuradio] r5055 - gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python
Date: Fri, 20 Apr 2007 15:05:52 -0600 (MDT)

Author: jcorgan
Date: 2007-04-20 15:05:51 -0600 (Fri, 20 Apr 2007)
New Revision: 5055

Added:
   gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/sounder_rx.py
   gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/sounder_tx.py
Modified:
   
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/usrp_sounder.py
Log:
Work in progress, refactoring.

Added: 
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/sounder_rx.py
===================================================================
--- 
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/sounder_rx.py    
                            (rev 0)
+++ 
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/sounder_rx.py    
    2007-04-20 21:05:51 UTC (rev 5055)
@@ -0,0 +1,18 @@
+from gnuradio import gr, usrp
+
+class sounder_rx:
+    def __init__(self, frequency, mask):
+        self.fg = gr.flow_graph()
+       self.rcvr = usrp.source_s(fpga_filename='usrp_sounder.rbf', 
decim_rate=8)
+        self.subdev_spec = usrp.pick_rx_subdevice(self.rcvr)
+        self.subdev = usrp.selected_subdev(self.rcvr, self.subdev_spec)
+        self.rcvr.tune(0, self.subdev, frequency)
+        self.set_mask(mask);
+       self.sink = gr.file_sink(gr.sizeof_short, "output.dat")
+        self.fg.connect(self.rcvr, self.sink)
+
+    def receive(self):
+       self.fg.run()
+       
+    def set_mask(self, value):
+        return self.rcvr._write_fpga_reg(usrp.FR_USER_0, value);

Added: 
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/sounder_tx.py
===================================================================
--- 
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/sounder_tx.py    
                            (rev 0)
+++ 
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/sounder_tx.py    
    2007-04-20 21:05:51 UTC (rev 5055)
@@ -0,0 +1,23 @@
+from gnuradio import gr, usrp
+
+# Set to 0 for 32 MHz tx clock, 1 for 64 MHz tx clock
+# Must match config.vh in FPGA code
+TX_RATE_MAX = 0
+_tx_freq_divisor = 32e6*(TX_RATE_MAX+1)
+
+class sounder_tx:
+    def __init__(self, frequency, mask):
+       self.trans = usrp.sink_s(fpga_filename='usrp_sounder.rbf')
+        self.subdev_spec = usrp.pick_tx_subdevice(self.trans)
+        self.subdev = usrp.selected_subdev(self.trans, self.subdev_spec)
+        self.trans.tune(0, self.subdev, frequency)
+        self.set_mask(mask);
+        
+    def turn_on(self):
+       self.trans.start()
+       
+    def turn_off(self):
+       self.trans.stop()
+
+    def set_mask(self, value):
+        return self.trans._write_fpga_reg(usrp.FR_USER_0, value);

Modified: 
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/usrp_sounder.py
===================================================================
--- 
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/usrp_sounder.py  
    2007-04-20 21:01:30 UTC (rev 5054)
+++ 
gnuradio/branches/developers/jcorgan/snd/gr-sounder/src/python/usrp_sounder.py  
    2007-04-20 21:05:51 UTC (rev 5055)
@@ -1,44 +1,24 @@
 #!/usr/bin/env python
 
-from gnuradio import gr, usrp
 from gnuradio import eng_notation
 from gnuradio.eng_option import eng_option
 from optparse import OptionParser
-import math
 
-# Set to 0 for 32 MHz tx clock, 1 for 64 MHz tx clock
-# Must match config.vh in FPGA code
-TX_RATE_MAX = 0
-_tx_freq_divisor = 32e6*(TX_RATE_MAX+1)
+from sounder_tx import sounder_tx
+from sounder_rx import sounder_rx
+import time
 
-class sounder_tx:
-    def __init__(self, frequency, mask):
-       self.trans = usrp.sink_s(fpga_filename='usrp_sounder.rbf')
-        self.subdev_spec = usrp.pick_tx_subdevice(self.trans)
-        self.subdev = usrp.selected_subdev(self.trans, self.subdev_spec)
-        self.trans.tune(0, self.subdev, frequency)
-        self.set_mask(mask);
-        
-    def turn_on(self):
-       self.trans.start()
-       
-    def turn_off(self):
-       self.trans.stop()
-
-    def set_mask(self, value):
-        return self.trans._write_fpga_reg(usrp.FR_USER_0, value);
-
-def test_transmit(options):
-    t = sounder_tx(options.frequency, options.mask)
-    t.turn_on()
-    raw_input('Press return to stop transmitter.')
-    t.turn_off()
-
 def main():
     parser = OptionParser(option_class=eng_option)
     parser.add_option("-f", "--frequency", type="eng_float", default=0.0,
                       help="set frequency to FREQ in Hz, default is %default", 
metavar="FREQ")
 
+    parser.add_option("-t", "--transmit", action="store_true", default=False,
+                      help="enable sounding transmitter, default is %default")
+
+    parser.add_option("-r", "--receive", action="store_true", default=False,
+                      help="enable sounding receiver, default is %default")
+
     (options, args) = parser.parse_args()
 
     options.mask = 0x0801;
@@ -47,7 +27,24 @@
         parser.print_help()
         sys.exit(1)
 
-    test_transmit(options)
-    
+    if (options.transmit):
+       print "Enabling sounder transmitter."
+        tx = sounder_tx(options.frequency, options.mask)
+       tx.turn_on()
+       
+    try:
+        if (options.receive):
+           print "Enabling sounder receiver."
+           rx = sounder_rx(options.frequency, options.mask)
+           rx.receive()
+       else:
+           if (options.transmit):
+               while (True): time.sleep(1.0)
+
+    except KeyboardInterrupt:
+       if (options.transmit):
+           tx.turn_off()
+
+       
 if __name__ == "__main__":
     main()





reply via email to

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