diff options
| -rw-r--r-- | host/docs/dboards.rst | 1 | ||||
| -rw-r--r-- | host/lib/usrp/dboard/db_rfx.cpp | 18 | ||||
| -rw-r--r-- | host/lib/usrp/dboard/db_xcvr2450.cpp | 4 | 
3 files changed, 4 insertions, 19 deletions
| diff --git a/host/docs/dboards.rst b/host/docs/dboards.rst index 218498dd2..d41bf824c 100644 --- a/host/docs/dboards.rst +++ b/host/docs/dboards.rst @@ -136,7 +136,6 @@ Bandwidths (Hz):  Sensors:  * **lo_locked**: boolean for LO lock state -* **rssi**:      float for rssi in dBm  ^^^^^^^^^^^^^^^^^^^^^^^^^^^  XCVR 2450 diff --git a/host/lib/usrp/dboard/db_rfx.cpp b/host/lib/usrp/dboard/db_rfx.cpp index 58382f180..32aa3fe04 100644 --- a/host/lib/usrp/dboard/db_rfx.cpp +++ b/host/lib/usrp/dboard/db_rfx.cpp @@ -111,21 +111,9 @@ private:      }      /*! -     * Read the RSSI from the aux adc -     * \return the rssi sensor in dBm +     * Removed incorrect/confusing RSSI calculation +     * Limited dynamic range of sensor makes this less useful       */ -    sensor_value_t get_rssi(void){ -        //RSSI from VAGC vs RF Power, Fig 34, pg 13 -        double max_power = -3.0; - -        //constants for the rssi calculation -        static const double min_v = 0.35, max_v = 1.0; -        static const double rssi_dyn_range = 60; -        //calculate the rssi from the voltage -        double voltage = this->get_iface()->read_aux_adc(dboard_iface::UNIT_RX, dboard_iface::AUX_ADC_B); -        const double rssi = max_power - rssi_dyn_range*(voltage - min_v)/(max_v - min_v); -        return sensor_value_t("RSSI", rssi, "dBm"); -    }  };  /*********************************************************************** @@ -189,8 +177,6 @@ rfx_xcvr::rfx_xcvr(      this->get_rx_subtree()->create<std::string>("name").set("RFX RX");      this->get_rx_subtree()->create<sensor_value_t>("sensors/lo_locked")          .publish(boost::bind(&rfx_xcvr::get_locked, this, dboard_iface::UNIT_RX)); -    this->get_rx_subtree()->create<sensor_value_t>("sensors/rssi") -        .publish(boost::bind(&rfx_xcvr::get_rssi, this));      BOOST_FOREACH(const std::string &name, _rx_gain_ranges.keys()){          this->get_rx_subtree()->create<double>("gains/"+name+"/value")              .coerce(boost::bind(&rfx_xcvr::set_rx_gain, this, _1, name)) diff --git a/host/lib/usrp/dboard/db_xcvr2450.cpp b/host/lib/usrp/dboard/db_xcvr2450.cpp index 7c76c45ef..0fdad0d40 100644 --- a/host/lib/usrp/dboard/db_xcvr2450.cpp +++ b/host/lib/usrp/dboard/db_xcvr2450.cpp @@ -171,8 +171,8 @@ private:          }          //constants for the rssi calculation -        static const double min_v = 0.5, max_v = 2.5; -        static const double rssi_dyn_range = 60; +        static const double min_v = 2.5, max_v = 0.5; +        static const double rssi_dyn_range = 60.0;          //calculate the rssi from the voltage          double voltage = this->get_iface()->read_aux_adc(dboard_iface::UNIT_RX, dboard_iface::AUX_ADC_B);          double rssi = max_power - rssi_dyn_range*(voltage - min_v)/(max_v - min_v); | 
