aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-04-26 18:13:09 -0700
committerJosh Blum <josh@joshknows.com>2010-04-26 18:13:09 -0700
commita62ff5290ab931a8c57f743e54e030c07964e568 (patch)
tree5d41b5df88322ad1d368e91fe2ba79b7f4a615e0
parent06e1859d47c9b5be19ae680ba463a8fa72df9ebd (diff)
downloaduhd-a62ff5290ab931a8c57f743e54e030c07964e568.tar.gz
uhd-a62ff5290ab931a8c57f743e54e030c07964e568.tar.bz2
uhd-a62ff5290ab931a8c57f743e54e030c07964e568.zip
added simple usrp api to read rssi and get LO lock status
-rw-r--r--host/include/uhd/usrp/simple_usrp.hpp11
-rw-r--r--host/lib/usrp/simple_usrp.cpp12
2 files changed, 23 insertions, 0 deletions
diff --git a/host/include/uhd/usrp/simple_usrp.hpp b/host/include/uhd/usrp/simple_usrp.hpp
index e3f181ec3..c4142b4e6 100644
--- a/host/include/uhd/usrp/simple_usrp.hpp
+++ b/host/include/uhd/usrp/simple_usrp.hpp
@@ -98,6 +98,13 @@ public:
*/
virtual void set_clock_config(const clock_config_t &clock_config) = 0;
+ /*!
+ * Read the RSSI value from a usrp device.
+ * Or throw if the dboard does not support an RSSI readback.
+ * \return the rssi in dB
+ */
+ virtual float read_rssi(void) = 0;
+
/*******************************************************************
* RX methods
******************************************************************/
@@ -115,6 +122,8 @@ public:
virtual std::string get_rx_antenna(void) = 0;
virtual std::vector<std::string> get_rx_antennas(void) = 0;
+ virtual bool get_rx_lo_locked(void) = 0;
+
/*******************************************************************
* TX methods
******************************************************************/
@@ -131,6 +140,8 @@ public:
virtual void set_tx_antenna(const std::string &ant) = 0;
virtual std::string get_tx_antenna(void) = 0;
virtual std::vector<std::string> get_tx_antennas(void) = 0;
+
+ virtual bool get_tx_lo_locked(void) = 0;
};
}}
diff --git a/host/lib/usrp/simple_usrp.cpp b/host/lib/usrp/simple_usrp.cpp
index 321d66a4a..a8c104485 100644
--- a/host/lib/usrp/simple_usrp.cpp
+++ b/host/lib/usrp/simple_usrp.cpp
@@ -102,6 +102,10 @@ public:
_mboard[MBOARD_PROP_CLOCK_CONFIG] = clock_config;
}
+ float read_rssi(void){
+ return _rx_subdev[SUBDEV_PROP_RSSI].as<float>();
+ }
+
/*******************************************************************
* RX methods
******************************************************************/
@@ -145,6 +149,10 @@ public:
return _rx_subdev[SUBDEV_PROP_ANTENNA_NAMES].as<prop_names_t>();
}
+ bool get_rx_lo_locked(void){
+ return _rx_subdev[SUBDEV_PROP_LO_LOCKED].as<bool>();
+ }
+
/*******************************************************************
* TX methods
******************************************************************/
@@ -188,6 +196,10 @@ public:
return _tx_subdev[SUBDEV_PROP_ANTENNA_NAMES].as<prop_names_t>();
}
+ bool get_tx_lo_locked(void){
+ return _tx_subdev[SUBDEV_PROP_LO_LOCKED].as<bool>();
+ }
+
private:
device::sptr _dev;
wax::obj _mboard;