From 1febf937f64417fd5697ebe401d375ca3aa66e10 Mon Sep 17 00:00:00 2001
From: Sergey Musikhin <musihin_sergei@mail.ru>
Date: Thu, 10 Jun 2021 12:31:13 +0000
Subject: [PATCH] setup bias_tee

---
 grc/gen_bladerf_blocks.py     |  2 ++
 lib/bladerf/bladerf_common.cc | 23 +++++++++++++++++++++++
 2 files changed, 25 insertions(+)

diff --git a/grc/gen_bladerf_blocks.py b/grc/gen_bladerf_blocks.py
index ccef8f7..09f8c43 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 d3f781c..96c7d48 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));
+          }
+      }
+  }
+
+
+
+
 
 
 
-- 
GitLab