Skip to content

Add C++ generation support in GRC to all blocks #2297

Description

@haakov

The checklists below indicate which blocks have C++ support in master.

gr-analog 25/34 ✔️
  • analog_agc2_xx
  • analog_agc3_xx
  • analog_agc_xx
  • analog_am_demod_cf
  • analog_const_source_x
  • analog_cpfsk_bc
  • analog_ctcss_squelch_ff
  • analog_dpll_bb
  • analog_fastnoise_source_x
  • analog_feedforward_agc_cc
  • analog_fm_deemph
  • analog_fm_demod_cf
  • analog_fmdet_cf
  • analog_fm_preemph
  • analog_frequency_modulator_fc
  • analog_nbfm_rx
  • analog_nbfm_tx
  • analog_noise_source_x
  • analog_phase_modulator_fc
  • analog_pll_carriertracking_cc
  • analog_pll_freqdet_cf
  • analog_pll_refout_cc
  • analog_probe_avg_mag_sqrd_x
  • analog_pwr_squelch_xx
  • analog_quadrature_demod_cf
  • analog_rail_ff
  • analog_random_source_x
  • analog_random_uniform_source_x
  • analog_sig_source_x
  • analog_simple_squelch_cc
  • analog_standard_squelch
  • analog_wfm_rcv
  • analog_wfm_rcv_pll
  • analog_wfm_tx
gr-audio 2/2 ✔️
  • audio_sink
  • audio_source
gr-blocks 120/135 ✔️
  • blocks_abs_xx
  • blocks_add_const_vxx
  • blocks_add_xx
  • blocks_and_const_xx
  • blocks_and_xx
  • blocks_argmax_xx
  • blocks_burst_tagger
  • blocks_char_to_float
  • blocks_char_to_short
  • blocks_complex_to_arg
  • blocks_complex_to_float
  • blocks_complex_to_imag
  • blocks_complex_to_interleaved_char
  • blocks_complex_to_interleaved_short
  • blocks_complex_to_mag
  • blocks_complex_to_magphase
  • blocks_complex_to_mag_squared
  • blocks_complex_to_real
  • blocks_conjugate_cc
  • blocks_copy
  • blocks_ctrlport_performance
  • blocks_ctrlport_probe2_c
  • blocks_ctrlport_probe2_x
  • blocks_ctrlport_probe_c
  • blocks_ctrlport_viewer
  • blocks_deinterleave
  • blocks_delay
  • blocks_divide_XX
  • blocks_endian_swap
  • blocks_exponentiate_const_cci
  • blocks_file_descriptor_sink
  • blocks_file_descriptor_source
  • blocks_file_meta_sink
  • blocks_file_meta_source
  • blocks_file_sink
  • blocks_file_source
  • blocks_float_to_char
  • blocks_float_to_complex
  • blocks_float_to_int
  • blocks_float_to_short
  • blocks_float_uchar
  • blocks_head
  • blocks_integrate_xx
  • blocks_interleave
  • blocks_interleaved_char_to_complex
  • blocks_interleaved_short_to_complex
  • blocks_int_to_float
  • blocks_keep_m_in_n
  • blocks_keep_one_in_n
  • blocks_magphase_to_complex
  • blocks_max_xx
  • blocks_message_debug
  • blocks_message_strobe
  • blocks_message_strobe_random
  • blocks_min_xx
  • blocks_moving_average_xx
  • blocks_multiply_by_tag_value_cc
  • blocks_multiply_conjugate_cc
  • blocks_multiply_const_vxx
  • blocks_multiply_const_xx
  • blocks_multiply_matrix_xx
  • blocks_multiply_xx
  • blocks_mute_xx
  • blocks_nlog10_ff
  • blocks_nop
  • blocks_not_xx
  • blocks_null_sink
  • blocks_null_source
  • blocks_or_xx
  • blocks_packed_to_unpacked_xx
  • blocks_pack_k_bits_bb
  • blocks_patterned_interleaver
  • blocks_pdu_filter
  • blocks_pdu_remove
  • blocks_pdu_set
  • blocks_pdu_to_tagged_stream
  • blocks_peak_detector2_fb
  • blocks_peak_detector_xb
  • blocks_plateau_detector_fb
  • blocks_probe_rate
  • blocks_probe_signal_vx
  • blocks_probe_signal_x
  • blocks_random_pdu
  • blocks_regenerate_bb
  • blocks_repack_bits_bb
  • blocks_repeat
  • blocks_rms_xx
  • blocks_rotator_cc
  • blocks_sample_and_hold_xx
  • blocks_short_to_char
  • blocks_short_to_float
  • blocks_skiphead
  • blocks_socket_pdu
  • blocks_stream_mux
  • blocks_streams_to_stream
  • blocks_streams_to_vector
  • blocks_stream_to_streams
  • blocks_stream_to_tagged_stream
  • blocks_stream_to_vector
  • blocks_stream_to_vector_decimator
  • blocks_stretch_ff
  • blocks_sub_xx
  • blocks_tag_debug
  • blocks_tag_gate
  • blocks_tagged_file_sink
  • blocks_tagged_stream_align
  • blocks_tagged_stream_multiply_length
  • blocks_tagged_stream_mux
  • blocks_tagged_stream_to_pdu
  • blocks_tag_object
  • blocks_tag_share
  • blocks_tags_strobe
  • blocks_tcp_server_sink
  • blocks_test_tag_variable_rate_ff
  • blocks_threshold_ff
  • blocks_throttle
  • blocks_transcendental
  • blocks_tuntap_pdu
  • blocks_uchar_to_float
  • blocks_udp_sink
  • blocks_udp_source
  • blocks_unpacked_to_packed_xx
  • blocks_unpack_k_bits_bb
  • blocks_vco_c
  • blocks_vco_f
  • blocks_vector_insert_x
  • blocks_vector_sink_x
  • blocks_vector_source_x
  • blocks_vector_to_stream
  • blocks_vector_to_streams
  • blocks_wavfile_sink
  • blocks_wavfile_source
  • blocks_xor_xx
  • xmlrpc_client
  • xmlrpc_server
gr-channels 0/17, 5*
  • channels_amp_bal (Not supported?)
  • channels_cfo_model (Not supported?)
  • channels_channel_model2
  • channels_channel_model
  • channels_conj_fs_iqcorr (Not supported?)
  • channels_distortion_2_gen (Not supported?)
  • channels_distortion_3_gen (Not supported?)
  • channels_dynamic_channel_model (Not supported?)
  • channels_fading_model
  • channels_impairments (Not supported?)
  • channels_iqbal_gen (Not supported?)
  • channels_phase_bal (Not supported?)
  • channels_phase_noise_gen (Not supported?)
  • channels_quantizer (Not supported?)
  • channels_selective_fading_model2
  • channels_selective_fading_model
  • channels_sro_model (Not supported?)
gr-digital 58/58 ✔️
  • digital_additive_scrambler_bb
  • digital_binary_slicer_fb
  • digital_burst_shaper
  • digital_chunks_to_symbols
  • digital_clock_recovery_mm_xx
  • digital_cma_equalizer_cc
  • digital_constellation
  • digital_constellation_decoder_cb
  • digital_constellation_modulator
  • digital_constellation_receiver_cb
  • digital_constellation_rect
  • digital_constellation_soft_decoder_cf
  • digital_correlate_access_code_bb
  • digital_correlate_access_code_tag_xx
  • digital_correlate_access_code_xx_ts
  • digital_corr_est_cc
  • digital_costas_loop_cc
  • digital_cpmmod_bc
  • digital_crc32_async_bb
  • digital_crc32_bb
  • digital_descrambler_bb
  • digital_diff_decoder_bb
  • digital_diff_encoder_bb
  • digital_diff_phasor_cc
  • digital_fll_band_edge_cc
  • digital_framer_sink_1
  • digital_gfsk_demod
  • digital_gfsk_mod
  • digital_glfsr_source_x
  • digital_gmsk_demod
  • digital_gmskmod_bc
  • digital_gmsk_mod
  • digital_hdlc_deframer_bp
  • digital_hdlc_framer_pb
  • digital_header_payload_demux
  • digital_kurtotic_equalizer_cc
  • digital_lms_dd_equalizer_cc
  • digital_map_bb
  • digital_modulate_vector
  • digital_mpsk_snr_est_cc
  • digital_msk_timing_recovery_cc
  • digital_ofdm_carrier_allocator_cvc
  • digital_ofdm_chanest_vcvc
  • digital_ofdm_cyclic_prefixer
  • digital_ofdm_frame_equalizer_vcvc
  • digital_ofdm_rx
  • digital_ofdm_serializer_vcc
  • digital_ofdm_sync_sc_cfb
  • digital_ofdm_tx
  • digital_packet_headergenerator_bb
  • digital_packet_headergenerator_bb_default
  • digital_packet_headerparser_b
  • digital_packet_headerparser_b_default
  • digital_packet_sink
  • digital_pfb_clock_sync
  • digital_pn_correlator_cc
  • digital_probe_density_b
  • digital_probe_mpsk_snr_est_c
  • digital_protocol_formatter_async
  • digital_protocol_formatter_bb
  • digital_protocol_parser_b
  • digital_psk_demod
  • digital_psk_mod
  • digital_qam_demod
  • digital_qam_mod
  • digital_scrambler_bb
  • digital_simple_correlator
  • digital_simple_framer
  • digital_symbol_sync_xx
  • variable_header_format_default
gr-dtv 52/54 ✔️
  • dtv_atsc_deinterleaver
  • dtv_atsc_depad
  • dtv_atsc_derandomizer
  • dtv_atsc_equalizer
  • dtv_atsc_field_sync_mux
  • dtv_atsc_fpll
  • dtv_atsc_fs_checker
  • dtv_atsc_interleaver
  • dtv_atsc_pad
  • dtv_atsc_randomizer
  • dtv_atsc_rs_decoder
  • dtv_atsc_rs_encoder
  • dtv_atsc_rx (is a Python hier block)
  • dtv_atsc_rx_filter (is a Python hier block)
  • dtv_atsc_sync
  • dtv_atsc_trellis_encoder
  • dtv_atsc_viterbi_decoder
  • dtv_catv_frame_sync_enc_bb
  • dtv_catv_randomizer_bb
  • dtv_catv_reed_solomon_enc_bb
  • dtv_catv_transport_framing_enc_bb
  • dtv_catv_trellis_enc_bb
  • dtv_dvb_bbheader_bb
  • dtv_dvb_bbscrambler_bb
  • dtv_dvb_bch_bb
  • dtv_dvb_ldpc_bb
  • dtv_dvbs2_interleaver_bb
  • dtv_dvbs2_modulator_bc
  • dtv_dvbs2_physical_cc
  • dtv_dvbt2_cellinterleaver_cc
  • dtv_dvbt2_framemapper_cc
  • dtv_dvbt2_freqinterleaver_cc
  • dtv_dvbt2_interleaver_bb
  • dtv_dvbt2_miso_cc
  • dtv_dvbt2_modulator_bc
  • dtv_dvbt2_p1insertion_cc
  • dtv_dvbt2_paprtr_cc
  • dtv_dvbt2_pilotgenerator_cc
  • dtv_dvbt_bit_inner_deinterleaver
  • dtv_dvbt_bit_inner_interleaver
  • dtv_dvbt_convolutional_deinterleaver
  • dtv_dvbt_convolutional_interleaver
  • dtv_dvbt_demap
  • dtv_dvbt_demod_reference_signals
  • dtv_dvbt_energy_descramble
  • dtv_dvbt_energy_dispersal
  • dtv_dvbt_inner_coder
  • dtv_dvbt_map
  • dtv_dvbt_ofdm_sym_acquisition
  • dtv_dvbt_reed_solomon_dec
  • dtv_dvbt_reed_solomon_enc
  • dtv_dvbt_reference_signals
  • dtv_dvbt_symbol_inner_interleaver
  • dtv_dvbt_viterbi_decoder
gr-fec 0/39, 7*
  • fec_async_decoder
  • fec_async_encoder
  • fec_ber_bf
  • fec_bercurve_generator
  • fec_decode_ccsds_27_bb
  • fec_decode_ccsds_27_fb
  • fec_decoder
  • fec_depuncture_bb
  • fec_encoder
  • fec_extended_async_encoder
  • fec_extended_decoder
  • fec_extended_encoder
  • fec_extended_tagged_decoder
  • fec_extended_tagged_encoder
  • fec_puncture_xx
  • fec_tagged_decoder
  • fec_tagged_encoder
  • ldpc_decoder_def_list
  • ldpc_encoder_def_list
  • tpc_decoder_def_list
  • tpc_encoder_def_list
  • variable_cc_decoder_def_list
  • variable_cc_encoder_def_list
  • variable_ccsds_encoder_def_list
  • variable_dummy_decoder_def_list
  • variable_dummy_encoder_def_list
  • variable_ldpc_bit_flip_decoder
  • variable_ldpc_encoder_G
  • variable_ldpc_encoder_H
  • variable_ldpc_G_matrix_object
  • variable_ldpc_H_matrix_object
  • variable_polar_code_configurator
  • variable_polar_decoder_sc
  • variable_polar_decoder_sc_list
  • variable_polar_decoder_sc_systematic
  • variable_polar_encoder
  • variable_polar_encoder_systematic
  • variable_repetition_decoder_def_list
  • variable_repetition_encoder_def_list
gr-fft 0/4, 3*
  • fft_ctrlport_probe_psd
  • fft_fft_vxx
  • fft_goertzel_fc
  • fft_logpwrfft_x (Not supported?)
gr-filter 23/23 ✔️
  • filter_band_pass_filter
  • filter_band_reject_filter
  • filter_dc_blocker_xx
  • filter_fft_filter_xxx
  • filter_filterbank_vcvcf
  • filter_filter_delay_fc
  • filter_fir_filter_xxx
  • filter_freq_xlating_fft_filter_ccc
  • filter_freq_xlating_fir_filter_xxx
  • filter_high_pass_filter
  • filter_hilbert_fc
  • filter_iir_filter_xxx
  • filter_interp_fir_filter_xxx
  • filter_low_pass_filter
  • filter_low_pass_xlating_filter
  • filter_mmse_interpolator_xx
  • filter_mmse_resampler_xx
  • filter_pfb_arb_resampler
  • filter_pfb_channelizer
  • filter_pfb_channelizer_hier
  • filter_pfb_decimator
  • filter_pfb_interpolator
  • filter_pfb_synthesizer
  • filter_rational_resampler_base_xxx
  • filter_rational_resampler_xxx
  • filter_root_raised_cosine_filter
  • filter_single_pole_iir_filter_xx
  • variable_band_pass_filter_taps
  • variable_band_reject_filter_taps
  • variable_high_pass_filter_taps
  • variable_low_pass_filter_taps
  • variable_rrc_filter_taps
gr-qtgui 0/19, 5*
  • qtgui_ber_sink_b
  • qtgui_check_box
  • qtgui_chooser
  • qtgui_const_sink_x
  • qtgui_edit_box_msg
  • qtgui_entry
  • qtgui_freq_sink_x
  • qtgui_histogram_sink_x
  • qtgui_label
  • qtgui_number_sink
  • qtgui_push_button
  • qtgui_range
  • qtgui_sink_x
  • qtgui_tab_widget
  • qtgui_time_raster_x
  • qtgui_time_sink_x
  • qtgui_time_sink_x
  • qtgui_vector_sink_f
  • qtgui_waterfall_sink_x
gr-trellis 0/13, 13*
  • trellis_encoder_xx
  • trellis_metrics_x
  • trellis_pccc_decoder_combined_xx
  • trellis_pccc_decoder_x
  • trellis_pccc_encoder_xx
  • trellis_permutation
  • trellis_sccc_decoder_combined_xx
  • trellis_sccc_decoder_x
  • trellis_sccc_encoder_xx
  • trellis_siso_combined_f
  • trellis_siso_f
  • trellis_viterbi_combined_xx
  • trellis_viterbi_x
gr-uhd 0/2 ✔️
  • uhd_amsg_source
  • gen_uhd_usrp_blocks.py
gr-video-sdl 1/1 ✔️
  • video_sdl_sink
gr-vocoder 0/18, 18#
  • vocoder_alaw_decode_bs
  • vocoder_alaw_encode_sb
  • vocoder_codec2_decode_ps
  • vocoder_codec2_encode_sp
  • vocoder_cvsd_decode
  • vocoder_cvsd_decode_bs
  • vocoder_cvsd_encode
  • vocoder_cvsd_encode_sb
  • vocoder_freedv_rx_ss
  • vocoder_freedv_tx_ss
  • vocoder_g721_decode_bs
  • vocoder_g721_encode_sb
  • vocoder_g723_24_decode_bs
  • vocoder_g723_24_encode_sb
  • vocoder_g723_40_decode_bs
  • vocoder_g723_40_encode_sb
  • vocoder_gsm_fr_decode_ps
  • vocoder_gsm_fr_encode_sp
  • vocoder_ulaw_decode_bs
  • vocoder_ulaw_encode_sb
gr-zeromq 12/12 ✔️
  • zeromq_pub_msg_sink
  • zeromq_pub_sink
  • zeromq_pull_msg_source
  • zeromq_pull_source
  • zeromq_push_msg_sink
  • zeromq_push_sink
  • zeromq_rep_msg_sink
  • zeromq_rep_sink
  • zeromq_req_msg_source
  • zeromq_req_source
  • zeromq_sub_msg_source
  • zeromq_sub_source
grc 5/10
  • import
  • note
  • options
  • pad_sink
  • pad_source
  • parameter
  • variable
  • variable_config
  • variable_function_probe
  • variable_struct

* - ready for PR
# - PR submitted

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions