diff options
232 files changed, 1026 insertions, 699 deletions
diff --git a/docs/doxygen/Doxyfile.in b/docs/doxygen/Doxyfile.in index fdc7e1066b..7d7c03357d 100644 --- a/docs/doxygen/Doxyfile.in +++ b/docs/doxygen/Doxyfile.in @@ -684,13 +684,11 @@ EXCLUDE_SYMBOLS = ad9862 \ *app_top_block* \ *am_rx_graph* \ *_queue_watcher_thread* \ - *parse* \ *MyFrame* \ *MyApp* \ *PyObject* \ *wfm_rx_block* \ *_sptr* \ - *debug* \ *wfm_rx_sca_block* \ *tv_rx_block* \ *wxapt_rx_block* \ diff --git a/docs/doxygen/other/group_defs.dox b/docs/doxygen/other/group_defs.dox index 4aee49ec85..1c96abf3dc 100644 --- a/docs/doxygen/other/group_defs.dox +++ b/docs/doxygen/other/group_defs.dox @@ -8,32 +8,46 @@ * @{ */ -/*! \defgroup container_blk Top Block and Hierarchical Block Base Classes */ -/*! \defgroup source_blk Signal Sources */ -/*! \defgroup sink_blk Signal Sinks */ -/*! \defgroup filter_blk Filters */ -/*! \defgroup math_blk Mathematics */ -/*! \defgroup modulation_blk Signal Modulation */ -/*! \defgroup demodulation_blk Signal Demodulation */ -/*! \defgroup coding_blk Information Coding and Decoding*/ -/*! \defgroup sync_blk Synchronization */ -/*! \defgroup eq_blk Equalization */ -/*! \defgroup converter_blk Type Conversions */ -/*! \defgroup level_blk Signal Level Control (AGC) */ -/*! \defgroup dft_blk Fourier Transform */ -/*! \defgroup wavelet_blk Wavelet Transform */ -/*! \defgroup ofdm_blk OFDM Blocks */ -/*! \defgroup pager_blk Pager Blocks */ -/*! \defgroup misc_blk Miscellaneous Blocks */ -/*! \defgroup slicedice_blk Slicing and Dicing Streams */ -/*! \defgroup vocoder_blk Voice Encoders and Decoders */ -/*! \defgroup digital Digital Modulation Blocks */ -/*! \defgroup analog Analog Communications Blocks */ -/*! \defgroup qtgui_blk QT Graphical Interfaces */ -/*! \defgroup uhd_blk UHD Interface */ -/*! \defgroup audio_blk Audio Interface */ -/*! \defgroup pfb_blk Polyphase Filterbank */ -/*! \defgroup snr_blk SNR estimators */ +/*! \defgroup container_blk Top Block and Hierarchical Block Base Classes */ +/*! \defgroup audio_blk Audio Signals */ +/*! \defgroup boolean_operators_blk Boolean Operators */ +/*! \defgroup byte_operators_blk Byte Operators */ +/*! \defgroup channel_models_blk Channel Models */ +/*! \defgroup channelizers_blk Channelizers */ +/*! \defgroup coding_blk Information Coding and Decoding */ +/*! \defgroup debug_tools_blk Debug Tools */ +/*! \defgroup deprecated_blk Deprecated */ +/*! \defgroup equalizers_blk Equalizers */ +/*! \defgroup error_coding_blk Error Coding and Decoding */ +/*! \defgroup fcd_blk FCD Interface */ +/*! \defgroup file_operators_blk File Operators */ +/*! \defgroup filter_blk Filters */ +/*! \defgroup fourier_analysis_blk Fourier Analysis */ +/*! \defgroup instrumentation_blk Instrumentation Tools */ +/*! \defgroup level_controllers_blk Level Controllers */ +/*! \defgroup math_operators_blk Math Operators */ +/*! \defgroup measurement_tools_blk Measurement Tools */ +/*! \defgroup message_tools_blk Message Tools */ +/*! \defgroup misc_blk Miscellaneous */ +/*! \defgroup modulators_blk Modulators and Demodulators */ +/*! \defgroup networking_tools_blk Netwroking Tools */ +/*! \defgroup noaa_blk NOAA Blocks */ +/*! \defgroup ofdm_blk OFDM Blocks */ +/*! \defgroup packet_operators_blk Packet/Frame Operators */ +/*! \defgroup peak_detectors_blk Peak Detectors */ +/*! \defgroup pager_blk Pager Blocks */ +/*! \defgroup qtgui_blk QT Graphical Interfaces */ +/*! \defgroup resamplers_blk Resamplers */ +/*! \defgroup stream_operators_blk Streams Operators */ +/*! \defgroup stream_tag_tools_blk Stream Tag Tools */ +/*! \defgroup symbol_coding_blk Symbol Coding */ +/*! \defgroup synchronizers_blk Synchronizers */ +/*! \defgroup trellis_coding_blk Trellis Coding */ +/*! \defgroup type_converters_blk Data Type Converters */ +/*! \defgroup uhd_blk UHD Interface */ +/*! \defgroup waveform_generators_blk Waveform Generators */ +/*! \defgroup wavelet_blk Wavelet Transforms */ +/*! \defgroup wxgui_blk WX Graphical Interfaces */ /*! * \defgroup base_blk Base classes for GR Blocks diff --git a/docs/doxygen/other/pfb_intro.dox b/docs/doxygen/other/pfb_intro.dox index 1ef0c38f6d..d3c3ee63be 100644 --- a/docs/doxygen/other/pfb_intro.dox +++ b/docs/doxygen/other/pfb_intro.dox @@ -5,8 +5,7 @@ Polyphase filterbanks (PFB) are a very powerful set of filtering tools that can efficiently perform many multi-rate signal processing tasks. GNU Radio has a set of polyphase filterbank blocks to be used -in all sorts of applications. These blocks and their documentation can -be found in \ref pfb_blk. +in all sorts of applications. \section Usage diff --git a/gr-analog/doc/analog.dox b/gr-analog/doc/analog.dox index d3af364f74..437eb05c74 100644 --- a/gr-analog/doc/analog.dox +++ b/gr-analog/doc/analog.dox @@ -11,7 +11,7 @@ imported as: \endcode See the Doxygen documentation for details about the blocks available -in this package. The relevant blocks are listed in the \ref analog group. +in this package. A quick listing of the details can be found in Python after importing by using: diff --git a/gr-analog/grc/analog_block_tree.xml b/gr-analog/grc/analog_block_tree.xml index 0a01d38cd8..cf58b3696b 100644 --- a/gr-analog/grc/analog_block_tree.xml +++ b/gr-analog/grc/analog_block_tree.xml @@ -29,10 +29,9 @@ <cat> <name></name> <!-- Blank for Root Name --> <cat> - <name>Level Controls</name> + <name>Level Controllers</name> <block>analog_agc_xx</block> <block>analog_agc2_xx</block> - <block>analog_dpll_bb</block> <block>analog_feedforward_agc_cc</block> <block>analog_ctcss_squelch_ff</block> <block>analog_pwr_squelch_xx</block> @@ -57,7 +56,7 @@ <block>analog_fm_preemph</block> </cat> <cat> - <name>Sources</name> + <name>Waveform Generators</name> <block>analog_sig_source_x</block> <block>analog_const_source_x</block> <block>analog_noise_source_x</block> @@ -69,7 +68,11 @@ <block>analog_pll_refout_cc</block> </cat> <cat> - <name>Probes</name> + <name>Peak Detectors</name> + <block>analog_dpll_bb</block> + </cat> + <cat> + <name>Measurement Tools</name> <block>analog_probe_avg_mag_sqrd_x</block> </cat> </cat> diff --git a/gr-analog/include/analog/agc.h b/gr-analog/include/analog/agc.h index c304ba8f3e..9418c1f8fb 100644 --- a/gr-analog/include/analog/agc.h +++ b/gr-analog/include/analog/agc.h @@ -34,6 +34,7 @@ namespace gr { /*! * \brief high performance Automatic Gain Control class for complex signals. * + * \details * For Power the absolute value of the complex number is used. */ class ANALOG_API agc_cc diff --git a/gr-analog/include/analog/agc2.h b/gr-analog/include/analog/agc2.h index 8d1958d293..89d4b43694 100644 --- a/gr-analog/include/analog/agc2.h +++ b/gr-analog/include/analog/agc2.h @@ -34,6 +34,7 @@ namespace gr { /*! * \brief high performance Automatic Gain Control class * + * \details * For Power the absolute value of the complex number is used. */ class ANALOG_API agc2_cc diff --git a/gr-analog/include/analog/agc2_cc.h b/gr-analog/include/analog/agc2_cc.h index 7f3a7c24bd..82efe914d8 100644 --- a/gr-analog/include/analog/agc2_cc.h +++ b/gr-analog/include/analog/agc2_cc.h @@ -33,8 +33,9 @@ namespace gr { /*! * \brief high performance Automatic Gain Control class with * attack and decay rates. - * \ingroup level_blk + * \ingroup level_controllers_blk * + * \details * For Power the absolute value of the complex number is used. */ class ANALOG_API agc2_cc : virtual public gr_sync_block diff --git a/gr-analog/include/analog/agc2_ff.h b/gr-analog/include/analog/agc2_ff.h index 4bb7b0f646..dd2507e33d 100644 --- a/gr-analog/include/analog/agc2_ff.h +++ b/gr-analog/include/analog/agc2_ff.h @@ -33,8 +33,9 @@ namespace gr { /*! * \brief high performance Automatic Gain Control class with * attack and decay rates. + * \ingroup level_controllers_blk * - * \ingroup level_blk + * \details * Power is approximated by absolute value */ class ANALOG_API agc2_ff : virtual public gr_sync_block diff --git a/gr-analog/include/analog/agc_cc.h b/gr-analog/include/analog/agc_cc.h index 0e59f8593b..0c2e831b0c 100644 --- a/gr-analog/include/analog/agc_cc.h +++ b/gr-analog/include/analog/agc_cc.h @@ -32,8 +32,9 @@ namespace gr { /*! * \brief high performance Automatic Gain Control class - * \ingroup level_blk + * \ingroup level_controllers_blk * + * \details * For Power the absolute value of the complex number is used. */ class ANALOG_API agc_cc : virtual public gr_sync_block diff --git a/gr-analog/include/analog/agc_ff.h b/gr-analog/include/analog/agc_ff.h index 6046d6f645..ffcafaa642 100644 --- a/gr-analog/include/analog/agc_ff.h +++ b/gr-analog/include/analog/agc_ff.h @@ -32,8 +32,9 @@ namespace gr { /*! * \brief high performance Automatic Gain Control class - * \ingroup level_blk + * \ingroup level_controllers_blk * + * \details * Power is approximated by absolute value */ class ANALOG_API agc_ff : virtual public gr_sync_block diff --git a/gr-analog/include/analog/cpfsk_bc.h b/gr-analog/include/analog/cpfsk_bc.h index 904730e2b5..8150e0d08f 100644 --- a/gr-analog/include/analog/cpfsk_bc.h +++ b/gr-analog/include/analog/cpfsk_bc.h @@ -30,7 +30,7 @@ namespace gr { /*! * \brief Perform continuous phase 2-level frequency shift keying modulation * on an input stream of unpacked bits. - * \ingroup modulation_blk + * \ingroup modulators_blk */ class ANALOG_API cpfsk_bc : virtual public gr_sync_interpolator { diff --git a/gr-analog/include/analog/cpm.h b/gr-analog/include/analog/cpm.h index aff0dd19eb..43dd0b3729 100644 --- a/gr-analog/include/analog/cpm.h +++ b/gr-analog/include/analog/cpm.h @@ -46,8 +46,9 @@ namespace gr { /*! \brief Return the taps for an interpolating FIR filter * (gr::filter::interp_fir_filter_fff). * - * These taps represent the phase response \f$g(k)\f$ for use in - * a CPM modulator, see also gr_cpmmod_bc. + * \details + * These taps represent the phase response \f$g(k)\f$ for use in a CPM modulator, + * see also gr_cpmmod_bc. * * \param type The CPM type (Rectangular, Raised Cosine, * Spectral Raised Cosine, Tamed FM or Gaussian). diff --git a/gr-analog/include/analog/ctcss_squelch_ff.h b/gr-analog/include/analog/ctcss_squelch_ff.h index b63876714d..f8c551d291 100644 --- a/gr-analog/include/analog/ctcss_squelch_ff.h +++ b/gr-analog/include/analog/ctcss_squelch_ff.h @@ -32,7 +32,7 @@ namespace gr { /*! * \brief gate or zero output if CTCSS tone not present - * \ingroup level_blk + * \ingroup level_controllers_blk */ class ANALOG_API ctcss_squelch_ff : public squelch_base_ff, virtual public gr_block diff --git a/gr-analog/include/analog/dpll_bb.h b/gr-analog/include/analog/dpll_bb.h index 78efb8fde9..f25e860b2c 100644 --- a/gr-analog/include/analog/dpll_bb.h +++ b/gr-analog/include/analog/dpll_bb.h @@ -31,8 +31,9 @@ namespace gr { /*! * \brief Detect the peak of a signal - * \ingroup level_blk + * \ingroup peak_detectors_blk * + * \details * If a peak is detected, this block outputs a 1, * or it outputs 0's. */ diff --git a/gr-analog/include/analog/feedforward_agc_cc.h b/gr-analog/include/analog/feedforward_agc_cc.h index 743b9b3a3b..0a688ccdde 100644 --- a/gr-analog/include/analog/feedforward_agc_cc.h +++ b/gr-analog/include/analog/feedforward_agc_cc.h @@ -32,7 +32,7 @@ namespace gr { /*! * \brief Non-causal AGC which computes required gain based on max * absolute value over nsamples - * \ingroup level_blk + * \ingroup level_controllers_blk */ class ANALOG_API feedforward_agc_cc : virtual public gr_sync_block { diff --git a/gr-analog/include/analog/fmdet_cf.h b/gr-analog/include/analog/fmdet_cf.h index 6878775e6c..bd26e39226 100644 --- a/gr-analog/include/analog/fmdet_cf.h +++ b/gr-analog/include/analog/fmdet_cf.h @@ -32,6 +32,7 @@ namespace gr { /*! * \brief Implements an IQ slope detector * + * \details * input: stream of complex; output: stream of floats * * This implements a limiting slope detector. The limiter is in diff --git a/gr-analog/include/analog/frequency_modulator_fc.h b/gr-analog/include/analog/frequency_modulator_fc.h index 67be1ff00e..a0d4404729 100644 --- a/gr-analog/include/analog/frequency_modulator_fc.h +++ b/gr-analog/include/analog/frequency_modulator_fc.h @@ -31,8 +31,9 @@ namespace gr { /*! * \brief Frequency modulator block - * \ingroup modulation_blk + * \ingroup modulators_blk * + * \details * float input; complex baseband output */ class ANALOG_API frequency_modulator_fc : virtual public gr_sync_block diff --git a/gr-analog/include/analog/noise_source_X.h.t b/gr-analog/include/analog/noise_source_X.h.t index 27d20cd072..1a9630dfdf 100644 --- a/gr-analog/include/analog/noise_source_X.h.t +++ b/gr-analog/include/analog/noise_source_X.h.t @@ -35,7 +35,7 @@ namespace gr { /*! * \brief Random number source - * \ingroup source_blk + * \ingroup waveform_generators_blk * * \details * Generate random values from different distributions. @@ -47,11 +47,11 @@ namespace gr { // gr::analog::@BASE_NAME@::sptr typedef boost::shared_ptr<@BASE_NAME@> sptr; - /*! \brief Make a noise source + /*! Build a noise source * \param type the random distribution to use (see analog/noise_type.h) * \param ampl a scaling factor for the output * \param seed seed for random generators. Note that for uniform and - * Gaussian distributions, this should be a negative number. + * Gaussian distributions, this should be a negative number. */ static sptr make(noise_type_t type, float ampl, long seed=0); diff --git a/gr-analog/include/analog/phase_modulator_fc.h b/gr-analog/include/analog/phase_modulator_fc.h index 409de7804b..2ec7c1a3c4 100644 --- a/gr-analog/include/analog/phase_modulator_fc.h +++ b/gr-analog/include/analog/phase_modulator_fc.h @@ -31,8 +31,9 @@ namespace gr { /*! * \brief Phase modulator block - * \ingroup modulation_blk + * \ingroup modulators_blk * + * \details * output = complex(cos(in*sensitivity), sin(in*sensitivity)) * * Input stream 0: floats diff --git a/gr-analog/include/analog/pll_carriertracking_cc.h b/gr-analog/include/analog/pll_carriertracking_cc.h index 0812d650f0..520a2f57da 100644 --- a/gr-analog/include/analog/pll_carriertracking_cc.h +++ b/gr-analog/include/analog/pll_carriertracking_cc.h @@ -33,8 +33,9 @@ namespace gr { /*! * \brief Implements a PLL which locks to the input frequency and outputs the * input signal mixed with that carrier. - * \ingroup sync_blk + * \ingroup synchronizers_blk * + * \details * Input stream 0: complex * Output stream 0: complex * diff --git a/gr-analog/include/analog/pll_freqdet_cf.h b/gr-analog/include/analog/pll_freqdet_cf.h index 8ffbc5968e..b33fb909ba 100644 --- a/gr-analog/include/analog/pll_freqdet_cf.h +++ b/gr-analog/include/analog/pll_freqdet_cf.h @@ -33,8 +33,9 @@ namespace gr { /*! * \brief Implements a PLL which locks to the input frequency and outputs * an estimate of that frequency. Useful for FM Demod. - * \ingroup sync_blk + * \ingroup synchronizers_blk * + * \details * Input stream 0: complex * Output stream 0: float * diff --git a/gr-analog/include/analog/pll_refout_cc.h b/gr-analog/include/analog/pll_refout_cc.h index 1ba907262e..9c713749c7 100644 --- a/gr-analog/include/analog/pll_refout_cc.h +++ b/gr-analog/include/analog/pll_refout_cc.h @@ -32,8 +32,9 @@ namespace gr { /*! * \brief Implements a PLL which locks to the input frequency and outputs a carrier - * \ingroup sync_blk + * \ingroup synchronizers_blk * + * \details * Input stream 0: complex * Output stream 0: complex * diff --git a/gr-analog/include/analog/probe_avg_mag_sqrd_c.h b/gr-analog/include/analog/probe_avg_mag_sqrd_c.h index 9e62732a36..2fed4fff0b 100644 --- a/gr-analog/include/analog/probe_avg_mag_sqrd_c.h +++ b/gr-analog/include/analog/probe_avg_mag_sqrd_c.h @@ -30,8 +30,9 @@ namespace gr { /*! * \brief compute avg magnitude squared. - * \ingroup sink_blk + * \ingroup measurement_tools_blk * + * \details * Input stream 0: complex * * Compute a running average of the magnitude squared of the the diff --git a/gr-analog/include/analog/probe_avg_mag_sqrd_cf.h b/gr-analog/include/analog/probe_avg_mag_sqrd_cf.h index b18916ae9b..303670adee 100644 --- a/gr-analog/include/analog/probe_avg_mag_sqrd_cf.h +++ b/gr-analog/include/analog/probe_avg_mag_sqrd_cf.h @@ -31,8 +31,9 @@ namespace gr { /*! * \brief compute avg magnitude squared. - * \ingroup sink_blk + * \ingroup measurement_tools_blk * + * \details * Input stream 0: complex * Output stream 0: float * diff --git a/gr-analog/include/analog/probe_avg_mag_sqrd_f.h b/gr-analog/include/analog/probe_avg_mag_sqrd_f.h index fe9d27793f..2300f8bca1 100644 --- a/gr-analog/include/analog/probe_avg_mag_sqrd_f.h +++ b/gr-analog/include/analog/probe_avg_mag_sqrd_f.h @@ -31,8 +31,9 @@ namespace gr { /*! * \brief compute avg magnitude squared. - * \ingroup sink_blk + * \ingroup measurement_tools_blk * + * \details * input stream 0: float * * Compute a running average of the magnitude squared of the the diff --git a/gr-analog/include/analog/pwr_squelch_cc.h b/gr-analog/include/analog/pwr_squelch_cc.h index e3f6fb67fc..73b89f0db6 100644 --- a/gr-analog/include/analog/pwr_squelch_cc.h +++ b/gr-analog/include/analog/pwr_squelch_cc.h @@ -32,7 +32,7 @@ namespace gr { /*! * \brief gate or zero output when input power below threshold - * \ingroup level_blk + * \ingroup level_controllers_blk */ class ANALOG_API pwr_squelch_cc : public squelch_base_cc, virtual public gr_block diff --git a/gr-analog/include/analog/pwr_squelch_ff.h b/gr-analog/include/analog/pwr_squelch_ff.h index f8f7b4aac2..5490827390 100644 --- a/gr-analog/include/analog/pwr_squelch_ff.h +++ b/gr-analog/include/analog/pwr_squelch_ff.h @@ -32,7 +32,7 @@ namespace gr { /*! * \brief gate or zero output when input power below threshold - * \ingroup level_blk + * \ingroup level_controllers_blk */ class ANALOG_API pwr_squelch_ff : public squelch_base_ff, virtual public gr_block diff --git a/gr-analog/include/analog/quadrature_demod_cf.h b/gr-analog/include/analog/quadrature_demod_cf.h index fc29e494da..c7682649b8 100644 --- a/gr-analog/include/analog/quadrature_demod_cf.h +++ b/gr-analog/include/analog/quadrature_demod_cf.h @@ -31,8 +31,9 @@ namespace gr { /*! * \brief quadrature demodulator: complex in, float out - * \ingroup demodulation_blk + * \ingroup modulators_blk * + * \details * This can be used to demod FM, FSK, GMSK, etc. * The input is complex baseband. */ diff --git a/gr-analog/include/analog/rail_ff.h b/gr-analog/include/analog/rail_ff.h index 120ca2815b..2018017935 100644 --- a/gr-analog/include/analog/rail_ff.h +++ b/gr-analog/include/analog/rail_ff.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief clips input values to min, max - * \ingroup misc + * \ingroup level_controllers_blk */ class ANALOG_API rail_ff : virtual public gr_sync_block { diff --git a/gr-analog/include/analog/sig_source_X.h.t b/gr-analog/include/analog/sig_source_X.h.t index 2915c2abe9..752fe4cd29 100644 --- a/gr-analog/include/analog/sig_source_X.h.t +++ b/gr-analog/include/analog/sig_source_X.h.t @@ -34,7 +34,7 @@ namespace gr { /*! * \brief signal generator with @TYPE@ output. - * \ingroup source_blk + * \ingroup waveform_generators_blk */ class ANALOG_API @BASE_NAME@ : virtual public gr_sync_block { @@ -43,7 +43,7 @@ namespace gr { typedef boost::shared_ptr<@BASE_NAME@> sptr; /*! - * \brief Make a signal source block. + * Build a signal source block. * * \param sampling_freq Sampling rate of signal. * \param waveform wavetform type. diff --git a/gr-analog/include/analog/simple_squelch_cc.h b/gr-analog/include/analog/simple_squelch_cc.h index 1e12646e4e..bf949e3d2e 100644 --- a/gr-analog/include/analog/simple_squelch_cc.h +++ b/gr-analog/include/analog/simple_squelch_cc.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief simple squelch block based on average signal power and threshold in dB. - * \ingroup level_blk + * \ingroup level_controllers_blk */ class ANALOG_API simple_squelch_cc : virtual public gr_sync_block { diff --git a/gr-audio/grc/audio_sink.xml b/gr-audio/grc/audio_sink.xml index 4a88a7fa27..9a70006e72 100644 --- a/gr-audio/grc/audio_sink.xml +++ b/gr-audio/grc/audio_sink.xml @@ -7,7 +7,7 @@ <block> <name>Audio Sink</name> <key>audio_sink</key> - <category>Sinks</category> + <category>Audio</category> <throttle>1</throttle> <import>from gnuradio import audio</import> <make>audio.sink($samp_rate, $device_name, $ok_to_block)</make> diff --git a/gr-audio/grc/audio_source.xml b/gr-audio/grc/audio_source.xml index d56e9153a5..0cb73a3ae9 100644 --- a/gr-audio/grc/audio_source.xml +++ b/gr-audio/grc/audio_source.xml @@ -7,7 +7,7 @@ <block> <name>Audio Source</name> <key>audio_source</key> - <category>Sources</category> + <category>Audio</category> <throttle>1</throttle> <import>from gnuradio import audio</import> <make>audio.source($samp_rate, $device_name, $ok_to_block)</make> diff --git a/gr-blocks/doc/blocks.dox b/gr-blocks/doc/blocks.dox index 110dcb677e..2809c6a943 100644 --- a/gr-blocks/doc/blocks.dox +++ b/gr-blocks/doc/blocks.dox @@ -11,7 +11,7 @@ imported as: \endcode See the Doxygen documentation for details about the blocks available -in this package. The relevant blocks are listed in the \ref digital group. +in this package. A quick listing of the details can be found in Python after importing by using: diff --git a/gr-blocks/grc/blocks_block_tree.xml b/gr-blocks/grc/blocks_block_tree.xml index 0cd4ac434f..04fe1f6955 100644 --- a/gr-blocks/grc/blocks_block_tree.xml +++ b/gr-blocks/grc/blocks_block_tree.xml @@ -29,35 +29,53 @@ <cat> <name></name> <!-- Blank for Root Name --> <cat> - <name>Sources (New)</name> - <block>blocks_file_source</block> - <block>blocks_file_descriptor_source</block> - <block>blocks_file_meta_source</block> - <block>blocks_pdu_to_tagged_stream</block> - <block>blocks_random_pdu</block> - <block>blocks_message_source</block> - <block>blocks_message_burst_source</block> - <block>blocks_udp_source</block> + <name>Audio</name> <block>blocks_wavfile_source</block> - <block>blocks_vector_source_x</block> - <block>blocks_null_source</block> + <block>blocks_wavfile_sink</block> + </cat> + <cat> + <name>Boolean Operators</name> + <block>blocks_and_xx</block> + <block>blocks_and_const_xx</block> + <block>blocks_not_xx</block> + <block>blocks_or_xx</block> + <block>blocks_xor_xx</block> + </cat> + <cat> + <name>Byte Operators</name> + <block>blocks_packed_to_unpacked_xx</block> + <block>blocks_unpacked_to_packed_xx</block> + <block>blocks_pack_k_bits_bb</block> + <block>blocks_unpack_k_bits_bb</block> + <block>blocks_repack_bits_bb</block> </cat> <cat> - <name>Sinks (New)</name> + <name>Debug Tools</name> + <block>blocks_vector_sink_x</block> + <block>blocks_tag_debug</block> + <block>blocks_message_debug</block> + </cat> + <cat> + <name>File Operators</name> + <block>blocks_wavfile_source</block> + <block>blocks_wavfile_sink</block> + <block>blocks_file_source</block> <block>blocks_file_sink</block> + <block>blocks_file_descriptor_source</block> <block>blocks_file_descriptor_sink</block> + <block>blocks_file_meta_source</block> <block>blocks_file_meta_sink</block> - <block>blocks_tagged_stream_to_pdu</block> - <block>blocks_tag_debug</block> - <block>blocks_message_sink</block> <block>blocks_tagged_file_sink</block> - <block>blocks_udp_sink</block> - <block>blocks_wavfile_sink</block> - <block>blocks_vector_sink_x</block> - <block>blocks_null_sink</block> </cat> <cat> - <name>Math Operations (New) </name> + <name>Level Controllers</name> + <block>blocks_mute_xx</block> + <block>blocks_sample_and_hold_xx</block> + <block>blocks_moving_average_xx</block> + <block>blocks_threshold_ff</block> + </cat> + <cat> + <name>Math Operators</name> <block>blocks_add_xx</block> <block>blocks_add_const_vxx</block> <block>blocks_divide_xx</block> @@ -72,47 +90,61 @@ <block>blocks_transcendental</block> <block>blocks_argmax_xx</block> <block>blocks_max_xx</block> + </cat> + <cat> + <name>Measurement Tools</name> + <block>blocks_message_debug</block> + <block>blocks_tag_debug</block> + <block>blocks_probe_signal_x</block> + <block>blocks_probe_signal_vx</block> + <block>blocks_probe_rate</block> + </cat> + <cat> + <name>Message Tools</name> + <block>blocks_message_source</block> + <block>blocks_message_sink</block> + <block>blocks_message_burst_source</block> + <block>blocks_message_strobe</block> + <block>blocks_message_debug</block> + <block>blocks_pdu_to_tagged_stream</block> + <block>blocks_tagged_stream_to_pdu</block> + </cat> + <cat> + <name>Misc</name> + <block>blocks_throttle</block> + <block>blocks_vector_source_x</block> + <block>blocks_head</block> + <block>blocks_skiphead</block> + <block>blocks_delay</block> + <block>blocks_null_source</block> + <block>blocks_null_sink</block> + <block>blocks_copy</block> + <block>blocks_nop</block> + </cat> + <cat> + <name>Modulators</name> <block>blocks_vco_f</block> </cat> <cat> - <name>Boolean Operations (New) </name> - <block>blocks_and_xx</block> - <block>blocks_and_const_xx</block> - <block>blocks_not_xx</block> - <block>blocks_or_xx</block> - <block>blocks_xor_xx</block> + <name>Networking Tools</name> + <block>blocks_tuntap_pdu</block> + <block>blocks_socket_pdu</block> + <block>blocks_udp_source</block> + <block>blocks_udp_sink</block> </cat> <cat> - <name>Stream Type Conversions (New) </name> - <block>blocks_char_to_float</block> - <block>blocks_char_to_short</block> - <block>blocks_complex_to_interleaved_short</block> - <block>blocks_complex_to_float</block> - <block>blocks_complex_to_imag</block> - <block>blocks_complex_to_real</block> - <block>blocks_complex_to_mag</block> - <block>blocks_complex_to_mag_squared</block> - <block>blocks_complex_to_arg</block> - <block>blocks_float_to_char</block> - <block>blocks_float_to_complex</block> - <block>blocks_float_to_int</block> - <block>blocks_float_to_short</block> - <block>blocks_float_to_uchar</block> - <block>blocks_int_to_float</block> - <block>blocks_interleaved_short_to_complex</block> - <block>blocks_short_to_char</block> - <block>blocks_repack_bits_bb</block> - <block>blocks_short_to_float</block> - <block>blocks_uchar_to_float</block> + <name>Peak Detectors</name> + <block>blocks_burst_tagger</block> + <block>blocks_peak_detector_xb</block> + <block>blocks_peak_detector2_fb</block> + <block>blocks_plateau_detector_fb</block> </cat> <cat> - <name>Stream Operations (New) </name> - <block>blocks_delay</block> + <name>Stream Operators</name> <block>blocks_deinterleave</block> <block>blocks_interleave</block> <block>blocks_keep_m_in_n</block> <block>blocks_keep_one_in_n</block> - <block>blocks_repeat</block> <block>blocks_stream_mux</block> <block>blocks_stream_to_streams</block> <block>blocks_stream_to_vector</block> @@ -120,52 +152,44 @@ <block>blocks_streams_to_vector</block> <block>blocks_vector_to_stream</block> <block>blocks_vector_to_streams</block> - <block>blocks_stream_to_vector_decimator</block> - <block>blocks_peak_detector_xb</block> - <block>blocks_peak_detector2_fb</block> - <block>blocks_plateau_detector_fb</block> - <block>blocks_regenerate_bb</block> - <block>blocks_stretch_ff</block> - <block>blocks_threshold_ff</block> - <block>blocks_burst_tagger</block> + <block>blocks_patterned_interleaver</block> <block>blocks_endian_swap</block> <block>blocks_vector_insert_x</block> + <block>blocks_tagged_stream_mux</block> + <block>blocks_repeat</block> + <block>blocks_regenerate_bb</block> + <block>blocks_stretch_ff</block> </cat> <cat> - <name>Misc Conversions (New) </name> - <block>blocks_packed_to_unpacked_xx</block> - <block>blocks_unpacked_to_packed_xx</block> - <block>blocks_pack_k_bits_bb</block> - <block>blocks_unpack_k_bits_bb</block> - </cat> - <cat> - <name>Misc (New) </name> - <block>blocks_throttle</block> - <block>blocks_probe_rate</block> - <block>blocks_head</block> - <block>blocks_skiphead</block> - <block>blocks_copy</block> - <block>blocks_nop</block> - </cat> - <cat> - <name>Networking</name> - <block>blocks_tuntap_pdu</block> - <block>blocks_socket_pdu</block> + <name>Stream Tag Tools</name> + <block>blocks_tag_debug</block> + <block>blocks_tagged_file_sink</block> + <block>blocks_tagged_stream_mux</block> </cat> <cat> - <name>Level Controls (New)</name> - <block>blocks_mute_xx</block> - <block>blocks_sample_and_hold_xx</block> - <block>blocks_moving_average_xx</block> + <name>Type Converters</name> + <block>blocks_char_to_float</block> + <block>blocks_char_to_short</block> + <block>blocks_complex_to_interleaved_short</block> + <block>blocks_complex_to_float</block> + <block>blocks_complex_to_imag</block> + <block>blocks_complex_to_real</block> + <block>blocks_complex_to_mag</block> + <block>blocks_complex_to_mag_squared</block> + <block>blocks_complex_to_arg</block> + <block>blocks_float_to_char</block> + <block>blocks_float_to_complex</block> + <block>blocks_float_to_int</block> + <block>blocks_float_to_short</block> + <block>blocks_float_to_uchar</block> + <block>blocks_int_to_float</block> + <block>blocks_interleaved_short_to_complex</block> + <block>blocks_short_to_char</block> + <block>blocks_short_to_float</block> + <block>blocks_uchar_to_float</block> </cat> <cat> - <name>Probes (New)</name> - <block>blocks_probe_signal_x</block> - <block>blocks_probe_signal_vx</block> + <name>Waveform Generators</name> + <block>blocks_vco_f</block> </cat> - <cat> - <name>Message Tools (New)</name> - <block>blocks_message_strobe</block> - <block>blocks_message_debug</block> - </cat> </cat> diff --git a/gr-blocks/grc/blocks_probe_signal_vx.xml b/gr-blocks/grc/blocks_probe_signal_vx.xml index f4e945ab0d..930a49643c 100644 --- a/gr-blocks/grc/blocks_probe_signal_vx.xml +++ b/gr-blocks/grc/blocks_probe_signal_vx.xml @@ -5,7 +5,7 @@ ################################################### --> <block> - <name>Probe Signal</name> + <name>Probe Signal Vector</name> <key>blocks_probe_signal_vx</key> <import>from gnuradio import blocks</import> <make>blocks.probe_signal_v$(type.fcn)($vlen)</make> diff --git a/gr-blocks/grc/blocks_tagged_stream_mux.xml b/gr-blocks/grc/blocks_tagged_stream_mux.xml index 40d98a3346..98c4b6dfb5 100644 --- a/gr-blocks/grc/blocks_tagged_stream_mux.xml +++ b/gr-blocks/grc/blocks_tagged_stream_mux.xml @@ -1,7 +1,6 @@ <block> <name>Tagged Stream Mux</name> <key>blocks_tagged_stream_mux</key> - <category>Stream Operations</category> <import>from gnuradio import blocks</import> <make>blocks.tagged_stream_mux($type.size*$vlen, $lengthtagname)</make> <param> diff --git a/gr-blocks/include/blocks/add_XX.h.t b/gr-blocks/include/blocks/add_XX.h.t index 607b820669..ffe08f683b 100644 --- a/gr-blocks/include/blocks/add_XX.h.t +++ b/gr-blocks/include/blocks/add_XX.h.t @@ -33,8 +33,9 @@ namespace gr { /*! * \brief output = sum (input_0, input_1, ...) - * \ingroup math_blk + * \ingroup math_operators_blk * + * \details * Add across all input streams. */ class BLOCKS_API @NAME@ : virtual public gr_sync_block diff --git a/gr-blocks/include/blocks/add_const_XX.h.t b/gr-blocks/include/blocks/add_const_XX.h.t index df968feac1..3a99978b6b 100644 --- a/gr-blocks/include/blocks/add_const_XX.h.t +++ b/gr-blocks/include/blocks/add_const_XX.h.t @@ -33,7 +33,7 @@ namespace gr { /*! * \brief output = input + constant - * \ingroup math_blk + * \ingroup math_operators_blk */ class BLOCKS_API @NAME@ : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/add_const_vXX.h.t b/gr-blocks/include/blocks/add_const_vXX.h.t index c4cd49fa48..33a50a42ca 100644 --- a/gr-blocks/include/blocks/add_const_vXX.h.t +++ b/gr-blocks/include/blocks/add_const_vXX.h.t @@ -33,7 +33,7 @@ namespace gr { /*! * \brief output = input + constant vector - * \ingroup math_blk + * \ingroup math_operators_blk */ class BLOCKS_API @NAME@ : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/add_ff.h b/gr-blocks/include/blocks/add_ff.h index 1e7350c1bb..6a9bbfbded 100644 --- a/gr-blocks/include/blocks/add_ff.h +++ b/gr-blocks/include/blocks/add_ff.h @@ -29,6 +29,13 @@ namespace gr { namespace blocks { + /*! + * \brief output = sum (input_0, input_1, ...) + * \ingroup math_operators_blk + * + * \details + * Add across all input streams. + */ class BLOCKS_API add_ff : virtual public gr_sync_block { public: diff --git a/gr-blocks/include/blocks/and_XX.h.t b/gr-blocks/include/blocks/and_XX.h.t index 68ddcc33d5..048e1bea57 100644 --- a/gr-blocks/include/blocks/and_XX.h.t +++ b/gr-blocks/include/blocks/and_XX.h.t @@ -33,7 +33,7 @@ namespace gr { /*! * \brief output = input_0 & input_1 & , ... & input_N) - * \ingroup math_blk + * \ingroup boolean_operators_blk * * bitwise boolean and across all input streams. */ diff --git a/gr-blocks/include/blocks/and_const_XX.h.t b/gr-blocks/include/blocks/and_const_XX.h.t index 945a1f48b7..9e478819cb 100644 --- a/gr-blocks/include/blocks/and_const_XX.h.t +++ b/gr-blocks/include/blocks/and_const_XX.h.t @@ -33,7 +33,7 @@ namespace gr { /*! * \brief output_N = input_N & value - * \ingroup math_blk + * \ingroup boolean_operators_blk * * bitwise boolean and of const to the data stream. */ diff --git a/gr-blocks/include/blocks/annotator_1to1.h b/gr-blocks/include/blocks/annotator_1to1.h index 6cc8db6eef..1c5ab038fc 100644 --- a/gr-blocks/include/blocks/annotator_1to1.h +++ b/gr-blocks/include/blocks/annotator_1to1.h @@ -32,6 +32,7 @@ namespace gr { /*! * \brief 1-to-1 stream annotator testing block. FOR TESTING PURPOSES ONLY. * + * \details * This block creates tags to be sent downstream every 10,000 * items it sees. The tags contain the name and ID of the * instantiated block, use "seq" as a key, and have a counter that diff --git a/gr-blocks/include/blocks/annotator_alltoall.h b/gr-blocks/include/blocks/annotator_alltoall.h index 558aea69ca..7bad73b291 100644 --- a/gr-blocks/include/blocks/annotator_alltoall.h +++ b/gr-blocks/include/blocks/annotator_alltoall.h @@ -32,6 +32,7 @@ namespace gr { /*! * \brief All-to-all stream annotator testing block. FOR TESTING PURPOSES ONLY. * + * \details * This block creates tags to be sent downstream every 10,000 * items it sees. The tags contain the name and ID of the * instantiated block, use "seq" as a key, and have a counter that diff --git a/gr-blocks/include/blocks/annotator_raw.h b/gr-blocks/include/blocks/annotator_raw.h index ae273c2a46..703c42516a 100644 --- a/gr-blocks/include/blocks/annotator_raw.h +++ b/gr-blocks/include/blocks/annotator_raw.h @@ -33,6 +33,7 @@ namespace gr { /*! * \brief raw stream annotator testing block. * + * \details * This block creates arbitrary tags to be sent downstream blocks * to be sent are set manually via accessor methods and are sent * only once. diff --git a/gr-blocks/include/blocks/argmax_XX.h.t b/gr-blocks/include/blocks/argmax_XX.h.t index 4c25c1c8c4..93aa367260 100644 --- a/gr-blocks/include/blocks/argmax_XX.h.t +++ b/gr-blocks/include/blocks/argmax_XX.h.t @@ -35,8 +35,9 @@ namespace gr { * \brief Compares vectors from multiple streams and determines * the index in the vector and stream number where the maximum * value occurred. - * \ingroup math_blk + * \ingroup math_operators_blk * + * \details * Data is passed in as a vector of length \p vlen from multiple * input sources. It will look through these streams of \p vlen * data items and output two streams. diff --git a/gr-blocks/include/blocks/burst_tagger.h b/gr-blocks/include/blocks/burst_tagger.h index 408405f97b..312fb2ffbd 100644 --- a/gr-blocks/include/blocks/burst_tagger.h +++ b/gr-blocks/include/blocks/burst_tagger.h @@ -31,8 +31,10 @@ namespace gr { /*! * \brief Sets a burst on/off tag based on the value of the trigger input. - * \ingroup misc_blk + * \ingroup peak_detectors_blk + * \ingroup stream_tag_tools_blk * + * \details * This block takes two inputs, a signal stream on the input * stream 0 and a trigger stream of shorts on input stream 1. If * the trigger stream goes above 0, a tag with the key "burst" diff --git a/gr-blocks/include/blocks/char_to_float.h b/gr-blocks/include/blocks/char_to_float.h index 92a2dbf800..0002ceb30b 100644 --- a/gr-blocks/include/blocks/char_to_float.h +++ b/gr-blocks/include/blocks/char_to_float.h @@ -31,10 +31,7 @@ namespace gr { /*! * \brief Convert stream of chars to a stream of float - * \ingroup converter_blk - * - * \param vlen vector length of data streams. - * \param scale a scalar divider to change the output signal scale. + * \ingroup type_converters_blk */ class BLOCKS_API char_to_float : virtual public gr_sync_block { @@ -43,6 +40,12 @@ namespace gr { // gr::blocks::char_to_float_ff::sptr typedef boost::shared_ptr<char_to_float> sptr; + /*! + * Build a chars to float stream converter block. + * + * \param vlen vector length of data streams. + * \param scale a scalar divider to change the output signal scale. + */ static sptr make(size_t vlen=1, float scale=1.0); /*! diff --git a/gr-blocks/include/blocks/char_to_short.h b/gr-blocks/include/blocks/char_to_short.h index e2bb3a8590..fc9d3b4b52 100644 --- a/gr-blocks/include/blocks/char_to_short.h +++ b/gr-blocks/include/blocks/char_to_short.h @@ -31,9 +31,7 @@ namespace gr { /*! * \brief Convert stream of chars to a stream of short - * \ingroup converter_blk - * - * \param vlen vector length of data streams. + * \ingroup type_converters_blk */ class BLOCKS_API char_to_short : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/check_lfsr_32k_s.h b/gr-blocks/include/blocks/check_lfsr_32k_s.h index 4eba436e80..6eddd607b6 100644 --- a/gr-blocks/include/blocks/check_lfsr_32k_s.h +++ b/gr-blocks/include/blocks/check_lfsr_32k_s.h @@ -33,6 +33,7 @@ namespace gr { * \brief sink that checks if its input stream consists of a lfsr_32k sequence. * \ingroup sink_blk * + * \details * This sink is typically used along with * gr::blocks::lfsr_32k_source_s to test the USRP using its * digital loopback mode. diff --git a/gr-blocks/include/blocks/complex_to_arg.h b/gr-blocks/include/blocks/complex_to_arg.h index 5d38161d45..178f846704 100644 --- a/gr-blocks/include/blocks/complex_to_arg.h +++ b/gr-blocks/include/blocks/complex_to_arg.h @@ -31,16 +31,19 @@ namespace gr { /*! * \brief complex in, arg out (float) - * \ingroup converter_blk - * \param vlen vector len (default 1) + * \ingroup type_converters_blk */ class BLOCKS_API complex_to_arg : virtual public gr_sync_block { public: - // gr::blocks::complex_to_arg_ff::sptr typedef boost::shared_ptr<complex_to_arg> sptr; + /*! + * Build a complex to arg block. + * + * \param vlen vector len (default 1) + */ static sptr make(size_t vlen=1); }; diff --git a/gr-blocks/include/blocks/complex_to_float.h b/gr-blocks/include/blocks/complex_to_float.h index 322f67b624..7648648d6c 100644 --- a/gr-blocks/include/blocks/complex_to_float.h +++ b/gr-blocks/include/blocks/complex_to_float.h @@ -31,16 +31,19 @@ namespace gr { /*! * \brief convert a stream of gr_complex to 1 or 2 streams of float - * \ingroup converter_blk - * \param vlen vector len (default 1) + * \ingroup type_converters_blk */ class BLOCKS_API complex_to_float : virtual public gr_sync_block { public: - // gr::blocks::complex_to_float_ff::sptr typedef boost::shared_ptr<complex_to_float> sptr; + /*! + * Build a complex to float block. + * + * \param vlen vector len (default 1) + */ static sptr make(size_t vlen=1); }; diff --git a/gr-blocks/include/blocks/complex_to_imag.h b/gr-blocks/include/blocks/complex_to_imag.h index 71353a94a1..cb1d32fec6 100644 --- a/gr-blocks/include/blocks/complex_to_imag.h +++ b/gr-blocks/include/blocks/complex_to_imag.h @@ -31,16 +31,19 @@ namespace gr { /*! * \brief complex in, imag out (float) - * \ingroup converter_blk - * \param vlen vector len (default 1) + * \ingroup type_converters_blk */ class BLOCKS_API complex_to_imag : virtual public gr_sync_block { public: - // gr::blocks::complex_to_imag_ff::sptr typedef boost::shared_ptr<complex_to_imag> sptr; + /*! + * Build a complex to imaginary part block. + * + * \param vlen vector len (default 1) + */ static sptr make(size_t vlen=1); }; diff --git a/gr-blocks/include/blocks/complex_to_interleaved_short.h b/gr-blocks/include/blocks/complex_to_interleaved_short.h index f5e91123ce..c7304787a9 100644 --- a/gr-blocks/include/blocks/complex_to_interleaved_short.h +++ b/gr-blocks/include/blocks/complex_to_interleaved_short.h @@ -31,15 +31,17 @@ namespace gr { /*! * \brief Convert stream of complex to a stream of interleaved shorts - * \ingroup converter_blk + * \ingroup type_converters_blk */ class BLOCKS_API complex_to_interleaved_short : virtual public gr_sync_interpolator { public: - // gr::blocks::complex_to_interleaved_short::sptr typedef boost::shared_ptr<complex_to_interleaved_short> sptr; + /*! + * Build a complex to interleaved shorts block. + */ static sptr make(); }; diff --git a/gr-blocks/include/blocks/complex_to_mag.h b/gr-blocks/include/blocks/complex_to_mag.h index 7e03c1cac4..b1758fd3eb 100644 --- a/gr-blocks/include/blocks/complex_to_mag.h +++ b/gr-blocks/include/blocks/complex_to_mag.h @@ -31,16 +31,19 @@ namespace gr { /*! * \brief complex in, magnitude out (float) - * \ingroup converter_blk - * \param vlen vector len (default 1) + * \ingroup type_converters_blk */ class BLOCKS_API complex_to_mag : virtual public gr_sync_block { public: - // gr::blocks::complex_to_mag_ff::sptr typedef boost::shared_ptr<complex_to_mag> sptr; + /*! + * Build a complex to magnitude block. + * + * \param vlen vector len (default 1) + */ static sptr make(size_t vlen=1); }; diff --git a/gr-blocks/include/blocks/complex_to_mag_squared.h b/gr-blocks/include/blocks/complex_to_mag_squared.h index 9e122b4b1b..a7c464fbb0 100644 --- a/gr-blocks/include/blocks/complex_to_mag_squared.h +++ b/gr-blocks/include/blocks/complex_to_mag_squared.h @@ -31,16 +31,19 @@ namespace gr { /*! * \brief complex in, magnitude squared out (float) - * \ingroup converter_blk - * \param vlen vector len (default 1) + * \ingroup type_converters_blk */ class BLOCKS_API complex_to_mag_squared : virtual public gr_sync_block { public: - // gr::blocks::complex_to_mag_squared_ff::sptr typedef boost::shared_ptr<complex_to_mag_squared> sptr; + /*! + * Build a complex to magnitude squared block. + * + * \param vlen vector len (default 1) + */ static sptr make(size_t vlen=1); }; diff --git a/gr-blocks/include/blocks/complex_to_real.h b/gr-blocks/include/blocks/complex_to_real.h index a891c2e086..908ca9fc94 100644 --- a/gr-blocks/include/blocks/complex_to_real.h +++ b/gr-blocks/include/blocks/complex_to_real.h @@ -31,16 +31,19 @@ namespace gr { /*! * \brief complex in, real out (float) - * \ingroup converter_blk - * \param vlen vector len (default 1) + * \ingroup type_converters_blk */ class BLOCKS_API complex_to_real : virtual public gr_sync_block { public: - // gr::blocks::complex_to_real_ff::sptr typedef boost::shared_ptr<complex_to_real> sptr; + /*! + * Build a complex to real part block. + * + * \param vlen vector len (default 1) + */ static sptr make(size_t vlen=1); }; diff --git a/gr-blocks/include/blocks/conjugate_cc.h b/gr-blocks/include/blocks/conjugate_cc.h index 02297c56e2..92096eea31 100644 --- a/gr-blocks/include/blocks/conjugate_cc.h +++ b/gr-blocks/include/blocks/conjugate_cc.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief output = complex conjugate of input - * \ingroup math_blk + * \ingroup math_operators_blk */ class BLOCKS_API conjugate_cc : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/copy.h b/gr-blocks/include/blocks/copy.h index 5ed0ea0e92..a243a54917 100644 --- a/gr-blocks/include/blocks/copy.h +++ b/gr-blocks/include/blocks/copy.h @@ -33,6 +33,7 @@ namespace gr { * \brief output[i] = input[i] * \ingroup misc_blk * + * \details * When enabled (default), this block copies its input to its * output. When disabled, this block drops its input on the floor. */ diff --git a/gr-blocks/include/blocks/deinterleave.h b/gr-blocks/include/blocks/deinterleave.h index 24074d2fcf..bb6ad59a22 100644 --- a/gr-blocks/include/blocks/deinterleave.h +++ b/gr-blocks/include/blocks/deinterleave.h @@ -31,16 +31,19 @@ namespace gr { /*! * \brief deinterleave a single input into N outputs - * \ingroup slicedice_blk - * \param itemsize stream itemsize + * \ingroup stream_operators_blk */ class BLOCKS_API deinterleave : virtual public gr_sync_decimator { public: - // gr::blocks::deinterleave::sptr typedef boost::shared_ptr<deinterleave> sptr; + /*! + * Make a deinterleave block. + * + * \param itemsize stream itemsize + */ static sptr make(size_t itemsize); }; diff --git a/gr-blocks/include/blocks/divide_XX.h.t b/gr-blocks/include/blocks/divide_XX.h.t index 9a382e4a09..821a458ec4 100644 --- a/gr-blocks/include/blocks/divide_XX.h.t +++ b/gr-blocks/include/blocks/divide_XX.h.t @@ -33,8 +33,9 @@ namespace gr { /*! * \brief output = input_0 / input_1 / input_x ...) - * \ingroup math_blk + * \ingroup math_operators_blk * + * \details * Divide across all input streams. */ class BLOCKS_API @NAME@ : virtual public gr_sync_block diff --git a/gr-blocks/include/blocks/endian_swap.h b/gr-blocks/include/blocks/endian_swap.h index 4b5a76218e..c26a1d2aa4 100644 --- a/gr-blocks/include/blocks/endian_swap.h +++ b/gr-blocks/include/blocks/endian_swap.h @@ -31,9 +31,7 @@ namespace gr { /*! * \brief Convert stream of items into thier byte swapped version - * - * \param item_size_bytes number of bytes per item, 1=no-op, - * 2=uint16_t, 4=uint32_t, 8=uint64_t + * \ingroup stream_operators_blk */ class BLOCKS_API endian_swap : virtual public gr_sync_block { @@ -41,6 +39,12 @@ namespace gr { // gr::blocks::endian_swap::sptr typedef boost::shared_ptr<endian_swap> sptr; + /*! + * Make an endian swap block. + * + * \param item_size_bytes number of bytes per item, 1=no-op, + * 2=uint16_t, 4=uint32_t, 8=uint64_t + */ static sptr make(size_t item_size_bytes=1); }; diff --git a/gr-blocks/include/blocks/file_descriptor_sink.h b/gr-blocks/include/blocks/file_descriptor_sink.h index df59e24c0a..e98f918c14 100644 --- a/gr-blocks/include/blocks/file_descriptor_sink.h +++ b/gr-blocks/include/blocks/file_descriptor_sink.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief Write stream to file descriptor. - * \ingroup sink_blk + * \ingroup file_operators_blk */ class BLOCKS_API file_descriptor_sink : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/file_descriptor_source.h b/gr-blocks/include/blocks/file_descriptor_source.h index ff4f14792b..ac827800cd 100644 --- a/gr-blocks/include/blocks/file_descriptor_source.h +++ b/gr-blocks/include/blocks/file_descriptor_source.h @@ -32,7 +32,7 @@ namespace gr { /*! * \brief Read stream from file descriptor. - * \ingroup source_blk + * \ingroup file_operators_blk */ class BLOCKS_API file_descriptor_source : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/file_meta_sink.h b/gr-blocks/include/blocks/file_meta_sink.h index ef64887cf9..763e0a2da0 100644 --- a/gr-blocks/include/blocks/file_meta_sink.h +++ b/gr-blocks/include/blocks/file_meta_sink.h @@ -45,8 +45,9 @@ namespace gr { /*! * \brief Write stream to file with meta-data headers. - * \ingroup sink_blk + * \ingroup file_operators_blk * + * \details * These files represent data as binary information in between * meta-data headers. The headers contain information about the * type of data and properties of the data in the next segment of diff --git a/gr-blocks/include/blocks/file_meta_source.h b/gr-blocks/include/blocks/file_meta_source.h index a992d52432..83997fc9b5 100644 --- a/gr-blocks/include/blocks/file_meta_source.h +++ b/gr-blocks/include/blocks/file_meta_source.h @@ -32,8 +32,9 @@ namespace gr { /*! * \brief Reads stream from file with meta-data headers. Headers * are parsed into tags. - * \ingroup source_blk + * \ingroup file_operators_blk * + * \details * The information in the metadata headers includes: * * rx_rate (double): sample rate of data. diff --git a/gr-blocks/include/blocks/file_sink.h b/gr-blocks/include/blocks/file_sink.h index 08c2adf1f7..c894defd78 100644 --- a/gr-blocks/include/blocks/file_sink.h +++ b/gr-blocks/include/blocks/file_sink.h @@ -32,7 +32,7 @@ namespace gr { /*! * \brief Write stream to file. - * \ingroup sink_blk + * \ingroup file_operators_blk */ class BLOCKS_API file_sink : virtual public gr_sync_block, virtual public file_sink_base diff --git a/gr-blocks/include/blocks/file_source.h b/gr-blocks/include/blocks/file_source.h index 1a12aa905d..6f1bc49ea1 100644 --- a/gr-blocks/include/blocks/file_source.h +++ b/gr-blocks/include/blocks/file_source.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief Read stream from file - * \ingroup source_blk + * \ingroup file_operators_blk */ class BLOCKS_API file_source : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/float_to_char.h b/gr-blocks/include/blocks/float_to_char.h index de9ea85e33..c0193da573 100644 --- a/gr-blocks/include/blocks/float_to_char.h +++ b/gr-blocks/include/blocks/float_to_char.h @@ -31,18 +31,20 @@ namespace gr { /*! * \brief Convert stream of floats to a stream of char - * \ingroup converter_blk - * - * \param vlen vector length of data streams. - * \param scale a scalar multiplier to change the output signal scale. + * \ingroup type_converters_blk */ class BLOCKS_API float_to_char : virtual public gr_sync_block { public: - // gr::blocks::float_to_char_ff::sptr typedef boost::shared_ptr<float_to_char> sptr; + /*! + * Build a float to char block. + * + * \param vlen vector length of data streams. + * \param scale a scalar multiplier to change the output signal scale. + */ static sptr make(size_t vlen=1, float scale=1.0); /*! diff --git a/gr-blocks/include/blocks/float_to_complex.h b/gr-blocks/include/blocks/float_to_complex.h index 48c5b6ead4..aba9aed8c4 100644 --- a/gr-blocks/include/blocks/float_to_complex.h +++ b/gr-blocks/include/blocks/float_to_complex.h @@ -31,16 +31,19 @@ namespace gr { /*! * \brief one or two floats in, complex out - * \ingroup converter_blk - * \param vlen vector len (default 1) + * \ingroup type_converters_blk */ class BLOCKS_API float_to_complex : virtual public gr_sync_block { public: - // gr::blocks::float_to_complex_ff::sptr typedef boost::shared_ptr<float_to_complex> sptr; + /*! + * Build a float to complex block. + * + * \param vlen vector len (default 1) + */ static sptr make(size_t vlen=1); }; diff --git a/gr-blocks/include/blocks/float_to_int.h b/gr-blocks/include/blocks/float_to_int.h index 95c62e5162..3c8e7ad5ab 100644 --- a/gr-blocks/include/blocks/float_to_int.h +++ b/gr-blocks/include/blocks/float_to_int.h @@ -30,19 +30,21 @@ namespace gr { namespace blocks { /*! - * \brief Convert stream of floats to a stream of char - * \ingroup converter_blk - * - * \param vlen vector length of data streams. - * \param scale a scalar multiplier to change the output signal scale. + * \brief Convert stream of floats to a stream of ints. + * \ingroup type_converters_blk */ class BLOCKS_API float_to_int : virtual public gr_sync_block { public: - // gr::blocks::float_to_int_ff::sptr typedef boost::shared_ptr<float_to_int> sptr; + /*! + * Build a float to int block. + * + * \param vlen vector length of data streams. + * \param scale a scalar multiplier to change the output signal scale. + */ static sptr make(size_t vlen=1, float scale=1.0); /*! diff --git a/gr-blocks/include/blocks/float_to_short.h b/gr-blocks/include/blocks/float_to_short.h index 5f1ab3f958..8f5f60e55b 100644 --- a/gr-blocks/include/blocks/float_to_short.h +++ b/gr-blocks/include/blocks/float_to_short.h @@ -31,18 +31,20 @@ namespace gr { /*! * \brief Convert stream of floats to a stream of shorts - * \ingroup converter_blk - * - * \param vlen vector length of data streams. - * \param scale a scalar multiplier to change the output signal scale. + * \ingroup type_converters_blk */ class BLOCKS_API float_to_short : virtual public gr_sync_block { public: - // gr::blocks::float_to_short_ff::sptr typedef boost::shared_ptr<float_to_short> sptr; + /*! + * Build a float to short block. + * + * \param vlen vector length of data streams. + * \param scale a scalar multiplier to change the output signal scale. + */ static sptr make(size_t vlen=1, float scale=1.0); /*! diff --git a/gr-blocks/include/blocks/float_to_uchar.h b/gr-blocks/include/blocks/float_to_uchar.h index b5d0d08f7d..9bfaaa65aa 100644 --- a/gr-blocks/include/blocks/float_to_uchar.h +++ b/gr-blocks/include/blocks/float_to_uchar.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief Convert stream of floats to a stream of unsigned chars - * \ingroup converter_blk + * \ingroup type_converters_blk */ class BLOCKS_API float_to_uchar : virtual public gr_sync_block { @@ -40,6 +40,9 @@ namespace gr { // gr::blocks::float_to_uchar_ff::sptr typedef boost::shared_ptr<float_to_uchar> sptr; + /*! + * Build a float to uchar block. + */ static sptr make(); }; diff --git a/gr-blocks/include/blocks/head.h b/gr-blocks/include/blocks/head.h index cc7d3808e5..4693f988b8 100644 --- a/gr-blocks/include/blocks/head.h +++ b/gr-blocks/include/blocks/head.h @@ -32,8 +32,9 @@ namespace gr { /*! * \brief copies the first N items to the output then signals done - * \ingroup slicedice_blk + * \ingroup misc_blk * + * \details * Useful for building test cases */ class BLOCKS_API head : virtual public gr_sync_block diff --git a/gr-blocks/include/blocks/int_to_float.h b/gr-blocks/include/blocks/int_to_float.h index ebee1c3c9e..179667e4df 100644 --- a/gr-blocks/include/blocks/int_to_float.h +++ b/gr-blocks/include/blocks/int_to_float.h @@ -30,19 +30,21 @@ namespace gr { namespace blocks { /*! - * \brief Convert stream of ints to a stream of floats - * \ingroup converter_blk - * - * \param vlen vector length of data streams. - * \param scale a scalar divider to change the output signal scale. + * \brief Convert stream of ints to a stream of floats. + * \ingroup type_converters_blk */ class BLOCKS_API int_to_float : virtual public gr_sync_block { public: - // gr::blocks::int_to_float_ff::sptr typedef boost::shared_ptr<int_to_float> sptr; + /*! + * Build an int to float block. + * + * \param vlen vector length of data streams. + * \param scale a scalar divider to change the output signal scale. + */ static sptr make(size_t vlen=1, float scale=1.0); /*! diff --git a/gr-blocks/include/blocks/integrate_XX.h.t b/gr-blocks/include/blocks/integrate_XX.h.t index 8a313a0ba9..45a49def0c 100644 --- a/gr-blocks/include/blocks/integrate_XX.h.t +++ b/gr-blocks/include/blocks/integrate_XX.h.t @@ -33,7 +33,7 @@ namespace gr { /*! * \brief Integrate successive samples and decimate - * \ingroup math_blk + * \ingroup math_operators_blk */ class BLOCKS_API @NAME@ : virtual public gr_sync_decimator { diff --git a/gr-blocks/include/blocks/interleave.h b/gr-blocks/include/blocks/interleave.h index e98d01df9b..043ad6d27b 100644 --- a/gr-blocks/include/blocks/interleave.h +++ b/gr-blocks/include/blocks/interleave.h @@ -31,16 +31,19 @@ namespace gr { /*! * \brief interleave N inputs into a single output - * \ingroup slicedice_blk - * \param itemsize stream itemsize + * \ingroup stream_operators_blk */ class BLOCKS_API interleave : virtual public gr_sync_interpolator { public: - // gr::blocks::interleave::sptr typedef boost::shared_ptr<interleave> sptr; + /*! + * Make a stream interleave block. + * + * \param itemsize stream itemsize + */ static sptr make(size_t itemsize); }; diff --git a/gr-blocks/include/blocks/interleaved_short_to_complex.h b/gr-blocks/include/blocks/interleaved_short_to_complex.h index 40e96fc46a..961ce59a66 100644 --- a/gr-blocks/include/blocks/interleaved_short_to_complex.h +++ b/gr-blocks/include/blocks/interleaved_short_to_complex.h @@ -31,15 +31,17 @@ namespace gr { /*! * \brief Convert stream of interleaved shorts to a stream of complex - * \ingroup converter_blk + * \ingroup type_converters_blk */ class BLOCKS_API interleaved_short_to_complex : virtual public gr_sync_decimator { public: - // gr::blocks::interleaved_short_to_complex::sptr typedef boost::shared_ptr<interleaved_short_to_complex> sptr; + /*! + * Build an interleaved short to complex block. + */ static sptr make(); }; diff --git a/gr-blocks/include/blocks/keep_m_in_n.h b/gr-blocks/include/blocks/keep_m_in_n.h index 806ec3de54..88d94fab85 100644 --- a/gr-blocks/include/blocks/keep_m_in_n.h +++ b/gr-blocks/include/blocks/keep_m_in_n.h @@ -30,8 +30,8 @@ namespace gr { namespace blocks { /*! - * \brief decimate a stream, keeping one item out of every n. - * \ingroup slicedice_blk + * \brief decimate a stream, keeping \p m items out of every \p n. + * \ingroup stream_operators_blk */ class BLOCKS_API keep_m_in_n : virtual public gr_block { @@ -40,6 +40,14 @@ namespace gr { // gr::blocks::keep_m_in_n::sptr typedef boost::shared_ptr<keep_m_in_n> sptr; + /*! + * Make a keep m in n block. + * + * \param itemsize stream itemsize + * \param m number of items to take in block of \p n items + * \param n block size in items + * \param offset initial item offset into the stream + */ static sptr make(size_t itemsize, int m, int n, int offset); virtual void set_m(int m) = 0; diff --git a/gr-blocks/include/blocks/keep_one_in_n.h b/gr-blocks/include/blocks/keep_one_in_n.h index c487849941..9cce1e93ed 100644 --- a/gr-blocks/include/blocks/keep_one_in_n.h +++ b/gr-blocks/include/blocks/keep_one_in_n.h @@ -30,8 +30,8 @@ namespace gr { namespace blocks { /*! - * \brief decimate a stream, keeping one item out of every n. - * \ingroup slicedice_blk + * \brief decimate a stream, keeping one item out of every \p n. + * \ingroup stream_operators_blk */ class BLOCKS_API keep_one_in_n : virtual public gr_block { @@ -40,6 +40,12 @@ namespace gr { // gr::blocks::keep_one_in_n::sptr typedef boost::shared_ptr<keep_one_in_n> sptr; + /*! + * Make a keep one in n block. + * + * \param itemsize stream itemsize + * \param n block size in items + */ static sptr make(size_t itemsize, int n); virtual void set_n(int n) = 0; diff --git a/gr-blocks/include/blocks/lfsr_15_1_0.h b/gr-blocks/include/blocks/lfsr_15_1_0.h index a79ed62eb8..b906844585 100644 --- a/gr-blocks/include/blocks/lfsr_15_1_0.h +++ b/gr-blocks/include/blocks/lfsr_15_1_0.h @@ -32,6 +32,7 @@ namespace gr { * \brief Linear Feedback Shift Register using primitive polynomial x^15 + x + 1 * \ingroup misc * + * \details * Generates a maximal length pseudo-random sequence of length * 2^15 - 1 bits. */ diff --git a/gr-blocks/include/blocks/lfsr_32k.h b/gr-blocks/include/blocks/lfsr_32k.h index 7e70f6512b..23954139d8 100644 --- a/gr-blocks/include/blocks/lfsr_32k.h +++ b/gr-blocks/include/blocks/lfsr_32k.h @@ -33,6 +33,7 @@ namespace gr { * \brief generate pseudo-random sequence of length 32768 bits. * \ingroup misc * + * \details * This is based on gri_lfsr_15_1_0 with an extra 0 added at the * end of the sequence. */ diff --git a/gr-blocks/include/blocks/lfsr_32k_source_s.h b/gr-blocks/include/blocks/lfsr_32k_source_s.h index c24cc31b29..9cc32fc2c9 100644 --- a/gr-blocks/include/blocks/lfsr_32k_source_s.h +++ b/gr-blocks/include/blocks/lfsr_32k_source_s.h @@ -34,6 +34,7 @@ namespace gr { * \brief LFSR pseudo-random source with period of 2^15 bits (2^11 shorts) * \ingroup source_blk * + * \details * This source is typically used along with gr::blocks::check_lfsr_32k_s to * test the USRP using its digital loopback mode. */ diff --git a/gr-blocks/include/blocks/max_XX.h.t b/gr-blocks/include/blocks/max_XX.h.t index 9e74bf3cac..738d7bb938 100644 --- a/gr-blocks/include/blocks/max_XX.h.t +++ b/gr-blocks/include/blocks/max_XX.h.t @@ -34,8 +34,9 @@ namespace gr { /*! * \brief Compares vectors from multiple streams and determines * the maximum value from each vector over all streams. - * \ingroup math_blk + * \ingroup math_operators_blk * + * \details * Data is passed in as a vector of length \p vlen from multiple * input sources. It will look through these streams of \p vlen * data items and output two streams. diff --git a/gr-blocks/include/blocks/message_burst_source.h b/gr-blocks/include/blocks/message_burst_source.h index 864d43452f..72997abf2c 100644 --- a/gr-blocks/include/blocks/message_burst_source.h +++ b/gr-blocks/include/blocks/message_burst_source.h @@ -32,7 +32,7 @@ namespace gr { /*! * \brief Turn received messages into a stream and tag them for UHD to send. - * \ingroup source_blk + * \ingroup message_tools_blk */ class BLOCKS_API message_burst_source : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/message_debug.h b/gr-blocks/include/blocks/message_debug.h index f0212331c2..59a778ba49 100644 --- a/gr-blocks/include/blocks/message_debug.h +++ b/gr-blocks/include/blocks/message_debug.h @@ -31,8 +31,11 @@ namespace gr { /*! * \brief Debug block for the message passing system. - * \ingroup sink_blk + * \ingroup message_tools_blk + * \ingroup measurement_tools_blk + * \ingroup debug_tools_blk * + * \details * The message debug block is used to capture and print or store * messages as they are received. Any block that generates a * message may connect that message port to one or more of the diff --git a/gr-blocks/include/blocks/message_sink.h b/gr-blocks/include/blocks/message_sink.h index 5d3084d02d..aec636e3cf 100644 --- a/gr-blocks/include/blocks/message_sink.h +++ b/gr-blocks/include/blocks/message_sink.h @@ -32,7 +32,7 @@ namespace gr { /*! * \brief Gather received items into messages and insert into msgq - * \ingroup sink_blk + * \ingroup message_tools_blk */ class BLOCKS_API message_sink : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/message_source.h b/gr-blocks/include/blocks/message_source.h index cf4bafc22b..2aa3ddaa35 100644 --- a/gr-blocks/include/blocks/message_source.h +++ b/gr-blocks/include/blocks/message_source.h @@ -32,7 +32,7 @@ namespace gr { /*! * \brief Turn received messages into a stream - * \ingroup source_blk + * \ingroup message_tools_blk */ class BLOCKS_API message_source : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/message_strobe.h b/gr-blocks/include/blocks/message_strobe.h index 6b427d539c..abd9b73596 100644 --- a/gr-blocks/include/blocks/message_strobe.h +++ b/gr-blocks/include/blocks/message_strobe.h @@ -31,8 +31,9 @@ namespace gr { /*! * \brief Send message at defined interval - * \ingroup msg_blk + * \ingroup message_tools_blk * + * \details * Takes a PMT message and sends it out every \p period_ms * milliseconds. Useful for testing/debugging the message system. */ diff --git a/gr-blocks/include/blocks/moving_average_XX.h.t b/gr-blocks/include/blocks/moving_average_XX.h.t index 6b7883fdd4..5b996bd4d5 100644 --- a/gr-blocks/include/blocks/moving_average_XX.h.t +++ b/gr-blocks/include/blocks/moving_average_XX.h.t @@ -33,7 +33,7 @@ namespace gr { /*! * \brief output is the moving sum of the last N samples, scaled by the scale factor - * \ingroup filter_blk + * \ingroup level_controllers_blk */ class BLOCKS_API @NAME@ : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/multiply_XX.h.t b/gr-blocks/include/blocks/multiply_XX.h.t index 47ed3746c7..4ad25d35e9 100644 --- a/gr-blocks/include/blocks/multiply_XX.h.t +++ b/gr-blocks/include/blocks/multiply_XX.h.t @@ -33,8 +33,9 @@ namespace gr { /*! * \brief output = prod (input_0, input_1, ...) - * \ingroup math_blk + * \ingroup math_operators_blk * + * \details * Multiply across all input streams. */ class BLOCKS_API @NAME@ : virtual public gr_sync_block diff --git a/gr-blocks/include/blocks/multiply_cc.h b/gr-blocks/include/blocks/multiply_cc.h index 559fcda579..79533c2dc6 100644 --- a/gr-blocks/include/blocks/multiply_cc.h +++ b/gr-blocks/include/blocks/multiply_cc.h @@ -29,6 +29,13 @@ namespace gr { namespace blocks { + /*! + * \brief output = prod (input_0, input_1, ...) + * \ingroup math_operators_blk + * + * \details + * Multiply across all input streams. + */ class BLOCKS_API multiply_cc : virtual public gr_sync_block { public: diff --git a/gr-blocks/include/blocks/multiply_conjugate_cc.h b/gr-blocks/include/blocks/multiply_conjugate_cc.h index fc587ae2f7..7fa46f891e 100644 --- a/gr-blocks/include/blocks/multiply_conjugate_cc.h +++ b/gr-blocks/include/blocks/multiply_conjugate_cc.h @@ -29,6 +29,10 @@ namespace gr { namespace blocks { + /*! + * \brief Multiplies stream 0 by the complex conjugate of stream 1. + * \ingroup math_operators_blk + */ class BLOCKS_API multiply_conjugate_cc : virtual public gr_sync_block { public: diff --git a/gr-blocks/include/blocks/multiply_const_XX.h.t b/gr-blocks/include/blocks/multiply_const_XX.h.t index a7cd3a8583..4f5ac5c5a6 100644 --- a/gr-blocks/include/blocks/multiply_const_XX.h.t +++ b/gr-blocks/include/blocks/multiply_const_XX.h.t @@ -33,7 +33,7 @@ namespace gr { /*! * \brief output = input * constant - * \ingroup math_blk + * \ingroup math_operators_blk */ class BLOCKS_API @NAME@ : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/multiply_const_cc.h b/gr-blocks/include/blocks/multiply_const_cc.h index 9572eaec70..3469b4df17 100644 --- a/gr-blocks/include/blocks/multiply_const_cc.h +++ b/gr-blocks/include/blocks/multiply_const_cc.h @@ -33,7 +33,7 @@ namespace gr { /*! * \brief output = input * complex constant - * \ingroup math_blk + * \ingroup math_operators_blk */ class BLOCKS_API multiply_const_cc : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/multiply_const_ff.h b/gr-blocks/include/blocks/multiply_const_ff.h index d2d5e805cb..627e0c39a6 100644 --- a/gr-blocks/include/blocks/multiply_const_ff.h +++ b/gr-blocks/include/blocks/multiply_const_ff.h @@ -33,7 +33,7 @@ namespace gr { /*! * \brief output = input * real constant - * \ingroup math_blk + * \ingroup math_operators_blk */ class BLOCKS_API multiply_const_ff : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/multiply_ff.h b/gr-blocks/include/blocks/multiply_ff.h index 683b540bbd..ef3f5109bd 100644 --- a/gr-blocks/include/blocks/multiply_ff.h +++ b/gr-blocks/include/blocks/multiply_ff.h @@ -29,6 +29,13 @@ namespace gr { namespace blocks { + /*! + * \brief output = prod (input_0, input_1, ...) + * \ingroup math_operators_blk + * + * \details + * Multiply across all input streams. + */ class BLOCKS_API multiply_ff : virtual public gr_sync_block { public: diff --git a/gr-blocks/include/blocks/mute_XX.h.t b/gr-blocks/include/blocks/mute_XX.h.t index 2b1c8b9a4d..b9a394df2f 100644 --- a/gr-blocks/include/blocks/mute_XX.h.t +++ b/gr-blocks/include/blocks/mute_XX.h.t @@ -33,7 +33,7 @@ namespace gr { /*! * \brief output = input or zero if muted. - * \ingroup level_blk + * \ingroup level_controllers_blk */ class BLOCKS_API @NAME@ : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/nlog10_ff.h b/gr-blocks/include/blocks/nlog10_ff.h index cedd620fa0..7c4dfd8962 100644 --- a/gr-blocks/include/blocks/nlog10_ff.h +++ b/gr-blocks/include/blocks/nlog10_ff.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief output = n*log10(input) + k - * \ingroup math_blk + * \ingroup math_operators_blk */ class BLOCKS_API nlog10_ff : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/not_XX.h.t b/gr-blocks/include/blocks/not_XX.h.t index e406c82dc3..fc06327722 100644 --- a/gr-blocks/include/blocks/not_XX.h.t +++ b/gr-blocks/include/blocks/not_XX.h.t @@ -33,7 +33,7 @@ namespace gr { /*! * \brief output = ~input - * \ingroup math_blk + * \ingroup boolean_operators_blk * * bitwise boolean not of input streams. */ diff --git a/gr-blocks/include/blocks/null_sink.h b/gr-blocks/include/blocks/null_sink.h index c13a7552c6..8e772ab61f 100644 --- a/gr-blocks/include/blocks/null_sink.h +++ b/gr-blocks/include/blocks/null_sink.h @@ -33,7 +33,7 @@ namespace gr { /*! * \brief Bit bucket. Use as a termination point when a sink is * required and we don't want to do anything real. - * \ingroup sink_blk + * \ingroup misc_blk */ class BLOCKS_API null_sink : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/null_source.h b/gr-blocks/include/blocks/null_source.h index 904a0c1ba3..fc782c1cb5 100644 --- a/gr-blocks/include/blocks/null_source.h +++ b/gr-blocks/include/blocks/null_source.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief A source of zeros used mainly for testing. - * \ingroup source_blk + * \ingroup misc_blk */ class BLOCKS_API null_source : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/or_XX.h.t b/gr-blocks/include/blocks/or_XX.h.t index 8bc9a080f6..67afe54ea9 100644 --- a/gr-blocks/include/blocks/or_XX.h.t +++ b/gr-blocks/include/blocks/or_XX.h.t @@ -33,7 +33,7 @@ namespace gr { /*! * \brief output = input_0 | input_1 | , ... | input_N) - * \ingroup math_blk + * \ingroup boolean_operators_blk * * Bitwise boolean or across all input streams. */ diff --git a/gr-blocks/include/blocks/pack_k_bits_bb.h b/gr-blocks/include/blocks/pack_k_bits_bb.h index 5bf71c9c3e..41ae4bc418 100644 --- a/gr-blocks/include/blocks/pack_k_bits_bb.h +++ b/gr-blocks/include/blocks/pack_k_bits_bb.h @@ -32,7 +32,7 @@ namespace gr { /*! * \brief Converts a stream of bytes with 1 bit in the LSB to a * byte with k relevent bits. - * \ingroup converter_blk + * \ingroup byte_operators_blk */ class BLOCKS_API pack_k_bits_bb : virtual public gr_sync_decimator { diff --git a/gr-blocks/include/blocks/packed_to_unpacked_XX.h.t b/gr-blocks/include/blocks/packed_to_unpacked_XX.h.t index c00a27527e..d8edba2297 100644 --- a/gr-blocks/include/blocks/packed_to_unpacked_XX.h.t +++ b/gr-blocks/include/blocks/packed_to_unpacked_XX.h.t @@ -34,8 +34,9 @@ namespace gr { /*! * \brief Convert a stream of packed bytes or shorts to stream of unpacked bytes or shorts. - * \ingroup converter_blk + * \ingroup byte_operators_blk * + * \details * input: stream of @I_TYPE@; output: stream of @O_TYPE@ * * This is the inverse of gr::blocks::unpacked_to_packed_XX. diff --git a/gr-blocks/include/blocks/patterned_interleaver.h b/gr-blocks/include/blocks/patterned_interleaver.h index cfcdac6e73..01e9a0d58f 100644 --- a/gr-blocks/include/blocks/patterned_interleaver.h +++ b/gr-blocks/include/blocks/patterned_interleaver.h @@ -1,3 +1,25 @@ +/* -*- c++ -*- */ +/* + * Copyright 2013 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Radio; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + #ifndef INCLUDED_BLOCKS_PATTERNED_INTERLEAVER_H #define INCLUDED_BLOCKS_PATTERNED_INTERLEAVER_H @@ -7,17 +29,26 @@ namespace gr { namespace blocks { + /*! + * \brief Interleave items based on the provided vector \p pattern. + * \ingroup stream_operators_blk + */ class BLOCKS_API patterned_interleaver : virtual public gr_block { public: - typedef boost::shared_ptr<patterned_interleaver> sptr; + /*! + * Make a patterned interleaver block. + * + * \param itemsize stream itemsize + * \param pattern vector that represents the interleaving pattern + */ static sptr make(size_t itemsize, std::vector<int> pattern); }; } } -#endif +#endif /* INCLUDED_BLOCKS_PATTERNED_INTERLEAVER_H */ diff --git a/gr-blocks/include/blocks/pdu_to_tagged_stream.h b/gr-blocks/include/blocks/pdu_to_tagged_stream.h index cf64f41dc2..6a26673149 100644 --- a/gr-blocks/include/blocks/pdu_to_tagged_stream.h +++ b/gr-blocks/include/blocks/pdu_to_tagged_stream.h @@ -32,7 +32,7 @@ namespace gr { /*! * \brief Turns received PDUs into a tagged stream of items - * \ingroup source_blk + * \ingroup message_tools_blk */ class BLOCKS_API pdu_to_tagged_stream : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/peak_detector2_fb.h b/gr-blocks/include/blocks/peak_detector2_fb.h index 71afc3287b..aa30d46a04 100644 --- a/gr-blocks/include/blocks/peak_detector2_fb.h +++ b/gr-blocks/include/blocks/peak_detector2_fb.h @@ -31,19 +31,12 @@ namespace gr { /*! * \brief Detect the peak of a signal - * \ingroup level_blk + * \ingroup peak_detectors_blk * + * \details * If a peak is detected, this block outputs a 1, or it outputs * 0's. A separate debug output may be connected, to view the * internal EWMA described below. - * - * \param threshold_factor_rise The threshold factor determins - * when a peak is present. An EWMA average of the signal is - * calculated and when the value of the signal goes over - * threshold_factor_rise*average, we call the peak. - * \param look_ahead The look-ahead value is used when the - * threshold is found to locate the peak within this range. - * \param alpha The gain value of a single-pole moving average filter. */ class BLOCKS_API peak_detector2_fb : virtual public gr_sync_block { @@ -51,6 +44,17 @@ namespace gr { // gr::blocks::peak_detector2_fb::sptr typedef boost::shared_ptr<peak_detector2_fb> sptr; + /*! + * Build a peak detector block with float in, byte out. + * + * \param threshold_factor_rise The threshold factor determins + * when a peak is present. An EWMA average of the signal is + * calculated and when the value of the signal goes over + * threshold_factor_rise*average, we call the peak. + * \param look_ahead The look-ahead value is used when the + * threshold is found to locate the peak within this range. + * \param alpha The gain value of a single-pole moving average filter. + */ static sptr make(float threshold_factor_rise=7, int look_ahead=1000, float alpha=0.001); diff --git a/gr-blocks/include/blocks/peak_detector_XX.h.t b/gr-blocks/include/blocks/peak_detector_XX.h.t index fead53d208..8d42f42ea8 100644 --- a/gr-blocks/include/blocks/peak_detector_XX.h.t +++ b/gr-blocks/include/blocks/peak_detector_XX.h.t @@ -33,8 +33,9 @@ namespace gr { /*! * \brief Detect the peak of a signal - * \ingroup level_blk + * \ingroup peak_detectors_blk * + * \details * If a peak is detected, this block outputs a 1, * or it outputs 0's. */ diff --git a/gr-blocks/include/blocks/plateau_detector_fb.h b/gr-blocks/include/blocks/plateau_detector_fb.h index 041f9c1baf..119262d396 100644 --- a/gr-blocks/include/blocks/plateau_detector_fb.h +++ b/gr-blocks/include/blocks/plateau_detector_fb.h @@ -32,7 +32,9 @@ namespace gr { /*! * \brief Detects a plateau and marks the middle. + * \ingroup peak_detectors_blk * + * \details * Detect a plateau of a-priori known height. Input is a stream of floats, * the output is a stream of bytes. Whenever a plateau is detected, the * middle of that plateau is marked with a '1' on the output stream (all @@ -48,9 +50,6 @@ namespace gr { * * An implicit hysteresis is provided by the fact that after detecting one plateau, * it waits at least max_len samples before the next plateau can be detected. - * - * \ingroup level_blk - * */ class BLOCKS_API plateau_detector_fb : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/probe_rate.h b/gr-blocks/include/blocks/probe_rate.h index 3401d2acd1..fc0b9f29d4 100644 --- a/gr-blocks/include/blocks/probe_rate.h +++ b/gr-blocks/include/blocks/probe_rate.h @@ -31,6 +31,7 @@ namespace gr { /*! * \brief throughput measurement + * \ingroup measurement_tools_blk */ class BLOCKS_API probe_rate : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/probe_signal_X.h.t b/gr-blocks/include/blocks/probe_signal_X.h.t index 01b7bad0c4..fb0d84bb41 100644 --- a/gr-blocks/include/blocks/probe_signal_X.h.t +++ b/gr-blocks/include/blocks/probe_signal_X.h.t @@ -33,7 +33,7 @@ namespace gr { /*! * \brief Sink that allows a sample to be grabbed from Python. - * \ingroup sink_blk + * \ingroup measurement_tools_blk */ class BLOCKS_API @NAME@ : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/probe_signal_vX.h.t b/gr-blocks/include/blocks/probe_signal_vX.h.t index 487f280db4..77462dc658 100644 --- a/gr-blocks/include/blocks/probe_signal_vX.h.t +++ b/gr-blocks/include/blocks/probe_signal_vX.h.t @@ -35,6 +35,7 @@ namespace gr { /*! * \brief Sink that allows a vector of samples to be grabbed from Python. * \ingroup sink_blk + * \ingroup measurement_tools_blk */ class BLOCKS_API @NAME@ : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/regenerate_bb.h b/gr-blocks/include/blocks/regenerate_bb.h index 3063e70a7f..a2cc76737e 100644 --- a/gr-blocks/include/blocks/regenerate_bb.h +++ b/gr-blocks/include/blocks/regenerate_bb.h @@ -31,8 +31,9 @@ namespace gr { /*! * \brief Detect the peak of a signal and repeat every period samples - * \ingroup level_blk + * \ingroup stream_operators_blk * + * \details * If a peak is detected, this block outputs a 1 repeated every * period samples until reset by detection of another 1 on the * input or stopped after max_regen regenerations have occurred. diff --git a/gr-blocks/include/blocks/repack_bits_bb.h b/gr-blocks/include/blocks/repack_bits_bb.h index 9ade0a4353..268e4eefc5 100644 --- a/gr-blocks/include/blocks/repack_bits_bb.h +++ b/gr-blocks/include/blocks/repack_bits_bb.h @@ -31,8 +31,9 @@ namespace gr { /*! * \brief Pack \p k bits from the input stream onto \p k bits of the output stream. - * \ingroup blocks + * \ingroup byte_operators_blk * + * \details * No bits are lost here; any value for k and l (within [1, 8]) is allowed. * On every fresh input byte, it starts reading on the LSB, and starts copying * to the LSB as well. diff --git a/gr-blocks/include/blocks/repeat.h b/gr-blocks/include/blocks/repeat.h index 3f9f8e6fc2..b353205541 100644 --- a/gr-blocks/include/blocks/repeat.h +++ b/gr-blocks/include/blocks/repeat.h @@ -30,18 +30,21 @@ namespace gr { namespace blocks { /*! - * \brief repeat each input 'interp' times - * \ingroup slicedice_blk - * \param itemsize stream itemsize - * \param interp number of times to repeat + * \brief repeat each input \p repeat times + * \ingroup stream_operators_blk */ class BLOCKS_API repeat : virtual public gr_sync_interpolator { public: - // gr::blocks::repeat::sptr typedef boost::shared_ptr<repeat> sptr; + /*! + * Make a repeat block. + * + * \param itemsize stream itemsize + * \param repeat number of times to repeat the input + */ static sptr make(size_t itemsize, int repeat); }; diff --git a/gr-blocks/include/blocks/rms_cf.h b/gr-blocks/include/blocks/rms_cf.h index e73be6923a..94a17f7a67 100644 --- a/gr-blocks/include/blocks/rms_cf.h +++ b/gr-blocks/include/blocks/rms_cf.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief RMS average power - * \ingroup math_blk + * \ingroup math_operators_blk */ class BLOCKS_API rms_cf : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/rms_ff.h b/gr-blocks/include/blocks/rms_ff.h index b945096907..e202d79f2c 100644 --- a/gr-blocks/include/blocks/rms_ff.h +++ b/gr-blocks/include/blocks/rms_ff.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief RMS average power - * \ingroup math_blk + * \ingroup math_operators_blk */ class BLOCKS_API rms_ff : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/sample_and_hold_XX.h.t b/gr-blocks/include/blocks/sample_and_hold_XX.h.t index 3266523efb..0d2ecdc5d7 100644 --- a/gr-blocks/include/blocks/sample_and_hold_XX.h.t +++ b/gr-blocks/include/blocks/sample_and_hold_XX.h.t @@ -33,8 +33,9 @@ namespace gr { /*! * \brief sample and hold circuit - * \ingroup level_blk + * \ingroup level_controllers_blk * + * \details * Samples the data stream (input stream 0) and holds the value if * the control signal is 1 (intput stream 1). */ diff --git a/gr-blocks/include/blocks/short_to_char.h b/gr-blocks/include/blocks/short_to_char.h index eeb053b0ec..09e784f101 100644 --- a/gr-blocks/include/blocks/short_to_char.h +++ b/gr-blocks/include/blocks/short_to_char.h @@ -30,18 +30,20 @@ namespace gr { namespace blocks { /*! - * \brief Convert stream of shorts to a stream of chars - * \ingroup converter_blk - * - * \param vlen vector length of data streams. + * \brief Convert stream of shorts to a stream of chars. + * \ingroup type_converters_blk */ class BLOCKS_API short_to_char : virtual public gr_sync_block { public: - // gr::blocks::short_to_char_ff::sptr typedef boost::shared_ptr<short_to_char> sptr; + /*! + * Build a short to char block. + * + * \param vlen vector length of data streams. + */ static sptr make(size_t vlen=1); }; diff --git a/gr-blocks/include/blocks/short_to_float.h b/gr-blocks/include/blocks/short_to_float.h index c26addcd01..ec85e892ed 100644 --- a/gr-blocks/include/blocks/short_to_float.h +++ b/gr-blocks/include/blocks/short_to_float.h @@ -31,18 +31,20 @@ namespace gr { /*! * \brief Convert stream of shorts to a stream of floats - * \ingroup converter_blk - * - * \param vlen vector length of data streams. - * \param scale a scalar divider to change the output signal scale. + * \ingroup type_converters_blk */ class BLOCKS_API short_to_float : virtual public gr_sync_block { public: - // gr::blocks::short_to_float_ff::sptr typedef boost::shared_ptr<short_to_float> sptr; + /*! + * Build a short to float block. + * + * \param vlen vector length of data streams. + * \param scale a scalar divider to change the output signal scale. + */ static sptr make(size_t vlen=1, float scale=1.0); /*! diff --git a/gr-blocks/include/blocks/skiphead.h b/gr-blocks/include/blocks/skiphead.h index e6745af8ea..27a8afea92 100644 --- a/gr-blocks/include/blocks/skiphead.h +++ b/gr-blocks/include/blocks/skiphead.h @@ -32,8 +32,9 @@ namespace gr { /*! * \brief skips the first N items, from then on copies items to the output - * \ingroup slicedice_blk + * \ingroup misc_blk * + * \details * Useful for building test cases and sources which have metadata * or junk at the start */ diff --git a/gr-blocks/include/blocks/socket_pdu.h b/gr-blocks/include/blocks/socket_pdu.h index 0ed64a2557..f72d303c75 100644 --- a/gr-blocks/include/blocks/socket_pdu.h +++ b/gr-blocks/include/blocks/socket_pdu.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief Creates socket interface and translates traffic to PDUs - * \ingroup net_blk + * \ingroup networking_tools_blk */ class BLOCKS_API socket_pdu : virtual public gr_block { diff --git a/gr-blocks/include/blocks/stream_mux.h b/gr-blocks/include/blocks/stream_mux.h index 58d564f9fe..0e29aab364 100644 --- a/gr-blocks/include/blocks/stream_mux.h +++ b/gr-blocks/include/blocks/stream_mux.h @@ -33,7 +33,9 @@ namespace gr { /*! * \brief Stream muxing block to multiplex many streams into * one with a specified format. + * \ingroup stream_operators_blk * + * \details * Muxes N streams together producing an output stream that * contains N0 items from the first stream, N1 items from the second, * etc. and repeats: @@ -50,7 +52,6 @@ namespace gr { /*! * \brief Creates a stream muxing block to multiplex many streams into * one with a specified format. - * \ingroup converter_blk * * \param itemsize the item size of the stream * \param lengths a vector (list/tuple) specifying the number of diff --git a/gr-blocks/include/blocks/stream_to_streams.h b/gr-blocks/include/blocks/stream_to_streams.h index fc39f1687f..e9b257575f 100644 --- a/gr-blocks/include/blocks/stream_to_streams.h +++ b/gr-blocks/include/blocks/stream_to_streams.h @@ -31,18 +31,24 @@ namespace gr { /*! * \brief convert a stream of items into a N streams of items - * \ingroup slicedice_blk + * \ingroup stream_operators_blk * + * \details * Converts a stream of N items into N streams of 1 item. * Repeat ad infinitum. */ class BLOCKS_API stream_to_streams : virtual public gr_sync_decimator { public: - // gr::blocks::stream_to_streams::sptr typedef boost::shared_ptr<stream_to_streams> sptr; + /*! + * Make a stream-to-streams block. + * + * \param itemsize the item size of the stream + * \param nstreams number of streams to split input into + */ static sptr make(size_t itemsize, size_t nstreams); }; diff --git a/gr-blocks/include/blocks/stream_to_vector.h b/gr-blocks/include/blocks/stream_to_vector.h index 8311eb3506..98325500b1 100644 --- a/gr-blocks/include/blocks/stream_to_vector.h +++ b/gr-blocks/include/blocks/stream_to_vector.h @@ -31,15 +31,20 @@ namespace gr { /*! * \brief convert a stream of items into a stream of blocks containing nitems_per_block - * \ingroup slicedice_blk + * \ingroup stream_operators_blk */ class BLOCKS_API stream_to_vector : virtual public gr_sync_decimator { public: - // gr::blocks::stream_to_vector::sptr typedef boost::shared_ptr<stream_to_vector> sptr; + /*! + * Make a stream-to-vector block. + * + * \param itemsize the item size of the stream + * \param nitems_per_block number of items to but into each vector (vector size) + */ static sptr make(size_t itemsize, size_t nitems_per_block); }; diff --git a/gr-blocks/include/blocks/streams_to_stream.h b/gr-blocks/include/blocks/streams_to_stream.h index 01dcd1be33..e677a18e2a 100644 --- a/gr-blocks/include/blocks/streams_to_stream.h +++ b/gr-blocks/include/blocks/streams_to_stream.h @@ -31,18 +31,24 @@ namespace gr { /*! * \brief Convert N streams of 1 item into a 1 stream of N items - * \ingroup slicedice_blk + * \ingroup stream_operators_blk * + * \details * Convert N streams of 1 item into 1 stream of N items. * Repeat ad infinitum. */ class BLOCKS_API streams_to_stream : virtual public gr_sync_interpolator { public: - // gr::blocks::streams_to_stream::sptr typedef boost::shared_ptr<streams_to_stream> sptr; + /*! + * Make a streams-to-stream block. + * + * \param itemsize the item size of the stream + * \param nstreams number of streams to combine + */ static sptr make(size_t itemsize, size_t nstreams); }; diff --git a/gr-blocks/include/blocks/streams_to_vector.h b/gr-blocks/include/blocks/streams_to_vector.h index ad55ac31f1..f4df16c9f4 100644 --- a/gr-blocks/include/blocks/streams_to_vector.h +++ b/gr-blocks/include/blocks/streams_to_vector.h @@ -31,15 +31,20 @@ namespace gr { /*! * \brief convert N streams of items to 1 stream of vector length N - * \ingroup slicedice_blk + * \ingroup stream_operators_blk */ class BLOCKS_API streams_to_vector : virtual public gr_sync_block { public: - // gr::blocks::streams_to_vector::sptr typedef boost::shared_ptr<streams_to_vector> sptr; + /*! + * Make a stream-to-vector block. + * + * \param itemsize the item size of the stream + * \param nstreams number of streams to combine into a vector (vector size) + */ static sptr make(size_t itemsize, size_t nstreams); }; diff --git a/gr-blocks/include/blocks/stretch_ff.h b/gr-blocks/include/blocks/stretch_ff.h index 5f98452a41..47bcb9ee87 100644 --- a/gr-blocks/include/blocks/stretch_ff.h +++ b/gr-blocks/include/blocks/stretch_ff.h @@ -33,7 +33,7 @@ namespace gr { * \brief adjust y-range of an input vector by mapping to range * (max-of-input, stipulated-min). Primarily for spectral * signature matching by normalizing spectrum dynamic ranges. - * \ingroup misc_blk + * \ingroup stream_operators_blk */ class BLOCKS_API stretch_ff : virtual public gr_sync_block { @@ -43,9 +43,10 @@ namespace gr { /*! * \brief Make a stretch block. + * * \param lo Set low value for range. * \param vlen vector length of input stream. - */ + */ static sptr make(float lo, size_t vlen=1); virtual float lo() const = 0; diff --git a/gr-blocks/include/blocks/sub_XX.h.t b/gr-blocks/include/blocks/sub_XX.h.t index 8202ac54b1..db854346f6 100644 --- a/gr-blocks/include/blocks/sub_XX.h.t +++ b/gr-blocks/include/blocks/sub_XX.h.t @@ -33,8 +33,9 @@ namespace gr { /*! * \brief output = input_0 - input_1 - ...) - * \ingroup math_blk + * \ingroup math_operators_blk * + * \details * Subtract across all input streams. */ class BLOCKS_API @NAME@ : virtual public gr_sync_block diff --git a/gr-blocks/include/blocks/tag_debug.h b/gr-blocks/include/blocks/tag_debug.h index 9d27a26ecd..8093a6152f 100644 --- a/gr-blocks/include/blocks/tag_debug.h +++ b/gr-blocks/include/blocks/tag_debug.h @@ -31,8 +31,11 @@ namespace gr { /*! * \brief Bit bucket that prints out any tag received. - * \ingroup sink_blk + * \ingroup measurement_tools_blk + * \ingroup stream_tag_tools_blk + * \ingroup debug_tools_blk * + * \details * This block collects all tags sent to it on all input ports and * displays them to stdout in a formatted way. The \p name * parameter is used to identify which debug sink generated the diff --git a/gr-blocks/include/blocks/tagged_file_sink.h b/gr-blocks/include/blocks/tagged_file_sink.h index 62da72f789..2014b66964 100644 --- a/gr-blocks/include/blocks/tagged_file_sink.h +++ b/gr-blocks/include/blocks/tagged_file_sink.h @@ -31,8 +31,10 @@ namespace gr { /*! * \brief A file sink that uses tags to save files. - * \ingroup sink_blk + * \ingroup file_operators_blk + * \ingroup stream_tag_tools_blk * + * \details * The sink uses a tag with the key 'burst' to trigger the saving * of the burst data to a new file. If the value of this tag is * True, it will open a new file and start writing all incoming diff --git a/gr-blocks/include/blocks/tagged_stream_mux.h b/gr-blocks/include/blocks/tagged_stream_mux.h index d271cf890f..2fa9b3f01d 100644 --- a/gr-blocks/include/blocks/tagged_stream_mux.h +++ b/gr-blocks/include/blocks/tagged_stream_mux.h @@ -30,8 +30,10 @@ namespace gr { /*! * \brief Combines tagged streams. + * \ingroup stream_operators_blk * - * Takes N streams as input. Each stream is tagged with packet lengths. + * \details + * Takes N streams as input. Each stream is tagged with packet lengths. * Packets are output sequentially from each input stream. * * The output signal has a new length tag, which is the sum of all @@ -39,8 +41,6 @@ namespace gr { * * All other tags are propagated as expected, i.e. they stay associated * with the same input item. - * - * \ingroup blocks */ class BLOCKS_API tagged_stream_mux : virtual public gr_tagged_stream_block { @@ -48,6 +48,8 @@ namespace gr { typedef boost::shared_ptr<tagged_stream_mux> sptr; /*! + * Make a tagged stream mux block. + * * \param itemsize Items size (number of bytes per item) * \param lengthtagname Length tag key */ diff --git a/gr-blocks/include/blocks/tagged_stream_to_pdu.h b/gr-blocks/include/blocks/tagged_stream_to_pdu.h index 32e72a7879..b990c44ab1 100644 --- a/gr-blocks/include/blocks/tagged_stream_to_pdu.h +++ b/gr-blocks/include/blocks/tagged_stream_to_pdu.h @@ -32,7 +32,7 @@ namespace gr { /*! * \brief Turns received stream data and tags into PDUs - * \ingroup source_blk + * \ingroup message_tools_blk */ class BLOCKS_API tagged_stream_to_pdu : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/threshold_ff.h b/gr-blocks/include/blocks/threshold_ff.h index 900e5c5bdb..6a20e7ed43 100644 --- a/gr-blocks/include/blocks/threshold_ff.h +++ b/gr-blocks/include/blocks/threshold_ff.h @@ -31,8 +31,9 @@ namespace gr { /*! * \brief Output a 1 or zero based on a threshold value. - * \ingroup misc_blk + * \ingroup level_controllers_blk * + * \details * Test the incoming signal against a threshold. If the signal * excedes the \p hi value, it will output a 1 until the signal * falls below the \p lo value. diff --git a/gr-blocks/include/blocks/throttle.h b/gr-blocks/include/blocks/throttle.h index 20d8037e10..d9d9f311c4 100644 --- a/gr-blocks/include/blocks/throttle.h +++ b/gr-blocks/include/blocks/throttle.h @@ -34,6 +34,7 @@ namespace gr { * not exceed samples_per_sec. * \ingroup misc_blk * + * \details * input: one stream of itemsize; output: one stream of itemsize * * N.B. this should only be used in GUI apps where there is no diff --git a/gr-blocks/include/blocks/transcendental.h b/gr-blocks/include/blocks/transcendental.h index f8a0d5d805..a3a483e8f3 100644 --- a/gr-blocks/include/blocks/transcendental.h +++ b/gr-blocks/include/blocks/transcendental.h @@ -32,7 +32,9 @@ namespace gr { /*! * \brief A block that performs various transcendental math operations. + * \ingroup math_operators_blk * + * \details * Possible function names can be found in the cmath library. IO * may be either complex or real, double or single precision. * diff --git a/gr-blocks/include/blocks/tuntap_pdu.h b/gr-blocks/include/blocks/tuntap_pdu.h index 70abb0bd5b..afa03cfb82 100644 --- a/gr-blocks/include/blocks/tuntap_pdu.h +++ b/gr-blocks/include/blocks/tuntap_pdu.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief Creates TUNTAP interface and translates traffic to PDUs - * \ingroup net_blk + * \ingroup networking_tools_blk */ class BLOCKS_API tuntap_pdu : virtual public gr_block { diff --git a/gr-blocks/include/blocks/uchar_to_float.h b/gr-blocks/include/blocks/uchar_to_float.h index 033037e498..725c4e5021 100644 --- a/gr-blocks/include/blocks/uchar_to_float.h +++ b/gr-blocks/include/blocks/uchar_to_float.h @@ -31,15 +31,17 @@ namespace gr { /*! * \brief Convert stream of unsigned chars to a stream of floats - * \ingroup converter_blk + * \ingroup type_converters_blk */ class BLOCKS_API uchar_to_float : virtual public gr_sync_block { public: - // gr::blocks::uchar_to_float_ff::sptr typedef boost::shared_ptr<uchar_to_float> sptr; + /*! + * Build a uchar to float block. + */ static sptr make(); }; diff --git a/gr-blocks/include/blocks/udp_sink.h b/gr-blocks/include/blocks/udp_sink.h index 69c5f0ffae..9530217515 100644 --- a/gr-blocks/include/blocks/udp_sink.h +++ b/gr-blocks/include/blocks/udp_sink.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief Write stream to an UDP socket. - * \ingroup sink_blk + * \ingroup networking_tools_blk */ class BLOCKS_API udp_sink : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/udp_source.h b/gr-blocks/include/blocks/udp_source.h index b72db30db0..4681b0b54a 100644 --- a/gr-blocks/include/blocks/udp_source.h +++ b/gr-blocks/include/blocks/udp_source.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief Read stream from an UDP socket. - * \ingroup source_blk + * \ingroup networking_tools_blk */ class BLOCKS_API udp_source : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/unpack_k_bits_bb.h b/gr-blocks/include/blocks/unpack_k_bits_bb.h index b716ded1d3..a36cfb50e4 100644 --- a/gr-blocks/include/blocks/unpack_k_bits_bb.h +++ b/gr-blocks/include/blocks/unpack_k_bits_bb.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief Converts a byte with k relevent bits to k output bytes with 1 bit in the LSB. - * \ingroup converter_blk + * \ingroup byte_operators_blk */ class BLOCKS_API unpack_k_bits_bb : virtual public gr_sync_interpolator { diff --git a/gr-blocks/include/blocks/unpacked_to_packed_XX.h.t b/gr-blocks/include/blocks/unpacked_to_packed_XX.h.t index d570785a68..649b9082fb 100644 --- a/gr-blocks/include/blocks/unpacked_to_packed_XX.h.t +++ b/gr-blocks/include/blocks/unpacked_to_packed_XX.h.t @@ -34,8 +34,9 @@ namespace gr { /*! * \brief Convert a stream of unpacked bytes or shorts into a stream of packed bytes or shorts. - * \ingroup converter_blk + * \ingroup byte_operators_blk * + * \details * input: stream of @I_TYPE@; output: stream of @O_TYPE@ * * This is the inverse of gr::blocks::packed_to_unpacked_XX. diff --git a/gr-blocks/include/blocks/vco_f.h b/gr-blocks/include/blocks/vco_f.h index 0a5bf97d1f..7245f4c96b 100644 --- a/gr-blocks/include/blocks/vco_f.h +++ b/gr-blocks/include/blocks/vco_f.h @@ -31,8 +31,10 @@ namespace gr { /*! * \brief VCO - Voltage controlled oscillator - * \ingroup misc + * \ingroup modulators_blk + * \ingroup waveform_generators_blk * + * \details * input: float stream of control voltages; output: float oscillator output */ class BLOCKS_API vco_f : virtual public gr_sync_block diff --git a/gr-blocks/include/blocks/vector_insert_X.h.t b/gr-blocks/include/blocks/vector_insert_X.h.t index aeb4a5248a..c45e5152fa 100644 --- a/gr-blocks/include/blocks/vector_insert_X.h.t +++ b/gr-blocks/include/blocks/vector_insert_X.h.t @@ -33,7 +33,7 @@ namespace gr { /*! * \brief source of @TYPE@'s that gets its data from a vector - * \ingroup source_blk + * \ingroup stream_operators_blk */ class BLOCKS_API @NAME@ : virtual public gr_block { @@ -41,6 +41,13 @@ namespace gr { // gr::blocks::@NAME@::sptr typedef boost::shared_ptr<@NAME@> sptr; + /*! + * Make vector insert block. + * + * \param data vector of data to insert + * \param periodicity number of samples between when to send \p data + * \param offset initial item offset of first insert + */ static sptr make(const std::vector<@TYPE@> &data, int periodicity, int offset=0); diff --git a/gr-blocks/include/blocks/vector_map.h b/gr-blocks/include/blocks/vector_map.h index 64c8744975..77a7fc1865 100644 --- a/gr-blocks/include/blocks/vector_map.h +++ b/gr-blocks/include/blocks/vector_map.h @@ -34,6 +34,7 @@ namespace gr { * \brief Maps elements from a set of input vectors to a set of output vectors. * \ingroup slicedice_blk * + * \details * If in[i] is the input vector in the i'th stream then the output * vector in the j'th stream is: * diff --git a/gr-blocks/include/blocks/vector_sink_X.h.t b/gr-blocks/include/blocks/vector_sink_X.h.t index d15c795721..1d17700f5f 100644 --- a/gr-blocks/include/blocks/vector_sink_X.h.t +++ b/gr-blocks/include/blocks/vector_sink_X.h.t @@ -33,7 +33,7 @@ namespace gr { /*! * \brief @TYPE@ sink that writes to a vector - * \ingroup sink_blk + * \ingroup debug_tools_blk */ class BLOCKS_API @NAME@ : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/vector_source_X.h.t b/gr-blocks/include/blocks/vector_source_X.h.t index c68b638e62..8d3693f3ee 100644 --- a/gr-blocks/include/blocks/vector_source_X.h.t +++ b/gr-blocks/include/blocks/vector_source_X.h.t @@ -33,7 +33,7 @@ namespace gr { /*! * \brief source of @TYPE@'s that gets its data from a vector - * \ingroup source_blk + * \ingroup misc_blk */ class BLOCKS_API @NAME@ : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/vector_to_stream.h b/gr-blocks/include/blocks/vector_to_stream.h index 1e72f6d50b..2a02704287 100644 --- a/gr-blocks/include/blocks/vector_to_stream.h +++ b/gr-blocks/include/blocks/vector_to_stream.h @@ -31,15 +31,20 @@ namespace gr { /*! * \brief convert a stream of blocks of nitems_per_block items into a stream of items - * \ingroup slicedice_blk + * \ingroup stream_operators_blk */ class BLOCKS_API vector_to_stream : virtual public gr_sync_interpolator { public: - // gr::blocks::vector_to_stream::sptr typedef boost::shared_ptr<vector_to_stream> sptr; + /*! + * Make vector-to-stream block + * + * \param itemsize the item size of the stream + * \param nitems_per_block number of items per vector (vector size) + */ static sptr make(size_t itemsize, size_t nitems_per_block); }; diff --git a/gr-blocks/include/blocks/vector_to_streams.h b/gr-blocks/include/blocks/vector_to_streams.h index 1bc0758797..364bc9afbd 100644 --- a/gr-blocks/include/blocks/vector_to_streams.h +++ b/gr-blocks/include/blocks/vector_to_streams.h @@ -31,15 +31,21 @@ namespace gr { /*! * \brief Convert 1 stream of vectors of length N to N streams of items - * \ingroup slicedice_blk + * \ingroup stream_operators_blk */ class BLOCKS_API vector_to_streams : virtual public gr_sync_block { public: - // gr::blocks::vector_to_streams::sptr typedef boost::shared_ptr<vector_to_streams> sptr; + /*! + * Make vector-to-streams block + * + * \param itemsize the item size of the stream + * \param nstreams number of items per vector (vector size and + * number of streams produced) + */ static sptr make(size_t itemsize, size_t nstreams); }; diff --git a/gr-blocks/include/blocks/wavfile.h b/gr-blocks/include/blocks/wavfile.h index b852c01e2d..719ef92253 100644 --- a/gr-blocks/include/blocks/wavfile.h +++ b/gr-blocks/include/blocks/wavfile.h @@ -55,6 +55,7 @@ namespace gr { /*! * \brief Read one sample from an open WAV file at the current position. * + * \details * Takes care of endianness. */ short int @@ -77,6 +78,7 @@ namespace gr { /*! * \brief Write one sample to an open WAV file at the current position. * + * \details * Takes care of endianness. */ void @@ -86,6 +88,7 @@ namespace gr { /*! * \brief Complete a WAV header * + * \details * Note: The stream position is changed during this function. If * anything needs to be written to the WAV file after calling this * function (which shouldn't happen), you need to fseek() to the diff --git a/gr-blocks/include/blocks/wavfile_sink.h b/gr-blocks/include/blocks/wavfile_sink.h index b095191d07..f380e055a2 100644 --- a/gr-blocks/include/blocks/wavfile_sink.h +++ b/gr-blocks/include/blocks/wavfile_sink.h @@ -31,11 +31,11 @@ namespace gr { /*! * \brief Write stream to a Microsoft PCM (.wav) file. + * \ingroup audio_blk * + * \details * Values must be floats within [-1;1]. * Check gr_make_wavfile_sink() for extra info. - * - * \ingroup sink_blk */ class BLOCKS_API wavfile_sink : virtual public gr_sync_block { @@ -44,10 +44,10 @@ namespace gr { typedef boost::shared_ptr<wavfile_sink> sptr; /* - * \p filename The .wav file to be opened - * \p n_channels Number of channels (2 = stereo or I/Q output) - * \p sample_rate Sample rate [S/s] - * \p bits_per_sample 16 or 8 bit, default is 16 + * \param filename The .wav file to be opened + * \param n_channels Number of channels (2 = stereo or I/Q output) + * \param sample_rate Sample rate [S/s] + * \param bits_per_sample 16 or 8 bit, default is 16 */ static sptr make(const char *filename, int n_channels, diff --git a/gr-blocks/include/blocks/wavfile_source.h b/gr-blocks/include/blocks/wavfile_source.h index 46cb82b698..5332a0c20e 100644 --- a/gr-blocks/include/blocks/wavfile_source.h +++ b/gr-blocks/include/blocks/wavfile_source.h @@ -31,11 +31,11 @@ namespace gr { /*! * \brief Read stream from a Microsoft PCM (.wav) file, output floats + * \ingroup audio_blk * + * \details * Unless otherwise called, values are within [-1;1]. * Check gr_make_wavfile_source() for extra info. - * - * \ingroup source_blk */ class BLOCKS_API wavfile_source : virtual public gr_sync_block { diff --git a/gr-blocks/include/blocks/xor_XX.h.t b/gr-blocks/include/blocks/xor_XX.h.t index ba0c508f6e..a890dbaf89 100644 --- a/gr-blocks/include/blocks/xor_XX.h.t +++ b/gr-blocks/include/blocks/xor_XX.h.t @@ -33,7 +33,7 @@ namespace gr { /*! * \brief output = input_0 ^ input_1 ^ , ... ^ input_N) - * \ingroup math_blk + * \ingroup boolean_operators_blk * * Bitwise boolean xor across all input streams. */ diff --git a/gr-digital/doc/digital.dox b/gr-digital/doc/digital.dox index 110dcb677e..2809c6a943 100644 --- a/gr-digital/doc/digital.dox +++ b/gr-digital/doc/digital.dox @@ -11,7 +11,7 @@ imported as: \endcode See the Doxygen documentation for details about the blocks available -in this package. The relevant blocks are listed in the \ref digital group. +in this package. A quick listing of the details can be found in Python after importing by using: diff --git a/gr-digital/grc/digital_block_tree.xml b/gr-digital/grc/digital_block_tree.xml index 762ac66538..46658b7065 100644 --- a/gr-digital/grc/digital_block_tree.xml +++ b/gr-digital/grc/digital_block_tree.xml @@ -1,6 +1,6 @@ <?xml version="1.0"?> <!-- - Copyright 2011,2012 Free Software Foundation, Inc. + Copyright 2011-2013 Free Software Foundation, Inc. This file is part of GNU Radio @@ -26,112 +26,100 @@ ################################################### --> <cat> - <name></name> <!-- Blank for Root Name --> - <cat> - <name>Coding</name> - <block>digital_additive_scrambler_bb</block> - <block>digital_scrambler_bb</block> - <block>digital_descrambler_bb</block> - <block>digital_binary_slicer_fb</block> - <block>digital_bytes_to_syms</block> - <block>digital_chunks_to_symbols_xx</block> - <block>digital_clock_recovery_mm_xx</block> - <block>digital_cma_equalizer_cc</block> - <block>digital_constellation_decoder_cb</block> - <block>digital_constellation_receiver_cb</block> - <block>digital_correlate_access_code_bb</block> - <block>digital_costas_loop_cc</block> - <block>digital_crc32_bb</block> - <block>digital_descrambler_bb</block> - <block>digital_fll_band_edge_cc</block> - <block>digital_glfsr_source_x</block> - <block>digital_header_payload_demux</block> - <block>digital_kurtotic_equalizer_cc</block> - <block>digital_lms_dd_equalizer_cc</block> - <block>digital_map_bb</block> - <block>digital_mpsk_receiver_cc</block> - <block>digital_mpsk_snr_est_cc</block> - <block>digital_packet_headergenerator_bb</block> - <block>digital_packet_headergenerator_bb_default</block> - <block>digital_packet_headerparser_b</block> - <block>digital_packet_headerparser_b_default</block> - <block>digital_pfb_clock_sync_xxx</block> - <block>digital_pn_correlator_cc</block> - <block>digital_probe_density_b</block> - <block>digital_probe_mpsk_snr_est_c</block> - </cat> - <cat> - <name>Converters</name> - <block>digital_binary_slicer_fb</block> - <block>digital_chunks_to_symbols_xx</block> - <block>digital_diff_decoder_bb</block> - <block>digital_diff_encoder_bb</block> - <block>digital_diff_phasor_cc</block> - <block>digital_map_bb</block> - </cat> - <cat> - <name>Digital</name> - <block>digital_constellation_decoder_cb</block> - <block>digital_constellation_receiver_cb</block> - <block>digital_correlate_access_code_bb</block> - <block>digital_correlate_access_code_tag_bb</block> - <block>digital_framer_sink_1</block> - <block>digital_mpsk_snr_est_cc</block> - <block>digital_mpsk_receiver_cc</block> - <block>digital_packet_sink</block> - <block>digital_pn_correlator_cc</block> - <block>digital_simple_framer</block> - <block>digital_simple_correlator</block> - </cat> - <cat> - <name>Probes</name> - <block>digital_probe_density_b</block> - <block>digital_probe_mpsk_snr_est_c</block> - </cat> - <cat> - <name>Sources</name> - <block>digital_glfsr_source_x</block> - </cat> - <cat> - <name>Synchronizers</name> - <block>digital_clock_recovery_mm_xx</block> - <block>digital_costas_loop_cc</block> - <block>digital_fll_band_edge_cc</block> - <block>digital_pfb_clock_sync_xxx</block> - </cat> - <cat> - <name>Equalizers</name> - <block>digital_cma_equalizer_cc</block> - <block>digital_lms_dd_equalizer_cc</block> - </cat> - <cat> - <name>Digital Modulators</name> - <block>digital_dxpsk_mod</block> - <block>digital_dxpsk_demod</block> - <block>digital_psk_mod</block> - <block>digital_psk_demod</block> - <block>digital_qam_mod</block> - <block>digital_qam_demod</block> - <block>digital_gmskmod_bc</block> - <block>digital_cpmmod_bc</block> - <block>digital_gmsk_mod</block> - <block>digital_gmsk_demod</block> - </cat> - <cat> - <name>OFDM</name> - <block>digital_ofdm_mod</block> - <block>digital_ofdm_mod2</block> - <block>digital_ofdm_demod</block> - <block>digital_ofdm_carrier_allocator_cvc</block> - <block>digital_ofdm_chanest_vcvc</block> - <block>digital_ofdm_cyclic_prefixer</block> - <block>digital_ofdm_frame_acquisition</block> - <block>digital_ofdm_frame_sink</block> - <block>digital_ofdm_frame_equalizer_vcvc</block> - <block>digital_ofdm_insert_preamble</block> - <block>digital_ofdm_sampler</block> - <block>digital_ofdm_serializer_vcc</block> - <block>digital_ofdm_sync_pn</block> - <block>digital_ofdm_sync_sc_cfb</block> - </cat> + <name></name> <!-- Blank for Root Name --> + <cat> + <name>Coding</name> + <block>digital_additive_scrambler_bb</block> + <block>digital_descrambler_bb</block> + <block>digital_scrambler_bb</block> + </cat> + <cat> + <name>Equalizers</name> + <block>digital_cma_equalizer_cc</block> + <block>digital_lms_dd_equalizer_cc</block> + <block>digital_kurtotic_equalizer_cc</block> + </cat> + <cat> + <name>Measurement Tools</name> + <block>digital_mpsk_snr_est_cc</block> + <block>digital_probe_density_b</block> + <block>digital_probe_mpsk_snr_est_c</block> + </cat> + <cat> + <name>Modulators</name> + <block>digital_cpmmod_bc</block> + <block>digital_dxpsk_mod</block> + <block>digital_dxpsk_demod</block> + <block>digital_gfsk_mod</block> + <block>digital_gfsk_demod</block> + <block>digital_gmskmod_bc</block> + <block>digital_gmsk_mod</block> + <block>digital_gmsk_demod</block> + <block>digital_psk_mod</block> + <block>digital_psk_demod</block> + <block>digital_qam_mod</block> + <block>digital_qam_demod</block> + <block>digital_constellation_receiver_cb</block> + </cat> + <cat> + <name>Packet Operators</name> + <block>digital_correlate_access_code_bb</block> + <block>digital_crc32_bb</block> + <block>digital_framer_sink_1</block> + <block>digital_header_payload_demux</block> + <block>digital_packet_headergenerator_bb</block> + <block>digital_packet_headergenerator_bb_default</block> + <block>digital_packet_headerparser_b</block> + <block>digital_packet_headerparser_b_default</block> + <block>digital_packet_sink</block> + <block>digital_simple_framer</block> + <block>digital_simple_correlator</block> + </cat> + <cat> + <name>OFDM</name> + <block>digital_ofdm_mod</block> + <block>digital_ofdm_mod2</block> + <block>digital_ofdm_demod</block> + <block>digital_ofdm_carrier_allocator_cvc</block> + <block>digital_ofdm_chanest_vcvc</block> + <block>digital_ofdm_cyclic_prefixer</block> + <block>digital_ofdm_frame_acquisition</block> + <block>digital_ofdm_frame_equalizer_vcvc</block> + <block>digital_ofdm_insert_preamble</block> + <block>digital_ofdm_sampler</block> + <block>digital_ofdm_serializer_vcc</block> + <block>digital_ofdm_sync_pn</block> + <block>digital_ofdm_sync_sc_cfb</block> + </cat> + <cat> + <name>Symbol Coding</name> + <block>digital_binary_slicer_fb</block> + <block>digital_bytes_to_syms</block> + <block>digital_chunks_to_symbols_xx</block> + <block>digital_constellation_decoder_cb</block> + <block>digital_constellation_receiver_cb</block> + <block>digital_diff_decoder_bb</block> + <block>digital_diff_encoder_bb</block> + <block>digital_diff_phasor_cc</block> + <block>digital_map_bb</block> + </cat> + <cat> + <name>Synchronizers</name> + <block>digital_clock_recovery_mm_xx</block> + <block>digital_costas_loop_cc</block> + <block>digital_fll_band_edge_cc</block> + <block>digital_mpsk_receiver_cc</block> + <block>digital_pfb_clock_sync_xxx</block> + <block>digital_pn_correlator_cc</block> + </cat> + <cat> + <name>Waveform Generators</name> + <block>digital_glfsr_source_x</block> + </cat> + <cat> + <name>Deprecated</name> + <block>digital_correlate_access_code_bb</block> + <block>digital_simple_framer</block> + <block>digital_simple_correlator</block> + </cat> </cat> diff --git a/gr-digital/grc/digital_ofdm_mod2.xml b/gr-digital/grc/digital_ofdm_mod2.xml index 7de9ff7865..f2f69cd5d6 100644 --- a/gr-digital/grc/digital_ofdm_mod2.xml +++ b/gr-digital/grc/digital_ofdm_mod2.xml @@ -1,7 +1,6 @@ <block> <name>OFDM Mod 2</name> <key>digital_ofdm_mod2</key> - <category>OFDM</category> <import>from gnuradio import digital</import> <make>digital.ofdm_mod2(fft_len=$fft_len, cp_len=$cp_len, diff --git a/gr-digital/grc/digital_packet_headergenerator_bb_default.xml b/gr-digital/grc/digital_packet_headergenerator_bb_default.xml index 645b4cd250..e89c340bf1 100644 --- a/gr-digital/grc/digital_packet_headergenerator_bb_default.xml +++ b/gr-digital/grc/digital_packet_headergenerator_bb_default.xml @@ -1,5 +1,5 @@ <block> - <name>Packet Header Generator</name> + <name>Packet Header Generator (Default)</name> <key>digital_packet_headergenerator_bb_default</key> <import>from gnuradio import digital</import> <make>digital.packet_headergenerator_bb($header_len, $len_tag_key)</make> diff --git a/gr-digital/include/digital/header_payload_demux.h b/gr-digital/include/digital/header_payload_demux.h index 014e0304a2..1427062d77 100644 --- a/gr-digital/include/digital/header_payload_demux.h +++ b/gr-digital/include/digital/header_payload_demux.h @@ -30,8 +30,9 @@ namespace gr { /*! * \brief Header/Payload demuxer. - * \ingroup digital + * \ingroup packet_operators_blk * + * \details * This block is designed to handle packets from a bursty transmission. * Input 0 takes a continuous transmission of samples. * If used, input 1 is a trigger signal. In this case, a 1 on input 1 diff --git a/gr-digital/include/digital/ofdm_frame_equalizer_vcvc.h b/gr-digital/include/digital/ofdm_frame_equalizer_vcvc.h index de74d325ad..97c9877f85 100644 --- a/gr-digital/include/digital/ofdm_frame_equalizer_vcvc.h +++ b/gr-digital/include/digital/ofdm_frame_equalizer_vcvc.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief OFDM frame equalizer - * \ingroup ofdm + * \ingroup ofdm_blk * * Performs equalization in one or two dimensions on a tagged OFDM frame. * Input: a tagged series of OFDM symbols. diff --git a/gr-digital/include/digital/packet_header_default.h b/gr-digital/include/digital/packet_header_default.h index f97b1a4c81..64804e6d6a 100644 --- a/gr-digital/include/digital/packet_header_default.h +++ b/gr-digital/include/digital/packet_header_default.h @@ -31,8 +31,9 @@ namespace gr { /*! * \brief Default header formatter for digital packet transmission. - * \ingroup digital + * \ingroup packet_operators_blk * + * \details * For bursty/packetized digital transmission, packets are usually prepended * with a packet header, containing the number of bytes etc. * This class is not a block, but a tool to create these packet header. diff --git a/gr-digital/include/digital/packet_headergenerator_bb.h b/gr-digital/include/digital/packet_headergenerator_bb.h index cec860fd55..426f49dee5 100644 --- a/gr-digital/include/digital/packet_headergenerator_bb.h +++ b/gr-digital/include/digital/packet_headergenerator_bb.h @@ -31,8 +31,9 @@ namespace gr { /*! * \brief Generates a header for a tagged, streamed packet. - * \ingroup digital + * \ingroup packet_operators_blk * + * \details * Input: A tagged stream. This is consumed entirely, it is not appended * to the output stream. * Output: An tagged stream containing the header. The details on the header diff --git a/gr-digital/include/digital/packet_headerparser_b.h b/gr-digital/include/digital/packet_headerparser_b.h index 2dc6a80717..cdf76f1209 100644 --- a/gr-digital/include/digital/packet_headerparser_b.h +++ b/gr-digital/include/digital/packet_headerparser_b.h @@ -31,12 +31,14 @@ namespace gr { /*! * \brief Post header metadata as a PMT - * \ingroup digital + * \ingroup packet_operators_blk * + * \details * In a sense, this is the inverse block to packet_headergenerator_bb. * The difference is, the parsed header is not output as a stream, * but as a PMT dictionary, which is published to message port with * the id "header_data". + * * The dictionary consists of the tags created by the header formatter * object. You should be able to use the exact same formatter object * as used on the Tx side in the packet_headergenerator_bb. diff --git a/gr-fcd/grc/fcd_source_c.xml b/gr-fcd/grc/fcd_source_c.xml index f1726f88f2..b514c6126c 100644 --- a/gr-fcd/grc/fcd_source_c.xml +++ b/gr-fcd/grc/fcd_source_c.xml @@ -2,7 +2,7 @@ <block> <name>Funcube Dongle Source</name> <key>fcd_source_c</key> - <category>Sources</category> + <category>FCD</category> <throttle>1</throttle> <import>from gnuradio import fcd</import> <make>fcd.source_c($device_name) diff --git a/gr-fcd/include/fcd/fcd_source_c.h b/gr-fcd/include/fcd/fcd_source_c.h index 19c5890231..0fc7bb00d1 100644 --- a/gr-fcd/include/fcd/fcd_source_c.h +++ b/gr-fcd/include/fcd/fcd_source_c.h @@ -31,14 +31,18 @@ typedef boost::shared_ptr<fcd_source_c> fcd_source_c_sptr; /*! * \brief Return a shared_ptr to a new instance of fcd_source_c. * + * \details * This is effectively the public constructor. To avoid accidental use * of raw pointers, fcd_source_c's constructor is private. * fcd_make_source_c is the public interface for creating new instances. */ FCD_API fcd_source_c_sptr fcd_make_source_c(const std::string device_name = ""); -/*! \brief Funcube Dongle source block. +/*! + * \brief Funcube Dongle source block. + * \ingroup fcd_blk * + * \details * This class provides a Funcube Dongle soure block by wrapping the * USB audio interface and the USB HID control interface of the Funcube * Dongle into one convenient source block. diff --git a/gr-fft/grc/fft_block_tree.xml b/gr-fft/grc/fft_block_tree.xml index 5abbc3ef26..aa1f94daa2 100644 --- a/gr-fft/grc/fft_block_tree.xml +++ b/gr-fft/grc/fft_block_tree.xml @@ -29,7 +29,7 @@ <cat> <name></name> <!-- Blank for Root Name --> <cat> - <name>FFT</name> + <name>Fourier Analysis</name> <block>fft_vxx</block> <block>goertzel_fc</block> </cat> diff --git a/gr-fft/include/fft/fft_vcc.h b/gr-fft/include/fft/fft_vcc.h index cb07b166d2..2f5b5a23f0 100644 --- a/gr-fft/include/fft/fft_vcc.h +++ b/gr-fft/include/fft/fft_vcc.h @@ -29,6 +29,10 @@ namespace gr { namespace fft { + /*! + * \brief Compute forward or reverse FFT. complex vector in / complex vector out. + * \ingroup fourier_analysis_blk + */ class FFT_API fft_vcc : virtual public gr_sync_block { public: @@ -36,13 +40,9 @@ namespace gr { // gr::fft::fft_vcc::sptr typedef boost::shared_ptr<fft_vcc> sptr; - /*! - * \brief Compute forward or reverse FFT. complex vector in / complex vector out. - * \ingroup dft_blk - */ static sptr make(int fft_size, bool forward, - const std::vector<float> &window, - bool shift=false, int nthreads=1); + const std::vector<float> &window, + bool shift=false, int nthreads=1); virtual void set_nthreads(int n) = 0; diff --git a/gr-fft/include/fft/fft_vfc.h b/gr-fft/include/fft/fft_vfc.h index ec441d66a8..89491113b6 100644 --- a/gr-fft/include/fft/fft_vfc.h +++ b/gr-fft/include/fft/fft_vfc.h @@ -29,6 +29,10 @@ namespace gr { namespace fft { + /*! + * \brief Compute forward or reverse FFT. float vector in / complex vector out. + * \ingroup fourier_analysis_blk + */ class FFT_API fft_vfc : virtual public gr_sync_block { public: @@ -36,10 +40,6 @@ namespace gr { // gr::fft::fft_vfc::sptr typedef boost::shared_ptr<fft_vfc> sptr; - /*! - * \brief Compute forward or reverse FFT. float vector in / complex vector out. - * \ingroup dft_blk - */ static sptr make(int fft_size, bool forward, const std::vector<float> &window, int nthreads=1); diff --git a/gr-fft/include/fft/goertzel_fc.h b/gr-fft/include/fft/goertzel_fc.h index 5b3c8f1c49..26b0d0d11c 100644 --- a/gr-fft/include/fft/goertzel_fc.h +++ b/gr-fft/include/fft/goertzel_fc.h @@ -29,6 +29,10 @@ namespace gr { namespace fft { + /*! + * \brief Goertzel single-bin DFT calculation. + * \ingroup fourier_analysis_blk + */ class FFT_API goertzel_fc : virtual public gr_sync_decimator { public: @@ -36,10 +40,6 @@ namespace gr { // gr::fft::goertzel_fc::sptr typedef boost::shared_ptr<goertzel_fc> sptr; - /*! - * \brief Goertzel single-bin DFT calculation. - * \ingroup dft_blk - */ static sptr make(int rate, int len, float freq); virtual void set_freq (float freq) = 0; diff --git a/gr-filter/grc/filter_block_tree.xml b/gr-filter/grc/filter_block_tree.xml index a9dfd56549..898c77f0ac 100644 --- a/gr-filter/grc/filter_block_tree.xml +++ b/gr-filter/grc/filter_block_tree.xml @@ -41,18 +41,25 @@ <block>fft_filter_xxx</block> <block>fir_filter_xxx</block> <block>filter_delay_fc</block> - <block>fractional_interpolator_xx</block> - <block>freq_xlating_fir_filter_xxx</block> <block>hilbert_fc</block> <block>iir_filter_ffd</block> <block>interp_fir_filter_xxx</block> + <block>single_pole_iir_filter_xx</block> + </cat> + <cat> + <name>Resamplers</name> + <block>fractional_interpolator_xx</block> <block>pfb_arb_resampler_xxx</block> + <block>rational_resampler_base_xxx</block> + </cat> + <cat> + <name>Channelizers</name> + <block>freq_xlating_fir_filter_xxx</block> <block>pfb_channelizer_ccf</block> <block>pfb_decimator_ccf</block> <block>pfb_interpolator_ccf</block> <block>pfb_synthesizer_ccf</block> <block>rational_resampler_xxx</block> <block>rational_resampler_base_xxx</block> - <block>single_pole_iir_filter_xx</block> </cat> </cat> diff --git a/gr-filter/include/filter/adaptive_fir_ccc.h b/gr-filter/include/filter/adaptive_fir_ccc.h index 15f823ba59..2e674fad77 100644 --- a/gr-filter/include/filter/adaptive_fir_ccc.h +++ b/gr-filter/include/filter/adaptive_fir_ccc.h @@ -33,6 +33,7 @@ namespace gr { * \brief Adaptive FIR filter with gr_complex input, gr_complex output and gr_complex taps * \ingroup filter_blk * + * \details * This is a base class to implement an adaptive FIR * filter. Generally, another block will inherit from this one to * build a new type of adaptive filter such as an equalizer. diff --git a/gr-filter/include/filter/adaptive_fir_ccf.h b/gr-filter/include/filter/adaptive_fir_ccf.h index 0fd8d5746a..e296e42df1 100644 --- a/gr-filter/include/filter/adaptive_fir_ccf.h +++ b/gr-filter/include/filter/adaptive_fir_ccf.h @@ -33,6 +33,7 @@ namespace gr { * \brief Adaptive FIR filter with gr_complex input, gr_complex output and float taps * \ingroup filter_blk * + * \details * This is a base class to implement an adaptive FIR * filter. Generally, another block will inherit from this one to * build a new type of adaptive filter such as an equalizer. diff --git a/gr-filter/include/filter/dc_blocker_cc.h b/gr-filter/include/filter/dc_blocker_cc.h index df4c815d60..5ef75b48e4 100644 --- a/gr-filter/include/filter/dc_blocker_cc.h +++ b/gr-filter/include/filter/dc_blocker_cc.h @@ -29,6 +29,31 @@ namespace gr { namespace filter { + /*! + * \brief a computationally efficient controllable DC blocker + * \ingroup filter_blk + * + * \details + * This block implements a computationally efficient DC blocker that produces + * a tighter notch filter around DC for a smaller group delay than an + * equivalent FIR filter or using a single pole IIR filter (though the IIR + * filter is computationally cheaper). + * + * The block defaults to using a delay line of length 32 and the long form + * of the filter. Optionally, the delay line length can be changed to alter + * the width of the DC notch (longer lines will decrease the width). + * + * The long form of the filter produces a nearly flat response outside of + * the notch but at the cost of a group delay of 2D-2. + * + * The short form of the filter does not have as flat a response in the + * passband but has a group delay of only D-1 and is cheaper to compute. + * + * The theory behind this block can be found in the paper: + * + * <B><EM>R. Yates, "DC Blocker Algorithms," IEEE Signal Processing Magazine, + * Mar. 2008, pp 132-134.</EM></B> + */ class FILTER_API dc_blocker_cc : virtual public gr_sync_block { public: @@ -37,30 +62,7 @@ namespace gr { typedef boost::shared_ptr<dc_blocker_cc> sptr; /*! - * \class dc_blocker_cc - * \brief a computationally efficient controllable DC blocker - * - * \ingroup filter_blk - * - * This block implements a computationally efficient DC blocker that produces - * a tighter notch filter around DC for a smaller group delay than an - * equivalent FIR filter or using a single pole IIR filter (though the IIR - * filter is computationally cheaper). - * - * The block defaults to using a delay line of length 32 and the long form - * of the filter. Optionally, the delay line length can be changed to alter - * the width of the DC notch (longer lines will decrease the width). - * - * The long form of the filter produces a nearly flat response outside of - * the notch but at the cost of a group delay of 2D-2. - * - * The short form of the filter does not have as flat a response in the - * passband but has a group delay of only D-1 and is cheaper to compute. - * - * The theory behind this block can be found in the paper: - * - * <B><EM>R. Yates, "DC Blocker Algorithms," IEEE Signal Processing Magazine, - * Mar. 2008, pp 132-134.</EM></B> + * Make a DC blocker block. * * \param D (int) the length of the delay line * \param long_form (bool) whether to use long (true, default) or short form diff --git a/gr-filter/include/filter/dc_blocker_ff.h b/gr-filter/include/filter/dc_blocker_ff.h index 6ab4d5a3de..64f134e1ab 100644 --- a/gr-filter/include/filter/dc_blocker_ff.h +++ b/gr-filter/include/filter/dc_blocker_ff.h @@ -29,6 +29,34 @@ namespace gr { namespace filter { + /*! + * \brief a computationally efficient controllable DC blocker + * \ingroup filter_blk + * + * \details + * This block implements a computationally efficient DC blocker + * that produces a tighter notch filter around DC for a smaller + * group delay than an equivalent FIR filter or using a single + * pole IIR filter (though the IIR filter is computationally + * cheaper). + * + * The block defaults to using a delay line of length 32 and the + * long form of the filter. Optionally, the delay line length can + * be changed to alter the width of the DC notch (longer lines + * will decrease the width). + * + * The long form of the filter produces a nearly flat response + * outside of the notch but at the cost of a group delay of 2D-2. + * + * The short form of the filter does not have as flat a response + * in the passband but has a group delay of only D-1 and is + * cheaper to compute. + * + * The theory behind this block can be found in the paper: + * + * <B><EM>R. Yates, "DC Blocker Algorithms," IEEE Signal Processing Magazine, + * Mar. 2008, pp 132-134.</EM></B> + */ class FILTER_API dc_blocker_ff : virtual public gr_sync_block { public: @@ -37,30 +65,7 @@ namespace gr { typedef boost::shared_ptr<dc_blocker_ff> sptr; /*! - * \class dc_blocker_ff - * \brief a computationally efficient controllable DC blocker - * - * \ingroup filter_blk - * - * This block implements a computationally efficient DC blocker that produces - * a tighter notch filter around DC for a smaller group delay than an - * equivalent FIR filter or using a single pole IIR filter (though the IIR - * filter is computationally cheaper). - * - * The block defaults to using a delay line of length 32 and the long form - * of the filter. Optionally, the delay line length can be changed to alter - * the width of the DC notch (longer lines will decrease the width). - * - * The long form of the filter produces a nearly flat response outside of - * the notch but at the cost of a group delay of 2D-2. - * - * The short form of the filter does not have as flat a response in the - * passband but has a group delay of only D-1 and is cheaper to compute. - * - * The theory behind this block can be found in the paper: - * - * <B><EM>R. Yates, "DC Blocker Algorithms," IEEE Signal Processing Magazine, - * Mar. 2008, pp 132-134.</EM></B> + * Make a DC blocker block. * * \param D (int) the length of the delay line * \param long_form (bool) whether to use long (true, default) or short form diff --git a/gr-filter/include/filter/fft_filter.h b/gr-filter/include/filter/fft_filter.h index 8c7d6cf786..8bab289dac 100644 --- a/gr-filter/include/filter/fft_filter.h +++ b/gr-filter/include/filter/fft_filter.h @@ -31,6 +31,7 @@ namespace gr { namespace filter { namespace kernel { + /*! * \brief Fast FFT filter with float input, float output and float taps * \ingroup filter_blk diff --git a/gr-filter/include/filter/fft_filter_ccc.h b/gr-filter/include/filter/fft_filter_ccc.h index acec932775..38fef07f94 100644 --- a/gr-filter/include/filter/fft_filter_ccc.h +++ b/gr-filter/include/filter/fft_filter_ccc.h @@ -29,6 +29,29 @@ namespace gr { namespace filter { + /*! + * \brief Fast FFT filter with gr_complex input, gr_complex output and gr_complex taps + * \ingroup filter_blk + * + * \details + * This block implements a complex decimating filter using the + * fast convolution method via an FFT. The decimation factor is an + * interger that is greater than or equal to 1. + * + * The filter takes a set of complex (or real) taps to use in the + * filtering operation. These taps can be defined as anything that + * satisfies the user's filtering needs. For standard filters such + * as lowpass, highpass, bandpass, etc., the filter.firdes and + * filter.optfir classes provide convenient generating methods. + * + * This filter is implemented by using the FFTW package to perform + * the required FFTs. An optional argument, nthreads, may be + * passed to the constructor (or set using the set_nthreads member + * function) to split the FFT among N number of threads. This can + * improve performance on very large FFTs (that is, if the number + * of taps used is very large) if you have enough threads/cores to + * support it. + */ class FILTER_API fft_filter_ccc : virtual public gr_sync_decimator { public: @@ -36,35 +59,15 @@ namespace gr { typedef boost::shared_ptr<fft_filter_ccc> sptr; /*! - * \brief Fast FFT filter with gr_complex input, gr_complex output and gr_complex taps - * \ingroup filter_blk - * - * This block implements a complex decimating filter using the - * fast convolution method via an FFT. The decimation factor is - * an interger that is greater than or equal to 1. - * - * The filter takes a set of complex (or real) taps to use in - * the filtering operation. These taps can be defined as - * anything that satisfies the user's filtering needs. For - * standard filters such as lowpass, highpass, bandpass, etc., - * the filter.firdes and filter.optfir classes provide - * convenient generating methods. - * - * This filter is implemented by using the FFTW package to - * perform the required FFTs. An optional argument, nthreads, - * may be passed to the constructor (or set using the - * set_nthreads member function) to split the FFT among N number - * of threads. This can improve performance on very large FFTs - * (that is, if the number of taps used is very large) if you - * have enough threads/cores to support it. + * Build an FFT filter blocks. * * \param decimation >= 1 * \param taps complex filter taps * \param nthreads number of threads for the FFT to use */ static sptr make(int decimation, - const std::vector<gr_complex> &taps, - int nthreads=1); + const std::vector<gr_complex> &taps, + int nthreads=1); virtual void set_taps(const std::vector<gr_complex> &taps) = 0; virtual std::vector<gr_complex> taps() const = 0; diff --git a/gr-filter/include/filter/fft_filter_fff.h b/gr-filter/include/filter/fft_filter_fff.h index d8140325f2..0183234380 100644 --- a/gr-filter/include/filter/fft_filter_fff.h +++ b/gr-filter/include/filter/fft_filter_fff.h @@ -29,6 +29,29 @@ namespace gr { namespace filter { + /*! + * \brief Fast FFT filter with float input, float output and float taps + * \ingroup filter_blk + * + * \details + * This block implements a real-value decimating filter using the + * fast convolution method via an FFT. The decimation factor is an + * interger that is greater than or equal to 1. + * + * The filter takes a set of real-valued taps to use in the + * filtering operation. These taps can be defined as anything that + * satisfies the user's filtering needs. For standard filters such + * as lowpass, highpass, bandpass, etc., the filter.firdes and + * filter.optfir classes provide convenient generating methods. + * + * This filter is implemented by using the FFTW package to perform + * the required FFTs. An optional argument, nthreads, may be + * passed to the constructor (or set using the set_nthreads member + * function) to split the FFT among N number of threads. This can + * improve performance on very large FFTs (that is, if the number + * of taps used is very large) if you have enough threads/cores to + * support it. + */ class FILTER_API fft_filter_fff : virtual public gr_sync_decimator { public: @@ -36,35 +59,15 @@ namespace gr { typedef boost::shared_ptr<fft_filter_fff> sptr; /*! - * \brief Fast FFT filter with float input, float output and float taps - * \ingroup filter_blk - * - * This block implements a real-value decimating filter using - * the fast convolution method via an FFT. The decimation factor - * is an interger that is greater than or equal to 1. - * - * The filter takes a set of real-valued taps to use in - * the filtering operation. These taps can be defined as - * anything that satisfies the user's filtering needs. For - * standard filters such as lowpass, highpass, bandpass, etc., - * the filter.firdes and filter.optfir classes provide - * convenient generating methods. - * - * This filter is implemented by using the FFTW package to - * perform the required FFTs. An optional argument, nthreads, - * may be passed to the constructor (or set using the - * set_nthreads member function) to split the FFT among N number - * of threads. This can improve performance on very large FFTs - * (that is, if the number of taps used is very large) if you - * have enough threads/cores to support it. + * Build an FFT filter block. * * \param decimation >= 1 * \param taps float filter taps * \param nthreads number of threads for the FFT to use */ static sptr make(int decimation, - const std::vector<float> &taps, - int nthreads=1); + const std::vector<float> &taps, + int nthreads=1); virtual void set_taps(const std::vector<float> &taps) = 0; virtual std::vector<float> taps() const = 0; diff --git a/gr-filter/include/filter/filter_delay_fc.h b/gr-filter/include/filter/filter_delay_fc.h index 8a84a6a0e5..1d2222a830 100644 --- a/gr-filter/include/filter/filter_delay_fc.h +++ b/gr-filter/include/filter/filter_delay_fc.h @@ -29,6 +29,26 @@ namespace gr { namespace filter { + /*! + * \brief Filter-Delay Combination Block. + * \ingroup filter_blk + * + * \details + * The block takes one or two float stream and outputs a complex + * stream. + * + * If only one float stream is input, the real output is a delayed + * version of this input and the imaginary output is the filtered + * output. + * + * If two floats are connected to the input, then the real output + * is the delayed version of the first input, and the imaginary + * output is the filtered output. + * + * The delay in the real path accounts for the group delay + * introduced by the filter in the imaginary path. The filter taps + * needs to be calculated before initializing this block. + */ class FILTER_API filter_delay_fc : virtual public gr_sync_block { public: @@ -37,24 +57,7 @@ namespace gr { typedef boost::shared_ptr<filter_delay_fc> sptr; /*! - * \brief Filter-Delay Combination Block. - * \ingroup filter_blk - * - * The block takes one or two float stream and outputs a complex - * stream. - * - * If only one float stream is input, the real output is a - * delayed version of this input and the imaginary output is the - * filtered output. - * - * If two floats are connected to the input, then the real - * output is the delayed version of the first input, and the - * imaginary output is the filtered output. - * - * The delay in the real path accounts for the group delay - * introduced by the filter in the imaginary path. The filter - * taps needs to be calculated before initializing this block. - * + * Build a filter with delay block. */ static sptr make(const std::vector<float> &taps); }; diff --git a/gr-filter/include/filter/fir_filter_XXX.h.t b/gr-filter/include/filter/fir_filter_XXX.h.t index 98e82f510d..0621bd978c 100644 --- a/gr-filter/include/filter/fir_filter_XXX.h.t +++ b/gr-filter/include/filter/fir_filter_XXX.h.t @@ -35,6 +35,7 @@ namespace gr { * \brief FIR filter with @I_TYPE@ input, @O_TYPE@ output, and @TAP_TYPE@ taps * \ingroup filter_blk * + * \details * The fir_filter_XXX blocks create finite impulse response * (FIR) filters that perform the convolution in the time * domain: @@ -53,7 +54,6 @@ namespace gr { * These versions of the filter can also act as down-samplers * (or decimators) by specifying an integer value for \p * decimation. - * */ class FILTER_API @BASE_NAME@ : virtual public gr_sync_decimator { @@ -64,13 +64,12 @@ namespace gr { /*! * \brief FIR filter with @I_TYPE@ input, @O_TYPE@ output, and @TAP_TYPE@ taps - * \ingroup filter_blk * * \param decimation set the integer decimation rate * \param taps a vector/list of taps of type @TAP_TYPE@ */ static sptr make(int decimation, - const std::vector<@TAP_TYPE@> &taps); + const std::vector<@TAP_TYPE@> &taps); virtual void set_taps(const std::vector<@TAP_TYPE@> &taps) = 0; virtual std::vector<@TAP_TYPE@> taps() const = 0; diff --git a/gr-filter/include/filter/fractional_interpolator_cc.h b/gr-filter/include/filter/fractional_interpolator_cc.h index bb0e18932e..90060817fc 100644 --- a/gr-filter/include/filter/fractional_interpolator_cc.h +++ b/gr-filter/include/filter/fractional_interpolator_cc.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief Interpolating MMSE filter with complex input, complex output - * \ingroup filter_blk + * \ingroup resamplers_blk */ class FILTER_API fractional_interpolator_cc : virtual public gr_block { diff --git a/gr-filter/include/filter/fractional_interpolator_ff.h b/gr-filter/include/filter/fractional_interpolator_ff.h index fc43c34570..131e9e541d 100644 --- a/gr-filter/include/filter/fractional_interpolator_ff.h +++ b/gr-filter/include/filter/fractional_interpolator_ff.h @@ -31,7 +31,7 @@ namespace gr { /*! * \brief Interpolating MMSE filter with float input, float output - * \ingroup filter_blk + * \ingroup resamplers_blk */ class FILTER_API fractional_interpolator_ff : virtual public gr_block { diff --git a/gr-filter/include/filter/freq_xlating_fir_filter_XXX.h.t b/gr-filter/include/filter/freq_xlating_fir_filter_XXX.h.t index 7aa4a55cc8..2a62bdc3ba 100644 --- a/gr-filter/include/filter/freq_xlating_fir_filter_XXX.h.t +++ b/gr-filter/include/filter/freq_xlating_fir_filter_XXX.h.t @@ -39,7 +39,7 @@ namespace gr { * \brief FIR filter combined with frequency translation with * @I_TYPE@ input, @O_TYPE@ output and @TAP_TYPE@ taps * - * \ingroup filter_blk + * \ingroup channelizers_blk * * This class efficiently combines a frequency translation * (typically "down conversion") with a FIR filter (typically diff --git a/gr-filter/include/filter/hilbert_fc.h b/gr-filter/include/filter/hilbert_fc.h index de7cd82b69..c0973415f3 100644 --- a/gr-filter/include/filter/hilbert_fc.h +++ b/gr-filter/include/filter/hilbert_fc.h @@ -30,6 +30,15 @@ namespace gr { namespace filter { + /*! + * \brief Hilbert transformer. + * \ingroup filter_blk + * + * \details + * real output is input appropriately delayed. + * imaginary output is hilbert filtered (90 degree phase shift) + * version of input. + */ class FILTER_API hilbert_fc : virtual public gr_sync_block { public: @@ -37,12 +46,7 @@ namespace gr { typedef boost::shared_ptr<hilbert_fc> sptr; /*! - * \brief Hilbert transformer. - * \ingroup filter_blk - * - * real output is input appropriately delayed. - * imaginary output is hilbert filtered (90 degree phase shift) - * version of input. + * Build a Hilbert transformer filter block. */ static sptr make(unsigned int ntaps); }; diff --git a/gr-filter/include/filter/iir_filter_ffd.h b/gr-filter/include/filter/iir_filter_ffd.h index 66bec3c0e5..61df73698a 100644 --- a/gr-filter/include/filter/iir_filter_ffd.h +++ b/gr-filter/include/filter/iir_filter_ffd.h @@ -33,6 +33,7 @@ namespace gr { * \brief IIR filter with float input, float output and double taps * \ingroup filter_blk * + * \details * This filter uses the Direct Form I implementation, where * \p fftaps contains the feed-forward taps, and \p fbtaps the feedback ones. * @@ -73,8 +74,7 @@ namespace gr { typedef boost::shared_ptr<iir_filter_ffd> sptr; static sptr make(const std::vector<double> &fftaps, - const std::vector<double> &fbtaps, - bool oldstyle=true); + const std::vector<double> &fbtaps); virtual void set_taps(const std::vector<double> &fftaps, const std::vector<double> &fbtaps) = 0; diff --git a/gr-filter/include/filter/interp_fir_filter_XXX.h.t b/gr-filter/include/filter/interp_fir_filter_XXX.h.t index b66c9f6439..7deb269e3a 100644 --- a/gr-filter/include/filter/interp_fir_filter_XXX.h.t +++ b/gr-filter/include/filter/interp_fir_filter_XXX.h.t @@ -35,6 +35,7 @@ namespace gr { * \brief Interpolating FIR filter with @I_TYPE@ input, @O_TYPE@ output and @TAP_TYPE@ taps * \ingroup filter_blk * + * \details * The fir_filter_XXX blocks create finite impulse response * (FIR) filters that perform the convolution in the time * domain: @@ -63,7 +64,6 @@ namespace gr { /*! * \brief Interpolating FIR filter with @I_TYPE@ input, @O_TYPE@ output, and @TAP_TYPE@ taps - * \ingroup filter_blk * * \param interpolation set the integer interpolation rate * \param taps a vector/list of taps of type @TAP_TYPE@ diff --git a/gr-filter/include/filter/mmse_fir_interpolator_cc.h b/gr-filter/include/filter/mmse_fir_interpolator_cc.h index 0436b4a0ff..0af52be552 100644 --- a/gr-filter/include/filter/mmse_fir_interpolator_cc.h +++ b/gr-filter/include/filter/mmse_fir_interpolator_cc.h @@ -34,6 +34,7 @@ namespace gr { * \brief Compute intermediate samples between signal samples x(k*Ts) * \ingroup filter_primitive * + * \details * This implements a Mininum Mean Squared Error interpolator with * 8 taps. It is suitable for signals where the bandwidth of * interest B = 1/(4*Ts) Where Ts is the time between samples. @@ -46,7 +47,6 @@ namespace gr { * \li gnuradio-core/src/gen_interpolator_taps/README * \li gnuradio-core/src/gen_interpolator_taps/praxis.txt */ - class FILTER_API mmse_fir_interpolator_cc { public: diff --git a/gr-filter/include/filter/mmse_fir_interpolator_ff.h b/gr-filter/include/filter/mmse_fir_interpolator_ff.h index 4353aa94f1..c10fad3be1 100644 --- a/gr-filter/include/filter/mmse_fir_interpolator_ff.h +++ b/gr-filter/include/filter/mmse_fir_interpolator_ff.h @@ -34,6 +34,7 @@ namespace gr { * \brief Compute intermediate samples between signal samples x(k*Ts) * \ingroup filter_primitive * + * \details * This implements a Mininum Mean Squared Error interpolator with * 8 taps. It is suitable for signals where the bandwidth of * interest B = 1/(4*Ts) Where Ts is the time between samples. diff --git a/gr-filter/include/filter/pfb_arb_resampler_ccf.h b/gr-filter/include/filter/pfb_arb_resampler_ccf.h index a154e055a0..1adf511a14 100644 --- a/gr-filter/include/filter/pfb_arb_resampler_ccf.h +++ b/gr-filter/include/filter/pfb_arb_resampler_ccf.h @@ -31,14 +31,11 @@ namespace gr { namespace filter { /*! - * \class pfb_arb_resampler_ccf - * * \brief Polyphase filterbank arbitrary resampler with * gr_complex input, gr_complex output and float taps + * \ingroup resamplers_blk * - * \ingroup filter_blk - * \ingroup pfb_blk - * + * \details * This block takes in a signal stream and performs arbitrary * resampling. The resampling rate can be any real number * <EM>r</EM>. The resampling is done by constructing <EM>N</EM> diff --git a/gr-filter/include/filter/pfb_arb_resampler_fff.h b/gr-filter/include/filter/pfb_arb_resampler_fff.h index 38dcc7132b..5e1be5c026 100644 --- a/gr-filter/include/filter/pfb_arb_resampler_fff.h +++ b/gr-filter/include/filter/pfb_arb_resampler_fff.h @@ -31,14 +31,11 @@ namespace gr { namespace filter { /*! - * \class pfb_arb_resampler_fff - * * \brief Polyphase filterbank arbitrary resampler with * float input, float output and float taps + * \ingroup resamplers_blk * - * \ingroup filter_blk - * \ingroup pfb_blk - * + * \details * This block takes in a signal stream and performs arbitrary * resampling. The resampling rate can be any real number * <EM>r</EM>. The resampling is done by constructing <EM>N</EM> diff --git a/gr-filter/include/filter/pfb_channelizer_ccf.h b/gr-filter/include/filter/pfb_channelizer_ccf.h index 825532a699..b1fb11372b 100644 --- a/gr-filter/include/filter/pfb_channelizer_ccf.h +++ b/gr-filter/include/filter/pfb_channelizer_ccf.h @@ -31,14 +31,11 @@ namespace gr { namespace filter { /*! - * \class pfb_channelizer_ccf - * * \brief Polyphase filterbank channelizer with * gr_complex input, gr_complex output and float taps + * \ingroup channelizers_blk * - * \ingroup filter_blk - * \ingroup pfb_blk - * + * \details * This block takes in complex inputs and channelizes it to <EM>M</EM> * channels of equal bandwidth. Each of the resulting channels is * decimated to the new rate that is the input sampling rate diff --git a/gr-filter/include/filter/pfb_decimator_ccf.h b/gr-filter/include/filter/pfb_decimator_ccf.h index e1a43eab83..56d383dae7 100644 --- a/gr-filter/include/filter/pfb_decimator_ccf.h +++ b/gr-filter/include/filter/pfb_decimator_ccf.h @@ -31,13 +31,11 @@ namespace gr { namespace filter { /*! - * \class pfb_decimator_ccf * \brief Polyphase filterbank bandpass decimator with gr_complex * input, gr_complex output and float taps + * \ingroup channelizers_blk * - * \ingroup filter_blk - * \ingroup pfb_blk - * + * \details * This block takes in a signal stream and performs interger down- * sampling (decimation) with a polyphase filterbank. The first * input is the integer specifying how much to decimate by. The diff --git a/gr-filter/include/filter/pfb_interpolator_ccf.h b/gr-filter/include/filter/pfb_interpolator_ccf.h index df28ab64d6..de1b2b85f4 100644 --- a/gr-filter/include/filter/pfb_interpolator_ccf.h +++ b/gr-filter/include/filter/pfb_interpolator_ccf.h @@ -31,14 +31,11 @@ namespace gr { namespace filter { /*! - * \class gr_pfb_interpolator_ccf - * * \brief Polyphase filterbank interpolator with gr_complex input, * gr_complex output and float taps + * \ingroup channelizers_blk * - * \ingroup filter_blk - * \ingroup pfb_blk - * + * \details * This block takes in a signal stream and performs interger up- * sampling (interpolation) with a polyphase filterbank. The first * input is the integer specifying how much to interpolate by. The diff --git a/gr-filter/include/filter/pfb_synthesizer_ccf.h b/gr-filter/include/filter/pfb_synthesizer_ccf.h index faa16990cc..d434776229 100644 --- a/gr-filter/include/filter/pfb_synthesizer_ccf.h +++ b/gr-filter/include/filter/pfb_synthesizer_ccf.h @@ -31,15 +31,10 @@ namespace gr { namespace filter { /*! - * \class pfb_synthesizer_ccf - * * \brief Polyphase synthesis filterbank with * gr_complex input, gr_complex output and float taps - * - * \ingroup filter_blk - * \ingroup pfb_blk + * \ingroup channelizers_blk */ - class FILTER_API pfb_synthesizer_ccf : virtual public gr_sync_interpolator { public: diff --git a/gr-filter/include/filter/pm_remez.h b/gr-filter/include/filter/pm_remez.h index a57e9e276d..71283eec1c 100644 --- a/gr-filter/include/filter/pm_remez.h +++ b/gr-filter/include/filter/pm_remez.h @@ -32,9 +32,9 @@ namespace gr { namespace filter { /*! * \brief Parks-McClellan FIR filter design using Remez algorithm. - * * \ingroup filter_design * + * \details * Calculates the optimal (in the Chebyshev/minimax sense) FIR * filter inpulse reponse given a set of band edges, the desired * reponse on those bands, and the weight given to the error in diff --git a/gr-filter/include/filter/polyphase_filterbank.h b/gr-filter/include/filter/polyphase_filterbank.h index 500d1c9b8f..7ce891b6c8 100644 --- a/gr-filter/include/filter/polyphase_filterbank.h +++ b/gr-filter/include/filter/polyphase_filterbank.h @@ -33,13 +33,11 @@ namespace gr { namespace kernel { /*! - * \class polyphase_filterbank - * * \brief Polyphase filterbank parent class - * * \ingroup filter_blk * \ingroup pfb_blk * + * \details * This block takes in complex inputs and channelizes it to * <EM>M</EM> channels of equal bandwidth. Each of the resulting * channels is decimated to the new rate that is the input diff --git a/gr-filter/include/filter/rational_resampler_base_XXX.h.t b/gr-filter/include/filter/rational_resampler_base_XXX.h.t index e47a16ec6d..18398bbfe7 100644 --- a/gr-filter/include/filter/rational_resampler_base_XXX.h.t +++ b/gr-filter/include/filter/rational_resampler_base_XXX.h.t @@ -35,8 +35,7 @@ namespace gr { /*! * \brief Rational Resampling Polyphase FIR filter with @I_TYPE@ * input, @O_TYPE@ output and @TAP_TYPE@ taps. - * - *\ingroup filter_blk + * \ingroup resamplers_blk */ class FILTER_API @NAME@ : virtual public gr_block { @@ -45,8 +44,8 @@ namespace gr { typedef boost::shared_ptr<@BASE_NAME@> sptr; static sptr make(unsigned interpolation, - unsigned decimation, - const std::vector<@TAP_TYPE@> &taps); + unsigned decimation, + const std::vector<@TAP_TYPE@> &taps); virtual unsigned interpolation() const = 0; virtual unsigned decimation() const = 0; diff --git a/gr-filter/include/filter/single_pole_iir_filter_cc.h b/gr-filter/include/filter/single_pole_iir_filter_cc.h index 82febe8ec4..fd6f107b65 100644 --- a/gr-filter/include/filter/single_pole_iir_filter_cc.h +++ b/gr-filter/include/filter/single_pole_iir_filter_cc.h @@ -35,6 +35,7 @@ namespace gr { * \brief single pole IIR filter with complex input, complex output * \ingroup filter_blk * + * \details * The input and output satisfy a difference equation of the form \htmlonly \f{ diff --git a/gr-filter/include/filter/single_pole_iir_filter_ff.h b/gr-filter/include/filter/single_pole_iir_filter_ff.h index d85688db84..ae4792f3d6 100644 --- a/gr-filter/include/filter/single_pole_iir_filter_ff.h +++ b/gr-filter/include/filter/single_pole_iir_filter_ff.h @@ -35,6 +35,7 @@ namespace gr { * \brief single pole IIR filter with float input, float output * \ingroup filter_blk * + * \details * The input and output satisfy a difference equation of the form \htmlonly \f{ diff --git a/gr-qtgui/grc/qtgui_chooser.xml b/gr-qtgui/grc/qtgui_chooser.xml index 6a8760cbe6..98c94b5e5b 100644 --- a/gr-qtgui/grc/qtgui_chooser.xml +++ b/gr-qtgui/grc/qtgui_chooser.xml @@ -8,6 +8,7 @@ <block> <name>QT GUI Chooser</name> <key>variable_qtgui_chooser</key> + <category>GUI Widgets/QT</category> <import>from PyQt4 import Qt</import> <var_make>self.$(id) = $(id) = $value</var_make> <make>#slurp diff --git a/gr-trellis/grc/trellis_encoder_xx.xml b/gr-trellis/grc/trellis_encoder_xx.xml index 639e948ec5..fe9c38f22c 100644 --- a/gr-trellis/grc/trellis_encoder_xx.xml +++ b/gr-trellis/grc/trellis_encoder_xx.xml @@ -8,7 +8,7 @@ <block> <name>Trellis Encoder</name> <key>trellis_encoder_xx</key> - <category>Error Correction/Trellis</category> + <category>Trellis Coding</category> <import>from gnuradio import trellis</import> <make>trellis.encoder_$(type)(trellis.fsm($fsm_args), $init_state)</make> <param> diff --git a/gr-trellis/grc/trellis_metrics_x.xml b/gr-trellis/grc/trellis_metrics_x.xml index 0bc349514b..f551bc1521 100644 --- a/gr-trellis/grc/trellis_metrics_x.xml +++ b/gr-trellis/grc/trellis_metrics_x.xml @@ -9,7 +9,7 @@ <block> <name>Trellis Metrics</name> <key>trellis_metrics_x</key> - <category>Error Correction/Trellis</category> + <category>Trellis Coding</category> <import>from gnuradio import trellis, digital</import> <make>trellis.metrics_$(type)($card, $dim, $table, $metric_type)</make> <callback>set_TABLE($table)</callback> diff --git a/gr-trellis/grc/trellis_pccc_decoder_combined_xx.xml b/gr-trellis/grc/trellis_pccc_decoder_combined_xx.xml index 005a88d668..2583f0858b 100644 --- a/gr-trellis/grc/trellis_pccc_decoder_combined_xx.xml +++ b/gr-trellis/grc/trellis_pccc_decoder_combined_xx.xml @@ -9,7 +9,7 @@ <block> <name>PCCC Decoder Combo</name> <key>trellis_pccc_decoder_combined_xx</key> - <category>Error Correction/Trellis</category> + <category>Trellis Coding</category> <import>from gnuradio import trellis, digital</import> <make>trellis.pccc_decoder_combined_$(type)$(out_type)( trellis.fsm($o_fsm_args), $o_init_state, $o_final_state, diff --git a/gr-trellis/grc/trellis_pccc_decoder_x.xml b/gr-trellis/grc/trellis_pccc_decoder_x.xml index c794478260..046731547b 100644 --- a/gr-trellis/grc/trellis_pccc_decoder_x.xml +++ b/gr-trellis/grc/trellis_pccc_decoder_x.xml @@ -9,7 +9,7 @@ <block> <name>PCCC Decoder</name> <key>trellis_pccc_decoder_x</key> - <category>Error Correction/Trellis</category> + <category>Trellis Coding</category> <import>from gnuradio import trellis</import> <make>trellis.pccc_decoder_$(out_type)( trellis.fsm($o_fsm_args), $o_init_state, $o_final_state, diff --git a/gr-trellis/grc/trellis_pccc_encoder_xx.xml b/gr-trellis/grc/trellis_pccc_encoder_xx.xml index 6774f18d21..7441ba8fc9 100644 --- a/gr-trellis/grc/trellis_pccc_encoder_xx.xml +++ b/gr-trellis/grc/trellis_pccc_encoder_xx.xml @@ -8,7 +8,7 @@ <block> <name>PCCC Encoder</name> <key>trellis_pccc_encoder_xx</key> - <category>Error Correction/Trellis</category> + <category>Trellis Coding</category> <import>from gnuradio import trellis</import> <make>trellis.pccc_encoder_$(type)(trellis.fsm($o_fsm_args), $o_init_state, trellis.fsm($i_fsm_args), $i_init_state, trellis.interleaver($interleaver_args), $bl)</make> <param> diff --git a/gr-trellis/grc/trellis_permutation.xml b/gr-trellis/grc/trellis_permutation.xml index 2126933110..bf6fc3ff15 100644 --- a/gr-trellis/grc/trellis_permutation.xml +++ b/gr-trellis/grc/trellis_permutation.xml @@ -9,7 +9,7 @@ <block> <name>Trellis Permutation</name> <key>trellis_permutation</key> - <category>Error Correction/Trellis</category> + <category>Trellis Coding</category> <import>from gnuradio import trellis</import> <make>trellis.permutation($interleaver_size, $table, $syms_per_block, $type.size*$vlen)</make> <param> diff --git a/gr-trellis/grc/trellis_sccc_decoder_combined_xx.xml b/gr-trellis/grc/trellis_sccc_decoder_combined_xx.xml index 324f06e7f4..eee4e2b9e4 100644 --- a/gr-trellis/grc/trellis_sccc_decoder_combined_xx.xml +++ b/gr-trellis/grc/trellis_sccc_decoder_combined_xx.xml @@ -9,7 +9,7 @@ <block> <name>SCCC Decoder Combo</name> <key>trellis_sccc_decoder_combined_xx</key> - <category>Error Correction/Trellis</category> + <category>Trellis Coding</category> <import>from gnuradio import trellis, digital</import> <make>trellis.sccc_decoder_combined_$(type)$(out_type)( trellis.fsm($o_fsm_args), $o_init_state, $o_final_state, diff --git a/gr-trellis/grc/trellis_sccc_decoder_x.xml b/gr-trellis/grc/trellis_sccc_decoder_x.xml index 4bf8d26d56..ac65a6a49d 100644 --- a/gr-trellis/grc/trellis_sccc_decoder_x.xml +++ b/gr-trellis/grc/trellis_sccc_decoder_x.xml @@ -9,7 +9,7 @@ <block> <name>SCCC Decoder</name> <key>trellis_sccc_decoder_x</key> - <category>Error Correction/Trellis</category> + <category>Trellis Coding</category> <import>from gnuradio import trellis</import> <make>trellis.sccc_decoder_$(out_type)( trellis.fsm($o_fsm_args), $o_init_state, $o_final_state, diff --git a/gr-trellis/grc/trellis_sccc_encoder_xx.xml b/gr-trellis/grc/trellis_sccc_encoder_xx.xml index 54d9c1e014..f1054bf795 100644 --- a/gr-trellis/grc/trellis_sccc_encoder_xx.xml +++ b/gr-trellis/grc/trellis_sccc_encoder_xx.xml @@ -8,7 +8,7 @@ <block> <name>SCCC Encoder</name> <key>trellis_sccc_encoder_xx</key> - <category>Error Correction/Trellis</category> + <category>Trellis Coding</category> <import>from gnuradio import trellis</import> <make>trellis.sccc_encoder_$(type)(trellis.fsm($o_fsm_args), $o_init_state, trellis.fsm($i_fsm_args), $i_init_state, trellis.interleaver($interleaver_args), $bl)</make> <param> diff --git a/gr-trellis/grc/trellis_siso_combined_f.xml b/gr-trellis/grc/trellis_siso_combined_f.xml index a39986a86c..95eceeea31 100644 --- a/gr-trellis/grc/trellis_siso_combined_f.xml +++ b/gr-trellis/grc/trellis_siso_combined_f.xml @@ -9,7 +9,7 @@ <block> <name>SISO Combo</name> <key>trellis_siso_combined_f</key> - <category>Error Correction/Trellis</category> + <category>Trellis Coding</category> <import>from gnuradio import trellis</import> <make>trellis.siso_combined_f(trellis.fsm($fsm_args), $block_size, $init_state, $final_state, $a_post_in, $a_post_out, $siso_type, $dim, $table, $metric_type)</make> <param> diff --git a/gr-trellis/grc/trellis_siso_f.xml b/gr-trellis/grc/trellis_siso_f.xml index e3fb502b3c..523e6a3aac 100644 --- a/gr-trellis/grc/trellis_siso_f.xml +++ b/gr-trellis/grc/trellis_siso_f.xml @@ -9,7 +9,7 @@ <block> <name>SISO</name> <key>trellis_siso_f</key> - <category>Error Correction/Trellis</category> + <category>Trellis Coding</category> <import>from gnuradio import trellis</import> <make>trellis.siso_f(trellis.fsm($fsm_args), $block_size, $init_state, $final_state, $a_post_in, $a_post_out, $siso_type)</make> <param> diff --git a/gr-trellis/grc/trellis_viterbi_combined_xx.xml b/gr-trellis/grc/trellis_viterbi_combined_xx.xml index 85128714c6..7faf735fe1 100644 --- a/gr-trellis/grc/trellis_viterbi_combined_xx.xml +++ b/gr-trellis/grc/trellis_viterbi_combined_xx.xml @@ -9,7 +9,7 @@ <block> <name>Viterbi Combo</name> <key>trellis_viterbi_combined_xx</key> - <category>Error Correction/Trellis</category> + <category>Trellis Coding</category> <import>from gnuradio import trellis, digital</import> <make>trellis.viterbi_combined_$(type)$(out_type)(trellis.fsm($fsm_args), $block_size, $init_state, $final_state, $dim, $table, $metric_type)</make> <callback>set_TABLE($table)</callback> diff --git a/gr-trellis/grc/trellis_viterbi_x.xml b/gr-trellis/grc/trellis_viterbi_x.xml index d97e6707af..861b23f124 100644 --- a/gr-trellis/grc/trellis_viterbi_x.xml +++ b/gr-trellis/grc/trellis_viterbi_x.xml @@ -9,7 +9,7 @@ <block> <name>Viterbi</name> <key>trellis_viterbi_x</key> - <category>Error Correction/Trellis</category> + <category>Trellis Coding</category> <import>from gnuradio import trellis</import> <make>trellis.viterbi_$(type)(trellis.fsm($fsm_args), $block_size, $init_state, $final_state)</make> <param> diff --git a/gr-vocoder/doc/vocoder.dox b/gr-vocoder/doc/vocoder.dox index ff1c4b9ddb..3973ca56fc 100644 --- a/gr-vocoder/doc/vocoder.dox +++ b/gr-vocoder/doc/vocoder.dox @@ -11,8 +11,7 @@ normally imported as: \endcode See the Doxygen documentation for details about the blocks available -in this package. The relevant blocks are listed in the \ref -vocoder_blk group. +in this package. A quick listing of the details can be found in Python after importing by using: diff --git a/gr-vocoder/grc/vocoder_alaw_encode_sb.xml b/gr-vocoder/grc/vocoder_alaw_encode_sb.xml index 0ad8eca124..728158eec7 100644 --- a/gr-vocoder/grc/vocoder_alaw_encode_sb.xml +++ b/gr-vocoder/grc/vocoder_alaw_encode_sb.xml @@ -5,7 +5,7 @@ ################################################### --> <block> - <name>g711 alaw Audio Encoder</name> + <name>g711 Alaw Audio Encoder</name> <key>vocoder_alaw_encode_sb</key> <import>from gnuradio import vocoder</import> <make>vocoder.alaw_encode_sb()</make> diff --git a/gr-vocoder/grc/vocoder_block_tree.xml b/gr-vocoder/grc/vocoder_block_tree.xml index ed3338d441..c96a5cc687 100644 --- a/gr-vocoder/grc/vocoder_block_tree.xml +++ b/gr-vocoder/grc/vocoder_block_tree.xml @@ -29,7 +29,7 @@ <cat> <name></name> <!-- Blank for Root Name --> <cat> - <name>Vocoders</name> + <name>Audio</name> <block>vocoder_alaw_decode_bs</block> <block>vocoder_alaw_encode_sb</block> <block>vocoder_codec2_decode_ps</block> diff --git a/gr-vocoder/grc/vocoder_ulaw_decode_bs.xml b/gr-vocoder/grc/vocoder_ulaw_decode_bs.xml index 5a7ccbb0e3..ca3c535c18 100644 --- a/gr-vocoder/grc/vocoder_ulaw_decode_bs.xml +++ b/gr-vocoder/grc/vocoder_ulaw_decode_bs.xml @@ -5,7 +5,7 @@ ################################################### --> <block> - <name>Ulaw Audio Decoder</name> + <name>ulaw Audio Decoder</name> <key>vocoder_ulaw_decode_bs</key> <import>from gnuradio import vocoder</import> <make>vocoder.ulaw_decode_bs()</make> diff --git a/gr-wxgui/grc/notebook.xml b/gr-wxgui/grc/notebook.xml index bb3de51cb3..5f30c06201 100644 --- a/gr-wxgui/grc/notebook.xml +++ b/gr-wxgui/grc/notebook.xml @@ -7,7 +7,7 @@ <block> <name>WX GUI Notebook</name> <key>notebook</key> - <category>WX GUI Widgets</category> + <category>GUI Widgets/WX</category> <import>from grc_gnuradio import wxgui as grc_wxgui</import> <make>#set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' self.$(id) = wx.Notebook($(parent).GetWin(), style=$style) diff --git a/gr-wxgui/grc/variable_check_box.xml b/gr-wxgui/grc/variable_check_box.xml index 0c7bd10815..75dae78215 100644 --- a/gr-wxgui/grc/variable_check_box.xml +++ b/gr-wxgui/grc/variable_check_box.xml @@ -8,7 +8,7 @@ <block> <name>WX GUI Check Box</name> <key>variable_check_box</key> - <category>WX GUI Widgets</category> + <category>GUI Widgets/WX</category> <import>from gnuradio.wxgui import forms</import> <var_make>self.$(id) = $(id) = $value</var_make> <make>#set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' diff --git a/gr-wxgui/grc/variable_chooser.xml b/gr-wxgui/grc/variable_chooser.xml index e16e88c5da..ef75a04337 100644 --- a/gr-wxgui/grc/variable_chooser.xml +++ b/gr-wxgui/grc/variable_chooser.xml @@ -9,7 +9,7 @@ <block> <name>WX GUI Chooser</name> <key>variable_chooser</key> - <category>WX GUI Widgets</category> + <category>GUI Widgets/WX</category> <import>from gnuradio.wxgui import forms</import> <var_make>self.$(id) = $(id) = $value</var_make> <make>#set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' diff --git a/gr-wxgui/grc/variable_slider.xml b/gr-wxgui/grc/variable_slider.xml index 5e3c175aa4..96c0b5ec70 100644 --- a/gr-wxgui/grc/variable_slider.xml +++ b/gr-wxgui/grc/variable_slider.xml @@ -8,7 +8,7 @@ <block> <name>WX GUI Slider</name> <key>variable_slider</key> - <category>WX GUI Widgets</category> + <category>GUI Widgets/WX</category> <import>from gnuradio.wxgui import forms</import> <var_make>self.$(id) = $(id) = $value</var_make> <make>#set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' diff --git a/gr-wxgui/grc/variable_static_text.xml b/gr-wxgui/grc/variable_static_text.xml index cd122e76a1..d68b00a1dd 100644 --- a/gr-wxgui/grc/variable_static_text.xml +++ b/gr-wxgui/grc/variable_static_text.xml @@ -8,7 +8,7 @@ <block> <name>WX GUI Static Text</name> <key>variable_static_text</key> - <category>WX GUI Widgets</category> + <category>GUI Widgets/WX</category> <import>from gnuradio.wxgui import forms</import> <var_make>self.$(id) = $(id) = $value</var_make> <make>#set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' diff --git a/gr-wxgui/grc/variable_text_box.xml b/gr-wxgui/grc/variable_text_box.xml index afff839cfd..a2cf1a8220 100644 --- a/gr-wxgui/grc/variable_text_box.xml +++ b/gr-wxgui/grc/variable_text_box.xml @@ -8,7 +8,7 @@ <block> <name>WX GUI Text Box</name> <key>variable_text_box</key> - <category>WX GUI Widgets</category> + <category>GUI Widgets/WX</category> <import>from gnuradio.wxgui import forms</import> <var_make>self.$(id) = $(id) = $value</var_make> <make>#set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' diff --git a/gr-wxgui/grc/wxgui_constellationsink2.xml b/gr-wxgui/grc/wxgui_constellationsink2.xml index 1c0789e2c0..d0314ca547 100644 --- a/gr-wxgui/grc/wxgui_constellationsink2.xml +++ b/gr-wxgui/grc/wxgui_constellationsink2.xml @@ -7,7 +7,7 @@ <block> <name>WX GUI Constellation Sink</name> <key>wxgui_constellationsink2</key> - <category>WX GUI Widgets</category> + <category>Instrumentation/WX</category> <import>from gnuradio.wxgui import constsink_gl</import> <import>from gnuradio import wxgui</import> <make>#set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' diff --git a/gr-wxgui/grc/wxgui_fftsink2.xml b/gr-wxgui/grc/wxgui_fftsink2.xml index 086f7de753..5f82670ac5 100644 --- a/gr-wxgui/grc/wxgui_fftsink2.xml +++ b/gr-wxgui/grc/wxgui_fftsink2.xml @@ -7,7 +7,7 @@ <block> <name>WX GUI FFT Sink</name> <key>wxgui_fftsink2</key> - <category>WX GUI Widgets</category> + <category>Instrumentation/WX</category> <import>from gnuradio.fft import window</import> <import>from gnuradio.wxgui import fftsink2</import> <import>from gnuradio import wxgui</import> diff --git a/gr-wxgui/grc/wxgui_histosink2.xml b/gr-wxgui/grc/wxgui_histosink2.xml index 39237755e8..4fc331ab8e 100644 --- a/gr-wxgui/grc/wxgui_histosink2.xml +++ b/gr-wxgui/grc/wxgui_histosink2.xml @@ -7,7 +7,7 @@ <block> <name>WX GUI Histo Sink</name> <key>wxgui_histosink2</key> - <category>WX GUI Widgets</category> + <category>Instrumentation/WX</category> <import>from gnuradio.wxgui import histosink_gl</import> <import>from gnuradio import wxgui</import> <make>#set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' diff --git a/gr-wxgui/grc/wxgui_numbersink2.xml b/gr-wxgui/grc/wxgui_numbersink2.xml index 8e47db26e2..4697164088 100644 --- a/gr-wxgui/grc/wxgui_numbersink2.xml +++ b/gr-wxgui/grc/wxgui_numbersink2.xml @@ -7,7 +7,7 @@ <block> <name>WX GUI Number Sink</name> <key>wxgui_numbersink2</key> - <category>WX GUI Widgets</category> + <category>Instrumentation/WX</category> <import>from gnuradio.wxgui import numbersink2</import> <import>from gnuradio import wxgui</import> <make>#set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' diff --git a/gr-wxgui/grc/wxgui_scopesink2.xml b/gr-wxgui/grc/wxgui_scopesink2.xml index 596fe03397..ea43d3a690 100644 --- a/gr-wxgui/grc/wxgui_scopesink2.xml +++ b/gr-wxgui/grc/wxgui_scopesink2.xml @@ -7,7 +7,7 @@ <block> <name>WX GUI Scope Sink</name> <key>wxgui_scopesink2</key> - <category>WX GUI Widgets</category> + <category>Instrumentation/WX</category> <import>from gnuradio.wxgui import scopesink2</import> <import>from gnuradio import wxgui</import> <make>#set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self' diff --git a/gr-wxgui/grc/wxgui_termsink.xml b/gr-wxgui/grc/wxgui_termsink.xml index a13927926b..1367f4af8a 100644 --- a/gr-wxgui/grc/wxgui_termsink.xml +++ b/gr-wxgui/grc/wxgui_termsink.xml @@ -7,7 +7,7 @@ <block> <name>WX GUI Terminal Sink</name> <key>wxgui_termsink</key> - <category>WX GUI Widgets</category> + <category>Instrumentation/WX</category> <import>from gnuradio.wxgui import termsink</import> <import>from gnuradio import wxgui</import> diff --git a/gr-wxgui/grc/wxgui_waterfallsink2.xml b/gr-wxgui/grc/wxgui_waterfallsink2.xml index 971e90f413..bee28f23fa 100644 --- a/gr-wxgui/grc/wxgui_waterfallsink2.xml +++ b/gr-wxgui/grc/wxgui_waterfallsink2.xml @@ -7,7 +7,7 @@ <block> <name>WX GUI Waterfall Sink</name> <key>wxgui_waterfallsink2</key> - <category>WX GUI Widgets</category> + <category>Instrumentation/WX</category> <import>from gnuradio.fft import window</import> <import>from gnuradio.wxgui import waterfallsink2</import> <import>from gnuradio import wxgui</import> diff --git a/grc/blocks/block_tree.xml b/grc/blocks/block_tree.xml index 9614c6ae02..897e4a14c2 100644 --- a/grc/blocks/block_tree.xml +++ b/grc/blocks/block_tree.xml @@ -7,17 +7,72 @@ <cat> <name></name> <!-- Blank for Root Name --> <cat> - <name>Sources</name> - <block>random_source_x</block> - <block>blks2_tcp_source</block> + <name>Filters</name> + <!-- FIR convenience filters --> + <block>low_pass_filter</block> + <block>high_pass_filter</block> + <block>band_pass_filter</block> + <block>band_reject_filter</block> + <block>root_raised_cosine_filter</block> + <!-- Filter banks --> + <block>blks2_synthesis_filterbank</block> + <block>blks2_analysis_filterbank</block> + <!-- Other filters --> + <block>blks2_rational_resampler_xxx</block> + <block>gr_iqcomp_cc</block> + </cat> + <cat> + <name>Error Coding</name> + <block>gr_encode_ccsds_27_bb</block> + <block>gr_decode_ccsds_27_fb</block> + </cat> + <cat> + <name>Fourier Analysis</name> + <block>blks2_logpwrfft_x</block> + </cat> + <cat> + <name>Level Controllers</name> + <block>blks2_standard_squelch</block> + </cat> + <cat> + <name>Message Tools</name> + <block>gr_random_pdu</block> + </cat> + <cat> + <name>Misc</name> <block>pad_source</block> + <block>pad_sink</block> <block>virtual_source</block> + <block>virtual_sink</block> + + <block>note</block> + <block>import</block> + + <block>blks2_selector</block> + <block>blks2_valve</block> + <block>blks2_error_rate</block> + + <block>xmlrpc_server</block> + <block>xmlrpc_client</block> </cat> <cat> - <name>Sinks</name> + <name>Modulators</name> + <block>blks2_wfm_tx</block> + <block>blks2_wfm_rcv</block> + <block>blks2_wfm_rcv_pll</block> + + <block>blks2_nbfm_tx</block> + <block>blks2_nbfm_rx</block> + + <block>blks2_am_demod_cf</block> + <block>blks2_fm_demod_cf</block> + <block>blks2_fm_deemph</block> + <block>blks2_fm_preemph</block> + </cat> + <cat> + <name>Networking Tools</name> + <block>blks2_tcp_source</block> <block>blks2_tcp_sink</block> - <block>pad_sink</block> - <block>virtual_sink</block> </cat> <cat> <name>Synchronizers</name> @@ -25,10 +80,13 @@ <block>blks2_packet_encoder</block> </cat> <cat> - <name>Error Correction</name> - <cat> - <name>Trellis</name> - </cat> + <name>Type Converters</name> + <block>blks2_stream_to_vector_decimator</block> + </cat> + <cat> + <name>Waveform Generators</name> + <block>const_source_x</block> + <block>random_source_x</block> </cat> <cat> <name>Variables</name> @@ -37,16 +95,4 @@ <block>variable_function_probe</block> <block>parameter</block> </cat> - <cat> - <name>Misc</name> - <block>note</block> - <block>import</block> - - <block>blks2_selector</block> - <block>blks2_valve</block> - <block>blks2_error_rate</block> - - <block>xmlrpc_server</block> - <block>xmlrpc_client</block> - </cat> </cat> |