From b1992806e130216fdab963c2154f489189b8c3b5 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Mon, 26 Apr 2010 15:13:29 -0700 Subject: added lock detect status to dboards --- host/lib/usrp/dboard/db_rfx.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'host/lib/usrp/dboard/db_rfx.cpp') diff --git a/host/lib/usrp/dboard/db_rfx.cpp b/host/lib/usrp/dboard/db_rfx.cpp index 14879dbed..6ad5ad906 100644 --- a/host/lib/usrp/dboard/db_rfx.cpp +++ b/host/lib/usrp/dboard/db_rfx.cpp @@ -94,6 +94,15 @@ private: * \return the actual frequency in Hz */ double set_lo_freq(dboard_iface::unit_t unit, double target_freq); + + /*! + * Get the lock detect status of the LO. + * \param unit which unit rx or tx + * \return true for locked + */ + bool get_locked(dboard_iface::unit_t unit){ + return (this->get_iface()->read_gpio(unit) & LOCKDET_MASK) != 0; + } }; /*********************************************************************** @@ -397,6 +406,10 @@ void rfx_xcvr::rx_get(const wax::obj &key_, wax::obj &val){ val = false; return; + case SUBDEV_PROP_LO_LOCKED: + val = this->get_locked(dboard_iface::UNIT_RX); + return; + default: UHD_THROW_PROP_WRITE_ONLY(); } } @@ -486,6 +499,10 @@ void rfx_xcvr::tx_get(const wax::obj &key_, wax::obj &val){ val = true; return; + case SUBDEV_PROP_LO_LOCKED: + val = this->get_locked(dboard_iface::UNIT_TX); + return; + default: UHD_THROW_PROP_WRITE_ONLY(); } } -- cgit v1.2.3