aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Transceiver52M/device/bladerf/bladerf.cpp1
-rw-r--r--Transceiver52M/device/common/bandmanager.h6
-rw-r--r--Transceiver52M/device/lms/LMSDevice.cpp1
-rw-r--r--Transceiver52M/device/uhd/UHDDevice.cpp2
4 files changed, 9 insertions, 1 deletions
diff --git a/Transceiver52M/device/bladerf/bladerf.cpp b/Transceiver52M/device/bladerf/bladerf.cpp
index 3e830b1..2f3c86a 100644
--- a/Transceiver52M/device/bladerf/bladerf.cpp
+++ b/Transceiver52M/device/bladerf/bladerf.cpp
@@ -279,6 +279,7 @@ int blade_device::open()
dev_type = blade_dev_type::BLADE2;
tx_window = TX_WINDOW_FIXED;
+ update_band_dev(dev_key(dev_type, tx_sps, rx_sps));
struct bladerf_devinfo info;
bladerf_get_devinfo(dev, &info);
diff --git a/Transceiver52M/device/common/bandmanager.h b/Transceiver52M/device/common/bandmanager.h
index a198937..d07f21d 100644
--- a/Transceiver52M/device/common/bandmanager.h
+++ b/Transceiver52M/device/common/bandmanager.h
@@ -34,7 +34,7 @@ class band_manager {
using powerkeyt = typename powermapt::key_type;
using powermappedt = typename powermapt::mapped_type;
using devkeyt = typename devmapt::key_type;
- const devkeyt &m_dev_type;
+ devkeyt m_dev_type;
const powermapt &m_power_map;
const devmapt &m_dev_map;
powerkeyt m_fallback;
@@ -102,6 +102,10 @@ class band_manager {
band_ass_curr_sess = false;
}
+ void update_band_dev(devkeyt dev_type) {
+ m_dev_type = dev_type;
+ }
+
void get_dev_band_desc(powermappedt &desc)
{
if (m_band == 0) {
diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp
index 451d2b9..7c220d2 100644
--- a/Transceiver52M/device/lms/LMSDevice.cpp
+++ b/Transceiver52M/device/lms/LMSDevice.cpp
@@ -245,6 +245,7 @@ int LMSDevice::open()
m_dev_type = parse_dev_type(m_lms_dev);
dev_desc = dev_param_map.at(m_dev_type);
+ update_band_dev(m_dev_type);
if ((cfg->clock_ref != REF_EXTERNAL) && (cfg->clock_ref != REF_INTERNAL)) {
LOGC(DDEV, ERROR) << "Invalid reference type";
diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp
index ec772aa..85e9e38 100644
--- a/Transceiver52M/device/uhd/UHDDevice.cpp
+++ b/Transceiver52M/device/uhd/UHDDevice.cpp
@@ -530,6 +530,8 @@ int uhd_device::open()
if (!parse_dev_type())
return -1;
+ update_band_dev(dev_key(dev_type, tx_sps, rx_sps));
+
if ((dev_type == E3XX) && !uhd_e3xx_version_chk()) {
LOGC(DDEV, ALERT) << "E3XX requires UHD 003.009.000 or greater";
return -1;