summaryrefslogtreecommitdiff
path: root/gr-digital/examples/narrowband/benchmark_tx.py
diff options
context:
space:
mode:
Diffstat (limited to 'gr-digital/examples/narrowband/benchmark_tx.py')
-rw-r--r--[-rwxr-xr-x]gr-digital/examples/narrowband/benchmark_tx.py38
1 files changed, 21 insertions, 17 deletions
diff --git a/gr-digital/examples/narrowband/benchmark_tx.py b/gr-digital/examples/narrowband/benchmark_tx.py
index 2cb74d5a77..bf38f0bf12 100755..100644
--- a/gr-digital/examples/narrowband/benchmark_tx.py
+++ b/gr-digital/examples/narrowband/benchmark_tx.py
@@ -1,24 +1,28 @@
#!/usr/bin/env python
#
# Copyright 2010,2011,2013 Free Software Foundation, Inc.
-#
+#
# This file is part of GNU Radio
-#
+#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
-#
+#
# GNU Radio is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with GNU Radio; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street,
# Boston, MA 02110-1301, USA.
-#
+#
+
+from __future__ import print_function
+from __future__ import division
+from __future__ import unicode_literals
from gnuradio import gr
from gnuradio import blocks
@@ -35,8 +39,8 @@ from uhd_interface import uhd_transmitter
import time, struct, sys
-#import os
-#print os.getpid()
+#import os
+#print(os.getpid())
#raw_input('Attach and press enter')
class my_top_block(gr.top_block):
@@ -46,7 +50,7 @@ class my_top_block(gr.top_block):
if(options.tx_freq is not None):
# Work-around to get the modulation's bits_per_symbol
args = modulator.extract_kwargs_from_options(options)
- symbol_rate = options.bitrate / modulator(**args).bits_per_symbol()
+ symbol_rate = options.bitrate / modulator(**args.bits_per_symbol())
self.sink = uhd_transmitter(options.args, symbol_rate,
options.samples_per_symbol, options.tx_freq,
@@ -54,7 +58,7 @@ class my_top_block(gr.top_block):
options.spec, options.antenna,
options.clock_source, options.verbose)
options.samples_per_symbol = self.sink._sps
-
+
elif(options.to_file is not None):
sys.stderr.write(("Saving samples to '%s'.\n\n" % (options.to_file)))
self.sink = blocks.file_sink(gr.sizeof_gr_complex, options.to_file)
@@ -82,10 +86,10 @@ def main():
parser = OptionParser(option_class=eng_option, conflict_handler="resolve")
expert_grp = parser.add_option_group("Expert")
- parser.add_option("-m", "--modulation", type="choice", choices=mods.keys(),
+ parser.add_option("-m", "--modulation", type="choice", choices=list(mods.keys()),
default='psk',
help="Select modulation from: %s [default=%%default]"
- % (', '.join(mods.keys()),))
+ % (', '.join(list(mods.keys())),))
parser.add_option("-s", "--size", type="eng_float", default=1500,
help="set packet size [default=%default]")
@@ -101,7 +105,7 @@ def main():
transmit_path.add_options(parser, expert_grp)
uhd_transmitter.add_options(parser)
- for mod in mods.values():
+ for mod in list(mods.values()):
mod.add_options(expert_grp)
(options, args) = parser.parse_args ()
@@ -109,7 +113,7 @@ def main():
if len(args) != 0:
parser.print_help()
sys.exit(1)
-
+
if options.from_file is not None:
source_file = open(options.from_file, 'r')
@@ -118,10 +122,10 @@ def main():
r = gr.enable_realtime_scheduling()
if r != gr.RT_OK:
- print "Warning: failed to enable realtime scheduling"
+ print("Warning: failed to enable realtime scheduling")
tb.start() # start flow graph
-
+
# generate and send packets
nbytes = int(1e6 * options.megabytes)
n = 0
@@ -130,7 +134,7 @@ def main():
while n < nbytes:
if options.from_file is None:
- data = (pkt_size - 2) * chr(pktno & 0xff)
+ data = (pkt_size - 2) * chr(pktno & 0xff)
else:
data = source_file.read(pkt_size - 2)
if data == '':
@@ -143,7 +147,7 @@ def main():
if options.discontinuous and pktno % 5 == 4:
time.sleep(1)
pktno += 1
-
+
send_pkt(eof=True)
tb.wait() # wait for it to finish