Hello everybody,

here at FH Münster University of Applied Sciences we are successfully using the 
UHD C++ API for SDR projects that require high performance. 
Now I’m about to write our own SDR interface framework that allows us a more 
modular approach, e.g. an abstract SDR Interface class with a range of derived 
classes encapsulating different I/O interfaces such as USRPs but also file 
sources and sinks for easy simulation and verification and maybe also drivers 
for some future custom I/O Hardware. This should help us to close the gap 
between the prototype and the final application that might run on an embedded 
platform.

For that reason it’s desirable to not strictly depend on the UHD library at 
link time but have the option to detect if UHD is present on a platform at 
runtime and then dynamically load the library through dlopen. Obviously this 
only works for the C-API. First tests of this approach were successful, we are 
now able to interact with our USRPs without having any dependency to the 
original UHD headers in our codebase as well as having no need to link to UHD 
at build time. Quite nice!

The only thing that’s missing at the moment is the ability to access the device 
tree through the C API. As our framework should also contain some functionality 
to check the exact hardware configuration and abilities at runtime to design a 
(graphical) user interface thats robust against applying invalid settings, this 
feature is really important.
Now my first question is: Did I overlook some capability of the C API to get a 
full report about the device tree?
If not, my second question would be: Is it either possible to contribute to the 
UHD project to develop such a feature or is it possible to ask Ettus to 
implement this feature in some way?

There are various options I could think of, ranging from building a real C API 
for the device tree over to some extern "C“ declared functions that give access 
to the C++ based device tree (that would require to implement the device tree 
class and dependency into our code base, which would be okay for me) or to just 
parse the complete tree into a json or xml string that could be accessed 
through a simple C function and then could be read and parsed into a custom 
structure at my side.

Any thoughts on this are highly appreciated!
Best,
Janos Buttgereit
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to