diff options
32 files changed, 0 insertions, 2273 deletions
diff --git a/gr-input/CMakeLists.txt b/gr-input/CMakeLists.txt deleted file mode 100644 index 50babee29..000000000 --- a/gr-input/CMakeLists.txt +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 2012 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. - -######################################################################## -# Setup dependencies -######################################################################## -#include(GrBoost) - -#find_package(SCIGENW3f) - -######################################################################## -# Register component -######################################################################## -include(GrComponent) - -GR_REGISTER_COMPONENT("gr-input" ENABLE_GR_INPUT - ENABLE_GRUEL - ENABLE_VOLK - Boost_FOUND - ENABLE_GR_CORE -) - -######################################################################## -# Begin conditional configuration -######################################################################## -if(ENABLE_GR_INPUT) - -######################################################################## -# Add subdirectories -######################################################################## -if(ENABLE_PYTHON) - add_subdirectory(python) - add_subdirectory(grc) -endif(ENABLE_PYTHON) -#add_subdirectory(examples) -add_subdirectory(doc) - - -endif(ENABLE_GR_INPUT) diff --git a/gr-input/doc/CMakeLists.txt b/gr-input/doc/CMakeLists.txt deleted file mode 100644 index b10223aaf..000000000 --- a/gr-input/doc/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 2012 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. - -install( - FILES README.input - DESTINATION ${GR_PKG_DOC_DIR} -) diff --git a/gr-input/doc/README.input b/gr-input/doc/README.input deleted file mode 100644 index 1bd326897..000000000 --- a/gr-input/doc/README.input +++ /dev/null @@ -1,2 +0,0 @@ -Serial Python block - diff --git a/gr-input/doc/input.dox b/gr-input/doc/input.dox deleted file mode 100644 index 8843d0560..000000000 --- a/gr-input/doc/input.dox +++ /dev/null @@ -1,29 +0,0 @@ -/*! \page page_fft FFT Signal Processing Blocks - -\section Introduction - -This is the gr-scigen package. It contains signal processing blocks to -perform FFTs and FFT-related functionality. - -The Python namespace is in gnuradio.fft, which would be normally -imported as: - -\code - from gnuradio import scigen -\endcode - -See the Doxygen documentation for details about the blocks available -in this package. A quick listing of the details can be found in Python -after importing by using: - -\code - help(scigen) -\endcode - -\section Dependencies - -The scigen blocks require the following dependencies. - -\li fftw3f (>= 3.0) http://www.fftw.org/download.html - -*/ diff --git a/gr-input/grc/CMakeLists.txt b/gr-input/grc/CMakeLists.txt deleted file mode 100644 index 61b317f77..000000000 --- a/gr-input/grc/CMakeLists.txt +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright 2012 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. - -install(FILES - step_source.xml - DESTINATION ${GRC_BLOCKS_DIR} - COMPONENT "input_python" -) - -install(FILES - ramp_source.xml - DESTINATION ${GRC_BLOCKS_DIR} - COMPONENT "input_python" -) - -install(FILES - Transfer_function_Numerator.xml - DESTINATION ${GRC_BLOCKS_DIR} - COMPONENT "input_python" -) - - - -install(FILES - Transfer_function_Denominator.xml - DESTINATION ${GRC_BLOCKS_DIR} - COMPONENT "input_python" -) - - -install(FILES - Transfer_function_Denominator.xml - DESTINATION ${GRC_BLOCKS_DIR} - COMPONENT "input_python" -) - -install(FILES - Transfer_function_Response.xml - DESTINATION ${GRC_BLOCKS_DIR} - COMPONENT "input_python" -) - -install(FILES - Calculation_Roots.xml - DESTINATION ${GRC_BLOCKS_DIR} - COMPONENT "input_python" -) - -install(FILES - Calculation_Calculator.xml - DESTINATION ${GRC_BLOCKS_DIR} - COMPONENT "input_python" -) - - -install(FILES - plot_sink.xml - DESTINATION ${GRC_BLOCKS_DIR} - COMPONENT "input_python" -) - diff --git a/gr-input/grc/Calculation_Calculator.xml b/gr-input/grc/Calculation_Calculator.xml deleted file mode 100644 index 070712f57..000000000 --- a/gr-input/grc/Calculation_Calculator.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0"?> -<block> - <name>Calculator</name> - <key>Calculation_Calculator</key> - <category>Calculation</category> - <import>import gnuradio.input.Calculator</import> - <make>gnuradio.input.Calculator.Calculator($num_inputs) -self.$(id).set_parameters($Exp,$num_inputs)</make> - -<param> -<name>Expression</name> -<key>Exp</key> -<type>string</type> -</param> - -<param> -<name>Num inputs</name> -<key>num_inputs</key> -<value>1</value> -<type>int</type> -</param> - - <sink> - <name>in0</name> - <type>float</type> - <nports>$num_inputs</nports> - </sink> -<!-- - <sink> - <name>in1</name> - <type>float</type> - <nports>4</nports> - </sink> --> - - - <source> - <name>out</name> - <type>float</type> - </source> - -<doc> - -Variable names must be a0,a1,a2 and so on. - -You can use maximum 10 variables per block. - -Example to add 5 variables: - -"a0+a1+a2+a3+a4" - -To perform Exponential(power) calculations on operators use the following: - -a0**a1 - -To perform calculations like sqrt, log or exp use the following: - -sqrt(a4) - -log(a2) - -exp(a8) - -</doc> - -</block> diff --git a/gr-input/grc/Calculation_Roots.xml b/gr-input/grc/Calculation_Roots.xml deleted file mode 100644 index 9871cad5a..000000000 --- a/gr-input/grc/Calculation_Roots.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0"?> -<block> - <name>Roots</name> - <key>Calculation_Roots</key> - <category>Calculation</category> - <import>import gnuradio.input.Roots</import> - <make>gnuradio.input.Roots.Roots($order)</make> - -<param> - <name>Order of transfer function</name> - <key>order</key> - <value>samp_rate</value> - <type>real</type> - -</param> - - <sink> - <name>in</name> - <type>float</type> - </sink> -<!-- - <sink> - <name>in1</name> - <type>float</type> - <nports>4</nports> - </sink> --> - - - <source> - <name>out</name> - <type>float</type> - <nports>2*$order</nports> - </source> -</block> diff --git a/gr-input/grc/Transfer_Function_Denominator.xml b/gr-input/grc/Transfer_Function_Denominator.xml deleted file mode 100644 index 5ea581a98..000000000 --- a/gr-input/grc/Transfer_Function_Denominator.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0"?> -<block> - <name>Denominator</name> - <key>Transfer_Function_Denominator</key> - <category>Transfer Function</category> - <import>import gnuradio.input.Denominator</import> - <make>gnuradio.input.Denominator.Denominator($num_inputs)</make> - -<param> -<name>Num inputs</name> -<key>num_inputs</key> -<value>1</value> -<type>int</type> -</param> - - <sink> - <name>in0</name> - <type>float</type> - <nports>$num_inputs</nports> - </sink> -<!-- - <sink> - <name>in1</name> - <type>float</type> - <nports>4</nports> - </sink> --> - - - <source> - <name>out</name> - <type>float</type> - </source> -</block> diff --git a/gr-input/grc/Transfer_Function_Numerator.xml b/gr-input/grc/Transfer_Function_Numerator.xml deleted file mode 100644 index 8bb367a62..000000000 --- a/gr-input/grc/Transfer_Function_Numerator.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0"?> -<block> - <name>Numerator</name> - <key>Transfer_Function_Numerator</key> - <category>Transfer Function</category> - <import>import gnuradio.input.Numerator</import> - <make>gnuradio.input.Numerator.Numerator($num_inputs)</make> - -<param> -<name>Num inputs</name> -<key>num_inputs</key> -<value>1</value> -<type>int</type> -</param> - - <sink> - <name>in0</name> - <type>float</type> - <nports>$num_inputs</nports> - </sink> -<!-- - <sink> - <name>in1</name> - <type>float</type> - <nports>4</nports> - </sink> --> - - - <source> - <name>out</name> - <type>float</type> - </source> -</block> diff --git a/gr-input/grc/Transfer_Function_Transfer_Function.xml b/gr-input/grc/Transfer_Function_Transfer_Function.xml deleted file mode 100644 index 203fe4a7b..000000000 --- a/gr-input/grc/Transfer_Function_Transfer_Function.xml +++ /dev/null @@ -1,66 +0,0 @@ -<?xml version="1.0"?> -<block> - <name>Transfer Function</name> - <key>Transfer_Function_Transfer_Function</key> - <category>Transfer Function</category> - <import>import gnuradio.input.Transfer_Function</import> - <make>gnuradio.input.Transfer_Function.Transfer_Function($order,$itype,$tstart,$tstop,$tstep)</make> - -<param> - <name>Order of transfer function</name> - <key>order</key> - <value>1</value> - <type>real</type> - -</param> - - - <param> - <name>Input Types</name> - <key>itype</key> - <type>enum</type> - <option><name>Impulse</name><key>11</key></option> - <option><name>Step</name><key>12</key></option> - <option><name>Ramp</name><key>13</key></option> - </param> - - <param> -<name>tstart</name> -<key>tstart</key> -<value>0</value> -<type>real</type> -</param> - -<param> -<name>tstop</name> -<key>tstop</key> -<value>0</value> -<type>real</type> -</param> - -<param> -<name>tstep</name> -<key>tstep</key> -<value>0</value> -<type>real</type> -</param> - - - <sink> - <name>in</name> - <type>float</type> - <nports>2</nports> - </sink> -<!-- - <sink> - <name>in1</name> - <type>float</type> - <nports>4</nports> - </sink> --> - - - <source> - <name>out</name> - <type>float</type> - </source> -</block> diff --git a/gr-input/grc/Transfer_function_Denominator.xml b/gr-input/grc/Transfer_function_Denominator.xml deleted file mode 100644 index 2ba936580..000000000 --- a/gr-input/grc/Transfer_function_Denominator.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0"?> -<block> - <name>Denominator</name> - <key>Transfer_function_Denominator</key> - <category>Transfer_function</category> - <import>import gnuradio.input.Denominator</import> - <make>gnuradio.input.Denominator.Denominator($num_inputs)</make> - -<param> -<name>Order of Transfer Function</name> -<key>num_inputs</key> -<value>1</value> -<type>int</type> -</param> - - <sink> - <name>in0</name> - <type>float</type> - <nports>1+$num_inputs</nports> - </sink> -<!-- - <sink> - <name>in1</name> - <type>float</type> - <nports>4</nports> - </sink> --> - - - <source> - <name>out</name> - <type>float</type> - </source> - -<doc> - -This will take the coefficient values for the Denominator. - -in00 = value of the coefficient of s^0 - -in01 = value of the coefficient of s^1 - -in02 = value of the coefficient of s^2 - -and so on.. - -</doc> - - -</block> diff --git a/gr-input/grc/Transfer_function_Numerator.xml b/gr-input/grc/Transfer_function_Numerator.xml deleted file mode 100644 index 1ad34f316..000000000 --- a/gr-input/grc/Transfer_function_Numerator.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0"?> -<block> - <name>Numerator</name> - <key>Transfer_function_Numerator</key> - <category>Transfer_function</category> - <import>import gnuradio.input.Numerator</import> - <make>gnuradio.input.Numerator.Numerator($num_inputs)</make> - -<param> -<name>Order of Transfer Function</name> -<key>num_inputs</key> -<value>1</value> -<type>int</type> -</param> - - <sink> - <name>in0</name> - <type>float</type> - <nports>1+$num_inputs</nports> - </sink> -<!-- - <sink> - <name>in1</name> - <type>float</type> - <nports>4</nports> - </sink> --> - - - <source> - <name>out</name> - <type>float</type> - </source> - -<doc> - -This will take the coefficient values for the numerator. - -in00 = value of the coefficient of s^0 - -in01 = value of the coefficient of s^1 - -in02 = value of the coefficient of s^2 - -and so on.. - -</doc> - -</block> diff --git a/gr-input/grc/Transfer_function_Response.xml b/gr-input/grc/Transfer_function_Response.xml deleted file mode 100644 index cb08a4c2a..000000000 --- a/gr-input/grc/Transfer_function_Response.xml +++ /dev/null @@ -1,80 +0,0 @@ -<?xml version="1.0"?> -<block> - <name>Response</name> - <key>Transfer_function_Response</key> - <category>Transfer_function</category> - <import>import gnuradio.input.Response</import> - <make>gnuradio.input.Response.Response($order,$itype,$tstart,$tstop,$tstep)</make> - -<param> - <name>Order of transfer function</name> - <key>order</key> - <value>1</value> - <type>real</type> - -</param> - - - <param> - <name>Input Types</name> - <key>itype</key> - <type>enum</type> - <option><name>Impulse</name><key>11</key></option> - <option><name>Step</name><key>12</key></option> - <option><name>Ramp</name><key>13</key></option> - </param> - - <param> -<name>tstart</name> -<key>tstart</key> -<value>0</value> -<type>real</type> -</param> - -<param> -<name>tstop</name> -<key>tstop</key> -<value>0</value> -<type>real</type> -</param> - -<param> -<name>tstep</name> -<key>tstep</key> -<value>0</value> -<type>real</type> -</param> - - - <sink> - <name>in</name> - <type>float</type> - <nports>2</nports> - </sink> -<!-- - <sink> - <name>in1</name> - <type>float</type> - <nports>4</nports> - </sink> --> - - - <source> - <name>out</name> - <type>float</type> - </source> - -<doc> - -This block can perfrom three types of system responses. - -Step, Ramp and Impulse. - -in0 = Numerator Equation - -in1 = Denominator Equation - -</doc> - - -</block> diff --git a/gr-input/grc/plot_sink.xml b/gr-input/grc/plot_sink.xml deleted file mode 100755 index 07022ea07..000000000 --- a/gr-input/grc/plot_sink.xml +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##Variable Sink: Custom blks2 block -################################################### - --> -<block> - <name>Plot Sink</name> - <key>plot_sink</key> - <category>Single Board Heater System</category> - <import>import gnuradio.input.plot_sink</import> - <make>#set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' -gnuradio.input.plot_sink.plot_sink_$(type.fcn)( - $(parent).GetWin(), - title=$title, - vlen=$vlen, - decim=$decim, - gsz=$gsz, - zoom=$zoom, -) -#if not $grid_pos() -$(parent).Add(self.$(id).win) -#else -$(parent).GridAdd(self.$(id).win, $(', '.join(map(str, $grid_pos())))) -#end if</make> - <callback>set_decim($decim)</callback> - <param> - <name>Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>Complex</name> - <key>complex</key> - <opt>fcn:c</opt> - </option> - <option> - <name>Float</name> - <key>float</key> - <opt>fcn:f</opt> - </option> - <option> - <name>Int</name> - <key>int</key> - <opt>fcn:i</opt> - </option> - <option> - <name>Short</name> - <key>short</key> - <opt>fcn:s</opt> - </option> - <option> - <name>Byte</name> - <key>byte</key> - <opt>fcn:b</opt> - </option> - </param> - <param> - <name>Title</name> - <key>title</key> - <value>Scope Plot</value> - <type>string</type> - </param> - <param> - <name>Decimation</name> - <key>decim</key> - <value>1</value> - <type>int</type> - </param> - <param> - <name>Vec Length</name> - <key>vlen</key> - <value>1</value> - <type>int</type> - </param> - - <param> - <name>Graph size</name> - <key>gsz</key> - <value>50</value> - <type>int</type> - </param> - <param> - <name>History Required</name> - <key>zoom</key> - <value>0</value> - <type>int</type> - </param> - - <param> - <name>Grid Position</name> - <key>grid_pos</key> - <value></value> - <type>grid_pos</type> - </param> - <param> - <name>Notebook</name> - <key>notebook</key> - <value></value> - <type>notebook</type> - </param> - - <check>$vlen > 0</check> - <sink> - <name>in</name> - <type>$type</type> - <vlen>$vlen</vlen> - </sink> - <doc> -Read samples from the input stream and \ -plot one in every decimation samples to the plot sink. -</doc> -</block> diff --git a/gr-input/grc/plzr_plot.xml b/gr-input/grc/plzr_plot.xml deleted file mode 100644 index 833149ea5..000000000 --- a/gr-input/grc/plzr_plot.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0"?> -<block> - <name>plzr_plot</name> - <key>plzr_plot</key> - <category>Python_Blocks</category> - <import>import gnuradio.plzr_plot</import> - <make>gnuradio.plzr_plot.plzr_plot($order)</make> - -<param> - <name>Order of transfer function</name> - <key>order</key> - <value>1</value> - <type>real</type> - -</param> - - - - <sink> - <name>in</name> - <type>float</type> - <nports>2</nports> - </sink> -</block> -<!-- - <sink> - <name>in1</name> - <type>float</type> - <nports>4</nports> - </sink> - - - <source> - <name>in</name> - <type>float</type> - </source> -</block>--> diff --git a/gr-input/grc/ramp_source.xml b/gr-input/grc/ramp_source.xml deleted file mode 100644 index 5cba29ae7..000000000 --- a/gr-input/grc/ramp_source.xml +++ /dev/null @@ -1,87 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## -CSIM Block: -## all types, 1 output, 2 to inf inputs -################################################### - --> -<block> - <name>Ramp Input</name> - <key>ramp</key> - <category>Sources</category> - - <import>from gnuradio.input import ramp_hierblock as ramp_hierblock</import> - <make>ramp_hierblock.HierBlock($S,$H_Off,$W_Off) - </make> - <param> - <name>IO Type</name> - <key>type</key> - <type>enum</type> - <option><name>F32_F32</name><key>f32_f32</key></option> - <option><name>S32_S32</name><key>s32_s32</key></option> - <option><name>S16_S16</name><key>s16_s16</key></option> - <option><name>S8_S8</name><key>s8_s8</key></option> - </param> - <param> - <name>Num Inputs</name> - <key>num_inputs</key> - <value>1</value> - <type>int</type> - </param> - <param> - <name>Vec Length</name> - <key>vlen</key> - <value>1</value> - <type>int</type> - </param> - - <!-- - Desimulation options - --> - <param> - <name>slope of ramp</name> - <key>S</key> - <value>1</value> - <type>real</type> - </param> - - <param> - <name>height of offset</name> - <key>H_Off</key> - <value>0</value> - <type>real</type> - </param> - - <param> - <name>width of offset</name> - <key>W_Off</key> - <value>0</value> - <type>real</type> - </param> - - <!-- - Check if number of inputs are greater than 0, and if vector length - is greater than 0. - --> - <check>$num_inputs > 0</check> - <check>$vlen > 0</check> - - <source> - <name>out</name> - <type>$(str($type).split('_')[1])</type> - <vlen>$vlen</vlen> - </source> - <doc> - -Ramp Input block : - -Slope of ramp is the slope of ramp user wants to generate. -Height of Offset is the height of step user wants to generate as initial signal. -Width of Offset is the length upto which user wants to see the generated offset be. - -Default slope of ramp is 1 unit. -Default height and width of offset is 1 unit. -</doc> -</block> - diff --git a/gr-input/grc/step_source.xml b/gr-input/grc/step_source.xml deleted file mode 100644 index 599980030..000000000 --- a/gr-input/grc/step_source.xml +++ /dev/null @@ -1,88 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -## -CSIM Block: -## all types, 1 output, 2 to inf inputs -################################################### - --> -<block> - <name>Step Input</name> - <key>step_offset</key> - <category>Sources</category> - - <import>from gnuradio.input import step_hierblock as step_hierblock</import> - <make>step_hierblock.HierBlock($S,$H_Off,$W_Off) - </make> - <param> - <name>IO Type</name> - <key>type</key> - <type>enum</type> - <option><name>F32_F32</name><key>f32_f32</key></option> - <option><name>S32_S32</name><key>s32_s32</key></option> - <option><name>S16_S16</name><key>s16_s16</key></option> - <option><name>S8_S8</name><key>s8_s8</key></option> - </param> - <param> - <name>Num Inputs</name> - <key>num_inputs</key> - <value>1</value> - <type>int</type> - </param> - <param> - <name>Vec Length</name> - <key>vlen</key> - <value>1</value> - <type>int</type> - </param> - - <!-- - Desimulation options - --> - <param> - <name>step size</name> - <key>S</key> - <value>1</value> - <type>real</type> - </param> - - <param> - <name>height of offset</name> - <key>H_Off</key> - <value>0</value> - <type>real</type> - </param> - - <param> - <name>width of offset</name> - <key>W_Off</key> - <value>0</value> - <type>real</type> - </param> - - - <!-- - Check if number of inputs are greater than 0, and if vector length - is greater than 0. - --> - <check>$num_inputs > 0</check> - <check>$vlen > 0</check> - - <source> - <name>out</name> - <type>$(str($type).split('_')[1])</type> - <vlen>$vlen</vlen> - </source> - <doc> - -Step Input block : - -Step size is the height of step user wants to generate. -Height of Offset is the height of step user wants to generate as initial signal. -Width of Offset is the length upto which user wants to see the generated offset before starting with the height equivalent to step size. - -Default step size is 1 unit. -Default height and width of offset is 1 unit -</doc> -</block> - diff --git a/gr-input/python/CMakeLists.txt b/gr-input/python/CMakeLists.txt deleted file mode 100644 index 7c73fc59f..000000000 --- a/gr-input/python/CMakeLists.txt +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright 2012 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(GrPython) - -GR_PYTHON_INSTALL( - FILES - __init__.py - DESTINATION ${GR_PYTHON_DIR}/gnuradio/input - COMPONENT "input_python" -) - -GR_PYTHON_INSTALL( - FILES - gr_ramp_source.py - DESTINATION ${GR_PYTHON_DIR}/gnuradio/input - COMPONENT "input_python" -) - -GR_PYTHON_INSTALL( - FILES - gr_step_source.py - DESTINATION ${GR_PYTHON_DIR}/gnuradio/input - COMPONENT "input_python" -) - -GR_PYTHON_INSTALL( - FILES - ramp_hierblock.py - DESTINATION ${GR_PYTHON_DIR}/gnuradio/input - COMPONENT "input_python" -) - -GR_PYTHON_INSTALL( - FILES - step_hierblock.py - DESTINATION ${GR_PYTHON_DIR}/gnuradio/input - COMPONENT "input_python" -) - -GR_PYTHON_INSTALL( - FILES - Numerator.py - DESTINATION ${GR_PYTHON_DIR}/gnuradio/input - COMPONENT "input_python" -) - - -GR_PYTHON_INSTALL( - FILES - Denominator.py - DESTINATION ${GR_PYTHON_DIR}/gnuradio/input - COMPONENT "input_python" -) - - -GR_PYTHON_INSTALL( - FILES - Response.py - DESTINATION ${GR_PYTHON_DIR}/gnuradio/input - COMPONENT "input_python" -) - -GR_PYTHON_INSTALL( - FILES - Roots.py - DESTINATION ${GR_PYTHON_DIR}/gnuradio/input - COMPONENT "input_python" -) - -GR_PYTHON_INSTALL( - FILES - Calculator.py - DESTINATION ${GR_PYTHON_DIR}/gnuradio/input - COMPONENT "input_python" -) - -GR_PYTHON_INSTALL( - FILES - plot_sink.py - DESTINATION ${GR_PYTHON_DIR}/gnuradio/input - COMPONENT "input_python" -) - -GR_PYTHON_INSTALL( - FILES - matplotsink.py - DESTINATION ${GR_PYTHON_DIR}/gnuradio/input - COMPONENT "input_python" -) - - -######################################################################## -# Handle the unit tests -######################################################################## -if(ENABLE_TESTING) - -list(APPEND GR_TEST_PYTHON_DIRS - ${CMAKE_BINARY_DIR}/gr-input/python -) -list(APPEND GR_TEST_TARGET_DEPS gnuradio-input) - -include(GrTest) - - -file(GLOB py_qa_test_files "qa_*.py") -foreach(py_qa_test_file ${py_qa_test_files}) - get_filename_component(py_qa_test_name ${py_qa_test_file} NAME_WE) - GR_ADD_TEST(${py_qa_test_name} ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} ${py_qa_test_file}) -endforeach(py_qa_test_file) -endif(ENABLE_TESTING) diff --git a/gr-input/python/Calculator.py b/gr-input/python/Calculator.py deleted file mode 100644 index f2eaf0481..000000000 --- a/gr-input/python/Calculator.py +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2015 <+YOU OR YOUR COMPANY+>. -# -# This 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. -# -# This software 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 this software; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -import numpy -from numpy import log -from numpy import exp -from numpy import sqrt -from gnuradio import gr -import time - -class Calculator(gr.sync_block): - """ - docstring for block add_python - """ - def __init__(self,num_inputs): - number = num_inputs - a = [] - for i in range(0,number): - a.append(numpy.float32) -# print "value of a",a - gr.sync_block.__init__(self, - name="Calculator", - in_sig=a, - out_sig=[numpy.float32]) - - #print "I am over slept" - #print len(self.ret_array) - def set_parameters(self,Exp,num_inputs): - self.Exp = Exp - #print "This is EXP", Exp - self.num_inputs = num_inputs - - - def work(self, input_items, output_items): - try: - a0 = input_items[0] - except IndexError: - pass - try: - a1 = input_items[1] - except IndexError: - pass - try: - a2 = input_items[2] - except IndexError: - pass - try: - a3 = input_items[3] - except IndexError: - pass - try: - a4 = input_items[4] - except IndexError: - pass - try: - a5 = input_items[5] - except IndexError: - pass - try: - a6 = input_items[6] - except IndexError: - pass - try: - a7 = input_items[7] - except IndexError: - pass - try: - a8 = input_items[8] - except IndexError: - pass - try: - a9 = input_items[9] - except IndexError: - pass - #out = output_items[0][0] - print "This is self.Exp\n",self.Exp - - output_items[0][:] = eval(self.Exp) - #print "This is the output value\n", output_items[0][0] - #print "I am the oputput add python\n", eval(self.Exp) - return len(output_items[0]) - diff --git a/gr-input/python/Denominator.py b/gr-input/python/Denominator.py deleted file mode 100644 index 5d256f136..000000000 --- a/gr-input/python/Denominator.py +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2015 <+YOU OR YOUR COMPANY+>. -# -# This 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. -# -# This software 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 this software; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -import time -import numpy -from gnuradio import gr - -class Denominator(gr.sync_block): - """ - docstring for block add_python - """ - def __init__(self,num_inputs): - number = num_inputs - a = [] - for i in range(0,number): - a.append(numpy.float32) - gr.sync_block.__init__(self, - name="Denominator", - in_sig=a, - out_sig=[numpy.float32]) - - def work(self, input_items, output_items): - b=[0,0,0,0,0,0,0,0,0,0] - try: - b[0] = input_items[0][0] - except IndexError: - pass - try: - b[1] = input_items[1][0] - except IndexError: - pass - try: - b[2] = input_items[2][0] - except IndexError: - pass - try: - b[3] = input_items[3][0] - except IndexError: - pass - try: - b[4] = input_items[4][0] - except IndexError: - pass - try: - b[5] = input_items[5][0] - except IndexError: - pass - try: - b[6] = input_items[6][0] - except IndexError: - pass - try: - b[7] = input_items[7][0] - except IndexError: - pass - try: - b[8] = input_items[8][0] - except IndexError: - pass - try: - b[9] = input_items[9][0] - except IndexError: - pass - - var = len(input_items) - out = output_items[0][:var] - out_arr=[] - time.sleep(0.001) - - for i in range(0,len(input_items)): - out_arr.append(b[i]) - out[:] = out_arr - return len(output_items[0][:]) - diff --git a/gr-input/python/Numerator.py b/gr-input/python/Numerator.py deleted file mode 100644 index 90b44e285..000000000 --- a/gr-input/python/Numerator.py +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2015 <+YOU OR YOUR COMPANY+>. -# -# This 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. -# -# This software 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 this software; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -import time -import numpy -from gnuradio import gr - -class Numerator(gr.sync_block): - """ - docstring for block add_python - """ - def __init__(self,num_inputs): - number = num_inputs - a = [] - for i in range(0,number): - a.append(numpy.float32) - gr.sync_block.__init__(self, - name="Numerator", - in_sig=a, - out_sig=[numpy.float32]) - - def work(self, input_items, output_items): - b=[0,0,0,0,0,0,0,0,0,0] - try: - b[0] = input_items[0][0] - except IndexError: - pass - try: - b[1] = input_items[1][0] - except IndexError: - pass - try: - b[2] = input_items[2][0] - except IndexError: - pass - try: - b[3] = input_items[3][0] - except IndexError: - pass - try: - b[4] = input_items[4][0] - except IndexError: - pass - try: - b[5] = input_items[5][0] - except IndexError: - pass - try: - b[6] = input_items[6][0] - except IndexError: - pass - try: - b[7] = input_items[7][0] - except IndexError: - pass - try: - b[8] = input_items[8][0] - except IndexError: - pass - try: - b[9] = input_items[9][0] - except IndexError: - pass - var = len(input_items) - o1 = output_items[0][:var] - out_arr=[] - time.sleep(0.001) - - for i in range(0,len(input_items)): - out_arr.append(b[i]) - o1[:] = out_arr - return len(output_items[0][:]) - diff --git a/gr-input/python/Response.py b/gr-input/python/Response.py deleted file mode 100644 index b895ca77c..000000000 --- a/gr-input/python/Response.py +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2015 <+YOU OR YOUR COMPANY+>. -# -# This 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. -# -# This software 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 this software; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# -import sys -import time -import numpy -from gnuradio import gr -import sciscipy - -class Response(gr.sync_block): - """ - docstring for block add_python - """ - def __init__(self,order,itype,tstart,tstop,tstep): - sys.setrecursionlimit(2000) - a = [] - self.b = [0.0,0.0,0.0,0.0,0.0,0.0] - [float(i) for i in self.b] - self.c = [0,0,0,0,0,0] - [float(i) for i in self.c] - self.i = 0 - self.order=int(order)+1 - self.itype = itype - self.tstart = tstart - self.tstop = tstop - self.tstep = tstep - gr.sync_block.__init__(self, - name="Response", - in_sig=[numpy.float32,numpy.float32], - out_sig=[numpy.float32]) - - def find_resp(self,b,c): - if (self.itype == 11): - typo = "'imp'" - elif (self.itype == 12): - typo = "'step'" - else: - typo = "t" - string1 = "s=%s; h=syslin('c'," - string2 = str(b[4])+"*s^4+"+str(b[3])+"*s^3+"+str(b[2])+"*s^2+"+str(b[1])+"*s+"+str(b[0])+"," - string3 = str(c[4])+"*s^4+"+str(c[3])+"*s^3+"+str(c[2])+"*s^2+"+str(c[1])+"*s+"+str(c[0])+");" - string4 = "t="+str(self.tstart)+":"+str(self.tstep)+":"+str(self.tstop)+";" - string5 = "deff('u=input(t)','u=50');" - string6 = "r=tf2ss(h); a=csim("+typo+",t,r);" - string = string1+string2+string3+string4+string5+string6 - sciscipy.eval(string) - self.a = sciscipy.read("a") - - def work(self, input_items, output_items): - #sys.setrecursionlimit(1500) - k = self.order - - for i in range(0,k): - - self.b[i] = input_items[0][i] - for n,i in enumerate(self.b): - if i == 'nan': - self.b[n] = 0 - - - print "I am value of b\n",self.b - - - for j in range(0,k): - self.c[j] = input_items[1][j] - - for m,i in enumerate (self.c): - if n == 'nan': - self.c[m] = 0 - - print "I am vlaue of c\n", self.c - self.find_resp(self.b,self.c) - - - out = output_items[0] - self.i+=1 - if self.i >= len(self.a): - self.i = 0 - out[:] = numpy.float32(self.a[self.i]) - return len(output_items[0]) - - diff --git a/gr-input/python/Roots.py b/gr-input/python/Roots.py deleted file mode 100644 index 1057c8d76..000000000 --- a/gr-input/python/Roots.py +++ /dev/null @@ -1,126 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2015 <+YOU OR YOUR COMPANY+>. -# -# This 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. -# -# This software 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 this software; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -import time -import numpy -from gnuradio import gr -import sciscipy - -class Roots(gr.sync_block): - """ - docstring for block add_python - """ - def __init__(self,order): - self.out = [0,0,0,0,0,0,0,0,0,0] - a = [] - self.b = [0,0,0,0,0,0] - self.order=int(order)+1 - self.number = int(order)*2 - for i in range(0,self.number): - a.append(numpy.float32) - gr.sync_block.__init__(self, - name="Roots", - in_sig=[numpy.float32], - out_sig=a) - - def find_roots(self,n): - string1 = "s=%s;" - string2 = "h2="+str(n[3])+"*s^3+"+str(n[2])+"*s^2+"+str(n[1])+"*s+"+str(n[0])+";[E1]=roots(h2);a11=real(E1(1));a12=imag(E1(1));b11 = real(E1(2));b12 = imag(E1(2));c11 = real(E1(3));c12 = imag(E1(3)); d11 = real(E1(4)); d12 = imag(E1(4)); e11 = real(E1(5)); e12 = imag(E1(5));" - string = string1+string2 - print "This is string\n", string - sciscipy.eval(string) - - - try: - self.a11 = sciscipy.read("a11") - print "I am a11", self.a11 - except TypeError: - self.a11 = 0 - try: - self.a12 = sciscipy.read("a12") - print "I am a12", self.a12 - except TypeError: - self.a12 = 0 - try: - self.b11 = sciscipy.read("b11") - print "I am b11", self.b11 - except TypeError: - self.b11 = 0 - try: - self.b12 = sciscipy.read("b12") - except TypeError: - self.b12 = 0 - try: - self.c11 = sciscipy.read("c11") - print "I am c11\n", self.c11 - except TypeError: - self.c11 = 0 - try: - self.c12 = sciscipy.read("c12") - print "I am c12\n", self.c12 - except TypeError: - self.c12 = 0 - try: - self.d11 = sciscipy.read("d11") - print "I am d11\n", self.d11 - except TypeError: - self.d11 = 0 - try: - self.d12 = sciscipy.read("d12") - except TypeError: - self.d12 = 0 - try: - self.e11 = sciscipy.read("e11") - except TypeError: - self.e11 = 0 - try: - self.e12 = sciscipy.read("e12") - except TypeError: - self.e12 = 0 - - def work(self, input_items, output_items): - -# print "I am here\n", output_items - k = self.order - for i in range(0,k): - self.b[i] = input_items[0][i] - - self.find_roots(self.b) - - - self.out[0] = numpy.float32(self.a11) - self.out[1] = numpy.float32(self.b11) - self.out[2] = numpy.float32(self.a12) - self.out[3] = numpy.float32(self.b12) - self.out[4] = numpy.float32(self.c11) - self.out[5] = numpy.float32(self.c12) - self.out[6] = numpy.float32(self.d11) - self.out[7] = numpy.float32(self.d12) - self.out[8] = numpy.float32(self.e11) - self.out[9] = numpy.float32(self.e12) - - - for i in range (0,self.number): - output_items[i][:]= self.out[i] - print "I am out item",output_items - - return len(output_items[0]) - - diff --git a/gr-input/python/Transfer_Function.py b/gr-input/python/Transfer_Function.py deleted file mode 100644 index d53c55e48..000000000 --- a/gr-input/python/Transfer_Function.py +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2015 <+YOU OR YOUR COMPANY+>. -# -# This 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. -# -# This software 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 this software; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -import time -import numpy -from gnuradio import gr -import sciscipy - -class Transfer_Function(gr.sync_block): - """ - docstring for block add_python - """ - def __init__(self,order,itype,tstart,tstop,tstep): - a = [] - self.b = [0,0,0,0,0,0] - self.c = [0,0,0,0,0,0] - self.i = 0 - self.order=int(order)+1 - self.itype = itype - self.tstart = tstart - self.tstop = tstop - self.tstep = tstep - gr.sync_block.__init__(self, - name="tf_rises", - in_sig=[numpy.float32,numpy.float32], - out_sig=[numpy.float32]) - - #print "I am over slept" - #print len(self.ret_array) - - def find_resp(self,b,c): - if (self.itype == 11): - typo = "'imp'" - elif (self.itype == 12): - typo = "'step'" - else: - typo = "t" -# print "self b",self.b - string1 = "s=%s; h=syslin('c'," - string2 = str(b[4])+"*s^4+"+str(b[3])+"*s^3+"+str(b[2])+"*s^2+"+str(b[1])+"*s+"+str(b[0])+"," - string3 = str(c[4])+"*s^4+"+str(c[3])+"*s^3+"+str(c[2])+"*s^2+"+str(c[1])+"*s+"+str(c[0])+");" - string4 = "t="+str(self.tstart)+":"+str(self.tstep)+":"+str(self.tstop)+";" - string5 = "deff('u=input(t)','u=50');" - string6 = "r=tf2ss(h); a=csim("+typo+",t,r);" - string = string1+string2+string3+string4+string5+string6 - print "I am strin g",string - sciscipy.eval(string) - self.a = sciscipy.read("a") - print "value of a\n",self.a - - - - - - def work(self, input_items, output_items): - - print "input value:\n",input_items - for i in range(0,5): - self.b[i] = input_items[0][i] - # print "I am b[i]", b[i] - #print "I am BBBBB", self.b - - for j in range(0,5): - self.c[j] = input_items[1][j] - #print "I am c[j]", c[j] - #print "I am CCCCC", self.c - self.find_resp(self.b,self.c) - - - out = output_items[0] - self.i+=1 - print "I am self i\n",self.i - if self.i >= len(self.a): - self.i = 0 - print "len of out\n",len(out) - #time.sleep(0.125) - out[:] = numpy.float32(self.a[self.i]) - #print - print "i am out\n",out - - return len(output_items[0]) - - diff --git a/gr-input/python/__init__.py b/gr-input/python/__init__.py deleted file mode 100644 index 6e8ef1f55..000000000 --- a/gr-input/python/__init__.py +++ /dev/null @@ -1,53 +0,0 @@ -# -# Copyright 2008,2009 Free Software Foundation, Inc. -# -# This application 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. -# -# This application 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 this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -# - -# The presence of this file turns this directory into a Python package - -''' -This is the GNU Radio SCIGEN module. Place your Python package -description here (python/__init__.py). -''' - -# ---------------------------------------------------------------- -# Temporary workaround for ticket:181 (swig+python problem) -import sys -_RTLD_GLOBAL = 0 -try: - from dl import RTLD_GLOBAL as _RTLD_GLOBAL -except ImportError: - try: - from DLFCN import RTLD_GLOBAL as _RTLD_GLOBAL - except ImportError: - pass - -if _RTLD_GLOBAL != 0: - _dlopenflags = sys.getdlopenflags() - sys.setdlopenflags(_dlopenflags|_RTLD_GLOBAL) -# ---------------------------------------------------------------- - - -# import any pure python here -import serial - -# - -# ---------------------------------------------------------------- -# Tail of workaround -if _RTLD_GLOBAL != 0: - sys.setdlopenflags(_dlopenflags) # Restore original flags -# ---------------------------------------------------------------- diff --git a/gr-input/python/gr_ramp_source.py b/gr-input/python/gr_ramp_source.py deleted file mode 100644 index 574f9f70b..000000000 --- a/gr-input/python/gr_ramp_source.py +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/python - -import gras -import numpy -# Serial is imported in __init__ -class ramp(gras.Block): - - - def __init__(self): - gras.Block.__init__(self, - name="ser", - in_sig=[numpy.float32], - out_sig=[numpy.float32]) - self.i = 0 - self.flag=True - - def set_parameters(self, ramp_slope, height_Offset, width_Offset): - self.slope = ramp_slope - self.width = width_Offset - self.offset = height_Offset - - def work(self, input_items, output_items): - - out = output_items[0][0:1] - input_stream = input_items[0][0] - - if self.flag: - for j in range(self.width): - out = self.offset - print "OUT", out - - self.produce(0,1) # Produce from port 0 output_items - self.consume(0,1) # Consume from port 0 input_items - - self.flag = False - - else: - - self.i = self.i + 1 - out[:1] =self.offset + self.i*input_stream*self.slope - - print "OUT", out - - self.produce(0,1) # Produce from port 0 output_items - self.consume(0,1) # Consume from port 0 input_items - diff --git a/gr-input/python/gr_step_source.py b/gr-input/python/gr_step_source.py deleted file mode 100644 index 904f89292..000000000 --- a/gr-input/python/gr_step_source.py +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/python - -import gras -import numpy -# Serial is imported in __init__ -class step(gras.Block): - - - def __init__(self): - gras.Block.__init__(self, - name="ser", - in_sig=[numpy.float32], - out_sig=[numpy.float32]) - self.flag=True - - def set_parameters(self, step_size, offset, width): - self.step_size = step_size - self.width = width - self.offset = offset - - def work(self, input_items, output_items): - - out = output_items[0][0:1] - input_stream = input_items[0][0] - - if self.flag: - for i in range(self.width): - out[:1] = self.offset - print "OUT", out - - self.produce(0,1) # Produce from port 0 output_items - self.consume(0,1) # Consume from port 0 input_items - - self.flag = False - - else: - out[:1] = self.offset + input_stream*self.step_size - - print "OUT", out - - self.produce(0,1) # Produce from port 0 output_items - self.consume(0,1) # Consume from port 0 input_items - diff --git a/gr-input/python/matplotsink.py b/gr-input/python/matplotsink.py deleted file mode 100755 index 105009b4d..000000000 --- a/gr-input/python/matplotsink.py +++ /dev/null @@ -1,312 +0,0 @@ -""" -$$ - -Modified for working as a GNU Radio block -Rakesh Peter (rakesh.peter@gmail.com) -Last modified: 07.05.2010 - -$$ - -This demo demonstrates how to draw a dynamic mpl (matplotlib) -plot in a wxPython application. - -It allows "live" plotting as well as manual zooming to specific -regions. - -Both X and Y axes allow "auto" or "manual" settings. For Y, auto -mode sets the scaling of the graph to see all the data points. -For X, auto mode makes the graph "follow" the data. Set it X min -to manual 0 to always see the whole data from the beginning. - -Note: press Enter in the 'manual' text box to make a new value -affect the plot. - -Eli Bendersky (eliben@gmail.com) -License: this code is in the public domain -Last modified: 31.07.2008 -""" - -import os -import pprint -import random -import sys -import wx -import gnuradio.grc.gui -from gnuradio.grc.gui import Actions,ActionHandler -# The recommended way to use wx with mpl is with the WXAgg -# backend. -# -import matplotlib -import matplotlib.pyplot as plt -import matplotlib.animation as animation -#matplotlib.use('WXAgg') -from matplotlib.figure import Figure -from matplotlib.backends.backend_wxagg import \ - FigureCanvasWxAgg as FigCanvas, \ - NavigationToolbar2WxAgg as NavigationToolbar -import numpy as np -import pylab - - -class DataGen(object): - """ A silly class that generates pseudo-random data for - display in the plot. - """ - def __init__(self, init=50): - self.data = self.init = init - - def next(self): - self._recalc_data() - #return self.data - return [0.0,1.1,2.2,3.3] - - def _recalc_data(self): - delta = random.uniform(-0.5, 0.5) - r = random.random() - - if r > 0.9: - self.data += delta * 15 - elif r > 0.8: - # attraction to the initial value - delta += (0.5 if self.init > self.data else -0.5) - self.data += delta - else: - self.data += delta - - - -class matplotsink(wx.Panel): - - def __init__(self, parent, title, queue,gsz,zoom): - wx.Panel.__init__(self, parent, wx.SIMPLE_BORDER) - - self.gsz = gsz - self.parent = parent - self.title = title - self.q = queue - self.zoom=zoom - self.paused = False - -# self.create_menu() -# self.create_status_bar() - self.create_main_panel() - - - def create_menu(self): - self.menubar = wx.MenuBar() - - menu_file = wx.Menu() - m_expt = menu_file.Append(-1, "&Save plot\tCtrl-S", "Save plot to file") - self.Bind(wx.EVT_MENU, self.on_save_plot, m_expt) - menu_file.AppendSeparator() - m_exit = menu_file.Append(-1, "E&xit\tCtrl-X", "Exit") - self.Bind(wx.EVT_MENU, self.on_exit, m_exit) - self.menubar.Append(menu_file, "&File") - self.SetMenuBar(self.menubar) - - - def create_main_panel(self): - self.panel = self - - self.init_plot() - self.canvas = FigCanvas(self.panel, -1, self.fig) - self.scroll_range = 400 - self.canvas.SetScrollbar(wx.HORIZONTAL,0,5,self.scroll_range) - self.canvas.Bind(wx.EVT_SCROLLWIN,self.OnScrollEvt) - - - self.pause_button = wx.Button(self.panel, -1, "Pause") - self.Bind(wx.EVT_BUTTON, self.on_pause_button, self.pause_button) - self.Bind(wx.EVT_UPDATE_UI, self.on_update_pause_button, self.pause_button) - - self.cb_grid = wx.CheckBox(self.panel, -1, - "Show Grid", - style=wx.ALIGN_RIGHT) - self.Bind(wx.EVT_CHECKBOX, self.on_cb_grid, self.cb_grid) - self.cb_grid.SetValue(True) - - self.cb_xlab = wx.CheckBox(self.panel, -1, - "Show X labels", - style=wx.ALIGN_RIGHT) - self.Bind(wx.EVT_CHECKBOX, self.on_cb_xlab, self.cb_xlab) - self.cb_xlab.SetValue(True) - - self.hbox1 = wx.BoxSizer(wx.HORIZONTAL) - self.hbox1.Add(self.pause_button, border=5, flag=wx.ALL | wx.ALIGN_CENTER_VERTICAL) - self.hbox1.AddSpacer(20) - self.hbox1.Add(self.cb_grid, border=5, flag=wx.ALL | wx.ALIGN_CENTER_VERTICAL) - self.hbox1.AddSpacer(10) - self.hbox1.Add(self.cb_xlab, border=5, flag=wx.ALL | wx.ALIGN_CENTER_VERTICAL) - - - self.vbox = wx.BoxSizer(wx.VERTICAL) - self.vbox.Add(self.canvas, 1, flag=wx.LEFT | wx.TOP | wx.GROW) - self.vbox.Add(self.hbox1, 0, flag=wx.ALIGN_LEFT | wx.TOP) - - self.panel.SetSizer(self.vbox) - self.vbox.Fit(self) - self.ani=animation.FuncAnimation(self.fig,self.draw_plot,interval=100) - - def OnScrollEvt(self,event): - self.i_start = event.GetPosition() - self.i_end = self.i_window + event.GetPosition() - self.draw_plot(0) - - def create_status_bar(self): - self.statusbar = self.CreateStatusBar() - - def draw_test(self,event): - self.xar=np.arange(len(self.q.queue)) - self.yar=np.array(self.q.queue) - self.axes.plot(self.xar,self.yar) - - def init_plot(self): - self.dpi = 100 - self.fig = Figure((3.0, 3.0), dpi=self.dpi) - self.fig.set_size_inches(7.0,4.0) - self.fig.set_dpi(self.dpi) - - self.axes = self.fig.add_subplot(111) - self.axes.set_axis_bgcolor('black') - self.axes.set_title(self.title, size=12) - - pylab.setp(self.axes.get_xticklabels(), fontsize=8) - pylab.setp(self.axes.get_yticklabels(), fontsize=8) - self.i_window = self.gsz - self.i_start = 0 - self.i_end = self.i_start + self.i_window - # plot the data as a line series, and save the reference - # to the plotted line series - # - self.plot_data = self.axes.plot( - [], - linewidth=1, - color=(1, 1, 0), - )[0] - - - def draw_plot(self,event): - """ Redraws the plot - """ - if len(list(self.q.queue))>1 and not self.paused: - - if self.zoom: - xmax = len(list(self.q.queue)) if len(list(self.q.queue)) > 50 else 50 - - xmin = xmax - 50 - # for ymin and ymax, find the minimal and maximal values - # in the data set and add a mininal margin. - # - # note that it's easy to change this scheme to the - # minimal/maximal value in the current display, and not - # the whole data set. - # - ymin = round(min(list(self.q.queue)), 0) - 1 - - ymax = round(max(list(self.q.queue)), 0) + 1 - - self.axes.set_xbound(lower=xmin, upper=xmax) - self.axes.set_ybound(lower=ymin, upper=ymax) - - # anecdote: axes.grid assumes b=True if any other flag is - # given even if b is set to False. - # so just passing the flag into the first statement won't - # work. - # - if self.cb_grid.IsChecked(): - self.axes.grid(True, color='gray') - else: - self.axes.grid(False) - - # Using setp here is convenient, because get_xticklabels - # returns a list over which one needs to explicitly - # iterate, and setp already handles this. - # - pylab.setp(self.axes.get_xticklabels(), - visible=self.cb_xlab.IsChecked()) - - - self.plot_data.set_xdata(np.arange(len(list(self.q.queue)))) - self.plot_data.set_ydata(np.array(list(self.q.queue))) - self.canvas.draw() - - else: - if self.cb_grid.IsChecked(): - self.axes.grid(True, color='gray') - else: - self.axes.grid(False) - - # Using setp here is convenient, because get_xticklabels - # returns a list over which one needs to explicitly - # iterate, and setp already handles this. - - pylab.setp(self.axes.get_xticklabels(), - visible=self.cb_xlab.IsChecked()) - - self.plot_data.set_xdata(np.arange(len(list(self.q.queue)))[self.i_start:self.i_end]) - self.plot_data.set_ydata(np.array(list(self.q.queue))[self.i_start:self.i_end]) - self.axes.set_xlim(min(np.arange(len(list(self.q.queue)))[self.i_start:self.i_end]),max(np.arange(len(list(self.q.queue)))[self.i_start:self.i_end])) - # if self.zoom: - self.axes.set_ylim(min(np.array(list(self.q.queue))),max(np.array(list(self.q.queue)))) - - self.canvas.draw() - - - - def on_pause_button(self, event): - self.paused = not self.paused - - def on_update_pause_button(self, event): - label = "Resume" if self.paused else "Pause" - self.pause_button.SetLabel(label) - - def on_cb_grid(self, event): - self.draw_plot(0) - - def on_cb_xlab(self, event): - self.draw_plot(0) - - def on_save_plot(self, event): - file_choices = "PNG (*.png)|*.png" - - dlg = wx.FileDialog( - self, - message="Save plot as...", - defaultDir=os.getcwd(), - defaultFile="plot.png", - wildcard=file_choices, - style=wx.SAVE) - - if dlg.ShowModal() == wx.ID_OK: - path = dlg.GetPath() - self.canvas.print_figure(path, dpi=self.dpi) - self.flash_status_message("Saved to %s" % path) - - def on_redraw_timer(self, event): - # if paused do not add data, but still redraw the plot - # (to respond to scale modifications, grid change, etc.) - # - if not self.paused: - self.data += self.datagen.next() - self.draw_plot(0) - - - def on_exit(self, event): - self.Destroy() - - def flash_status_message(self, msg, flash_len_ms=1500): - self.statusbar.SetStatusText(msg) - self.timeroff = wx.Timer(self) - self.Bind( - wx.EVT_TIMER, - self.on_flash_status_off, - self.timeroff) - self.timeroff.Start(flash_len_ms, oneShot=True) - - def on_flash_status_off(self, event): - self.statusbar.SetStatusText('') - - - - - diff --git a/gr-input/python/plot_sink.py b/gr-input/python/plot_sink.py deleted file mode 100755 index 1c1def3fc..000000000 --- a/gr-input/python/plot_sink.py +++ /dev/null @@ -1,57 +0,0 @@ -# Hacked from blks2/variable_sink.py -# Requires modified Matplotsink code - -from gnuradio import gr -import threading -import numpy -import matplotsink -import Queue - -class _plot_sink_base(gr.hier_block2, threading.Thread): - """ - The thread polls the message queue for values and writes to matplotsink callback - """ - - def __init__(self, parent, title, vlen, decim,gsz,zoom): - self._vlen = vlen - self._parent = parent - self._title = title - print "Initing block: %s" % title - - self.plotQueue = Queue.Queue() - self.win = matplotsink.matplotsink(parent,title, self.plotQueue,gsz,zoom) - - self._item_size = self._size*self._vlen - #init hier block - gr.hier_block2.__init__( - self, 'plot_sink', - gr.io_signature(1, 1, self._item_size), - gr.io_signature(0, 0, 0), - ) - #create blocks - self._msgq = gr.msg_queue(2) - message_sink = gr.message_sink(self._item_size, self._msgq, False) - #connect - self.connect(self, message_sink) - #setup thread - threading.Thread.__init__(self) - self.setDaemon(True) - self.start() - - def set_decim(self, decim): self._decimator.set_n(decim) - - def run(self): - while True: #truncate to item size, convert to array, callback - msg = self._msgq.delete_head().to_string()[-self._item_size:] - arr = map(self._cast, numpy.fromstring(msg, self._numpy)) - print "Sending value:" , arr - self.plotQueue.put(self._vlen > 1 and arr or arr[0]) - - def print_callback(self, array): - print array - -class plot_sink_b(_plot_sink_base): _numpy, _size, _cast = numpy.int8, gr.sizeof_char, int -class plot_sink_s(_plot_sink_base): _numpy, _size, _cast = numpy.int16, gr.sizeof_short, int -class plot_sink_i(_plot_sink_base): _numpy, _size, _cast = numpy.int32, gr.sizeof_int, int -class plot_sink_f(_plot_sink_base): _numpy, _size, _cast = numpy.float32, gr.sizeof_float, float -class plot_sink_c(_plot_sink_base): _numpy, _size, _cast = numpy.complex64, gr.sizeof_gr_complex, complex diff --git a/gr-input/python/plzr_plot.py b/gr-input/python/plzr_plot.py deleted file mode 100644 index e1b0ff3fc..000000000 --- a/gr-input/python/plzr_plot.py +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2015 <+YOU OR YOUR COMPANY+>. -# -# This 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. -# -# This software 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 this software; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# -import sys -import time -import numpy -from gnuradio import gr -import sciscipy - -class plzr_plot(gr.sync_block): - """ - docstring for block add_python - """ - def __init__(self,order): - sys.setrecursionlimit(2000) - a = [] -# self.flag = 0 - self.b = [0,0,0,0,0,0] - self.c = [0,0,0,0,0,0] - self.i = 0 - self.order=int(order)+1 - gr.sync_block.__init__(self, - name="plzr_plot", - in_sig=[numpy.float32,numpy.float32], - out_sig=None) - - def plot(self,b,c): - string1 = "s=%s; h=syslin('c'," - string2 = str(b[4])+"*s^4+"+str(b[3])+"*s^3+"+str(b[2])+"*s^2+"+str(b[1])+"*s+"+str(b[0])+"," - string3 = str(c[4])+"*s^4+"+str(c[3])+"*s^3+"+str(c[2])+"*s^2+"+str(c[1])+"*s+"+str(c[0])+");" - string4 = "plzr(h);" - - string = string1 + string2 +string3 + string4 - sciscipy.eval(string) - - - - def work(self, input_items, output_items): - print "I am input", input_items - print "I am output", output_items - k = self.order - for i in range(0,k): - self.b[i] = input_items[0][i] - print "I am value of b\n",self.b - - - for j in range(0,k): - self.c[j] = input_items[1][j] - print "I am vlaue of c\n", self.c - - self.plot(self.b,self.c) - in0 = input_items[0] - # <+signal processing here+> - return len(input_items[0]) - diff --git a/gr-input/python/ramp_hierblock.py b/gr-input/python/ramp_hierblock.py deleted file mode 100644 index 950615142..000000000 --- a/gr-input/python/ramp_hierblock.py +++ /dev/null @@ -1,19 +0,0 @@ -import gras -import numpy -from gnuradio import gr -from gnuradio import blocks - -# Source block1 import -import gr_ramp_source -from gnuradio import blocks - -class HierBlock(gr.hier_block2): - def __init__(self,ramp_slope, height_Offset, width_Offset): - gr.hier_block2.__init__(self,"HierBlock",gr.io_signature(1,1,gr.sizeof_float), gr.io_signature(1,2,gr.sizeof_float)) - #constant_block initialized - self.constant_block = gr.sig_source_f(0,gr.GR_CONST_WAVE,0,0,1) - #ramp_source block initialized - self.ramp_source=gr_ramp_source.ramp() - self.ramp_source.set_parameters(ramp_slope, height_Offset, width_Offset) - self.connect(self,(self.constant_block,0),(self.ramp_source,0),self) - diff --git a/gr-input/python/step_hierblock.py b/gr-input/python/step_hierblock.py deleted file mode 100644 index 4243606d6..000000000 --- a/gr-input/python/step_hierblock.py +++ /dev/null @@ -1,22 +0,0 @@ -import gras -import numpy -from gnuradio import gr -from gnuradio import blocks - -# Source block1 import -import gr_step_source -from gnuradio import blocks - -class HierBlock(gr.hier_block2): - def __init__(self, step_size, H_Off, W_Off): - gr.hier_block2.__init__(self, "HierBlock", - gr.io_signature(1,1,gr.sizeof_float), - gr.io_signature(1,2,gr.sizeof_float)) - - # constant_block initialized - self.constant_block = gr.sig_source_f(0, gr.GR_CONST_WAVE,0,0,1) - # step_source block initialized - self.step_source = gr_step_source.step() - self.step_source.set_parameters(step_size, H_Off, W_Off) - self.connect(self, (self.constant_block,0) , (self.step_source,0), self) - |