diff options
-rw-r--r-- | Transceiver52M/device/bladerf/bladerf.cpp | 1 | ||||
-rw-r--r-- | Transceiver52M/device/common/bandmanager.h | 6 | ||||
-rw-r--r-- | Transceiver52M/device/lms/LMSDevice.cpp | 1 | ||||
-rw-r--r-- | Transceiver52M/device/uhd/UHDDevice.cpp | 2 |
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; |