Thanks Martin,
One more opinion I'll mention that is more of a conceptual issue related to
multi_usrp (something I've mentioned in a post several years back)...
There should be no reason for the MultiUSRP implementation for RFNoC
devices (multi_usrp_rfnoc.cpp) to require private functionality (i.e.,
#include <uhdlib/...>).  It should be possible to implement multi_usrp with
only public API functions.

Why do I think this?  As you mentioned, "multi_usrp is meant to wrap RFNoC
for typical use cases".  It stands to reason that for all use cases
(typical and atypical), the same functionality would be required. When
implementing just slightly atypical RFNoC graphs, I have run into several
cases where I need the same functionality from "multi_usrp_rfnoc.cpp" such
that I must include the corresponding "<uhdlib/...>" files and thus play
games so that the compiler and linker can find the appropriate files that
are not part of the public API.
Rob

On Wed, Jan 7, 2026 at 8:33 AM Anderseck, Martin via USRP-users <
[email protected]> wrote:

> Hi Rob,
>
>
>
> We only have the extension API available for MultiUSRP because that is the
> API that is meant to wrap away the complexity of RFNoC for typical use
> cases. If you start with RFNoC you know that you’ll have to work on a much
> lower level. I currently cannot tell if making `get_extension_factor()`
> could potentially have any bad impact.
>
> Can you please put this and the antenna mixin issue into our issue
> tracker? https://github.com/EttusResearch/uhd/issues
>
> I can’t promise a quick resolution, unfortunately, but at least we will be
> aware when planning our tasks.
>
>
>
> Thanks,
>
> Martin
>
>
>
> *From:* Rob Kossler via USRP-users <[email protected]>
> *Sent:* Tuesday, January 6, 2026 7:22 PM
> *To:* usrp-users <[email protected]>
> *Subject:* [EXTERNAL] [USRP-users] Using extension interface with RFNoC
> API
>
>
>
> Hi,
>
> When using the multi_usrp API, it is relatively clear how to use the
> extensions interface. However, for an arbitrary RFNoC graph using the RFNoC
> API, it does not seem possible (without some cheating).  Specifically, the
> function "get_extension_factory", which is needed to get an extension is
> not a public function.  This function is called internally from
> multi_usrp_rfnoc, which is possible because this class uses include files
> from <uhdlib/...>.  Is there a reason that extensions shouldn't be used
> without the multi_usrp API?  Or, perhaps I am doing something wrong?
>
> Rob
>
>
> _______________________________________________
> 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