summaryrefslogtreecommitdiff
path: root/gr-digital/examples/narrowband/benchmark_tx.py
diff options
context:
space:
mode:
authorMarcus Müller <marcus@hostalia.de>2018-08-17 21:07:30 +0200
committerMarcus Müller <marcus@hostalia.de>2018-08-27 18:58:56 +0200
commite40ce6d080c6277450bcabde8ca488e7551d7321 (patch)
tree6e917adf6471c5aa8a1587e9a0866eecd555362e /gr-digital/examples/narrowband/benchmark_tx.py
parent7985034ed4dc98ab5fe7366695f5abec75545914 (diff)
Remove all examples depending on and references to message_s{ource,ink}
Fixes #1024. Note that this only removes non-functional code which should have been removed when message_s{ink,ource} were removed. This also means that we'll need new narrowband examples (#1958).
Diffstat (limited to 'gr-digital/examples/narrowband/benchmark_tx.py')
-rw-r--r--gr-digital/examples/narrowband/benchmark_tx.py162
1 files changed, 0 insertions, 162 deletions
diff --git a/gr-digital/examples/narrowband/benchmark_tx.py b/gr-digital/examples/narrowband/benchmark_tx.py
deleted file mode 100644
index 71b39b9cf7..0000000000
--- a/gr-digital/examples/narrowband/benchmark_tx.py
+++ /dev/null
@@ -1,162 +0,0 @@
-#!/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
-from gnuradio import eng_notation
-from gnuradio.eng_option import eng_option
-from optparse import OptionParser
-
-# From gr-digital
-from gnuradio import digital
-
-# from current dir
-from transmit_path import transmit_path
-from uhd_interface import uhd_transmitter
-
-import time, struct, sys
-
-#import os
-#print(os.getpid())
-#raw_input('Attach and press enter')
-
-class my_top_block(gr.top_block):
- def __init__(self, modulator, options):
- gr.top_block.__init__(self)
-
- 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())
-
- self.sink = uhd_transmitter(options.args, symbol_rate,
- options.samples_per_symbol, options.tx_freq,
- options.lo_offset, options.tx_gain,
- 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)
- else:
- sys.stderr.write("No sink defined, dumping samples to null sink.\n\n")
- self.sink = blocks.null_sink(gr.sizeof_gr_complex)
-
- # do this after for any adjustments to the options that may
- # occur in the sinks (specifically the UHD sink)
- self.txpath = transmit_path(modulator, options)
-
- self.connect(self.txpath, self.sink)
-
-# /////////////////////////////////////////////////////////////////////////////
-# main
-# /////////////////////////////////////////////////////////////////////////////
-
-def main():
-
- def send_pkt(payload='', eof=False):
- return tb.txpath.send_pkt(payload, eof)
-
- mods = digital.modulation_utils.type_1_mods()
-
- parser = OptionParser(option_class=eng_option, conflict_handler="resolve")
- expert_grp = parser.add_option_group("Expert")
-
- parser.add_option("-m", "--modulation", type="choice", choices=list(mods.keys()),
- default='psk',
- help="Select modulation from: %s [default=%%default]"
- % (', '.join(list(mods.keys())),))
-
- parser.add_option("-s", "--size", type="eng_float", default=1500,
- help="set packet size [default=%default]")
- parser.add_option("-M", "--megabytes", type="eng_float", default=1.0,
- help="set megabytes to transmit [default=%default]")
- parser.add_option("","--discontinuous", action="store_true", default=False,
- help="enable discontinuous transmission (bursts of 5 packets)")
- parser.add_option("","--from-file", default=None,
- help="use intput file for packet contents")
- parser.add_option("","--to-file", default=None,
- help="Output file for modulated samples")
-
- transmit_path.add_options(parser, expert_grp)
- uhd_transmitter.add_options(parser)
-
- for mod in list(mods.values()):
- mod.add_options(expert_grp)
-
- (options, args) = parser.parse_args ()
-
- if len(args) != 0:
- parser.print_help()
- sys.exit(1)
-
- if options.from_file is not None:
- source_file = open(options.from_file, 'r')
-
- # build the graph
- tb = my_top_block(mods[options.modulation], options)
-
- r = gr.enable_realtime_scheduling()
- if r != gr.RT_OK:
- print("Warning: failed to enable realtime scheduling")
-
- tb.start() # start flow graph
-
- # generate and send packets
- nbytes = int(1e6 * options.megabytes)
- n = 0
- pktno = 0
- pkt_size = int(options.size)
-
- while n < nbytes:
- if options.from_file is None:
- data = (pkt_size - 2) * chr(pktno & 0xff)
- else:
- data = source_file.read(pkt_size - 2)
- if data == '':
- break;
-
- payload = struct.pack('!H', pktno & 0xffff) + data
- send_pkt(payload)
- n += len(payload)
- sys.stderr.write('.')
- if options.discontinuous and pktno % 5 == 4:
- time.sleep(1)
- pktno += 1
-
- send_pkt(eof=True)
-
- tb.wait() # wait for it to finish
-
-if __name__ == '__main__':
- try:
- print ("Warning: this example in its current shape is deprecated and
- will be removed or fundamentally reworked in a coming GNU Radio
- release.")
- main()
- except KeyboardInterrupt:
- pass