Hoernchen has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-trx/+/34972?usp=email )

Change subject: devices: fix wrong gain to power mapping
......................................................................

devices: fix wrong gain to power mapping

The dev type was set too early, but the actual dev is only being
discovered during open, so update it. This broke the gain to power
mapping by defaulting to a wrong device.

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, 22 insertions(+), 1 deletion(-)

Approvals:
  fixeria: Looks good to me, approved; Verified
  Jenkins Builder: Verified




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;

--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/34972?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: I1dda6023ca6f15bc063c3dfbc704db2410ff7c98
Gerrit-Change-Number: 34972
Gerrit-PatchSet: 3
Gerrit-Owner: Hoernchen <ew...@sysmocom.de>
Gerrit-Reviewer: Hoernchen <ew...@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanits...@sysmocom.de>
Gerrit-Reviewer: laforge <lafo...@osmocom.org>
Gerrit-MessageType: merged

Reply via email to