diff options
Diffstat (limited to 'host/include')
| -rw-r--r-- | host/include/uhd/device.hpp | 11 | ||||
| -rw-r--r-- | host/include/uhd/usrp/multi_usrp.hpp | 15 | 
2 files changed, 21 insertions, 5 deletions
| diff --git a/host/include/uhd/device.hpp b/host/include/uhd/device.hpp index f4594504d..a70a396a7 100644 --- a/host/include/uhd/device.hpp +++ b/host/include/uhd/device.hpp @@ -88,11 +88,18 @@ public:       */      virtual tx_streamer::sptr get_tx_stream(const stream_args_t& args) = 0; -    /*! -     * Receive and asynchronous message from the device. +    /*! Receive asynchronous message from the device +     * +     * Note that when calling multi_usrp::get_device() on an RFNoC-capable device, +     * the returned uhd::device (while still being a valid object) will not be +     * able to execute this method. Instead, query the asynchronous messages +     * from the appropriate Tx streamer. +     *       * \param async_metadata the metadata to be filled in       * \param timeout the timeout in seconds to wait for a message       * \return true when the async_metadata is valid, false for timeout +     * \throws uhd::runtime_error if called on a device returned by +     *         multi_usrp::get_device on an RFNoC device.       */      virtual bool recv_async_msg(          async_metadata_t& async_metadata, double timeout = 0.1) = 0; diff --git a/host/include/uhd/usrp/multi_usrp.hpp b/host/include/uhd/usrp/multi_usrp.hpp index ac80cc15a..93ef7d090 100644 --- a/host/include/uhd/usrp/multi_usrp.hpp +++ b/host/include/uhd/usrp/multi_usrp.hpp @@ -120,9 +120,18 @@ public:       */      static sptr make(const device_addr_t& dev_addr); -    /*! -     * Get the underlying device object. -     * This is needed to get access to the streaming API and properties. +    /*! Get the underlying device object +     * +     * Note that it is not recommended to use this method. The property tree can +     * be accessed by calling get_tree() on this object, and the streamers own +     * all the streaming-related functionality. get_tx_stream() and +     * get_rx_stream() can also be called on this object. +     * +     * For RFNoC devices, this won't return a true uhd::device anyway, because +     * direct device access is locked for those. The returned pointer will +     * still point to a valid device object, however, it has reduced +     * functionality (in particular, recv_async_msg() won't work). +     *       * \return the device object within this USRP       */      virtual device::sptr get_device(void) = 0; | 
