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