commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r3656 - gnuradio/branches/developers/eb/digital-wip/gn


From: eb
Subject: [Commit-gnuradio] r3656 - gnuradio/branches/developers/eb/digital-wip/gnuradio-examples/python/gmsk2
Date: Tue, 26 Sep 2006 20:54:32 -0600 (MDT)

Author: eb
Date: 2006-09-26 20:54:32 -0600 (Tue, 26 Sep 2006)
New Revision: 3656

Modified:
   
gnuradio/branches/developers/eb/digital-wip/gnuradio-examples/python/gmsk2/tx_voice.py
Log:
Changed default bitrate to 50k, added --audio-input arg, split audio
processing into its own hier_block.


Modified: 
gnuradio/branches/developers/eb/digital-wip/gnuradio-examples/python/gmsk2/tx_voice.py
===================================================================
--- 
gnuradio/branches/developers/eb/digital-wip/gnuradio-examples/python/gmsk2/tx_voice.py
      2006-09-27 02:53:26 UTC (rev 3655)
+++ 
gnuradio/branches/developers/eb/digital-wip/gnuradio-examples/python/gmsk2/tx_voice.py
      2006-09-27 02:54:32 UTC (rev 3656)
@@ -43,24 +43,31 @@
 #raw_input('Attach and press enter')
 
 
-class my_graph(gr.flow_graph):
-
-    def __init__(self, modulator_class, options):
-        gr.flow_graph.__init__(self)
-        self.txpath = transmit_path(self, modulator_class, options)
-
-        audio_input = ""
+class audio_rx(gr.hier_block):
+    def __init__(self, fg, audio_input_dev):
         sample_rate = 8000
-        src = audio.source(sample_rate, audio_input)
+        src = audio.source(sample_rate, audio_input_dev)
         src_scale = gr.multiply_const_ff(32767)
         f2s = gr.float_to_short()
         voice_coder = gsm_full_rate.encode_sp()
         self.packets_from_encoder = gr.msg_queue()
         packet_sink = gr.message_sink(33, self.packets_from_encoder, False)
-        self.connect(src, src_scale, f2s, voice_coder, packet_sink)
+        fg.connect(src, src_scale, f2s, voice_coder, packet_sink)
+        gr.hier_block.__init__(self, fg, src, packet_sink)
 
+    def get_encoded_voice_packet(self):
+        return self.packets_from_encoder.delete_head()
+        
 
+class my_graph(gr.flow_graph):
 
+    def __init__(self, modulator_class, options):
+        gr.flow_graph.__init__(self)
+        self.txpath = transmit_path(self, modulator_class, options)
+        self.audio_rx = audio_rx(self, options.audio_input)
+
+
+
 # /////////////////////////////////////////////////////////////////////////////
 #                                   main
 # /////////////////////////////////////////////////////////////////////////////
@@ -82,9 +89,10 @@
                       default='gmsk',
                       help="Select modulation from: %s [default=%%default]"
                             % (', '.join(mods.keys()),))
-
     parser.add_option("-M", "--megabytes", type="eng_float", default=0,
                       help="set megabytes to transmit [default=inf]")
+    parser.add_option("-I", "--audio-input", type="string", default="",
+                      help="pcm input device name.  E.g., hw:0,0 or /dev/dsp")
 
     transmit_path.add_options(parser, expert_grp)
 
@@ -92,6 +100,8 @@
         mod.add_options(expert_grp)
 
     fusb_options.add_options(expert_grp)
+
+    parser.set_defaults(bitrate=50e3)  # override default bitrate default
     (options, args) = parser.parse_args ()
 
     if len(args) != 0:
@@ -120,7 +130,7 @@
     pktno = 0
 
     while nbytes == 0 or n < nbytes:
-        packet = fg.packets_from_encoder.delete_head()
+        packet = fg.audio_rx.get_encoded_voice_packet()
         s = packet.to_string()
         send_pkt(s)
         n += len(s)





reply via email to

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