diff options
| -rw-r--r-- | src/OutputUHD.cpp | 8 | 
1 files changed, 5 insertions, 3 deletions
| diff --git a/src/OutputUHD.cpp b/src/OutputUHD.cpp index a57a46a..c9e630b 100644 --- a/src/OutputUHD.cpp +++ b/src/OutputUHD.cpp @@ -31,6 +31,7 @@  #include "Log.h"  #include "RemoteControl.h" +#include <cmath>  #include <iostream>  #include <assert.h>  #include <stdexcept> @@ -96,12 +97,12 @@ OutputUHD::OutputUHD(          double master_clk_rate = myUsrp->get_master_clock_rate();          MDEBUG("OutputUHD:Checking master clock rate: %f...\n", master_clk_rate); -        if (myConf.masterClockRate != master_clk_rate) { +        if (fabs(master_clk_rate - myConf.masterClockRate) > +                (myConf.masterClockRate * 1e-6)) {              throw std::runtime_error("Cannot set USRP master_clock_rate. Aborted.");          }      } -      MDEBUG("OutputUHD:Setting REFCLK and PPS input...\n");      myUsrp->set_clock_source(myConf.refclk_src); @@ -118,7 +119,8 @@ OutputUHD::OutputUHD(      myUsrp->set_tx_rate(myConf.sampleRate);      MDEBUG("OutputUHD:Actual TX Rate: %f Msps...\n", myUsrp->get_tx_rate()); -    if (myConf.sampleRate != myUsrp->get_tx_rate()) { +    if (fabs(myUsrp->get_tx_rate() / myConf.sampleRate) > +             myConf.sampleRate * 1e-6) {          MDEBUG("OutputUHD: Cannot set sample\n");          throw std::runtime_error("Cannot set USRP sample rate. Aborted.");      } | 
