Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/34972?usp=email )
Change subject: devies: fix band manager dev type ......................................................................
devies: fix band manager dev type
The dev type was set too early, but the actual dev is only being discovered during open, so update it.
Change-Id: I1dda6023ca6f15bc063c3dfbc704db2410ff7c98 --- M Transceiver52M/device/bladerf/bladerf.cpp M Transceiver52M/device/common/bandmanager.h M Transceiver52M/device/lms/LMSDevice.cpp M Transceiver52M/device/uhd/UHDDevice.cpp 4 files changed, 21 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/72/34972/1
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 @@
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 @@ 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 @@ 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 @@
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 @@ 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;