aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/mpmd/mpmd_impl.cpp
Commit message (Collapse)AuthorAgeFilesLines
* uhd: mpm: apply clang-format to all filesBrent Stapleton2019-01-161-205/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Applying formatting changes to all .cpp and .hpp files in the following directories: ``` find host/examples/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/tests/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/dboard/neon/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/dboard/magnesium/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/device3/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/mpmd/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/x300/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/utils/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find mpm/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file ``` Also formatted host/include/, except Cpp03 was used as a the language standard instead of Cpp11. ``` sed -i 's/ Cpp11/ Cpp03/g' .clang-format find host/include/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file ``` Formatting style was designated by the .clang-format file.
* mpmd: Improve error message for compat number mismatchesMartin Braun2018-11-161-6/+14
|
* mpmd: add option to enum rfnoc blocks from argsTrung Tran2018-08-311-5/+21
|
* uhd: Move internal headers to uhdlib/Martin Braun2018-03-141-1/+8
| | | | | | | | | | | | | | | | To avoid the proliferation of additional include directories and multiple ways of including project-local headers, we now default to moving all headers that are used across UHD into the uhdlib/ subdirectory. Some #include statements were also reordered as they were modified for closer compliance with the coding guidelines. Internal cpp source files should now include files like this: #include <uhdlib/rfnoc/ctrl_iface.hpp> Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
* mpmd: add getter for components in property treeBrent Stapleton2018-02-191-1/+1
| | | | | | Adding a publisher for updateable components listed in the property tree. This calls MPM.get_component_info for the desired component, and returns a dictionary containing that metadata.
* uhd: Update license headersMartin Braun2018-02-191-1/+1
| | | | | | | All copyright is now attributed to "Ettus Research, a National Instruments company". SPDX headers were also updated to latest version 3.0.
* fixup! mpmd: Factor find and prop tree init code out of mpmd_impl.cppBrent Stapleton2018-02-091-2/+0
|
* mpmd: Factor find and prop tree init code out of mpmd_impl.cppMartin Braun2018-02-071-461/+1
| | | | No functional changes.
* mpmd: Let 'find' via broadcast check for reachabilityMartin Braun2018-02-071-5/+56
| | | | | | | | | In particular, when running uhd_find_devices, this will limit the devices to ones that can actually be reached via CHDR. There is a new key, find_all, which allows finding all devices even those not reachable from UHD. Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
* mpmd: image loader: increased timeoutBrent Stapleton2018-01-291-2/+3
| | | | | | | | -Increased timeout from 10s to 20s. This time is also per component file being updated. For example, when updating the FPGA with new .bit and .dts files, the timeout will be 40s. -Also added log message to let user know their device is updating, not frozen.
* fixup! mpmd: Add API to read back logs from device and send to native loggingMartin Braun2018-01-111-1/+1
|
* mpmd: Factor out compat number checkMartin Braun2018-01-081-26/+59
|
* mpmd: Refactor device initialization for better parallelizabilityMartin Braun2018-01-081-54/+76
| | | | | | | | | | Note: This doesn't add any concurrency, rather, it changes the structure of the code to allow that. Notable changes: - All prop tree inits in one place - No access to containers in methods that might be run in parallel - Split initialization and claiming in mpmd_mboard_impl, calling ctor will no longer run the full initialization. - Added comments to identify parallelizable spots
* mpm: Increase RPC timeout during update_componentBrent Stapleton2018-01-051-0/+4
| | | | | | | Increases the host's timeout during update_component times, then resets it to the default RPC timeout after the call is complete. Reviewed-by: Martin Braun <martin.braun@ettus.com>
* mpmd: Allow user-overrides for MPM portsMartin Braun2018-01-041-1/+11
| | | | | | | Adds two device args: discovery_port and rpc_port. Both are integers which override the respective constants. Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
* mpmd: Fix fake results returned by mpmd_findAshish Chaudhari2017-12-281-1/+3
| | | | | | | | - For non-MPM Ethernet devices, mpmd_find would return a fake malformed discovery result which would accidentally trigger an mpmd_impl::make resulting in unexpected errors - Fixed mpmd_find to return an empty device_addrs_t object if no MPM devices are found
* mpmd: Optionally parallelize all calls to setup_rpc_blocksMartin Braun2017-12-221-13/+35
| | | | Default is to not serialize inits.
* mpmd: Temporarily disable setting of clock and time sourceMartin Braun2017-12-221-2/+24
| | | | | | Currently, calling these APIs could potentially put the device into bad state. This will disable the APIs from UHD side and replace them with a warning if the user's setting did not take effect.
* mpmd: Expose get_mtu() API to mpmd_mboard_impl and to prop treeMartin Braun2017-12-221-12/+19
|
* n310: Move SID framing all the way to n310.pyMartin Braun2017-12-221-1/+0
| | | | | | | MPM will now no longer keep a SID framer variable. Reviewed-by: Trung Tran <trung.tran@ettus.com> Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
* mpmd: Device discovery fixes and cleanupAshish Chaudhari2017-12-221-28/+17
| | | | | | | | | - Fixed issue where the "addr" device args was not honored - Results returned by find only enumerate mgmt_addrs - Explicitly require addr to be specified for RFNoC comms - Cleaned up constants for mgmt_addr, addr and second_addr Reviewed-by: Martin Braun <martin.braun@ettus.com>
* mpmd: Refactor MPM transport architecture, use managersMartin Braun2017-12-221-27/+21
| | | | | | | | | | | | | | This splits up the transport code in mpmd_impl across multiple classes to properly leverage the request_xport/commit_xport API in MPM. Different types of transport (UDP, liberio) use their own distinct classes, which are generated dynamically on request. This is a true refactoring despite the large amount of changes; there are no functional differences. Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com> Reviewed-By: Trung Tran <trung.tran@ettus.com> Reviewed-By: Ashish Chaudhari <ashish.chaudhari@ettus.com>
* mpm: mpmd: Add MPM compat number checkBrent Stapleton2017-12-221-0/+27
| | | | Reviewed-by: Martin Braun <martin.braun@ettus.com>
* mpmd: Allow to connect via addr or mgmt_addrMartin Braun2017-12-221-51/+103
| | | | Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com>
* types: Change eeprom_map_to to uint8_t vectorsMartin Braun2017-12-221-1/+4
| | | | | | | mpmd_impl was already using this type, fixed conversion from std::string to std::vector<uint8_t> there too. Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com>
* fpga load: Atomic updating of multiple componentsBrent Stapleton2017-12-221-13/+32
| | | | | | | - The MPM function update_component now accepts multiple components to be updated in one RPC call. - Updated the property tree and image loader to match this change. - Also added DTS loading to the image loader.
* mpm: added additional filtering to mpm find routineBrent Stapleton2017-12-221-1/+13
| | | | | | mpm_find now filters discovered devices using (if provided in args) name, serial, type, and product. This method follows the same logic as the x300 find routine.
* mpm/mpmd: Move to request_xport()/commit_xport() architectureMartin Braun2017-12-221-113/+0
| | | | | This commit combines code from various branches to finally enable both UDP and Liberio transports.
* fpga load: mpmd property tree now uses the MPM list_updateable_componentsBrent Stapleton2017-12-221-2/+4
| | | | Dynamically generates property tree by querying MPM device for a list of updateable components.
* fpga load: adding updateable components to mpmd property treeBrent Stapleton2017-12-221-0/+38
| | | | The FPGA image, and other components, can now be set from the property tree. The registered function expects a component_file_t, which combines the data file and metadata dictionary.
* mpmd: added support for the skip_init key in the device argsBrent Stapleton2017-12-221-16/+25
| | | | Adding skip_init to the device args makes it so rfnoc blocks, etc. are not initialized.
* mpm: Add mboard EEPROM supportMartin Braun2017-12-221-2/+23
| | | | | | MPMD binds a property for the mboard EEPROM to the appropriate RPC calls. PeriphManager now provides default implementations for an mboard EEPROM.
* mpm/n310: Moved the mboard ref_locked sensor into MPMMartin Braun2017-12-221-8/+0
| | | | | | | | An N310 device will query all its dboards for ref lock status and return a Boolean combination as a motherboard sensors (note: the N310 does not actually have a ref_locked sensor on the motherboard, this is mostly for backwards-compat with UHD applications that expect a motherboard ref lock sensor).
* mpm: Added sensor APIMartin Braun2017-12-221-0/+30
| | | | | | | | - Motherboard sensors are automatically populated into the property tree, they can be automatically enumerated and queried - Daughterboard sensors have an API for querying and enumerating sensors, but this commit does not automatically add them to the property tree
* mg: General fixesMark Meserve2017-12-221-7/+0
| | | | | - Make DB probe-able - Add RPC client
* mpmd: Added time_sync procedureMartin Braun2017-12-221-3/+73
|
* mpm: Increased find timeoutMartin Braun2017-12-221-1/+6
|
* mpmd: property tree fixes for multi_usrp, set_freq fixessugandhagupta2017-12-221-0/+16
|
* mpmd: Fixed prop tree typo (mboard vs mboards)Martin Braun2017-12-221-1/+1
|
* mpmd/mpm/n310: Added clock and time source APIsMartin Braun2017-12-221-2/+59
|
* mpm/mpmd: Allow SID increment; more fixes for multi-usrp operationMartin Braun2017-12-221-19/+46
|
* rpc: Changed API to request/notify for better distinction between the twoMartin Braun2017-12-221-3/+3
|
* mpm/mpmd: Further improvements on multi-device operationsMartin Braun2017-12-221-35/+73
| | | | | | | - Crossbar local addr is now written during initialization of UHD session - Support for multiple crossbars per device (at least on UHD side) - Crossbars are now sequentially given a unique address
* mpmd: Refactored code to allow multi-device initializationMartin Braun2017-12-221-133/+93
|
* mpm/mpmd: Crossbar info is now polled instead of hardcodedMartin Braun2017-12-221-3/+17
| | | | - Extended base periph manager to provide crossbar info
* mpmd/rpc: Added a convenience wrapper for calling with a tokenMartin Braun2017-12-221-4/+9
|
* mpmd: Added preliminary support for passing RPC client to blocksMartin Braun2017-12-221-14/+35
|
* eiscat: Fixed missing antenna selection reg write for direct rxMartin Braun2017-12-221-0/+3
|
* Rename netd to mpmdMartin Braun2017-12-221-0/+378