-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
some questions about GRC #85
Comments
There is a post FWIW It may explain some of this: https://groups.google.com/g/pothos-users/c/TVU_M7nQdxo |
Auch, massive API change (doh whay gnuradio, why is that needed 😀) quite a few changes Guess I am staying on GRC 3.7 as GRC 3.9 has nothing I want even worse its missing stuff I want 😀 |
This gnuradio update (3.7-3.8 etc...) was really piece of crap. Nobody care about compatibility. It was like somebody just wanted faster and faster send gr3.9 to production.. SAD. |
for GRC 3.6 to 3.7, at least I have a script that converts old flowgraphs #!/bin/bash
# Version 0.2
# run ./grc_to_37 <appname>.grc
# this will create a backup copy and attempt to convert the api calls to 3.7
GRCFILE=$1
cp $GRCFILE $GRCFILE.pre3.7upgrade_backup # I refuse to take responsibility for breaking your flowgraphs
# set up a list of partial regexps to change modules
list_of_block_changes=(
"gr_peak_detector2_fb/blocks_peak_detector2_fb"
"gr_short_to_float/blocks_short_to_float"
"gr_diff_phasor_cc/digital_diff_phasor_cc"
"blks2_logpwrfft_x/logpwrfft_x"
"gr_rms_xx/blocks_rms_xx"
"gr_probe_density_b/digital_probe_density_b"
"gr_mute_xx/blocks_mute_xx"
"gr_agc_xx/analog_agc_xx"
"gr_ctcss_squelch_ff/analog_ctcss_squelch_ff"
"gr_diff_encoder_bb/digital_diff_encoder_bb"
"gr_pll_refout_cc/analog_pll_refout_cc"
"gr_uchar_to_float/blocks_uchar_to_float"
"gr_interp_fir_filter_xxx/interp_fir_filter_xxx"
"gr_udp_sink/blocks_udp_sink"
"gr_and_xx/blocks_and_xx"
"gr_keep_one_in_n/blocks_keep_one_in_n"
"gr_vector_sink_x/blocks_vector_sink_x"
"gr_freq_xlating_fir_filter_xxx/freq_xlating_fir_filter_xxx"
"gr_float_to_int/blocks_float_to_int"
"gr_file_source/blocks_file_source"
"gr_float_to_short/blocks_float_to_short"
"gr_fft_vxx/fft_vxx"
"gr_quadrature_demod_cf/analog_quadrature_demod_cf"
"gr_file_sink/blocks_file_sink"
"gr_pfb_clock_sync_xxx/digital_pfb_clock_sync_xxx"
"gr_multiply_const_vxx/blocks_multiply_const_vxx"
"gr_peak_detector_xb/blocks_peak_detector_xb"
"gr_noise_source_x/analog_noise_source_x"
"gr_simple_framer/digital_simple_framer"
"gr_delay/blocks_delay"
"gr_pfb_synthesizer_ccf/pfb_synthesizer_ccf"
"gr_short_to_char/blocks_short_to_char"
"gr_chunks_to_symbols_xx/digital_chunks_to_symbols_xx"
"gr_interleaved_short_to_complex/blocks_interleaved_short_to_complex"
"gr_frequency_modulator_fc/analog_frequency_modulator_fc"
"gr_xor_xx/blocks_xor_xx"
"gr_dpll_bb/analog_dpll_bb"
"gr_threshold_ff/blocks_threshold_ff"
"gr_nop/blocks_nop"
"gr_unpack_k_bits_bb/blocks_unpack_k_bits_bb"
"gr_max_xx/blocks_max_xx"
"gr_int_to_float/blocks_int_to_float"
"gr_stream_to_streams/blocks_stream_to_streams"
"blks2_wfm_rcv/analog_wfm_rcv"
"gr_fractional_interpolator_xx/fractional_interpolator_xx"
"gr_conjugate_cc/blocks_conjugate_cc"
"blks2_fm_demod_cf/analog_fm_demod_cf"
"gr_fir_filter_xxx/fir_filter_xxx"
"gr_null_source/blocks_null_source"
"gr_complex_to_arg/blocks_complex_to_arg"
"gr_pwr_squelch_xx/analog_pwr_squelch_xx"
"gr_descrambler_bb/digital_descrambler_bb"
"gr_copy/blocks_copy"
"gr_complex_to_mag/blocks_complex_to_mag"
"gr_throttle/blocks_throttle"
"gr_additive_scrambler_bb/digital_additive_scrambler_bb"
"gr_wavfile_sink/blocks_wavfile_sink"
"gr_vector_source_x/blocks_vector_source_x"
"gr_moving_average_xx/blocks_moving_average_xx"
"gr_char_to_short/blocks_char_to_short"
"blks2_fm_deemph/analog_fm_deemph"
"gr_pll_freqdet_cf/analog_pll_freqdet_cf"
"gr_or_xx/blocks_or_xx"
"blks2_fm_preemph/analog_fm_preemph"
"blks2_wfm_tx/analog_wfm_tx"
"gr_stream_to_vector/blocks_stream_to_vector"
"gr_glfsr_source_x/digital_glfsr_source_x"
"gr_map_bb/digital_map_bb"
"gr_sig_source_x/analog_sig_source_x"
"gr_transcendental/blocks_transcendental"
"gr_skiphead/blocks_skiphead"
"gr_hilbert_fc/hilbert_fc"
"blks2_nbfm_rx/analog_nbfm_rx"
"random_source_x/analog_random_source_x"
"gr_complex_to_real/blocks_complex_to_real"
"gr_null_sink/blocks_null_sink"
"gr_float_to_complex/blocks_float_to_complex"
"gr_multiply_xx/blocks_multiply_xx"
"gr_simple_correlator/digital_simple_correlator"
"gr_sample_and_hold_xx/blocks_sample_and_hold_xx"
"blks2_pfb_channelizer_ccf/pfb_channelizer_ccf"
"gr_goertzel_fc/goertzel_fc"
"gr_complex_to_mag_squared/blocks_complex_to_mag_squared"
"gr_packed_to_unpacked_xx/blocks_packed_to_unpacked_xx"
"blks2_standard_squelch/analog_standard_squelch"
"blks2_am_demod_cf/analog_am_demod_cf"
"gr_and_const_xx/blocks_and_const_xx"
"gr_unpacked_to_packed_xx/blocks_unpacked_to_packed_xx"
"gr_probe_avg_mag_sqrd_x/analog_probe_avg_mag_sqrd_x"
"gr_channel_model/channels_channel_model"
"gr_divide_xx/blocks_divide_xx"
"gr_simple_squelch_cc/analog_simple_squelch_cc"
"gr_message_source/blocks_message_source"
"gr_sub_xx/blocks_sub_xx"
"gr_stream_mux/blocks_stream_mux"
"gr_burst_tagger/blocks_burst_tagger"
"gr_float_to_uchar/blocks_float_to_uchar"
"gr_scrambler_bb/digital_scrambler_bb"
"gr_streams_to_vector/blocks_streams_to_vector"
"gr_add_xx/blocks_add_xx"
"gr_feedforward_agc_cc/analog_feedforward_agc_cc"
"gr_iir_filter_ffd/iir_filter_ffd"
"blks2_stream_to_vector_decimator/blocks_stream_to_vector_decimator"
"gr_pn_correlator_cc/digital_pn_correlator_cc"
"gr_streams_to_stream/blocks_streams_to_stream"
"gr_rational_resampler_base_xxx/rational_resampler_base_xxx"
"gr_vector_to_streams/blocks_vector_to_streams"
"gr_interleave/blocks_interleave"
"gr_add_const_vxx/blocks_add_const_vxx"
"gr_message_sink/blocks_message_sink"
"gr_complex_to_imag/blocks_complex_to_imag"
"gr_vco_f/blocks_vco_f"
"gr_deinterleave/blocks_deinterleave"
"gr_argmax_xx/blocks_argmax_xx"
"gr_not_xx/blocks_not_xx"
"gr_udp_source/blocks_udp_source"
"gr_nlog10_ff/blocks_nlog10_ff"
"gr_diff_decoder_bb/digital_diff_decoder_bb"
"gr_phase_modulator_fc/analog_phase_modulator_fc"
"gr_complex_to_interleaved_short/blocks_complex_to_interleaved_short"
"gr_float_to_char/blocks_float_to_char"
"gr_head/blocks_head"
"gr_fft_filter_xxx/fft_filter_xxx"
"gr_cpfsk_bc/analog_cpfsk_bc"
"gr_vector_to_stream/blocks_vector_to_stream"
"gr_agc2_xx/analog_agc2_xx"
"gr_pll_carriertracking_cc/analog_pll_carriertracking_cc"
"gr_repeat/blocks_repeat"
"gr_filter_delay_fc/filter_delay_fc"
"blks2_rational_resampler_xxx/rational_resampler_xxx"
"gr_char_to_float/blocks_char_to_float"
"gr_integrate_xx/blocks_integrate_xx"
"gr_wavfile_source/blocks_wavfile_source"
"gr_complex_to_float/blocks_complex_to_float"
"gr_single_pole_iir_filter_xx/single_pole_iir_filter_xx"
"blks2_nbfm_tx/analog_nbfm_tx"
"blks2_wfm_rcv_pll/analog_wfm_rcv_pll"
"const_source_x/analog_const_source_x"
"blks2_pfb_arb_resampler_ccf/pfb_arb_resampler_xxx"
)
for block in "${list_of_block_changes[@]}"
do
sed --in-place "/<key/s/$block/g" $GRCFILE
# only replace the keys lines because otherwise
# block ids can get clobbered if there are 2 of the same block
# one old, and one new that both use grc generated ids
done |
Gnuradio has always been a disturbingly difficult part of this project to maintain. So many dependencies, moving targets, python modules... The 3.9 release broke a ton of out of tree stuff and im waiting for much of it to be ported. It seems like they wanted to make some big changes to the project and im just trying to catch up to it. I even skipped really building 3.8 because of just being too busy. And since I did this update build there are other kinks to work out too. People also wanted the upgrade too, so its a kind of damned if you do, damned if you dont situation. I hope things gradually shuffle into place. So... I would consider the 2021 pothossdr builds as beta (but only as far as gnuradio support is concerned). Because 90% of the other stuff is pretty solid. I think even the gnuradio c++ part might be pretty solid too, since gqrx is using it. It seems that GRC and some out of tree projects are the main issue as everyone scrambles to "catch-up". |
Well after many consideratoins (list follows) I decided to upgrade to 3.9 Blcoks that don't work and I don't use that often (so can leave without) gqrx should work with grnuradio 3.9 LEDs are tempting: https://wiki.gnuradio.org/index.php/QT_GUI_LED_Indicator even found python3.9 that should work on windows 7: http://69.112.236.57/nextcloud/index.php/s/A6NGd76iMnMoHPm/download so I booted my laptop with windows 8.1 up to test the new gnuradio first before upgrading and low and behold my upgrade path will be even harder EDIT found fix ( GIS4WRF/gis4wrf#103 ) : Aperently Qt5 has a problem so go to: C:\Python37\Lib\site-packages\PyQt5\Qt\bin\ and rename Qt5Bluetooth.dll to Qt5Bluetooth.dll.1 Now I just have to get the curage to try to do that on my Windows 7 machine 😄 BTW: What is the latest pothosSDR that still uses GnuRadio 3.7? (on my 2016 version os something from that time QT GUI doesn't work so would like to transition gradually (update my flowgraphs first) |
hi there, it appears I missed a lot :)
not sure which gnuradio are you including in PothosSDR now (probably 3.8 am afraid to touch it since all my old xml based grc files will not work anymore (and I didn't find a converter for them yet) and not sure about what happens to old gnuradio blocks like gr-nrsc and gr-rds if they will still work :)
also noticied that python 3.9 is now required (will have to find a way to install it on my windows7 box (as someone up there decided that because windows 7 is out of support it cannot run python :( )
so yea, why python 3.9?
Sorry more like a question but issue :)
The text was updated successfully, but these errors were encountered: