diff options
-rw-r--r-- | gr-digital/grc/Makefile.am | 12 | ||||
-rw-r--r-- | gr-digital/grc/digital_binary_slicer_fb.xml (renamed from grc/blocks/gr_binary_slicer_fb.xml) | 6 | ||||
-rw-r--r-- | gr-digital/grc/digital_block_tree.xml | 10 | ||||
-rw-r--r-- | gr-digital/grc/digital_clock_recovery_mm_xx.xml (renamed from grc/blocks/gr_clock_recovery_mm_xx.xml) | 6 | ||||
-rw-r--r-- | gr-digital/grc/digital_constellation_decoder_cb.xml (renamed from grc/blocks/gr_constellation_decoder_cb.xml) | 17 | ||||
-rw-r--r-- | gr-digital/grc/digital_correlate_access_code_bb.xml (renamed from grc/blocks/gr_correlate_access_code_bb.xml) | 6 | ||||
-rw-r--r-- | gr-digital/grc/digital_fll_band_edge_cc.xml | 6 | ||||
-rw-r--r-- | gr-digital/grc/digital_mpsk_receiver_cc.xml | 6 | ||||
-rw-r--r-- | grc/blocks/Makefile.am | 10 | ||||
-rw-r--r-- | grc/blocks/blks2_dxpsk2_demod.xml | 152 | ||||
-rw-r--r-- | grc/blocks/blks2_dxpsk2_mod.xml | 95 | ||||
-rw-r--r-- | grc/blocks/blks2_dxpsk_demod.xml | 127 | ||||
-rw-r--r-- | grc/blocks/blks2_dxpsk_mod.xml | 99 | ||||
-rw-r--r-- | grc/blocks/gr_cma_equalizer_cc.xml | 36 | ||||
-rw-r--r-- | grc/blocks/gr_costas_loop_cc.xml | 52 |
15 files changed, 36 insertions, 604 deletions
diff --git a/gr-digital/grc/Makefile.am b/gr-digital/grc/Makefile.am index 963939f127..e4426e721f 100644 --- a/gr-digital/grc/Makefile.am +++ b/gr-digital/grc/Makefile.am @@ -25,15 +25,19 @@ grcblocksdir = $(grc_blocksdir) dist_grcblocks_DATA = \ digital_block_tree.xml \ + digital_binary_slicer_fb.xml \ + digital_clock_recovery_mm_xx.xml \ + digital_constellation_decoder_cb.xml \ + digital_correlate_access_code_bb.xml \ digital_costas_loop_cc.xml \ digital_cma_equalizer_cc.xml \ - digital_lms_dd_equalizer_cc.xml \ + digital_fll_band_edge_cc.xml \ digital_kurtotic_equalizer_cc.xml \ + digital_lms_dd_equalizer_cc.xml \ + digital_mpsk_receiver_cc.xml \ digital_dxpsk_mod.xml \ digital_dxpsk_demod.xml \ digital_psk_mod.xml \ digital_psk_demod.xml \ digital_qam_mod.xml \ - digital_qam_demod.xml \ - digital_fll_band_edge_cc.xml \ - digital_mpsk_receiver_cc.xml + digital_qam_demod.xml diff --git a/grc/blocks/gr_binary_slicer_fb.xml b/gr-digital/grc/digital_binary_slicer_fb.xml index 85d71e7097..3187d13f92 100644 --- a/grc/blocks/gr_binary_slicer_fb.xml +++ b/gr-digital/grc/digital_binary_slicer_fb.xml @@ -6,9 +6,9 @@ --> <block> <name>Binary Slicer</name> - <key>gr_binary_slicer_fb</key> - <import>from gnuradio import gr</import> - <make>gr.binary_slicer_fb()</make> + <key>digital_binary_slicer_fb</key> + <import>from gnuradio import digital</import> + <make>digital.binary_slicer_fb()</make> <sink> <name>in</name> <type>float</type> diff --git a/gr-digital/grc/digital_block_tree.xml b/gr-digital/grc/digital_block_tree.xml index 3432d876c1..088fe1c102 100644 --- a/gr-digital/grc/digital_block_tree.xml +++ b/gr-digital/grc/digital_block_tree.xml @@ -30,11 +30,15 @@ <name></name> <!-- Blank for Root Name --> <cat> <name>Digital</name> - <block>digital_costas_loop_cc</block> + <block>digital_binary_slicer_fb</block> + <block>digital_clock_recovery_mm_xx</block> <block>digital_cma_equalizer_cc</block> - <block>digital_lms_dd_equalizer_cc</block> - <block>digital_kurtotic_equalizer_cc</block> + <block>digital_constellation_decoder_cb</block> + <block>digital_correlate_access_code_bb</block> + <block>digital_costas_loop_cc</block> <block>digital_fll_band_edge_cc</block> + <block>digital_kurtotic_equalizer_cc</block> + <block>digital_lms_dd_equalizer_cc</block> <block>digital_mpsk_receiver_cc</block> </cat> <cat> diff --git a/grc/blocks/gr_clock_recovery_mm_xx.xml b/gr-digital/grc/digital_clock_recovery_mm_xx.xml index 613cc23bf4..d9c5ea4ff8 100644 --- a/grc/blocks/gr_clock_recovery_mm_xx.xml +++ b/gr-digital/grc/digital_clock_recovery_mm_xx.xml @@ -6,9 +6,9 @@ --> <block> <name>Clock Recovery MM</name> - <key>gr_clock_recovery_mm_xx</key> - <import>from gnuradio import gr</import> - <make>gr.clock_recovery_mm_$(type.fcn)($omega, $gain_omega, $mu, $gain_mu, $omega_relative_limit)</make> + <key>digital_clock_recovery_mm_xx</key> + <import>from gnuradio import digital</import> + <make>digital.clock_recovery_mm_$(type.fcn)($omega, $gain_omega, $mu, $gain_mu, $omega_relative_limit)</make> <callback>set_omega($omega)</callback> <callback>set_gain_omega($gain_omega)</callback> <callback>set_mu($mu)</callback> diff --git a/grc/blocks/gr_constellation_decoder_cb.xml b/gr-digital/grc/digital_constellation_decoder_cb.xml index 99d897a3aa..c7353e2888 100644 --- a/grc/blocks/gr_constellation_decoder_cb.xml +++ b/gr-digital/grc/digital_constellation_decoder_cb.xml @@ -6,18 +6,13 @@ --> <block> <name>Constellation Decoder</name> - <key>gr_constellation_decoder_cb</key> - <import>from gnuradio import gr</import> - <make>gr.constellation_decoder_cb($sym_position, $sym_value_out)</make> + <key>digital_constellation_decoder_cb</key> + <import>from gnuradio import digital</import> + <make>digital.constellation_decoder_cb($constellation)</make> <param> - <name>Symbol Position</name> - <key>sym_position</key> - <type>complex_vector</type> - </param> - <param> - <name>Symbol Value Out</name> - <key>sym_value_out</key> - <type>int_vector</type> + <name>Constellation Object</name> + <key>constellation</key> + <type>raw</type> </param> <sink> <name>in</name> diff --git a/grc/blocks/gr_correlate_access_code_bb.xml b/gr-digital/grc/digital_correlate_access_code_bb.xml index e13d2d0706..3941834c40 100644 --- a/grc/blocks/gr_correlate_access_code_bb.xml +++ b/gr-digital/grc/digital_correlate_access_code_bb.xml @@ -6,9 +6,9 @@ --> <block> <name>Correlate Access Code</name> - <key>gr_correlate_access_code_bb</key> - <import>from gnuradio import gr</import> - <make>gr.correlate_access_code_bb($access_code, $threshold)</make> + <key>digital_correlate_access_code_bb</key> + <import>from gnuradio import digital</import> + <make>digital.correlate_access_code_bb($access_code, $threshold)</make> <param> <name>Access Code</name> <key>access_code</key> diff --git a/gr-digital/grc/digital_fll_band_edge_cc.xml b/gr-digital/grc/digital_fll_band_edge_cc.xml index 1c5a34e540..e4da773db2 100644 --- a/gr-digital/grc/digital_fll_band_edge_cc.xml +++ b/gr-digital/grc/digital_fll_band_edge_cc.xml @@ -6,9 +6,9 @@ --> <block> <name>FLL Band-Edge</name> - <key>gr_fll_band_edge_cc</key> - <import>from gnuradio import gr</import> - <make>gr.fll_band_edge_cc($samps_per_sym, $rolloff, $filter_size, $w)</make> + <key>digital_fll_band_edge_cc</key> + <import>from gnuradio import digital</import> + <make>digital.fll_band_edge_cc($samps_per_sym, $rolloff, $filter_size, $w)</make> <callback>set_loop_bandwidth($w)</callback> <param> <name>Type</name> diff --git a/gr-digital/grc/digital_mpsk_receiver_cc.xml b/gr-digital/grc/digital_mpsk_receiver_cc.xml index 948f18b6e6..ab7e5c2091 100644 --- a/gr-digital/grc/digital_mpsk_receiver_cc.xml +++ b/gr-digital/grc/digital_mpsk_receiver_cc.xml @@ -6,9 +6,9 @@ --> <block> <name>MPSK Receiver</name> - <key>gr_mpsk_receiver_cc</key> - <import>from gnuradio import gr</import> - <make>gr.mpsk_receiver_cc($M, $theta, $w, $fmin, $fmax, $mu, $gain_mu, $omega, $gain_omega, $omega_relative_limit)</make> + <key>digital_mpsk_receiver_cc</key> + <import>from gnuradio import digital</import> + <make>digital.mpsk_receiver_cc($M, $theta, $w, $fmin, $fmax, $mu, $gain_mu, $omega, $gain_omega, $omega_relative_limit)</make> <callback>set_loop_bandwidth($w)</callback> <callback>set_mu($mu)</callback> <callback>set_gain_mu($gain_mu)</callback> diff --git a/grc/blocks/Makefile.am b/grc/blocks/Makefile.am index 6f72fe399e..bed84adc85 100644 --- a/grc/blocks/Makefile.am +++ b/grc/blocks/Makefile.am @@ -30,10 +30,6 @@ dist_ourdata_DATA = \ blks2_analysis_filterbank.xml \ blks2_cvsd_encode.xml \ blks2_cvsd_decode.xml \ - blks2_dxpsk_demod.xml \ - blks2_dxpsk_mod.xml \ - blks2_dxpsk2_demod.xml \ - blks2_dxpsk2_mod.xml \ blks2_error_rate.xml \ blks2_fm_deemph.xml \ blks2_fm_demod_cf.xml \ @@ -71,12 +67,9 @@ dist_ourdata_DATA = \ gr_and_xx.xml \ gr_and_const_xx.xml \ gr_argmax_xx.xml \ - gr_binary_slicer_fb.xml \ gr_channel_model.xml \ gr_char_to_float.xml \ gr_chunks_to_symbols.xml \ - gr_clock_recovery_mm_xx.xml \ - gr_cma_equalizer_cc.xml \ gr_complex_to_arg.xml \ gr_complex_to_float.xml \ gr_complex_to_imag.xml \ @@ -85,10 +78,7 @@ dist_ourdata_DATA = \ gr_complex_to_mag_squared.xml \ gr_complex_to_real.xml \ gr_conjugate_cc.xml \ - gr_constellation_decoder_cb.xml \ gr_copy.xml \ - gr_correlate_access_code_bb.xml \ - gr_costas_loop_cc.xml \ gr_cpfsk_bc.xml \ gr_dc_blocker.xml \ gr_cpmmod_bc.xml \ diff --git a/grc/blocks/blks2_dxpsk2_demod.xml b/grc/blocks/blks2_dxpsk2_demod.xml deleted file mode 100644 index 7fe4be32be..0000000000 --- a/grc/blocks/blks2_dxpsk2_demod.xml +++ /dev/null @@ -1,152 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##DPSK2 Demod - 2, 4 -################################################### - --> -<block> - <name>DPSK2 Demod</name> - <key>blks2_dxpsk2_demod</key> - <import>from gnuradio import blks2</import> - <make>blks2.$(type)2_demod( - samples_per_symbol=$samples_per_symbol, - excess_bw=$excess_bw, - freq_alpha=$freq_alpha, - phase_alpha=$phase_alpha, - timing_alpha=$timing_alpha, - timing_max_dev=$timing_max_dev, - gray_code=$gray_code, - verbose=$verbose, - log=$log, - sync_out=$sync_out, -)</make> - <callback>clock_recov.set_alpha($costas_alpha)</callback> - <callback>clock_recov.set_beta(0.25*$costas_alpha**2)</callback> - <callback>time_recov.set_alpha($timing_alpha)</callback> - <param> - <name>Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>DBPSK</name> - <key>dbpsk</key> - </option> - <option> - <name>DQPSK</name> - <key>dqpsk</key> - </option> - </param> - <param> - <name>Samples/Symbol</name> - <key>samples_per_symbol</key> - <value>2</value> - <type>int</type> - </param> - <param> - <name>Excess BW</name> - <key>excess_bw</key> - <value>0.35</value> - <type>real</type> - </param> - <param> - <name>FLL Alpha</name> - <key>freq_alpha</key> - <value>0.010</value> - <type>real</type> - </param> - <param> - <name>Phase Alpha</name> - <key>phase_alpha</key> - <value>0.100</value> - <type>real</type> - </param> - <param> - <name>Timing Alpha</name> - <key>timing_alpha</key> - <value>0.100</value> - <type>real</type> - </param> - <param> - <name>Timing Max Dev</name> - <key>timing_max_dev</key> - <value>1.5</value> - <type>real</type> - </param> - <param> - <name>Omega Relative Limit</name> - <key>omega_relative_limit</key> - <value>0.005</value> - <type>real</type> - </param> - <param> - <name>Gray Code</name> - <key>gray_code</key> - <value>True</value> - <type>bool</type> - <option> - <name>Yes</name> - <key>True</key> - </option> - <option> - <name>No</name> - <key>False</key> - </option> - </param> - <param> - <name>Verbose</name> - <key>verbose</key> - <value>False</value> - <type>bool</type> - <hide>#if str($verbose) == 'False' then 'part' else 'none'#</hide> - <option> - <name>On</name> - <key>True</key> - </option> - <option> - <name>Off</name> - <key>False</key> - </option> - </param> - <param> - <name>Logging</name> - <key>log</key> - <value>False</value> - <type>bool</type> - <hide>#if str($log) == 'False' then 'part' else 'none'#</hide> - <option> - <name>On</name> - <key>True</key> - </option> - <option> - <name>Off</name> - <key>False</key> - </option> - </param> - <param> - <name>Sync Out</name> - <key>sync_out</key> - <value>False</value> - <type>bool</type> - <option> - <name>On</name> - <key>True</key> - </option> - <option> - <name>Off</name> - <key>False</key> - </option> - </param> - <sink> - <name>in</name> - <type>complex</type> - </sink> - <source> - <name>out</name> - <type>byte</type> - </source> - <source> - <name>sync</name> - <type>complex</type> - <optional>1</optional> - </source> -</block> diff --git a/grc/blocks/blks2_dxpsk2_mod.xml b/grc/blocks/blks2_dxpsk2_mod.xml deleted file mode 100644 index bf292be17f..0000000000 --- a/grc/blocks/blks2_dxpsk2_mod.xml +++ /dev/null @@ -1,95 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##DPSK2 Mod - 2, 4 -################################################### - --> -<block> - <name>DPSK2 Mod</name> - <key>blks2_dxpsk2_mod</key> - <import>from gnuradio import blks2</import> - <make>blks2.$(type)2_mod( - samples_per_symbol=$samples_per_symbol, - excess_bw=$excess_bw, - gray_code=$gray_code, - verbose=$verbose, - log=$log, -)</make> - <param> - <name>Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>DBPSK</name> - <key>dbpsk</key> - </option> - <option> - <name>DQPSK</name> - <key>dqpsk</key> - </option> - </param> - <param> - <name>Samples/Symbol</name> - <key>samples_per_symbol</key> - <value>2</value> - <type>int</type> - </param> - <param> - <name>Excess BW</name> - <key>excess_bw</key> - <value>0.35</value> - <type>real</type> - </param> - <param> - <name>Gray Code</name> - <key>gray_code</key> - <value>True</value> - <type>bool</type> - <option> - <name>Yes</name> - <key>True</key> - </option> - <option> - <name>No</name> - <key>False</key> - </option> - </param> - <param> - <name>Verbose</name> - <key>verbose</key> - <value>False</value> - <type>bool</type> - <hide>#if str($verbose) == 'False' then 'part' else 'none'#</hide> - <option> - <name>On</name> - <key>True</key> - </option> - <option> - <name>Off</name> - <key>False</key> - </option> - </param> - <param> - <name>Logging</name> - <key>log</key> - <value>False</value> - <type>bool</type> - <hide>#if str($log) == 'False' then 'part' else 'none'#</hide> - <option> - <name>On</name> - <key>True</key> - </option> - <option> - <name>Off</name> - <key>False</key> - </option> - </param> - <sink> - <name>in</name> - <type>byte</type> - </sink> - <source> - <name>out</name> - <type>complex</type> - </source> -</block> diff --git a/grc/blocks/blks2_dxpsk_demod.xml b/grc/blocks/blks2_dxpsk_demod.xml deleted file mode 100644 index 1c96b6cec6..0000000000 --- a/grc/blocks/blks2_dxpsk_demod.xml +++ /dev/null @@ -1,127 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##DPSK Demod - 2, 4, 8 -################################################### - --> -<block> - <name>DPSK Demod</name> - <key>blks2_dxpsk_demod</key> - <import>from gnuradio import blks2</import> - <make>blks2.$(type)_demod( - samples_per_symbol=$samples_per_symbol, - excess_bw=$excess_bw, - costas_alpha=$costas_alpha, - gain_mu=$gain_mu, - mu=$mu, - omega_relative_limit=$omega_relative_limit, - gray_code=$gray_code, - verbose=$verbose, - log=$log, -)</make> - <param> - <name>Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>DBPSK</name> - <key>dbpsk</key> - </option> - <option> - <name>DQPSK</name> - <key>dqpsk</key> - </option> - <option> - <name>D8PSK</name> - <key>d8psk</key> - </option> - </param> - <param> - <name>Samples/Symbol</name> - <key>samples_per_symbol</key> - <value>2</value> - <type>int</type> - </param> - <param> - <name>Excess BW</name> - <key>excess_bw</key> - <value>0.35</value> - <type>real</type> - </param> - <param> - <name>Costas Alpha</name> - <key>costas_alpha</key> - <value>0.175</value> - <type>real</type> - </param> - <param> - <name>Gain Mu</name> - <key>gain_mu</key> - <value>0.175</value> - <type>real</type> - </param> - <param> - <name>Mu</name> - <key>mu</key> - <value>0.5</value> - <type>real</type> - </param> - <param> - <name>Omega Relative Limit</name> - <key>omega_relative_limit</key> - <value>0.005</value> - <type>real</type> - </param> - <param> - <name>Gray Code</name> - <key>gray_code</key> - <value>True</value> - <type>bool</type> - <option> - <name>Yes</name> - <key>True</key> - </option> - <option> - <name>No</name> - <key>False</key> - </option> - </param> - <param> - <name>Verbose</name> - <key>verbose</key> - <value>False</value> - <type>bool</type> - <hide>#if str($verbose) == 'False' then 'part' else 'none'#</hide> - <option> - <name>On</name> - <key>True</key> - </option> - <option> - <name>Off</name> - <key>False</key> - </option> - </param> - <param> - <name>Logging</name> - <key>log</key> - <value>False</value> - <type>bool</type> - <hide>#if str($log) == 'False' then 'part' else 'none'#</hide> - <option> - <name>On</name> - <key>True</key> - </option> - <option> - <name>Off</name> - <key>False</key> - </option> - </param> - <sink> - <name>in</name> - <type>complex</type> - </sink> - <source> - <name>out</name> - <type>byte</type> - </source> -</block> diff --git a/grc/blocks/blks2_dxpsk_mod.xml b/grc/blocks/blks2_dxpsk_mod.xml deleted file mode 100644 index 77505d8ad5..0000000000 --- a/grc/blocks/blks2_dxpsk_mod.xml +++ /dev/null @@ -1,99 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##DPSK Mod - 2, 4, 8 -################################################### - --> -<block> - <name>DPSK Mod</name> - <key>blks2_dxpsk_mod</key> - <import>from gnuradio import blks2</import> - <make>blks2.$(type)_mod( - samples_per_symbol=$samples_per_symbol, - excess_bw=$excess_bw, - gray_code=$gray_code, - verbose=$verbose, - log=$log, -)</make> - <param> - <name>Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>DBPSK</name> - <key>dbpsk</key> - </option> - <option> - <name>DQPSK</name> - <key>dqpsk</key> - </option> - <option> - <name>D8PSK</name> - <key>d8psk</key> - </option> - </param> - <param> - <name>Samples/Symbol</name> - <key>samples_per_symbol</key> - <value>2</value> - <type>int</type> - </param> - <param> - <name>Excess BW</name> - <key>excess_bw</key> - <value>0.35</value> - <type>real</type> - </param> - <param> - <name>Gray Code</name> - <key>gray_code</key> - <value>True</value> - <type>bool</type> - <option> - <name>Yes</name> - <key>True</key> - </option> - <option> - <name>No</name> - <key>False</key> - </option> - </param> - <param> - <name>Verbose</name> - <key>verbose</key> - <value>False</value> - <type>bool</type> - <hide>#if str($verbose) == 'False' then 'part' else 'none'#</hide> - <option> - <name>On</name> - <key>True</key> - </option> - <option> - <name>Off</name> - <key>False</key> - </option> - </param> - <param> - <name>Logging</name> - <key>log</key> - <value>False</value> - <type>bool</type> - <hide>#if str($log) == 'False' then 'part' else 'none'#</hide> - <option> - <name>On</name> - <key>True</key> - </option> - <option> - <name>Off</name> - <key>False</key> - </option> - </param> - <sink> - <name>in</name> - <type>byte</type> - </sink> - <source> - <name>out</name> - <type>complex</type> - </source> -</block> diff --git a/grc/blocks/gr_cma_equalizer_cc.xml b/grc/blocks/gr_cma_equalizer_cc.xml deleted file mode 100644 index 142fb6d81a..0000000000 --- a/grc/blocks/gr_cma_equalizer_cc.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##CMA Equalizer -################################################### - --> -<block> - <name>CMA Equalizer</name> - <key>gr_cma_equalizer_cc</key> - <import>from gnuradio import gr</import> - <make>gr.cma_equalizer_cc($num_taps, $modulus, $mu)</make> - <param> - <name>Num Taps</name> - <key>num_taps</key> - <value>64</value> - <type>int</type> - </param> - <param> - <name>Modulus</name> - <key>modulus</key> - <type>real</type> - </param> - <param> - <name>Mu</name> - <key>mu</key> - <type>real</type> - </param> - <sink> - <name>in</name> - <type>complex</type> - </sink> - <source> - <name>out</name> - <type>complex</type> - </source> -</block> diff --git a/grc/blocks/gr_costas_loop_cc.xml b/grc/blocks/gr_costas_loop_cc.xml deleted file mode 100644 index e0db8bc5d9..0000000000 --- a/grc/blocks/gr_costas_loop_cc.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##Costas Loop -################################################### - --> -<block> - <name>Costas Loop</name> - <key>gr_costas_loop_cc</key> - <import>from gnuradio import gr</import> - <make>gr.costas_loop_cc($alpha, $beta, $max_freq, $min_freq, $order)</make> - <callback>set_alpha($alpha)</callback> - <callback>set_beta($beta)</callback> - <param> - <name>Alpha</name> - <key>alpha</key> - <type>real</type> - </param> - <param> - <name>Beta</name> - <key>beta</key> - <type>real</type> - </param> - <param> - <name>Max Freq</name> - <key>max_freq</key> - <type>real</type> - </param> - <param> - <name>Min Freq</name> - <key>min_freq</key> - <type>real</type> - </param> - <param> - <name>Order</name> - <key>order</key> - <type>int</type> - </param> - <sink> - <name>in</name> - <type>complex</type> - </sink> - <source> - <name>out</name> - <type>complex</type> - </source> - <source> - <name>out</name> - <type>complex</type> - <optional>1</optional> - </source> -</block> |