/*! \page page_coding Coding to the API \tableofcontents \section coding_api Various API interfaces \subsection coding_api_hilevel High-Level: The Multi-USRP The Multi-USRP class provides a high-level interface to a single USRP device with one or more channels, or multiple USRP devices in a homogeneous setup. See the documentation for uhd::usrp::multi_usrp. \subsection coding_api_hilevel_rfnoc High-Level: The RFNoC API This is a more granular API than the Multi-USRP API, and can directly interact with RFNoC blocks in a device, and the RFNoC graph. This is available for all Generation-3 USRPs and above. For more information on RFNoC, see \ref rfnoc_docs. \subsection coding_api_hilevelclock High-Level: The Multi-USRP-Clock The Multi-USRP-Clock class provides a high-level interface to a single clock device or set of clock devices, from which the time can be queried. See the documentation for uhd::usrp_clock::multi_usrp_clock. \subsection coding_api_hilevelc High-Level: The C API Both USRP and clock devices can be interacted with using a C API wrapper included by default in all UHD builds. More information can be found \subpage page_c_api "here". \subsection coding_api_lowlevel Low-Level: The device API This is an older API for pre-RFNoC devices (N2xx, B2xx, B100, USRP1). A device is an abstraction for hardware that is connected to the host system. For a USRP device, this means that the motherboard and everything on it would be considered to be a "device". For a clock device, the device itself would be considered a "device" in software. The device API provides ways to: - Discover devices that are physically connected to the host system. - Create a device object for a particular device identified by address. - Register a device driver into the discovery and factory sub-system. - Streaming samples with metadata into and out of the device. - Set and get properties on the device object. - Access various sensors on the device. See the documentation for uhd::device. */ // vim:ft=doxygen: