If I understand correctly, the problem is that multi_usrp_rfnoc.cpp uses
some non-API functionality (this is kind of a sore point with me because it
seems to me that if a function is needed for the implementation of
multi_usrp, then by definition it is also needed by any user of the rfnoc
API).  My own version of "rfnoc_usrp" that I build as an OOT object uses
the following "make" function. I'm not sure if this helpful for your issue
or not.  I used the Ettus code as an example and then stripped out the
dependence on non-API functions.

nd::rfnoc_usrp::sptr nd::rfnoc_usrp::make(const uhd::device_addr_t&
dev_addr)
{
UHD_LOGGER_TRACE("RFNOC_USRP")
<< "nd::rfnoc_usrp::make with args " << dev_addr.to_pp_string();
auto graph = uhd::rfnoc::rfnoc_graph::make(dev_addr);
return std::make_shared<rfnoc_usrp_impl>(graph, dev_addr);
}

On Mon, Nov 21, 2022 at 10:21 PM <[email protected]> wrote:

> Thank your for the reply, Rob, this appears to be exactly what I was
> looking for. I have spent a little while attempting to replicate the
> factory function at the bottom of multi_usrp.cpp that uses what looks like
> the make_rfnoc_device from multi_usrp_rfnoc.cpp. I can’t seem to figure out
> what I need to include to actually build this. Any pointers would be
> appreciated!
> _______________________________________________
> USRP-users mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
>
_______________________________________________
USRP-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to