summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/doxygen/Doxyfile.in2
-rw-r--r--docs/doxygen/other/group_defs.dox66
-rw-r--r--docs/doxygen/other/pfb_intro.dox3
-rw-r--r--gr-analog/doc/analog.dox2
-rw-r--r--gr-analog/grc/analog_block_tree.xml11
-rw-r--r--gr-analog/include/analog/agc.h1
-rw-r--r--gr-analog/include/analog/agc2.h1
-rw-r--r--gr-analog/include/analog/agc2_cc.h3
-rw-r--r--gr-analog/include/analog/agc2_ff.h3
-rw-r--r--gr-analog/include/analog/agc_cc.h3
-rw-r--r--gr-analog/include/analog/agc_ff.h3
-rw-r--r--gr-analog/include/analog/cpfsk_bc.h2
-rw-r--r--gr-analog/include/analog/cpm.h5
-rw-r--r--gr-analog/include/analog/ctcss_squelch_ff.h2
-rw-r--r--gr-analog/include/analog/dpll_bb.h3
-rw-r--r--gr-analog/include/analog/feedforward_agc_cc.h2
-rw-r--r--gr-analog/include/analog/fmdet_cf.h1
-rw-r--r--gr-analog/include/analog/frequency_modulator_fc.h3
-rw-r--r--gr-analog/include/analog/noise_source_X.h.t6
-rw-r--r--gr-analog/include/analog/phase_modulator_fc.h3
-rw-r--r--gr-analog/include/analog/pll_carriertracking_cc.h3
-rw-r--r--gr-analog/include/analog/pll_freqdet_cf.h3
-rw-r--r--gr-analog/include/analog/pll_refout_cc.h3
-rw-r--r--gr-analog/include/analog/probe_avg_mag_sqrd_c.h3
-rw-r--r--gr-analog/include/analog/probe_avg_mag_sqrd_cf.h3
-rw-r--r--gr-analog/include/analog/probe_avg_mag_sqrd_f.h3
-rw-r--r--gr-analog/include/analog/pwr_squelch_cc.h2
-rw-r--r--gr-analog/include/analog/pwr_squelch_ff.h2
-rw-r--r--gr-analog/include/analog/quadrature_demod_cf.h3
-rw-r--r--gr-analog/include/analog/rail_ff.h2
-rw-r--r--gr-analog/include/analog/sig_source_X.h.t4
-rw-r--r--gr-analog/include/analog/simple_squelch_cc.h2
-rw-r--r--gr-audio/grc/audio_sink.xml2
-rw-r--r--gr-audio/grc/audio_source.xml2
-rw-r--r--gr-blocks/doc/blocks.dox2
-rw-r--r--gr-blocks/grc/blocks_block_tree.xml202
-rw-r--r--gr-blocks/grc/blocks_probe_signal_vx.xml2
-rw-r--r--gr-blocks/grc/blocks_tagged_stream_mux.xml1
-rw-r--r--gr-blocks/include/blocks/add_XX.h.t3
-rw-r--r--gr-blocks/include/blocks/add_const_XX.h.t2
-rw-r--r--gr-blocks/include/blocks/add_const_vXX.h.t2
-rw-r--r--gr-blocks/include/blocks/add_ff.h7
-rw-r--r--gr-blocks/include/blocks/and_XX.h.t2
-rw-r--r--gr-blocks/include/blocks/and_const_XX.h.t2
-rw-r--r--gr-blocks/include/blocks/annotator_1to1.h1
-rw-r--r--gr-blocks/include/blocks/annotator_alltoall.h1
-rw-r--r--gr-blocks/include/blocks/annotator_raw.h1
-rw-r--r--gr-blocks/include/blocks/argmax_XX.h.t3
-rw-r--r--gr-blocks/include/blocks/burst_tagger.h4
-rw-r--r--gr-blocks/include/blocks/char_to_float.h11
-rw-r--r--gr-blocks/include/blocks/char_to_short.h4
-rw-r--r--gr-blocks/include/blocks/check_lfsr_32k_s.h1
-rw-r--r--gr-blocks/include/blocks/complex_to_arg.h9
-rw-r--r--gr-blocks/include/blocks/complex_to_float.h9
-rw-r--r--gr-blocks/include/blocks/complex_to_imag.h9
-rw-r--r--gr-blocks/include/blocks/complex_to_interleaved_short.h6
-rw-r--r--gr-blocks/include/blocks/complex_to_mag.h9
-rw-r--r--gr-blocks/include/blocks/complex_to_mag_squared.h9
-rw-r--r--gr-blocks/include/blocks/complex_to_real.h9
-rw-r--r--gr-blocks/include/blocks/conjugate_cc.h2
-rw-r--r--gr-blocks/include/blocks/copy.h1
-rw-r--r--gr-blocks/include/blocks/deinterleave.h9
-rw-r--r--gr-blocks/include/blocks/divide_XX.h.t3
-rw-r--r--gr-blocks/include/blocks/endian_swap.h10
-rw-r--r--gr-blocks/include/blocks/file_descriptor_sink.h2
-rw-r--r--gr-blocks/include/blocks/file_descriptor_source.h2
-rw-r--r--gr-blocks/include/blocks/file_meta_sink.h3
-rw-r--r--gr-blocks/include/blocks/file_meta_source.h3
-rw-r--r--gr-blocks/include/blocks/file_sink.h2
-rw-r--r--gr-blocks/include/blocks/file_source.h2
-rw-r--r--gr-blocks/include/blocks/float_to_char.h12
-rw-r--r--gr-blocks/include/blocks/float_to_complex.h9
-rw-r--r--gr-blocks/include/blocks/float_to_int.h14
-rw-r--r--gr-blocks/include/blocks/float_to_short.h12
-rw-r--r--gr-blocks/include/blocks/float_to_uchar.h5
-rw-r--r--gr-blocks/include/blocks/head.h3
-rw-r--r--gr-blocks/include/blocks/int_to_float.h14
-rw-r--r--gr-blocks/include/blocks/integrate_XX.h.t2
-rw-r--r--gr-blocks/include/blocks/interleave.h9
-rw-r--r--gr-blocks/include/blocks/interleaved_short_to_complex.h6
-rw-r--r--gr-blocks/include/blocks/keep_m_in_n.h12
-rw-r--r--gr-blocks/include/blocks/keep_one_in_n.h10
-rw-r--r--gr-blocks/include/blocks/lfsr_15_1_0.h1
-rw-r--r--gr-blocks/include/blocks/lfsr_32k.h1
-rw-r--r--gr-blocks/include/blocks/lfsr_32k_source_s.h1
-rw-r--r--gr-blocks/include/blocks/max_XX.h.t3
-rw-r--r--gr-blocks/include/blocks/message_burst_source.h2
-rw-r--r--gr-blocks/include/blocks/message_debug.h5
-rw-r--r--gr-blocks/include/blocks/message_sink.h2
-rw-r--r--gr-blocks/include/blocks/message_source.h2
-rw-r--r--gr-blocks/include/blocks/message_strobe.h3
-rw-r--r--gr-blocks/include/blocks/moving_average_XX.h.t2
-rw-r--r--gr-blocks/include/blocks/multiply_XX.h.t3
-rw-r--r--gr-blocks/include/blocks/multiply_cc.h7
-rw-r--r--gr-blocks/include/blocks/multiply_conjugate_cc.h4
-rw-r--r--gr-blocks/include/blocks/multiply_const_XX.h.t2
-rw-r--r--gr-blocks/include/blocks/multiply_const_cc.h2
-rw-r--r--gr-blocks/include/blocks/multiply_const_ff.h2
-rw-r--r--gr-blocks/include/blocks/multiply_ff.h7
-rw-r--r--gr-blocks/include/blocks/mute_XX.h.t2
-rw-r--r--gr-blocks/include/blocks/nlog10_ff.h2
-rw-r--r--gr-blocks/include/blocks/not_XX.h.t2
-rw-r--r--gr-blocks/include/blocks/null_sink.h2
-rw-r--r--gr-blocks/include/blocks/null_source.h2
-rw-r--r--gr-blocks/include/blocks/or_XX.h.t2
-rw-r--r--gr-blocks/include/blocks/pack_k_bits_bb.h2
-rw-r--r--gr-blocks/include/blocks/packed_to_unpacked_XX.h.t3
-rw-r--r--gr-blocks/include/blocks/patterned_interleaver.h35
-rw-r--r--gr-blocks/include/blocks/pdu_to_tagged_stream.h2
-rw-r--r--gr-blocks/include/blocks/peak_detector2_fb.h22
-rw-r--r--gr-blocks/include/blocks/peak_detector_XX.h.t3
-rw-r--r--gr-blocks/include/blocks/plateau_detector_fb.h5
-rw-r--r--gr-blocks/include/blocks/probe_rate.h1
-rw-r--r--gr-blocks/include/blocks/probe_signal_X.h.t2
-rw-r--r--gr-blocks/include/blocks/probe_signal_vX.h.t1
-rw-r--r--gr-blocks/include/blocks/regenerate_bb.h3
-rw-r--r--gr-blocks/include/blocks/repack_bits_bb.h3
-rw-r--r--gr-blocks/include/blocks/repeat.h13
-rw-r--r--gr-blocks/include/blocks/rms_cf.h2
-rw-r--r--gr-blocks/include/blocks/rms_ff.h2
-rw-r--r--gr-blocks/include/blocks/sample_and_hold_XX.h.t3
-rw-r--r--gr-blocks/include/blocks/short_to_char.h12
-rw-r--r--gr-blocks/include/blocks/short_to_float.h12
-rw-r--r--gr-blocks/include/blocks/skiphead.h3
-rw-r--r--gr-blocks/include/blocks/socket_pdu.h2
-rw-r--r--gr-blocks/include/blocks/stream_mux.h3
-rw-r--r--gr-blocks/include/blocks/stream_to_streams.h10
-rw-r--r--gr-blocks/include/blocks/stream_to_vector.h9
-rw-r--r--gr-blocks/include/blocks/streams_to_stream.h10
-rw-r--r--gr-blocks/include/blocks/streams_to_vector.h9
-rw-r--r--gr-blocks/include/blocks/stretch_ff.h5
-rw-r--r--gr-blocks/include/blocks/sub_XX.h.t3
-rw-r--r--gr-blocks/include/blocks/tag_debug.h5
-rw-r--r--gr-blocks/include/blocks/tagged_file_sink.h4
-rw-r--r--gr-blocks/include/blocks/tagged_stream_mux.h8
-rw-r--r--gr-blocks/include/blocks/tagged_stream_to_pdu.h2
-rw-r--r--gr-blocks/include/blocks/threshold_ff.h3
-rw-r--r--gr-blocks/include/blocks/throttle.h1
-rw-r--r--gr-blocks/include/blocks/transcendental.h2
-rw-r--r--gr-blocks/include/blocks/tuntap_pdu.h2
-rw-r--r--gr-blocks/include/blocks/uchar_to_float.h6
-rw-r--r--gr-blocks/include/blocks/udp_sink.h2
-rw-r--r--gr-blocks/include/blocks/udp_source.h2
-rw-r--r--gr-blocks/include/blocks/unpack_k_bits_bb.h2
-rw-r--r--gr-blocks/include/blocks/unpacked_to_packed_XX.h.t3
-rw-r--r--gr-blocks/include/blocks/vco_f.h4
-rw-r--r--gr-blocks/include/blocks/vector_insert_X.h.t9
-rw-r--r--gr-blocks/include/blocks/vector_map.h1
-rw-r--r--gr-blocks/include/blocks/vector_sink_X.h.t2
-rw-r--r--gr-blocks/include/blocks/vector_source_X.h.t2
-rw-r--r--gr-blocks/include/blocks/vector_to_stream.h9
-rw-r--r--gr-blocks/include/blocks/vector_to_streams.h10
-rw-r--r--gr-blocks/include/blocks/wavfile.h3
-rw-r--r--gr-blocks/include/blocks/wavfile_sink.h12
-rw-r--r--gr-blocks/include/blocks/wavfile_source.h4
-rw-r--r--gr-blocks/include/blocks/xor_XX.h.t2
-rw-r--r--gr-digital/doc/digital.dox2
-rw-r--r--gr-digital/grc/digital_block_tree.xml206
-rw-r--r--gr-digital/grc/digital_ofdm_mod2.xml1
-rw-r--r--gr-digital/grc/digital_packet_headergenerator_bb_default.xml2
-rw-r--r--gr-digital/include/digital/header_payload_demux.h3
-rw-r--r--gr-digital/include/digital/ofdm_frame_equalizer_vcvc.h2
-rw-r--r--gr-digital/include/digital/packet_header_default.h3
-rw-r--r--gr-digital/include/digital/packet_headergenerator_bb.h3
-rw-r--r--gr-digital/include/digital/packet_headerparser_b.h4
-rw-r--r--gr-fcd/grc/fcd_source_c.xml2
-rw-r--r--gr-fcd/include/fcd/fcd_source_c.h6
-rw-r--r--gr-fft/grc/fft_block_tree.xml2
-rw-r--r--gr-fft/include/fft/fft_vcc.h12
-rw-r--r--gr-fft/include/fft/fft_vfc.h8
-rw-r--r--gr-fft/include/fft/goertzel_fc.h8
-rw-r--r--gr-filter/grc/filter_block_tree.xml13
-rw-r--r--gr-filter/include/filter/adaptive_fir_ccc.h1
-rw-r--r--gr-filter/include/filter/adaptive_fir_ccf.h1
-rw-r--r--gr-filter/include/filter/dc_blocker_cc.h50
-rw-r--r--gr-filter/include/filter/dc_blocker_ff.h53
-rw-r--r--gr-filter/include/filter/fft_filter.h1
-rw-r--r--gr-filter/include/filter/fft_filter_ccc.h49
-rw-r--r--gr-filter/include/filter/fft_filter_fff.h49
-rw-r--r--gr-filter/include/filter/filter_delay_fc.h39
-rw-r--r--gr-filter/include/filter/fir_filter_XXX.h.t5
-rw-r--r--gr-filter/include/filter/fractional_interpolator_cc.h2
-rw-r--r--gr-filter/include/filter/fractional_interpolator_ff.h2
-rw-r--r--gr-filter/include/filter/freq_xlating_fir_filter_XXX.h.t2
-rw-r--r--gr-filter/include/filter/hilbert_fc.h16
-rw-r--r--gr-filter/include/filter/iir_filter_ffd.h4
-rw-r--r--gr-filter/include/filter/interp_fir_filter_XXX.h.t2
-rw-r--r--gr-filter/include/filter/mmse_fir_interpolator_cc.h2
-rw-r--r--gr-filter/include/filter/mmse_fir_interpolator_ff.h1
-rw-r--r--gr-filter/include/filter/pfb_arb_resampler_ccf.h7
-rw-r--r--gr-filter/include/filter/pfb_arb_resampler_fff.h7
-rw-r--r--gr-filter/include/filter/pfb_channelizer_ccf.h7
-rw-r--r--gr-filter/include/filter/pfb_decimator_ccf.h6
-rw-r--r--gr-filter/include/filter/pfb_interpolator_ccf.h7
-rw-r--r--gr-filter/include/filter/pfb_synthesizer_ccf.h7
-rw-r--r--gr-filter/include/filter/pm_remez.h2
-rw-r--r--gr-filter/include/filter/polyphase_filterbank.h4
-rw-r--r--gr-filter/include/filter/rational_resampler_base_XXX.h.t7
-rw-r--r--gr-filter/include/filter/single_pole_iir_filter_cc.h1
-rw-r--r--gr-filter/include/filter/single_pole_iir_filter_ff.h1
-rw-r--r--gr-qtgui/grc/qtgui_chooser.xml1
-rw-r--r--gr-trellis/grc/trellis_encoder_xx.xml2
-rw-r--r--gr-trellis/grc/trellis_metrics_x.xml2
-rw-r--r--gr-trellis/grc/trellis_pccc_decoder_combined_xx.xml2
-rw-r--r--gr-trellis/grc/trellis_pccc_decoder_x.xml2
-rw-r--r--gr-trellis/grc/trellis_pccc_encoder_xx.xml2
-rw-r--r--gr-trellis/grc/trellis_permutation.xml2
-rw-r--r--gr-trellis/grc/trellis_sccc_decoder_combined_xx.xml2
-rw-r--r--gr-trellis/grc/trellis_sccc_decoder_x.xml2
-rw-r--r--gr-trellis/grc/trellis_sccc_encoder_xx.xml2
-rw-r--r--gr-trellis/grc/trellis_siso_combined_f.xml2
-rw-r--r--gr-trellis/grc/trellis_siso_f.xml2
-rw-r--r--gr-trellis/grc/trellis_viterbi_combined_xx.xml2
-rw-r--r--gr-trellis/grc/trellis_viterbi_x.xml2
-rw-r--r--gr-vocoder/doc/vocoder.dox3
-rw-r--r--gr-vocoder/grc/vocoder_alaw_encode_sb.xml2
-rw-r--r--gr-vocoder/grc/vocoder_block_tree.xml2
-rw-r--r--gr-vocoder/grc/vocoder_ulaw_decode_bs.xml2
-rw-r--r--gr-wxgui/grc/notebook.xml2
-rw-r--r--gr-wxgui/grc/variable_check_box.xml2
-rw-r--r--gr-wxgui/grc/variable_chooser.xml2
-rw-r--r--gr-wxgui/grc/variable_slider.xml2
-rw-r--r--gr-wxgui/grc/variable_static_text.xml2
-rw-r--r--gr-wxgui/grc/variable_text_box.xml2
-rw-r--r--gr-wxgui/grc/wxgui_constellationsink2.xml2
-rw-r--r--gr-wxgui/grc/wxgui_fftsink2.xml2
-rw-r--r--gr-wxgui/grc/wxgui_histosink2.xml2
-rw-r--r--gr-wxgui/grc/wxgui_numbersink2.xml2
-rw-r--r--gr-wxgui/grc/wxgui_scopesink2.xml2
-rw-r--r--gr-wxgui/grc/wxgui_termsink.xml2
-rw-r--r--gr-wxgui/grc/wxgui_waterfallsink2.xml2
-rw-r--r--grc/blocks/block_tree.xml90
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>