summaryrefslogtreecommitdiff
path: root/gnuradio-core/src
diff options
context:
space:
mode:
Diffstat (limited to 'gnuradio-core/src')
-rw-r--r--gnuradio-core/src/gen_interpolator_taps/Makefile.am18
-rw-r--r--gnuradio-core/src/lib/Makefile.am9
-rw-r--r--gnuradio-core/src/lib/filter/gr_cma_equalizer_cc.cc4
-rw-r--r--gnuradio-core/src/lib/filter/gr_fft_filter_ccc.cc4
-rw-r--r--gnuradio-core/src/lib/filter/gr_fft_filter_fff.cc2
-rw-r--r--gnuradio-core/src/lib/filter/gr_filter_delay_fc.cc4
-rw-r--r--gnuradio-core/src/lib/filter/gr_fir_filter_XXX.cc.t4
-rw-r--r--gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc4
-rw-r--r--gnuradio-core/src/lib/filter/gr_fractional_interpolator_ff.cc4
-rw-r--r--gnuradio-core/src/lib/filter/gr_freq_xlating_fir_filter_XXX.cc.t4
-rw-r--r--gnuradio-core/src/lib/filter/gr_goertzel_fc.cc4
-rw-r--r--gnuradio-core/src/lib/filter/gr_hilbert_fc.cc4
-rw-r--r--gnuradio-core/src/lib/filter/gr_iir_filter_ffd.cc4
-rw-r--r--gnuradio-core/src/lib/filter/gr_interp_fir_filter_XXX.cc.t4
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc6
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc4
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.cc2
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_clock_sync_fff.cc2
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_decimator_ccf.cc4
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_interpolator_ccf.cc4
-rw-r--r--gnuradio-core/src/lib/filter/gr_rational_resampler_base_XXX.cc.t4
-rw-r--r--gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_cc.cc4
-rw-r--r--gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_ff.cc4
-rw-r--r--gnuradio-core/src/lib/general/Makefile.am3
-rw-r--r--gnuradio-core/src/lib/general/general.i2
-rw-r--r--gnuradio-core/src/lib/general/gr_additive_scrambler_bb.cc2
-rw-r--r--gnuradio-core/src/lib/general/gr_agc2_cc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_agc2_ff.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_agc_cc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_agc_ff.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_align_on_samplenumbers_ss.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_bin_statistics_f.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_binary_slicer_fb.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_bytes_to_syms.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_char_to_float.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_check_counting_s.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_check_lfsr_32k_s.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_clock_recovery_mm_cc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_clock_recovery_mm_ff.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_complex_to_interleaved_short.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_complex_to_xxx.cc14
-rw-r--r--gnuradio-core/src/lib/general/gr_conjugate_cc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_correlate_access_code_bb.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_costas_loop_cc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_cpfsk_bc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_ctcss_squelch_ff.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_dd_mpsk_sync_cc.cc196
-rw-r--r--gnuradio-core/src/lib/general/gr_dd_mpsk_sync_cc.h93
-rw-r--r--gnuradio-core/src/lib/general/gr_dd_mpsk_sync_cc.i34
-rw-r--r--gnuradio-core/src/lib/general/gr_decode_ccsds_27_fb.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_deinterleave.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_delay.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_descrambler_bb.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_diff_decoder_bb.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_diff_encoder_bb.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_diff_phasor_cc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_dpll_bb.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_encode_ccsds_27_bb.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_fake_channel_coder_pp.cc6
-rw-r--r--gnuradio-core/src/lib/general/gr_feedforward_agc_cc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_fft_vcc_fftw.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_fft_vfc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_fll_band_edge_cc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_float_to_char.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_float_to_complex.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_float_to_short.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_float_to_uchar.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_fmdet_cf.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_framer_sink_1.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_frequency_modulator_fc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_glfsr_source_b.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_glfsr_source_f.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_interleave.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_interleaved_short_to_complex.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_iqcomp_cc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_keep_one_in_n.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_lfsr_32k_source_s.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_lms_dfe_cc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_lms_dfe_ff.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_map_bb.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_mpsk_receiver_cc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_nlog10_ff.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_nop.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_null_sink.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_null_source.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_ofdm_bpsk_demapper.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_ofdm_cyclic_prefixer.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_ofdm_frame_sink.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_ofdm_insert_preamble.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_ofdm_mapper_bcv.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_ofdm_sampler.cc5
-rw-r--r--gnuradio-core/src/lib/general/gr_pa_2x2_phase_combiner.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_packet_sink.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_peak_detector2_fb.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_phase_modulator_fc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_pll_carriertracking_cc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_pll_freqdet_cf.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_pll_refout_cc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_pn_correlator_cc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_c.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_cf.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_f.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_probe_density_b.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_probe_signal_f.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_pwr_squelch_cc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_pwr_squelch_ff.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_quadrature_demod_cf.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_rail_ff.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_regenerate_bb.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_repeat.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_rms_cf.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_rms_ff.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_scrambler_bb.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_short_to_float.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_simple_correlator.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_simple_framer.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_simple_squelch_cc.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_skiphead.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_squash_ff.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_stream_mux.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_stream_to_streams.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_stream_to_vector.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_streams_to_stream.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_streams_to_vector.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_stretch_ff.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_test.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_threshold_ff.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_throttle.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_uchar_to_float.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_vco_f.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_vector_to_stream.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_vector_to_streams.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_wavelet_ff.cc4
-rw-r--r--gnuradio-core/src/lib/general/gr_wvps_ff.cc4
-rw-r--r--gnuradio-core/src/lib/general/gri_agc2_cc.i5
-rw-r--r--gnuradio-core/src/lib/general/gri_agc2_ff.i10
-rw-r--r--gnuradio-core/src/lib/gengen/gr_add_XX.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t4
-rwxr-xr-xgnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_and_XX.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_and_const_XX.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_integrate_XX.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_moving_average_XX.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t4
-rwxr-xr-xgnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_not_XX.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_or_XX.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_peak_detector_XX.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_sample_and_hold_XX.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t4
-rw-r--r--gnuradio-core/src/lib/gengen/gr_xor_XX.cc.t4
-rw-r--r--gnuradio-core/src/lib/io/Makefile.am2
-rw-r--r--gnuradio-core/src/lib/io/gr_file_descriptor_sink.cc4
-rw-r--r--gnuradio-core/src/lib/io/gr_file_sink.cc7
-rw-r--r--gnuradio-core/src/lib/io/gr_file_sink_base.cc6
-rw-r--r--gnuradio-core/src/lib/io/gr_file_sink_base.h7
-rw-r--r--gnuradio-core/src/lib/io/gr_file_sink_base.i5
-rw-r--r--gnuradio-core/src/lib/io/gr_file_source.cc4
-rw-r--r--gnuradio-core/src/lib/io/gr_histo_sink_f.cc4
-rw-r--r--gnuradio-core/src/lib/io/gr_message_sink.cc4
-rw-r--r--gnuradio-core/src/lib/io/gr_message_source.cc6
-rw-r--r--gnuradio-core/src/lib/io/gr_oscope_guts.cc69
-rw-r--r--gnuradio-core/src/lib/io/gr_oscope_sink_f.cc4
-rw-r--r--gnuradio-core/src/lib/io/gr_trigger_mode.h1
-rw-r--r--gnuradio-core/src/lib/io/gr_udp_sink.cc314
-rw-r--r--gnuradio-core/src/lib/io/gr_udp_sink.h98
-rw-r--r--gnuradio-core/src/lib/io/gr_udp_sink.i22
-rw-r--r--gnuradio-core/src/lib/io/gr_udp_source.cc273
-rw-r--r--gnuradio-core/src/lib/io/gr_udp_source.h90
-rw-r--r--gnuradio-core/src/lib/io/gr_udp_source.i15
-rw-r--r--gnuradio-core/src/lib/io/gr_wavfile_sink.cc4
-rw-r--r--gnuradio-core/src/lib/io/gr_wavfile_source.cc4
-rw-r--r--gnuradio-core/src/lib/io/gri_logger.cc178
-rw-r--r--gnuradio-core/src/lib/io/gri_logger.h59
-rw-r--r--gnuradio-core/src/lib/runtime/Makefile.am1
-rw-r--r--gnuradio-core/src/lib/runtime/gr_sptr_magic.cc4
-rw-r--r--gnuradio-core/src/lib/runtime/gr_unittests.h70
-rw-r--r--gnuradio-core/src/python/gnuradio/Makefile.am3
-rw-r--r--gnuradio-core/src/python/gnuradio/gr/Makefile.am3
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_add_and_friends.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_add_v_and_friends.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_agc.py6
-rw-r--r--gnuradio-core/src/python/gnuradio/gr/qa_argmax.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_bin_statistics.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_boolean_operators.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_classify.py7
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_cma_equalizer.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_complex_to_xxx.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_constellation_decoder_cb.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_copy.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_correlate_access_code.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_delay.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_diff_encoder.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_diff_phasor_cc.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_ecc_ccsds_27.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_feval.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_fft.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_fft_filter.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_filter_delay_fc.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_fractional_interpolator.py5
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_frequency_modulator.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_fsk_stuff.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_glfsr_source.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_goertzel.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_head.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_hier_block2.py2
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_hilbert.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_iir.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_integrate.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_interleave.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_interp_fir_filter.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_kludge_copy.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_kludged_imports.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_max.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_message.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_mute.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_nlog10.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_noise.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_ofdm_insert_preamble.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_packed_to_unpacked.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_pipe_fittings.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_pll_carriertracking.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_pll_freqdet.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_pll_refout.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_pn_correlator_cc.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_rational_resampler.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_regenerate.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_repeat.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_scrambler.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_sig_source.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_single_pole_iir.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_single_pole_iir_cc.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_skiphead.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_stream_mux.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_udp_sink_source.py99
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_unpack_k_bits.py4
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_vector_sink_source.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_wavefile.py6
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr_unittest.py56
-rw-r--r--gnuradio-core/src/python/gnuradio/gr_xmlrunner.py385
-rw-r--r--gnuradio-core/src/python/gnuradio/gruimpl/hexint.py12
-rw-r--r--gnuradio-core/src/tests/test_all.cc13
-rw-r--r--gnuradio-core/src/tests/test_atsc.cc12
-rw-r--r--gnuradio-core/src/tests/test_filter.cc12
-rw-r--r--gnuradio-core/src/tests/test_general.cc14
-rw-r--r--gnuradio-core/src/tests/test_runtime.cc12
257 files changed, 1747 insertions, 1396 deletions
diff --git a/gnuradio-core/src/gen_interpolator_taps/Makefile.am b/gnuradio-core/src/gen_interpolator_taps/Makefile.am
index 5f3a6cb254..d244e7f546 100644
--- a/gnuradio-core/src/gen_interpolator_taps/Makefile.am
+++ b/gnuradio-core/src/gen_interpolator_taps/Makefile.am
@@ -21,13 +21,13 @@
include $(top_srcdir)/Makefile.common
-EXTRA_DIST = praxis.txt simpson.h
+EXTRA_DIST = praxis.txt simpson.h objective_fct.c gen_interpolator_taps.c simpson.c praxis.f
-if ENABLE_FORTRAN
-noinst_PROGRAMS = gen_interpolator_taps
-noinst_HEADERS = simpson.h
-
-gen_interpolator_taps_SOURCES = gen_interpolator_taps.c objective_fct.c simpson.c praxis.f
-gen_interpolator_taps_LDADD = $(FLIBS) -lm
-
-endif
+# if ENABLE_FORTRAN
+# noinst_PROGRAMS = gen_interpolator_taps
+# noinst_HEADERS = simpson.h
+#
+# gen_interpolator_taps_SOURCES = gen_interpolator_taps.c objective_fct.c simpson.c praxis.f
+# gen_interpolator_taps_LDADD = $(FLIBS) -lm
+#
+# endif
diff --git a/gnuradio-core/src/lib/Makefile.am b/gnuradio-core/src/lib/Makefile.am
index 477ba67259..f3a3accdb2 100644
--- a/gnuradio-core/src/lib/Makefile.am
+++ b/gnuradio-core/src/lib/Makefile.am
@@ -1,5 +1,5 @@
#
-# Copyright 2001,2004,2009 Free Software Foundation, Inc.
+# Copyright 2001,2004,2009,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -33,10 +33,11 @@ AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) $(WITH_INCLUDES)
# generate libgnuradio-core.la from the convenience libraries in subdirs
-lib_LTLIBRARIES = libgnuradio-core.la libgnuradio-core-qa.la
+lib_LTLIBRARIES = libgnuradio-core.la
+noinst_LTLIBRARIES = libgnuradio-core-qa.la
libgnuradio_core_la_SOURCES = bug_work_around_6.cc
-libgnuradio_core_la_LDFLAGS = $(NO_UNDEFINED) -version-info 0:0:0
+libgnuradio_core_la_LDFLAGS = $(NO_UNDEFINED) $(LTVERSIONFLAGS)
libgnuradio_core_qa_la_SOURCES = bug_work_around_6.cc
libgnuradio_core_qa_la_LDFLAGS = $(NO_UNDEFINED) -version-info 0:0:0 \
@@ -68,4 +69,4 @@ libgnuradio_core_qa_la_LIBADD = \
bin_PROGRAMS = gnuradio-config-info
gnuradio_config_info_SOURCES = gnuradio-config-info.cc
-gnuradio_config_info_LDADD = libgnuradio-core.la $(BOOST_PROGRAM_OPTIONS_LIB) \ No newline at end of file
+gnuradio_config_info_LDADD = libgnuradio-core.la $(BOOST_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LIB)
diff --git a/gnuradio-core/src/lib/filter/gr_cma_equalizer_cc.cc b/gnuradio-core/src/lib/filter/gr_cma_equalizer_cc.cc
index 6a6fe1c265..8252509bba 100644
--- a/gnuradio-core/src/lib/filter/gr_cma_equalizer_cc.cc
+++ b/gnuradio-core/src/lib/filter/gr_cma_equalizer_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -29,7 +29,7 @@
gr_cma_equalizer_cc_sptr
gr_make_cma_equalizer_cc(int num_taps, float modulus, float mu)
{
- return gr_cma_equalizer_cc_sptr(new gr_cma_equalizer_cc(num_taps, modulus, mu));
+ return gnuradio::get_initial_sptr(new gr_cma_equalizer_cc(num_taps, modulus, mu));
}
gr_cma_equalizer_cc::gr_cma_equalizer_cc(int num_taps, float modulus, float mu)
diff --git a/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.cc b/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.cc
index 4540c6e4ad..02bfaf105b 100644
--- a/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.cc
+++ b/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -45,7 +45,7 @@
gr_fft_filter_ccc_sptr gr_make_fft_filter_ccc (int decimation, const std::vector<gr_complex> &taps)
{
- return gr_fft_filter_ccc_sptr (new gr_fft_filter_ccc (decimation, taps));
+ return gnuradio::get_initial_sptr(new gr_fft_filter_ccc (decimation, taps));
}
diff --git a/gnuradio-core/src/lib/filter/gr_fft_filter_fff.cc b/gnuradio-core/src/lib/filter/gr_fft_filter_fff.cc
index e8857fe8cf..e5b218f20d 100644
--- a/gnuradio-core/src/lib/filter/gr_fft_filter_fff.cc
+++ b/gnuradio-core/src/lib/filter/gr_fft_filter_fff.cc
@@ -37,7 +37,7 @@
gr_fft_filter_fff_sptr gr_make_fft_filter_fff (int decimation, const std::vector<float> &taps)
{
- return gr_fft_filter_fff_sptr (new gr_fft_filter_fff (decimation, taps));
+ return gnuradio::get_initial_sptr(new gr_fft_filter_fff (decimation, taps));
}
diff --git a/gnuradio-core/src/lib/filter/gr_filter_delay_fc.cc b/gnuradio-core/src/lib/filter/gr_filter_delay_fc.cc
index 49a1e0eb34..7974da934d 100644
--- a/gnuradio-core/src/lib/filter/gr_filter_delay_fc.cc
+++ b/gnuradio-core/src/lib/filter/gr_filter_delay_fc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
gr_filter_delay_fc_sptr
gr_make_filter_delay_fc (const std::vector<float> &taps)
{
- return gr_filter_delay_fc_sptr (new gr_filter_delay_fc (taps));
+ return gnuradio::get_initial_sptr(new gr_filter_delay_fc (taps));
}
gr_filter_delay_fc::gr_filter_delay_fc (const std::vector<float> &taps)
diff --git a/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.cc.t b/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.cc.t
index b99de50731..29e3519252 100644
--- a/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.cc.t
+++ b/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -36,7 +36,7 @@
@SPTR_NAME@ gr_make_@BASE_NAME@ (int decimation, const std::vector<@TAP_TYPE@> &taps)
{
- return @SPTR_NAME@ (new @NAME@ (decimation, taps));
+ return gnuradio::get_initial_sptr (new @NAME@ (decimation, taps));
}
diff --git a/gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc b/gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc
index 56a1a31aa8..500958e3da 100644
--- a/gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc
+++ b/gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2007 Free Software Foundation, Inc.
+ * Copyright 2004,2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
// Public constructor
gr_fractional_interpolator_cc_sptr gr_make_fractional_interpolator_cc(float phase_shift, float interp_ratio)
{
- return gr_fractional_interpolator_cc_sptr(new gr_fractional_interpolator_cc(phase_shift, interp_ratio));
+ return gnuradio::get_initial_sptr(new gr_fractional_interpolator_cc(phase_shift, interp_ratio));
}
gr_fractional_interpolator_cc::gr_fractional_interpolator_cc(float phase_shift, float interp_ratio)
diff --git a/gnuradio-core/src/lib/filter/gr_fractional_interpolator_ff.cc b/gnuradio-core/src/lib/filter/gr_fractional_interpolator_ff.cc
index 0e0fdad7f4..9cbe31635d 100644
--- a/gnuradio-core/src/lib/filter/gr_fractional_interpolator_ff.cc
+++ b/gnuradio-core/src/lib/filter/gr_fractional_interpolator_ff.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2007 Free Software Foundation, Inc.
+ * Copyright 2004,2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
// Public constructor
gr_fractional_interpolator_ff_sptr gr_make_fractional_interpolator_ff(float phase_shift, float interp_ratio)
{
- return gr_fractional_interpolator_ff_sptr(new gr_fractional_interpolator_ff(phase_shift, interp_ratio));
+ return gnuradio::get_initial_sptr(new gr_fractional_interpolator_ff(phase_shift, interp_ratio));
}
gr_fractional_interpolator_ff::gr_fractional_interpolator_ff(float phase_shift, float interp_ratio)
diff --git a/gnuradio-core/src/lib/filter/gr_freq_xlating_fir_filter_XXX.cc.t b/gnuradio-core/src/lib/filter/gr_freq_xlating_fir_filter_XXX.cc.t
index f51e046afa..656b3402a9 100644
--- a/gnuradio-core/src/lib/filter/gr_freq_xlating_fir_filter_XXX.cc.t
+++ b/gnuradio-core/src/lib/filter/gr_freq_xlating_fir_filter_XXX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2003 Free Software Foundation, Inc.
+ * Copyright 2003,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -39,7 +39,7 @@
gr_make_@BASE_NAME@ (int decimation, const std::vector<@TAP_TYPE@> &taps,
double center_freq, double sampling_freq)
{
- return @SPTR_NAME@ (new @NAME@ (decimation, taps, center_freq, sampling_freq));
+ return gnuradio::get_initial_sptr (new @NAME@ (decimation, taps, center_freq, sampling_freq));
}
diff --git a/gnuradio-core/src/lib/filter/gr_goertzel_fc.cc b/gnuradio-core/src/lib/filter/gr_goertzel_fc.cc
index aee8df844d..a93751b2f0 100644
--- a/gnuradio-core/src/lib/filter/gr_goertzel_fc.cc
+++ b/gnuradio-core/src/lib/filter/gr_goertzel_fc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_goertzel_fc_sptr
gr_make_goertzel_fc(int rate, int len, float freq)
{
- return gr_goertzel_fc_sptr (new gr_goertzel_fc(rate, len, freq));
+ return gnuradio::get_initial_sptr(new gr_goertzel_fc(rate, len, freq));
}
gr_goertzel_fc::gr_goertzel_fc(int rate, int len, float freq)
diff --git a/gnuradio-core/src/lib/filter/gr_hilbert_fc.cc b/gnuradio-core/src/lib/filter/gr_hilbert_fc.cc
index 65343916ca..7445f051e6 100644
--- a/gnuradio-core/src/lib/filter/gr_hilbert_fc.cc
+++ b/gnuradio-core/src/lib/filter/gr_hilbert_fc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -33,7 +33,7 @@
gr_hilbert_fc_sptr
gr_make_hilbert_fc (unsigned int ntaps)
{
- return gr_hilbert_fc_sptr (new gr_hilbert_fc (ntaps));
+ return gnuradio::get_initial_sptr(new gr_hilbert_fc (ntaps));
}
gr_hilbert_fc::gr_hilbert_fc (unsigned int ntaps)
diff --git a/gnuradio-core/src/lib/filter/gr_iir_filter_ffd.cc b/gnuradio-core/src/lib/filter/gr_iir_filter_ffd.cc
index 0c2d386303..a41a4f7dba 100644
--- a/gnuradio-core/src/lib/filter/gr_iir_filter_ffd.cc
+++ b/gnuradio-core/src/lib/filter/gr_iir_filter_ffd.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -33,7 +33,7 @@ gr_iir_filter_ffd_sptr
gr_make_iir_filter_ffd (const std::vector<double> &fftaps,
const std::vector<double> &fbtaps) throw (std::invalid_argument)
{
- return gr_iir_filter_ffd_sptr (new gr_iir_filter_ffd (fftaps, fbtaps));
+ return gnuradio::get_initial_sptr(new gr_iir_filter_ffd (fftaps, fbtaps));
}
gr_iir_filter_ffd::gr_iir_filter_ffd (const std::vector<double> &fftaps,
diff --git a/gnuradio-core/src/lib/filter/gr_interp_fir_filter_XXX.cc.t b/gnuradio-core/src/lib/filter/gr_interp_fir_filter_XXX.cc.t
index 274aee7278..b90450c659 100644
--- a/gnuradio-core/src/lib/filter/gr_interp_fir_filter_XXX.cc.t
+++ b/gnuradio-core/src/lib/filter/gr_interp_fir_filter_XXX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -38,7 +38,7 @@
@SPTR_NAME@ gr_make_@BASE_NAME@ (unsigned interpolation, const std::vector<@TAP_TYPE@> &taps)
{
- return @SPTR_NAME@ (new @NAME@ (interpolation, taps));
+ return gnuradio::get_initial_sptr (new @NAME@ (interpolation, taps));
}
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc
index 5a6e753ab4..3996320036 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc
+++ b/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc
@@ -34,8 +34,8 @@ gr_pfb_arb_resampler_ccf_sptr gr_make_pfb_arb_resampler_ccf (float rate,
const std::vector<float> &taps,
unsigned int filter_size)
{
- return gr_pfb_arb_resampler_ccf_sptr (new gr_pfb_arb_resampler_ccf (rate, taps,
- filter_size));
+ return gnuradio::get_initial_sptr(new gr_pfb_arb_resampler_ccf (rate, taps,
+ filter_size));
}
@@ -81,6 +81,8 @@ gr_pfb_arb_resampler_ccf::gr_pfb_arb_resampler_ccf (float rate,
create_diff_taps(taps, dtaps);
create_taps(taps, d_taps, d_filters);
create_taps(dtaps, d_dtaps, d_diff_filters);
+
+ set_relative_rate(rate);
}
gr_pfb_arb_resampler_ccf::~gr_pfb_arb_resampler_ccf ()
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc
index 5fda47880f..cb67b81040 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc
+++ b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc
@@ -36,7 +36,7 @@ gr_pfb_channelizer_ccf_sptr gr_make_pfb_channelizer_ccf (unsigned int numchans,
const std::vector<float> &taps,
float oversample_rate)
{
- return gr_pfb_channelizer_ccf_sptr (new gr_pfb_channelizer_ccf (numchans, taps,
+ return gnuradio::get_initial_sptr(new gr_pfb_channelizer_ccf (numchans, taps,
oversample_rate));
}
@@ -60,6 +60,8 @@ gr_pfb_channelizer_ccf::gr_pfb_channelizer_ccf (unsigned int numchans,
if(fltp != 0.0)
throw std::invalid_argument("gr_pfb_channelizer: oversample rate must be N/i for i in [1, N]");
+ set_relative_rate(1.0/intp);
+
d_filters = std::vector<gr_fir_ccf*>(d_numchans);
// Create an FIR filter for each channel and zero out the taps
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.cc
index ff4fb70a36..937899c0d0 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.cc
+++ b/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.cc
@@ -39,7 +39,7 @@ gr_pfb_clock_sync_ccf_sptr gr_make_pfb_clock_sync_ccf (double sps, float gain,
float init_phase,
float max_rate_deviation)
{
- return gr_pfb_clock_sync_ccf_sptr (new gr_pfb_clock_sync_ccf (sps, gain, taps,
+ return gnuradio::get_initial_sptr(new gr_pfb_clock_sync_ccf (sps, gain, taps,
filter_size,
init_phase,
max_rate_deviation));
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_fff.cc b/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_fff.cc
index 86de3b5a1c..5d7f7a0d0f 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_fff.cc
+++ b/gnuradio-core/src/lib/filter/gr_pfb_clock_sync_fff.cc
@@ -39,7 +39,7 @@ gr_pfb_clock_sync_fff_sptr gr_make_pfb_clock_sync_fff (double sps, float gain,
float init_phase,
float max_rate_deviation)
{
- return gr_pfb_clock_sync_fff_sptr (new gr_pfb_clock_sync_fff (sps, gain, taps,
+ return gnuradio::get_initial_sptr(new gr_pfb_clock_sync_fff (sps, gain, taps,
filter_size,
init_phase,
max_rate_deviation));
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_decimator_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_decimator_ccf.cc
index e05e18ff2e..28c6a611a8 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_decimator_ccf.cc
+++ b/gnuradio-core/src/lib/filter/gr_pfb_decimator_ccf.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2009 Free Software Foundation, Inc.
+ * Copyright 2009,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -36,7 +36,7 @@ gr_pfb_decimator_ccf_sptr gr_make_pfb_decimator_ccf (unsigned int decim,
const std::vector<float> &taps,
unsigned int channel)
{
- return gr_pfb_decimator_ccf_sptr (new gr_pfb_decimator_ccf (decim, taps, channel));
+ return gnuradio::get_initial_sptr(new gr_pfb_decimator_ccf (decim, taps, channel));
}
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_interpolator_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_interpolator_ccf.cc
index 6a9598f344..8a0ad1c4c6 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_interpolator_ccf.cc
+++ b/gnuradio-core/src/lib/filter/gr_pfb_interpolator_ccf.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2009 Free Software Foundation, Inc.
+ * Copyright 2009,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -33,7 +33,7 @@
gr_pfb_interpolator_ccf_sptr gr_make_pfb_interpolator_ccf (unsigned int interp,
const std::vector<float> &taps)
{
- return gr_pfb_interpolator_ccf_sptr (new gr_pfb_interpolator_ccf (interp, taps));
+ return gnuradio::get_initial_sptr(new gr_pfb_interpolator_ccf (interp, taps));
}
diff --git a/gnuradio-core/src/lib/filter/gr_rational_resampler_base_XXX.cc.t b/gnuradio-core/src/lib/filter/gr_rational_resampler_base_XXX.cc.t
index 69276f58ee..3e9a34cdc1 100644
--- a/gnuradio-core/src/lib/filter/gr_rational_resampler_base_XXX.cc.t
+++ b/gnuradio-core/src/lib/filter/gr_rational_resampler_base_XXX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -42,7 +42,7 @@ gr_make_@BASE_NAME@ (unsigned interpolation,
unsigned decimation,
const std::vector<@TAP_TYPE@> &taps)
{
- return @SPTR_NAME@ (new @NAME@ (interpolation, decimation, taps));
+ return gnuradio::get_initial_sptr (new @NAME@ (interpolation, decimation, taps));
}
@NAME@::@NAME@ (unsigned interpolation, unsigned decimation,
diff --git a/gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_cc.cc b/gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_cc.cc
index e4269798be..8f8efb7e6b 100644
--- a/gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_cc.cc
+++ b/gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
gr_single_pole_iir_filter_cc_sptr
gr_make_single_pole_iir_filter_cc (double alpha, unsigned int vlen)
{
- return gr_single_pole_iir_filter_cc_sptr(new gr_single_pole_iir_filter_cc(alpha, vlen));
+ return gnuradio::get_initial_sptr(new gr_single_pole_iir_filter_cc(alpha, vlen));
}
gr_single_pole_iir_filter_cc::gr_single_pole_iir_filter_cc (
diff --git a/gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_ff.cc b/gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_ff.cc
index a71861ba8f..3282f1fc37 100644
--- a/gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_ff.cc
+++ b/gnuradio-core/src/lib/filter/gr_single_pole_iir_filter_ff.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
gr_single_pole_iir_filter_ff_sptr
gr_make_single_pole_iir_filter_ff (double alpha, unsigned int vlen)
{
- return gr_single_pole_iir_filter_ff_sptr(new gr_single_pole_iir_filter_ff(alpha, vlen));
+ return gnuradio::get_initial_sptr(new gr_single_pole_iir_filter_ff(alpha, vlen));
}
gr_single_pole_iir_filter_ff::gr_single_pole_iir_filter_ff (
diff --git a/gnuradio-core/src/lib/general/Makefile.am b/gnuradio-core/src/lib/general/Makefile.am
index b5f5c346be..3d8a42805c 100644
--- a/gnuradio-core/src/lib/general/Makefile.am
+++ b/gnuradio-core/src/lib/general/Makefile.am
@@ -60,7 +60,6 @@ libgeneral_la_SOURCES = \
gr_cpfsk_bc.cc \
gr_crc32.cc \
gr_ctcss_squelch_ff.cc \
- gr_dd_mpsk_sync_cc.cc \
gr_decode_ccsds_27_fb.cc \
gr_deinterleave.cc \
gr_delay.cc \
@@ -215,7 +214,6 @@ grinclude_HEADERS = \
gr_cpfsk_bc.h \
gr_crc32.h \
gr_ctcss_squelch_ff.h \
- gr_dd_mpsk_sync_cc.h \
gr_decode_ccsds_27_fb.h \
gr_diff_decoder_bb.h \
gr_diff_encoder_bb.h \
@@ -386,7 +384,6 @@ swiginclude_HEADERS = \
gr_cpfsk_bc.i \
gr_crc32.i \
gr_ctcss_squelch_ff.i \
- gr_dd_mpsk_sync_cc.i \
gr_decode_ccsds_27_fb.i \
gr_diff_decoder_bb.i \
gr_diff_encoder_bb.i \
diff --git a/gnuradio-core/src/lib/general/general.i b/gnuradio-core/src/lib/general/general.i
index 6929f1e6e8..68cafce2e6 100644
--- a/gnuradio-core/src/lib/general/general.i
+++ b/gnuradio-core/src/lib/general/general.i
@@ -80,7 +80,6 @@
#include <gr_threshold_ff.h>
#include <gr_clock_recovery_mm_ff.h>
#include <gr_clock_recovery_mm_cc.h>
-#include <gr_dd_mpsk_sync_cc.h>
#include <gr_packet_sink.h>
#include <gr_lms_dfe_cc.h>
#include <gr_lms_dfe_ff.h>
@@ -202,7 +201,6 @@
%include "gr_threshold_ff.i"
%include "gr_clock_recovery_mm_ff.i"
%include "gr_clock_recovery_mm_cc.i"
-%include "gr_dd_mpsk_sync_cc.i"
%include "gr_packet_sink.i"
%include "gr_lms_dfe_cc.i"
%include "gr_lms_dfe_ff.i"
diff --git a/gnuradio-core/src/lib/general/gr_additive_scrambler_bb.cc b/gnuradio-core/src/lib/general/gr_additive_scrambler_bb.cc
index 91e02c2d3e..f390df6d5d 100644
--- a/gnuradio-core/src/lib/general/gr_additive_scrambler_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_additive_scrambler_bb.cc
@@ -30,7 +30,7 @@
gr_additive_scrambler_bb_sptr
gr_make_additive_scrambler_bb(int mask, int seed, int len, int count)
{
- return gr_additive_scrambler_bb_sptr(new gr_additive_scrambler_bb(mask, seed, len, count));
+ return gnuradio::get_initial_sptr(new gr_additive_scrambler_bb(mask, seed, len, count));
}
gr_additive_scrambler_bb::gr_additive_scrambler_bb(int mask, int seed, int len, int count)
diff --git a/gnuradio-core/src/lib/general/gr_agc2_cc.cc b/gnuradio-core/src/lib/general/gr_agc2_cc.cc
index 175ca4ab23..687f6c8571 100644
--- a/gnuradio-core/src/lib/general/gr_agc2_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_agc2_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@ gr_agc2_cc_sptr
gr_make_agc2_cc (float attack_rate, float decay_rate, float reference,
float gain, float max_gain)
{
- return gr_agc2_cc_sptr (new gr_agc2_cc (attack_rate, decay_rate, reference, gain, max_gain));
+ return gnuradio::get_initial_sptr(new gr_agc2_cc (attack_rate, decay_rate, reference, gain, max_gain));
}
gr_agc2_cc::gr_agc2_cc (float attack_rate, float decay_rate, float reference,
diff --git a/gnuradio-core/src/lib/general/gr_agc2_ff.cc b/gnuradio-core/src/lib/general/gr_agc2_ff.cc
index a9f7fffab8..667e9d05d5 100644
--- a/gnuradio-core/src/lib/general/gr_agc2_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_agc2_ff.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005,2006 Free Software Foundation, Inc.
+ * Copyright 2005,2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@ gr_agc2_ff_sptr
gr_make_agc2_ff (float attack_rate, float decay_rate, float reference,
float gain, float max_gain)
{
- return gr_agc2_ff_sptr (new gr_agc2_ff (attack_rate, decay_rate, reference,
+ return gnuradio::get_initial_sptr(new gr_agc2_ff (attack_rate, decay_rate, reference,
gain, max_gain));
}
diff --git a/gnuradio-core/src/lib/general/gr_agc_cc.cc b/gnuradio-core/src/lib/general/gr_agc_cc.cc
index 3f48b55fee..92cec00883 100644
--- a/gnuradio-core/src/lib/general/gr_agc_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_agc_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@ gr_agc_cc_sptr
gr_make_agc_cc (float rate, float reference,
float gain, float max_gain)
{
- return gr_agc_cc_sptr (new gr_agc_cc (rate, reference, gain, max_gain));
+ return gnuradio::get_initial_sptr(new gr_agc_cc (rate, reference, gain, max_gain));
}
gr_agc_cc::gr_agc_cc (float rate, float reference,
diff --git a/gnuradio-core/src/lib/general/gr_agc_ff.cc b/gnuradio-core/src/lib/general/gr_agc_ff.cc
index 9e74fed850..45c86d898c 100644
--- a/gnuradio-core/src/lib/general/gr_agc_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_agc_ff.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005,2006 Free Software Foundation, Inc.
+ * Copyright 2005,2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_agc_ff_sptr
gr_make_agc_ff (float rate, float reference, float gain, float max_gain)
{
- return gr_agc_ff_sptr (new gr_agc_ff (rate, reference, gain, max_gain));
+ return gnuradio::get_initial_sptr(new gr_agc_ff (rate, reference, gain, max_gain));
}
gr_agc_ff::gr_agc_ff (float rate, float reference, float gain, float max_gain)
diff --git a/gnuradio-core/src/lib/general/gr_align_on_samplenumbers_ss.cc b/gnuradio-core/src/lib/general/gr_align_on_samplenumbers_ss.cc
index 241a33f5df..e11793fdd3 100644
--- a/gnuradio-core/src/lib/general/gr_align_on_samplenumbers_ss.cc
+++ b/gnuradio-core/src/lib/general/gr_align_on_samplenumbers_ss.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -48,7 +48,7 @@
gr_align_on_samplenumbers_ss_sptr
gr_make_align_on_samplenumbers_ss (int nchan, int align_interval)
{
- return gr_align_on_samplenumbers_ss_sptr (new gr_align_on_samplenumbers_ss (nchan,align_interval));
+ return gnuradio::get_initial_sptr(new gr_align_on_samplenumbers_ss (nchan,align_interval));
}
gr_align_on_samplenumbers_ss::gr_align_on_samplenumbers_ss (int nchan,int align_interval)
diff --git a/gnuradio-core/src/lib/general/gr_bin_statistics_f.cc b/gnuradio-core/src/lib/general/gr_bin_statistics_f.cc
index 61abd72b86..435a660cd0 100644
--- a/gnuradio-core/src/lib/general/gr_bin_statistics_f.cc
+++ b/gnuradio-core/src/lib/general/gr_bin_statistics_f.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -35,7 +35,7 @@ gr_make_bin_statistics_f(unsigned int vlen,
size_t tune_delay,
size_t dwell_delay)
{
- return gr_bin_statistics_f_sptr(new gr_bin_statistics_f(vlen,
+ return gnuradio::get_initial_sptr(new gr_bin_statistics_f(vlen,
msgq,
tune,
tune_delay,
diff --git a/gnuradio-core/src/lib/general/gr_binary_slicer_fb.cc b/gnuradio-core/src/lib/general/gr_binary_slicer_fb.cc
index 69e85f0bc5..ae8903abbd 100644
--- a/gnuradio-core/src/lib/general/gr_binary_slicer_fb.cc
+++ b/gnuradio-core/src/lib/general/gr_binary_slicer_fb.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_binary_slicer_fb_sptr
gr_make_binary_slicer_fb ()
{
- return gr_binary_slicer_fb_sptr (new gr_binary_slicer_fb ());
+ return gnuradio::get_initial_sptr(new gr_binary_slicer_fb ());
}
gr_binary_slicer_fb::gr_binary_slicer_fb ()
diff --git a/gnuradio-core/src/lib/general/gr_bytes_to_syms.cc b/gnuradio-core/src/lib/general/gr_bytes_to_syms.cc
index 2babe492f6..4604443793 100644
--- a/gnuradio-core/src/lib/general/gr_bytes_to_syms.cc
+++ b/gnuradio-core/src/lib/general/gr_bytes_to_syms.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -33,7 +33,7 @@ static const int BITS_PER_BYTE = 8;
gr_bytes_to_syms_sptr
gr_make_bytes_to_syms ()
{
- return gr_bytes_to_syms_sptr (new gr_bytes_to_syms ());
+ return gnuradio::get_initial_sptr(new gr_bytes_to_syms ());
}
gr_bytes_to_syms::gr_bytes_to_syms ()
diff --git a/gnuradio-core/src/lib/general/gr_char_to_float.cc b/gnuradio-core/src/lib/general/gr_char_to_float.cc
index 2d3854873a..e68f8d2085 100644
--- a/gnuradio-core/src/lib/general/gr_char_to_float.cc
+++ b/gnuradio-core/src/lib/general/gr_char_to_float.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_char_to_float_sptr
gr_make_char_to_float ()
{
- return gr_char_to_float_sptr (new gr_char_to_float ());
+ return gnuradio::get_initial_sptr(new gr_char_to_float ());
}
gr_char_to_float::gr_char_to_float ()
diff --git a/gnuradio-core/src/lib/general/gr_check_counting_s.cc b/gnuradio-core/src/lib/general/gr_check_counting_s.cc
index 15c7b98e19..bce3088145 100644
--- a/gnuradio-core/src/lib/general/gr_check_counting_s.cc
+++ b/gnuradio-core/src/lib/general/gr_check_counting_s.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
gr_check_counting_s_sptr
gr_make_check_counting_s (bool do_32bit)
{
- return gr_check_counting_s_sptr (new gr_check_counting_s (do_32bit));
+ return gnuradio::get_initial_sptr(new gr_check_counting_s (do_32bit));
}
gr_check_counting_s::gr_check_counting_s (bool do_32bit)
diff --git a/gnuradio-core/src/lib/general/gr_check_lfsr_32k_s.cc b/gnuradio-core/src/lib/general/gr_check_lfsr_32k_s.cc
index c5f7bfc47e..95c6c7da5f 100644
--- a/gnuradio-core/src/lib/general/gr_check_lfsr_32k_s.cc
+++ b/gnuradio-core/src/lib/general/gr_check_lfsr_32k_s.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
gr_check_lfsr_32k_s_sptr
gr_make_check_lfsr_32k_s ()
{
- return gr_check_lfsr_32k_s_sptr (new gr_check_lfsr_32k_s ());
+ return gnuradio::get_initial_sptr(new gr_check_lfsr_32k_s ());
}
gr_check_lfsr_32k_s::gr_check_lfsr_32k_s ()
diff --git a/gnuradio-core/src/lib/general/gr_clock_recovery_mm_cc.cc b/gnuradio-core/src/lib/general/gr_clock_recovery_mm_cc.cc
index 60e3dd13d5..23bbf821fe 100644
--- a/gnuradio-core/src/lib/general/gr_clock_recovery_mm_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_clock_recovery_mm_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005,2006 Free Software Foundation, Inc.
+ * Copyright 2005,2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -39,7 +39,7 @@ gr_clock_recovery_mm_cc_sptr
gr_make_clock_recovery_mm_cc(float omega, float gain_omega, float mu, float gain_mu,
float omega_relative_limit)
{
- return gr_clock_recovery_mm_cc_sptr (new gr_clock_recovery_mm_cc (omega,
+ return gnuradio::get_initial_sptr(new gr_clock_recovery_mm_cc (omega,
gain_omega,
mu,
gain_mu,
diff --git a/gnuradio-core/src/lib/general/gr_clock_recovery_mm_ff.cc b/gnuradio-core/src/lib/general/gr_clock_recovery_mm_ff.cc
index 2e9eea8e66..bb5a27071d 100644
--- a/gnuradio-core/src/lib/general/gr_clock_recovery_mm_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_clock_recovery_mm_ff.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -37,7 +37,7 @@ gr_clock_recovery_mm_ff_sptr
gr_make_clock_recovery_mm_ff(float omega, float gain_omega, float mu, float gain_mu,
float omega_relative_limit)
{
- return gr_clock_recovery_mm_ff_sptr (new gr_clock_recovery_mm_ff (omega,
+ return gnuradio::get_initial_sptr(new gr_clock_recovery_mm_ff (omega,
gain_omega,
mu,
gain_mu,
diff --git a/gnuradio-core/src/lib/general/gr_complex_to_interleaved_short.cc b/gnuradio-core/src/lib/general/gr_complex_to_interleaved_short.cc
index fcecf0c8b3..d198da0b03 100644
--- a/gnuradio-core/src/lib/general/gr_complex_to_interleaved_short.cc
+++ b/gnuradio-core/src/lib/general/gr_complex_to_interleaved_short.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2005 Free Software Foundation, Inc.
+ * Copyright 2004,2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_complex_to_interleaved_short_sptr
gr_make_complex_to_interleaved_short ()
{
- return gr_complex_to_interleaved_short_sptr (new gr_complex_to_interleaved_short ());
+ return gnuradio::get_initial_sptr(new gr_complex_to_interleaved_short ());
}
gr_complex_to_interleaved_short::gr_complex_to_interleaved_short ()
diff --git a/gnuradio-core/src/lib/general/gr_complex_to_xxx.cc b/gnuradio-core/src/lib/general/gr_complex_to_xxx.cc
index abffa4da13..a59c127f38 100644
--- a/gnuradio-core/src/lib/general/gr_complex_to_xxx.cc
+++ b/gnuradio-core/src/lib/general/gr_complex_to_xxx.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -33,7 +33,7 @@
gr_complex_to_float_sptr
gr_make_complex_to_float (unsigned int vlen)
{
- return gr_complex_to_float_sptr (new gr_complex_to_float (vlen));
+ return gnuradio::get_initial_sptr(new gr_complex_to_float (vlen));
}
gr_complex_to_float::gr_complex_to_float (unsigned int vlen)
@@ -81,7 +81,7 @@ gr_complex_to_float::work (int noutput_items,
gr_complex_to_real_sptr
gr_make_complex_to_real (unsigned int vlen)
{
- return gr_complex_to_real_sptr (new gr_complex_to_real (vlen));
+ return gnuradio::get_initial_sptr(new gr_complex_to_real (vlen));
}
gr_complex_to_real::gr_complex_to_real (unsigned int vlen)
@@ -112,7 +112,7 @@ gr_complex_to_real::work (int noutput_items,
gr_complex_to_imag_sptr
gr_make_complex_to_imag (unsigned int vlen)
{
- return gr_complex_to_imag_sptr (new gr_complex_to_imag (vlen));
+ return gnuradio::get_initial_sptr(new gr_complex_to_imag (vlen));
}
gr_complex_to_imag::gr_complex_to_imag (unsigned int vlen)
@@ -143,7 +143,7 @@ gr_complex_to_imag::work (int noutput_items,
gr_complex_to_mag_sptr
gr_make_complex_to_mag (unsigned int vlen)
{
- return gr_complex_to_mag_sptr (new gr_complex_to_mag (vlen));
+ return gnuradio::get_initial_sptr(new gr_complex_to_mag (vlen));
}
gr_complex_to_mag::gr_complex_to_mag (unsigned int vlen)
@@ -174,7 +174,7 @@ gr_complex_to_mag::work (int noutput_items,
gr_complex_to_mag_squared_sptr
gr_make_complex_to_mag_squared (unsigned int vlen)
{
- return gr_complex_to_mag_squared_sptr (new gr_complex_to_mag_squared (vlen));
+ return gnuradio::get_initial_sptr(new gr_complex_to_mag_squared (vlen));
}
gr_complex_to_mag_squared::gr_complex_to_mag_squared (unsigned int vlen)
@@ -207,7 +207,7 @@ gr_complex_to_mag_squared::work (int noutput_items,
gr_complex_to_arg_sptr
gr_make_complex_to_arg (unsigned int vlen)
{
- return gr_complex_to_arg_sptr (new gr_complex_to_arg (vlen));
+ return gnuradio::get_initial_sptr(new gr_complex_to_arg (vlen));
}
gr_complex_to_arg::gr_complex_to_arg (unsigned int vlen)
diff --git a/gnuradio-core/src/lib/general/gr_conjugate_cc.cc b/gnuradio-core/src/lib/general/gr_conjugate_cc.cc
index f25ce1a577..59c3bae897 100644
--- a/gnuradio-core/src/lib/general/gr_conjugate_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_conjugate_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
gr_conjugate_cc_sptr
gr_make_conjugate_cc ()
{
- return gr_conjugate_cc_sptr (new gr_conjugate_cc ());
+ return gnuradio::get_initial_sptr(new gr_conjugate_cc ());
}
gr_conjugate_cc::gr_conjugate_cc ()
diff --git a/gnuradio-core/src/lib/general/gr_correlate_access_code_bb.cc b/gnuradio-core/src/lib/general/gr_correlate_access_code_bb.cc
index 43dae6c1a2..15f6734111 100644
--- a/gnuradio-core/src/lib/general/gr_correlate_access_code_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_correlate_access_code_bb.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -37,7 +37,7 @@
gr_correlate_access_code_bb_sptr
gr_make_correlate_access_code_bb (const std::string &access_code, int threshold)
{
- return gr_correlate_access_code_bb_sptr (new gr_correlate_access_code_bb (access_code, threshold));
+ return gnuradio::get_initial_sptr(new gr_correlate_access_code_bb (access_code, threshold));
}
diff --git a/gnuradio-core/src/lib/general/gr_costas_loop_cc.cc b/gnuradio-core/src/lib/general/gr_costas_loop_cc.cc
index 4e0f7e0673..f3bfd09518 100644
--- a/gnuradio-core/src/lib/general/gr_costas_loop_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_costas_loop_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -38,7 +38,7 @@ gr_make_costas_loop_cc (float alpha, float beta,
int order
) throw (std::invalid_argument)
{
- return gr_costas_loop_cc_sptr (new gr_costas_loop_cc (alpha, beta,
+ return gnuradio::get_initial_sptr(new gr_costas_loop_cc (alpha, beta,
max_freq, min_freq,
order));
}
diff --git a/gnuradio-core/src/lib/general/gr_cpfsk_bc.cc b/gnuradio-core/src/lib/general/gr_cpfsk_bc.cc
index 95d7c1753d..f0b04ef974 100644
--- a/gnuradio-core/src/lib/general/gr_cpfsk_bc.cc
+++ b/gnuradio-core/src/lib/general/gr_cpfsk_bc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
*
* 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
@@ -31,7 +31,7 @@
gr_cpfsk_bc_sptr
gr_make_cpfsk_bc(float k, float ampl, int samples_per_sym)
{
- return gr_cpfsk_bc_sptr(new gr_cpfsk_bc(k, ampl, samples_per_sym));
+ return gnuradio::get_initial_sptr(new gr_cpfsk_bc(k, ampl, samples_per_sym));
}
gr_cpfsk_bc::gr_cpfsk_bc(float k, float ampl, int samples_per_sym)
diff --git a/gnuradio-core/src/lib/general/gr_ctcss_squelch_ff.cc b/gnuradio-core/src/lib/general/gr_ctcss_squelch_ff.cc
index 59034ddc19..6c1e98d474 100644
--- a/gnuradio-core/src/lib/general/gr_ctcss_squelch_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_ctcss_squelch_ff.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -38,7 +38,7 @@ static int max_tone_index = 37;
gr_ctcss_squelch_ff_sptr
gr_make_ctcss_squelch_ff(int rate, float freq, float level, int len, int ramp, bool gate)
{
- return gr_ctcss_squelch_ff_sptr(new gr_ctcss_squelch_ff(rate, freq, level, len, ramp, gate));
+ return gnuradio::get_initial_sptr(new gr_ctcss_squelch_ff(rate, freq, level, len, ramp, gate));
}
int gr_ctcss_squelch_ff::find_tone(float freq)
diff --git a/gnuradio-core/src/lib/general/gr_dd_mpsk_sync_cc.cc b/gnuradio-core/src/lib/general/gr_dd_mpsk_sync_cc.cc
deleted file mode 100644
index d4141efc7d..0000000000
--- a/gnuradio-core/src/lib/general/gr_dd_mpsk_sync_cc.cc
+++ /dev/null
@@ -1,196 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2004 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.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <gr_dd_mpsk_sync_cc.h>
-#include <gr_io_signature.h>
-#include <gr_sincos.h>
-#include <gri_mmse_fir_interpolator_cc.h>
-#include <math.h>
-#include <stdexcept>
-#include <cstdio>
-
-#include <gr_complex.h>
-
-#define M_TWOPI (2*M_PI)
-
-gr_dd_mpsk_sync_cc_sptr
-gr_make_dd_mpsk_sync_cc (float alpha, float beta, float max_freq, float min_freq, float ref_phase,
- float omega, float gain_omega, float mu, float gain_mu)
-{
- return gr_dd_mpsk_sync_cc_sptr (new gr_dd_mpsk_sync_cc (alpha, beta, max_freq, min_freq,ref_phase,
- omega,gain_omega,mu,gain_mu));
-}
-
-gr_dd_mpsk_sync_cc::gr_dd_mpsk_sync_cc (float alpha, float beta, float max_freq, float min_freq,
- float ref_phase,
- float omega, float gain_omega, float mu, float gain_mu)
- : gr_block ("dd_mpsk_sync_cc",
- gr_make_io_signature (1, 1, sizeof (gr_complex)),
- gr_make_io_signature (1, 1, sizeof (gr_complex))),
- d_alpha(alpha), d_beta(beta),
- d_max_freq(max_freq), d_min_freq(min_freq),
- d_ref_phase(ref_phase),d_omega(omega), d_gain_omega(gain_omega),
- d_mu(mu), d_gain_mu(gain_mu),
- d_phase(0), d_freq((max_freq+min_freq)/2), d_last_sample(0),
- d_interp(new gri_mmse_fir_interpolator_cc()),
- d_dl_idx(0)
-{
- if (omega <= 0.0)
- throw std::out_of_range ("clock rate must be > 0");
- if (gain_mu < 0 || gain_omega < 0)
- throw std::out_of_range ("Gains must be non-negative");
-
- assert(d_interp->ntaps() <= DLLEN);
-
- // zero double length delay line.
- for (unsigned int i = 0; i < 2 * DLLEN; i++)
- d_dl[i] = gr_complex(0.0,0.0);
-}
-
-gr_dd_mpsk_sync_cc::~gr_dd_mpsk_sync_cc()
-{
- delete d_interp;
-}
-
-float
-gr_dd_mpsk_sync_cc::phase_detector(gr_complex sample,float ref_phase)
-{
- return ((sample.real()>0 ? 1.0 : -1.0) * sample.imag() -
- (sample.imag()>0 ? 1.0 : -1.0) * sample.real());
-}
-
-void
-gr_dd_mpsk_sync_cc::forecast(int noutput_items, gr_vector_int &ninput_items_required)
-{
- unsigned ninputs = ninput_items_required.size();
- for (unsigned i=0; i < ninputs; i++)
- ninput_items_required[i] =
- (int) ceil((noutput_items * d_omega) + d_interp->ntaps());
-}
-gr_complex
-gr_dd_mpsk_sync_cc::slicer_45deg (gr_complex sample)
-{
- float real,imag;
- if(sample.real() > 0)
- real=1;
- else
- real=-1;
- if(sample.imag() > 0)
- imag = 1;
- else
- imag = -1;
- return gr_complex(real,imag);
-}
-
-gr_complex
-gr_dd_mpsk_sync_cc::slicer_0deg (gr_complex sample)
-{
- gr_complex out;
- if( fabs(sample.real()) > fabs(sample.imag()) ) {
- if(sample.real() > 0)
- return gr_complex(1.0,0.0);
- else
- return gr_complex(-1.0,0.0);
- }
- else {
- if(sample.imag() > 0)
- return gr_complex(0.0, 1.0);
- else
- return gr_complex(0.0, -1.0);
- }
-}
-
-int
-gr_dd_mpsk_sync_cc::general_work (int noutput_items,
- gr_vector_int &ninput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items)
-{
- const gr_complex *in = (gr_complex *) input_items[0];
- gr_complex *out = (gr_complex *) output_items[0];
-
- int ii, oo;
- ii = 0; oo = 0;
-
- float error;
- float t_imag, t_real;
- gr_complex nco_out;
- float mm_val;
-
- while (oo < noutput_items) {
- //
- // generate an output sample by interpolating between the carrier
- // tracked samples in the delay line. d_mu, the fractional
- // interpolation amount (in [0.0, 1.0]) is controlled by the
- // symbol timing loop below.
- //
- out[oo] = d_interp->interpolate (&d_dl[d_dl_idx], d_mu);
-
- error = phase_detector(out[oo], d_ref_phase);
-
- d_freq = d_freq + d_beta * error;
- d_phase = d_phase + d_alpha * error;
- while(d_phase>M_TWOPI)
- d_phase -= M_TWOPI;
- while(d_phase<-M_TWOPI)
- d_phase += M_TWOPI;
-
- if (d_freq > d_max_freq)
- d_freq = d_max_freq;
- else if (d_freq < d_min_freq)
- d_freq = d_min_freq;
-
- mm_val = real(d_last_sample * slicer_0deg(out[oo]) - out[oo] * slicer_0deg(d_last_sample));
- d_last_sample = out[oo];
-
- d_omega = d_omega + d_gain_omega * mm_val;
- d_mu = d_mu + d_omega + d_gain_mu * mm_val;
-
- while(d_mu >= 1.0) {
- //
- // Generate more carrier tracked samples for the delay line
- //
- d_mu -= 1.0;
- gr_sincosf(d_phase, &t_imag, &t_real);
- nco_out = gr_complex(t_real, -t_imag);
- gr_complex new_sample = in[ii] * nco_out;
-
- d_dl[d_dl_idx] = new_sample; // overwrite oldest sample
- d_dl[(d_dl_idx + DLLEN)] = new_sample; // and second copy
- d_dl_idx = (d_dl_idx+1) % DLLEN; // point to the new oldest sample
- d_phase = d_phase + d_freq;
- ii++;
- }
- oo++;
- printf("%f\t%f\t%f\t%f\t%f\n",d_mu,d_omega,mm_val,d_freq,d_phase);
- //printf("%f\t%f\t%f\t%f\t%f\t%f\t%f\n",mple).real(),slicer_0deg(d_last_sample).imag(),mm_val,d_omega,d_mu);
- }
-
- assert(ii <= ninput_items[0]);
-
- consume_each (ii);
- return noutput_items;
-}
diff --git a/gnuradio-core/src/lib/general/gr_dd_mpsk_sync_cc.h b/gnuradio-core/src/lib/general/gr_dd_mpsk_sync_cc.h
deleted file mode 100644
index 4ffcd3771b..0000000000
--- a/gnuradio-core/src/lib/general/gr_dd_mpsk_sync_cc.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2004,2006 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_GR_DD_MPSK_SYNC_CC_H
-#define INCLUDED_GR_DD_MPSK_SYNC_CC_H
-
-#include <gr_sync_block.h>
-
-class gri_mmse_fir_interpolator_cc;
-
-class gr_dd_mpsk_sync_cc;
-typedef boost::shared_ptr<gr_dd_mpsk_sync_cc> gr_dd_mpsk_sync_cc_sptr;
-
-gr_dd_mpsk_sync_cc_sptr
-gr_make_dd_mpsk_sync_cc (float alpha, float beta,
- float max_freq, float min_freq, float ref_phase,
- float omega, float gain_omega, float mu, float gain_mu);
-
-/*!
- * \brief Decision directed M-PSK synchronous demod
- * \ingroup sync_blk
- * This block performs joint carrier tracking and symbol timing recovery.
- *
- * input: complex baseband; output: properly timed complex samples ready for slicing.
- *
- * N.B, at this point, it handles only QPSK.
- */
-
-class gr_dd_mpsk_sync_cc : public gr_block
-{
- friend gr_dd_mpsk_sync_cc_sptr gr_make_dd_mpsk_sync_cc (float alpha, float beta,
- float max_freq, float min_freq, float ref_phase,
- float omega, float gain_omega, float mu, float gain_mu);
-public:
- ~gr_dd_mpsk_sync_cc ();
- void forecast(int noutput_items, gr_vector_int &ninput_items_required);
- float mu() const { return d_mu;}
- float omega() const { return d_omega;}
- float gain_mu() const { return d_gain_mu;}
- float gain_omega() const { return d_gain_omega;}
-
- void set_gain_mu (float gain_mu) { d_gain_mu = gain_mu; }
- void set_gain_omega (float gain_omega) { d_gain_omega = gain_omega; }
- void set_mu (float mu) { d_mu = mu; }
- void set_omega (float omega) { d_omega = omega; }
-
-protected:
- gr_dd_mpsk_sync_cc (float alpha, float beta, float max_freq, float min_freq, float ref_phase,
- float omega, float gain_omega, float mu, float gain_mu);
-
- int general_work (int noutput_items,
- gr_vector_int &ninput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
-private:
- static const unsigned int DLLEN = 8; // delay line length.
-
- float d_alpha,d_beta,d_max_freq,d_min_freq,d_ref_phase;
- float d_omega, d_gain_omega, d_mu, d_gain_mu;
- float d_phase, d_freq;
- gr_complex slicer_45deg (gr_complex sample);
- gr_complex slicer_0deg (gr_complex sample);
- gr_complex d_last_sample;
- gri_mmse_fir_interpolator_cc *d_interp;
-
- gr_complex d_dl[2 * DLLEN]; // Holds post carrier tracking samples.
- // double length delay line to avoid wraps.
- unsigned int d_dl_idx; // indexes oldest sample in delay line.
-
- float phase_detector(gr_complex sample,float ref_phase);
-};
-
-#endif
diff --git a/gnuradio-core/src/lib/general/gr_dd_mpsk_sync_cc.i b/gnuradio-core/src/lib/general/gr_dd_mpsk_sync_cc.i
deleted file mode 100644
index 17739248e7..0000000000
--- a/gnuradio-core/src/lib/general/gr_dd_mpsk_sync_cc.i
+++ /dev/null
@@ -1,34 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2005 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.
- */
-
-GR_SWIG_BLOCK_MAGIC(gr,dd_mpsk_sync_cc)
-
- gr_dd_mpsk_sync_cc_sptr gr_make_dd_mpsk_sync_cc (float alpha, float beta,
- float max_freq, float min_freq, float ref_phase,
- float omega, float gain_omega, float mu, float gain_mu);
-
-class gr_dd_mpsk_sync_cc : public gr_block
-{
- private:
- gr_dd_mpsk_sync_cc (float alpha, float beta, float max_freq, float min_freq, float ref_phase,
- float omega, float gain_omega, float mu, float gain_mu);
-};
diff --git a/gnuradio-core/src/lib/general/gr_decode_ccsds_27_fb.cc b/gnuradio-core/src/lib/general/gr_decode_ccsds_27_fb.cc
index add036f208..d5425bfc84 100644
--- a/gnuradio-core/src/lib/general/gr_decode_ccsds_27_fb.cc
+++ b/gnuradio-core/src/lib/general/gr_decode_ccsds_27_fb.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
*
* 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
@@ -28,7 +28,7 @@
gr_decode_ccsds_27_fb_sptr
gr_make_decode_ccsds_27_fb()
{
- return gr_decode_ccsds_27_fb_sptr(new gr_decode_ccsds_27_fb());
+ return gnuradio::get_initial_sptr(new gr_decode_ccsds_27_fb());
}
gr_decode_ccsds_27_fb::gr_decode_ccsds_27_fb()
diff --git a/gnuradio-core/src/lib/general/gr_deinterleave.cc b/gnuradio-core/src/lib/general/gr_deinterleave.cc
index 6530b9675c..8432753664 100644
--- a/gnuradio-core/src/lib/general/gr_deinterleave.cc
+++ b/gnuradio-core/src/lib/general/gr_deinterleave.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
gr_deinterleave_sptr
gr_make_deinterleave (size_t itemsize)
{
- return gr_deinterleave_sptr (new gr_deinterleave (itemsize));
+ return gnuradio::get_initial_sptr(new gr_deinterleave (itemsize));
}
gr_deinterleave::gr_deinterleave (size_t itemsize)
diff --git a/gnuradio-core/src/lib/general/gr_delay.cc b/gnuradio-core/src/lib/general/gr_delay.cc
index d52faca39a..b06346f595 100644
--- a/gnuradio-core/src/lib/general/gr_delay.cc
+++ b/gnuradio-core/src/lib/general/gr_delay.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_delay_sptr
gr_make_delay (size_t itemsize, int delay)
{
- return gr_delay_sptr (new gr_delay (itemsize, delay));
+ return gnuradio::get_initial_sptr(new gr_delay (itemsize, delay));
}
gr_delay::gr_delay (size_t itemsize, int delay)
diff --git a/gnuradio-core/src/lib/general/gr_descrambler_bb.cc b/gnuradio-core/src/lib/general/gr_descrambler_bb.cc
index e173a8a225..b712e69eda 100644
--- a/gnuradio-core/src/lib/general/gr_descrambler_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_descrambler_bb.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_descrambler_bb_sptr
gr_make_descrambler_bb(int mask, int seed, int len)
{
- return gr_descrambler_bb_sptr(new gr_descrambler_bb(mask, seed, len));
+ return gnuradio::get_initial_sptr(new gr_descrambler_bb(mask, seed, len));
}
gr_descrambler_bb::gr_descrambler_bb(int mask, int seed, int len)
diff --git a/gnuradio-core/src/lib/general/gr_diff_decoder_bb.cc b/gnuradio-core/src/lib/general/gr_diff_decoder_bb.cc
index 1802b3b770..1b0bcfb967 100644
--- a/gnuradio-core/src/lib/general/gr_diff_decoder_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_diff_decoder_bb.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_diff_decoder_bb_sptr
gr_make_diff_decoder_bb (unsigned int modulus)
{
- return gr_diff_decoder_bb_sptr (new gr_diff_decoder_bb(modulus));
+ return gnuradio::get_initial_sptr(new gr_diff_decoder_bb(modulus));
}
gr_diff_decoder_bb::gr_diff_decoder_bb (unsigned int modulus)
diff --git a/gnuradio-core/src/lib/general/gr_diff_encoder_bb.cc b/gnuradio-core/src/lib/general/gr_diff_encoder_bb.cc
index 3eb8e62cc4..7e67a718e0 100644
--- a/gnuradio-core/src/lib/general/gr_diff_encoder_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_diff_encoder_bb.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_diff_encoder_bb_sptr
gr_make_diff_encoder_bb (unsigned int modulus)
{
- return gr_diff_encoder_bb_sptr (new gr_diff_encoder_bb(modulus));
+ return gnuradio::get_initial_sptr(new gr_diff_encoder_bb(modulus));
}
gr_diff_encoder_bb::gr_diff_encoder_bb (unsigned int modulus)
diff --git a/gnuradio-core/src/lib/general/gr_diff_phasor_cc.cc b/gnuradio-core/src/lib/general/gr_diff_phasor_cc.cc
index 003297ff84..fb6a3a910e 100644
--- a/gnuradio-core/src/lib/general/gr_diff_phasor_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_diff_phasor_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_diff_phasor_cc_sptr
gr_make_diff_phasor_cc ()
{
- return gr_diff_phasor_cc_sptr (new gr_diff_phasor_cc());
+ return gnuradio::get_initial_sptr(new gr_diff_phasor_cc());
}
gr_diff_phasor_cc::gr_diff_phasor_cc ()
diff --git a/gnuradio-core/src/lib/general/gr_dpll_bb.cc b/gnuradio-core/src/lib/general/gr_dpll_bb.cc
index f24b2a88e3..fcaad21744 100644
--- a/gnuradio-core/src/lib/general/gr_dpll_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_dpll_bb.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007,2009 Free Software Foundation, Inc.
+ * Copyright 2007,2009,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_dpll_bb_sptr
gr_make_dpll_bb (float period, float gain)
{
- return gr_dpll_bb_sptr (new gr_dpll_bb (period, gain));
+ return gnuradio::get_initial_sptr(new gr_dpll_bb (period, gain));
}
gr_dpll_bb::gr_dpll_bb (float period, float gain)
diff --git a/gnuradio-core/src/lib/general/gr_encode_ccsds_27_bb.cc b/gnuradio-core/src/lib/general/gr_encode_ccsds_27_bb.cc
index 76b8091f71..092e91d8b1 100644
--- a/gnuradio-core/src/lib/general/gr_encode_ccsds_27_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_encode_ccsds_27_bb.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
*
* 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
@@ -32,7 +32,7 @@ extern "C" {
gr_encode_ccsds_27_bb_sptr
gr_make_encode_ccsds_27_bb()
{
- return gr_encode_ccsds_27_bb_sptr(new gr_encode_ccsds_27_bb());
+ return gnuradio::get_initial_sptr(new gr_encode_ccsds_27_bb());
}
gr_encode_ccsds_27_bb::gr_encode_ccsds_27_bb()
diff --git a/gnuradio-core/src/lib/general/gr_fake_channel_coder_pp.cc b/gnuradio-core/src/lib/general/gr_fake_channel_coder_pp.cc
index 02385c59e4..24945cfd8a 100644
--- a/gnuradio-core/src/lib/general/gr_fake_channel_coder_pp.cc
+++ b/gnuradio-core/src/lib/general/gr_fake_channel_coder_pp.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -35,7 +35,7 @@ static const int PAD_VAL = 0xAA;
gr_fake_channel_encoder_pp_sptr
gr_make_fake_channel_encoder_pp(int input_vlen, int output_vlen)
{
- return gr_fake_channel_encoder_pp_sptr(new gr_fake_channel_encoder_pp(input_vlen,
+ return gnuradio::get_initial_sptr(new gr_fake_channel_encoder_pp(input_vlen,
output_vlen));
}
@@ -77,7 +77,7 @@ gr_fake_channel_encoder_pp::work (int noutput_items,
gr_fake_channel_decoder_pp_sptr
gr_make_fake_channel_decoder_pp(int input_vlen, int output_vlen)
{
- return gr_fake_channel_decoder_pp_sptr(new gr_fake_channel_decoder_pp(input_vlen,
+ return gnuradio::get_initial_sptr(new gr_fake_channel_decoder_pp(input_vlen,
output_vlen));
}
diff --git a/gnuradio-core/src/lib/general/gr_feedforward_agc_cc.cc b/gnuradio-core/src/lib/general/gr_feedforward_agc_cc.cc
index 53fb2a8199..9046fcaa79 100644
--- a/gnuradio-core/src/lib/general/gr_feedforward_agc_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_feedforward_agc_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_feedforward_agc_cc_sptr
gr_make_feedforward_agc_cc(int nsamples, float reference)
{
- return gr_feedforward_agc_cc_sptr(new gr_feedforward_agc_cc (nsamples, reference));
+ return gnuradio::get_initial_sptr(new gr_feedforward_agc_cc (nsamples, reference));
}
gr_feedforward_agc_cc::gr_feedforward_agc_cc (int nsamples, float reference)
diff --git a/gnuradio-core/src/lib/general/gr_fft_vcc_fftw.cc b/gnuradio-core/src/lib/general/gr_fft_vcc_fftw.cc
index f69d2e84eb..3293e3ab86 100644
--- a/gnuradio-core/src/lib/general/gr_fft_vcc_fftw.cc
+++ b/gnuradio-core/src/lib/general/gr_fft_vcc_fftw.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2007,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2007,2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -33,7 +33,7 @@
gr_fft_vcc_sptr
gr_make_fft_vcc_fftw (int fft_size, bool forward, const std::vector<float> &window, bool shift)
{
- return gr_fft_vcc_sptr (new gr_fft_vcc_fftw (fft_size, forward, window, shift));
+ return gnuradio::get_initial_sptr(new gr_fft_vcc_fftw (fft_size, forward, window, shift));
}
gr_fft_vcc_fftw::gr_fft_vcc_fftw (int fft_size, bool forward,
diff --git a/gnuradio-core/src/lib/general/gr_fft_vfc.cc b/gnuradio-core/src/lib/general/gr_fft_vfc.cc
index df68af7e1a..608161efed 100644
--- a/gnuradio-core/src/lib/general/gr_fft_vfc.cc
+++ b/gnuradio-core/src/lib/general/gr_fft_vfc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -42,7 +42,7 @@
gr_fft_vfc_sptr
gr_make_fft_vfc (int fft_size, bool forward, const std::vector<float> window)
{
- return gr_fft_vfc_sptr (new gr_fft_vfc (fft_size, forward, window));
+ return gnuradio::get_initial_sptr(new gr_fft_vfc (fft_size, forward, window));
}
gr_fft_vfc::gr_fft_vfc (int fft_size, bool forward, const std::vector<float> window)
diff --git a/gnuradio-core/src/lib/general/gr_fll_band_edge_cc.cc b/gnuradio-core/src/lib/general/gr_fll_band_edge_cc.cc
index 7f2c468b72..ff997e7a97 100644
--- a/gnuradio-core/src/lib/general/gr_fll_band_edge_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_fll_band_edge_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2009 Free Software Foundation, Inc.
+ * Copyright 2009,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -48,7 +48,7 @@ float sinc(float x)
gr_fll_band_edge_cc_sptr gr_make_fll_band_edge_cc (float samps_per_sym, float rolloff,
int filter_size, float gain_alpha, float gain_beta)
{
- return gr_fll_band_edge_cc_sptr (new gr_fll_band_edge_cc (samps_per_sym, rolloff,
+ return gnuradio::get_initial_sptr(new gr_fll_band_edge_cc (samps_per_sym, rolloff,
filter_size, gain_alpha, gain_beta));
}
diff --git a/gnuradio-core/src/lib/general/gr_float_to_char.cc b/gnuradio-core/src/lib/general/gr_float_to_char.cc
index ed6c41826c..88b9d276e2 100644
--- a/gnuradio-core/src/lib/general/gr_float_to_char.cc
+++ b/gnuradio-core/src/lib/general/gr_float_to_char.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_float_to_char_sptr
gr_make_float_to_char ()
{
- return gr_float_to_char_sptr (new gr_float_to_char ());
+ return gnuradio::get_initial_sptr(new gr_float_to_char ());
}
gr_float_to_char::gr_float_to_char ()
diff --git a/gnuradio-core/src/lib/general/gr_float_to_complex.cc b/gnuradio-core/src/lib/general/gr_float_to_complex.cc
index af878231a6..89ef188698 100644
--- a/gnuradio-core/src/lib/general/gr_float_to_complex.cc
+++ b/gnuradio-core/src/lib/general/gr_float_to_complex.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004, 2009 Free Software Foundation, Inc.
+ * Copyright 2004, 2009,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_float_to_complex_sptr
gr_make_float_to_complex (size_t vlen)
{
- return gr_float_to_complex_sptr (new gr_float_to_complex (vlen));
+ return gnuradio::get_initial_sptr(new gr_float_to_complex (vlen));
}
gr_float_to_complex::gr_float_to_complex (size_t vlen)
diff --git a/gnuradio-core/src/lib/general/gr_float_to_short.cc b/gnuradio-core/src/lib/general/gr_float_to_short.cc
index ecb0fa0fc6..084f76f9c4 100644
--- a/gnuradio-core/src/lib/general/gr_float_to_short.cc
+++ b/gnuradio-core/src/lib/general/gr_float_to_short.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_float_to_short_sptr
gr_make_float_to_short ()
{
- return gr_float_to_short_sptr (new gr_float_to_short ());
+ return gnuradio::get_initial_sptr(new gr_float_to_short ());
}
gr_float_to_short::gr_float_to_short ()
diff --git a/gnuradio-core/src/lib/general/gr_float_to_uchar.cc b/gnuradio-core/src/lib/general/gr_float_to_uchar.cc
index 3776ac8979..78369f8be6 100644
--- a/gnuradio-core/src/lib/general/gr_float_to_uchar.cc
+++ b/gnuradio-core/src/lib/general/gr_float_to_uchar.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_float_to_uchar_sptr
gr_make_float_to_uchar ()
{
- return gr_float_to_uchar_sptr (new gr_float_to_uchar ());
+ return gnuradio::get_initial_sptr(new gr_float_to_uchar ());
}
gr_float_to_uchar::gr_float_to_uchar ()
diff --git a/gnuradio-core/src/lib/general/gr_fmdet_cf.cc b/gnuradio-core/src/lib/general/gr_fmdet_cf.cc
index e2c7e7a7f9..3d828124e6 100644
--- a/gnuradio-core/src/lib/general/gr_fmdet_cf.cc
+++ b/gnuradio-core/src/lib/general/gr_fmdet_cf.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -35,7 +35,7 @@
gr_fmdet_cf_sptr
gr_make_fmdet_cf (float samplerate, float freq_low, float freq_high, float scl)
{
- return gr_fmdet_cf_sptr (new gr_fmdet_cf (samplerate, freq_low, freq_high, scl));
+ return gnuradio::get_initial_sptr(new gr_fmdet_cf (samplerate, freq_low, freq_high, scl));
}
gr_fmdet_cf::gr_fmdet_cf (float samplerate, float freq_low, float freq_high, float scl)
diff --git a/gnuradio-core/src/lib/general/gr_framer_sink_1.cc b/gnuradio-core/src/lib/general/gr_framer_sink_1.cc
index 9da271bac7..c90b26c356 100644
--- a/gnuradio-core/src/lib/general/gr_framer_sink_1.cc
+++ b/gnuradio-core/src/lib/general/gr_framer_sink_1.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -69,7 +69,7 @@ gr_framer_sink_1::enter_have_header(int payload_len, int whitener_offset)
gr_framer_sink_1_sptr
gr_make_framer_sink_1(gr_msg_queue_sptr target_queue)
{
- return gr_framer_sink_1_sptr(new gr_framer_sink_1(target_queue));
+ return gnuradio::get_initial_sptr(new gr_framer_sink_1(target_queue));
}
diff --git a/gnuradio-core/src/lib/general/gr_frequency_modulator_fc.cc b/gnuradio-core/src/lib/general/gr_frequency_modulator_fc.cc
index 541f841f4c..0f6f0d719f 100644
--- a/gnuradio-core/src/lib/general/gr_frequency_modulator_fc.cc
+++ b/gnuradio-core/src/lib/general/gr_frequency_modulator_fc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
gr_frequency_modulator_fc_sptr gr_make_frequency_modulator_fc (double sensitivity)
{
- return gr_frequency_modulator_fc_sptr (new gr_frequency_modulator_fc (sensitivity));
+ return gnuradio::get_initial_sptr(new gr_frequency_modulator_fc (sensitivity));
}
gr_frequency_modulator_fc::gr_frequency_modulator_fc (double sensitivity)
diff --git a/gnuradio-core/src/lib/general/gr_glfsr_source_b.cc b/gnuradio-core/src/lib/general/gr_glfsr_source_b.cc
index 8fe616044d..134f7a21a9 100644
--- a/gnuradio-core/src/lib/general/gr_glfsr_source_b.cc
+++ b/gnuradio-core/src/lib/general/gr_glfsr_source_b.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -33,7 +33,7 @@
gr_glfsr_source_b_sptr
gr_make_glfsr_source_b(int degree, bool repeat, int mask, int seed)
{
- return gr_glfsr_source_b_sptr(new gr_glfsr_source_b(degree, repeat, mask, seed));
+ return gnuradio::get_initial_sptr(new gr_glfsr_source_b(degree, repeat, mask, seed));
}
gr_glfsr_source_b::gr_glfsr_source_b(int degree, bool repeat, int mask, int seed)
diff --git a/gnuradio-core/src/lib/general/gr_glfsr_source_f.cc b/gnuradio-core/src/lib/general/gr_glfsr_source_f.cc
index 8ef3a06cfb..7ffcfbd2a0 100644
--- a/gnuradio-core/src/lib/general/gr_glfsr_source_f.cc
+++ b/gnuradio-core/src/lib/general/gr_glfsr_source_f.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -33,7 +33,7 @@
gr_glfsr_source_f_sptr
gr_make_glfsr_source_f(int degree, bool repeat, int mask, int seed)
{
- return gr_glfsr_source_f_sptr(new gr_glfsr_source_f(degree, repeat, mask, seed));
+ return gnuradio::get_initial_sptr(new gr_glfsr_source_f(degree, repeat, mask, seed));
}
gr_glfsr_source_f::gr_glfsr_source_f(int degree, bool repeat, int mask, int seed)
diff --git a/gnuradio-core/src/lib/general/gr_interleave.cc b/gnuradio-core/src/lib/general/gr_interleave.cc
index 3c3ce8cc9a..d210cd5ed3 100644
--- a/gnuradio-core/src/lib/general/gr_interleave.cc
+++ b/gnuradio-core/src/lib/general/gr_interleave.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
gr_interleave_sptr
gr_make_interleave (size_t itemsize)
{
- return gr_interleave_sptr (new gr_interleave (itemsize));
+ return gnuradio::get_initial_sptr(new gr_interleave (itemsize));
}
gr_interleave::gr_interleave (size_t itemsize)
diff --git a/gnuradio-core/src/lib/general/gr_interleaved_short_to_complex.cc b/gnuradio-core/src/lib/general/gr_interleaved_short_to_complex.cc
index 74b8532072..09aa91f471 100644
--- a/gnuradio-core/src/lib/general/gr_interleaved_short_to_complex.cc
+++ b/gnuradio-core/src/lib/general/gr_interleaved_short_to_complex.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_interleaved_short_to_complex_sptr
gr_make_interleaved_short_to_complex ()
{
- return gr_interleaved_short_to_complex_sptr (new gr_interleaved_short_to_complex ());
+ return gnuradio::get_initial_sptr(new gr_interleaved_short_to_complex ());
}
gr_interleaved_short_to_complex::gr_interleaved_short_to_complex ()
diff --git a/gnuradio-core/src/lib/general/gr_iqcomp_cc.cc b/gnuradio-core/src/lib/general/gr_iqcomp_cc.cc
index e0a2c08ae1..16a68337ff 100644
--- a/gnuradio-core/src/lib/general/gr_iqcomp_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_iqcomp_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_iqcomp_cc_sptr
gr_make_iqcomp_cc (float mu)
{
- return gr_iqcomp_cc_sptr (new gr_iqcomp_cc (mu));
+ return gnuradio::get_initial_sptr(new gr_iqcomp_cc (mu));
}
gr_iqcomp_cc::gr_iqcomp_cc (float mu)
diff --git a/gnuradio-core/src/lib/general/gr_keep_one_in_n.cc b/gnuradio-core/src/lib/general/gr_keep_one_in_n.cc
index e38240a3f6..c07e177fe2 100644
--- a/gnuradio-core/src/lib/general/gr_keep_one_in_n.cc
+++ b/gnuradio-core/src/lib/general/gr_keep_one_in_n.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_keep_one_in_n_sptr
gr_make_keep_one_in_n (size_t item_size, int n)
{
- return gr_keep_one_in_n_sptr (new gr_keep_one_in_n (item_size, n));
+ return gnuradio::get_initial_sptr(new gr_keep_one_in_n (item_size, n));
}
gr_keep_one_in_n::gr_keep_one_in_n (size_t item_size, int n)
diff --git a/gnuradio-core/src/lib/general/gr_lfsr_32k_source_s.cc b/gnuradio-core/src/lib/general/gr_lfsr_32k_source_s.cc
index b65e2b78af..e227f8b3ea 100644
--- a/gnuradio-core/src/lib/general/gr_lfsr_32k_source_s.cc
+++ b/gnuradio-core/src/lib/general/gr_lfsr_32k_source_s.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
gr_lfsr_32k_source_s_sptr
gr_make_lfsr_32k_source_s ()
{
- return gr_lfsr_32k_source_s_sptr (new gr_lfsr_32k_source_s ());
+ return gnuradio::get_initial_sptr(new gr_lfsr_32k_source_s ());
}
diff --git a/gnuradio-core/src/lib/general/gr_lms_dfe_cc.cc b/gnuradio-core/src/lib/general/gr_lms_dfe_cc.cc
index f1eff05cce..8659386d50 100644
--- a/gnuradio-core/src/lib/general/gr_lms_dfe_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_lms_dfe_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -67,7 +67,7 @@ gr_lms_dfe_cc_sptr
gr_make_lms_dfe_cc (float lambda_ff, float lambda_fb,
unsigned int num_fftaps, unsigned int num_fbtaps)
{
- return gr_lms_dfe_cc_sptr (new gr_lms_dfe_cc (lambda_ff, lambda_fb,
+ return gnuradio::get_initial_sptr(new gr_lms_dfe_cc (lambda_ff, lambda_fb,
num_fftaps, num_fbtaps));
}
diff --git a/gnuradio-core/src/lib/general/gr_lms_dfe_ff.cc b/gnuradio-core/src/lib/general/gr_lms_dfe_ff.cc
index 2992dbf888..8a5e22c2fe 100644
--- a/gnuradio-core/src/lib/general/gr_lms_dfe_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_lms_dfe_ff.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -42,7 +42,7 @@ gr_lms_dfe_ff_sptr
gr_make_lms_dfe_ff (float lambda_ff, float lambda_fb,
unsigned int num_fftaps, unsigned int num_fbtaps)
{
- return gr_lms_dfe_ff_sptr (new gr_lms_dfe_ff (lambda_ff,lambda_fb,num_fftaps,num_fbtaps));
+ return gnuradio::get_initial_sptr(new gr_lms_dfe_ff (lambda_ff,lambda_fb,num_fftaps,num_fbtaps));
}
gr_lms_dfe_ff::gr_lms_dfe_ff (float lambda_ff, float lambda_fb ,
diff --git a/gnuradio-core/src/lib/general/gr_map_bb.cc b/gnuradio-core/src/lib/general/gr_map_bb.cc
index b10dfea36a..7762c7e35b 100644
--- a/gnuradio-core/src/lib/general/gr_map_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_map_bb.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006,2007 Free Software Foundation, Inc.
+ * Copyright 2006,2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_map_bb_sptr
gr_make_map_bb (const std::vector<int> &map)
{
- return gr_map_bb_sptr (new gr_map_bb (map));
+ return gnuradio::get_initial_sptr(new gr_map_bb (map));
}
gr_map_bb::gr_map_bb (const std::vector<int> &map)
diff --git a/gnuradio-core/src/lib/general/gr_mpsk_receiver_cc.cc b/gnuradio-core/src/lib/general/gr_mpsk_receiver_cc.cc
index 1efa827035..bc51c67693 100644
--- a/gnuradio-core/src/lib/general/gr_mpsk_receiver_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_mpsk_receiver_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005,2006,2007 Free Software Foundation, Inc.
+ * Copyright 2005,2006,2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -46,7 +46,7 @@ gr_make_mpsk_receiver_cc(unsigned int M, float theta,
float mu, float gain_mu,
float omega, float gain_omega, float omega_rel)
{
- return gr_mpsk_receiver_cc_sptr (new gr_mpsk_receiver_cc (M, theta,
+ return gnuradio::get_initial_sptr(new gr_mpsk_receiver_cc (M, theta,
alpha, beta,
fmin, fmax,
mu, gain_mu,
diff --git a/gnuradio-core/src/lib/general/gr_nlog10_ff.cc b/gnuradio-core/src/lib/general/gr_nlog10_ff.cc
index 8175359b5a..15d28d4841 100644
--- a/gnuradio-core/src/lib/general/gr_nlog10_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_nlog10_ff.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_nlog10_ff_sptr
gr_make_nlog10_ff (float n, unsigned vlen, float k)
{
- return gr_nlog10_ff_sptr(new gr_nlog10_ff(n, vlen, k));
+ return gnuradio::get_initial_sptr(new gr_nlog10_ff(n, vlen, k));
}
gr_nlog10_ff::gr_nlog10_ff(float n, unsigned vlen, float k)
diff --git a/gnuradio-core/src/lib/general/gr_nop.cc b/gnuradio-core/src/lib/general/gr_nop.cc
index b8d5cb3ac8..e69c8b340f 100644
--- a/gnuradio-core/src/lib/general/gr_nop.cc
+++ b/gnuradio-core/src/lib/general/gr_nop.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -36,7 +36,7 @@ gr_nop::gr_nop (size_t sizeof_stream_item)
gr_block_sptr
gr_make_nop (size_t sizeof_stream_item)
{
- return gr_block_sptr (new gr_nop (sizeof_stream_item));
+ return gnuradio::get_initial_sptr (new gr_nop (sizeof_stream_item));
}
int
diff --git a/gnuradio-core/src/lib/general/gr_null_sink.cc b/gnuradio-core/src/lib/general/gr_null_sink.cc
index ed9973a3a2..0b7f2d9e89 100644
--- a/gnuradio-core/src/lib/general/gr_null_sink.cc
+++ b/gnuradio-core/src/lib/general/gr_null_sink.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -37,7 +37,7 @@ gr_null_sink::gr_null_sink (size_t sizeof_stream_item)
gr_block_sptr
gr_make_null_sink (size_t sizeof_stream_item)
{
- return gr_block_sptr (new gr_null_sink (sizeof_stream_item));
+ return gnuradio::get_initial_sptr (new gr_null_sink (sizeof_stream_item));
}
int
diff --git a/gnuradio-core/src/lib/general/gr_null_source.cc b/gnuradio-core/src/lib/general/gr_null_source.cc
index d11976e1b4..b65c390355 100644
--- a/gnuradio-core/src/lib/general/gr_null_source.cc
+++ b/gnuradio-core/src/lib/general/gr_null_source.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -38,7 +38,7 @@ gr_null_source::gr_null_source (size_t sizeof_stream_item)
gr_block_sptr
gr_make_null_source (size_t sizeof_stream_item)
{
- return gr_block_sptr (new gr_null_source (sizeof_stream_item));
+ return gnuradio::get_initial_sptr (new gr_null_source (sizeof_stream_item));
}
int
diff --git a/gnuradio-core/src/lib/general/gr_ofdm_bpsk_demapper.cc b/gnuradio-core/src/lib/general/gr_ofdm_bpsk_demapper.cc
index a01cf358a9..bcb469651c 100644
--- a/gnuradio-core/src/lib/general/gr_ofdm_bpsk_demapper.cc
+++ b/gnuradio-core/src/lib/general/gr_ofdm_bpsk_demapper.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_ofdm_bpsk_demapper_sptr
gr_make_ofdm_bpsk_demapper (unsigned int occupied_carriers)
{
- return gr_ofdm_bpsk_demapper_sptr (new gr_ofdm_bpsk_demapper (occupied_carriers));
+ return gnuradio::get_initial_sptr(new gr_ofdm_bpsk_demapper (occupied_carriers));
}
gr_ofdm_bpsk_demapper::gr_ofdm_bpsk_demapper (unsigned occupied_carriers)
diff --git a/gnuradio-core/src/lib/general/gr_ofdm_cyclic_prefixer.cc b/gnuradio-core/src/lib/general/gr_ofdm_cyclic_prefixer.cc
index 5327c5707f..fb40a3035f 100644
--- a/gnuradio-core/src/lib/general/gr_ofdm_cyclic_prefixer.cc
+++ b/gnuradio-core/src/lib/general/gr_ofdm_cyclic_prefixer.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_ofdm_cyclic_prefixer_sptr
gr_make_ofdm_cyclic_prefixer (size_t input_size, size_t output_size)
{
- return gr_ofdm_cyclic_prefixer_sptr (new gr_ofdm_cyclic_prefixer (input_size, output_size));
+ return gnuradio::get_initial_sptr(new gr_ofdm_cyclic_prefixer (input_size, output_size));
}
gr_ofdm_cyclic_prefixer::gr_ofdm_cyclic_prefixer (size_t input_size, size_t output_size)
diff --git a/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.cc b/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.cc
index fd27e6d48c..201375597a 100644
--- a/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.cc
+++ b/gnuradio-core/src/lib/general/gr_ofdm_frame_acquisition.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006,2007,2008 Free Software Foundation, Inc.
+ * Copyright 2006,2007,2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -40,7 +40,7 @@ gr_make_ofdm_frame_acquisition (unsigned int occupied_carriers, unsigned int fft
const std::vector<gr_complex> &known_symbol,
unsigned int max_fft_shift_len)
{
- return gr_ofdm_frame_acquisition_sptr (new gr_ofdm_frame_acquisition (occupied_carriers, fft_length, cplen,
+ return gnuradio::get_initial_sptr(new gr_ofdm_frame_acquisition (occupied_carriers, fft_length, cplen,
known_symbol, max_fft_shift_len));
}
diff --git a/gnuradio-core/src/lib/general/gr_ofdm_frame_sink.cc b/gnuradio-core/src/lib/general/gr_ofdm_frame_sink.cc
index 26a5cf0fe1..3457370eb3 100644
--- a/gnuradio-core/src/lib/general/gr_ofdm_frame_sink.cc
+++ b/gnuradio-core/src/lib/general/gr_ofdm_frame_sink.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007,2008 Free Software Foundation, Inc.
+ * Copyright 2007,2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -184,7 +184,7 @@ gr_make_ofdm_frame_sink(const std::vector<gr_complex> &sym_position,
gr_msg_queue_sptr target_queue, unsigned int occupied_carriers,
float phase_gain, float freq_gain)
{
- return gr_ofdm_frame_sink_sptr(new gr_ofdm_frame_sink(sym_position, sym_value_out,
+ return gnuradio::get_initial_sptr(new gr_ofdm_frame_sink(sym_position, sym_value_out,
target_queue, occupied_carriers,
phase_gain, freq_gain));
}
diff --git a/gnuradio-core/src/lib/general/gr_ofdm_insert_preamble.cc b/gnuradio-core/src/lib/general/gr_ofdm_insert_preamble.cc
index 3706c36725..ed10c94a89 100644
--- a/gnuradio-core/src/lib/general/gr_ofdm_insert_preamble.cc
+++ b/gnuradio-core/src/lib/general/gr_ofdm_insert_preamble.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -33,7 +33,7 @@ gr_ofdm_insert_preamble_sptr
gr_make_ofdm_insert_preamble(int fft_length,
const std::vector<std::vector<gr_complex> > &preamble)
{
- return gr_ofdm_insert_preamble_sptr(new gr_ofdm_insert_preamble(fft_length,
+ return gnuradio::get_initial_sptr(new gr_ofdm_insert_preamble(fft_length,
preamble));
}
diff --git a/gnuradio-core/src/lib/general/gr_ofdm_mapper_bcv.cc b/gnuradio-core/src/lib/general/gr_ofdm_mapper_bcv.cc
index 02f09f5f25..370b029cdf 100644
--- a/gnuradio-core/src/lib/general/gr_ofdm_mapper_bcv.cc
+++ b/gnuradio-core/src/lib/general/gr_ofdm_mapper_bcv.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006,2007,2008 Free Software Foundation, Inc.
+ * Copyright 2006,2007,2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -34,7 +34,7 @@ gr_ofdm_mapper_bcv_sptr
gr_make_ofdm_mapper_bcv (const std::vector<gr_complex> &constellation, unsigned int msgq_limit,
unsigned int occupied_carriers, unsigned int fft_length)
{
- return gr_ofdm_mapper_bcv_sptr (new gr_ofdm_mapper_bcv (constellation, msgq_limit,
+ return gnuradio::get_initial_sptr(new gr_ofdm_mapper_bcv (constellation, msgq_limit,
occupied_carriers, fft_length));
}
diff --git a/gnuradio-core/src/lib/general/gr_ofdm_sampler.cc b/gnuradio-core/src/lib/general/gr_ofdm_sampler.cc
index 74bd65a50a..f9a53c87f2 100644
--- a/gnuradio-core/src/lib/general/gr_ofdm_sampler.cc
+++ b/gnuradio-core/src/lib/general/gr_ofdm_sampler.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007,2008 Free Software Foundation, Inc.
+ * Copyright 2007,2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -34,7 +34,7 @@ gr_make_ofdm_sampler (unsigned int fft_length,
unsigned int symbol_length,
unsigned int timeout)
{
- return gr_ofdm_sampler_sptr (new gr_ofdm_sampler (fft_length, symbol_length, timeout));
+ return gnuradio::get_initial_sptr(new gr_ofdm_sampler (fft_length, symbol_length, timeout));
}
gr_ofdm_sampler::gr_ofdm_sampler (unsigned int fft_length,
@@ -45,6 +45,7 @@ gr_ofdm_sampler::gr_ofdm_sampler (unsigned int fft_length,
gr_make_io_signature2 (2, 2, sizeof (gr_complex)*fft_length, sizeof(char)*fft_length)),
d_state(STATE_NO_SIG), d_timeout_max(timeout), d_fft_length(fft_length), d_symbol_length(symbol_length)
{
+ set_relative_rate(1.0/(double) fft_length); // buffer allocator hint
}
void
diff --git a/gnuradio-core/src/lib/general/gr_pa_2x2_phase_combiner.cc b/gnuradio-core/src/lib/general/gr_pa_2x2_phase_combiner.cc
index c4498ed934..a79e34be4a 100644
--- a/gnuradio-core/src/lib/general/gr_pa_2x2_phase_combiner.cc
+++ b/gnuradio-core/src/lib/general/gr_pa_2x2_phase_combiner.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_pa_2x2_phase_combiner_sptr
gr_make_pa_2x2_phase_combiner()
{
- return gr_pa_2x2_phase_combiner_sptr(new gr_pa_2x2_phase_combiner());
+ return gnuradio::get_initial_sptr(new gr_pa_2x2_phase_combiner());
}
gr_pa_2x2_phase_combiner::gr_pa_2x2_phase_combiner ()
diff --git a/gnuradio-core/src/lib/general/gr_packet_sink.cc b/gnuradio-core/src/lib/general/gr_packet_sink.cc
index 0979f76d3d..d66d96839f 100644
--- a/gnuradio-core/src/lib/general/gr_packet_sink.cc
+++ b/gnuradio-core/src/lib/general/gr_packet_sink.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -77,7 +77,7 @@ gr_packet_sink_sptr
gr_make_packet_sink (const std::vector<unsigned char>& sync_vector,
gr_msg_queue_sptr target_queue, int threshold)
{
- return gr_packet_sink_sptr (new gr_packet_sink (sync_vector, target_queue, threshold));
+ return gnuradio::get_initial_sptr(new gr_packet_sink (sync_vector, target_queue, threshold));
}
diff --git a/gnuradio-core/src/lib/general/gr_peak_detector2_fb.cc b/gnuradio-core/src/lib/general/gr_peak_detector2_fb.cc
index 4f927bffe6..2b1c5da618 100644
--- a/gnuradio-core/src/lib/general/gr_peak_detector2_fb.cc
+++ b/gnuradio-core/src/lib/general/gr_peak_detector2_fb.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@ gr_peak_detector2_fb_sptr
gr_make_peak_detector2_fb (float threshold_factor_rise,
int look_ahead, float alpha)
{
- return gr_peak_detector2_fb_sptr (new gr_peak_detector2_fb (threshold_factor_rise,
+ return gnuradio::get_initial_sptr(new gr_peak_detector2_fb (threshold_factor_rise,
look_ahead, alpha));
}
diff --git a/gnuradio-core/src/lib/general/gr_phase_modulator_fc.cc b/gnuradio-core/src/lib/general/gr_phase_modulator_fc.cc
index 9ee8d3f4db..c1a2e7da3d 100644
--- a/gnuradio-core/src/lib/general/gr_phase_modulator_fc.cc
+++ b/gnuradio-core/src/lib/general/gr_phase_modulator_fc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005,2006 Free Software Foundation, Inc.
+ * Copyright 2005,2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
gr_phase_modulator_fc_sptr gr_make_phase_modulator_fc (double sensitivity)
{
- return gr_phase_modulator_fc_sptr (new gr_phase_modulator_fc (sensitivity));
+ return gnuradio::get_initial_sptr(new gr_phase_modulator_fc (sensitivity));
}
gr_phase_modulator_fc::gr_phase_modulator_fc (double sensitivity)
diff --git a/gnuradio-core/src/lib/general/gr_pll_carriertracking_cc.cc b/gnuradio-core/src/lib/general/gr_pll_carriertracking_cc.cc
index 5f0e9a6921..19ab316a19 100644
--- a/gnuradio-core/src/lib/general/gr_pll_carriertracking_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_pll_carriertracking_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -35,7 +35,7 @@
gr_pll_carriertracking_cc_sptr
gr_make_pll_carriertracking_cc (float alpha, float beta, float max_freq, float min_freq)
{
- return gr_pll_carriertracking_cc_sptr (new gr_pll_carriertracking_cc (alpha, beta, max_freq, min_freq));
+ return gnuradio::get_initial_sptr(new gr_pll_carriertracking_cc (alpha, beta, max_freq, min_freq));
}
gr_pll_carriertracking_cc::gr_pll_carriertracking_cc (float alpha, float beta, float max_freq, float min_freq)
diff --git a/gnuradio-core/src/lib/general/gr_pll_freqdet_cf.cc b/gnuradio-core/src/lib/general/gr_pll_freqdet_cf.cc
index c9fd9a71e8..1f17f2afc6 100644
--- a/gnuradio-core/src/lib/general/gr_pll_freqdet_cf.cc
+++ b/gnuradio-core/src/lib/general/gr_pll_freqdet_cf.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -36,7 +36,7 @@
gr_pll_freqdet_cf_sptr
gr_make_pll_freqdet_cf (float alpha, float beta, float max_freq, float min_freq)
{
- return gr_pll_freqdet_cf_sptr (new gr_pll_freqdet_cf (alpha, beta, max_freq, min_freq));
+ return gnuradio::get_initial_sptr(new gr_pll_freqdet_cf (alpha, beta, max_freq, min_freq));
}
gr_pll_freqdet_cf::gr_pll_freqdet_cf (float alpha, float beta, float max_freq, float min_freq)
diff --git a/gnuradio-core/src/lib/general/gr_pll_refout_cc.cc b/gnuradio-core/src/lib/general/gr_pll_refout_cc.cc
index 5df822d373..8a7fbf88ba 100644
--- a/gnuradio-core/src/lib/general/gr_pll_refout_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_pll_refout_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -37,7 +37,7 @@
gr_pll_refout_cc_sptr
gr_make_pll_refout_cc (float alpha, float beta, float max_freq, float min_freq)
{
- return gr_pll_refout_cc_sptr (new gr_pll_refout_cc (alpha, beta, max_freq, min_freq));
+ return gnuradio::get_initial_sptr(new gr_pll_refout_cc (alpha, beta, max_freq, min_freq));
}
gr_pll_refout_cc::gr_pll_refout_cc (float alpha, float beta, float max_freq, float min_freq)
diff --git a/gnuradio-core/src/lib/general/gr_pn_correlator_cc.cc b/gnuradio-core/src/lib/general/gr_pn_correlator_cc.cc
index 2614c3a2d8..37e7b803ca 100644
--- a/gnuradio-core/src/lib/general/gr_pn_correlator_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_pn_correlator_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_pn_correlator_cc_sptr
gr_make_pn_correlator_cc(int degree, int mask, int seed)
{
- return gr_pn_correlator_cc_sptr (new gr_pn_correlator_cc(degree, mask, seed));
+ return gnuradio::get_initial_sptr(new gr_pn_correlator_cc(degree, mask, seed));
}
gr_pn_correlator_cc::gr_pn_correlator_cc(int degree, int mask, int seed)
diff --git a/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_c.cc b/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_c.cc
index 8af11ad220..c00eb5cdf9 100644
--- a/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_c.cc
+++ b/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_c.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_probe_avg_mag_sqrd_c_sptr
gr_make_probe_avg_mag_sqrd_c(double threshold_db, double alpha)
{
- return gr_probe_avg_mag_sqrd_c_sptr(new gr_probe_avg_mag_sqrd_c(threshold_db, alpha));
+ return gnuradio::get_initial_sptr(new gr_probe_avg_mag_sqrd_c(threshold_db, alpha));
}
gr_probe_avg_mag_sqrd_c::gr_probe_avg_mag_sqrd_c (double threshold_db, double alpha)
diff --git a/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_cf.cc b/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_cf.cc
index 8b1c7cc507..5350028a75 100644
--- a/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_cf.cc
+++ b/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_cf.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005,2007 Free Software Foundation, Inc.
+ * Copyright 2005,2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_probe_avg_mag_sqrd_cf_sptr
gr_make_probe_avg_mag_sqrd_cf(double threshold_db, double alpha)
{
- return gr_probe_avg_mag_sqrd_cf_sptr(new gr_probe_avg_mag_sqrd_cf(threshold_db, alpha));
+ return gnuradio::get_initial_sptr(new gr_probe_avg_mag_sqrd_cf(threshold_db, alpha));
}
gr_probe_avg_mag_sqrd_cf::gr_probe_avg_mag_sqrd_cf (double threshold_db, double alpha)
diff --git a/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_f.cc b/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_f.cc
index c39207d2c6..d3b0e2d37d 100644
--- a/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_f.cc
+++ b/gnuradio-core/src/lib/general/gr_probe_avg_mag_sqrd_f.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_probe_avg_mag_sqrd_f_sptr
gr_make_probe_avg_mag_sqrd_f(double threshold_db, double alpha)
{
- return gr_probe_avg_mag_sqrd_f_sptr(new gr_probe_avg_mag_sqrd_f(threshold_db, alpha));
+ return gnuradio::get_initial_sptr(new gr_probe_avg_mag_sqrd_f(threshold_db, alpha));
}
gr_probe_avg_mag_sqrd_f::gr_probe_avg_mag_sqrd_f (double threshold_db, double alpha)
diff --git a/gnuradio-core/src/lib/general/gr_probe_density_b.cc b/gnuradio-core/src/lib/general/gr_probe_density_b.cc
index dae4eec74f..70b03e881c 100644
--- a/gnuradio-core/src/lib/general/gr_probe_density_b.cc
+++ b/gnuradio-core/src/lib/general/gr_probe_density_b.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
*
* 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
@@ -30,7 +30,7 @@
gr_probe_density_b_sptr
gr_make_probe_density_b(double alpha)
{
- return gr_probe_density_b_sptr(new gr_probe_density_b(alpha));
+ return gnuradio::get_initial_sptr(new gr_probe_density_b(alpha));
}
gr_probe_density_b::gr_probe_density_b(double alpha)
diff --git a/gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.cc b/gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.cc
index a0bb99ce14..fed9ad66ee 100644
--- a/gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.cc
+++ b/gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_probe_mpsk_snr_c_sptr
gr_make_probe_mpsk_snr_c(double alpha)
{
- return gr_probe_mpsk_snr_c_sptr(new gr_probe_mpsk_snr_c(alpha));
+ return gnuradio::get_initial_sptr(new gr_probe_mpsk_snr_c(alpha));
}
gr_probe_mpsk_snr_c::gr_probe_mpsk_snr_c(double alpha)
diff --git a/gnuradio-core/src/lib/general/gr_probe_signal_f.cc b/gnuradio-core/src/lib/general/gr_probe_signal_f.cc
index b67836682f..ee1a18e891 100644
--- a/gnuradio-core/src/lib/general/gr_probe_signal_f.cc
+++ b/gnuradio-core/src/lib/general/gr_probe_signal_f.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -29,7 +29,7 @@
gr_probe_signal_f_sptr
gr_make_probe_signal_f()
{
- return gr_probe_signal_f_sptr(new gr_probe_signal_f());
+ return gnuradio::get_initial_sptr(new gr_probe_signal_f());
}
gr_probe_signal_f::gr_probe_signal_f ()
diff --git a/gnuradio-core/src/lib/general/gr_pwr_squelch_cc.cc b/gnuradio-core/src/lib/general/gr_pwr_squelch_cc.cc
index 1604972fd2..d2fee1a573 100644
--- a/gnuradio-core/src/lib/general/gr_pwr_squelch_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_pwr_squelch_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -29,7 +29,7 @@
gr_pwr_squelch_cc_sptr
gr_make_pwr_squelch_cc(double threshold, double alpha, int ramp, bool gate)
{
- return gr_pwr_squelch_cc_sptr(new gr_pwr_squelch_cc(threshold, alpha, ramp, gate));
+ return gnuradio::get_initial_sptr(new gr_pwr_squelch_cc(threshold, alpha, ramp, gate));
}
gr_pwr_squelch_cc::gr_pwr_squelch_cc(double threshold, double alpha, int ramp, bool gate) :
diff --git a/gnuradio-core/src/lib/general/gr_pwr_squelch_ff.cc b/gnuradio-core/src/lib/general/gr_pwr_squelch_ff.cc
index 976b7a1059..a689c407c6 100644
--- a/gnuradio-core/src/lib/general/gr_pwr_squelch_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_pwr_squelch_ff.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -29,7 +29,7 @@
gr_pwr_squelch_ff_sptr
gr_make_pwr_squelch_ff(double threshold, double alpha, int ramp, bool gate)
{
- return gr_pwr_squelch_ff_sptr(new gr_pwr_squelch_ff(threshold, alpha, ramp, gate));
+ return gnuradio::get_initial_sptr(new gr_pwr_squelch_ff(threshold, alpha, ramp, gate));
}
gr_pwr_squelch_ff::gr_pwr_squelch_ff(double threshold, double alpha, int ramp, bool gate) :
diff --git a/gnuradio-core/src/lib/general/gr_quadrature_demod_cf.cc b/gnuradio-core/src/lib/general/gr_quadrature_demod_cf.cc
index bae5a3857e..8e59fbd71d 100644
--- a/gnuradio-core/src/lib/general/gr_quadrature_demod_cf.cc
+++ b/gnuradio-core/src/lib/general/gr_quadrature_demod_cf.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2005 Free Software Foundation, Inc.
+ * Copyright 2004,2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -40,7 +40,7 @@ gr_quadrature_demod_cf::gr_quadrature_demod_cf (float gain)
gr_quadrature_demod_cf_sptr
gr_make_quadrature_demod_cf (float gain)
{
- return gr_quadrature_demod_cf_sptr (new gr_quadrature_demod_cf (gain));
+ return gnuradio::get_initial_sptr(new gr_quadrature_demod_cf (gain));
}
int
diff --git a/gnuradio-core/src/lib/general/gr_rail_ff.cc b/gnuradio-core/src/lib/general/gr_rail_ff.cc
index 9fd3af8dfc..2608971991 100644
--- a/gnuradio-core/src/lib/general/gr_rail_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_rail_ff.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_rail_ff_sptr
gr_make_rail_ff(float lo, float hi)
{
- return gr_rail_ff_sptr(new gr_rail_ff(lo, hi));
+ return gnuradio::get_initial_sptr(new gr_rail_ff(lo, hi));
}
gr_rail_ff::gr_rail_ff(float lo, float hi)
diff --git a/gnuradio-core/src/lib/general/gr_regenerate_bb.cc b/gnuradio-core/src/lib/general/gr_regenerate_bb.cc
index 1836755204..3bb8be1057 100644
--- a/gnuradio-core/src/lib/general/gr_regenerate_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_regenerate_bb.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_regenerate_bb_sptr
gr_make_regenerate_bb (int period, unsigned int max_regen)
{
- return gr_regenerate_bb_sptr (new gr_regenerate_bb (period, max_regen));
+ return gnuradio::get_initial_sptr(new gr_regenerate_bb (period, max_regen));
}
gr_regenerate_bb::gr_regenerate_bb (int period, unsigned int max_regen)
diff --git a/gnuradio-core/src/lib/general/gr_repeat.cc b/gnuradio-core/src/lib/general/gr_repeat.cc
index 70bb44e5a5..43ad50f52a 100644
--- a/gnuradio-core/src/lib/general/gr_repeat.cc
+++ b/gnuradio-core/src/lib/general/gr_repeat.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_repeat_sptr
gr_make_repeat(size_t itemsize, int interp)
{
- return gr_repeat_sptr(new gr_repeat(itemsize, interp));
+ return gnuradio::get_initial_sptr(new gr_repeat(itemsize, interp));
}
gr_repeat::gr_repeat(size_t itemsize, int interp)
diff --git a/gnuradio-core/src/lib/general/gr_rms_cf.cc b/gnuradio-core/src/lib/general/gr_rms_cf.cc
index eab937e97a..a7b5d99f1c 100644
--- a/gnuradio-core/src/lib/general/gr_rms_cf.cc
+++ b/gnuradio-core/src/lib/general/gr_rms_cf.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_rms_cf_sptr
gr_make_rms_cf(double alpha)
{
- return gr_rms_cf_sptr(new gr_rms_cf(alpha));
+ return gnuradio::get_initial_sptr(new gr_rms_cf(alpha));
}
gr_rms_cf::gr_rms_cf (double alpha)
diff --git a/gnuradio-core/src/lib/general/gr_rms_ff.cc b/gnuradio-core/src/lib/general/gr_rms_ff.cc
index 604cb3c9b8..1ff4379f63 100644
--- a/gnuradio-core/src/lib/general/gr_rms_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_rms_ff.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_rms_ff_sptr
gr_make_rms_ff(double alpha)
{
- return gr_rms_ff_sptr(new gr_rms_ff(alpha));
+ return gnuradio::get_initial_sptr(new gr_rms_ff(alpha));
}
gr_rms_ff::gr_rms_ff (double alpha)
diff --git a/gnuradio-core/src/lib/general/gr_scrambler_bb.cc b/gnuradio-core/src/lib/general/gr_scrambler_bb.cc
index 42f70901b3..59bd1ca419 100644
--- a/gnuradio-core/src/lib/general/gr_scrambler_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_scrambler_bb.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_scrambler_bb_sptr
gr_make_scrambler_bb(int mask, int seed, int len)
{
- return gr_scrambler_bb_sptr(new gr_scrambler_bb(mask, seed, len));
+ return gnuradio::get_initial_sptr(new gr_scrambler_bb(mask, seed, len));
}
gr_scrambler_bb::gr_scrambler_bb(int mask, int seed, int len)
diff --git a/gnuradio-core/src/lib/general/gr_short_to_float.cc b/gnuradio-core/src/lib/general/gr_short_to_float.cc
index 09dad2ef28..7b80953ac1 100644
--- a/gnuradio-core/src/lib/general/gr_short_to_float.cc
+++ b/gnuradio-core/src/lib/general/gr_short_to_float.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_short_to_float_sptr
gr_make_short_to_float ()
{
- return gr_short_to_float_sptr (new gr_short_to_float ());
+ return gnuradio::get_initial_sptr(new gr_short_to_float ());
}
gr_short_to_float::gr_short_to_float ()
diff --git a/gnuradio-core/src/lib/general/gr_simple_correlator.cc b/gnuradio-core/src/lib/general/gr_simple_correlator.cc
index ebfbfa72e9..01c007122e 100644
--- a/gnuradio-core/src/lib/general/gr_simple_correlator.cc
+++ b/gnuradio-core/src/lib/general/gr_simple_correlator.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -39,7 +39,7 @@ static const int THRESHOLD = 3;
gr_simple_correlator_sptr
gr_make_simple_correlator (int payload_bytesize)
{
- return gr_simple_correlator_sptr (new gr_simple_correlator (payload_bytesize));
+ return gnuradio::get_initial_sptr(new gr_simple_correlator (payload_bytesize));
}
gr_simple_correlator::gr_simple_correlator (int payload_bytesize)
diff --git a/gnuradio-core/src/lib/general/gr_simple_framer.cc b/gnuradio-core/src/lib/general/gr_simple_framer.cc
index d2de095462..2a574a74e4 100644
--- a/gnuradio-core/src/lib/general/gr_simple_framer.cc
+++ b/gnuradio-core/src/lib/general/gr_simple_framer.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -35,7 +35,7 @@
gr_simple_framer_sptr
gr_make_simple_framer (int payload_bytesize)
{
- return gr_simple_framer_sptr (new gr_simple_framer (payload_bytesize));
+ return gnuradio::get_initial_sptr(new gr_simple_framer (payload_bytesize));
}
gr_simple_framer::gr_simple_framer (int payload_bytesize)
diff --git a/gnuradio-core/src/lib/general/gr_simple_squelch_cc.cc b/gnuradio-core/src/lib/general/gr_simple_squelch_cc.cc
index 3900671a65..cdea8055b5 100644
--- a/gnuradio-core/src/lib/general/gr_simple_squelch_cc.cc
+++ b/gnuradio-core/src/lib/general/gr_simple_squelch_cc.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_simple_squelch_cc_sptr
gr_make_simple_squelch_cc(double threshold_db, double alpha)
{
- return gr_simple_squelch_cc_sptr(new gr_simple_squelch_cc(threshold_db, alpha));
+ return gnuradio::get_initial_sptr(new gr_simple_squelch_cc(threshold_db, alpha));
}
gr_simple_squelch_cc::gr_simple_squelch_cc (double threshold_db, double alpha)
diff --git a/gnuradio-core/src/lib/general/gr_skiphead.cc b/gnuradio-core/src/lib/general/gr_skiphead.cc
index 45e3d5cb23..ea7e9405f1 100644
--- a/gnuradio-core/src/lib/general/gr_skiphead.cc
+++ b/gnuradio-core/src/lib/general/gr_skiphead.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005,2007 Free Software Foundation, Inc.
+ * Copyright 2005,2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -38,7 +38,7 @@ gr_skiphead::gr_skiphead (size_t itemsize, size_t nitems_to_skip)
gr_skiphead_sptr
gr_make_skiphead (size_t itemsize, size_t nitems_to_skip)
{
- return gr_skiphead_sptr (new gr_skiphead (itemsize, nitems_to_skip));
+ return gnuradio::get_initial_sptr(new gr_skiphead (itemsize, nitems_to_skip));
}
int
diff --git a/gnuradio-core/src/lib/general/gr_squash_ff.cc b/gnuradio-core/src/lib/general/gr_squash_ff.cc
index 05ad4a7eb6..479204fdbf 100644
--- a/gnuradio-core/src/lib/general/gr_squash_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_squash_ff.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -35,7 +35,7 @@ gr_squash_ff_sptr
gr_make_squash_ff(const std::vector<float> &igrid,
const std::vector<float> &ogrid)
{
- return gr_squash_ff_sptr(new gr_squash_ff(igrid, ogrid));
+ return gnuradio::get_initial_sptr(new gr_squash_ff(igrid, ogrid));
}
gr_squash_ff::gr_squash_ff(const std::vector<float> &igrid,
diff --git a/gnuradio-core/src/lib/general/gr_stream_mux.cc b/gnuradio-core/src/lib/general/gr_stream_mux.cc
index 06556b5836..7ef2bb3c7b 100644
--- a/gnuradio-core/src/lib/general/gr_stream_mux.cc
+++ b/gnuradio-core/src/lib/general/gr_stream_mux.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -34,7 +34,7 @@
gr_stream_mux_sptr
gr_make_stream_mux (size_t itemsize, const std::vector<int> &lengths)
{
- return gr_stream_mux_sptr (new gr_stream_mux (itemsize, lengths));
+ return gnuradio::get_initial_sptr(new gr_stream_mux (itemsize, lengths));
}
gr_stream_mux::gr_stream_mux (size_t itemsize, const std::vector<int> &lengths)
diff --git a/gnuradio-core/src/lib/general/gr_stream_to_streams.cc b/gnuradio-core/src/lib/general/gr_stream_to_streams.cc
index b38a8d4d81..3d34dbc43d 100644
--- a/gnuradio-core/src/lib/general/gr_stream_to_streams.cc
+++ b/gnuradio-core/src/lib/general/gr_stream_to_streams.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_stream_to_streams_sptr
gr_make_stream_to_streams (size_t item_size, size_t nstreams)
{
- return gr_stream_to_streams_sptr (new gr_stream_to_streams (item_size, nstreams));
+ return gnuradio::get_initial_sptr(new gr_stream_to_streams (item_size, nstreams));
}
gr_stream_to_streams::gr_stream_to_streams (size_t item_size, size_t nstreams)
diff --git a/gnuradio-core/src/lib/general/gr_stream_to_vector.cc b/gnuradio-core/src/lib/general/gr_stream_to_vector.cc
index fd233adca7..f218601d73 100644
--- a/gnuradio-core/src/lib/general/gr_stream_to_vector.cc
+++ b/gnuradio-core/src/lib/general/gr_stream_to_vector.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2005 Free Software Foundation, Inc.
+ * Copyright 2004,2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_stream_to_vector_sptr
gr_make_stream_to_vector (size_t item_size, size_t nitems_per_block)
{
- return gr_stream_to_vector_sptr (new gr_stream_to_vector (item_size, nitems_per_block));
+ return gnuradio::get_initial_sptr(new gr_stream_to_vector (item_size, nitems_per_block));
}
gr_stream_to_vector::gr_stream_to_vector (size_t item_size, size_t nitems_per_block)
diff --git a/gnuradio-core/src/lib/general/gr_streams_to_stream.cc b/gnuradio-core/src/lib/general/gr_streams_to_stream.cc
index 6f6b49a82c..ce4101089d 100644
--- a/gnuradio-core/src/lib/general/gr_streams_to_stream.cc
+++ b/gnuradio-core/src/lib/general/gr_streams_to_stream.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_streams_to_stream_sptr
gr_make_streams_to_stream (size_t item_size, size_t nstreams)
{
- return gr_streams_to_stream_sptr (new gr_streams_to_stream (item_size, nstreams));
+ return gnuradio::get_initial_sptr(new gr_streams_to_stream (item_size, nstreams));
}
gr_streams_to_stream::gr_streams_to_stream (size_t item_size, size_t nstreams)
diff --git a/gnuradio-core/src/lib/general/gr_streams_to_vector.cc b/gnuradio-core/src/lib/general/gr_streams_to_vector.cc
index f3ee2c49aa..e04fa4dcb5 100644
--- a/gnuradio-core/src/lib/general/gr_streams_to_vector.cc
+++ b/gnuradio-core/src/lib/general/gr_streams_to_vector.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2005 Free Software Foundation, Inc.
+ * Copyright 2004,2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_streams_to_vector_sptr
gr_make_streams_to_vector (size_t item_size, size_t nstreams)
{
- return gr_streams_to_vector_sptr (new gr_streams_to_vector (item_size, nstreams));
+ return gnuradio::get_initial_sptr(new gr_streams_to_vector (item_size, nstreams));
}
gr_streams_to_vector::gr_streams_to_vector (size_t item_size, size_t nstreams)
diff --git a/gnuradio-core/src/lib/general/gr_stretch_ff.cc b/gnuradio-core/src/lib/general/gr_stretch_ff.cc
index f1822dcb8b..c6395798ad 100644
--- a/gnuradio-core/src/lib/general/gr_stretch_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_stretch_ff.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -30,7 +30,7 @@
gr_stretch_ff_sptr
gr_make_stretch_ff(float lo, size_t vlen)
{
- return gr_stretch_ff_sptr(new gr_stretch_ff(lo, vlen));
+ return gnuradio::get_initial_sptr(new gr_stretch_ff(lo, vlen));
}
gr_stretch_ff::gr_stretch_ff(float lo, size_t vlen)
diff --git a/gnuradio-core/src/lib/general/gr_test.cc b/gnuradio-core/src/lib/general/gr_test.cc
index a04554ec4e..077b397076 100644
--- a/gnuradio-core/src/lib/general/gr_test.cc
+++ b/gnuradio-core/src/lib/general/gr_test.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006,2008 Free Software Foundation, Inc.
+ * Copyright 2006,2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -36,7 +36,7 @@ gr_test_sptr gr_make_test (const std::string &name,
unsigned int history,unsigned int output_multiple,double relative_rate,
bool fixed_rate,gr_consume_type_t cons_type, gr_produce_type_t prod_type)
{
- return gr_test_sptr (new gr_test (name, min_inputs,max_inputs,sizeof_input_item,
+ return gnuradio::get_initial_sptr(new gr_test (name, min_inputs,max_inputs,sizeof_input_item,
min_outputs,max_outputs,sizeof_output_item,
history,output_multiple,relative_rate,fixed_rate,cons_type, prod_type));
}
diff --git a/gnuradio-core/src/lib/general/gr_threshold_ff.cc b/gnuradio-core/src/lib/general/gr_threshold_ff.cc
index 9deb3e461e..622fe1b45d 100644
--- a/gnuradio-core/src/lib/general/gr_threshold_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_threshold_ff.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
gr_threshold_ff_sptr
gr_make_threshold_ff (float lo, float hi, float initial_state)
{
- return gr_threshold_ff_sptr (new gr_threshold_ff (lo, hi, initial_state));
+ return gnuradio::get_initial_sptr(new gr_threshold_ff (lo, hi, initial_state));
}
gr_threshold_ff::gr_threshold_ff (float lo, float hi, float initial_state)
diff --git a/gnuradio-core/src/lib/general/gr_throttle.cc b/gnuradio-core/src/lib/general/gr_throttle.cc
index 88219c1c80..3189e01c01 100644
--- a/gnuradio-core/src/lib/general/gr_throttle.cc
+++ b/gnuradio-core/src/lib/general/gr_throttle.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -57,7 +57,7 @@ gr_nanosleep(struct timespec *ts)
gr_throttle_sptr
gr_make_throttle(size_t itemsize, double samples_per_sec)
{
- return gr_throttle_sptr(new gr_throttle(itemsize, samples_per_sec));
+ return gnuradio::get_initial_sptr(new gr_throttle(itemsize, samples_per_sec));
}
gr_throttle::gr_throttle(size_t itemsize, double samples_per_sec)
diff --git a/gnuradio-core/src/lib/general/gr_uchar_to_float.cc b/gnuradio-core/src/lib/general/gr_uchar_to_float.cc
index 305052942d..83616b4283 100644
--- a/gnuradio-core/src/lib/general/gr_uchar_to_float.cc
+++ b/gnuradio-core/src/lib/general/gr_uchar_to_float.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_uchar_to_float_sptr
gr_make_uchar_to_float ()
{
- return gr_uchar_to_float_sptr (new gr_uchar_to_float ());
+ return gnuradio::get_initial_sptr(new gr_uchar_to_float ());
}
gr_uchar_to_float::gr_uchar_to_float ()
diff --git a/gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.cc b/gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.cc
index 7c5fdb1d6d..e33c3da9a5 100644
--- a/gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.cc
+++ b/gnuradio-core/src/lib/general/gr_unpack_k_bits_bb.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_unpack_k_bits_bb_sptr gr_make_unpack_k_bits_bb (unsigned k)
{
- return gr_unpack_k_bits_bb_sptr (new gr_unpack_k_bits_bb (k));
+ return gnuradio::get_initial_sptr(new gr_unpack_k_bits_bb (k));
}
diff --git a/gnuradio-core/src/lib/general/gr_vco_f.cc b/gnuradio-core/src/lib/general/gr_vco_f.cc
index 342a880e45..43a686327b 100644
--- a/gnuradio-core/src/lib/general/gr_vco_f.cc
+++ b/gnuradio-core/src/lib/general/gr_vco_f.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_vco_f_sptr
gr_make_vco_f(double sampling_rate, double sensitivity, double amplitude)
{
- return gr_vco_f_sptr(new gr_vco_f(sampling_rate, sensitivity, amplitude));
+ return gnuradio::get_initial_sptr(new gr_vco_f(sampling_rate, sensitivity, amplitude));
}
diff --git a/gnuradio-core/src/lib/general/gr_vector_to_stream.cc b/gnuradio-core/src/lib/general/gr_vector_to_stream.cc
index 149bc0d5bf..0a0788de67 100644
--- a/gnuradio-core/src/lib/general/gr_vector_to_stream.cc
+++ b/gnuradio-core/src/lib/general/gr_vector_to_stream.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_vector_to_stream_sptr
gr_make_vector_to_stream (size_t item_size, size_t nitems_per_block)
{
- return gr_vector_to_stream_sptr (new gr_vector_to_stream (item_size, nitems_per_block));
+ return gnuradio::get_initial_sptr(new gr_vector_to_stream (item_size, nitems_per_block));
}
gr_vector_to_stream::gr_vector_to_stream (size_t item_size, size_t nitems_per_block)
diff --git a/gnuradio-core/src/lib/general/gr_vector_to_streams.cc b/gnuradio-core/src/lib/general/gr_vector_to_streams.cc
index 19f15b1706..cc32641525 100644
--- a/gnuradio-core/src/lib/general/gr_vector_to_streams.cc
+++ b/gnuradio-core/src/lib/general/gr_vector_to_streams.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2005 Free Software Foundation, Inc.
+ * Copyright 2004,2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -31,7 +31,7 @@
gr_vector_to_streams_sptr
gr_make_vector_to_streams (size_t item_size, size_t nstreams)
{
- return gr_vector_to_streams_sptr (new gr_vector_to_streams (item_size, nstreams));
+ return gnuradio::get_initial_sptr(new gr_vector_to_streams (item_size, nstreams));
}
gr_vector_to_streams::gr_vector_to_streams (size_t item_size, size_t nstreams)
diff --git a/gnuradio-core/src/lib/general/gr_wavelet_ff.cc b/gnuradio-core/src/lib/general/gr_wavelet_ff.cc
index 6cbfa23818..f77c96e993 100644
--- a/gnuradio-core/src/lib/general/gr_wavelet_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_wavelet_ff.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -38,7 +38,7 @@ gr_make_wavelet_ff(int size,
int order,
bool forward)
{
- return gr_wavelet_ff_sptr(new gr_wavelet_ff(size,
+ return gnuradio::get_initial_sptr(new gr_wavelet_ff(size,
order,
forward));
}
diff --git a/gnuradio-core/src/lib/general/gr_wvps_ff.cc b/gnuradio-core/src/lib/general/gr_wvps_ff.cc
index f814ba8fc4..8a8dc56acd 100644
--- a/gnuradio-core/src/lib/general/gr_wvps_ff.cc
+++ b/gnuradio-core/src/lib/general/gr_wvps_ff.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -39,7 +39,7 @@ ceil_log2(int k)
gr_wvps_ff_sptr
gr_make_wvps_ff(int ilen)
{
- return gr_wvps_ff_sptr(new gr_wvps_ff(ilen));
+ return gnuradio::get_initial_sptr(new gr_wvps_ff(ilen));
}
gr_wvps_ff::gr_wvps_ff(int ilen)
diff --git a/gnuradio-core/src/lib/general/gri_agc2_cc.i b/gnuradio-core/src/lib/general/gri_agc2_cc.i
index e7d6da97f3..0f97f1d8e3 100644
--- a/gnuradio-core/src/lib/general/gri_agc2_cc.i
+++ b/gnuradio-core/src/lib/general/gri_agc2_cc.i
@@ -39,4 +39,9 @@ class gri_agc2_cc {
float reference ();
float gain ();
float max_gain ();
+ void set_decay_rate (float rate);
+ void set_attack_rate (float rate);
+ void set_reference (float reference);
+ void set_gain (float gain);
+ void set_max_gain(float max_gain);
};
diff --git a/gnuradio-core/src/lib/general/gri_agc2_ff.i b/gnuradio-core/src/lib/general/gri_agc2_ff.i
index 3825ce225a..d04b638a6e 100644
--- a/gnuradio-core/src/lib/general/gri_agc2_ff.i
+++ b/gnuradio-core/src/lib/general/gri_agc2_ff.i
@@ -34,4 +34,14 @@ class gri_agc2_ff {
public:
gri_agc2_ff (float attack_rate = 1e-1, float decay_rate = 1e-2,
float reference = 1.0, float gain = 1.0, float max_gain = 0.0);
+ float attack_rate ();
+ float decay_rate ();
+ float reference ();
+ float gain ();
+ float max_gain ();
+ void set_attack_rate (float rate);
+ void set_decay_rate (float rate);
+ void set_reference (float reference);
+ void set_gain (float gain);
+ void set_max_gain (float max_gain);
};
diff --git a/gnuradio-core/src/lib/gengen/gr_add_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_add_XX.cc.t
index 2e44c5ea78..58a25325af 100644
--- a/gnuradio-core/src/lib/gengen/gr_add_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_XX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004, 2009 Free Software Foundation, Inc.
+ * Copyright 2004, 2009,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ (size_t vlen)
{
- return @SPTR_NAME@ (new @NAME@ (vlen));
+ return gnuradio::get_initial_sptr (new @NAME@ (vlen));
}
@NAME@::@NAME@ (size_t vlen)
diff --git a/gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t
index 3df3ea9c63..0d3034be7e 100644
--- a/gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ (@O_TYPE@ k)
{
- return @SPTR_NAME@ (new @NAME@ (k));
+ return gnuradio::get_initial_sptr (new @NAME@ (k));
}
@NAME@::@NAME@ (@O_TYPE@ k)
diff --git a/gnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t b/gnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t
index 0e6588dc0b..2a0a3ba3f9 100755
--- a/gnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ (const std::vector<@I_TYPE@> k)
{
- return @SPTR_NAME@ (new @NAME@ (k));
+ return gnuradio::get_initial_sptr (new @NAME@ (k));
}
@NAME@::@NAME@ (const std::vector<@I_TYPE@> k)
diff --git a/gnuradio-core/src/lib/gengen/gr_and_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_and_XX.cc.t
index cef21d3330..150ef7f0dc 100644
--- a/gnuradio-core/src/lib/gengen/gr_and_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_and_XX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ ()
{
- return @SPTR_NAME@ (new @NAME@ ());
+ return gnuradio::get_initial_sptr (new @NAME@ ());
}
@NAME@::@NAME@ ()
diff --git a/gnuradio-core/src/lib/gengen/gr_and_const_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_and_const_XX.cc.t
index ec725b23dc..bd48788e63 100644
--- a/gnuradio-core/src/lib/gengen/gr_and_const_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_and_const_XX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2009 Free Software Foundation, Inc.
+ * Copyright 2009,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ (@I_TYPE@ k)
{
- return @SPTR_NAME@ (new @NAME@ (k));
+ return gnuradio::get_initial_sptr (new @NAME@ (k));
};
@NAME@::@NAME@ (@I_TYPE@ k)
diff --git a/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t
index ab61fb08d3..635d991ef5 100644
--- a/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -35,7 +35,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ (const std::vector<@O_TYPE@> &symbol_table, const int D)
{
- return @SPTR_NAME@ (new @NAME@ (symbol_table,D));
+ return gnuradio::get_initial_sptr (new @NAME@ (symbol_table,D));
}
@NAME@::@NAME@ (const std::vector<@O_TYPE@> &symbol_table, const int D)
diff --git a/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t
index 2db490f135..1200145fa3 100644
--- a/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004, 2009 Free Software Foundation, Inc.
+ * Copyright 2004, 2009,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ (size_t vlen)
{
- return @SPTR_NAME@ (new @NAME@ (vlen));
+ return gnuradio::get_initial_sptr (new @NAME@ (vlen));
}
@NAME@::@NAME@ (size_t vlen)
diff --git a/gnuradio-core/src/lib/gengen/gr_integrate_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_integrate_XX.cc.t
index 0a62554bd1..f6e38848c7 100644
--- a/gnuradio-core/src/lib/gengen/gr_integrate_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_integrate_XX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ (int decim)
{
- return @SPTR_NAME@ (new @NAME@ (decim));
+ return gnuradio::get_initial_sptr (new @NAME@ (decim));
}
@NAME@::@NAME@ (int decim)
diff --git a/gnuradio-core/src/lib/gengen/gr_moving_average_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_moving_average_XX.cc.t
index 33a0acf9ce..8d2370d3ba 100644
--- a/gnuradio-core/src/lib/gengen/gr_moving_average_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_moving_average_XX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2008 Free Software Foundation, Inc.
+ * Copyright 2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ (int length, @O_TYPE@ scale, int max_iter)
{
- return @SPTR_NAME@ (new @NAME@ (length, scale, max_iter));
+ return gnuradio::get_initial_sptr (new @NAME@ (length, scale, max_iter));
}
@NAME@::@NAME@ (int length, @O_TYPE@ scale, int max_iter)
diff --git a/gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t
index 000c5e0bd8..13ec0c8b34 100644
--- a/gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004, 2009 Free Software Foundation, Inc.
+ * Copyright 2004, 2009,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ (size_t vlen)
{
- return @SPTR_NAME@ (new @NAME@ (vlen));
+ return gnuradio::get_initial_sptr (new @NAME@ (vlen));
}
@NAME@::@NAME@ (size_t vlen)
diff --git a/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t
index 715782dd18..09e658e90a 100644
--- a/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ (@O_TYPE@ k)
{
- return @SPTR_NAME@ (new @NAME@ (k));
+ return gnuradio::get_initial_sptr (new @NAME@ (k));
}
@NAME@::@NAME@ (@O_TYPE@ k)
diff --git a/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t b/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t
index 5b92ea8a12..8286453f1e 100755
--- a/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2006 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ (const std::vector<@I_TYPE@> k)
{
- return @SPTR_NAME@ (new @NAME@ (k));
+ return gnuradio::get_initial_sptr (new @NAME@ (k));
}
@NAME@::@NAME@ (const std::vector<@I_TYPE@> k)
diff --git a/gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t
index ee49d97b4e..62a8e63daf 100644
--- a/gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -34,7 +34,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ (bool mute)
{
- return @SPTR_NAME@ (new @NAME@ (mute));
+ return gnuradio::get_initial_sptr (new @NAME@ (mute));
}
@NAME@::@NAME@ (bool mute)
diff --git a/gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t b/gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t
index 83be9aa18f..35f5fabd9f 100644
--- a/gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -33,7 +33,7 @@
@NAME@_sptr
gr_make_@BASE_NAME@ (gr_noise_type_t type, float ampl, long seed)
{
- return @NAME@_sptr (new @NAME@ (type, ampl, seed));
+ return gnuradio::get_initial_sptr(new @NAME@ (type, ampl, seed));
}
diff --git a/gnuradio-core/src/lib/gengen/gr_not_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_not_XX.cc.t
index 272987411e..432938e677 100644
--- a/gnuradio-core/src/lib/gengen/gr_not_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_not_XX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ ()
{
- return @SPTR_NAME@ (new @NAME@ ());
+ return gnuradio::get_initial_sptr (new @NAME@ ());
}
@NAME@::@NAME@ ()
diff --git a/gnuradio-core/src/lib/gengen/gr_or_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_or_XX.cc.t
index e118cdbbb4..07c759d73e 100644
--- a/gnuradio-core/src/lib/gengen/gr_or_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_or_XX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ ()
{
- return @SPTR_NAME@ (new @NAME@ ());
+ return gnuradio::get_initial_sptr (new @NAME@ ());
}
@NAME@::@NAME@ ()
diff --git a/gnuradio-core/src/lib/gengen/gr_peak_detector_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_peak_detector_XX.cc.t
index ce63169207..1a4a2564b2 100644
--- a/gnuradio-core/src/lib/gengen/gr_peak_detector_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_peak_detector_XX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -35,7 +35,7 @@ gr_make_@BASE_NAME@ (float threshold_factor_rise,
float threshold_factor_fall,
int look_ahead, float alpha)
{
- return @SPTR_NAME@ (new @NAME@ (threshold_factor_rise,
+ return gnuradio::get_initial_sptr (new @NAME@ (threshold_factor_rise,
threshold_factor_fall,
look_ahead, alpha));
}
diff --git a/gnuradio-core/src/lib/gengen/gr_sample_and_hold_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_sample_and_hold_XX.cc.t
index 52538286e5..b78c52857a 100644
--- a/gnuradio-core/src/lib/gengen/gr_sample_and_hold_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_sample_and_hold_XX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ ()
{
- return @SPTR_NAME@ (new @NAME@ ());
+ return gnuradio::get_initial_sptr (new @NAME@ ());
}
@NAME@::@NAME@ ()
diff --git a/gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t b/gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t
index 0694df315c..9354eb93ca 100644
--- a/gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -47,7 +47,7 @@
gr_make_@BASE_NAME@ (double sampling_freq, gr_waveform_t waveform,
double frequency, double ampl, @TYPE@ offset)
{
- return @NAME@_sptr (new @NAME@ (sampling_freq, waveform, frequency, ampl, offset));
+ return gnuradio::get_initial_sptr(new @NAME@ (sampling_freq, waveform, frequency, ampl, offset));
}
int
diff --git a/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t
index c8bdabf9f6..f0ed75217f 100644
--- a/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004, 2009 Free Software Foundation, Inc.
+ * Copyright 2004, 2009,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ (size_t vlen)
{
- return @SPTR_NAME@ (new @NAME@ (vlen));
+ return gnuradio::get_initial_sptr (new @NAME@ (vlen));
}
@NAME@::@NAME@ (size_t vlen)
diff --git a/gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t b/gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t
index b2a6c4ac4e..f3466d46f8 100644
--- a/gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -54,7 +54,7 @@ int
@NAME@_sptr
gr_make_@BASE_NAME@ (int vlen)
{
- return @NAME@_sptr (new @NAME@ (vlen));
+ return gnuradio::get_initial_sptr(new @NAME@ (vlen));
}
std::vector<@TYPE@>
diff --git a/gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t b/gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t
index 889a6f22c2..1fe5df5b53 100644
--- a/gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -84,6 +84,6 @@ int
@NAME@_sptr
gr_make_@BASE_NAME@ (const std::vector<@TYPE@> &data, bool repeat, int vlen)
{
- return @NAME@_sptr (new @NAME@ (data, repeat, vlen));
+ return gnuradio::get_initial_sptr(new @NAME@ (data, repeat, vlen));
}
diff --git a/gnuradio-core/src/lib/gengen/gr_xor_XX.cc.t b/gnuradio-core/src/lib/gengen/gr_xor_XX.cc.t
index f64dd1c973..29230f7a6e 100644
--- a/gnuradio-core/src/lib/gengen/gr_xor_XX.cc.t
+++ b/gnuradio-core/src/lib/gengen/gr_xor_XX.cc.t
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
@SPTR_NAME@
gr_make_@BASE_NAME@ ()
{
- return @SPTR_NAME@ (new @NAME@ ());
+ return gnuradio::get_initial_sptr (new @NAME@ ());
}
@NAME@::@NAME@ ()
diff --git a/gnuradio-core/src/lib/io/Makefile.am b/gnuradio-core/src/lib/io/Makefile.am
index 9eacd137d9..c525546457 100644
--- a/gnuradio-core/src/lib/io/Makefile.am
+++ b/gnuradio-core/src/lib/io/Makefile.am
@@ -39,7 +39,6 @@ libio_la_SOURCES = \
gr_oscope_guts.cc \
gr_oscope_sink_f.cc \
gr_oscope_sink_x.cc \
- gri_logger.cc \
i2c.cc \
i2c_bitbang.cc \
i2c_bbio.cc \
@@ -72,7 +71,6 @@ grinclude_HEADERS = \
gr_oscope_sink_f.h \
gr_oscope_sink_x.h \
gr_trigger_mode.h \
- gri_logger.h \
i2c.h \
i2c_bitbang.h \
i2c_bbio.h \
diff --git a/gnuradio-core/src/lib/io/gr_file_descriptor_sink.cc b/gnuradio-core/src/lib/io/gr_file_descriptor_sink.cc
index 2da66b7ae2..09fb6c826c 100644
--- a/gnuradio-core/src/lib/io/gr_file_descriptor_sink.cc
+++ b/gnuradio-core/src/lib/io/gr_file_descriptor_sink.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -46,7 +46,7 @@ gr_file_descriptor_sink::gr_file_descriptor_sink (size_t itemsize, int fd)
gr_file_descriptor_sink_sptr
gr_make_file_descriptor_sink (size_t itemsize, int fd)
{
- return gr_file_descriptor_sink_sptr (new gr_file_descriptor_sink (itemsize, fd));
+ return gnuradio::get_initial_sptr(new gr_file_descriptor_sink (itemsize, fd));
}
gr_file_descriptor_sink::~gr_file_descriptor_sink ()
diff --git a/gnuradio-core/src/lib/io/gr_file_sink.cc b/gnuradio-core/src/lib/io/gr_file_sink.cc
index d40235fab9..aab0158e7b 100644
--- a/gnuradio-core/src/lib/io/gr_file_sink.cc
+++ b/gnuradio-core/src/lib/io/gr_file_sink.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2006,2007 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
gr_file_sink_sptr
gr_make_file_sink (size_t itemsize, const char *filename)
{
- return gr_file_sink_sptr (new gr_file_sink (itemsize, filename));
+ return gnuradio::get_initial_sptr(new gr_file_sink (itemsize, filename));
}
gr_file_sink::gr_file_sink(size_t itemsize, const char *filename)
@@ -70,5 +70,8 @@ gr_file_sink::work (int noutput_items,
nwritten += count;
inbuf += count * d_itemsize;
}
+ if (d_unbuffered)
+ fflush (d_fp);
+
return nwritten;
}
diff --git a/gnuradio-core/src/lib/io/gr_file_sink_base.cc b/gnuradio-core/src/lib/io/gr_file_sink_base.cc
index 5ddeeb4d56..c43304b0d3 100644
--- a/gnuradio-core/src/lib/io/gr_file_sink_base.cc
+++ b/gnuradio-core/src/lib/io/gr_file_sink_base.cc
@@ -118,3 +118,9 @@ gr_file_sink_base::do_update()
d_updated = false;
}
}
+
+void
+gr_file_sink_base::set_unbuffered(bool unbuffered)
+{
+ d_unbuffered = unbuffered;
+}
diff --git a/gnuradio-core/src/lib/io/gr_file_sink_base.h b/gnuradio-core/src/lib/io/gr_file_sink_base.h
index 0c028d7fd3..7b96cdb7f3 100644
--- a/gnuradio-core/src/lib/io/gr_file_sink_base.h
+++ b/gnuradio-core/src/lib/io/gr_file_sink_base.h
@@ -37,6 +37,7 @@ class gr_file_sink_base
bool d_updated; // is there a new FILE pointer?
bool d_is_binary;
boost::mutex d_mutex;
+ bool d_unbuffered;
protected:
gr_file_sink_base(const char *filename, bool is_binary);
@@ -61,6 +62,12 @@ class gr_file_sink_base
* \brief if we've had an update, do it now.
*/
void do_update();
+
+
+ /*!
+ * \brief turn on unbuffered writes for slower outputs
+ */
+ void set_unbuffered(bool unbuffered);
};
diff --git a/gnuradio-core/src/lib/io/gr_file_sink_base.i b/gnuradio-core/src/lib/io/gr_file_sink_base.i
index 05a3353bb4..ed4342482d 100644
--- a/gnuradio-core/src/lib/io/gr_file_sink_base.i
+++ b/gnuradio-core/src/lib/io/gr_file_sink_base.i
@@ -43,4 +43,9 @@ class gr_file_sink_base
* \brief if we've had an update, do it now.
*/
void do_update();
+
+ /*!
+ *\brief turn on unbuffered mode for slow outputs
+ */
+ void set_unbuffered(bool unbuffered);
};
diff --git a/gnuradio-core/src/lib/io/gr_file_source.cc b/gnuradio-core/src/lib/io/gr_file_source.cc
index 5591826d0c..d045e26b39 100644
--- a/gnuradio-core/src/lib/io/gr_file_source.cc
+++ b/gnuradio-core/src/lib/io/gr_file_source.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -74,7 +74,7 @@ gr_file_source::gr_file_source (size_t itemsize, const char *filename, bool repe
gr_file_source_sptr
gr_make_file_source (size_t itemsize, const char *filename, bool repeat)
{
- return gr_file_source_sptr (new gr_file_source (itemsize, filename, repeat));
+ return gnuradio::get_initial_sptr(new gr_file_source (itemsize, filename, repeat));
}
gr_file_source::~gr_file_source ()
diff --git a/gnuradio-core/src/lib/io/gr_histo_sink_f.cc b/gnuradio-core/src/lib/io/gr_histo_sink_f.cc
index 2885fe428a..a37189c240 100644
--- a/gnuradio-core/src/lib/io/gr_histo_sink_f.cc
+++ b/gnuradio-core/src/lib/io/gr_histo_sink_f.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2009 Free Software Foundation, Inc.
+ * Copyright 2009,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -46,7 +46,7 @@ static float get_clean_num(float num){
gr_histo_sink_f_sptr
gr_make_histo_sink_f (gr_msg_queue_sptr msgq)
{
- return gr_histo_sink_f_sptr (new gr_histo_sink_f (msgq));
+ return gnuradio::get_initial_sptr(new gr_histo_sink_f (msgq));
}
gr_histo_sink_f::gr_histo_sink_f (gr_msg_queue_sptr msgq)
diff --git a/gnuradio-core/src/lib/io/gr_message_sink.cc b/gnuradio-core/src/lib/io/gr_message_sink.cc
index b9e0cc382f..8881e97f4d 100644
--- a/gnuradio-core/src/lib/io/gr_message_sink.cc
+++ b/gnuradio-core/src/lib/io/gr_message_sink.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -40,7 +40,7 @@
gr_message_sink_sptr
gr_make_message_sink (size_t itemsize, gr_msg_queue_sptr msgq, bool dont_block)
{
- return gr_message_sink_sptr(new gr_message_sink(itemsize, msgq, dont_block));
+ return gnuradio::get_initial_sptr(new gr_message_sink(itemsize, msgq, dont_block));
}
gr_message_sink::gr_message_sink (size_t itemsize, gr_msg_queue_sptr msgq, bool dont_block)
diff --git a/gnuradio-core/src/lib/io/gr_message_source.cc b/gnuradio-core/src/lib/io/gr_message_source.cc
index 3efc5b3216..0fa24f2f9c 100644
--- a/gnuradio-core/src/lib/io/gr_message_source.cc
+++ b/gnuradio-core/src/lib/io/gr_message_source.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2005 Free Software Foundation, Inc.
+ * Copyright 2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -40,14 +40,14 @@
gr_message_source_sptr
gr_make_message_source(size_t itemsize, int msgq_limit)
{
- return gr_message_source_sptr(new gr_message_source(itemsize, msgq_limit));
+ return gnuradio::get_initial_sptr(new gr_message_source(itemsize, msgq_limit));
}
// public constructor that takes existing message queue
gr_message_source_sptr
gr_make_message_source(size_t itemsize, gr_msg_queue_sptr msgq)
{
- return gr_message_source_sptr(new gr_message_source(itemsize, msgq));
+ return gnuradio::get_initial_sptr(new gr_message_source(itemsize, msgq));
}
gr_message_source::gr_message_source (size_t itemsize, int msgq_limit)
diff --git a/gnuradio-core/src/lib/io/gr_oscope_guts.cc b/gnuradio-core/src/lib/io/gr_oscope_guts.cc
index 80f78240d3..ce7feca13c 100644
--- a/gnuradio-core/src/lib/io/gr_oscope_guts.cc
+++ b/gnuradio-core/src/lib/io/gr_oscope_guts.cc
@@ -104,34 +104,49 @@ gr_oscope_guts::process_sample (const float *channel_data)
d_decimator_count = d_decimator_count_init;
- for (int i = 0; i < d_nchannels; i++)
- d_buffer[i][d_obi] = channel_data[i]; // copy data into buffer
-
- switch (d_state){
- case HOLD_OFF:
- d_hold_off_count--;
- if (d_hold_off_count <= 0)
- enter_look_for_trigger ();
- break;
-
- case LOOK_FOR_TRIGGER:
- if (found_trigger ())
- enter_post_trigger ();
- break;
-
- case POST_TRIGGER:
- d_post_trigger_count--;
- if (d_post_trigger_count <= 0){
- write_output_records ();
- enter_hold_off ();
- }
- break;
-
- default:
- assert (0);
+ if (d_trigger_mode != gr_TRIG_MODE_STRIPCHART)
+ {
+ for (int i = 0; i < d_nchannels; i++)
+ d_buffer[i][d_obi] = channel_data[i]; // copy data into buffer
+
+ switch (d_state){
+ case HOLD_OFF:
+ d_hold_off_count--;
+ if (d_hold_off_count <= 0)
+ enter_look_for_trigger ();
+ break;
+
+ case LOOK_FOR_TRIGGER:
+ if (found_trigger ())
+ enter_post_trigger ();
+ break;
+
+ case POST_TRIGGER:
+ d_post_trigger_count--;
+ if (d_post_trigger_count <= 0){
+ write_output_records ();
+ enter_hold_off ();
+ }
+ break;
+
+ default:
+ assert (0);
+ }
+
+ d_obi = incr_bi (d_obi);
+ }
+ else
+ {
+ for (int i = 0; i < d_nchannels; i++)
+ {
+ for (int j = OUTPUT_RECORD_SIZE-1; j >= 0; j--)
+ {
+ d_buffer[i][j] = d_buffer[i][j-1];
+ }
+ d_buffer[i][0] = channel_data[i];
+ }
+ write_output_records();
}
-
- d_obi = incr_bi (d_obi);
}
/*
diff --git a/gnuradio-core/src/lib/io/gr_oscope_sink_f.cc b/gnuradio-core/src/lib/io/gr_oscope_sink_f.cc
index cb401699e9..eca0f6dc61 100644
--- a/gnuradio-core/src/lib/io/gr_oscope_sink_f.cc
+++ b/gnuradio-core/src/lib/io/gr_oscope_sink_f.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2003,2004,2005 Free Software Foundation, Inc.
+ * Copyright 2003,2004,2005,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -32,7 +32,7 @@
gr_oscope_sink_f_sptr
gr_make_oscope_sink_f (double sampling_rate, gr_msg_queue_sptr msgq)
{
- return gr_oscope_sink_f_sptr (new gr_oscope_sink_f (sampling_rate, msgq));
+ return gnuradio::get_initial_sptr(new gr_oscope_sink_f (sampling_rate, msgq));
}
diff --git a/gnuradio-core/src/lib/io/gr_trigger_mode.h b/gnuradio-core/src/lib/io/gr_trigger_mode.h
index 63f6b1c987..8e1222856d 100644
--- a/gnuradio-core/src/lib/io/gr_trigger_mode.h
+++ b/gnuradio-core/src/lib/io/gr_trigger_mode.h
@@ -27,6 +27,7 @@ enum gr_trigger_mode {
gr_TRIG_MODE_FREE,
gr_TRIG_MODE_AUTO,
gr_TRIG_MODE_NORM,
+ gr_TRIG_MODE_STRIPCHART,
};
enum gr_trigger_slope {
diff --git a/gnuradio-core/src/lib/io/gr_udp_sink.cc b/gnuradio-core/src/lib/io/gr_udp_sink.cc
index d37adfb8a8..36b4cbe36b 100644
--- a/gnuradio-core/src/lib/io/gr_udp_sink.cc
+++ b/gnuradio-core/src/lib/io/gr_udp_sink.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007,2008,2009 Free Software Foundation, Inc.
+ * Copyright 2007,2008,2009,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -26,13 +26,24 @@
#include <gr_udp_sink.h>
#include <gr_io_signature.h>
#include <stdexcept>
-#if defined(HAVE_SOCKET)
-#include <netdb.h>
+#include <errno.h>
#include <stdio.h>
+#include <string.h>
+#if defined(HAVE_NETDB_H)
+#include <netdb.h>
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h> //usually included by <netdb.h>?
+#endif
typedef void* optval_t;
-#else
+#elif defined(HAVE_WINDOWS_H)
+// if not posix, assume winsock
+#define USING_WINSOCK
+#include <winsock2.h>
+#include <ws2tcpip.h>
#define SHUT_RDWR 2
-#define inet_aton(N,A) ( (A)->s_addr = inet_addr(N), ( (A)->s_addr != INADDR_NONE ) )
typedef char* optval_t;
#endif
@@ -40,91 +51,67 @@ typedef char* optval_t;
#define SNK_VERBOSE 0
-gr_udp_sink::gr_udp_sink (size_t itemsize,
- const char *src, unsigned short port_src,
- const char *dst, unsigned short port_dst,
- int payload_size)
- : gr_sync_block ("udp_sink",
- gr_make_io_signature (1, 1, itemsize),
- gr_make_io_signature (0, 0, 0)),
- d_itemsize (itemsize), d_updated(false), d_payload_size(payload_size)
+static int is_error( int perr )
{
- int ret = 0;
-
- // Set up the address stucture for the source address and port numbers
- // Get the source IP address from the host name
- struct hostent *hsrc = gethostbyname(src);
- if(hsrc) { // if the source was provided as a host namex
- d_ip_src = *(struct in_addr*)hsrc->h_addr_list[0];
+ // Compare error to posix error code; return nonzero if match.
+#if defined(USING_WINSOCK)
+#define ENOPROTOOPT 109
+#define ECONNREFUSED 111
+ // All codes to be checked for must be defined below
+ int werr = WSAGetLastError();
+ switch( werr ) {
+ case WSAETIMEDOUT:
+ return( perr == EAGAIN );
+ case WSAENOPROTOOPT:
+ return( perr == ENOPROTOOPT );
+ case WSAECONNREFUSED:
+ return( perr == ECONNREFUSED );
+ default:
+ fprintf(stderr,"gr_udp_source/is_error: unknown error %d\n", perr );
+ throw std::runtime_error("internal error");
}
- else { // assume it was specified as an IP address
- if((ret=inet_aton(src, &d_ip_src)) == 0) { // format IP address
- perror("Not a valid source IP address or host name");
- throw std::runtime_error("can't initialize source socket");
- }
- }
-
- // Get the destination IP address from the host name
- struct hostent *hdst = gethostbyname(dst);
- if(hdst) { // if the source was provided as a host namex
- d_ip_dst = *(struct in_addr*)hdst->h_addr_list[0];
- }
- else { // assume it was specified as an IP address
- if((ret=inet_aton(dst, &d_ip_dst)) == 0) { // format IP address
- perror("Not a valid destination IP address or host name");
- throw std::runtime_error("can't initialize destination socket");
- }
- }
-
- d_port_src = htons(port_src); // format port number
- d_port_dst = htons(port_dst); // format port number
-
- d_sockaddr_src.sin_family = AF_INET;
- d_sockaddr_src.sin_addr = d_ip_src;
- d_sockaddr_src.sin_port = d_port_src;
-
- d_sockaddr_dst.sin_family = AF_INET;
- d_sockaddr_dst.sin_addr = d_ip_dst;
- d_sockaddr_dst.sin_port = d_port_dst;
-
- open();
-}
-
-// public constructor that returns a shared_ptr
-
-gr_udp_sink_sptr
-gr_make_udp_sink (size_t itemsize,
- const char *src, unsigned short port_src,
- const char *dst, unsigned short port_dst,
- int payload_size)
-{
- return gr_udp_sink_sptr (new gr_udp_sink (itemsize,
- src, port_src,
- dst, port_dst,
- payload_size));
+ return 0;
+#else
+ return( perr == errno );
+#endif
}
-gr_udp_sink::~gr_udp_sink ()
+static void report_error( const char *msg1, const char *msg2 )
{
- close();
+ // Deal with errors, both posix and winsock
+#if defined(USING_WINSOCK)
+ int werr = WSAGetLastError();
+ fprintf(stderr, "%s: winsock error %d\n", msg1, werr );
+#else
+ perror(msg1);
+#endif
+ if( msg2 != NULL )
+ throw std::runtime_error(msg2);
+ return;
}
-bool
-gr_udp_sink::open()
+gr_udp_sink::gr_udp_sink (size_t itemsize,
+ const char *host, unsigned short port,
+ int payload_size, bool eof)
+ : gr_sync_block ("udp_sink",
+ gr_make_io_signature (1, 1, itemsize),
+ gr_make_io_signature (0, 0, 0)),
+ d_itemsize (itemsize), d_payload_size(payload_size), d_eof(eof),
+ d_socket(-1), d_connected(false)
{
- gruel::scoped_lock guard(d_mutex); // hold mutex for duration of this function
-
- // create socket
- if((d_socket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) {
- perror("socket open");
- throw std::runtime_error("can't open socket");
+#if defined(USING_WINSOCK) // for Windows (with MinGW)
+ // initialize winsock DLL
+ WSADATA wsaData;
+ int iResult = WSAStartup( MAKEWORD(2,2), &wsaData );
+ if( iResult != NO_ERROR ) {
+ report_error( "gr_udp_source WSAStartup", "can't open socket" );
}
+#endif
- // Turn on reuse address
- int opt_val = true;
- if(setsockopt(d_socket, SOL_SOCKET, SO_REUSEADDR, (optval_t)&opt_val, sizeof(int)) == -1) {
- perror("SO_REUSEADDR");
- throw std::runtime_error("can't set socket option SO_REUSEADDR");
+ // create socket
+ d_socket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
+ if(d_socket == -1) {
+ report_error("socket open","can't open socket");
}
// Don't wait when shutting down
@@ -132,36 +119,46 @@ gr_udp_sink::open()
lngr.l_onoff = 1;
lngr.l_linger = 0;
if(setsockopt(d_socket, SOL_SOCKET, SO_LINGER, (optval_t)&lngr, sizeof(linger)) == -1) {
- perror("SO_LINGER");
- throw std::runtime_error("can't set socket option SO_LINGER");
+ if( !is_error(ENOPROTOOPT) ) { // no SO_LINGER for SOCK_DGRAM on Windows
+ report_error("SO_LINGER","can't set socket option SO_LINGER");
+ }
}
- // bind socket to an address and port number to listen on
- if(bind (d_socket, (sockaddr*)&d_sockaddr_src, sizeof(struct sockaddr)) == -1) {
- perror("socket bind");
- throw std::runtime_error("can't bind socket");
- }
+ // Get the destination address
+ connect(host, port);
+}
- // Not sure if we should throw here or allow retries
- if(connect(d_socket, (sockaddr*)&d_sockaddr_dst, sizeof(struct sockaddr)) == -1) {
- perror("socket connect");
- throw std::runtime_error("can't connect to socket");
- }
+// public constructor that returns a shared_ptr
- d_updated = true;
- return d_socket != 0;
+gr_udp_sink_sptr
+gr_make_udp_sink (size_t itemsize,
+ const char *host, unsigned short port,
+ int payload_size, bool eof)
+{
+ return gnuradio::get_initial_sptr(new gr_udp_sink (itemsize,
+ host, port,
+ payload_size, eof));
}
-void
-gr_udp_sink::close()
+gr_udp_sink::~gr_udp_sink ()
{
- gruel::scoped_lock guard(d_mutex); // hold mutex for duration of this function
+ if (d_connected)
+ disconnect();
- if (d_socket){
+ if (d_socket != -1){
shutdown(d_socket, SHUT_RDWR);
- d_socket = 0;
+#if defined(USING_WINSOCK)
+ closesocket(d_socket);
+#else
+ ::close(d_socket);
+#endif
+ d_socket = -1;
}
- d_updated = true;
+
+#if defined(USING_WINSOCK) // for Windows (with MinGW)
+ // free winsock resources
+ WSACleanup();
+#endif
}
int
@@ -174,21 +171,31 @@ gr_udp_sink::work (int noutput_items,
ssize_t total_size = noutput_items*d_itemsize;
#if SNK_VERBOSE
- printf("Entered upd_sink\n");
+ printf("Entered udp_sink\n");
#endif
+ gruel::scoped_lock guard(d_mutex); // protect d_socket
+
while(bytes_sent < total_size) {
bytes_to_send = std::min((ssize_t)d_payload_size, (total_size-bytes_sent));
- r = send(d_socket, (in+bytes_sent), bytes_to_send, 0);
- if(r == -1) { // error on send command
- perror("udp_sink"); // there should be no error case where this function
- return -1; // should not exit immediately
+ if(d_connected) {
+ r = send(d_socket, (in+bytes_sent), bytes_to_send, 0);
+ if(r == -1) { // error on send command
+ if( is_error(ECONNREFUSED) )
+ r = bytes_to_send; // discard data until receiver is started
+ else {
+ report_error("udp_sink",NULL); // there should be no error case where
+ return -1; // this function should not exit immediately
+ }
+ }
}
+ else
+ r = bytes_to_send; // discarded for lack of connection
bytes_sent += r;
#if SNK_VERBOSE
- printf("\tbyte sent: %d bytes\n", bytes);
+ printf("\tbyte sent: %d bytes\n", r);
#endif
}
@@ -198,3 +205,98 @@ gr_udp_sink::work (int noutput_items,
return noutput_items;
}
+
+void gr_udp_sink::connect( const char *host, unsigned short port )
+{
+ if(d_connected)
+ disconnect();
+
+ if(host != NULL ) {
+ // Get the destination address
+ struct addrinfo *ip_dst;
+ struct addrinfo hints;
+ memset( (void*)&hints, 0, sizeof(hints) );
+ hints.ai_family = AF_INET;
+ hints.ai_socktype = SOCK_DGRAM;
+ hints.ai_protocol = IPPROTO_UDP;
+ char port_str[12];
+ sprintf( port_str, "%d", port );
+
+ // FIXME leaks if report_error throws below
+ int ret = getaddrinfo( host, port_str, &hints, &ip_dst );
+ if( ret != 0 )
+ report_error("gr_udp_source/getaddrinfo",
+ "can't initialize destination socket" );
+
+ // don't need d_mutex lock when !d_connected
+ if(::connect(d_socket, ip_dst->ai_addr, ip_dst->ai_addrlen) == -1) {
+ report_error("socket connect","can't connect to socket");
+ }
+ d_connected = true;
+
+ freeaddrinfo(ip_dst);
+ }
+
+ return;
+}
+
+void gr_udp_sink::disconnect()
+{
+ if(!d_connected)
+ return;
+
+ #if SNK_VERBOSE
+ printf("gr_udp_sink disconnecting\n");
+ #endif
+
+ gruel::scoped_lock guard(d_mutex); // protect d_socket from work()
+
+ // Send a few zero-length packets to signal receiver we are done
+ if(d_eof) {
+ int i;
+ for( i = 0; i < 3; i++ )
+ (void) send( d_socket, NULL, 0, 0 ); // ignore errors
+ }
+
+ // Sending EOF can produce ERRCONNREFUSED errors that won't show up
+ // until the next send or recv, which might confuse us if it happens
+ // on a new connection. The following does a nonblocking recv to
+ // clear any such errors.
+ timeval timeout;
+ timeout.tv_sec = 0; // zero time for immediate return
+ timeout.tv_usec = 0;
+ fd_set readfds;
+ FD_ZERO(&readfds);
+ FD_SET(d_socket, &readfds);
+ int r = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout);
+ if(r < 0) {
+ #if SNK_VERBOSE
+ report_error("udp_sink/select",NULL);
+ #endif
+ }
+ else if(r > 0) { // call recv() to get error return
+ r = recv(d_socket, (char*)&readfds, sizeof(readfds), 0);
+ if(r < 0) {
+ #if SNK_VERBOSE
+ report_error("udp_sink/recv",NULL);
+ #endif
+ }
+ }
+
+ // Since I can't find any way to disconnect a datagram socket in Cygwin,
+ // we just leave it connected but disable sending.
+#if 0
+ // zeroed address structure should reset connection
+ struct sockaddr addr;
+ memset( (void*)&addr, 0, sizeof(addr) );
+ // addr.sa_family = AF_UNSPEC; // doesn't work on Cygwin
+ // addr.sa_family = AF_INET; // doesn't work on Cygwin
+
+ if(::connect(d_socket, &addr, sizeof(addr)) == -1)
+ report_error("socket connect","can't connect to socket");
+#endif
+
+ d_connected = false;
+
+ return;
+}
diff --git a/gnuradio-core/src/lib/io/gr_udp_sink.h b/gnuradio-core/src/lib/io/gr_udp_sink.h
index f22b92dd03..421d514a4d 100644
--- a/gnuradio-core/src/lib/io/gr_udp_sink.h
+++ b/gnuradio-core/src/lib/io/gr_udp_sink.h
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007,2008,2009 Free Software Foundation, Inc.
+ * Copyright 2007,2008,2009,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -24,18 +24,6 @@
#define INCLUDED_GR_UDP_SINK_H
#include <gr_sync_block.h>
-#include <boost/thread.hpp>
-#if defined(HAVE_SOCKET)
-#include <sys/socket.h>
-#include <arpa/inet.h>
-#elif defined(HAVE_WINDOWS_H)
-#include <winsock2.h>
-#include <windows.h>
-#endif
-#if defined(HAVE_NETINET_IN_H)
-#include <netinet/in.h>
-#endif
-
#include <gruel/thread.h>
class gr_udp_sink;
@@ -43,85 +31,75 @@ typedef boost::shared_ptr<gr_udp_sink> gr_udp_sink_sptr;
gr_udp_sink_sptr
gr_make_udp_sink (size_t itemsize,
- const char *src, unsigned short port_src,
- const char *dst, unsigned short port_dst,
- int payload_size=1472);
+ const char *host, unsigned short port,
+ int payload_size=1472, bool eof=true);
/*!
* \brief Write stream to an UDP socket.
* \ingroup sink_blk
*
* \param itemsize The size (in bytes) of the item datatype
- * \param src The source address as either the host name or the 'numbers-and-dots'
- * IP address
- * \param port_src Destination port to bind to (0 allows socket to choose an appropriate port)
- * \param dst The destination address as either the host name or the 'numbers-and-dots'
- * IP address
- * \param port_dst Destination port to connect to
- * \param payload_size UDP payload size by default set to
- * 1472 = (1500 MTU - (8 byte UDP header) - (20 byte IP header))
+ * \param host The name or IP address of the receiving host; use
+ * NULL or None for no connection
+ * \param port Destination port to connect to on receiving host
+ * \param payload_size UDP payload size by default set to 1472 =
+ * (1500 MTU - (8 byte UDP header) - (20 byte IP header))
+ * \param eof Send zero-length packet on disconnect
*/
class gr_udp_sink : public gr_sync_block
{
friend gr_udp_sink_sptr gr_make_udp_sink (size_t itemsize,
- const char *src, unsigned short port_src,
- const char *dst, unsigned short port_dst,
- int payload_size);
+ const char *host,
+ unsigned short port,
+ int payload_size, bool eof);
private:
size_t d_itemsize;
- bool d_updated;
- gruel::mutex d_mutex;
- int d_payload_size; // maximum transmission unit (packet length)
- int d_socket; // handle to socket
- int d_socket_rcv; // handle to socket retuned in the accept call
- struct in_addr d_ip_src; // store the source ip info
- struct in_addr d_ip_dst; // store the destination ip info
- unsigned short d_port_src; // the port number to open for connections to this service
- unsigned short d_port_dst; // port number of the remove system
- struct sockaddr_in d_sockaddr_src; // store the source sockaddr data (formatted IP address and port number)
- struct sockaddr_in d_sockaddr_dst; // store the destination sockaddr data (formatted IP address and port number)
+ int d_payload_size; // maximum transmission unit (packet length)
+ bool d_eof; // send zero-length packet on disconnect
+ int d_socket; // handle to socket
+ bool d_connected; // are we connected?
+ gruel::mutex d_mutex; // protects d_socket and d_connected
protected:
/*!
* \brief UDP Sink Constructor
*
* \param itemsize The size (in bytes) of the item datatype
- * \param src The source address as either the host name or the 'numbers-and-dots'
- * IP address
- * \param port_src Destination port to bind to (0 allows socket to choose an appropriate port)
- * \param dst The destination address as either the host name or the 'numbers-and-dots'
- * IP address
- * \param port_dst Destination port to connect to
+ * \param host The name or IP address of the receiving host; use
+ * NULL or None for no connection
+ * \param port Destination port to connect to on receiving host
* \param payload_size UDP payload size by default set to
* 1472 = (1500 MTU - (8 byte UDP header) - (20 byte IP header))
+ * \param eof Send zero-length packet on disconnect
*/
gr_udp_sink (size_t itemsize,
- const char *src, unsigned short port_src,
- const char *dst, unsigned short port_dst,
- int payload_size);
+ const char *host, unsigned short port,
+ int payload_size, bool eof);
public:
~gr_udp_sink ();
- /*!
- * \brief open a socket specified by the port and ip address info
- *
- * Opens a socket, binds to the address, and makes connectionless association
- * over UDP. If any of these fail, the fuction retuns the error and exits.
- */
- bool open();
+ /*! \brief return the PAYLOAD_SIZE of the socket */
+ int payload_size() { return d_payload_size; }
- /*!
- * \brief Close current socket.
+ /*! \brief Change the connection to a new destination
+ *
+ * \param host The name or IP address of the receiving host; use
+ * NULL or None to break the connection without closing
+ * \param port Destination port to connect to on receiving host
*
- * Shuts down read/write on the socket
+ * Calls disconnect() to terminate any current connection first.
*/
- void close();
+ void connect( const char *host, unsigned short port );
- /*! \brief return the PAYLOAD_SIZE of the socket */
- int payload_size() { return d_payload_size; }
+ /*! \brief Send zero-length packet (if eof is requested) then stop sending
+ *
+ * Zero-byte packets can be interpreted as EOF by gr_udp_source. Note that
+ * disconnect occurs automatically when the sink is destroyed, but not when
+ * its top_block stops.*/
+ void disconnect();
// should we export anything else?
diff --git a/gnuradio-core/src/lib/io/gr_udp_sink.i b/gnuradio-core/src/lib/io/gr_udp_sink.i
index 0f37b477b2..a71006ae03 100644
--- a/gnuradio-core/src/lib/io/gr_udp_sink.i
+++ b/gnuradio-core/src/lib/io/gr_udp_sink.i
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -25,22 +25,22 @@ GR_SWIG_BLOCK_MAGIC(gr,udp_sink)
gr_udp_sink_sptr
gr_make_udp_sink (size_t itemsize,
- const char *src, unsigned short port_src,
- const char *dst, unsigned short port_dst,
- int payload_size=1472);
+ const char *host, unsigned short port,
+ int payload_size=1472, bool eof=true) throw (std::runtime_error);
class gr_udp_sink : public gr_sync_block
{
protected:
gr_udp_sink (size_t itemsize,
- const char *src, unsigned short port_src,
- const char *dst, unsigned short port_dst,
- int payload_size);
-
- bool open();
- void close();
- int payload_size() { return d_payload_size; }
+ const char *host, unsigned short port,
+ int payload_size, bool eof)
+ throw (std::runtime_error);
public:
~gr_udp_sink ();
+
+ int payload_size() { return d_payload_size; }
+ void connect( const char *host, unsigned short port );
+ void disconnect();
+
};
diff --git a/gnuradio-core/src/lib/io/gr_udp_source.cc b/gnuradio-core/src/lib/io/gr_udp_source.cc
index d76d0ee32f..ca31233de4 100644
--- a/gnuradio-core/src/lib/io/gr_udp_source.cc
+++ b/gnuradio-core/src/lib/io/gr_udp_source.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007,2008,2009 Free Software Foundation, Inc.
+ * Copyright 2007,2008,2009,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -29,80 +29,126 @@
#include <errno.h>
#include <stdio.h>
#include <string.h>
-#if defined(HAVE_SOCKET)
+
+#if defined(HAVE_NETDB_H)
#include <netdb.h>
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
typedef void* optval_t;
-#else
+
+// ntohs() on FreeBSD may require both netinet/in.h and arpa/inet.h, in order
+#if defined(HAVE_NETINET_IN_H)
+#include <netinet/in.h>
+#endif
+#if defined(HAVE_ARPA_INET_H)
+#include <arpa/inet.h>
+#endif
+
+#elif defined(HAVE_WINDOWS_H)
+// if not posix, assume winsock
+#define USING_WINSOCK
+#include <winsock2.h>
+#include <ws2tcpip.h>
#define SHUT_RDWR 2
-#define inet_aton(N,A) ( (A)->s_addr = inet_addr(N), ( (A)->s_addr != INADDR_NONE ) )
typedef char* optval_t;
#endif
+#define USE_SELECT 1 // non-blocking receive on all platforms
+#define USE_RCV_TIMEO 0 // non-blocking receive on all but Cygwin
#define SRC_VERBOSE 0
-gr_udp_source::gr_udp_source(size_t itemsize, const char *src,
- unsigned short port_src, int payload_size)
+static int is_error( int perr )
+{
+ // Compare error to posix error code; return nonzero if match.
+#if defined(USING_WINSOCK)
+#define ENOPROTOOPT 109
+ // All codes to be checked for must be defined below
+ int werr = WSAGetLastError();
+ switch( werr ) {
+ case WSAETIMEDOUT:
+ return( perr == EAGAIN );
+ case WSAENOPROTOOPT:
+ return( perr == ENOPROTOOPT );
+ default:
+ fprintf(stderr,"gr_udp_source/is_error: unknown error %d\n", perr );
+ throw std::runtime_error("internal error");
+ }
+ return 0;
+#else
+ return( perr == errno );
+#endif
+}
+
+static void report_error( const char *msg1, const char *msg2 )
+{
+ // Deal with errors, both posix and winsock
+#if defined(USING_WINSOCK)
+ int werr = WSAGetLastError();
+ fprintf(stderr, "%s: winsock error %d\n", msg1, werr );
+#else
+ perror(msg1);
+#endif
+ if( msg2 != NULL )
+ throw std::runtime_error(msg2);
+ return;
+}
+
+gr_udp_source::gr_udp_source(size_t itemsize, const char *host,
+ unsigned short port, int payload_size,
+ bool eof, bool wait)
: gr_sync_block ("udp_source",
gr_make_io_signature(0, 0, 0),
gr_make_io_signature(1, 1, itemsize)),
- d_itemsize(itemsize), d_updated(false), d_payload_size(payload_size), d_residual(0), d_temp_offset(0)
+ d_itemsize(itemsize), d_payload_size(payload_size),
+ d_eof(eof), d_wait(wait), d_socket(-1), d_residual(0), d_temp_offset(0)
{
int ret = 0;
+
+#if defined(USING_WINSOCK) // for Windows (with MinGW)
+ // initialize winsock DLL
+ WSADATA wsaData;
+ int iResult = WSAStartup( MAKEWORD(2,2), &wsaData );
+ if( iResult != NO_ERROR ) {
+ report_error( "gr_udp_source WSAStartup", "can't open socket" );
+ }
+#endif
// Set up the address stucture for the source address and port numbers
// Get the source IP address from the host name
- struct hostent *hsrc = gethostbyname(src);
- if(hsrc) { // if the source was provided as a host namex
- d_ip_src = *(struct in_addr*)hsrc->h_addr_list[0];
- }
- else { // assume it was specified as an IP address
- if((ret=inet_aton(src, &d_ip_src)) == 0) { // format IP address
- perror("Not a valid source IP address or host name");
- throw std::runtime_error("can't initialize source socket");
- }
- }
+ struct addrinfo *ip_src; // store the source IP address to use
+ struct addrinfo hints;
+ memset( (void*)&hints, 0, sizeof(hints) );
+ hints.ai_family = AF_INET;
+ hints.ai_socktype = SOCK_DGRAM;
+ hints.ai_protocol = IPPROTO_UDP;
+ hints.ai_flags = AI_PASSIVE;
+ char port_str[12];
+ sprintf( port_str, "%d", port );
- d_port_src = htons(port_src); // format port number
-
- d_sockaddr_src.sin_family = AF_INET;
- d_sockaddr_src.sin_addr = d_ip_src;
- d_sockaddr_src.sin_port = d_port_src;
+ // FIXME leaks if report_error throws below
+ ret = getaddrinfo( host, port_str, &hints, &ip_src );
+ if( ret != 0 )
+ report_error("gr_udp_source/getaddrinfo",
+ "can't initialize source socket" );
+ // FIXME leaks if report_error throws below
d_temp_buff = new char[d_payload_size]; // allow it to hold up to payload_size bytes
-
- open();
-}
-gr_udp_source_sptr
-gr_make_udp_source (size_t itemsize, const char *ipaddr,
- unsigned short port, int payload_size)
-{
- return gr_udp_source_sptr (new gr_udp_source (itemsize, ipaddr,
- port, payload_size));
-}
-
-gr_udp_source::~gr_udp_source ()
-{
- delete [] d_temp_buff;
- close();
-}
-
-bool
-gr_udp_source::open()
-{
- gruel::scoped_lock guard(d_mutex); // hold mutex for duration of this function
// create socket
- d_socket = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
+ d_socket = socket(ip_src->ai_family, ip_src->ai_socktype,
+ ip_src->ai_protocol);
if(d_socket == -1) {
- perror("socket open");
- throw std::runtime_error("can't open socket");
+ report_error("socket open","can't open socket");
}
// Turn on reuse address
int opt_val = 1;
if(setsockopt(d_socket, SOL_SOCKET, SO_REUSEADDR, (optval_t)&opt_val, sizeof(int)) == -1) {
- perror("SO_REUSEADDR");
- throw std::runtime_error("can't set socket option SO_REUSEADDR");
+ report_error("SO_REUSEADDR","can't set socket option SO_REUSEADDR");
}
// Don't wait when shutting down
@@ -110,40 +156,61 @@ gr_udp_source::open()
lngr.l_onoff = 1;
lngr.l_linger = 0;
if(setsockopt(d_socket, SOL_SOCKET, SO_LINGER, (optval_t)&lngr, sizeof(linger)) == -1) {
- perror("SO_LINGER");
- throw std::runtime_error("can't set socket option SO_LINGER");
+ if( !is_error(ENOPROTOOPT) ) { // no SO_LINGER for SOCK_DGRAM on Windows
+ report_error("SO_LINGER","can't set socket option SO_LINGER");
+ }
}
+#if USE_RCV_TIMEO
// Set a timeout on the receive function to not block indefinitely
// This value can (and probably should) be changed
+ // Ignored on Cygwin
+#if defined(USING_WINSOCK)
+ DWORD timeout = 1000; // milliseconds
+#else
timeval timeout;
timeout.tv_sec = 1;
timeout.tv_usec = 0;
+#endif
if(setsockopt(d_socket, SOL_SOCKET, SO_RCVTIMEO, (optval_t)&timeout, sizeof(timeout)) == -1) {
- perror("SO_RCVTIMEO");
- throw std::runtime_error("can't set socket option SO_RCVTIMEO");
+ report_error("SO_RCVTIMEO","can't set socket option SO_RCVTIMEO");
}
+#endif // USE_RCV_TIMEO
// bind socket to an address and port number to listen on
- if(bind (d_socket, (sockaddr*)&d_sockaddr_src, sizeof(struct sockaddr)) == -1) {
- perror("socket bind");
- throw std::runtime_error("can't bind socket");
+ if(bind (d_socket, ip_src->ai_addr, ip_src->ai_addrlen) == -1) {
+ report_error("socket bind","can't bind socket");
}
-
- d_updated = true;
- return d_socket != 0;
+ freeaddrinfo(ip_src);
+
+}
+
+gr_udp_source_sptr
+gr_make_udp_source (size_t itemsize, const char *ipaddr,
+ unsigned short port, int payload_size, bool eof, bool wait)
+{
+ return gnuradio::get_initial_sptr(new gr_udp_source (itemsize, ipaddr,
+ port, payload_size, eof, wait));
}
-void
-gr_udp_source::close()
+gr_udp_source::~gr_udp_source ()
{
- gruel::scoped_lock guard(d_mutex); // hold mutex for duration of this function
+ delete [] d_temp_buff;
- if (d_socket){
+ if (d_socket != -1){
shutdown(d_socket, SHUT_RDWR);
- d_socket = 0;
+#if defined(USING_WINSOCK)
+ closesocket(d_socket);
+#else
+ ::close(d_socket);
+#endif
+ d_socket = -1;
}
- d_updated = true;
+
+#if defined(USING_WINSOCK) // for Windows (with MinGW)
+ // free winsock resources
+ WSACleanup();
+#endif
}
int
@@ -175,29 +242,85 @@ gr_udp_source::work (int noutput_items,
// Update indexing of amount of bytes left in the buffer
d_residual -= nbytes;
- d_temp_offset = d_temp_offset+d_residual;
+ d_temp_offset += nbytes;
+
+ // Return now with what we've got.
+ assert(nbytes % d_itemsize == 0);
+ return nbytes/d_itemsize;
}
while(1) {
// get the data into our output buffer and record the number of bytes
+
+#if USE_SELECT
+ // RCV_TIMEO doesn't work on all systems (e.g., Cygwin)
+ // use select() instead of, or in addition to RCV_TIMEO
+ fd_set readfds;
+ timeval timeout;
+ timeout.tv_sec = 1; // Init timeout each iteration. Select can modify it.
+ timeout.tv_usec = 0;
+ FD_ZERO(&readfds);
+ FD_SET(d_socket, &readfds);
+ r = select(FD_SETSIZE, &readfds, NULL, NULL, &timeout);
+ if(r < 0) {
+ report_error("udp_source/select",NULL);
+ return -1;
+ }
+ else if(r == 0 ) { // timed out
+ if( d_wait ) {
+ // Allow boost thread interrupt, then try again
+ boost::this_thread::interruption_point();
+ continue;
+ }
+ else
+ return -1;
+ }
+#endif // USE_SELECT
+
// This is a non-blocking call with a timeout set in the constructor
r = recv(d_socket, d_temp_buff, d_payload_size, 0); // get the entire payload or the what's available
+ // If r > 0, round it down to a multiple of d_itemsize
+ // (If sender is broken, don't propagate problem)
+ if (r > 0)
+ r = (r/d_itemsize) * d_itemsize;
+
// Check if there was a problem; forget it if the operation just timed out
if(r == -1) {
- if(errno == EAGAIN) { // handle non-blocking call timeout
+ if( is_error(EAGAIN) ) { // handle non-blocking call timeout
#if SRC_VERBOSE
printf("UDP receive timed out\n");
#endif
- // Break here to allow the rest of the flow graph time to run and so ctrl-C breaks
- break;
+ if( d_wait ) {
+ // Allow boost thread interrupt, then try again
+ boost::this_thread::interruption_point();
+ continue;
+ }
+ else
+ return -1;
}
else {
- perror("udp_source");
+ report_error("udp_source/recv",NULL);
return -1;
}
}
+ else if(r==0) {
+ if(d_eof) {
+ // zero-length packet interpreted as EOF
+
+ #if SNK_VERBOSE
+ printf("\tzero-length packet received; returning EOF\n");
+ #endif
+
+ return -1;
+ }
+ else{
+ // do we need to allow boost thread interrupt?
+ boost::this_thread::interruption_point();
+ continue;
+ }
+ }
else {
// Calculate the number of bytes we can take from the buffer in this call
nbytes = std::min(r, total_bytes-bytes_received);
@@ -235,3 +358,15 @@ gr_udp_source::work (int noutput_items,
return bytes_received/d_itemsize;
}
+// Return port number of d_socket
+int gr_udp_source::get_port(void)
+{
+ sockaddr_in name;
+ socklen_t len = sizeof(name);
+ int ret = getsockname( d_socket, (sockaddr*)&name, &len );
+ if( ret ) {
+ report_error("gr_udp_source/getsockname",NULL);
+ return -1;
+ }
+ return ntohs(name.sin_port);
+}
diff --git a/gnuradio-core/src/lib/io/gr_udp_source.h b/gnuradio-core/src/lib/io/gr_udp_source.h
index 61d719e4da..5d30fad304 100644
--- a/gnuradio-core/src/lib/io/gr_udp_source.h
+++ b/gnuradio-core/src/lib/io/gr_udp_source.h
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007,2008,2009 Free Software Foundation, Inc.
+ * Copyright 2007,2008,2009,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -24,54 +24,48 @@
#define INCLUDED_GR_UDP_SOURCE_H
#include <gr_sync_block.h>
-#if defined(HAVE_SOCKET)
-#include <sys/socket.h>
-#include <arpa/inet.h>
-#elif defined(HAVE_WINDOWS_H)
-#include <winsock2.h>
-#include <windows.h>
-#endif
-#if defined(HAVE_NETINET_IN_H)
-#include <netinet/in.h>
-#endif
-
#include <gruel/thread.h>
class gr_udp_source;
typedef boost::shared_ptr<gr_udp_source> gr_udp_source_sptr;
-gr_udp_source_sptr gr_make_udp_source(size_t itemsize, const char *src,
- unsigned short port_src, int payload_size=1472);
+gr_udp_source_sptr gr_make_udp_source(size_t itemsize, const char *host,
+ unsigned short port,
+ int payload_size=1472,
+ bool eof=true, bool wait=true);
/*!
* \brief Read stream from an UDP socket.
* \ingroup source_blk
*
* \param itemsize The size (in bytes) of the item datatype
- * \param src The source address as either the host name or the 'numbers-and-dots'
- * IP address
- * \param port_src The port number on which the socket listens for data
- * \param payload_size UDP payload size by default set to
- * 1472 = (1500 MTU - (8 byte UDP header) - (20 byte IP header))
+ * \param host The name or IP address of the receiving host; can be
+ * NULL, None, or "0.0.0.0" to allow reading from any
+ * interface on the host
+ * \param port The port number on which to receive data; use 0 to
+ * have the system assign an unused port number
+ * \param payload_size UDP payload size by default set to 1472 =
+ * (1500 MTU - (8 byte UDP header) - (20 byte IP header))
+ * \param eof Interpret zero-length packet as EOF (default: true)
+ * \param wait Wait for data if not immediately available
+ * (default: true)
*
*/
class gr_udp_source : public gr_sync_block
{
- friend gr_udp_source_sptr gr_make_udp_source(size_t itemsize, const char *src,
- unsigned short port_src, int payload_size);
+ friend gr_udp_source_sptr gr_make_udp_source(size_t itemsize,
+ const char *host,
+ unsigned short port,
+ int payload_size,
+ bool eof, bool wait);
private:
size_t d_itemsize;
- bool d_updated;
- gruel::mutex d_mutex;
-
- int d_payload_size; // maximum transmission unit (packet length)
- int d_socket; // handle to socket
- int d_socket_rcv; // handle to socket retuned in the accept call
- struct in_addr d_ip_src; // store the source IP address to use
- unsigned short d_port_src; // the port number to open for connections to this service
- struct sockaddr_in d_sockaddr_src; // store the source sockaddr data (formatted IP address and port number)
+ int d_payload_size; // maximum transmission unit (packet length)
+ bool d_eof; // zero-length packet is EOF
+ bool d_wait; // wait if data if not immediately available
+ int d_socket; // handle to socket
char *d_temp_buff; // hold buffer between calls
ssize_t d_residual; // hold information about number of bytes stored in the temp buffer
size_t d_temp_offset; // point to temp buffer location offset
@@ -81,35 +75,29 @@ class gr_udp_source : public gr_sync_block
* \brief UDP Source Constructor
*
* \param itemsize The size (in bytes) of the item datatype
- * \param src The source address as either the host name or the 'numbers-and-dots'
- * IP address
- * \param port_src The port number on which the socket listens for data
- * \param payload_size UDP payload size by default set to
- * 1472 = (1500 MTU - (8 byte UDP header) - (20 byte IP header))
+ * \param host The name or IP address of the receiving host; can be
+ * NULL, None, or "0.0.0.0" to allow reading from any
+ * interface on the host
+ * \param port The port number on which to receive data; use 0 to
+ * have the system assign an unused port number
+ * \param payload_size UDP payload size by default set to 1472 =
+ * (1500 MTU - (8 byte UDP header) - (20 byte IP header))
+ * \param eof Interpret zero-length packet as EOF (default: true)
+ * \param wait Wait for data if not immediately available
+ * (default: true)
*/
- gr_udp_source(size_t itemsize, const char *src, unsigned short port_src, int payload_size);
+ gr_udp_source(size_t itemsize, const char *host, unsigned short port,
+ int payload_size, bool eof, bool wait);
public:
~gr_udp_source();
- /*!
- * \brief open a socket specified by the port and ip address info
- *
- * Opens a socket, binds to the address, and waits for a connection
- * over UDP. If any of these fail, the fuction retuns the error and exits.
- */
- bool open();
-
- /*!
- * \brief Close current socket.
- *
- * Shuts down read/write on the socket
- */
- void close();
-
/*! \brief return the PAYLOAD_SIZE of the socket */
int payload_size() { return d_payload_size; }
+ /*! \brief return the port number of the socket */
+ int get_port();
+
// should we export anything else?
int work(int noutput_items,
diff --git a/gnuradio-core/src/lib/io/gr_udp_source.i b/gnuradio-core/src/lib/io/gr_udp_source.i
index fb39dad68f..2001f33e9c 100644
--- a/gnuradio-core/src/lib/io/gr_udp_source.i
+++ b/gnuradio-core/src/lib/io/gr_udp_source.i
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -23,20 +23,19 @@
GR_SWIG_BLOCK_MAGIC(gr,udp_source)
gr_udp_source_sptr
-gr_make_udp_source (size_t itemsize, const char *src,
- unsigned short port_src, int payload_size=1472);
+gr_make_udp_source (size_t itemsize, const char *host,
+ unsigned short port, int payload_size=1472,
+ bool eof=true, bool wait=true) throw (std::runtime_error);
class gr_udp_source : public gr_sync_block
{
protected:
- gr_udp_source (size_t itemsize, const char *src,
- unsigned short port_src, int payload_size);
+ gr_udp_source (size_t itemsize, const char *host,
+ unsigned short port, int payload_size, bool eof, bool wait) throw (std::runtime_error);
public:
~gr_udp_source ();
- bool open();
- void close();
int payload_size() { return d_payload_size; }
-
+ int get_port();
};
diff --git a/gnuradio-core/src/lib/io/gr_wavfile_sink.cc b/gnuradio-core/src/lib/io/gr_wavfile_sink.cc
index 72e4ef51e0..b60a6e3abd 100644
--- a/gnuradio-core/src/lib/io/gr_wavfile_sink.cc
+++ b/gnuradio-core/src/lib/io/gr_wavfile_sink.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2006,2007,2008,2009 Free Software Foundation, Inc.
+ * Copyright 2004,2006,2007,2008,2009,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -58,7 +58,7 @@ gr_make_wavfile_sink(const char *filename,
unsigned int sample_rate,
int bits_per_sample)
{
- return gr_wavfile_sink_sptr (new gr_wavfile_sink (filename,
+ return gnuradio::get_initial_sptr(new gr_wavfile_sink (filename,
n_channels,
sample_rate,
bits_per_sample));
diff --git a/gnuradio-core/src/lib/io/gr_wavfile_source.cc b/gnuradio-core/src/lib/io/gr_wavfile_source.cc
index 900f84efd1..d00dd30289 100644
--- a/gnuradio-core/src/lib/io/gr_wavfile_source.cc
+++ b/gnuradio-core/src/lib/io/gr_wavfile_source.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2008 Free Software Foundation, Inc.
+ * Copyright 2004,2008,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -52,7 +52,7 @@
gr_wavfile_source_sptr
gr_make_wavfile_source (const char *filename, bool repeat)
{
- return gr_wavfile_source_sptr (new gr_wavfile_source (filename, repeat));
+ return gnuradio::get_initial_sptr(new gr_wavfile_source (filename, repeat));
}
diff --git a/gnuradio-core/src/lib/io/gri_logger.cc b/gnuradio-core/src/lib/io/gri_logger.cc
deleted file mode 100644
index 473a7c5edc..0000000000
--- a/gnuradio-core/src/lib/io/gri_logger.cc
+++ /dev/null
@@ -1,178 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,2009 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#if 0 // This needs reimplementation with boost threads and synchronization
-
-#include <gri_logger.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdexcept>
-#include <boost/weak_ptr.hpp>
-#include <string.h>
-
-
-/*
- * This class creates the thread that reads from the ringbuffer and
- * and writes to the file. This is opaque to the user.
- */
-class gri_log_poster : public omni_thread
-{
- FILE *d_fp;
- gr_buffer_sptr d_writer;
- gr_buffer_reader_sptr d_reader;
- omni_semaphore d_ringbuffer_ready;
- volatile bool d_time_to_die;
- volatile bool d_writer_overrun;
-
- virtual void* run_undetached(void * arg);
-
-public:
- gri_log_poster(const char *filename);
- ~gri_log_poster();
-
- void kill() { d_time_to_die = true; post(); }
- gr_buffer_sptr writer() const { return d_writer; }
- void post() { d_ringbuffer_ready.post(); }
- void note_writer_overrun() { d_writer_overrun = true; }
-};
-
-gri_log_poster::gri_log_poster(const char *filename)
- : omni_thread(),
- d_ringbuffer_ready(1, 1), // binary semaphore
- d_time_to_die(false),
- d_writer_overrun(false)
-{
- if ((d_fp = fopen(filename, "w")) == 0){
- perror (filename);
- throw std::runtime_error("can't open file");
- }
-
- // Create a 1MB buffer.
- d_writer = gr_make_buffer(1 * 1024 * 1024, sizeof(unsigned char));
- d_reader = gr_buffer_add_reader(d_writer, 0);
-
- start_undetached(); // start the thread
-}
-
-gri_log_poster::~gri_log_poster()
-{
- if (d_fp != 0){
- fclose(d_fp);
- d_fp = 0;
- }
-}
-
-/*
- * This is the body of the logging thread.
- */
-void *
-gri_log_poster::run_undetached(void *arg)
-{
- int nbytes;
-
- //fprintf(stderr, "Enter: run_undetached!\n");
-
- while (!d_time_to_die){
- while ((nbytes = d_reader->items_available()) > 0){
- fwrite(d_reader->read_pointer(), 1, nbytes, d_fp);
- d_reader->update_read_pointer(nbytes);
- }
- fflush(d_fp);
- d_ringbuffer_ready.wait();
-
- if (d_writer_overrun){
- fputs(">>>>> gri_logger: writer overrun. Info lost <<<<<\n", d_fp);
- d_writer_overrun = false;
- }
- }
-
- // fprintf(stderr, "Exit: run_undetached!\n");
- return 0;
-}
-
-// ------------------------------------------------------------------------
-
-static boost::weak_ptr<gri_logger> s_singleton; // weak pointer IQ test ;-)
-static omni_mutex s_singleton_mutex;
-
-gri_logger_sptr
-gri_logger::singleton()
-{
- omni_mutex_lock l(s_singleton_mutex);
- gri_logger_sptr r;
-
- if (r = s_singleton.lock())
- return r;
-
- r = gri_logger_sptr(new gri_logger("gri_logger.log"));
- s_singleton = r;
- return r;
-}
-
-
-gri_logger::gri_logger(const char *filename)
-{
- d_poster = new gri_log_poster(filename);
-}
-
-gri_logger::~gri_logger()
-{
- d_poster->kill();
- d_poster->join(NULL);
-}
-
-void
-gri_logger::write(const void *buf, size_t count)
-{
- omni_mutex_lock l(d_write_mutex);
- gr_buffer_sptr writer = d_poster->writer();
-
- // either write it all, or drop it on the ground
- if (count <= (size_t) writer->space_available()){
- memcpy(writer->write_pointer(), buf, count);
- writer->update_write_pointer(count);
- d_poster->post();
- }
- else {
- d_poster->note_writer_overrun();
- }
-}
-
-void
-gri_logger::printf(const char *format, ...)
-{
- va_list ap;
- char buf[4096];
- int n;
-
- va_start(ap, format);
- n = vsnprintf(buf, sizeof(buf), format, ap);
- va_end(ap);
- if (n > -1 && n < (ssize_t) sizeof(buf))
- write(buf, n);
-}
-
-#endif
diff --git a/gnuradio-core/src/lib/io/gri_logger.h b/gnuradio-core/src/lib/io/gri_logger.h
deleted file mode 100644
index 0a1414540f..0000000000
--- a/gnuradio-core/src/lib/io/gri_logger.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,2009 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-#ifndef INCLUDED_GRI_LOGGER_H
-#define INCLUDED_GRI_LOGGER_H
-
-#if 0 // This needs reimplementation with boost threads and synchronization
-
-#include <stddef.h>
-#include <gnuradio/omnithread.h>
-#include <gr_buffer.h>
-
-class gri_log_poster;
-class gri_logger;
-typedef boost::shared_ptr<gri_logger> gri_logger_sptr;
-
-
-/*!
- * \brief non-blocking logging to a file.
- *
- * In reality, this may block, but only for a bounded time.
- * Trust me, it's safe to use from portaudio and JACK callbacks.
- */
-class gri_logger
-{
- gri_log_poster *d_poster;
- omni_mutex d_write_mutex;
-
-public:
- static gri_logger_sptr singleton();
-
- gri_logger(const char *filename);
- ~gri_logger();
-
- void write(const void *buf, size_t count);
- void printf(const char *format, ...);
-};
-
-#endif
-
-#endif /* INCLUDED_GRI_LOGGER_H */
diff --git a/gnuradio-core/src/lib/runtime/Makefile.am b/gnuradio-core/src/lib/runtime/Makefile.am
index b0e8042770..abd789a1d0 100644
--- a/gnuradio-core/src/lib/runtime/Makefile.am
+++ b/gnuradio-core/src/lib/runtime/Makefile.am
@@ -120,6 +120,7 @@ grinclude_HEADERS = \
gr_timer.h \
gr_tmp_path.h \
gr_types.h \
+ gr_unittests.h \
gr_vmcircbuf.h
noinst_HEADERS = \
diff --git a/gnuradio-core/src/lib/runtime/gr_sptr_magic.cc b/gnuradio-core/src/lib/runtime/gr_sptr_magic.cc
index 96ffae85fe..b0351248c3 100644
--- a/gnuradio-core/src/lib/runtime/gr_sptr_magic.cc
+++ b/gnuradio-core/src/lib/runtime/gr_sptr_magic.cc
@@ -39,7 +39,7 @@ namespace gnuradio {
detail::sptr_magic::create_and_stash_initial_sptr(gr_hier_block2 *p)
{
gr_basic_block_sptr sptr(p);
- gruel::scoped_lock guard();
+ gruel::scoped_lock guard(s_mutex);
s_map.insert(sptr_map::value_type(static_cast<gr_basic_block *>(p), sptr));
}
@@ -60,7 +60,7 @@ namespace gnuradio {
* p is a subclass of gr_hier_block2, thus we've already created the shared pointer
* and stashed it away. Fish it out and return it.
*/
- gruel::scoped_lock guard();
+ gruel::scoped_lock guard(s_mutex);
sptr_map::iterator pos = s_map.find(static_cast<gr_basic_block *>(p));
if (pos == s_map.end())
throw std::invalid_argument("gr_sptr_magic: invalid pointer!");
diff --git a/gnuradio-core/src/lib/runtime/gr_unittests.h b/gnuradio-core/src/lib/runtime/gr_unittests.h
new file mode 100644
index 0000000000..680e59ca44
--- /dev/null
+++ b/gnuradio-core/src/lib/runtime/gr_unittests.h
@@ -0,0 +1,70 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2010 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.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+
+#ifdef MKDIR_TAKES_ONE_ARG
+#define gr_mkdir(pathname, mode) mkdir(pathname)
+#else
+#define gr_mkdir(pathname, mode) mkdir((pathname), (mode))
+#endif
+
+/*
+ * Mostly taken from gr_preferences.cc/h
+ * The simplest thing that could possibly work:
+ * the key is the filename; the value is the file contents.
+ */
+
+static void
+ensure_unittest_path (const char *grpath, const char *path)
+{
+ struct stat statbuf;
+ if (stat (path, &statbuf) == 0 && S_ISDIR (statbuf.st_mode))
+ return;
+
+ // blindly try to make it // FIXME make this robust. C++ SUCKS!
+ gr_mkdir (grpath, 0750);
+ gr_mkdir (path, 0750);
+}
+
+static void
+get_unittest_path (const char *filename, char *fullpath, size_t pathsize)
+{
+ char path[200];
+ char grpath[200];
+ snprintf (grpath, sizeof(grpath), "%s/.gnuradio", getenv ("HOME"));
+ snprintf (path, sizeof(path), "%s/unittests", grpath);
+ snprintf (fullpath, pathsize, "%s/%s", path, filename);
+
+ ensure_unittest_path(grpath, path);
+}
+
diff --git a/gnuradio-core/src/python/gnuradio/Makefile.am b/gnuradio-core/src/python/gnuradio/Makefile.am
index f0516f2fd9..a3f3518dee 100644
--- a/gnuradio-core/src/python/gnuradio/Makefile.am
+++ b/gnuradio-core/src/python/gnuradio/Makefile.am
@@ -1,5 +1,5 @@
#
-# Copyright 2004,2007,2008,2009 Free Software Foundation, Inc.
+# Copyright 2004,2007,2008,2009,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -34,6 +34,7 @@ grpython_PYTHON = \
ofdm_packet_utils.py \
packet_utils.py \
gr_unittest.py \
+ gr_xmlrunner.py \
optfir.py \
usrp_options.py \
window.py
diff --git a/gnuradio-core/src/python/gnuradio/gr/Makefile.am b/gnuradio-core/src/python/gnuradio/gr/Makefile.am
index 3aff89ee78..341f58812c 100644
--- a/gnuradio-core/src/python/gnuradio/gr/Makefile.am
+++ b/gnuradio-core/src/python/gnuradio/gr/Makefile.am
@@ -1,5 +1,5 @@
#
-# Copyright 2004,2005,2006,2008 Free Software Foundation, Inc.
+# Copyright 2004,2005,2006,2008,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -97,4 +97,5 @@ noinst_PYTHON = \
qa_unpack_k_bits.py \
qa_repeat.py \
qa_scrambler.py \
+ qa_udp_sink_source.py \
qa_vector_sink_source.py
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_add_and_friends.py b/gnuradio-core/src/python/gnuradio/gr/qa_add_and_friends.py
index 2fa97fad8d..8fb70fb3fd 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_add_and_friends.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_add_and_friends.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -22,7 +22,7 @@
from gnuradio import gr, gr_unittest
-class test_head (gr_unittest.TestCase):
+class test_add_and_friends (gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block ()
@@ -126,4 +126,4 @@ class test_head (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_add_and_friends, "test_add_and_friends.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_add_v_and_friends.py b/gnuradio-core/src/python/gnuradio/gr/qa_add_v_and_friends.py
index 215e0caced..90056e09fe 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_add_v_and_friends.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_add_v_and_friends.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -350,4 +350,4 @@ class test_add_v_and_friends(gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_add_v_and_friends, "test_add_v_and_friends.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_agc.py b/gnuradio-core/src/python/gnuradio/gr/qa_agc.py
index bb3ddb11ec..c55d191e07 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_agc.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_agc.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -25,7 +25,7 @@ import math
test_output = False
-class test_sig_source (gr_unittest.TestCase):
+class test_agc (gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block ()
@@ -430,4 +430,4 @@ class test_sig_source (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_agc, "test_agc.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_argmax.py b/gnuradio-core/src/python/gnuradio/gr/qa_argmax.py
index 2e16d879b0..a9db3295a8 100644
--- a/gnuradio-core/src/python/gnuradio/gr/qa_argmax.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_argmax.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2007 Free Software Foundation, Inc.
+# Copyright 2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -24,7 +24,7 @@ from gnuradio import gr, gr_unittest
import math
-class test_sig_source (gr_unittest.TestCase):
+class test_arg_max (gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block ()
@@ -73,5 +73,5 @@ class test_sig_source (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_arg_max, "test_arg_max.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_bin_statistics.py b/gnuradio-core/src/python/gnuradio/gr/qa_bin_statistics.py
index 29b9796cdc..b8b718a09d 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_bin_statistics.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_bin_statistics.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2006,2007 Free Software Foundation, Inc.
+# Copyright 2006,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -227,4 +227,4 @@ class xtest_bin_statistics(gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(xtest_bin_statistics, "test_bin_statistics.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_boolean_operators.py b/gnuradio-core/src/python/gnuradio/gr/qa_boolean_operators.py
index ee9bae65bd..8cfb600998 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_boolean_operators.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_boolean_operators.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007,2008 Free Software Foundation, Inc.
+# Copyright 2004,2007,2008,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -22,7 +22,7 @@
from gnuradio import gr, gr_unittest
-class test_head (gr_unittest.TestCase):
+class test_boolean_operators (gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block ()
@@ -159,4 +159,4 @@ class test_head (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_boolean_operators, "test_boolean_operators.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_classify.py b/gnuradio-core/src/python/gnuradio/gr/qa_classify.py
index ac17aff29c..ac5b53b577 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_classify.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_classify.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2008 Free Software Foundation, Inc.
+# Copyright 2008,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -38,7 +38,7 @@ def np2(k):
return m
-class qa_classify(gr_unittest.TestCase):
+class test_classify(gr_unittest.TestCase):
def setUp(self):
self.tb = gr.top_block()
@@ -178,5 +178,4 @@ class qa_classify(gr_unittest.TestCase):
assert sum < 1e-6
if __name__ == '__main__':
- gr_unittest.main()
-
+ gr_unittest.run(test_classify, "test_classify.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_cma_equalizer.py b/gnuradio-core/src/python/gnuradio/gr/qa_cma_equalizer.py
index b1ab8f546a..79e9cd092f 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_cma_equalizer.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_cma_equalizer.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2006,2007 Free Software Foundation, Inc.
+# Copyright 2006,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -46,4 +46,4 @@ class test_cma_equalizer_fir(gr_unittest.TestCase):
self.assertComplexTuplesAlmostEqual(expected_data, result)
if __name__ == "__main__":
- gr_unittest.main() \ No newline at end of file
+ gr_unittest.run(test_cma_equalizer_fir, "test_cma_equalizer_fir.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_complex_to_xxx.py b/gnuradio-core/src/python/gnuradio/gr/qa_complex_to_xxx.py
index 10f3668798..76627247b7 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_complex_to_xxx.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_complex_to_xxx.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -138,5 +138,5 @@ class test_complex_ops (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_complex_ops, "test_complex_ops.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_constellation_decoder_cb.py b/gnuradio-core/src/python/gnuradio/gr/qa_constellation_decoder_cb.py
index 13d2840a06..27e1802e08 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_constellation_decoder_cb.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_constellation_decoder_cb.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -23,7 +23,7 @@
from gnuradio import gr, gr_unittest
import math
-class test_head (gr_unittest.TestCase):
+class test_constellation_decoder (gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block ()
@@ -49,5 +49,5 @@ class test_head (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_constellation_decoder, "test_constellation_decoder.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_copy.py b/gnuradio-core/src/python/gnuradio/gr/qa_copy.py
index 7f9f72a7ba..e8ee480cc0 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_copy.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_copy.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2009 Free Software Foundation, Inc.
+# Copyright 2009,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -55,4 +55,4 @@ class test_copy(gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_copy, "test_copy.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_correlate_access_code.py b/gnuradio-core/src/python/gnuradio/gr/qa_correlate_access_code.py
index a436c6ad6b..b3575f4e6b 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_correlate_access_code.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_correlate_access_code.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2006,2007 Free Software Foundation, Inc.
+# Copyright 2006,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -79,5 +79,5 @@ class test_correlate_access_code(gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_correlate_access_code, "test_correlate_access_code.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_delay.py b/gnuradio-core/src/python/gnuradio/gr/qa_delay.py
index 8835cba5a2..7cad0ae721 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_delay.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_delay.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -62,4 +62,4 @@ class test_delay (gr_unittest.TestCase):
self.assertEqual (expected_result, dst_data)
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_delay, "test_delay.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_diff_encoder.py b/gnuradio-core/src/python/gnuradio/gr/qa_diff_encoder.py
index 04c0e2a496..97e9e329a5 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_diff_encoder.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_diff_encoder.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2006,2007 Free Software Foundation, Inc.
+# Copyright 2006,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -31,7 +31,7 @@ def make_random_int_tuple(L, min, max):
return tuple(result)
-class test_encoder (gr_unittest.TestCase):
+class test_diff_encoder (gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block ()
@@ -82,5 +82,5 @@ class test_encoder (gr_unittest.TestCase):
self.assertEqual(expected_result, actual_result)
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_diff_encoder, "test_diff_encoder.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_diff_phasor_cc.py b/gnuradio-core/src/python/gnuradio/gr/qa_diff_phasor_cc.py
index 385ffa519a..5ac115e205 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_diff_phasor_cc.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_diff_phasor_cc.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -23,7 +23,7 @@
from gnuradio import gr, gr_unittest
import math
-class test_complex_ops (gr_unittest.TestCase):
+class test_diff_phasor (gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block ()
@@ -46,5 +46,5 @@ class test_complex_ops (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_diff_phasor, "test_diff_phasor.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_ecc_ccsds_27.py b/gnuradio-core/src/python/gnuradio/gr/qa_ecc_ccsds_27.py
index b0dc470617..caf3959f49 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_ecc_ccsds_27.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_ecc_ccsds_27.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -47,4 +47,4 @@ class test_ccsds_27 (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_ccsds_27, "test_ccsds_27.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_feval.py b/gnuradio-core/src/python/gnuradio/gr/qa_feval.py
index 64bbe45ce7..a914095376 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_feval.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_feval.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2006,2007 Free Software Foundation, Inc.
+# Copyright 2006,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -107,4 +107,4 @@ class test_feval(gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_feval, "test_feval.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_fft.py b/gnuradio-core/src/python/gnuradio/gr/qa_fft.py
index 412c4c48bd..98d80fbb03 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_fft.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_fft.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2008 Free Software Foundation, Inc.
+# Copyright 2008,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -29,7 +29,7 @@ primes = (2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,
227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311)
-class test_fft_filter(gr_unittest.TestCase):
+class test_fft(gr_unittest.TestCase):
def setUp(self):
pass
@@ -154,5 +154,5 @@ class test_fft_filter(gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_fft, "test_fft.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_fft_filter.py b/gnuradio-core/src/python/gnuradio/gr/qa_fft_filter.py
index d4106ee478..b3124ad295 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_fft_filter.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_fft_filter.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2005,2007 Free Software Foundation, Inc.
+# Copyright 2004,2005,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -275,5 +275,5 @@ class test_fft_filter(gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_fft_filter, "test_fft_filter.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_filter_delay_fc.py b/gnuradio-core/src/python/gnuradio/gr/qa_filter_delay_fc.py
index b92f143d59..a25c65e5c1 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_filter_delay_fc.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_filter_delay_fc.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -23,7 +23,7 @@
from gnuradio import gr, gr_unittest
import math
-class qa_filter_delay_fc (gr_unittest.TestCase):
+class test_filter_delay_fc (gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block ()
@@ -314,4 +314,4 @@ class qa_filter_delay_fc (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_filter_delay_fc, "test_filter_delay_fc.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_fractional_interpolator.py b/gnuradio-core/src/python/gnuradio/gr/qa_fractional_interpolator.py
index 4466e8aab6..c9ba541644 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_fractional_interpolator.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_fractional_interpolator.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2007 Free Software Foundation, Inc.
+# Copyright 2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -35,5 +35,4 @@ class test_fractional_resampler (gr_unittest.TestCase):
op2 = gr.fractional_interpolator_cc(0.0, 1.0)
if __name__ == '__main__':
- gr_unittest.main()
-
+ gr_unittest.run(test_fractional_resampler, "test_fractional_resampler.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_frequency_modulator.py b/gnuradio-core/src/python/gnuradio/gr/qa_frequency_modulator.py
index 53d1a89ba1..829185c343 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_frequency_modulator.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_frequency_modulator.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -52,5 +52,5 @@ class test_frequency_modulator (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_frequency_modulator, "test_frequency_modulator.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_fsk_stuff.py b/gnuradio-core/src/python/gnuradio/gr/qa_fsk_stuff.py
index b506e3ed41..429e57c32d 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_fsk_stuff.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_fsk_stuff.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -71,5 +71,5 @@ class test_bytes_to_syms (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_bytes_to_syms, "test_bytes_to_syms.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_glfsr_source.py b/gnuradio-core/src/python/gnuradio/gr/qa_glfsr_source.py
index fc211657f6..1665d9dd50 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_glfsr_source.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_glfsr_source.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2007 Free Software Foundation, Inc.
+# Copyright 2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -91,4 +91,4 @@ def auto_correlate(data):
return R
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_glfsr_source, "test_glfsr_source.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_goertzel.py b/gnuradio-core/src/python/gnuradio/gr/qa_goertzel.py
index d5dc595c9f..dcb3d867e9 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_goertzel.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_goertzel.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2006,2007 Free Software Foundation, Inc.
+# Copyright 2006,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -61,4 +61,4 @@ class test_goertzel(gr_unittest.TestCase):
self.assertAlmostEqual(expected_result, actual_result, places=4)
if __name__ == '__main__':
- gr_unittest.main()
+ gr_unittest.run(test_goertzel, "test_goertzel.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_head.py b/gnuradio-core/src/python/gnuradio/gr/qa_head.py
index b7a60597b2..aae233b56e 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_head.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_head.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -44,4 +44,4 @@ class test_head (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_head, "test_head.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_hier_block2.py b/gnuradio-core/src/python/gnuradio/gr/qa_hier_block2.py
index cc336a4d1b..924a0fb52e 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_hier_block2.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_hier_block2.py
@@ -366,4 +366,4 @@ class test_hier_block2(gr_unittest.TestCase):
if __name__ == "__main__":
- gr_unittest.main()
+ gr_unittest.run(test_hier_block2, "test_hier_block2.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_hilbert.py b/gnuradio-core/src/python/gnuradio/gr/qa_hilbert.py
index 817ba94081..2235f28b13 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_hilbert.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_hilbert.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -23,7 +23,7 @@
from gnuradio import gr, gr_unittest
import math
-class test_sig_source (gr_unittest.TestCase):
+class test_hilbert (gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block ()
@@ -113,4 +113,4 @@ class test_sig_source (gr_unittest.TestCase):
self.assertComplexTuplesAlmostEqual (expected_result, dst_data, 5)
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_hilbert, "test_hilbert.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_iir.py b/gnuradio-core/src/python/gnuradio/gr/qa_iir.py
index 833285077a..0e522c16b1 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_iir.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_iir.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -155,5 +155,5 @@ class test_iir (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_iir, "test_iir.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_integrate.py b/gnuradio-core/src/python/gnuradio/gr/qa_integrate.py
index fbd601e346..501a89f841 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_integrate.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_integrate.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2008 Free Software Foundation, Inc.
+# Copyright 2008,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -72,4 +72,4 @@ class test_integrate (gr_unittest.TestCase):
self.assertComplexTuplesAlmostEqual(dst_data, dst.data(), 6)
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_integrate, "test_integrate.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_interleave.py b/gnuradio-core/src/python/gnuradio/gr/qa_interleave.py
index 3e0b6c5fcb..1320d0ec5b 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_interleave.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_interleave.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -77,5 +77,5 @@ class test_interleave (gr_unittest.TestCase):
self.assertFloatTuplesAlmostEqual (expected_result3, dst3.data ())
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_interleave, "test_interleave.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_interp_fir_filter.py b/gnuradio-core/src/python/gnuradio/gr/qa_interp_fir_filter.py
index ea326ce408..9901b71b71 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_interp_fir_filter.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_interp_fir_filter.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -50,5 +50,5 @@ class test_interp_fir_filter (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_interp_fir_filter, "test_interp_fir_filter.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_kludge_copy.py b/gnuradio-core/src/python/gnuradio/gr/qa_kludge_copy.py
index cc25d180e5..2f0bbe33d3 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_kludge_copy.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_kludge_copy.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2006 Free Software Foundation, Inc.
+# Copyright 2006,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -87,5 +87,5 @@ class test_kludge_copy(gr_unittest.TestCase):
self.assertRaises(ValueError, self.tb.run)
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_kludge_copy, "test_kludge_copy.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_kludged_imports.py b/gnuradio-core/src/python/gnuradio/gr/qa_kludged_imports.py
index 91ddf7cd70..7d29a95075 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_kludged_imports.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_kludged_imports.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2005,2008 Free Software Foundation, Inc.
+# Copyright 2005,2008,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -22,7 +22,7 @@
from gnuradio import gr, gr_unittest
-class test_head (gr_unittest.TestCase):
+class test_kludged_imports (gr_unittest.TestCase):
def setUp(self):
pass
@@ -40,4 +40,4 @@ class test_head (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_kludged_imports, "test_kludged_imports.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_max.py b/gnuradio-core/src/python/gnuradio/gr/qa_max.py
index 0171c93db4..5aa231623d 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_max.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_max.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2007 Free Software Foundation, Inc.
+# Copyright 2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -24,7 +24,7 @@ from gnuradio import gr, gr_unittest
import math
-class test_sig_source (gr_unittest.TestCase):
+class test_max (gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block ()
@@ -66,5 +66,5 @@ class test_sig_source (gr_unittest.TestCase):
self.assertEqual(expected_result, result_data)
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_max, "test_max.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_message.py b/gnuradio-core/src/python/gnuradio/gr/qa_message.py
index cb6c4c33c8..e7f2778d16 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_message.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_message.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004 Free Software Foundation, Inc.
+# Copyright 2004,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -128,4 +128,4 @@ class test_message (gr_unittest.TestCase):
self.assertEquals(tuple(map(ord, '0123456789')), dst.data())
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_message, "test_message.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_mute.py b/gnuradio-core/src/python/gnuradio/gr/qa_mute.py
index 646f495c4a..58c5062a57 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_mute.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_mute.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2005,2007 Free Software Foundation, Inc.
+# Copyright 2004,2005,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -22,7 +22,7 @@
from gnuradio import gr, gr_unittest
-class test_head (gr_unittest.TestCase):
+class test_mute (gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block ()
@@ -86,4 +86,4 @@ class test_head (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_mute, "test_mute.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_nlog10.py b/gnuradio-core/src/python/gnuradio/gr/qa_nlog10.py
index 4dca67b228..5a2e6a0d26 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_nlog10.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_nlog10.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2005,2007 Free Software Foundation, Inc.
+# Copyright 2005,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -22,7 +22,7 @@
from gnuradio import gr, gr_unittest
-class test_single_pole_iir(gr_unittest.TestCase):
+class test_nlog10(gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block ()
@@ -43,5 +43,5 @@ class test_single_pole_iir(gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_nlog10, "test_nlog10.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_noise.py b/gnuradio-core/src/python/gnuradio/gr/qa_noise.py
index f8ed739a98..4a575f5d63 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_noise.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_noise.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2007 Free Software Foundation, Inc.
+# Copyright 2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -35,5 +35,5 @@ class test_noise_source(gr_unittest.TestCase):
op = gr.noise_source_f(gr.GR_GAUSSIAN, 10, 10)
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_noise_source, "test_noise_source.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_ofdm_insert_preamble.py b/gnuradio-core/src/python/gnuradio/gr/qa_ofdm_insert_preamble.py
index d45560d3c3..d69f5ca5ba 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_ofdm_insert_preamble.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_ofdm_insert_preamble.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2007 Free Software Foundation, Inc.
+# Copyright 2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -23,7 +23,7 @@
from gnuradio import gr, gr_unittest
from pprint import pprint
-class testing (gr_unittest.TestCase):
+class test_ofdm_insert_preamble (gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block ()
@@ -176,4 +176,4 @@ class testing (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_ofdm_insert_preamble, "test_ofdm_insert_preamble.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_packed_to_unpacked.py b/gnuradio-core/src/python/gnuradio/gr/qa_packed_to_unpacked.py
index b1b3a971db..8833f755b9 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_packed_to_unpacked.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_packed_to_unpacked.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2005,2007 Free Software Foundation, Inc.
+# Copyright 2005,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -401,5 +401,5 @@ class test_packing(gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_packing, "test_packing.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_pipe_fittings.py b/gnuradio-core/src/python/gnuradio/gr/qa_pipe_fittings.py
index 533f4f0512..a6683c5c39 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_pipe_fittings.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_pipe_fittings.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2005,2007 Free Software Foundation, Inc.
+# Copyright 2005,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -139,5 +139,5 @@ class test_pipe_fittings(gr_unittest.TestCase):
self.assertEqual(expected_results, dst.data())
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_pipe_fittings, "test_pipe_fittings.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_pll_carriertracking.py b/gnuradio-core/src/python/gnuradio/gr/qa_pll_carriertracking.py
index 4a109663c0..8e4a0eefa0 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_pll_carriertracking.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_pll_carriertracking.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -23,7 +23,7 @@
from gnuradio import gr, gr_unittest
import math
-class test_sig_source (gr_unittest.TestCase):
+class test_pll_carriertracking (gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block()
@@ -155,4 +155,4 @@ class test_sig_source (gr_unittest.TestCase):
self.assertComplexTuplesAlmostEqual (expected_result, dst_data, 5)
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_pll_carriertracking, "test_pll_carriertracking.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_pll_freqdet.py b/gnuradio-core/src/python/gnuradio/gr/qa_pll_freqdet.py
index ac9c1844e8..5225a9a3b6 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_pll_freqdet.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_pll_freqdet.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -23,7 +23,7 @@
from gnuradio import gr, gr_unittest
import math
-class test_sig_source (gr_unittest.TestCase):
+class test_pll_freqdet (gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block()
@@ -158,4 +158,4 @@ class test_sig_source (gr_unittest.TestCase):
self.assertFloatTuplesAlmostEqual (expected_result, dst_data, 3)
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_pll_freqdet, "test_pll_freqdet.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_pll_refout.py b/gnuradio-core/src/python/gnuradio/gr/qa_pll_refout.py
index 9cafa61e32..c40a885a86 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_pll_refout.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_pll_refout.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004 Free Software Foundation, Inc.
+# Copyright 2004,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -23,7 +23,7 @@
from gnuradio import gr, gr_unittest
import math
-class test_sig_source (gr_unittest.TestCase):
+class test_pll_refout (gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block()
@@ -155,4 +155,4 @@ class test_sig_source (gr_unittest.TestCase):
self.assertComplexTuplesAlmostEqual (expected_result, dst_data, 5)
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_pll_refout, "test_pll_refout.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_pn_correlator_cc.py b/gnuradio-core/src/python/gnuradio/gr/qa_pn_correlator_cc.py
index 01d01bde02..fbdabb4cbd 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_pn_correlator_cc.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_pn_correlator_cc.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2007 Free Software Foundation, Inc.
+# Copyright 2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -47,4 +47,4 @@ class test_pn_correlator_cc(gr_unittest.TestCase):
self.assertEqual(data[-1], (1.0+0j))
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_pn_correlator_cc, "test_pn_correlator_cc.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_rational_resampler.py b/gnuradio-core/src/python/gnuradio/gr/qa_rational_resampler.py
index f8bf4b121c..3bd6160df1 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_rational_resampler.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_rational_resampler.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2005,2006,2007 Free Software Foundation, Inc.
+# Copyright 2005,2006,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -294,5 +294,5 @@ class test_rational_resampler (gr_unittest.TestCase):
if __name__ == '__main__':
pass
# FIXME: Disabled, see ticket:210
- # gr_unittest.main()
+ # gr_unittest.run(test_rational_resampler, "test_rational_resampler.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_regenerate.py b/gnuradio-core/src/python/gnuradio/gr/qa_regenerate.py
index 64e751189e..32ecc3776e 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_regenerate.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_regenerate.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2007 Free Software Foundation, Inc.
+# Copyright 2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -23,7 +23,7 @@
from gnuradio import gr, gr_unittest
import math
-class test_sig_source (gr_unittest.TestCase):
+class test_regenerate (gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block ()
@@ -87,4 +87,4 @@ class test_sig_source (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_regenerate, "test_regenerate.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_repeat.py b/gnuradio-core/src/python/gnuradio/gr/qa_repeat.py
index 1ecc7ead31..2b1429980f 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_repeat.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_repeat.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2008 Free Software Foundation, Inc.
+# Copyright 2008,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -45,4 +45,4 @@ class test_repeat (gr_unittest.TestCase):
self.assertFloatTuplesAlmostEqual(dst_data, dst.data(), 6)
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_repeat, "test_repeat.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_scrambler.py b/gnuradio-core/src/python/gnuradio/gr/qa_scrambler.py
index aecf492933..241d8ec2a3 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_scrambler.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_scrambler.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2008 Free Software Foundation, Inc.
+# Copyright 2008,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -61,4 +61,4 @@ class test_scrambler(gr_unittest.TestCase):
self.assertEqual(src_data, dst.data())
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_scrambler, "test_scrambler.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_sig_source.py b/gnuradio-core/src/python/gnuradio/gr/qa_sig_source.py
index 058890c4fd..4bb58038f4 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_sig_source.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_sig_source.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2007 Free Software Foundation, Inc.
+# Copyright 2004,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -154,4 +154,4 @@ class test_sig_source (gr_unittest.TestCase):
self.assertFloatTuplesAlmostEqual (expected_result, dst_data, 5)
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_sig_source, "test_sig_source.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_single_pole_iir.py b/gnuradio-core/src/python/gnuradio/gr/qa_single_pole_iir.py
index 8ad0a9bb26..1d2e6595c4 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_single_pole_iir.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_single_pole_iir.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2005,2007 Free Software Foundation, Inc.
+# Copyright 2005,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -68,5 +68,5 @@ class test_single_pole_iir(gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_single_pole_iir, "test_single_pole_iir.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_single_pole_iir_cc.py b/gnuradio-core/src/python/gnuradio/gr/qa_single_pole_iir_cc.py
index 865c7c9064..47b4948ba8 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_single_pole_iir_cc.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_single_pole_iir_cc.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2005,2006,2007 Free Software Foundation, Inc.
+# Copyright 2005,2006,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -68,5 +68,5 @@ class test_single_pole_iir_cc(gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_single_pole_iir_cc, "test_single_pole_iir_cc.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_skiphead.py b/gnuradio-core/src/python/gnuradio/gr/qa_skiphead.py
index 106e973146..de2d8fc953 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_skiphead.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_skiphead.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2007 Free Software Foundation, Inc.
+# Copyright 2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -99,4 +99,4 @@ class test_skiphead (gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_skiphead, "test_skiphead.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_stream_mux.py b/gnuradio-core/src/python/gnuradio/gr/qa_stream_mux.py
index 8a76f8144d..7d6ddf81b9 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_stream_mux.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_stream_mux.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004,2005,2007 Free Software Foundation, Inc.
+# Copyright 2004,2005,2007,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -22,7 +22,7 @@
from gnuradio import gr, gr_unittest
-class test_head (gr_unittest.TestCase):
+class test_stream_mux (gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block ()
@@ -165,4 +165,4 @@ class test_head (gr_unittest.TestCase):
self.assertEqual (exp_data, result_data)
if __name__ == '__main__':
- gr_unittest.main()
+ gr_unittest.run(test_stream_mux, "test_stream_mux.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_udp_sink_source.py b/gnuradio-core/src/python/gnuradio/gr/qa_udp_sink_source.py
new file mode 100755
index 0000000000..097e394c97
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_udp_sink_source.py
@@ -0,0 +1,99 @@
+#!/usr/bin/env python
+#
+# Copyright 2008,2010 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+
+from gnuradio import gr, gr_unittest
+from threading import Timer
+
+class test_udp_sink_source(gr_unittest.TestCase):
+
+ def setUp(self):
+ self.tb_snd = gr.top_block()
+ self.tb_rcv = gr.top_block()
+
+ def tearDown(self):
+ self.tb_rcv = None
+ self.tb_snd = None
+
+ def test_001(self):
+ port = 65500
+
+ n_data = 16
+ src_data = [float(x) for x in range(n_data)]
+ expected_result = tuple(src_data)
+ src = gr.vector_source_f(src_data)
+ udp_snd = gr.udp_sink( gr.sizeof_float, 'localhost', port )
+ self.tb_snd.connect( src, udp_snd )
+
+ udp_rcv = gr.udp_source( gr.sizeof_float, 'localhost', port )
+ dst = gr.vector_sink_f()
+ self.tb_rcv.connect( udp_rcv, dst )
+
+ self.tb_rcv.start()
+ self.tb_snd.run()
+ udp_snd.disconnect()
+ self.timeout = False
+ q = Timer(3.0,self.stop_rcv)
+ q.start()
+ self.tb_rcv.wait()
+ q.cancel()
+
+ result_data = dst.data()
+ self.assertEqual(expected_result, result_data)
+ self.assert_(not self.timeout)
+
+ def test_002(self):
+ udp_rcv = gr.udp_source( gr.sizeof_float, '0.0.0.0', 0, eof=False )
+ rcv_port = udp_rcv.get_port()
+
+ udp_snd = gr.udp_sink( gr.sizeof_float, '127.0.0.1', 65500 )
+ udp_snd.connect( 'localhost', rcv_port )
+
+ n_data = 16
+ src_data = [float(x) for x in range(n_data)]
+ expected_result = tuple(src_data)
+ src = gr.vector_source_f(src_data)
+ dst = gr.vector_sink_f()
+
+ self.tb_snd.connect( src, udp_snd )
+ self.tb_rcv.connect( udp_rcv, dst )
+
+ self.tb_rcv.start()
+ self.tb_snd.run()
+ udp_snd.disconnect()
+ self.timeout = False
+ q = Timer(3.0,self.stop_rcv)
+ q.start()
+ self.tb_rcv.wait()
+ q.cancel()
+
+ result_data = dst.data()
+ self.assertEqual(expected_result, result_data)
+ self.assert_(self.timeout) # source ignores EOF?
+
+ def stop_rcv(self):
+ self.timeout = True
+ self.tb_rcv.stop()
+ #print "tb_rcv stopped by Timer"
+
+if __name__ == '__main__':
+ gr_unittest.run(test_udp_sink_source, "test_udp_sink_source.xml")
+
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_unpack_k_bits.py b/gnuradio-core/src/python/gnuradio/gr/qa_unpack_k_bits.py
index edb263ade6..d1faf9d9e5 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_unpack_k_bits.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_unpack_k_bits.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2006 Free Software Foundation, Inc.
+# Copyright 2006,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -53,5 +53,5 @@ class test_unpack(gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_unpack, "test_unpack.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_vector_sink_source.py b/gnuradio-core/src/python/gnuradio/gr/qa_vector_sink_source.py
index 149c669038..5d8d85c7cc 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_vector_sink_source.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_vector_sink_source.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2008 Free Software Foundation, Inc.
+# Copyright 2008,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -23,7 +23,7 @@
from gnuradio import gr, gr_unittest
import math
-class test_sink_source(gr_unittest.TestCase):
+class test_vector_sink_source(gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block ()
@@ -61,5 +61,5 @@ class test_sink_source(gr_unittest.TestCase):
self.assertRaises(ValueError, lambda : gr.vector_source_f(src_data, False, 3))
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_vector_sink_source, "test_vector_sink_source.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_wavefile.py b/gnuradio-core/src/python/gnuradio/gr/qa_wavefile.py
index 3ba5dfbce6..d9f38e3f1e 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_wavefile.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_wavefile.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2008 Free Software Foundation, Inc.
+# Copyright 2008,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -27,7 +27,7 @@ from os.path import getsize
g_in_file = os.path.join (os.getenv ("srcdir"), "test_16bit_1chunk.wav")
-class qa_wavefile(gr_unittest.TestCase):
+class test_wavefile(gr_unittest.TestCase):
def setUp (self):
self.tb = gr.top_block ()
@@ -66,4 +66,4 @@ class qa_wavefile(gr_unittest.TestCase):
if __name__ == '__main__':
- gr_unittest.main ()
+ gr_unittest.run(test_wavefile, "test_wavefile.xml")
diff --git a/gnuradio-core/src/python/gnuradio/gr_unittest.py b/gnuradio-core/src/python/gnuradio/gr_unittest.py
index a48343c6bf..50d484a76e 100755
--- a/gnuradio-core/src/python/gnuradio/gr_unittest.py
+++ b/gnuradio-core/src/python/gnuradio/gr_unittest.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2004 Free Software Foundation, Inc.
+# Copyright 2004,2010 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -21,7 +21,8 @@
#
import unittest
-import sys
+import gr_xmlrunner
+import sys, os, stat
class TestCase(unittest.TestCase):
"""A subclass of unittest.TestCase that adds additional assertions
@@ -106,6 +107,57 @@ TextTestRunner = unittest.TextTestRunner
TestProgram = unittest.TestProgram
main = TestProgram
+def run(PUT, filename=None):
+ '''
+ Runs the unittest on a TestCase and produces an optional XML report
+ PUT: the program under test and should be a gr_unittest.TestCase
+ filename: an optional filename to save the XML report of the tests
+ this will live in $HOME/.gnuradio/unittests/python
+ '''
+
+ # Run this is given a file name
+ if(filename is not None):
+ homepath = os.getenv("HOME")
+ basepath = homepath + "/.gnuradio"
+ path = homepath + "/.gnuradio/unittests/python"
+
+ xmlrunner = None
+ if os.path.exists(basepath):
+ # only proceed if $HOME/.gnuradio is writable
+ st = os.stat(basepath)[stat.ST_MODE]
+ if(st & stat.S_IWUSR > 0):
+ # Test if path exists; if not, build it
+ if not os.path.exists(path):
+ os.makedirs(path, 0750)
+
+ # Just for safety: make sure we can write here, too
+ st = os.stat(path)[stat.ST_MODE]
+ if(st & stat.S_IWUSR > 0):
+ # Create an XML runner to filename
+ fout = file(path+"/"+filename, "w")
+ xmlrunner = gr_xmlrunner.XMLTestRunner(fout)
+
+ txtrunner = TextTestRunner(verbosity=1)
+
+ # Run the test; runner also creates XML output file
+ # FIXME: make xmlrunner output to screen so we don't have to do run and main
+ suite = TestLoader().loadTestsFromTestCase(PUT)
+
+ # use the xmlrunner if we can write the the directory
+ if(xmlrunner is not None):
+ xmlrunner.run(suite)
+
+ main()
+
+ # This will run and fail make check if problem
+ # but does not output to screen.
+ #main(testRunner = xmlrunner)
+
+ else:
+ # If no filename is given, just run the test
+ main()
+
+
##############################################################################
# Executing this module from the command line
##############################################################################
diff --git a/gnuradio-core/src/python/gnuradio/gr_xmlrunner.py b/gnuradio-core/src/python/gnuradio/gr_xmlrunner.py
new file mode 100644
index 0000000000..ded77f5f31
--- /dev/null
+++ b/gnuradio-core/src/python/gnuradio/gr_xmlrunner.py
@@ -0,0 +1,385 @@
+"""
+XML Test Runner for PyUnit
+"""
+
+# Written by Sebastian Rittau <srittau@jroger.in-berlin.de> and placed in
+# the Public Domain. With contributions by Paolo Borelli and others.
+# Added to GNU Radio Oct. 3, 2010
+
+from __future__ import with_statement
+
+__version__ = "0.1"
+
+import os.path
+import re
+import sys
+import time
+import traceback
+import unittest
+from xml.sax.saxutils import escape
+
+try:
+ from StringIO import StringIO
+except ImportError:
+ from io import StringIO
+
+
+class _TestInfo(object):
+
+ """Information about a particular test.
+
+ Used by _XMLTestResult.
+
+ """
+
+ def __init__(self, test, time):
+ (self._class, self._method) = test.id().rsplit(".", 1)
+ self._time = time
+ self._error = None
+ self._failure = None
+
+ @staticmethod
+ def create_success(test, time):
+ """Create a _TestInfo instance for a successful test."""
+ return _TestInfo(test, time)
+
+ @staticmethod
+ def create_failure(test, time, failure):
+ """Create a _TestInfo instance for a failed test."""
+ info = _TestInfo(test, time)
+ info._failure = failure
+ return info
+
+ @staticmethod
+ def create_error(test, time, error):
+ """Create a _TestInfo instance for an erroneous test."""
+ info = _TestInfo(test, time)
+ info._error = error
+ return info
+
+ def print_report(self, stream):
+ """Print information about this test case in XML format to the
+ supplied stream.
+
+ """
+ stream.write(' <testcase classname="%(class)s" name="%(method)s" time="%(time).4f">' % \
+ {
+ "class": self._class,
+ "method": self._method,
+ "time": self._time,
+ })
+ if self._failure is not None:
+ self._print_error(stream, 'failure', self._failure)
+ if self._error is not None:
+ self._print_error(stream, 'error', self._error)
+ stream.write('</testcase>\n')
+
+ def _print_error(self, stream, tagname, error):
+ """Print information from a failure or error to the supplied stream."""
+ text = escape(str(error[1]))
+ stream.write('\n')
+ stream.write(' <%s type="%s">%s\n' \
+ % (tagname, _clsname(error[0]), text))
+ tb_stream = StringIO()
+ traceback.print_tb(error[2], None, tb_stream)
+ stream.write(escape(tb_stream.getvalue()))
+ stream.write(' </%s>\n' % tagname)
+ stream.write(' ')
+
+
+def _clsname(cls):
+ return cls.__module__ + "." + cls.__name__
+
+
+class _XMLTestResult(unittest.TestResult):
+
+ """A test result class that stores result as XML.
+
+ Used by XMLTestRunner.
+
+ """
+
+ def __init__(self, classname):
+ unittest.TestResult.__init__(self)
+ self._test_name = classname
+ self._start_time = None
+ self._tests = []
+ self._error = None
+ self._failure = None
+
+ def startTest(self, test):
+ unittest.TestResult.startTest(self, test)
+ self._error = None
+ self._failure = None
+ self._start_time = time.time()
+
+ def stopTest(self, test):
+ time_taken = time.time() - self._start_time
+ unittest.TestResult.stopTest(self, test)
+ if self._error:
+ info = _TestInfo.create_error(test, time_taken, self._error)
+ elif self._failure:
+ info = _TestInfo.create_failure(test, time_taken, self._failure)
+ else:
+ info = _TestInfo.create_success(test, time_taken)
+ self._tests.append(info)
+
+ def addError(self, test, err):
+ unittest.TestResult.addError(self, test, err)
+ self._error = err
+
+ def addFailure(self, test, err):
+ unittest.TestResult.addFailure(self, test, err)
+ self._failure = err
+
+ def print_report(self, stream, time_taken, out, err):
+ """Prints the XML report to the supplied stream.
+
+ The time the tests took to perform as well as the captured standard
+ output and standard error streams must be passed in.a
+
+ """
+ stream.write('<testsuite errors="%(e)d" failures="%(f)d" ' % \
+ { "e": len(self.errors), "f": len(self.failures) })
+ stream.write('name="%(n)s" tests="%(t)d" time="%(time).3f">\n' % \
+ {
+ "n": self._test_name,
+ "t": self.testsRun,
+ "time": time_taken,
+ })
+ for info in self._tests:
+ info.print_report(stream)
+ stream.write(' <system-out><![CDATA[%s]]></system-out>\n' % out)
+ stream.write(' <system-err><![CDATA[%s]]></system-err>\n' % err)
+ stream.write('</testsuite>\n')
+
+
+class XMLTestRunner(object):
+
+ """A test runner that stores results in XML format compatible with JUnit.
+
+ XMLTestRunner(stream=None) -> XML test runner
+
+ The XML file is written to the supplied stream. If stream is None, the
+ results are stored in a file called TEST-<module>.<class>.xml in the
+ current working directory (if not overridden with the path property),
+ where <module> and <class> are the module and class name of the test class.
+
+ """
+
+ def __init__(self, stream=None):
+ self._stream = stream
+ self._path = "."
+
+ def run(self, test):
+ """Run the given test case or test suite."""
+ class_ = test.__class__
+ classname = class_.__module__ + "." + class_.__name__
+ if self._stream == None:
+ filename = "TEST-%s.xml" % classname
+ stream = file(os.path.join(self._path, filename), "w")
+ stream.write('<?xml version="1.0" encoding="utf-8"?>\n')
+ else:
+ stream = self._stream
+
+ result = _XMLTestResult(classname)
+ start_time = time.time()
+
+ with _fake_std_streams():
+ test(result)
+ try:
+ out_s = sys.stdout.getvalue()
+ except AttributeError:
+ out_s = ""
+ try:
+ err_s = sys.stderr.getvalue()
+ except AttributeError:
+ err_s = ""
+
+ time_taken = time.time() - start_time
+ result.print_report(stream, time_taken, out_s, err_s)
+ if self._stream is None:
+ stream.close()
+
+ return result
+
+ def _set_path(self, path):
+ self._path = path
+
+ path = property(lambda self: self._path, _set_path, None,
+ """The path where the XML files are stored.
+
+ This property is ignored when the XML file is written to a file
+ stream.""")
+
+
+class _fake_std_streams(object):
+
+ def __enter__(self):
+ self._orig_stdout = sys.stdout
+ self._orig_stderr = sys.stderr
+ sys.stdout = StringIO()
+ sys.stderr = StringIO()
+
+ def __exit__(self, exc_type, exc_val, exc_tb):
+ sys.stdout = self._orig_stdout
+ sys.stderr = self._orig_stderr
+
+
+class XMLTestRunnerTest(unittest.TestCase):
+
+ def setUp(self):
+ self._stream = StringIO()
+
+ def _try_test_run(self, test_class, expected):
+
+ """Run the test suite against the supplied test class and compare the
+ XML result against the expected XML string. Fail if the expected
+ string doesn't match the actual string. All time attributes in the
+ expected string should have the value "0.000". All error and failure
+ messages are reduced to "Foobar".
+
+ """
+
+ runner = XMLTestRunner(self._stream)
+ runner.run(unittest.makeSuite(test_class))
+
+ got = self._stream.getvalue()
+ # Replace all time="X.YYY" attributes by time="0.000" to enable a
+ # simple string comparison.
+ got = re.sub(r'time="\d+\.\d+"', 'time="0.000"', got)
+ # Likewise, replace all failure and error messages by a simple "Foobar"
+ # string.
+ got = re.sub(r'(?s)<failure (.*?)>.*?</failure>', r'<failure \1>Foobar</failure>', got)
+ got = re.sub(r'(?s)<error (.*?)>.*?</error>', r'<error \1>Foobar</error>', got)
+ # And finally Python 3 compatibility.
+ got = got.replace('type="builtins.', 'type="exceptions.')
+
+ self.assertEqual(expected, got)
+
+ def test_no_tests(self):
+ """Regression test: Check whether a test run without any tests
+ matches a previous run.
+
+ """
+ class TestTest(unittest.TestCase):
+ pass
+ self._try_test_run(TestTest, """<testsuite errors="0" failures="0" name="unittest.TestSuite" tests="0" time="0.000">
+ <system-out><![CDATA[]]></system-out>
+ <system-err><![CDATA[]]></system-err>
+</testsuite>
+""")
+
+ def test_success(self):
+ """Regression test: Check whether a test run with a successful test
+ matches a previous run.
+
+ """
+ class TestTest(unittest.TestCase):
+ def test_foo(self):
+ pass
+ self._try_test_run(TestTest, """<testsuite errors="0" failures="0" name="unittest.TestSuite" tests="1" time="0.000">
+ <testcase classname="__main__.TestTest" name="test_foo" time="0.000"></testcase>
+ <system-out><![CDATA[]]></system-out>
+ <system-err><![CDATA[]]></system-err>
+</testsuite>
+""")
+
+ def test_failure(self):
+ """Regression test: Check whether a test run with a failing test
+ matches a previous run.
+
+ """
+ class TestTest(unittest.TestCase):
+ def test_foo(self):
+ self.assert_(False)
+ self._try_test_run(TestTest, """<testsuite errors="0" failures="1" name="unittest.TestSuite" tests="1" time="0.000">
+ <testcase classname="__main__.TestTest" name="test_foo" time="0.000">
+ <failure type="exceptions.AssertionError">Foobar</failure>
+ </testcase>
+ <system-out><![CDATA[]]></system-out>
+ <system-err><![CDATA[]]></system-err>
+</testsuite>
+""")
+
+ def test_error(self):
+ """Regression test: Check whether a test run with a erroneous test
+ matches a previous run.
+
+ """
+ class TestTest(unittest.TestCase):
+ def test_foo(self):
+ raise IndexError()
+ self._try_test_run(TestTest, """<testsuite errors="1" failures="0" name="unittest.TestSuite" tests="1" time="0.000">
+ <testcase classname="__main__.TestTest" name="test_foo" time="0.000">
+ <error type="exceptions.IndexError">Foobar</error>
+ </testcase>
+ <system-out><![CDATA[]]></system-out>
+ <system-err><![CDATA[]]></system-err>
+</testsuite>
+""")
+
+ def test_stdout_capture(self):
+ """Regression test: Check whether a test run with output to stdout
+ matches a previous run.
+
+ """
+ class TestTest(unittest.TestCase):
+ def test_foo(self):
+ sys.stdout.write("Test\n")
+ self._try_test_run(TestTest, """<testsuite errors="0" failures="0" name="unittest.TestSuite" tests="1" time="0.000">
+ <testcase classname="__main__.TestTest" name="test_foo" time="0.000"></testcase>
+ <system-out><![CDATA[Test
+]]></system-out>
+ <system-err><![CDATA[]]></system-err>
+</testsuite>
+""")
+
+ def test_stderr_capture(self):
+ """Regression test: Check whether a test run with output to stderr
+ matches a previous run.
+
+ """
+ class TestTest(unittest.TestCase):
+ def test_foo(self):
+ sys.stderr.write("Test\n")
+ self._try_test_run(TestTest, """<testsuite errors="0" failures="0" name="unittest.TestSuite" tests="1" time="0.000">
+ <testcase classname="__main__.TestTest" name="test_foo" time="0.000"></testcase>
+ <system-out><![CDATA[]]></system-out>
+ <system-err><![CDATA[Test
+]]></system-err>
+</testsuite>
+""")
+
+ class NullStream(object):
+ """A file-like object that discards everything written to it."""
+ def write(self, buffer):
+ pass
+
+ def test_unittests_changing_stdout(self):
+ """Check whether the XMLTestRunner recovers gracefully from unit tests
+ that change stdout, but don't change it back properly.
+
+ """
+ class TestTest(unittest.TestCase):
+ def test_foo(self):
+ sys.stdout = XMLTestRunnerTest.NullStream()
+
+ runner = XMLTestRunner(self._stream)
+ runner.run(unittest.makeSuite(TestTest))
+
+ def test_unittests_changing_stderr(self):
+ """Check whether the XMLTestRunner recovers gracefully from unit tests
+ that change stderr, but don't change it back properly.
+
+ """
+ class TestTest(unittest.TestCase):
+ def test_foo(self):
+ sys.stderr = XMLTestRunnerTest.NullStream()
+
+ runner = XMLTestRunner(self._stream)
+ runner.run(unittest.makeSuite(TestTest))
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/gnuradio-core/src/python/gnuradio/gruimpl/hexint.py b/gnuradio-core/src/python/gnuradio/gruimpl/hexint.py
index 8d46e8192f..f2808c4489 100644
--- a/gnuradio-core/src/python/gnuradio/gruimpl/hexint.py
+++ b/gnuradio-core/src/python/gnuradio/gruimpl/hexint.py
@@ -30,3 +30,15 @@ def hexint(mask):
if mask >= 2**31:
return int(mask-2**32)
return mask
+
+def hexshort(mask):
+ """
+ Convert unsigned masks into signed shorts.
+
+ This allows us to use hex constants like 0x8000 when talking to
+ our hardware and not get screwed by them getting treated as python
+ longs.
+ """
+ if mask >= 2**15:
+ return int(mask-2**16)
+ return mask
diff --git a/gnuradio-core/src/tests/test_all.cc b/gnuradio-core/src/tests/test_all.cc
index 6dc1a26f83..17ee32f34d 100644
--- a/gnuradio-core/src/tests/test_all.cc
+++ b/gnuradio-core/src/tests/test_all.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2002 Free Software Foundation, Inc.
+ * Copyright 2002,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -21,7 +21,9 @@
*/
#include <cppunit/TextTestRunner.h>
+#include <cppunit/XmlOutputter.h>
+#include <gr_unittests.h>
#include <qa_runtime.h>
#include <qa_general.h>
#include <qa_filter.h>
@@ -32,13 +34,18 @@
int
main (int argc, char **argv)
{
-
- CppUnit::TextTestRunner runner;
+ char path[200];
+ get_unittest_path ("gnuradio_core_all.xml", path, 200);
+
+ CppUnit::TextTestRunner runner;
+ std::ofstream xmlfile(path);
+ CppUnit::XmlOutputter *xmlout = new CppUnit::XmlOutputter(&runner.result(), xmlfile);
runner.addTest (qa_runtime::suite ());
runner.addTest (qa_general::suite ());
runner.addTest (qa_filter::suite ());
// runner.addTest (qa_atsc::suite ());
+ runner.setOutputter(xmlout);
bool was_successful = runner.run ("", false);
diff --git a/gnuradio-core/src/tests/test_atsc.cc b/gnuradio-core/src/tests/test_atsc.cc
index f744d76e69..51642f81a3 100644
--- a/gnuradio-core/src/tests/test_atsc.cc
+++ b/gnuradio-core/src/tests/test_atsc.cc
@@ -21,16 +21,24 @@
*/
#include <cppunit/TextTestRunner.h>
+#include <cppunit/XmlOutputter.h>
+
+#include <gr_unittests.h>
#include <qa_atsc.h>
int
main (int argc, char **argv)
{
+ char path[200];
+ get_unittest_path ("gnuradio_core_atsc.xml", path, 200);
- CppUnit::TextTestRunner runner;
+ CppUnit::TextTestRunner runner;
+ std::ofstream xmlfile(path);
+ CppUnit::XmlOutputter *xmlout = new CppUnit::XmlOutputter(&runner.result(), xmlfile);
runner.addTest (qa_atsc::suite ());
-
+ runner.setOutputter(xmlout);
+
bool was_successful = runner.run ("", false);
return was_successful ? 0 : 1;
diff --git a/gnuradio-core/src/tests/test_filter.cc b/gnuradio-core/src/tests/test_filter.cc
index 56e9452386..90fe66c2f5 100644
--- a/gnuradio-core/src/tests/test_filter.cc
+++ b/gnuradio-core/src/tests/test_filter.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2002 Free Software Foundation, Inc.
+ * Copyright 2002,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -21,15 +21,23 @@
*/
#include <cppunit/TextTestRunner.h>
+#include <cppunit/XmlOutputter.h>
+
+#include <gr_unittests.h>
#include <qa_filter.h>
int
main (int argc, char **argv)
{
+ char path[200];
+ get_unittest_path ("gnuradio_core_atsc.xml", path, 200);
- CppUnit::TextTestRunner runner;
+ CppUnit::TextTestRunner runner;
+ std::ofstream xmlfile(path);
+ CppUnit::XmlOutputter *xmlout = new CppUnit::XmlOutputter(&runner.result(), xmlfile);
runner.addTest (qa_filter::suite ());
+ runner.setOutputter(xmlout);
bool was_successful = runner.run ("", false);
diff --git a/gnuradio-core/src/tests/test_general.cc b/gnuradio-core/src/tests/test_general.cc
index 063e2ee45c..16ee9c3add 100644
--- a/gnuradio-core/src/tests/test_general.cc
+++ b/gnuradio-core/src/tests/test_general.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2002 Free Software Foundation, Inc.
+ * Copyright 2002,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -21,15 +21,23 @@
*/
#include <cppunit/TextTestRunner.h>
+#include <cppunit/XmlOutputter.h>
+
+#include <gr_unittests.h>
#include <qa_general.h>
int
main (int argc, char **argv)
{
-
- CppUnit::TextTestRunner runner;
+ char path[200];
+ get_unittest_path ("gnuradio_core_general.xml", path, 200);
+
+ CppUnit::TextTestRunner runner;
+ std::ofstream xmlfile(path);
+ CppUnit::XmlOutputter *xmlout = new CppUnit::XmlOutputter(&runner.result(), xmlfile);
runner.addTest (qa_general::suite ());
+ runner.setOutputter(xmlout);
bool was_successful = runner.run ("", false);
diff --git a/gnuradio-core/src/tests/test_runtime.cc b/gnuradio-core/src/tests/test_runtime.cc
index 8549f2a9b8..c7983a23ef 100644
--- a/gnuradio-core/src/tests/test_runtime.cc
+++ b/gnuradio-core/src/tests/test_runtime.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2002 Free Software Foundation, Inc.
+ * Copyright 2002,2010 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -21,15 +21,23 @@
*/
#include <cppunit/TextTestRunner.h>
+#include <cppunit/XmlOutputter.h>
+
+#include <gr_unittests.h>
#include <qa_runtime.h>
int
main (int argc, char **argv)
{
+ char path[200];
+ get_unittest_path ("gnuradio_core_runtime.xml", path, 200);
- CppUnit::TextTestRunner runner;
+ CppUnit::TextTestRunner runner;
+ std::ofstream xmlfile(path);
+ CppUnit::XmlOutputter *xmlout = new CppUnit::XmlOutputter(&runner.result(), xmlfile);
runner.addTest (qa_runtime::suite ());
+ runner.setOutputter(xmlout);
bool was_successful = runner.run ("", false);