diff --git a/grc/gen_bladerf_blocks.py b/grc/gen_bladerf_blocks.py index ccef8f731d55f7e69a740d0f9054b99f09815425..09f8c43f24f617a6cb52a731e6429f993ed50ec3 100644 --- a/grc/gen_bladerf_blocks.py +++ b/grc/gen_bladerf_blocks.py @@ -186,6 +186,8 @@ templates: + ",trigger1="+'${'$'}{trigger1}' + ",trigger_role1="+'${'$'}{trigger_role1}' + ",trigger_signal1="+'${'$'}{trigger_signal1}' + + ",bias_tee0="+'${'$'}{bias_tee0}' + + ",bias_tee1="+'${'$'}{bias_tee1}' ) self.${'$'}{id}.set_sample_rate(${'$'}{sample_rate}) diff --git a/lib/bladerf/bladerf_common.cc b/lib/bladerf/bladerf_common.cc index d3f781ce7f54d09785dcf8fa1501449a60181de3..96c7d48e2512de2e924e2cf0b6cc77b1b082497b 100644 --- a/lib/bladerf/bladerf_common.cc +++ b/lib/bladerf/bladerf_common.cc @@ -275,6 +275,29 @@ void bladerf_common::init(dict_t const &dict, bladerf_direction direction) init_output_clock(_get(dict, "out_clk") == "True"); } + size_t numchan = boost::lexical_cast<size_t>(_get(dict, "numchan")); + for(size_t i = 0; i < numchan; ++ i) + { + bladerf_channel ch = (direction == BLADERF_RX) ? BLADERF_CHANNEL_RX(i) + : BLADERF_CHANNEL_TX(i); + auto ch_label = [i](const std::string &label) + { + return label + std::to_string(i); + + }; + if(dict.count(ch_label("bias_tee"))) + { + auto status = bladerf_set_bias_tee(_dev.get(), ch, _get(dict, ch_label("bias_tee")) == "True"); + if (status != 0) { + BLADERF_WARNING("bladerf_set_bias_tee: " + << bladerf_strerror(status)); + } + } + } + + + +