from: https://stackoverflow.com/questions/57678068/installing-gnuradio-3-8-on-ubuntu-18-04
sudo apt-get install python-pip python-apt
sudo -H pip install PyBOMBS
mkdir ~/sdr
cd ~/sdr
pybombs auto-config
pybombs recipes add gr-recipes git+https://github.com/gnuradio/gr-recipes.git
pybombs recipes add gr-etcetera git+https://github.com/gnuradio/gr-etcetera.git
pybombs prefix init ~/sdr
sed -i 's/2\.6/3.6/g' setup_env.sh
sed -i 's/2\.7/3/g' setup_env.sh
- Edit
~/.pybombs/recipes/gr-recipes/gnuradio.lwr
- Ensure the "gitbranch" is
maint-3.8
. - In gnuradio.lwr recipe file, add "-DENABLE_CTRLPORT_THRIFT=OFF" in "config_opt".
source ~/sdr/setup_env.sh
pybombs install uhd
sudo apt install git cmake g++ libboost-all-dev libgmp-dev \
swig python3-numpy python3-mako python3-sphinx python3-lxml \
doxygen libfftw3-dev libcomedi-dev libsdl1.2-dev libgsl-dev \
libqwt-qt5-dev libqt5opengl5-dev python3-pyqt5 liblog4cpp5-dev \
libzmq3-dev python3-yaml python3-click python3-click-plugins
pybombs install gnuradio
category: common
depends:
- gnuradio
- libosmo-dsp
description: Gnuradio I/Q balancing
#gitbranch: master
gitbranch: maint-3.8
inherit: cmake
# Let's always build this from source, not binaries
#source: git+https://git.osmocom.org/gr-iqbal
source: git+https://github.com/velichkov/gr-iqbal.git
category: common
depends:
- uhd
- rtl-sdr
- osmo-sdr
- hackrf
- gnuradio
- gr-iqbal
- bladeRF
- airspy
- soapysdr
description: Interface API independent of the underlying radio hardware
#gitbranch: master
gitbranch: maint-3.8
inherit: cmake
# Let's always build this from source, not binaries
#source: git+https://git.osmocom.org/gr-osmosdr
source: git+https://github.com/velichkov/gr-osmosdr.git
pybombs install gr-osmosdr
source ~/sdr/setup_env.sh
gnuradio-companion
Hello,
When I try to use the osmocom_sink the following error shows up:
Generating: '/home/ubuntu18/sdr/share/gnuradio/examples/digital/ofdm/tx_ofdm.py'
Generate Error: (NameError("'dc_offset_mode20' is not defined",), 'osmosdr.sink(\n args="numchan=" + str(${nchan}) + " " + ${args}\n)\n% if context.get('num_mboards')() > 0:\n% if context.get('clock_source0')():\nself.${id}.set_clock_source(${clock_source0}, 0)\n% endif\n% if context.get('time_source0')():\nself.${id}.set_time_source(${time_source0}, 0)\n% endif\n% endif\n% if context.get('num_mboards')() > 1:\n% if context.get('clock_source1')():\nself.${id}.set_clock_source(${clock_source1}, 1)\n% endif\n% if context.get('time_source1')():\nself.${id}.set_time_source(${time_source1}, 1)\n% endif\n% endif\n% if context.get('num_mboards')() > 2:\n% if context.get('clock_source2')():\nself.${id}.set_clock_source(${clock_source2}, 2)\n% endif\n% if context.get('time_source2')():\nself.${id}.set_time_source(${time_source2}, 2)\n% endif\n% endif\n% if context.get('num_mboards')() > 3:\n% if context.get('clock_source3')():\nself.${id}.set_clock_source(${clock_source3}, 3)\n% endif\n% if context.get('time_source3')():\nself.${id}.set_time_source(${time_source3}, 3)\n% endif\n% endif\n% if context.get('num_mboards')() > 4:\n% if context.get('clock_source4')():\nself.${id}.set_clock_source(${clock_source4}, 4)\n% endif\n% if context.get('time_source4')():\nself.${id}.set_time_source(${time_source4}, 4)\n% endif\n% endif\n% if context.get('num_mboards')() > 5:\n% if context.get('clock_source5')():\nself.${id}.set_clock_source(${clock_source5}, 5)\n% endif\n% if context.get('time_source5')():\nself.${id}.set_time_source(${time_source5}, 5)\n% endif\n% endif\n% if context.get('num_mboards')() > 6:\n% if context.get('clock_source6')():\nself.${id}.set_clock_source(${clock_source6}, 6)\n% endif\n% if context.get('time_source6')():\nself.${id}.set_time_source(${time_source6}, 6)\n% endif\n% endif\n% if context.get('num_mboards')() > 7:\n% if context.get('clock_source7')():\nself.${id}.set_clock_source(${clock_source7}, 7)\n% endif\n% if context.get('time_source7')():\nself.${id}.set_time_source(${time_source7}, 7)\n% endif\n% endif\n% if sync == 'sync':\nself.${id}.set_time_unknown_pps(osmosdr.time_spec_t())\n% elif sync == 'pc_clock':\nself.${id}.set_time_now(osmosdr.time_spec_t(time.time()), osmosdr.ALL_MBOARDS)\n% endif\nself.${id}.set_sample_rate(${sample_rate})\n% if context.get('nchan')() > 0:\nself.${id}.set_center_freq(${freq0}, 0)\nself.${id}.set_freq_corr(${corr0}, 0)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode0}, 0)\nself.${id}.set_iq_balance_mode(${iq_balance_mode0}, 0)\nself.${id}.set_gain_mode(${gain_mode0}, 0)\n% endif\nself.${id}.set_gain(${gain0}, 0)\nself.${id}.set_if_gain(${if_gain0}, 0)\nself.${id}.set_bb_gain(${bb_gain0}, 0)\nself.${id}.set_antenna(${ant0}, 0)\nself.${id}.set_bandwidth(${bw0}, 0)\n% endif\n% if context.get('nchan')() > 1:\nself.${id}.set_center_freq(${freq1}, 1)\nself.${id}.set_freq_corr(${corr1}, 1)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode1}, 1)\nself.${id}.set_iq_balance_mode(${iq_balance_mode1}, 1)\nself.${id}.set_gain_mode(${gain_mode1}, 1)\n% endif\nself.${id}.set_gain(${gain1}, 1)\nself.${id}.set_if_gain(${if_gain1}, 1)\nself.${id}.set_bb_gain(${bb_gain1}, 1)\nself.${id}.set_antenna(${ant1}, 1)\nself.${id}.set_bandwidth(${bw1}, 1)\n% endif\n% if context.get('nchan')() > 2:\nself.${id}.set_center_freq(${freq2}, 2)\nself.${id}.set_freq_corr(${corr2}, 2)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode2}, 2)\nself.${id}.set_iq_balance_mode(${iq_balance_mode2}, 2)\nself.${id}.set_gain_mode(${gain_mode2}, 2)\n% endif\nself.${id}.set_gain(${gain2}, 2)\nself.${id}.set_if_gain(${if_gain2}, 2)\nself.${id}.set_bb_gain(${bb_gain2}, 2)\nself.${id}.set_antenna(${ant2}, 2)\nself.${id}.set_bandwidth(${bw2}, 2)\n% endif\n% if context.get('nchan')() > 3:\nself.${id}.set_center_freq(${freq3}, 3)\nself.${id}.set_freq_corr(${corr3}, 3)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode3}, 3)\nself.${id}.set_iq_balance_mode(${iq_balance_mode3}, 3)\nself.${id}.set_gain_mode(${gain_mode3}, 3)\n% endif\nself.${id}.set_gain(${gain3}, 3)\nself.${id}.set_if_gain(${if_gain3}, 3)\nself.${id}.set_bb_gain(${bb_gain3}, 3)\nself.${id}.set_antenna(${ant3}, 3)\nself.${id}.set_bandwidth(${bw3}, 3)\n% endif\n% if context.get('nchan')() > 4:\nself.${id}.set_center_freq(${freq4}, 4)\nself.${id}.set_freq_corr(${corr4}, 4)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode4}, 4)\nself.${id}.set_iq_balance_mode(${iq_balance_mode4}, 4)\nself.${id}.set_gain_mode(${gain_mode4}, 4)\n% endif\nself.${id}.set_gain(${gain4}, 4)\nself.${id}.set_if_gain(${if_gain4}, 4)\nself.${id}.set_bb_gain(${bb_gain4}, 4)\nself.${id}.set_antenna(${ant4}, 4)\nself.${id}.set_bandwidth(${bw4}, 4)\n% endif\n% if context.get('nchan')() > 5:\nself.${id}.set_center_freq(${freq5}, 5)\nself.${id}.set_freq_corr(${corr5}, 5)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode5}, 5)\nself.${id}.set_iq_balance_mode(${iq_balance_mode5}, 5)\nself.${id}.set_gain_mode(${gain_mode5}, 5)\n% endif\nself.${id}.set_gain(${gain5}, 5)\nself.${id}.set_if_gain(${if_gain5}, 5)\nself.${id}.set_bb_gain(${bb_gain5}, 5)\nself.${id}.set_antenna(${ant5}, 5)\nself.${id}.set_bandwidth(${bw5}, 5)\n% endif\n% if context.get('nchan')() > 6:\nself.${id}.set_center_freq(${freq6}, 6)\nself.${id}.set_freq_corr(${corr6}, 6)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode6}, 6)\nself.${id}.set_iq_balance_mode(${iq_balance_mode6}, 6)\nself.${id}.set_gain_mode(${gain_mode6}, 6)\n% endif\nself.${id}.set_gain(${gain6}, 6)\nself.${id}.set_if_gain(${if_gain6}, 6)\nself.${id}.set_bb_gain(${bb_gain6}, 6)\nself.${id}.set_antenna(${ant6}, 6)\nself.${id}.set_bandwidth(${bw6}, 6)\n% endif\n% if context.get('nchan')() > 7:\nself.${id}.set_center_freq(${freq7}, 7)\nself.${id}.set_freq_corr(${corr7}, 7)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode7}, 7)\nself.${id}.set_iq_balance_mode(${iq_balance_mode7}, 7)\nself.${id}.set_gain_mode(${gain_mode7}, 7)\n% endif\nself.${id}.set_gain(${gain7}, 7)\nself.${id}.set_if_gain(${if_gain7}, 7)\nself.${id}.set_bb_gain(${bb_gain7}, 7)\nself.${id}.set_antenna(${ant7}, 7)\nself.${id}.set_bandwidth(${bw7}, 7)\n% endif\n% if context.get('nchan')() > 8:\nself.${id}.set_center_freq(${freq8}, 8)\nself.${id}.set_freq_corr(${corr8}, 8)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode8}, 8)\nself.${id}.set_iq_balance_mode(${iq_balance_mode8}, 8)\nself.${id}.set_gain_mode(${gain_mode8}, 8)\n% endif\nself.${id}.set_gain(${gain8}, 8)\nself.${id}.set_if_gain(${if_gain8}, 8)\nself.${id}.set_bb_gain(${bb_gain8}, 8)\nself.${id}.set_antenna(${ant8}, 8)\nself.${id}.set_bandwidth(${bw8}, 8)\n% endif\n% if context.get('nchan')() > 9:\nself.${id}.set_center_freq(${freq9}, 9)\nself.${id}.set_freq_corr(${corr9}, 9)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode9}, 9)\nself.${id}.set_iq_balance_mode(${iq_balance_mode9}, 9)\nself.${id}.set_gain_mode(${gain_mode9}, 9)\n% endif\nself.${id}.set_gain(${gain9}, 9)\nself.${id}.set_if_gain(${if_gain9}, 9)\nself.${id}.set_bb_gain(${bb_gain9}, 9)\nself.${id}.set_antenna(${ant9}, 9)\nself.${id}.set_bandwidth(${bw9}, 9)\n% endif\n% if context.get('nchan')() > 10:\nself.${id}.set_center_freq(${freq10}, 10)\nself.${id}.set_freq_corr(${corr10}, 10)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode10}, 10)\nself.${id}.set_iq_balance_mode(${iq_balance_mode10}, 10)\nself.${id}.set_gain_mode(${gain_mode10}, 10)\n% endif\nself.${id}.set_gain(${gain10}, 10)\nself.${id}.set_if_gain(${if_gain10}, 10)\nself.${id}.set_bb_gain(${bb_gain10}, 10)\nself.${id}.set_antenna(${ant10}, 10)\nself.${id}.set_bandwidth(${bw10}, 10)\n% endif\n% if context.get('nchan')() > 11:\nself.${id}.set_center_freq(${freq11}, 11)\nself.${id}.set_freq_corr(${corr11}, 11)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode11}, 11)\nself.${id}.set_iq_balance_mode(${iq_balance_mode11}, 11)\nself.${id}.set_gain_mode(${gain_mode11}, 11)\n% endif\nself.${id}.set_gain(${gain11}, 11)\nself.${id}.set_if_gain(${if_gain11}, 11)\nself.${id}.set_bb_gain(${bb_gain11}, 11)\nself.${id}.set_antenna(${ant11}, 11)\nself.${id}.set_bandwidth(${bw11}, 11)\n% endif\n% if context.get('nchan')() > 12:\nself.${id}.set_center_freq(${freq12}, 12)\nself.${id}.set_freq_corr(${corr12}, 12)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode12}, 12)\nself.${id}.set_iq_balance_mode(${iq_balance_mode12}, 12)\nself.${id}.set_gain_mode(${gain_mode12}, 12)\n% endif\nself.${id}.set_gain(${gain12}, 12)\nself.${id}.set_if_gain(${if_gain12}, 12)\nself.${id}.set_bb_gain(${bb_gain12}, 12)\nself.${id}.set_antenna(${ant12}, 12)\nself.${id}.set_bandwidth(${bw12}, 12)\n% endif\n% if context.get('nchan')() > 13:\nself.${id}.set_center_freq(${freq13}, 13)\nself.${id}.set_freq_corr(${corr13}, 13)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode13}, 13)\nself.${id}.set_iq_balance_mode(${iq_balance_mode13}, 13)\nself.${id}.set_gain_mode(${gain_mode13}, 13)\n% endif\nself.${id}.set_gain(${gain13}, 13)\nself.${id}.set_if_gain(${if_gain13}, 13)\nself.${id}.set_bb_gain(${bb_gain13}, 13)\nself.${id}.set_antenna(${ant13}, 13)\nself.${id}.set_bandwidth(${bw13}, 13)\n% endif\n% if context.get('nchan')() > 14:\nself.${id}.set_center_freq(${freq14}, 14)\nself.${id}.set_freq_corr(${corr14}, 14)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode14}, 14)\nself.${id}.set_iq_balance_mode(${iq_balance_mode14}, 14)\nself.${id}.set_gain_mode(${gain_mode14}, 14)\n% endif\nself.${id}.set_gain(${gain14}, 14)\nself.${id}.set_if_gain(${if_gain14}, 14)\nself.${id}.set_bb_gain(${bb_gain14}, 14)\nself.${id}.set_antenna(${ant14}, 14)\nself.${id}.set_bandwidth(${bw14}, 14)\n% endif\n% if context.get('nchan')() > 15:\nself.${id}.set_center_freq(${freq15}, 15)\nself.${id}.set_freq_corr(${corr15}, 15)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode15}, 15)\nself.${id}.set_iq_balance_mode(${iq_balance_mode15}, 15)\nself.${id}.set_gain_mode(${gain_mode15}, 15)\n% endif\nself.${id}.set_gain(${gain15}, 15)\nself.${id}.set_if_gain(${if_gain15}, 15)\nself.${id}.set_bb_gain(${bb_gain15}, 15)\nself.${id}.set_antenna(${ant15}, 15)\nself.${id}.set_bandwidth(${bw15}, 15)\n% endif\n% if context.get('nchan')() > 16:\nself.${id}.set_center_freq(${freq16}, 16)\nself.${id}.set_freq_corr(${corr16}, 16)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode16}, 16)\nself.${id}.set_iq_balance_mode(${iq_balance_mode16}, 16)\nself.${id}.set_gain_mode(${gain_mode16}, 16)\n% endif\nself.${id}.set_gain(${gain16}, 16)\nself.${id}.set_if_gain(${if_gain16}, 16)\nself.${id}.set_bb_gain(${bb_gain16}, 16)\nself.${id}.set_antenna(${ant16}, 16)\nself.${id}.set_bandwidth(${bw16}, 16)\n% endif\n% if context.get('nchan')() > 17:\nself.${id}.set_center_freq(${freq17}, 17)\nself.${id}.set_freq_corr(${corr17}, 17)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode17}, 17)\nself.${id}.set_iq_balance_mode(${iq_balance_mode17}, 17)\nself.${id}.set_gain_mode(${gain_mode17}, 17)\n% endif\nself.${id}.set_gain(${gain17}, 17)\nself.${id}.set_if_gain(${if_gain17}, 17)\nself.${id}.set_bb_gain(${bb_gain17}, 17)\nself.${id}.set_antenna(${ant17}, 17)\nself.${id}.set_bandwidth(${bw17}, 17)\n% endif\n% if context.get('nchan')() > 18:\nself.${id}.set_center_freq(${freq18}, 18)\nself.${id}.set_freq_corr(${corr18}, 18)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode18}, 18)\nself.${id}.set_iq_balance_mode(${iq_balance_mode18}, 18)\nself.${id}.set_gain_mode(${gain_mode18}, 18)\n% endif\nself.${id}.set_gain(${gain18}, 18)\nself.${id}.set_if_gain(${if_gain18}, 18)\nself.${id}.set_bb_gain(${bb_gain18}, 18)\nself.${id}.set_antenna(${ant18}, 18)\nself.${id}.set_bandwidth(${bw18}, 18)\n% endif\n% if context.get('nchan')() > 19:\nself.${id}.set_center_freq(${freq19}, 19)\nself.${id}.set_freq_corr(${corr19}, 19)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode19}, 19)\nself.${id}.set_iq_balance_mode(${iq_balance_mode19}, 19)\nself.${id}.set_gain_mode(${gain_mode19}, 19)\n% endif\nself.${id}.set_gain(${gain19}, 19)\nself.${id}.set_if_gain(${if_gain19}, 19)\nself.${id}.set_bb_gain(${bb_gain19}, 19)\nself.${id}.set_antenna(${ant19}, 19)\nself.${id}.set_bandwidth(${bw19}, 19)\n% endif\n% if context.get('nchan')() > 20:\nself.${id}.set_center_freq(${freq20}, 20)\nself.${id}.set_freq_corr(${corr20}, 20)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode20}, 20)\nself.${id}.set_iq_balance_mode(${iq_balance_mode20}, 20)\nself.${id}.set_gain_mode(${gain_mode20}, 20)\n% endif\nself.${id}.set_gain(${gain20}, 20)\nself.${id}.set_if_gain(${if_gain20}, 20)\nself.${id}.set_bb_gain(${bb_gain20}, 20)\nself.${id}.set_antenna(${ant20}, 20)\nself.${id}.set_bandwidth(${bw20}, 20)\n% endif\n% if context.get('nchan')() > 21:\nself.${id}.set_center_freq(${freq21}, 21)\nself.${id}.set_freq_corr(${corr21}, 21)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode21}, 21)\nself.${id}.set_iq_balance_mode(${iq_balance_mode21}, 21)\nself.${id}.set_gain_mode(${gain_mode21}, 21)\n% endif\nself.${id}.set_gain(${gain21}, 21)\nself.${id}.set_if_gain(${if_gain21}, 21)\nself.${id}.set_bb_gain(${bb_gain21}, 21)\nself.${id}.set_antenna(${ant21}, 21)\nself.${id}.set_bandwidth(${bw21}, 21)\n% endif\n% if context.get('nchan')() > 22:\nself.${id}.set_center_freq(${freq22}, 22)\nself.${id}.set_freq_corr(${corr22}, 22)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode22}, 22)\nself.${id}.set_iq_balance_mode(${iq_balance_mode22}, 22)\nself.${id}.set_gain_mode(${gain_mode22}, 22)\n% endif\nself.${id}.set_gain(${gain22}, 22)\nself.${id}.set_if_gain(${if_gain22}, 22)\nself.${id}.set_bb_gain(${bb_gain22}, 22)\nself.${id}.set_antenna(${ant22}, 22)\nself.${id}.set_bandwidth(${bw22}, 22)\n% endif\n% if context.get('nchan')() > 23:\nself.${id}.set_center_freq(${freq23}, 23)\nself.${id}.set_freq_corr(${corr23}, 23)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode23}, 23)\nself.${id}.set_iq_balance_mode(${iq_balance_mode23}, 23)\nself.${id}.set_gain_mode(${gain_mode23}, 23)\n% endif\nself.${id}.set_gain(${gain23}, 23)\nself.${id}.set_if_gain(${if_gain23}, 23)\nself.${id}.set_bb_gain(${bb_gain23}, 23)\nself.${id}.set_antenna(${ant23}, 23)\nself.${id}.set_bandwidth(${bw23}, 23)\n% endif\n% if context.get('nchan')() > 24:\nself.${id}.set_center_freq(${freq24}, 24)\nself.${id}.set_freq_corr(${corr24}, 24)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode24}, 24)\nself.${id}.set_iq_balance_mode(${iq_balance_mode24}, 24)\nself.${id}.set_gain_mode(${gain_mode24}, 24)\n% endif\nself.${id}.set_gain(${gain24}, 24)\nself.${id}.set_if_gain(${if_gain24}, 24)\nself.${id}.set_bb_gain(${bb_gain24}, 24)\nself.${id}.set_antenna(${ant24}, 24)\nself.${id}.set_bandwidth(${bw24}, 24)\n% endif\n% if context.get('nchan')() > 25:\nself.${id}.set_center_freq(${freq25}, 25)\nself.${id}.set_freq_corr(${corr25}, 25)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode25}, 25)\nself.${id}.set_iq_balance_mode(${iq_balance_mode25}, 25)\nself.${id}.set_gain_mode(${gain_mode25}, 25)\n% endif\nself.${id}.set_gain(${gain25}, 25)\nself.${id}.set_if_gain(${if_gain25}, 25)\nself.${id}.set_bb_gain(${bb_gain25}, 25)\nself.${id}.set_antenna(${ant25}, 25)\nself.${id}.set_bandwidth(${bw25}, 25)\n% endif\n% if context.get('nchan')() > 26:\nself.${id}.set_center_freq(${freq26}, 26)\nself.${id}.set_freq_corr(${corr26}, 26)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode26}, 26)\nself.${id}.set_iq_balance_mode(${iq_balance_mode26}, 26)\nself.${id}.set_gain_mode(${gain_mode26}, 26)\n% endif\nself.${id}.set_gain(${gain26}, 26)\nself.${id}.set_if_gain(${if_gain26}, 26)\nself.${id}.set_bb_gain(${bb_gain26}, 26)\nself.${id}.set_antenna(${ant26}, 26)\nself.${id}.set_bandwidth(${bw26}, 26)\n% endif\n% if context.get('nchan')() > 27:\nself.${id}.set_center_freq(${freq27}, 27)\nself.${id}.set_freq_corr(${corr27}, 27)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode27}, 27)\nself.${id}.set_iq_balance_mode(${iq_balance_mode27}, 27)\nself.${id}.set_gain_mode(${gain_mode27}, 27)\n% endif\nself.${id}.set_gain(${gain27}, 27)\nself.${id}.set_if_gain(${if_gain27}, 27)\nself.${id}.set_bb_gain(${bb_gain27}, 27)\nself.${id}.set_antenna(${ant27}, 27)\nself.${id}.set_bandwidth(${bw27}, 27)\n% endif\n% if context.get('nchan')() > 28:\nself.${id}.set_center_freq(${freq28}, 28)\nself.${id}.set_freq_corr(${corr28}, 28)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode28}, 28)\nself.${id}.set_iq_balance_mode(${iq_balance_mode28}, 28)\nself.${id}.set_gain_mode(${gain_mode28}, 28)\n% endif\nself.${id}.set_gain(${gain28}, 28)\nself.${id}.set_if_gain(${if_gain28}, 28)\nself.${id}.set_bb_gain(${bb_gain28}, 28)\nself.${id}.set_antenna(${ant28}, 28)\nself.${id}.set_bandwidth(${bw28}, 28)\n% endif\n% if context.get('nchan')() > 29:\nself.${id}.set_center_freq(${freq29}, 29)\nself.${id}.set_freq_corr(${corr29}, 29)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode29}, 29)\nself.${id}.set_iq_balance_mode(${iq_balance_mode29}, 29)\nself.${id}.set_gain_mode(${gain_mode29}, 29)\n% endif\nself.${id}.set_gain(${gain29}, 29)\nself.${id}.set_if_gain(${if_gain29}, 29)\nself.${id}.set_bb_gain(${bb_gain29}, 29)\nself.${id}.set_antenna(${ant29}, 29)\nself.${id}.set_bandwidth(${bw29}, 29)\n% endif\n% if context.get('nchan')() > 30:\nself.${id}.set_center_freq(${freq30}, 30)\nself.${id}.set_freq_corr(${corr30}, 30)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode30}, 30)\nself.${id}.set_iq_balance_mode(${iq_balance_mode30}, 30)\nself.${id}.set_gain_mode(${gain_mode30}, 30)\n% endif\nself.${id}.set_gain(${gain30}, 30)\nself.${id}.set_if_gain(${if_gain30}, 30)\nself.${id}.set_bb_gain(${bb_gain30}, 30)\nself.${id}.set_antenna(${ant30}, 30)\nself.${id}.set_bandwidth(${bw30}, 30)\n% endif\n% if context.get('nchan')() > 31:\nself.${id}.set_center_freq(${freq31}, 31)\nself.${id}.set_freq_corr(${corr31}, 31)\n% if context.get('sourk') == 'source':\nself.${id}.set_dc_offset_mode(${dc_offset_mode31}, 31)\nself.${id}.set_iq_balance_mode(${iq_balance_mode31}, 31)\nself.${id}.set_gain_mode(${gain_mode31}, 31)\n% endif\nself.${id}.set_gain(${gain31}, 31)\nself.${id}.set_if_gain(${if_gain31}, 31)\nself.${id}.set_bb_gain(${bb_gain31}, 31)\nself.${id}.set_antenna(${ant31}, 31)\nself.${id}.set_bandwidth(${bw31}, 31)\n% endif\n')
I realized that this comes from the .yml file of osmocom_sink block, but I don't know how to solve it since the osmocom_source block works fine, and it doesn't even generate the .py file.