diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/DabMod.cpp | 1 | ||||
-rw-r--r-- | src/OutputUHD.cpp | 5 | ||||
-rw-r--r-- | src/OutputUHD.h | 4 |
3 files changed, 10 insertions, 0 deletions
diff --git a/src/DabMod.cpp b/src/DabMod.cpp index 20c5ab6..d8614a7 100644 --- a/src/DabMod.cpp +++ b/src/DabMod.cpp @@ -441,6 +441,7 @@ int main(int argc, char* argv[]) else if (output_selected == "uhd") { outputuhd_conf.device = pt.get("uhdoutput.device", ""); outputuhd_conf.usrpType = pt.get("uhdoutput.type", ""); + outputuhd_conf.subDevice = pt.get("uhdoutput.subdevice", ""); outputuhd_conf.masterClockRate = pt.get<long>("uhdoutput.master_clock_rate", 0); if (outputuhd_conf.device.find("master_clock_rate") != std::string::npos) { diff --git a/src/OutputUHD.cpp b/src/OutputUHD.cpp index b0600cd..b44cd3f 100644 --- a/src/OutputUHD.cpp +++ b/src/OutputUHD.cpp @@ -108,6 +108,11 @@ OutputUHD::OutputUHD( myUsrp->set_clock_source(myConf.refclk_src); myUsrp->set_time_source(myConf.pps_src); + if (myConf.subDevice != "") { + myUsrp->set_tx_subdev_spec(uhd::usrp::subdev_spec_t(myConf.subDevice), + uhd::usrp::multi_usrp::ALL_MBOARDS); + } + std::cerr << "UHD clock source is " << myUsrp->get_clock_source(0) << std::endl; diff --git a/src/OutputUHD.h b/src/OutputUHD.h index 990822e..69e5b20 100644 --- a/src/OutputUHD.h +++ b/src/OutputUHD.h @@ -153,6 +153,10 @@ class UHDWorker { struct OutputUHDConfig { std::string device; std::string usrpType; // e.g. b100, b200, usrp2 + + // The USRP1 can accept two daughterboards + std::string subDevice; // e.g. A:0 + long masterClockRate; unsigned sampleRate; double frequency; |