[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] [gnuradio] 01/01: Merge branch 'next' into python3
From: |
git |
Subject: |
[Commit-gnuradio] [gnuradio] 01/01: Merge branch 'next' into python3 |
Date: |
Fri, 17 Mar 2017 05:38:09 +0000 (UTC) |
This is an automated email from the git hooks/post-receive script.
jcorgan pushed a commit to branch python3
in repository gnuradio.
commit ffa0822abf7a30f9b44b3fb046cb6d723c4d8c37
Merge: 00e775f b675ccc
Author: Johnathan Corgan <address@hidden>
Date: Thu Mar 16 22:27:04 2017 -0700
Merge branch 'next' into python3
Conflicts:
gr-blocks/swig/blocks_swig.py.in
gr-uhd/apps/uhd_app.py
CMakeLists.txt | 6 +-
cmake/Modules/FindSWIG.cmake | 4 +-
cmake/Modules/UseSWIG.cmake | 4 +-
docs/doxygen/Doxyfile.in | 3 +-
docs/doxygen/other/LICENSE.html | 490 +++++++++++++++++++++
docs/doxygen/other/build_guide.dox | 9 +
docs/doxygen/other/components.dox | 9 +
docs/doxygen/other/ctrlport.dox | 9 +
docs/doxygen/other/group_defs.dox | 9 +
docs/doxygen/other/license.dox | 15 +
docs/doxygen/other/logger.dox | 9 +
docs/doxygen/other/main_page.dox | 22 +-
docs/doxygen/other/metadata.dox | 9 +
docs/doxygen/other/msg_passing.dox | 9 +
docs/doxygen/other/ofdm.dox | 9 +
docs/doxygen/other/oot_config.dox | 9 +
docs/doxygen/other/operating_fg.dox | 9 +
docs/doxygen/other/packet_txrx.dox | 9 +
docs/doxygen/other/perf_counters.dox | 9 +
docs/doxygen/other/pfb_intro.dox | 9 +
docs/doxygen/other/pmt.dox | 9 +
docs/doxygen/other/prefs.dox | 9 +
docs/doxygen/other/python_blocks.dox | 11 +-
docs/doxygen/other/stream_tags.dox | 9 +
docs/doxygen/other/tagged_stream_blocks.dox | 9 +
docs/doxygen/other/thread_affinity.dox | 9 +
docs/doxygen/other/usage.dox | 9 +
docs/doxygen/other/volk_guide.dox | 9 +
gnuradio-runtime/CMakeLists.txt | 10 -
gnuradio-runtime/lib/controlport/CMakeLists.txt | 28 +-
.../python/gnuradio/ctrlport/CMakeLists.txt | 34 +-
gr-blocks/swig/CMakeLists.txt | 5 +
gr-blocks/swig/blocks_swig.py.in | 5 +
gr-blocks/swig/blocks_swig0.i | 1 +
gr-blocks/swig/blocks_swig1.i | 46 +-
gr-blocks/swig/blocks_swig10.i | 90 ++++
gr-blocks/swig/blocks_swig2.i | 75 ----
gr-blocks/swig/blocks_swig3.i | 81 ----
gr-blocks/swig/blocks_swig4.i | 36 --
gr-blocks/swig/blocks_swig5.i | 72 +--
gr-blocks/swig/{blocks_swig5.i => blocks_swig6.i} | 61 +--
gr-blocks/swig/{blocks_swig1.i => blocks_swig7.i} | 83 +---
gr-blocks/swig/blocks_swig8.i | 93 ++++
gr-blocks/swig/blocks_swig9.i | 93 ++++
gr-dtv/lib/dvbt2/dvbt2_modulator_bc_impl.cc | 357 +--------------
gr-fec/include/gnuradio/fec/polar_decoder_common.h | 6 +-
gr-uhd/apps/uhd_app.py | 74 ++--
gr-uhd/apps/uhd_fft | 5 +-
gr-uhd/lib/usrp_source_impl.cc | 10 +-
gr-uhd/lib/usrp_source_impl.h | 1 -
.../modtool/gr-newmod/cmake/Modules/UseSWIG.cmake | 4 +-
grc/gui/Actions.py | 10 +
grc/gui/Application.py | 27 ++
grc/gui/Bars.py | 2 +
volk | 2 +-
55 files changed, 1175 insertions(+), 871 deletions(-)
diff --cc gr-blocks/swig/blocks_swig.py.in
index 387f0a5,7682f17..71ab4da
--- a/gr-blocks/swig/blocks_swig.py.in
+++ b/gr-blocks/swig/blocks_swig.py.in
@@@ -19,11 -19,14 +19,16 @@@
# Boston, MA 02110-1301, USA.
#
-from blocks_swig0 import *
-from blocks_swig1 import *
-from blocks_swig2 import *
-from blocks_swig3 import *
-from blocks_swig4 import *
-from blocks_swig5 import *
-from blocks_swig6 import *
-from blocks_swig7 import *
-from blocks_swig8 import *
-from blocks_swig9 import *
-from blocks_swig10 import *
+from __future__ import absolute_import
+
+from .blocks_swig0 import *
+from .blocks_swig1 import *
+from .blocks_swig2 import *
+from .blocks_swig3 import *
+from .blocks_swig4 import *
+from .blocks_swig5 import *
++from .blocks_swig6 import *
++from .blocks_swig7 import *
++from .blocks_swig8 import *
++from .blocks_swig9 import *
++from .blocks_swig10 import *
diff --cc gr-uhd/apps/uhd_app.py
index 8939193,f4b6da6..1a22eb1
--- a/gr-uhd/apps/uhd_app.py
+++ b/gr-uhd/apps/uhd_app.py
@@@ -176,20 -153,31 +155,31 @@@ class UHDApp(object)
)
)
# Set the subdevice spec:
- args.spec = self.normalize_subdev_sel(args.spec)
+ args.spec = self.normalize_sel("mboards", "subdev",
+ self.usrp.get_num_mboards(), args.spec)
if args.spec:
- for mb_idx in xrange(self.usrp.get_num_mboards()):
+ for mb_idx in range(self.usrp.get_num_mboards()):
- if isinstance(args.spec, list):
- self.usrp.set_subdev_spec(args.spec[mb_idx], mb_idx)
- else:
+ if len(args.spec) == 1:
self.usrp.set_subdev_spec(args.spec, mb_idx)
+ else:
+ self.usrp.set_subdev_spec(args.spec[mb_idx], mb_idx)
# Set the clock and/or time source:
if args.clock_source is not None:
+ args.clock_source = self.normalize_sel("mboards", "clock-source",
+
self.usrp.get_num_mboards(), args.clock_source)
- for mb_idx in xrange(self.usrp.get_num_mboards()):
+ for mb_idx in range(self.usrp.get_num_mboards()):
- self.usrp.set_clock_source(args.clock_source, mb_idx)
+ if len(args.time_source) == 1:
+ self.usrp.set_clock_source(args.clock_source[0], mb_idx)
+ else:
+ self.usrp.set_clock_source(args.clock_source[mb_idx],
mb_idx)
if args.time_source is not None:
+ args.time_source = self.normalize_sel("mboards", "time-source",
+
self.usrp.get_num_mboards(), args.time_source)
- for mb_idx in xrange(self.usrp.get_num_mboards()):
+ for mb_idx in range(self.usrp.get_num_mboards()):
- self.usrp.set_time_source(args.time_source, mb_idx)
+ if len(args.time_source) == 1:
+ self.usrp.set_time_source(args.time_source[0], mb_idx)
+ else:
+ self.usrp.set_time_source(args.time_source[mb_idx],
mb_idx)
# Sampling rate:
self.usrp.set_samp_rate(args.samp_rate)
self.samp_rate = self.usrp.get_samp_rate()
@@@ -403,4 -394,4 +396,3 @@@
group.add_argument("--time-source",
help="Set the time source")
return parser
--
diff --cc grc/gui/Actions.py
index ef04385,6eccab7..0965847
--- a/grc/gui/Actions.py
+++ b/grc/gui/Actions.py
@@@ -205,9 -200,19 +205,19 @@@ FLOW_GRAPH_SAVE = Action
FLOW_GRAPH_SAVE_AS = Action(
label='Save _As',
tooltip='Save the current flow graph as...',
- stock_id=gtk.STOCK_SAVE_AS,
- keypresses=(gtk.keysyms.s, gtk.gdk.CONTROL_MASK | gtk.gdk.SHIFT_MASK),
+ stock_id=Gtk.STOCK_SAVE_AS,
+ keypresses=(Gdk.KEY_s, Gdk.ModifierType.CONTROL_MASK |
Gdk.ModifierType.SHIFT_MASK),
)
+ FLOW_GRAPH_SAVE_A_COPY = Action(
+ label='Save A Copy',
+ tooltip='Save the copy of current flowgraph',
+ )
+ FLOW_GRAPH_DUPLICATE = Action(
+ label='_Duplicate',
+ tooltip='Create a duplicate of current flowgraph',
+ stock_id=gtk.STOCK_COPY,
+ keypresses=(gtk.keysyms.d, gtk.gdk.CONTROL_MASK | gtk.gdk.SHIFT_MASK),
+ )
FLOW_GRAPH_CLOSE = Action(
label='_Close',
tooltip='Close the current flow graph',
diff --cc grc/gui/Application.py
index e2290b3,5d48485..9e89009
--- a/grc/gui/Application.py
+++ b/grc/gui/Application.py
@@@ -544,27 -548,51 +545,53 @@@ class Application(Gtk.Application)
#otherwise try to save
else:
try:
- ParseXML.to_file(flow_graph.export_data(),
page.get_file_path())
- flow_graph.grc_file_path = page.get_file_path()
- page.set_saved(True)
+ ParseXML.to_file(flow_graph.export_data(), page.file_path)
+ flow_graph.grc_file_path = page.file_path
+ page.saved = True
except IOError:
- Messages.send_fail_save(page.get_file_path())
- page.set_saved(False)
+ Messages.send_fail_save(page.file_path)
+ page.saved = False
elif action == Actions.FLOW_GRAPH_SAVE_AS:
- file_path = SaveFlowGraphFileDialog(page.get_file_path()).run()
+ file_path = FileDialogs.SaveFlowGraph(main, page.file_path).run()
if file_path is not None:
- page.set_file_path(file_path)
+ page.file_path = os.path.abspath(file_path)
Actions.FLOW_GRAPH_SAVE()
- Preferences.add_recent_file(file_path)
+ self.config.add_recent_file(file_path)
main.tool_bar.refresh_submenus()
main.menu_bar.refresh_submenus()
+ elif action == Actions.FLOW_GRAPH_SAVE_A_COPY:
+ try:
+ if not page.get_file_path():
+ Actions.FLOW_GRAPH_SAVE_AS()
+ else:
+ dup_file_path = page.get_file_path()
+ dup_file_name = '.'.join(dup_file_path.split('.')[:-1]) +
"_copy" # Assuming .grc extension at the end of file_path
+ dup_file_path_temp = dup_file_name+'.grc'
+ count = 1
+ while os.path.exists(dup_file_path_temp):
+ dup_file_path_temp =
dup_file_name+'('+str(count)+').grc'
+ count += 1
+ dup_file_path_user =
SaveFlowGraphFileDialog(dup_file_path_temp).run()
+ if dup_file_path_user is not None:
+ ParseXML.to_file(flow_graph.export_data(),
dup_file_path_user)
+ Messages.send('Saved Copy to: "' + dup_file_path_user
+ '"\n')
+ except IOError:
+ Messages.send_fail_save("Can not create a copy of the
flowgraph\n")
+ elif action == Actions.FLOW_GRAPH_DUPLICATE:
+ flow_graph = main.get_flow_graph()
+ main.new_page()
+ curr_page = main.get_page()
+ new_flow_graph = main.get_flow_graph()
+ new_flow_graph.import_data(flow_graph.export_data())
+ flow_graph_update(new_flow_graph)
+ curr_page.set_saved(False)
elif action == Actions.FLOW_GRAPH_SCREEN_CAPTURE:
- file_path, background_transparent =
SaveScreenShotDialog(page.get_file_path()).run()
+ file_path, background_transparent =
FileDialogs.SaveScreenShot(main, page.file_path).run()
if file_path is not None:
- pixbuf =
flow_graph.get_drawing_area().get_screenshot(background_transparent)
- pixbuf.save(file_path, Constants.IMAGE_FILE_EXTENSION[1:])
+ try:
+ Utils.make_screenshot(flow_graph, file_path,
background_transparent)
+ except ValueError:
+ Messages.send('Failed to generate screen shot\n')
##################################################
# Gen/Exec/Stop
##################################################
diff --cc grc/gui/Bars.py
index 26fea20,d9bc2ae..1510e10
--- a/grc/gui/Bars.py
+++ b/grc/gui/Bars.py
@@@ -60,11 -60,11 +60,12 @@@ TOOLBAR_LIST =
Actions.OPEN_HIER,
)
+
# The list of actions and categories for the menu bar.
MENU_BAR_LIST = (
- (gtk.Action('File', '_File', None, None), [
+ (Gtk.Action(name='File', label='_File'), [
'flow_graph_new',
+ Actions.FLOW_GRAPH_DUPLICATE,
Actions.FLOW_GRAPH_OPEN,
'flow_graph_recent',
None,
diff --cc volk
index 4465f9b,4465f9b..0184981
--- a/volk
+++ b/volk
@@@ -1,1 -1,1 +1,1 @@@
--Subproject commit 4465f9b26354e555e583a7d654710cb63cf914ce
++Subproject commit 018498173344ccc10c6911a828c56136e523b14d