From f0537a7da4571bd6aaab273a0588eaef04121648 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Fri, 21 Jan 2011 15:20:45 -0800 Subject: grc: moved wxgui blocks and python into gr-wxgui/grc Prefixed wxgui blocks with WX GUI in the block names. Added category to wxgui variables blocks (not in the main block tree.xml) --- config/grc_gr_wxgui.m4 | 1 + gr-wxgui/Makefile.am | 2 +- gr-wxgui/grc/.gitignore | 2 + gr-wxgui/grc/Makefile.am | 44 ++++++ gr-wxgui/grc/__init__.py | 22 +++ gr-wxgui/grc/panel.py | 49 +++++++ gr-wxgui/grc/top_block_gui.py | 74 ++++++++++ gr-wxgui/grc/variable_check_box.xml | 85 +++++++++++ gr-wxgui/grc/variable_chooser.xml | 123 ++++++++++++++++ gr-wxgui/grc/variable_slider.xml | 139 ++++++++++++++++++ gr-wxgui/grc/variable_static_text.xml | 98 +++++++++++++ gr-wxgui/grc/variable_text_box.xml | 102 +++++++++++++ gr-wxgui/grc/wxgui_constellationsink2.xml | 139 ++++++++++++++++++ gr-wxgui/grc/wxgui_fftsink2.xml | 232 ++++++++++++++++++++++++++++++ gr-wxgui/grc/wxgui_histosink2.xml | 77 ++++++++++ gr-wxgui/grc/wxgui_numbersink2.xml | 192 +++++++++++++++++++++++++ gr-wxgui/grc/wxgui_scopesink2.xml | 186 ++++++++++++++++++++++++ gr-wxgui/grc/wxgui_termsink.xml | 55 +++++++ gr-wxgui/grc/wxgui_waterfallsink2.xml | 189 ++++++++++++++++++++++++ grc/blocks/Makefile.am | 12 -- grc/blocks/block_tree.xml | 5 - grc/blocks/variable_check_box.xml | 84 ----------- grc/blocks/variable_chooser.xml | 122 ---------------- grc/blocks/variable_slider.xml | 138 ------------------ grc/blocks/variable_static_text.xml | 97 ------------- grc/blocks/variable_text_box.xml | 101 ------------- grc/blocks/wxgui_constellationsink2.xml | 139 ------------------ grc/blocks/wxgui_fftsink2.xml | 232 ------------------------------ grc/blocks/wxgui_histosink2.xml | 77 ---------- grc/blocks/wxgui_numbersink2.xml | 192 ------------------------- grc/blocks/wxgui_scopesink2.xml | 186 ------------------------ grc/blocks/wxgui_termsink.xml | 55 ------- grc/blocks/wxgui_waterfallsink2.xml | 189 ------------------------ grc/grc_gnuradio/Makefile.am | 6 - grc/grc_gnuradio/wxgui/__init__.py | 22 --- grc/grc_gnuradio/wxgui/panel.py | 49 ------- grc/grc_gnuradio/wxgui/top_block_gui.py | 74 ---------- grc/python/Platform.py | 2 +- 38 files changed, 1811 insertions(+), 1782 deletions(-) create mode 100644 gr-wxgui/grc/.gitignore create mode 100644 gr-wxgui/grc/Makefile.am create mode 100644 gr-wxgui/grc/__init__.py create mode 100644 gr-wxgui/grc/panel.py create mode 100644 gr-wxgui/grc/top_block_gui.py create mode 100644 gr-wxgui/grc/variable_check_box.xml create mode 100644 gr-wxgui/grc/variable_chooser.xml create mode 100644 gr-wxgui/grc/variable_slider.xml create mode 100644 gr-wxgui/grc/variable_static_text.xml create mode 100644 gr-wxgui/grc/variable_text_box.xml create mode 100644 gr-wxgui/grc/wxgui_constellationsink2.xml create mode 100644 gr-wxgui/grc/wxgui_fftsink2.xml create mode 100644 gr-wxgui/grc/wxgui_histosink2.xml create mode 100644 gr-wxgui/grc/wxgui_numbersink2.xml create mode 100644 gr-wxgui/grc/wxgui_scopesink2.xml create mode 100644 gr-wxgui/grc/wxgui_termsink.xml create mode 100644 gr-wxgui/grc/wxgui_waterfallsink2.xml delete mode 100644 grc/blocks/variable_check_box.xml delete mode 100644 grc/blocks/variable_chooser.xml delete mode 100644 grc/blocks/variable_slider.xml delete mode 100644 grc/blocks/variable_static_text.xml delete mode 100644 grc/blocks/variable_text_box.xml delete mode 100644 grc/blocks/wxgui_constellationsink2.xml delete mode 100644 grc/blocks/wxgui_fftsink2.xml delete mode 100644 grc/blocks/wxgui_histosink2.xml delete mode 100644 grc/blocks/wxgui_numbersink2.xml delete mode 100644 grc/blocks/wxgui_scopesink2.xml delete mode 100644 grc/blocks/wxgui_termsink.xml delete mode 100644 grc/blocks/wxgui_waterfallsink2.xml delete mode 100644 grc/grc_gnuradio/wxgui/__init__.py delete mode 100644 grc/grc_gnuradio/wxgui/panel.py delete mode 100644 grc/grc_gnuradio/wxgui/top_block_gui.py diff --git a/config/grc_gr_wxgui.m4 b/config/grc_gr_wxgui.m4 index c443f7c6c..17925fcc5 100644 --- a/config/grc_gr_wxgui.m4 +++ b/config/grc_gr_wxgui.m4 @@ -36,6 +36,7 @@ AC_DEFUN([GRC_GR_WXGUI],[ AC_CONFIG_FILES([ \ gr-wxgui/Makefile \ gr-wxgui/gr-wxgui.pc \ + gr-wxgui/grc/Makefile \ gr-wxgui/src/Makefile \ gr-wxgui/src/python/Makefile \ gr-wxgui/src/python/plotter/Makefile \ diff --git a/gr-wxgui/Makefile.am b/gr-wxgui/Makefile.am index cee66e587..cfc7a429c 100644 --- a/gr-wxgui/Makefile.am +++ b/gr-wxgui/Makefile.am @@ -27,7 +27,7 @@ EXTRA_DIST += \ README.gl if PYTHON -SUBDIRS = src +SUBDIRS = src grc etcdir = $(gr_prefsdir) dist_etc_DATA = gr-wxgui.conf diff --git a/gr-wxgui/grc/.gitignore b/gr-wxgui/grc/.gitignore new file mode 100644 index 000000000..b336cc7ce --- /dev/null +++ b/gr-wxgui/grc/.gitignore @@ -0,0 +1,2 @@ +/Makefile +/Makefile.in diff --git a/gr-wxgui/grc/Makefile.am b/gr-wxgui/grc/Makefile.am new file mode 100644 index 000000000..26217077a --- /dev/null +++ b/gr-wxgui/grc/Makefile.am @@ -0,0 +1,44 @@ +# +# Copyright 2011 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. +# + +include $(top_srcdir)/Makefile.common + +grcblocksdir = $(grc_blocksdir) +dist_grcblocks_DATA = \ + variable_check_box.xml \ + variable_chooser.xml \ + variable_slider.xml \ + variable_static_text.xml \ + variable_text_box.xml \ + wxgui_constellationsink2.xml \ + wxgui_fftsink2.xml \ + wxgui_histosink2.xml \ + wxgui_numbersink2.xml \ + wxgui_scopesink2.xml \ + wxgui_termsink.xml \ + wxgui_waterfallsink2.xml + +#The wxgui module contains a top_block + wxgui frame. +wxgui_pythondir = $(pythondir)/grc_gnuradio/wxgui +wxgui_python_PYTHON = \ + __init__.py \ + panel.py \ + top_block_gui.py diff --git a/gr-wxgui/grc/__init__.py b/gr-wxgui/grc/__init__.py new file mode 100644 index 000000000..81427253b --- /dev/null +++ b/gr-wxgui/grc/__init__.py @@ -0,0 +1,22 @@ +# Copyright 2008, 2009 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 top_block_gui import top_block_gui +from panel import Panel diff --git a/gr-wxgui/grc/panel.py b/gr-wxgui/grc/panel.py new file mode 100644 index 000000000..e62133cac --- /dev/null +++ b/gr-wxgui/grc/panel.py @@ -0,0 +1,49 @@ +# Copyright 2009 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. +# + +import wx + +class Panel(wx.Panel): + def __init__(self, parent, orient=wx.VERTICAL): + wx.Panel.__init__(self, parent) + self._box = wx.BoxSizer(orient) + self._grid = wx.GridBagSizer(5, 5) + self.Add(self._grid) + self.SetSizer(self._box) + + def GetWin(self): return self + + def Add(self, win): + """ + Add a window to the wx vbox. + @param win the wx window + """ + self._box.Add(win, 0, wx.EXPAND) + + def GridAdd(self, win, row, col, row_span=1, col_span=1): + """ + Add a window to the wx grid at the given position. + @param win the wx window + @param row the row specification (integer >= 0) + @param col the column specification (integer >= 0) + @param row_span the row span specification (integer >= 1) + @param col_span the column span specification (integer >= 1) + """ + self._grid.Add(win, wx.GBPosition(row, col), wx.GBSpan(row_span, col_span), wx.EXPAND) diff --git a/gr-wxgui/grc/top_block_gui.py b/gr-wxgui/grc/top_block_gui.py new file mode 100644 index 000000000..333ccf1c1 --- /dev/null +++ b/gr-wxgui/grc/top_block_gui.py @@ -0,0 +1,74 @@ +# Copyright 2008, 2009 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. +# + +import wx +from gnuradio import gr +import panel + +default_gui_size = (200, 100) + +class top_block_gui(gr.top_block): + """gr top block with wx gui app and grid sizer.""" + + def __init__(self, title='', size=default_gui_size): + """ + Initialize the gr top block. + Create the wx gui elements. + @param title the main window title + @param size the main window size tuple in pixels + @param icon the file path to an icon or None + """ + #initialize + gr.top_block.__init__(self) + self._size = size + #create gui elements + self._app = wx.App() + self._frame = wx.Frame(None, title=title) + self._panel = panel.Panel(self._frame) + self.Add = self._panel.Add + self.GridAdd = self._panel.GridAdd + self.GetWin = self._panel.GetWin + + def SetIcon(self, *args, **kwargs): self._frame.SetIcon(*args, **kwargs) + + def Run(self, start=True): + """ + Setup the wx gui elements. + Start the gr top block. + Block with the wx main loop. + """ + #set minimal window size + self._frame.SetSizeHints(*self._size) + #create callback for quit + def _quit(event): + self.stop(); self.wait() + self._frame.Destroy() + #setup app + self._frame.Bind(wx.EVT_CLOSE, _quit) + self._sizer = wx.BoxSizer(wx.VERTICAL) + self._sizer.Add(self._panel, 0, wx.EXPAND) + self._frame.SetSizerAndFit(self._sizer) + self._frame.SetAutoLayout(True) + self._frame.Show(True) + self._app.SetTopWindow(self._frame) + #start flow graph + if start: self.start() + #blocking main loop + self._app.MainLoop() diff --git a/gr-wxgui/grc/variable_check_box.xml b/gr-wxgui/grc/variable_check_box.xml new file mode 100644 index 000000000..d1e4d990c --- /dev/null +++ b/gr-wxgui/grc/variable_check_box.xml @@ -0,0 +1,85 @@ + + + + WX GUI Check Box + variable_check_box + Variables + from gnuradio.wxgui import forms + self.$(id) = $(id) = $value + #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' +#set $win = 'self._%s_check_box'%$id +$win = forms.check_box( + parent=$(parent).GetWin(), + value=self.$id, + callback=self.set_$(id), + #if $label() + label=$label, + #else + label='$id', + #end if + true=$true, + false=$false, +) +#if not $grid_pos() +$(parent).Add($win) +#else +$(parent).GridAdd($win, $(', '.join(map(str, $grid_pos())))) +#end if + self.set_$(id)($value) + self._$(id)_check_box.set_value($id) + + Label + label + + string + #if $label() then 'none' else 'part'# + + + Default Value + value + True + raw + + + True + true + True + raw + + + False + false + False + raw + + + Grid Position + grid_pos + + grid_pos + + + Notebook + notebook + + notebook + + $value in ($true, $false) + +This block creates a variable with a check box form. \ +Leave the label blank to use the variable id as the label. + +A check box form can switch between two states; \ +the default being True and False. \ +Override True and False to use alternative states. + +Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. + +Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. + + diff --git a/gr-wxgui/grc/variable_chooser.xml b/gr-wxgui/grc/variable_chooser.xml new file mode 100644 index 000000000..99bf4389c --- /dev/null +++ b/gr-wxgui/grc/variable_chooser.xml @@ -0,0 +1,123 @@ + + + + WX GUI Chooser + variable_chooser + Variables + from gnuradio.wxgui import forms + self.$(id) = $(id) = $value + #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' +#set $win = 'self._%s_chooser'%$id +$win = forms.$(type)( + parent=$(parent).GetWin(), + value=self.$id, + callback=self.set_$(id), + #if $label() + label=$label, + #else + label='$id', + #end if + choices=$choices, + labels=$labels, +#if $type() == 'radio_buttons' + style=$style, +#end if +) +#if not $grid_pos() +$(parent).Add($win) +#else +$(parent).GridAdd($win, $(', '.join(map(str, $grid_pos())))) +#end if + self.set_$(id)($value) + self._$(id)_chooser.set_value($id) + + Label + label + + string + #if $label() then 'none' else 'part'# + + + Default Value + value + 1 + raw + + + Choices + choices + [1, 2, 3] + raw + + + Labels + labels + [] + raw + + + Type + type + drop_down + enum + + + + + + Style + style + wx.RA_HORIZONTAL + enum + #if $type() == 'radio_buttons' then 'part' else 'all'# + + + + + Grid Position + grid_pos + + grid_pos + + + Notebook + notebook + + notebook + + $value in $choices + not $labels or len($labels) == len($choices) + +This block creates a variable with a drop down, radio buttons, or a button. \ +Leave the label blank to use the variable id as the label. \ +The value index is the index of a particular choice, \ +which defines the default choice when the flow graph starts. \ +The choices must be a list of possible values. \ +Leave labels empty to use the choices as the labels. + +Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. + +Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. + + diff --git a/gr-wxgui/grc/variable_slider.xml b/gr-wxgui/grc/variable_slider.xml new file mode 100644 index 000000000..09aa4d3d7 --- /dev/null +++ b/gr-wxgui/grc/variable_slider.xml @@ -0,0 +1,139 @@ + + + + WX GUI Slider + variable_slider + Variables + from gnuradio.wxgui import forms + self.$(id) = $(id) = $value + #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' +#set $win = '_%s_sizer'%$id +$win = wx.BoxSizer(wx.VERTICAL) +self._$(id)_text_box = forms.text_box( + parent=$(parent).GetWin(), + sizer=$win, + value=self.$id, + callback=self.set_$(id), + #if $label() + label=$label, + #else + label='$id', + #end if + converter=forms.$(converver)(), + proportion=0, +) +self._$(id)_slider = forms.slider( + parent=$(parent).GetWin(), + sizer=$win, + value=self.$id, + callback=self.set_$(id), + minimum=$min, + maximum=$max, + num_steps=$num_steps, + style=$style, + cast=$(converver.slider_cast), + proportion=1, +) +#if not $grid_pos() +$(parent).Add($win) +#else +$(parent).GridAdd($win, $(', '.join(map(str, $grid_pos())))) +#end if + self.set_$(id)($value) + self._$(id)_slider.set_value($id) + self._$(id)_text_box.set_value($id) + + Label + label + + string + #if $label() then 'none' else 'part'# + + + Default Value + value + 50 + real + + + Minimum + min + 0 + real + + + Maximum + max + 100 + real + + + Num Steps + num_steps + 100 + int + part + + + Style + style + wx.SL_HORIZONTAL + enum + part + + + + + Converter + converver + float_converter + enum + + + + + Grid Position + grid_pos + + grid_pos + + + Notebook + notebook + + notebook + + $min <= $value <= $max + $min < $max + 0 < $num_steps <= 1000 + +This block creates a variable with a slider. \ +Leave the label blank to use the variable id as the label. \ +The value must be a real number. \ +The value must be between the minimum and the maximum. \ +The number of steps must be between 0 and 1000. + +Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. + +Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. + + diff --git a/gr-wxgui/grc/variable_static_text.xml b/gr-wxgui/grc/variable_static_text.xml new file mode 100644 index 000000000..d7bb30eea --- /dev/null +++ b/gr-wxgui/grc/variable_static_text.xml @@ -0,0 +1,98 @@ + + + + WX GUI Static Text + variable_static_text + Variables + from gnuradio.wxgui import forms + self.$(id) = $(id) = $value + #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' +#set $win = 'self._%s_static_text'%$id +$win = forms.static_text( + parent=$(parent).GetWin(), + value=self.$id, + callback=self.set_$(id), + #if $label() + label=$label, + #else + label='$id', + #end if + #if $formatter() + converter=forms.$(converver)(formatter=$formatter), + #else + converter=forms.$(converver)(), + #end if +) +#if not $grid_pos() +$(parent).Add($win) +#else +$(parent).GridAdd($win, $(', '.join(map(str, $grid_pos())))) +#end if + self.set_$(id)($value) + self._$(id)_static_text.set_value($id) + + Label + label + + string + #if $label() then 'none' else 'part'# + + + Default Value + value + 0 + raw + + + Converter + converver + float_converter + enum + + + + + + Formatter + formatter + None + raw + part + + + Grid Position + grid_pos + + grid_pos + + + Notebook + notebook + + notebook + + +This block creates a variable with a static text form. \ +Leave the label blank to use the variable id as the label. + +Format should be a function/lambda that converts a value into a string or None for the default formatter. + +Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. + +Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. + + diff --git a/gr-wxgui/grc/variable_text_box.xml b/gr-wxgui/grc/variable_text_box.xml new file mode 100644 index 000000000..c5416aee7 --- /dev/null +++ b/gr-wxgui/grc/variable_text_box.xml @@ -0,0 +1,102 @@ + + + + WX GUI Text Box + variable_text_box + Variables + from gnuradio.wxgui import forms + self.$(id) = $(id) = $value + #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' +#set $win = 'self._%s_text_box'%$id +$win = forms.text_box( + parent=$(parent).GetWin(), + value=self.$id, + callback=self.set_$(id), + #if $label() + label=$label, + #else + label='$id', + #end if + #if $formatter() + converter=forms.$(converver)(formatter=$formatter), + #else + converter=forms.$(converver)(), + #end if +) +#if not $grid_pos() +$(parent).Add($win) +#else +$(parent).GridAdd($win, $(', '.join(map(str, $grid_pos())))) +#end if + self.set_$(id)($value) + self._$(id)_text_box.set_value($id) + + Label + label + + string + #if $label() then 'none' else 'part'# + + + Default Value + value + 0 + raw + + + Converter + converver + float_converter + enum + + + + + + + Formatter + formatter + None + raw + part + + + Grid Position + grid_pos + + grid_pos + + + Notebook + notebook + + notebook + + +This block creates a variable with a text box. \ +Leave the label blank to use the variable id as the label. + +Format should be a function/lambda that converts a value into a string or None for the default formatter. + +Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. + +Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. + + diff --git a/gr-wxgui/grc/wxgui_constellationsink2.xml b/gr-wxgui/grc/wxgui_constellationsink2.xml new file mode 100644 index 000000000..881c6eba3 --- /dev/null +++ b/gr-wxgui/grc/wxgui_constellationsink2.xml @@ -0,0 +1,139 @@ + + + + WX GUI Constellation Sink + wxgui_constellationsink2 + from gnuradio.wxgui import constsink_gl + #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' +constsink_gl.const_sink_c( + $(parent).GetWin(), + title=$title, + sample_rate=$samp_rate, + frame_rate=$frame_rate, + const_size=$const_size, + M=$M, + theta=$theta, + alpha=$alpha, + fmax=$fmax, + mu=$mu, + gain_mu=$gain_mu, + symbol_rate=$symbol_rate, + omega_limit=$omega_limit, +#if $win_size() + size=$win_size, +#end if +) +#if not $grid_pos() +$(parent).Add(self.$(id).win) +#else +$(parent).GridAdd(self.$(id).win, $(', '.join(map(str, $grid_pos())))) +#end if + set_sample_rate($samp_rate) + + Title + title + Constellation Plot + string + + + Sample Rate + samp_rate + samp_rate + real + + + Frame Rate + frame_rate + 5 + real + + + Constellation Size + const_size + 2048 + real + + + M + M + 4 + int + + + Theta + theta + 0 + real + + + Alpha + alpha + 0.005 + real + + + Max Freq + fmax + 0.06 + real + + + Mu + mu + 0.5 + real + + + Gain Mu + gain_mu + 0.005 + real + + + Symbol Rate + symbol_rate + samp_rate/4. + real + + + Omega Limit + omega_limit + 0.005 + real + + + Window Size + win_size + + int_vector + #if $win_size() then 'none' else 'part'# + + + Grid Position + grid_pos + + grid_pos + + + Notebook + notebook + + notebook + + not $win_size or len($win_size) == 2 + + in + complex + + +Leave the window blank for the default size, otherwise enter a tuple of (width, height) pixels. + +Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. + +Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. + + diff --git a/gr-wxgui/grc/wxgui_fftsink2.xml b/gr-wxgui/grc/wxgui_fftsink2.xml new file mode 100644 index 000000000..b06220d1e --- /dev/null +++ b/gr-wxgui/grc/wxgui_fftsink2.xml @@ -0,0 +1,232 @@ + + + + WX GUI FFT Sink + wxgui_fftsink2 + from gnuradio import window + from gnuradio.wxgui import fftsink2 + #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' +fftsink2.$(type.fcn)( + $(parent).GetWin(), + baseband_freq=$baseband_freq, + y_per_div=$y_per_div, + y_divs=$y_divs, + ref_level=$ref_level, + ref_scale=$ref_scale, + sample_rate=$samp_rate, + fft_size=$fft_size, + fft_rate=$fft_rate, + average=$average, + avg_alpha=#if $avg_alpha() then $avg_alpha else 'None'#, + title=$title, + peak_hold=$peak_hold, +#if $win() + win=$win, +#end if +#if $win_size() + size=$win_size, +#end if +) +#if not $grid_pos() +$(parent).Add(self.$(id).win) +#else +$(parent).GridAdd(self.$(id).win, $(', '.join(map(str, $grid_pos())))) +#end if + set_baseband_freq($baseband_freq) + set_sample_rate($samp_rate) + + Type + type + complex + enum + + + + + Title + title + FFT Plot + string + + + Sample Rate + samp_rate + samp_rate + real + + + Baseband Freq + baseband_freq + 0 + real + + + Y per Div + y_per_div + 10 + enum + + + + + + + + Y Divs + y_divs + 10 + int + + + Ref Level (dB) + ref_level + 50 + real + + + Ref Scale (p2p) + ref_scale + 2.0 + real + + + FFT Size + fft_size + 1024 + int + + + Refresh Rate + fft_rate + 30 + int + + + Peak Hold + peak_hold + False + enum + #if $peak_hold() == 'True' then 'none' else 'part'# + + + + + Average + average + False + enum + part + + + + + Average Alpha + avg_alpha + 0 + real + #if $average() == 'True' then 'none' else 'all'# + + + Window + win + None + raw + #if $win() is None then 'part' else 'none'# + + + + + + + + + Window Size + win_size + + int_vector + #if $win_size() then 'none' else 'part'# + + + Grid Position + grid_pos + + grid_pos + + + Notebook + notebook + + notebook + + not $win_size or len($win_size) == 2 + + in + $type + + +Set Average Alpha to 0 for automatic setting. + +Leave the window blank for the default size, otherwise enter a tuple of (width, height) pixels. + +Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. + +Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. + + diff --git a/gr-wxgui/grc/wxgui_histosink2.xml b/gr-wxgui/grc/wxgui_histosink2.xml new file mode 100644 index 000000000..2f475fe2e --- /dev/null +++ b/gr-wxgui/grc/wxgui_histosink2.xml @@ -0,0 +1,77 @@ + + + + WX GUI Histo Sink + wxgui_histosink2 + from gnuradio.wxgui import histosink_gl + #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' +histosink_gl.histo_sink_f( + $(parent).GetWin(), + title=$title, + num_bins=$num_bins, + frame_size=$frame_size, +#if $win_size() + size=$win_size, +#end if +) +#if not $grid_pos() +$(parent).Add(self.$(id).win) +#else +$(parent).GridAdd(self.$(id).win, $(', '.join(map(str, $grid_pos())))) +#end if + set_num_bins($num_bins) + set_frame_size($frame_size) + + Title + title + Histogram Plot + string + + + Num Bins + num_bins + 27 + int + + + Frame Size + frame_size + 1000 + int + + + Window Size + win_size + + int_vector + #if $win_size() then 'none' else 'part'# + + + Grid Position + grid_pos + + grid_pos + + + Notebook + notebook + + notebook + + not $win_size or len($win_size) == 2 + + in + float + + +Leave the window blank for the default size, otherwise enter a tuple of (width, height) pixels. + +Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. + +Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. + + diff --git a/gr-wxgui/grc/wxgui_numbersink2.xml b/gr-wxgui/grc/wxgui_numbersink2.xml new file mode 100644 index 000000000..b3b4cb254 --- /dev/null +++ b/gr-wxgui/grc/wxgui_numbersink2.xml @@ -0,0 +1,192 @@ + + + + WX GUI Number Sink + wxgui_numbersink2 + from gnuradio.wxgui import numbersink2 + #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' +numbersink2.$(type.fcn)( + $(parent).GetWin(), + unit=$units, + minval=$min_value, + maxval=$max_value, + factor=$factor, + decimal_places=$decimal_places, + ref_level=$ref_level, + sample_rate=$samp_rate, + number_rate=$number_rate, + average=$average, + avg_alpha=#if $avg_alpha() then $avg_alpha else 'None'#, + label=$title, + peak_hold=$peak_hold, + show_gauge=$show_gauge, +#if $win_size() + size=$win_size, +#end if +) +#if not $grid_pos() +$(parent).Add(self.$(id).win) +#else +$(parent).GridAdd(self.$(id).win, $(', '.join(map(str, $grid_pos())))) +#end if + + Type + type + complex + enum + + + + + Title + title + Number Plot + string + + + Units + units + Units + string + + + Sample Rate + samp_rate + samp_rate + real + + + Min Value + min_value + -100 + real + + + Max Value + max_value + 100 + real + + + Factor + factor + 1.0 + real + + + Decimal Places + decimal_places + 10 + int + + + Reference Level + ref_level + 0 + real + + + Number Rate + number_rate + 15 + int + + + Peak Hold + peak_hold + False + enum + #if $peak_hold() == 'True' then 'none' else 'part'# + + + + + Average + average + False + enum + part + + + + + Average Alpha + avg_alpha + 0 + real + #if $average() == 'True' then 'none' else 'all'# + + + Show Gauge + show_gauge + True + enum + + + + + Window Size + win_size + + int_vector + #if $win_size() then 'none' else 'part'# + + + Grid Position + grid_pos + + grid_pos + + + Notebook + notebook + + notebook + + not $win_size or len($win_size) == 2 + + in + $type + + +Set Average Alpha to 0 for automatic setting. + +Leave the window blank for the default size, otherwise enter a tuple of (width, height) pixels. + +Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. + +Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. + +Incoming numbers are multiplied by the factor, and then added-to by the reference level. + + diff --git a/gr-wxgui/grc/wxgui_scopesink2.xml b/gr-wxgui/grc/wxgui_scopesink2.xml new file mode 100644 index 000000000..43922f45e --- /dev/null +++ b/gr-wxgui/grc/wxgui_scopesink2.xml @@ -0,0 +1,186 @@ + + + + WX GUI Scope Sink + wxgui_scopesink2 + from gnuradio.wxgui import scopesink2 + from gnuradio import gr + #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' +scopesink2.$(type.fcn)( + $(parent).GetWin(), + title=$title, + sample_rate=$samp_rate, + v_scale=$v_scale, + v_offset=$v_offset, + t_scale=$t_scale, + ac_couple=$ac_couple, + xy_mode=$xy_mode, + num_inputs=$num_inputs, + trig_mode=$trig_mode, + y_axis_label=$y_axis_label, +#if $win_size() + size=$win_size, +#end if +) +#if not $grid_pos() +$(parent).Add(self.$(id).win) +#else +$(parent).GridAdd(self.$(id).win, $(', '.join(map(str, $grid_pos())))) +#end if + set_sample_rate($samp_rate) + + Type + type + complex + enum + + + + + Title + title + Scope Plot + string + + + Sample Rate + samp_rate + samp_rate + real + + + V Scale + v_scale + 0 + real + #if $v_scale() then 'none' else 'part'# + + + V Offset + v_offset + 0 + real + #if $v_offset() then 'none' else 'part'# + + + T Scale + t_scale + 0 + real + #if $t_scale() then 'none' else 'part'# + + + AC Couple + ac_couple + False + bool + #if $ac_couple() then 'none' else 'part'# + + + + + XY Mode + xy_mode + False + enum + #if $xy_mode() == 'True' then 'none' else 'part'# + + + + + Num Inputs + num_inputs + 1 + int + + + Window Size + win_size + + int_vector + #if $win_size() then 'none' else 'part'# + + + Grid Position + grid_pos + + grid_pos + + + Notebook + notebook + + notebook + + + Trigger Mode + trig_mode + enum + + + + + + + Y Axis Label + y_axis_label + Counts + string + + not $win_size or len($win_size) == 2 + not $xy_mode or '$type' == 'complex' or $num_inputs != 1 + + in + $type + $num_inputs + + +Set the V Scale to 0 for the scope to auto-scale. + +Set the T Scale to 0 for automatic setting. + +XY Mode allows the scope to initialize as an XY plotter. + +Leave the window blank for the default size, otherwise enter a tuple of (width, height) pixels. + +Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. + +Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. + + diff --git a/gr-wxgui/grc/wxgui_termsink.xml b/gr-wxgui/grc/wxgui_termsink.xml new file mode 100644 index 000000000..ae15b98a6 --- /dev/null +++ b/gr-wxgui/grc/wxgui_termsink.xml @@ -0,0 +1,55 @@ + + + + WX GUI Terminal Sink + wxgui_termsink + + from gnuradio.wxgui import termsink + + #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' +termsink.termsink( + parent=$(parent).GetWin(), +#if $win_size() + size=$win_size, +#end if + msgq=$(id)_msgq_in, +) +#if not $grid_pos() +$(parent).Add(self.$(id)) +#else +$(parent).GridAdd(self.$(id), $(', '.join(map(str, $grid_pos())))) +#end if + + + Window Size + win_size + + int_vector + #if $win_size() then 'none' else 'part'# + + + Grid Position + grid_pos + + grid_pos + + + + Notebook + notebook + + notebook + + + not $win_size or len($win_size) == 2 + + + in + msg + + + diff --git a/gr-wxgui/grc/wxgui_waterfallsink2.xml b/gr-wxgui/grc/wxgui_waterfallsink2.xml new file mode 100644 index 000000000..9789994be --- /dev/null +++ b/gr-wxgui/grc/wxgui_waterfallsink2.xml @@ -0,0 +1,189 @@ + + + + WX GUI Waterfall Sink + wxgui_waterfallsink2 + from gnuradio import window + from gnuradio.wxgui import waterfallsink2 + #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' +waterfallsink2.$(type.fcn)( + $(parent).GetWin(), + baseband_freq=$baseband_freq, + dynamic_range=$dynamic_range, + ref_level=$ref_level, + ref_scale=$ref_scale, + sample_rate=$samp_rate, + fft_size=$fft_size, + fft_rate=$fft_rate, + average=$average, + avg_alpha=#if $avg_alpha() then $avg_alpha else 'None'#, + title=$title, +#if $win() + win=$win, +#end if +#if $win_size() + size=$win_size, +#end if +) +#if not $grid_pos() +$(parent).Add(self.$(id).win) +#else +$(parent).GridAdd(self.$(id).win, $(', '.join(map(str, $grid_pos())))) +#end if + set_baseband_freq($baseband_freq) + set_sample_rate($samp_rate) + + Type + type + complex + enum + + + + + Title + title + Waterfall Plot + string + + + Sample Rate + samp_rate + samp_rate + real + + + Baseband Freq + baseband_freq + 0 + real + + + Dynamic Range + dynamic_range + 100 + real + + + Reference Level + ref_level + 50 + real + + + Ref Scale (p2p) + ref_scale + 2.0 + real + + + FFT Size + fft_size + 512 + int + + + FFT Rate + fft_rate + 15 + int + + + Average + average + False + enum + part + + + + + Average Alpha + avg_alpha + 0 + real + #if $average() == 'True' then 'none' else 'all'# + + + Window + win + None + raw + #if $win() is None then 'part' else 'none'# + + + + + + + + + Window Size + win_size + + int_vector + #if $win_size() then 'none' else 'part'# + + + Grid Position + grid_pos + + grid_pos + + + Notebook + notebook + + notebook + + not $win_size or len($win_size) == 2 + + in + $type + + +Set Average Alpha to 0 for automatic setting. + +Leave the window blank for the default size, otherwise enter a tuple of (width, height) pixels. + +Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. + +Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. + + diff --git a/grc/blocks/Makefile.am b/grc/blocks/Makefile.am index 56893b46f..40353a1fa 100644 --- a/grc/blocks/Makefile.am +++ b/grc/blocks/Makefile.am @@ -221,20 +221,8 @@ dist_ourdata_DATA = \ usrp_simple_sink_x.xml \ usrp_simple_source_x.xml \ variable.xml \ - variable_check_box.xml \ - variable_chooser.xml \ variable_config.xml \ - variable_slider.xml \ - variable_static_text.xml \ - variable_text_box.xml \ virtual_sink.xml \ virtual_source.xml \ - wxgui_constellationsink2.xml \ - wxgui_fftsink2.xml \ - wxgui_histosink2.xml \ - wxgui_numbersink2.xml \ - wxgui_scopesink2.xml \ - wxgui_termsink.xml \ - wxgui_waterfallsink2.xml \ xmlrpc_client.xml \ xmlrpc_server.xml diff --git a/grc/blocks/block_tree.xml b/grc/blocks/block_tree.xml index 644841884..782d6ca9b 100644 --- a/grc/blocks/block_tree.xml +++ b/grc/blocks/block_tree.xml @@ -286,11 +286,6 @@ Variables variable - variable_slider - variable_chooser - variable_check_box - variable_text_box - variable_static_text variable_config parameter diff --git a/grc/blocks/variable_check_box.xml b/grc/blocks/variable_check_box.xml deleted file mode 100644 index a703703c7..000000000 --- a/grc/blocks/variable_check_box.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - Variable Check Box - variable_check_box - from gnuradio.wxgui import forms - self.$(id) = $(id) = $value - #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' -#set $win = 'self._%s_check_box'%$id -$win = forms.check_box( - parent=$(parent).GetWin(), - value=self.$id, - callback=self.set_$(id), - #if $label() - label=$label, - #else - label='$id', - #end if - true=$true, - false=$false, -) -#if not $grid_pos() -$(parent).Add($win) -#else -$(parent).GridAdd($win, $(', '.join(map(str, $grid_pos())))) -#end if - self.set_$(id)($value) - self._$(id)_check_box.set_value($id) - - Label - label - - string - #if $label() then 'none' else 'part'# - - - Default Value - value - True - raw - - - True - true - True - raw - - - False - false - False - raw - - - Grid Position - grid_pos - - grid_pos - - - Notebook - notebook - - notebook - - $value in ($true, $false) - -This block creates a variable with a check box form. \ -Leave the label blank to use the variable id as the label. - -A check box form can switch between two states; \ -the default being True and False. \ -Override True and False to use alternative states. - -Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. - -Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. - - diff --git a/grc/blocks/variable_chooser.xml b/grc/blocks/variable_chooser.xml deleted file mode 100644 index ee41f26db..000000000 --- a/grc/blocks/variable_chooser.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - Variable Chooser - variable_chooser - from gnuradio.wxgui import forms - self.$(id) = $(id) = $value - #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' -#set $win = 'self._%s_chooser'%$id -$win = forms.$(type)( - parent=$(parent).GetWin(), - value=self.$id, - callback=self.set_$(id), - #if $label() - label=$label, - #else - label='$id', - #end if - choices=$choices, - labels=$labels, -#if $type() == 'radio_buttons' - style=$style, -#end if -) -#if not $grid_pos() -$(parent).Add($win) -#else -$(parent).GridAdd($win, $(', '.join(map(str, $grid_pos())))) -#end if - self.set_$(id)($value) - self._$(id)_chooser.set_value($id) - - Label - label - - string - #if $label() then 'none' else 'part'# - - - Default Value - value - 1 - raw - - - Choices - choices - [1, 2, 3] - raw - - - Labels - labels - [] - raw - - - Type - type - drop_down - enum - - - - - - Style - style - wx.RA_HORIZONTAL - enum - #if $type() == 'radio_buttons' then 'part' else 'all'# - - - - - Grid Position - grid_pos - - grid_pos - - - Notebook - notebook - - notebook - - $value in $choices - not $labels or len($labels) == len($choices) - -This block creates a variable with a drop down, radio buttons, or a button. \ -Leave the label blank to use the variable id as the label. \ -The value index is the index of a particular choice, \ -which defines the default choice when the flow graph starts. \ -The choices must be a list of possible values. \ -Leave labels empty to use the choices as the labels. - -Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. - -Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. - - diff --git a/grc/blocks/variable_slider.xml b/grc/blocks/variable_slider.xml deleted file mode 100644 index c13d20856..000000000 --- a/grc/blocks/variable_slider.xml +++ /dev/null @@ -1,138 +0,0 @@ - - - - Variable Slider - variable_slider - from gnuradio.wxgui import forms - self.$(id) = $(id) = $value - #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' -#set $win = '_%s_sizer'%$id -$win = wx.BoxSizer(wx.VERTICAL) -self._$(id)_text_box = forms.text_box( - parent=$(parent).GetWin(), - sizer=$win, - value=self.$id, - callback=self.set_$(id), - #if $label() - label=$label, - #else - label='$id', - #end if - converter=forms.$(converver)(), - proportion=0, -) -self._$(id)_slider = forms.slider( - parent=$(parent).GetWin(), - sizer=$win, - value=self.$id, - callback=self.set_$(id), - minimum=$min, - maximum=$max, - num_steps=$num_steps, - style=$style, - cast=$(converver.slider_cast), - proportion=1, -) -#if not $grid_pos() -$(parent).Add($win) -#else -$(parent).GridAdd($win, $(', '.join(map(str, $grid_pos())))) -#end if - self.set_$(id)($value) - self._$(id)_slider.set_value($id) - self._$(id)_text_box.set_value($id) - - Label - label - - string - #if $label() then 'none' else 'part'# - - - Default Value - value - 50 - real - - - Minimum - min - 0 - real - - - Maximum - max - 100 - real - - - Num Steps - num_steps - 100 - int - part - - - Style - style - wx.SL_HORIZONTAL - enum - part - - - - - Converter - converver - float_converter - enum - - - - - Grid Position - grid_pos - - grid_pos - - - Notebook - notebook - - notebook - - $min <= $value <= $max - $min < $max - 0 < $num_steps <= 1000 - -This block creates a variable with a slider. \ -Leave the label blank to use the variable id as the label. \ -The value must be a real number. \ -The value must be between the minimum and the maximum. \ -The number of steps must be between 0 and 1000. - -Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. - -Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. - - diff --git a/grc/blocks/variable_static_text.xml b/grc/blocks/variable_static_text.xml deleted file mode 100644 index c866b998d..000000000 --- a/grc/blocks/variable_static_text.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - Variable Static Text - variable_static_text - from gnuradio.wxgui import forms - self.$(id) = $(id) = $value - #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' -#set $win = 'self._%s_static_text'%$id -$win = forms.static_text( - parent=$(parent).GetWin(), - value=self.$id, - callback=self.set_$(id), - #if $label() - label=$label, - #else - label='$id', - #end if - #if $formatter() - converter=forms.$(converver)(formatter=$formatter), - #else - converter=forms.$(converver)(), - #end if -) -#if not $grid_pos() -$(parent).Add($win) -#else -$(parent).GridAdd($win, $(', '.join(map(str, $grid_pos())))) -#end if - self.set_$(id)($value) - self._$(id)_static_text.set_value($id) - - Label - label - - string - #if $label() then 'none' else 'part'# - - - Default Value - value - 0 - raw - - - Converter - converver - float_converter - enum - - - - - - Formatter - formatter - None - raw - part - - - Grid Position - grid_pos - - grid_pos - - - Notebook - notebook - - notebook - - -This block creates a variable with a static text form. \ -Leave the label blank to use the variable id as the label. - -Format should be a function/lambda that converts a value into a string or None for the default formatter. - -Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. - -Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. - - diff --git a/grc/blocks/variable_text_box.xml b/grc/blocks/variable_text_box.xml deleted file mode 100644 index 1b4b4355e..000000000 --- a/grc/blocks/variable_text_box.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - Variable Text Box - variable_text_box - from gnuradio.wxgui import forms - self.$(id) = $(id) = $value - #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' -#set $win = 'self._%s_text_box'%$id -$win = forms.text_box( - parent=$(parent).GetWin(), - value=self.$id, - callback=self.set_$(id), - #if $label() - label=$label, - #else - label='$id', - #end if - #if $formatter() - converter=forms.$(converver)(formatter=$formatter), - #else - converter=forms.$(converver)(), - #end if -) -#if not $grid_pos() -$(parent).Add($win) -#else -$(parent).GridAdd($win, $(', '.join(map(str, $grid_pos())))) -#end if - self.set_$(id)($value) - self._$(id)_text_box.set_value($id) - - Label - label - - string - #if $label() then 'none' else 'part'# - - - Default Value - value - 0 - raw - - - Converter - converver - float_converter - enum - - - - - - - Formatter - formatter - None - raw - part - - - Grid Position - grid_pos - - grid_pos - - - Notebook - notebook - - notebook - - -This block creates a variable with a text box. \ -Leave the label blank to use the variable id as the label. - -Format should be a function/lambda that converts a value into a string or None for the default formatter. - -Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. - -Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. - - diff --git a/grc/blocks/wxgui_constellationsink2.xml b/grc/blocks/wxgui_constellationsink2.xml deleted file mode 100644 index 598b55064..000000000 --- a/grc/blocks/wxgui_constellationsink2.xml +++ /dev/null @@ -1,139 +0,0 @@ - - - - Constellation Sink - wxgui_constellationsink2 - from gnuradio.wxgui import constsink_gl - #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' -constsink_gl.const_sink_c( - $(parent).GetWin(), - title=$title, - sample_rate=$samp_rate, - frame_rate=$frame_rate, - const_size=$const_size, - M=$M, - theta=$theta, - alpha=$alpha, - fmax=$fmax, - mu=$mu, - gain_mu=$gain_mu, - symbol_rate=$symbol_rate, - omega_limit=$omega_limit, -#if $win_size() - size=$win_size, -#end if -) -#if not $grid_pos() -$(parent).Add(self.$(id).win) -#else -$(parent).GridAdd(self.$(id).win, $(', '.join(map(str, $grid_pos())))) -#end if - set_sample_rate($samp_rate) - - Title - title - Constellation Plot - string - - - Sample Rate - samp_rate - samp_rate - real - - - Frame Rate - frame_rate - 5 - real - - - Constellation Size - const_size - 2048 - real - - - M - M - 4 - int - - - Theta - theta - 0 - real - - - Alpha - alpha - 0.005 - real - - - Max Freq - fmax - 0.06 - real - - - Mu - mu - 0.5 - real - - - Gain Mu - gain_mu - 0.005 - real - - - Symbol Rate - symbol_rate - samp_rate/4. - real - - - Omega Limit - omega_limit - 0.005 - real - - - Window Size - win_size - - int_vector - #if $win_size() then 'none' else 'part'# - - - Grid Position - grid_pos - - grid_pos - - - Notebook - notebook - - notebook - - not $win_size or len($win_size) == 2 - - in - complex - - -Leave the window blank for the default size, otherwise enter a tuple of (width, height) pixels. - -Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. - -Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. - - diff --git a/grc/blocks/wxgui_fftsink2.xml b/grc/blocks/wxgui_fftsink2.xml deleted file mode 100644 index 8df8f90d0..000000000 --- a/grc/blocks/wxgui_fftsink2.xml +++ /dev/null @@ -1,232 +0,0 @@ - - - - FFT Sink - wxgui_fftsink2 - from gnuradio import window - from gnuradio.wxgui import fftsink2 - #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' -fftsink2.$(type.fcn)( - $(parent).GetWin(), - baseband_freq=$baseband_freq, - y_per_div=$y_per_div, - y_divs=$y_divs, - ref_level=$ref_level, - ref_scale=$ref_scale, - sample_rate=$samp_rate, - fft_size=$fft_size, - fft_rate=$fft_rate, - average=$average, - avg_alpha=#if $avg_alpha() then $avg_alpha else 'None'#, - title=$title, - peak_hold=$peak_hold, -#if $win() - win=$win, -#end if -#if $win_size() - size=$win_size, -#end if -) -#if not $grid_pos() -$(parent).Add(self.$(id).win) -#else -$(parent).GridAdd(self.$(id).win, $(', '.join(map(str, $grid_pos())))) -#end if - set_baseband_freq($baseband_freq) - set_sample_rate($samp_rate) - - Type - type - complex - enum - - - - - Title - title - FFT Plot - string - - - Sample Rate - samp_rate - samp_rate - real - - - Baseband Freq - baseband_freq - 0 - real - - - Y per Div - y_per_div - 10 - enum - - - - - - - - Y Divs - y_divs - 10 - int - - - Ref Level (dB) - ref_level - 50 - real - - - Ref Scale (p2p) - ref_scale - 2.0 - real - - - FFT Size - fft_size - 1024 - int - - - Refresh Rate - fft_rate - 30 - int - - - Peak Hold - peak_hold - False - enum - #if $peak_hold() == 'True' then 'none' else 'part'# - - - - - Average - average - False - enum - part - - - - - Average Alpha - avg_alpha - 0 - real - #if $average() == 'True' then 'none' else 'all'# - - - Window - win - None - raw - #if $win() is None then 'part' else 'none'# - - - - - - - - - Window Size - win_size - - int_vector - #if $win_size() then 'none' else 'part'# - - - Grid Position - grid_pos - - grid_pos - - - Notebook - notebook - - notebook - - not $win_size or len($win_size) == 2 - - in - $type - - -Set Average Alpha to 0 for automatic setting. - -Leave the window blank for the default size, otherwise enter a tuple of (width, height) pixels. - -Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. - -Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. - - diff --git a/grc/blocks/wxgui_histosink2.xml b/grc/blocks/wxgui_histosink2.xml deleted file mode 100644 index 9edf9650d..000000000 --- a/grc/blocks/wxgui_histosink2.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - Histo Sink - wxgui_histosink2 - from gnuradio.wxgui import histosink_gl - #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' -histosink_gl.histo_sink_f( - $(parent).GetWin(), - title=$title, - num_bins=$num_bins, - frame_size=$frame_size, -#if $win_size() - size=$win_size, -#end if -) -#if not $grid_pos() -$(parent).Add(self.$(id).win) -#else -$(parent).GridAdd(self.$(id).win, $(', '.join(map(str, $grid_pos())))) -#end if - set_num_bins($num_bins) - set_frame_size($frame_size) - - Title - title - Histogram Plot - string - - - Num Bins - num_bins - 27 - int - - - Frame Size - frame_size - 1000 - int - - - Window Size - win_size - - int_vector - #if $win_size() then 'none' else 'part'# - - - Grid Position - grid_pos - - grid_pos - - - Notebook - notebook - - notebook - - not $win_size or len($win_size) == 2 - - in - float - - -Leave the window blank for the default size, otherwise enter a tuple of (width, height) pixels. - -Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. - -Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. - - diff --git a/grc/blocks/wxgui_numbersink2.xml b/grc/blocks/wxgui_numbersink2.xml deleted file mode 100644 index ad93dec08..000000000 --- a/grc/blocks/wxgui_numbersink2.xml +++ /dev/null @@ -1,192 +0,0 @@ - - - - Number Sink - wxgui_numbersink2 - from gnuradio.wxgui import numbersink2 - #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' -numbersink2.$(type.fcn)( - $(parent).GetWin(), - unit=$units, - minval=$min_value, - maxval=$max_value, - factor=$factor, - decimal_places=$decimal_places, - ref_level=$ref_level, - sample_rate=$samp_rate, - number_rate=$number_rate, - average=$average, - avg_alpha=#if $avg_alpha() then $avg_alpha else 'None'#, - label=$title, - peak_hold=$peak_hold, - show_gauge=$show_gauge, -#if $win_size() - size=$win_size, -#end if -) -#if not $grid_pos() -$(parent).Add(self.$(id).win) -#else -$(parent).GridAdd(self.$(id).win, $(', '.join(map(str, $grid_pos())))) -#end if - - Type - type - complex - enum - - - - - Title - title - Number Plot - string - - - Units - units - Units - string - - - Sample Rate - samp_rate - samp_rate - real - - - Min Value - min_value - -100 - real - - - Max Value - max_value - 100 - real - - - Factor - factor - 1.0 - real - - - Decimal Places - decimal_places - 10 - int - - - Reference Level - ref_level - 0 - real - - - Number Rate - number_rate - 15 - int - - - Peak Hold - peak_hold - False - enum - #if $peak_hold() == 'True' then 'none' else 'part'# - - - - - Average - average - False - enum - part - - - - - Average Alpha - avg_alpha - 0 - real - #if $average() == 'True' then 'none' else 'all'# - - - Show Gauge - show_gauge - True - enum - - - - - Window Size - win_size - - int_vector - #if $win_size() then 'none' else 'part'# - - - Grid Position - grid_pos - - grid_pos - - - Notebook - notebook - - notebook - - not $win_size or len($win_size) == 2 - - in - $type - - -Set Average Alpha to 0 for automatic setting. - -Leave the window blank for the default size, otherwise enter a tuple of (width, height) pixels. - -Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. - -Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. - -Incoming numbers are multiplied by the factor, and then added-to by the reference level. - - diff --git a/grc/blocks/wxgui_scopesink2.xml b/grc/blocks/wxgui_scopesink2.xml deleted file mode 100644 index ef0377373..000000000 --- a/grc/blocks/wxgui_scopesink2.xml +++ /dev/null @@ -1,186 +0,0 @@ - - - - Scope Sink - wxgui_scopesink2 - from gnuradio.wxgui import scopesink2 - from gnuradio import gr - #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' -scopesink2.$(type.fcn)( - $(parent).GetWin(), - title=$title, - sample_rate=$samp_rate, - v_scale=$v_scale, - v_offset=$v_offset, - t_scale=$t_scale, - ac_couple=$ac_couple, - xy_mode=$xy_mode, - num_inputs=$num_inputs, - trig_mode=$trig_mode, - y_axis_label=$y_axis_label, -#if $win_size() - size=$win_size, -#end if -) -#if not $grid_pos() -$(parent).Add(self.$(id).win) -#else -$(parent).GridAdd(self.$(id).win, $(', '.join(map(str, $grid_pos())))) -#end if - set_sample_rate($samp_rate) - - Type - type - complex - enum - - - - - Title - title - Scope Plot - string - - - Sample Rate - samp_rate - samp_rate - real - - - V Scale - v_scale - 0 - real - #if $v_scale() then 'none' else 'part'# - - - V Offset - v_offset - 0 - real - #if $v_offset() then 'none' else 'part'# - - - T Scale - t_scale - 0 - real - #if $t_scale() then 'none' else 'part'# - - - AC Couple - ac_couple - False - bool - #if $ac_couple() then 'none' else 'part'# - - - - - XY Mode - xy_mode - False - enum - #if $xy_mode() == 'True' then 'none' else 'part'# - - - - - Num Inputs - num_inputs - 1 - int - - - Window Size - win_size - - int_vector - #if $win_size() then 'none' else 'part'# - - - Grid Position - grid_pos - - grid_pos - - - Notebook - notebook - - notebook - - - Trigger Mode - trig_mode - enum - - - - - - - Y Axis Label - y_axis_label - Counts - string - - not $win_size or len($win_size) == 2 - not $xy_mode or '$type' == 'complex' or $num_inputs != 1 - - in - $type - $num_inputs - - -Set the V Scale to 0 for the scope to auto-scale. - -Set the T Scale to 0 for automatic setting. - -XY Mode allows the scope to initialize as an XY plotter. - -Leave the window blank for the default size, otherwise enter a tuple of (width, height) pixels. - -Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. - -Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. - - diff --git a/grc/blocks/wxgui_termsink.xml b/grc/blocks/wxgui_termsink.xml deleted file mode 100644 index 985d89b58..000000000 --- a/grc/blocks/wxgui_termsink.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - Terminal Sink - wxgui_termsink - - from gnuradio.wxgui import termsink - - #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' -termsink.termsink( - parent=$(parent).GetWin(), -#if $win_size() - size=$win_size, -#end if - msgq=$(id)_msgq_in, -) -#if not $grid_pos() -$(parent).Add(self.$(id)) -#else -$(parent).GridAdd(self.$(id), $(', '.join(map(str, $grid_pos())))) -#end if - - - Window Size - win_size - - int_vector - #if $win_size() then 'none' else 'part'# - - - Grid Position - grid_pos - - grid_pos - - - - Notebook - notebook - - notebook - - - not $win_size or len($win_size) == 2 - - - in - msg - - - diff --git a/grc/blocks/wxgui_waterfallsink2.xml b/grc/blocks/wxgui_waterfallsink2.xml deleted file mode 100644 index 3de67597f..000000000 --- a/grc/blocks/wxgui_waterfallsink2.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - Waterfall Sink - wxgui_waterfallsink2 - from gnuradio import window - from gnuradio.wxgui import waterfallsink2 - #set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' -waterfallsink2.$(type.fcn)( - $(parent).GetWin(), - baseband_freq=$baseband_freq, - dynamic_range=$dynamic_range, - ref_level=$ref_level, - ref_scale=$ref_scale, - sample_rate=$samp_rate, - fft_size=$fft_size, - fft_rate=$fft_rate, - average=$average, - avg_alpha=#if $avg_alpha() then $avg_alpha else 'None'#, - title=$title, -#if $win() - win=$win, -#end if -#if $win_size() - size=$win_size, -#end if -) -#if not $grid_pos() -$(parent).Add(self.$(id).win) -#else -$(parent).GridAdd(self.$(id).win, $(', '.join(map(str, $grid_pos())))) -#end if - set_baseband_freq($baseband_freq) - set_sample_rate($samp_rate) - - Type - type - complex - enum - - - - - Title - title - Waterfall Plot - string - - - Sample Rate - samp_rate - samp_rate - real - - - Baseband Freq - baseband_freq - 0 - real - - - Dynamic Range - dynamic_range - 100 - real - - - Reference Level - ref_level - 50 - real - - - Ref Scale (p2p) - ref_scale - 2.0 - real - - - FFT Size - fft_size - 512 - int - - - FFT Rate - fft_rate - 15 - int - - - Average - average - False - enum - part - - - - - Average Alpha - avg_alpha - 0 - real - #if $average() == 'True' then 'none' else 'all'# - - - Window - win - None - raw - #if $win() is None then 'part' else 'none'# - - - - - - - - - Window Size - win_size - - int_vector - #if $win_size() then 'none' else 'part'# - - - Grid Position - grid_pos - - grid_pos - - - Notebook - notebook - - notebook - - not $win_size or len($win_size) == 2 - - in - $type - - -Set Average Alpha to 0 for automatic setting. - -Leave the window blank for the default size, otherwise enter a tuple of (width, height) pixels. - -Use the Grid Position (row, column, row span, column span) to position the graphical element in the window. - -Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page. - - diff --git a/grc/grc_gnuradio/Makefile.am b/grc/grc_gnuradio/Makefile.am index 63bb72822..c53d07b4e 100644 --- a/grc/grc_gnuradio/Makefile.am +++ b/grc/grc_gnuradio/Makefile.am @@ -42,9 +42,3 @@ usrp_python_PYTHON = \ usrp/common.py \ usrp/dual_usrp.py \ usrp/simple_usrp.py - -wxgui_pythondir = $(grc_gnuradio_prefix)/wxgui -wxgui_python_PYTHON = \ - wxgui/__init__.py \ - wxgui/panel.py \ - wxgui/top_block_gui.py diff --git a/grc/grc_gnuradio/wxgui/__init__.py b/grc/grc_gnuradio/wxgui/__init__.py deleted file mode 100644 index 81427253b..000000000 --- a/grc/grc_gnuradio/wxgui/__init__.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright 2008, 2009 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 top_block_gui import top_block_gui -from panel import Panel diff --git a/grc/grc_gnuradio/wxgui/panel.py b/grc/grc_gnuradio/wxgui/panel.py deleted file mode 100644 index e62133cac..000000000 --- a/grc/grc_gnuradio/wxgui/panel.py +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 2009 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. -# - -import wx - -class Panel(wx.Panel): - def __init__(self, parent, orient=wx.VERTICAL): - wx.Panel.__init__(self, parent) - self._box = wx.BoxSizer(orient) - self._grid = wx.GridBagSizer(5, 5) - self.Add(self._grid) - self.SetSizer(self._box) - - def GetWin(self): return self - - def Add(self, win): - """ - Add a window to the wx vbox. - @param win the wx window - """ - self._box.Add(win, 0, wx.EXPAND) - - def GridAdd(self, win, row, col, row_span=1, col_span=1): - """ - Add a window to the wx grid at the given position. - @param win the wx window - @param row the row specification (integer >= 0) - @param col the column specification (integer >= 0) - @param row_span the row span specification (integer >= 1) - @param col_span the column span specification (integer >= 1) - """ - self._grid.Add(win, wx.GBPosition(row, col), wx.GBSpan(row_span, col_span), wx.EXPAND) diff --git a/grc/grc_gnuradio/wxgui/top_block_gui.py b/grc/grc_gnuradio/wxgui/top_block_gui.py deleted file mode 100644 index 333ccf1c1..000000000 --- a/grc/grc_gnuradio/wxgui/top_block_gui.py +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2008, 2009 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. -# - -import wx -from gnuradio import gr -import panel - -default_gui_size = (200, 100) - -class top_block_gui(gr.top_block): - """gr top block with wx gui app and grid sizer.""" - - def __init__(self, title='', size=default_gui_size): - """ - Initialize the gr top block. - Create the wx gui elements. - @param title the main window title - @param size the main window size tuple in pixels - @param icon the file path to an icon or None - """ - #initialize - gr.top_block.__init__(self) - self._size = size - #create gui elements - self._app = wx.App() - self._frame = wx.Frame(None, title=title) - self._panel = panel.Panel(self._frame) - self.Add = self._panel.Add - self.GridAdd = self._panel.GridAdd - self.GetWin = self._panel.GetWin - - def SetIcon(self, *args, **kwargs): self._frame.SetIcon(*args, **kwargs) - - def Run(self, start=True): - """ - Setup the wx gui elements. - Start the gr top block. - Block with the wx main loop. - """ - #set minimal window size - self._frame.SetSizeHints(*self._size) - #create callback for quit - def _quit(event): - self.stop(); self.wait() - self._frame.Destroy() - #setup app - self._frame.Bind(wx.EVT_CLOSE, _quit) - self._sizer = wx.BoxSizer(wx.VERTICAL) - self._sizer.Add(self._panel, 0, wx.EXPAND) - self._frame.SetSizerAndFit(self._sizer) - self._frame.SetAutoLayout(True) - self._frame.Show(True) - self._app.SetTopWindow(self._frame) - #start flow graph - if start: self.start() - #blocking main loop - self._app.MainLoop() diff --git a/grc/python/Platform.py b/grc/python/Platform.py index 04db0b9b0..ec3f94096 100644 --- a/grc/python/Platform.py +++ b/grc/python/Platform.py @@ -1,5 +1,5 @@ """ -Copyright 2008, 2009, 2010 Free Software Foundation, Inc. +Copyright 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of GNU Radio GNU Radio Companion is free software; you can redistribute it and/or -- cgit