lms: Change radioDevice constructor arg name to avoid masking instance attr
channel number mangling based on multi-arfcn feature being enabled was moved to generic radioDevice() to reuse code. Hence, the generic parent constructor sets this->chans to 1 if multi-arfcn feature is requested. However, LMSDevice constructor argument had same name as the class instance attribute, taking preference. As a result, if multi-arfcn is enabled in LMSDevice, the generic constructor first sets this->chans=1 but afterwards LMSDEvice constructor keeps calling .resize() with the argument value "chans" instead of using this->chans. Let's rename the argument in all radioDevice child class constructors to avoid potential future bugs in all of them. Change-Id: Id6c837e9133f22783dd92a81dfcc493e51bf2d21
This commit is contained in:
parent
62c9280590
commit
b0e54265ad
|
@ -44,10 +44,10 @@ using namespace std;
|
||||||
#define LMS_CALIBRATE_BW_HZ OSMO_MAX(GSM_CARRIER_BW, LMS_MIN_BW_SUPPORTED)
|
#define LMS_CALIBRATE_BW_HZ OSMO_MAX(GSM_CARRIER_BW, LMS_MIN_BW_SUPPORTED)
|
||||||
#define SAMPLE_BUF_SZ (1 << 20) /* Size of Rx timestamp based Ring buffer, in bytes */
|
#define SAMPLE_BUF_SZ (1 << 20) /* Size of Rx timestamp based Ring buffer, in bytes */
|
||||||
|
|
||||||
LMSDevice::LMSDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chans, double lo_offset,
|
LMSDevice::LMSDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chan_num, double lo_offset,
|
||||||
const std::vector<std::string>& tx_paths,
|
const std::vector<std::string>& tx_paths,
|
||||||
const std::vector<std::string>& rx_paths):
|
const std::vector<std::string>& rx_paths):
|
||||||
RadioDevice(tx_sps, rx_sps, iface, chans, lo_offset, tx_paths, rx_paths),
|
RadioDevice(tx_sps, rx_sps, iface, chan_num, lo_offset, tx_paths, rx_paths),
|
||||||
m_lms_dev(NULL), started(false)
|
m_lms_dev(NULL), started(false)
|
||||||
{
|
{
|
||||||
LOGC(DDEV, INFO) << "creating LMS device...";
|
LOGC(DDEV, INFO) << "creating LMS device...";
|
||||||
|
|
|
@ -72,7 +72,7 @@ private:
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/** Object constructor */
|
/** Object constructor */
|
||||||
LMSDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chans, double lo_offset,
|
LMSDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chan_num, double lo_offset,
|
||||||
const std::vector<std::string>& tx_paths,
|
const std::vector<std::string>& tx_paths,
|
||||||
const std::vector<std::string>& rx_paths);
|
const std::vector<std::string>& rx_paths);
|
||||||
~LMSDevice();
|
~LMSDevice();
|
||||||
|
|
|
@ -189,10 +189,10 @@ static void uhd_msg_handler(uhd::msg::type_t type, const std::string &msg)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uhd_device::uhd_device(size_t tx_sps, size_t rx_sps,
|
uhd_device::uhd_device(size_t tx_sps, size_t rx_sps,
|
||||||
InterfaceType iface, size_t chans, double lo_offset,
|
InterfaceType iface, size_t chan_num, double lo_offset,
|
||||||
const std::vector<std::string>& tx_paths,
|
const std::vector<std::string>& tx_paths,
|
||||||
const std::vector<std::string>& rx_paths)
|
const std::vector<std::string>& rx_paths)
|
||||||
: RadioDevice(tx_sps, rx_sps, iface, chans, lo_offset, tx_paths, rx_paths),
|
: RadioDevice(tx_sps, rx_sps, iface, chan_num, lo_offset, tx_paths, rx_paths),
|
||||||
tx_gain_min(0.0), tx_gain_max(0.0),
|
tx_gain_min(0.0), tx_gain_max(0.0),
|
||||||
rx_gain_min(0.0), rx_gain_max(0.0),
|
rx_gain_min(0.0), rx_gain_max(0.0),
|
||||||
tx_spp(0), rx_spp(0),
|
tx_spp(0), rx_spp(0),
|
||||||
|
|
|
@ -62,7 +62,7 @@ enum uhd_dev_type {
|
||||||
class uhd_device : public RadioDevice {
|
class uhd_device : public RadioDevice {
|
||||||
public:
|
public:
|
||||||
uhd_device(size_t tx_sps, size_t rx_sps, InterfaceType type,
|
uhd_device(size_t tx_sps, size_t rx_sps, InterfaceType type,
|
||||||
size_t chans, double offset,
|
size_t chan_num, double offset,
|
||||||
const std::vector<std::string>& tx_paths,
|
const std::vector<std::string>& tx_paths,
|
||||||
const std::vector<std::string>& rx_paths);
|
const std::vector<std::string>& rx_paths);
|
||||||
~uhd_device();
|
~uhd_device();
|
||||||
|
|
|
@ -61,10 +61,10 @@ const dboardConfigType dboardConfig = TXA_RXB;
|
||||||
const double USRPDevice::masterClockRate = 52.0e6;
|
const double USRPDevice::masterClockRate = 52.0e6;
|
||||||
|
|
||||||
USRPDevice::USRPDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface,
|
USRPDevice::USRPDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface,
|
||||||
size_t chans, double lo_offset,
|
size_t chan_num, double lo_offset,
|
||||||
const std::vector<std::string>& tx_paths,
|
const std::vector<std::string>& tx_paths,
|
||||||
const std::vector<std::string>& rx_paths):
|
const std::vector<std::string>& rx_paths):
|
||||||
RadioDevice(tx_sps, rx_sps, iface, chans, lo_offset, tx_paths, rx_paths)
|
RadioDevice(tx_sps, rx_sps, iface, chan_num, lo_offset, tx_paths, rx_paths)
|
||||||
{
|
{
|
||||||
LOGC(DDEV, INFO) << "creating USRP device...";
|
LOGC(DDEV, INFO) << "creating USRP device...";
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,7 @@ private:
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/** Object constructor */
|
/** Object constructor */
|
||||||
USRPDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chans, double lo_offset,
|
USRPDevice(size_t tx_sps, size_t rx_sps, InterfaceType iface, size_t chan_num, double lo_offset,
|
||||||
const std::vector<std::string>& tx_paths,
|
const std::vector<std::string>& tx_paths,
|
||||||
const std::vector<std::string>& rx_paths);
|
const std::vector<std::string>& rx_paths);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue