aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* 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>
* rfnoc: Fix named readback of user_reg_read32()Martin Braun2018-01-051-1/+1
| | | | Thanks to github user mdmikh for pointing out problem and fix.
* 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-2213-170/+30
|
* 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
|
* rfnoc: compat: Disable DMA FIFO if more radios than DMA channels existMartin Braun2017-12-221-1/+31
|
* 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.
* mg: Add 'identify' block arg, will toggle LEDs for identificationMartin Braun2017-12-225-1/+51
|
* mg: Set default spp at ctor time, when xports have been init'dMartin Braun2017-12-221-0/+12
|
* 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
|
* mg: Don't set default rate before having RPC accessMartin Braun2017-12-221-2/+0
| | | | | This will do nothing useful, but will print warnings that clock rates don't match. So let's remove that setting.
* mg: Renamed lowband LO to 'lowband'Martin Braun2017-12-221-1/+1
| | | | Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
* 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>
* mg: Use floating point comparison for all frequenciesTrung N Tran2017-12-222-23/+23
| | | | Reviewed-by: Martin Braun <martin.braun@ettus.com>
* mg: Fix tx low band frequencyTrung N Tran2017-12-221-3/+2
| | | | 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>
* mg: external LO need update correct freqTrung N Tran2017-12-221-2/+13
| | | | Need to update rf freq to half of ad9371
* mg: Fix reading back output sampling rateMartin Braun2017-12-222-7/+0
| | | | Reviewed-By: Trung Tran <trung.tran@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>
* mg: Add LO specific properties and methodsTrung N Tran2017-12-224-57/+515
| | | | | | | | This change adds extra hooks to the property tree to make LOs accessible thru the property tree. These can be used by multi_usrp api. Reviewed-By: Martin Braun <martin.braun@ettus.com>
* n3xx: fix TX power lossTrung N Tran2017-12-221-0/+1
| | | | Need to set RF frequency after set_tx_frequency done.
* mg: Update gain immediately after setting frequencyTrung N Tran2017-12-222-5/+37
| | | | | | | We want to have set frequency and set gain atomic. i.e if user set gain and tune to different frequency, they expect the gain won't change. Reviewed-By: Martin Braun <martin.braun@ettus.com>
* mg: Lock access to settersMartin Braun2017-12-222-0/+16
| | | | | | | | | | | | Magnesium APIs are not thread-safe and can take a while to execute in some cases. Adding a mutex to setters avoids invalid states of the hardware from API calls. Note that the lock applies to one block at a time. With the two-radios-per-dboard approach, two locks need to be applied and race conditions are still possible. Reviewed-By: Trung Tran <trung.tran@ettus.com>
* mg: Fix gain setting on channels 1 and 3Trung Tran2017-12-224-36/+46
| | | | | | | Updated channel param: -modify radio_ctrl_cpld the param for channel has to be more concrete type of chan_sel_t -fix _update_rx_freq_switches and _update_tx_freq_switches to get correct frequency by NOT using radio base class
* mg: fix rx gain on channel 1Trung N Tran2017-12-221-1/+2
|
* mg: Fix TX power issuesTrung N Tran2017-12-222-3/+5
| | | | | - Fixed incorrect register address for channel 1 lowband mixer select - Fixed enabling of bypass path
* 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.
* mg: fix TX dsa bugTrung N Tran2017-12-221-1/+3
| | | | | DSA value was set at wrong value since it is at upper 6 bits of DSA register. Added comment.
* legacy_compat: extend radio index and radio slotTrung N Tran2017-12-221-2/+28
| | | | We need more radio index and radio slot for N310.
* mpmd: Bump init timeout to 120 seconds (sic)Martin Braun2017-12-221-1/+1
|
* mg: Enable variable master clock ratesMartin Braun2017-12-224-9/+50
| | | | | | | | | | The master_clock_rate argument is passed to init() during initialization; this change allows to query the correct MCR at initialization time. It does not allow changing the MCR while a session is active. The MCR also affects the LO settings; it is the reference clock for the lowband LOs.
* mg: Init dboard sensors via MPMMartin Braun2017-12-223-9/+39
| | | | | Reviewed-By: Steven Bingler <steven.bingler@ni.com> Reviewed-By: Trung Tran <trung.tran@ettus.com>
* mpm: mg: Add dboard sensors for low- and highband LO lock statusMartin Braun2017-12-221-2/+26
| | | | | | | | | - Add LO locked APIs to Magnesium - Add LO locked sensor APIs for RX/TX and highband/lowband LOs - Poll all those sensors from magnesium_radio_ctrl_impl Reviewed-By: Steven Bingler <steven.bingler@ni.com> Reviewed-By: Trung Tran <trung.tran@ettus.com>
* mg: Fix minor compiler warningsMartin Braun2017-12-223-19/+22
|
* mg: ad9371: Add shortcut for RPC requestsMartin Braun2017-12-222-22/+19
|
* mg: ad9371: Add API to toggle LO sourceTrung Tran2017-12-222-0/+35
|
* mg: Add back _rpc_prefixMartin Braun2017-12-222-0/+5
|
* mg: Add stubs for LO locked sensorsMartin Braun2017-12-223-1/+48
|
* 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.