From 23f4f8cf4ea72d59740afcb5663e4541f93e821a Mon Sep 17 00:00:00 2001 From: Brent Stapleton Date: Fri, 7 Jun 2019 13:22:05 -0700 Subject: rfnoc: Add multi_usrp_rfnoc, modify multi_usrp This adds a separate version of multi_usrp for RFNoC devices. It is compatible with RFNoC devices only, and prefers C++ APIs over property tree usage. The factory of multi_usrp is modified such that it picks the correct version, users of multi_usrp don't care about this change. This also introduces some API changes: - Removing redundant GPIO functions. Now all GPIO control, setting, and readback is done with uint32_t's. - Adding getter/setter for GPIO source. This was done to simplify the other GPIO settings, as the source for each pin is not always a binary. The CTRL mode, for example, can either be ATR or GPIO. However, the source can be controlled by various radios or "PS" or some other source. - Removing the mask from the RFNoC radio controllers' set_gpio_attr(). - Adding state caching to gpio_atr_3000, and a getter for it. Whenever an attribute is set, that value is cached, and can now be retreieved. - Remove low-level register API. Since UHD 3.10, there is no USRP that implements that API. Modifying the filter API in the following ways: - Splitting filter API getter/setter/list into separate RX and TX functions - Adding channel numbers as an argument - The filter name will no longer be a property tree path, but rather a filter name. For RFNoC devices, this will take the form `BLOCK_ID:FILTER_NAME`. For non-RFNoC devices, this will just be the filter name (e.g. `HB_1`) - Removing search mask from listing function. Users can do their own searching Co-Authored-By: Martin Braun --- host/lib/usrp/usrp_c.cpp | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) (limited to 'host/lib/usrp/usrp_c.cpp') diff --git a/host/lib/usrp/usrp_c.cpp b/host/lib/usrp/usrp_c.cpp index f625113e4..9d1704181 100644 --- a/host/lib/usrp/usrp_c.cpp +++ b/host/lib/usrp/usrp_c.cpp @@ -1515,50 +1515,3 @@ uhd_error uhd_usrp_get_gpio_attr( ) } -uhd_error uhd_usrp_enumerate_registers( - uhd_usrp_handle h, - size_t mboard, - uhd_string_vector_handle *registers_out -){ - UHD_SAFE_C_SAVE_ERROR(h, - (*registers_out)->string_vector_cpp = USRP(h)->enumerate_registers(mboard); - ) -} - -uhd_error uhd_usrp_get_register_info( - uhd_usrp_handle h, - const char* path, - size_t mboard, - uhd_usrp_register_info_t *register_info_out -){ - UHD_SAFE_C_SAVE_ERROR(h, - uhd::usrp::multi_usrp::register_info_t register_info_cpp = USRP(h)->get_register_info(path, mboard); - register_info_out->bitwidth = register_info_cpp.bitwidth; - register_info_out->readable = register_info_cpp.readable; - register_info_out->writable = register_info_cpp.writable; - ) -} - -uhd_error uhd_usrp_write_register( - uhd_usrp_handle h, - const char* path, - uint32_t field, - uint64_t value, - size_t mboard -){ - UHD_SAFE_C_SAVE_ERROR(h, - USRP(h)->write_register(path, field, value, mboard); - ) -} - -uhd_error uhd_usrp_read_register( - uhd_usrp_handle h, - const char* path, - uint32_t field, - size_t mboard, - uint64_t *value_out -){ - UHD_SAFE_C_SAVE_ERROR(h, - *value_out = USRP(h)->read_register(path, field, mboard); - ) -} -- cgit v1.2.3