aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/mpmd
Commit message (Collapse)AuthorAgeFilesLines
...
* uhd: Update license headersMartin Braun2018-02-1914-14/+14
| | | | | | | All copyright is now attributed to "Ettus Research, a National Instruments company". SPDX headers were also updated to latest version 3.0.
* mpmd: Fix compiler issuesMartin Braun2018-02-103-7/+5
| | | | | | - Initialization of device_addr_t from another using auto doesn't work across compilers - Moved MPMD_DISC_RESPONSE_PREAMBLE to mpmd_find where it belongs
* fixup! mpmd: Factor find and prop tree init code out of mpmd_impl.cppBrent Stapleton2018-02-092-4/+3
|
* mpmd: Factor find and prop tree init code out of mpmd_impl.cppMartin Braun2018-02-075-461/+503
| | | | No functional changes.
* mpmd: Let 'find' via broadcast check for reachabilityMartin Braun2018-02-073-6/+197
| | | | | | | | | 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-292-2/+4
| | | | | | | | -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.
* mpm/mpmd: Report device state using get_init_status() and verifyMartin Braun2018-01-161-0/+9
| | | | | | When trying to run init(), mpmd will first query the initialization status of the MPM device. If it is found to be in a bad state, it will not go forward with initialization, but instead print the error message.
* fixup! mpmd: Add API to read back logs from device and send to native loggingMartin Braun2018-01-111-1/+1
|
* fixup! fpga load: adding MPMD image loader functionBrent Stapleton2018-01-111-1/+1
|
* mpmd: Poll logs on claim and exitMartin Braun2018-01-101-0/+6
|
* mpmd: Add API to read back logs from device and send to native loggingMartin Braun2018-01-102-0/+71
|
* mpmd: Factor out compat number checkMartin Braun2018-01-081-26/+59
|
* mpmd: Refactor device initialization for better parallelizabilityMartin Braun2018-01-083-92/+125
| | | | | | | | | | 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-053-0/+14
| | | | | | | 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-044-8/+32
| | | | | | | 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: Add latency measurement functionalityMartin Braun2018-01-041-1/+43
| | | | | | | | | | By adding measure_rpc_latency, mpmd_impl will run a ping command in a loop at initialization, and estimate average and maximum RPC command latency. Note that the ping() RPC call only does an internal logging call and returns its argument, so it is a very coarse approximation to how fast RPC latency is. 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
* Move all headers to SPDX format, harmonize license headersMartin Braun2017-12-221-13/+2
|
* mpmd: liberio: Factor out constants into top of fileMartin Braun2017-12-221-17/+29
|
* mpmd: liberio: Apply MTU of 2 page sizesMartin Braun2017-12-221-3/+4
|
* mpmd: Optionally parallelize all calls to setup_rpc_blocksMartin Braun2017-12-222-14/+39
| | | | 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-225-12/+50
|
* mpmd: udp: Apply MTU to socket defaultsMartin Braun2017-12-221-8/+15
|
* n310: Move SID framing all the way to n310.pyMartin Braun2017-12-223-6/+1
| | | | | | | 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: Add get_mtu() API and MTU discovery for UDP transportsMartin Braun2017-12-225-0/+143
| | | | | | | | | The mpmd_xport_mgr classes can now return their own MTU. The UDP xport manager is a special case, it doesn't actually know its MTU, and thus runs an MTU discovery, using the MPM-ECHO command to discover MTU by sending variable-size packets as a probing mechanism. Reviewed-by: Trung Tran <trung.tran@ettus.com>
* mpmd: Device discovery fixes and cleanupAshish Chaudhari2017-12-224-32/+38
| | | | | | | | | - 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: Implement better xport selection algorithmMartin Braun2017-12-221-8/+22
| | | | Reviewed-by: Trung Tran <trung.tran@ettus.com>
* mpmd: Refactor MPM transport architecture, use managersMartin Braun2017-12-2212-404/+843
| | | | | | | | | | | | | | 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>
* mpmd: More gracefully quite the reclaim loop on failureMartin Braun2017-12-221-1/+6
|
* fpga load: Atomic updating of multiple componentsBrent Stapleton2017-12-222-57/+107
| | | | | | | - 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.
* mpmd: Bump init timeout to 120 seconds (sic)Martin Braun2017-12-221-1/+1
|
* 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-224-120/+342
| | | | | 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.
* mpmd: Bump initialization timeout to 45 secondsMartin Braun2017-12-221-1/+1
|
* mpmd: Use the get_last_error feature from the RPC clientMartin Braun2017-12-222-2/+6
| | | | | The RPC client will now query the MPM server for details when an error occured.
* fpga load: adding MPMD image loader functionBrent Stapleton2017-12-222-0/+107
| | | | uhd_image_loader now supports type=n310, and loads the FPGA provided in the arguments.
* 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-222-16/+30
| | | | 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
|