summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgnuradio-runtime/examples/mp-sched/synthetic.py39
-rwxr-xr-xgnuradio-runtime/examples/mp-sched/wfm_rcv_pll_to_wav.py36
-rwxr-xr-xgnuradio-runtime/examples/network/audio_sink.py29
-rwxr-xr-xgnuradio-runtime/examples/network/audio_source.py31
-rwxr-xr-xgnuradio-runtime/examples/network/dial_tone_sink.py29
-rwxr-xr-xgnuradio-runtime/examples/network/dial_tone_source.py39
-rwxr-xr-xgnuradio-runtime/examples/network/vector_sink.py26
-rwxr-xr-xgnuradio-runtime/examples/network/vector_source.py23
-rwxr-xr-xgr-analog/examples/tags/uhd_burst_detector.py40
-rwxr-xr-xgr-audio/examples/python/audio_copy.py25
-rwxr-xr-xgr-audio/examples/python/dial_tone.py23
11 files changed, 149 insertions, 191 deletions
diff --git a/gnuradio-runtime/examples/mp-sched/synthetic.py b/gnuradio-runtime/examples/mp-sched/synthetic.py
index d815879cff..16e39734ae 100755
--- a/gnuradio-runtime/examples/mp-sched/synthetic.py
+++ b/gnuradio-runtime/examples/mp-sched/synthetic.py
@@ -21,8 +21,8 @@
from gnuradio import gr, eng_notation
from gnuradio import blocks, filter
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from gnuradio.eng_arg import eng_float, intx
+from argparse import ArgumentParser
import os
@@ -50,38 +50,35 @@ class top(gr.top_block):
gr.top_block.__init__(self)
default_nsamples = 10e6
- parser=OptionParser(option_class=eng_option)
- parser.add_option("-p", "--npipelines", type="intx", default=1,
- metavar="NPIPES", help="the number of pipelines to create (default=%default)")
- parser.add_option("-s", "--nstages", type="intx", default=1,
- metavar="NSTAGES", help="the number of stages in each pipeline (default=%default)")
- parser.add_option("-N", "--nsamples", type="eng_float", default=default_nsamples,
+ parser = ArgumentParser()
+ parser.add_argument("-p", "--npipelines", type=intx, default=1,
+ metavar="NPIPES", help="the number of pipelines to create (default=%(default)s)")
+ parser.add_argument("-s", "--nstages", type=intx, default=1, metavar="NSTAGES",
+ help="the number of stages in each pipeline (default=%(default)s)")
+ parser.add_argument("-N", "--nsamples", type=eng_float, default=default_nsamples,
help=("the number of samples to run through the graph (default=%s)" %
(eng_notation.num_to_str(default_nsamples))))
- parser.add_option("-m", "--machine-readable", action="store_true", default=False,
+ parser.add_argument("-m", "--machine-readable", action="store_true", default=False,
help="enable machine readable output")
- (options, args) = parser.parse_args()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
+ args = parser.parse_args()
- self.npipes = options.npipelines
- self.nstages = options.nstages
- self.nsamples = options.nsamples
- self.machine_readable = options.machine_readable
+ self.npipes = args.npipelines
+ self.nstages = args.nstages
+ self.nsamples = args.nsamples
+ self.machine_readable = args.machine_readable
ntaps = 256
# Something vaguely like floating point ops
- self.flop = 2 * ntaps * options.npipelines * options.nstages * options.nsamples
+ self.flop = 2 * ntaps * args.npipelines * args.nstages * args.nsamples
src = blocks.null_source(gr.sizeof_float)
- head = blocks.head(gr.sizeof_float, int(options.nsamples))
+ head = blocks.head(gr.sizeof_float, int(args.nsamples))
self.connect(src, head)
- for n in range(options.npipelines):
- self.connect(head, pipeline(options.nstages, ntaps))
+ for n in range(args.npipelines):
+ self.connect(head, pipeline(args.nstages, ntaps))
def time_it(tb):
diff --git a/gnuradio-runtime/examples/mp-sched/wfm_rcv_pll_to_wav.py b/gnuradio-runtime/examples/mp-sched/wfm_rcv_pll_to_wav.py
index 1a43dc3a11..bb3296d428 100755
--- a/gnuradio-runtime/examples/mp-sched/wfm_rcv_pll_to_wav.py
+++ b/gnuradio-runtime/examples/mp-sched/wfm_rcv_pll_to_wav.py
@@ -24,8 +24,8 @@ from gnuradio import gr, gru, eng_notation, filter
from gnuradio import audio
from gnuradio import analog
from gnuradio import blocks
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from gnuradio.eng_arg import eng_float, intx
+from argparse import ArgumentParser
import sys
import math
@@ -33,24 +33,20 @@ class wfm_rx_block (gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
- usage = "usage: %prog [options] input-samples-320kS.dat output.wav"
- parser=OptionParser(option_class=eng_option, usage=usage)
- parser.add_option("-V", "--volume", type="eng_float", default=None,
- help="set volume (default is midpoint)")
+ parser = ArgumentParser(description="Decode WFM signal into WAV file.")
+ parser.add_argument("-V", "--volume", type=eng_float,
+ help="Volume (dB) <%r, %r> (default is midpoint)" % \
+ self.volume_range()[:2])
+ parser.add_argument("input_file", help="Input file (complex samples)")
+ parser.add_argument("output_file", help="Output WAV file")
- (options, args) = parser.parse_args()
- if len(args) != 2:
- parser.print_help()
- sys.exit(1)
-
- input_filename = args[0]
- output_filename = args[1]
+ args = parser.parse_args()
self.vol = 0
# build graph
- self.src = blocks.file_source(gr.sizeof_gr_complex, input_filename, False)
+ self.src = blocks.file_source(gr.sizeof_gr_complex, args.input_file, False)
adc_rate = 64e6 # 64 MS/s
usrp_decim = 200
@@ -80,10 +76,10 @@ class wfm_rx_block (gr.top_block):
# wave file as final sink
if 1:
- sink = blocks.wavfile_sink(output_filename, 2, int(audio_rate), 16)
+ sink = blocks.wavfile_sink(args.output_file, 2, int(audio_rate), 16)
else:
sink = audio.sink (int (audio_rate),
- options.audio_output,
+ args.audio_output,
False) # ok_to_block
# now wire it all together
@@ -96,15 +92,15 @@ class wfm_rx_block (gr.top_block):
pass
#print "FYI: This implementation of the stereo_carrier_pll_recovery has no squelch implementation yet"
- if options.volume is None:
+ if args.volume is None:
g = self.volume_range()
- options.volume = float(g[0]+g[1])/2
+ args.volume = float(g[0]+g[1])/2
# set initial values
- self.set_vol(options.volume)
+ self.set_vol(args.volume)
try:
- self.guts.stereo_carrier_pll_recovery.set_lock_threshold(options.squelch)
+ self.guts.stereo_carrier_pll_recovery.set_lock_threshold(args.squelch)
except:
pass
#print "FYI: This implementation of the stereo_carrier_pll_recovery has no squelch implementation yet"
diff --git a/gnuradio-runtime/examples/network/audio_sink.py b/gnuradio-runtime/examples/network/audio_sink.py
index de20abe48d..9b91db5d1e 100755
--- a/gnuradio-runtime/examples/network/audio_sink.py
+++ b/gnuradio-runtime/examples/network/audio_sink.py
@@ -22,8 +22,7 @@
from gnuradio import gr
from gnuradio import blocks
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from argparse import ArgumentParser
import sys
try:
@@ -40,26 +39,22 @@ class audio_sink(gr.top_block):
self.connect(src, dst)
if __name__ == '__main__':
- parser = OptionParser(option_class=eng_option)
- parser.add_option("", "--host", type="string", default="0.0.0.0",
+ parser = ArgumentParser()
+ parser.add_argument("--host", default="0.0.0.0",
help="local host name (domain name or IP address)")
- parser.add_option("", "--port", type="int", default=65500,
+ parser.add_argument("--port", type=int, default=65500,
help="port value to listen to for connection")
- parser.add_option("", "--packet-size", type="int", default=1472,
+ parser.add_argument("--packet-size", type=int, default=1472,
help="packet size.")
- parser.add_option("-r", "--sample-rate", type="int", default=32000,
- help="audio signal sample rate [default=%default]")
- parser.add_option("", "--no-eof", action="store_true", default=False,
+ parser.add_argument("-r", "--sample-rate", type=int, default=32000,
+ help="audio signal sample rate [default=%(default)r]")
+ parser.add_argument("--no-eof", action="store_true", default=False,
help="don't send EOF on disconnect")
- (options, args) = parser.parse_args()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
-
+ args = parser.parse_args()
# Create an instance of a hierarchical block
- top_block = audio_sink(options.host, options.port,
- options.packet_size, options.sample_rate,
- not options.no_eof)
+ top_block = audio_sink(args.host, args.port,
+ args.packet_size, args.sample_rate,
+ not args.no_eof)
try:
# Run forever
diff --git a/gnuradio-runtime/examples/network/audio_source.py b/gnuradio-runtime/examples/network/audio_source.py
index 881efff81a..6a464a8f28 100755
--- a/gnuradio-runtime/examples/network/audio_source.py
+++ b/gnuradio-runtime/examples/network/audio_source.py
@@ -22,8 +22,7 @@
from gnuradio import gr
from gnuradio import blocks
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from argparse import ArgumentParser
import sys
try:
@@ -36,30 +35,26 @@ class audio_source(gr.top_block):
def __init__(self, host, port, pkt_size, sample_rate, eof):
gr.top_block.__init__(self, "audio_source")
self.audio = audio.source(sample_rate)
- self.sink = blocks.udp_sink(gr.sizeof_float, host, port, pkt_size, eof=eof)
+ self.sink = blocks.udp_sink(gr.sizeof_float, host, port, pkt_size, eof=eof)
self.connect(self.audio, self.sink)
if __name__ == '__main__':
- parser = OptionParser(option_class=eng_option)
- parser.add_option("", "--host", type="string", default="127.0.0.1",
+ parser = ArgumentParser()
+ parser.add_argument("--host", default="127.0.0.1",
help="Remote host name (domain name or IP address")
- parser.add_option("", "--port", type="int", default=65500,
+ parser.add_argument("--port", type=int, default=65500,
help="port number to connect to")
- parser.add_option("", "--packet-size", type="int", default=1472,
+ parser.add_argument("--packet-size", type=int, default=1472,
help="packet size.")
- parser.add_option("-r", "--sample-rate", type="int", default=32000 ,
- help="audio signal sample rate [default=%default]")
- parser.add_option("", "--no-eof", action="store_true", default=False,
+ parser.add_argument("-r", "--sample-rate", type=int, default=32000 ,
+ help="audio signal sample rate [default=%(default)r]")
+ parser.add_argument("--no-eof", action="store_true", default=False,
help="don't send EOF on disconnect")
- (options, args) = parser.parse_args()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
-
+ args = parser.parse_args()
# Create an instance of a hierarchical block
- top_block = audio_source(options.host, options.port,
- options.packet_size, options.sample_rate,
- not options.no_eof)
+ top_block = audio_source(args.host, args.port,
+ args.packet_size, args.sample_rate,
+ not args.no_eof)
try:
# Run forever
diff --git a/gnuradio-runtime/examples/network/dial_tone_sink.py b/gnuradio-runtime/examples/network/dial_tone_sink.py
index 7139a13250..4b1db98649 100755
--- a/gnuradio-runtime/examples/network/dial_tone_sink.py
+++ b/gnuradio-runtime/examples/network/dial_tone_sink.py
@@ -22,8 +22,7 @@
from gnuradio import gr, audio
from gnuradio import blocks
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from argparse import ArgumentParser
class dial_tone_sink(gr.top_block):
def __init__(self, host, port, pkt_size, sample_rate, eof):
@@ -33,26 +32,22 @@ class dial_tone_sink(gr.top_block):
self.connect(udp, sink)
if __name__ == '__main__':
- parser = OptionParser(option_class=eng_option)
- parser.add_option("", "--host", type="string", default="0.0.0.0",
+ parser = ArgumentParser()
+ parser.add_argument("--host", default="0.0.0.0",
help="local host name (domain name or IP address)")
- parser.add_option("", "--port", type="int", default=65500,
+ parser.add_argument("--port", type=int, default=65500,
help="port value to listen to for connection")
- parser.add_option("", "--packet-size", type="int", default=1472,
+ parser.add_argument("--packet-size", type=int, default=1472,
help="packet size.")
- parser.add_option("-r", "--sample-rate", type="int", default=8000,
- help="audio signal sample rate [default=%default]")
- parser.add_option("", "--no-eof", action="store_true", default=False,
+ parser.add_argument("-r", "--sample-rate", type=int, default=8000,
+ help="audio signal sample rate [default=%(default)r]")
+ parser.add_argument("--no-eof", action="store_true", default=False,
help="don't send EOF on disconnect")
- (options, args) = parser.parse_args()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
-
+ args = parser.parse_args()
# Create an instance of a hierarchical block
- top_block = dial_tone_sink(options.host, options.port,
- options.packet_size, options.sample_rate,
- not options.no_eof)
+ top_block = dial_tone_sink(args.host, args.port,
+ args.packet_size, args.sample_rate,
+ not args.no_eof)
try:
# Run forever
diff --git a/gnuradio-runtime/examples/network/dial_tone_source.py b/gnuradio-runtime/examples/network/dial_tone_source.py
index 20c9a3b800..ee2bc9529b 100755
--- a/gnuradio-runtime/examples/network/dial_tone_source.py
+++ b/gnuradio-runtime/examples/network/dial_tone_source.py
@@ -21,8 +21,7 @@
#
from gnuradio import gr
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from argparse import ArgumentParser
import sys
try:
@@ -45,33 +44,29 @@ class dial_tone_source(gr.top_block):
add = blocks.add_ff()
# Throttle needed here to account for the other side's audio card sampling rate
- thr = blocks.throttle(gr.sizeof_float, sample_rate)
- sink = blocks.udp_sink(gr.sizeof_float, host, port, pkt_size, eof=eof)
- self.connect(src0, (add, 0))
- self.connect(src1, (add, 1))
- self.connect(add, thr, sink)
+ thr = blocks.throttle(gr.sizeof_float, sample_rate)
+ sink = blocks.udp_sink(gr.sizeof_float, host, port, pkt_size, eof=eof)
+ self.connect(src0, (add, 0))
+ self.connect(src1, (add, 1))
+ self.connect(add, thr, sink)
if __name__ == '__main__':
- parser = OptionParser(option_class=eng_option)
- parser.add_option("", "--host", type="string", default="127.0.0.1",
+ parser = ArgumentParser()
+ parser.add_argument("--host", default="127.0.0.1",
help="Remote host name (domain name or IP address")
- parser.add_option("", "--port", type="int", default=65500,
+ parser.add_argument("--port", type=int, default=65500,
help="port number to connect to")
- parser.add_option("", "--packet-size", type="int", default=1472,
+ parser.add_argument("--packet-size", type=int, default=1472,
help="packet size.")
- parser.add_option("-r", "--sample-rate", type="int", default=8000,
- help="audio signal sample rate [default=%default]")
- parser.add_option("", "--no-eof", action="store_true", default=False,
+ parser.add_argument("-r", "--sample-rate", type=int, default=8000,
+ help="audio signal sample rate [default=%(default)r]")
+ parser.add_argument("--no-eof", action="store_true", default=False,
help="don't send EOF on disconnect")
- (options, args) = parser.parse_args()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
-
+ args = parser.parse_args()
# Create an instance of a hierarchical block
- top_block = dial_tone_source(options.host, options.port,
- options.packet_size, options.sample_rate,
- not options.no_eof)
+ top_block = dial_tone_source(args.host, args.port,
+ args.packet_size, args.sample_rate,
+ not args.no_eof)
try:
# Run forever
diff --git a/gnuradio-runtime/examples/network/vector_sink.py b/gnuradio-runtime/examples/network/vector_sink.py
index c756f36f42..362f631380 100755
--- a/gnuradio-runtime/examples/network/vector_sink.py
+++ b/gnuradio-runtime/examples/network/vector_sink.py
@@ -22,8 +22,8 @@
from gnuradio import gr
from gnuradio import blocks
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from gnuradio.eng_arg import eng_float, intx
+from argparse import ArgumentParser
class vector_sink(gr.top_block):
def __init__(self, host, port, pkt_size, eof):
@@ -34,24 +34,20 @@ class vector_sink(gr.top_block):
self.connect(udp, sink)
if __name__ == "__main__":
- parser = OptionParser(option_class=eng_option)
- parser.add_option("", "--host", type="string", default="0.0.0.0",
+ parser = ArgumentParser()
+ parser.add_argument("-H", "--host", default="0.0.0.0",
help="local host name (domain name or IP address)")
- parser.add_option("", "--port", type="int", default=65500,
+ parser.add_argument("-p", "--port", type=int, default=65500,
help="port value to listen to for connection")
- parser.add_option("", "--packet-size", type="int", default=1471,
+ parser.add_argument("-s", "--packet-size", type=int, default=1471,
help="packet size.")
- parser.add_option("", "--no-eof", action="store_true", default=False,
+ parser.add_argument("--no-eof", action="store_true", default=False,
help="don't send EOF on disconnect")
- (options, args) = parser.parse_args()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
-
+ args = parser.parse_args()
# Create an instance of a hierarchical block
- top_block = vector_sink(options.host, options.port,
- options.packet_size,
- not options.no_eof)
+ top_block = vector_sink(args.host, args.port,
+ args.packet_size,
+ not args.no_eof)
try:
# Run forever
diff --git a/gnuradio-runtime/examples/network/vector_source.py b/gnuradio-runtime/examples/network/vector_source.py
index c13b4b1d6f..be40134bc0 100755
--- a/gnuradio-runtime/examples/network/vector_source.py
+++ b/gnuradio-runtime/examples/network/vector_source.py
@@ -22,8 +22,7 @@
from gnuradio import gr
from gnuradio import blocks
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from argparse import ArgumentParser
class vector_source(gr.top_block):
def __init__(self, host, port, pkt_size, eof):
@@ -34,23 +33,19 @@ class vector_source(gr.top_block):
self.connect(vec, udp)
if __name__ == '__main__':
- parser = OptionParser(option_class=eng_option)
- parser.add_option("", "--host", type="string", default="127.0.0.1",
+ parser = ArgumentParser()
+ parser.add_argument("--host", default="127.0.0.1",
help="Remote host name (domain name or IP address")
- parser.add_option("", "--port", type="int", default=65500,
+ parser.add_argument("--port", type=int, default=65500,
help="port number to connect to")
- parser.add_option("", "--packet-size", type="int", default=1471,
+ parser.add_argument("--packet-size", type=int, default=1471,
help="packet size.")
- parser.add_option("", "--no-eof", action="store_true", default=False,
+ parser.add_argument("--no-eof", action="store_true", default=False,
help="don't send EOF on disconnect")
- (options, args) = parser.parse_args()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
-
+ args = parser.parse_args()
# Create an instance of a hierarchical block
- top_block = vector_source(options.host, options.port, options.packet_size,
- not options.no_eof)
+ top_block = vector_source(args.host, args.port, args.packet_size,
+ not args.no_eof)
try:
# Run forever
diff --git a/gr-analog/examples/tags/uhd_burst_detector.py b/gr-analog/examples/tags/uhd_burst_detector.py
index b1bb15b974..5aa80b2549 100755
--- a/gr-analog/examples/tags/uhd_burst_detector.py
+++ b/gr-analog/examples/tags/uhd_burst_detector.py
@@ -25,9 +25,9 @@ from gnuradio import gr
from gnuradio import filter, analog, blocks
from gnuradio import uhd
from gnuradio.fft import window
-from gnuradio.eng_option import eng_option
+from gnuradio.eng_arg import eng_float
from gnuradio.filter import firdes
-from optparse import OptionParser
+from argparse import ArgumentParser
class uhd_burst_detector(gr.top_block):
def __init__(self, uhd_address, options):
@@ -94,24 +94,24 @@ class uhd_burst_detector(gr.top_block):
self.uhd_src_0.set_samp_rate(self.samp_rate)
if __name__ == '__main__':
- parser = OptionParser(option_class=eng_option, usage="%prog: [options]")
- parser.add_option("-a", "--address", type="string", default="addr=192.168.10.2",
- help="select address of the device [default=%default]")
- #parser.add_option("-A", "--antenna", default=None,
+ parser = ArgumentParser()
+ parser.add_argument("-a", "--address", default="addr=192.168.10.2",
+ help="select address of the device [default=%(default)r]")
+ #parser.add_argument("-A", "--antenna", default=None,
# help="select Rx Antenna (only on RFX-series boards)")
- parser.add_option("-f", "--freq", type="eng_float", default=450e6,
+ parser.add_argument("-f", "--freq", type=eng_float, default=450e6,
help="set frequency to FREQ", metavar="FREQ")
- parser.add_option("-g", "--gain", type="eng_float", default=0,
- help="set gain in dB [default=%default]")
- parser.add_option("-R", "--samp-rate", type="eng_float", default=200000,
- help="set USRP sample rate [default=%default]")
- parser.add_option("-t", "--threshold", type="float", default=-60,
- help="Set the detection power threshold (dBm) [default=%default")
- parser.add_option("-T", "--trigger", action="store_true", default=False,
- help="Use internal trigger instead of detector [default=%default]")
- (options, args) = parser.parse_args()
-
- uhd_addr = options.address
-
- tb = uhd_burst_detector(uhd_addr, options)
+ parser.add_argument("-g", "--gain", type=eng_float, default=0,
+ help="set gain in dB [default=%(default)r]")
+ parser.add_argument("-R", "--samp-rate", type=eng_float, default=200000,
+ help="set USRP sample rate [default=%(default)r]")
+ parser.add_argument("-t", "--threshold", type=float, default=-60,
+ help="Set the detection power threshold (dBm) [default=%(default)r")
+ parser.add_argument("-T", "--trigger", action="store_true", default=False,
+ help="Use internal trigger instead of detector [default=%(default)r]")
+ args = parser.parse_args()
+
+ uhd_addr = args.address
+
+ tb = uhd_burst_detector(uhd_addr, args)
tb.run()
diff --git a/gr-audio/examples/python/audio_copy.py b/gr-audio/examples/python/audio_copy.py
index 946aae1c2a..b68e949497 100755
--- a/gr-audio/examples/python/audio_copy.py
+++ b/gr-audio/examples/python/audio_copy.py
@@ -22,29 +22,26 @@
from gnuradio import gr
from gnuradio import audio
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from gnuradio.eng_arg import eng_float
+from argparse import ArgumentParser
class my_top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
- parser = OptionParser(option_class=eng_option)
- parser.add_option("-I", "--audio-input", type="string", default="",
+ parser = ArgumentParser()
+ parser.add_argument("-I", "--audio-input", default="",
help="pcm input device name. E.g., hw:0,0 or /dev/dsp")
- parser.add_option("-O", "--audio-output", type="string", default="",
+ parser.add_argument("-O", "--audio-output", default="",
help="pcm output device name. E.g., hw:0,0 or /dev/dsp")
- parser.add_option("-r", "--sample-rate", type="eng_float", default=48000,
- help="set sample rate to RATE (48000)")
- (options, args) = parser.parse_args ()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
+ parser.add_argument("-r", "--sample-rate", type=eng_float, default=48000,
+ help="set sample rate, default=%(default)s")
+ args = parser.parse_args ()
- sample_rate = int(options.sample_rate)
- src = audio.source (sample_rate, options.audio_input)
- dst = audio.sink (sample_rate, options.audio_output)
+ sample_rate = int(args.sample_rate)
+ src = audio.source (sample_rate, args.audio_input)
+ dst = audio.sink (sample_rate, args.audio_output)
# Determine the maximum number of outputs on the source and
# maximum number of inputs on the sink, then connect together
diff --git a/gr-audio/examples/python/dial_tone.py b/gr-audio/examples/python/dial_tone.py
index c55d0d38dd..ebef8c01cb 100755
--- a/gr-audio/examples/python/dial_tone.py
+++ b/gr-audio/examples/python/dial_tone.py
@@ -22,8 +22,8 @@
from gnuradio import gr
from gnuradio import audio
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
+from gnuradio.eng_arg import eng_float
+from argparse import ArgumentParser
try:
from gnuradio import analog
@@ -36,22 +36,19 @@ class my_top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
- parser = OptionParser(option_class=eng_option)
- parser.add_option("-O", "--audio-output", type="string", default="",
+ parser = ArgumentParser()
+ parser.add_argument("-O", "--audio-output", default="",
help="pcm output device name. E.g., hw:0,0 or /dev/dsp")
- parser.add_option("-r", "--sample-rate", type="eng_float", default=48000,
- help="set sample rate to RATE (48000)")
- (options, args) = parser.parse_args()
- if len(args) != 0:
- parser.print_help()
- raise SystemExit, 1
-
- sample_rate = int(options.sample_rate)
+ parser.add_argument("-r", "--sample-rate", type=eng_float, default=48000,
+ help="set sample rate, default=%(default)s")
+ args = parser.parse_args()
+
+ sample_rate = int(args.sample_rate)
ampl = 0.1
src0 = analog.sig_source_f(sample_rate, analog.GR_SIN_WAVE, 350, ampl)
src1 = analog.sig_source_f(sample_rate, analog.GR_SIN_WAVE, 440, ampl)
- dst = audio.sink(sample_rate, options.audio_output)
+ dst = audio.sink(sample_rate, args.audio_output)
self.connect(src0, (dst, 0))
self.connect(src1, (dst, 1))