aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
Commit message (Collapse)AuthorAgeFilesLines
* mg: add facility that handle individual gainTrung N Tran2018-01-125-12/+348
| | | | | | | -Create name for each gain/att element -Create property tree entry for each gain and their handlers. -Create gain profile that control how gain distributed. Right now, it is either "default" or "manual".
* fixup! TwinRX: Added ADF5356 synth and TwinRX Rev C supportDerek Kozel2018-01-121-1/+1
| | | | | | The phase detector frequency value was incorrect for the Rev C LO1 Reviewed-by: Mark Meserve <mark.meserve@ni.com>
* uhd: Add narrow_cast and narrowMartin Braun2018-01-122-0/+100
| | | | Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
* 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
|
* mg: fix update_freq direction in set_rx_lo_freqTrung N Tran2018-01-091-1/+1
|
* fixup! mg: Use enums for all bands, move freq mapping to single locationMartin Braun2018-01-081-0/+1
|
* 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
* mg: Use enums for all bands, move freq mapping to single locationMartin Braun2018-01-089-109/+339
| | | | | | | | This removes the need to re-implement the band checks (in particular, the low band check) in multiple places, potentially causing confusion. Signed-off-by: Trung Tran <trung.tran@ettus.com> Reviewed-by: Trung Tran <trung.tran@ettus.com>
* mg: Remove superfluous UHD_VARMartin Braun2018-01-081-1/+0
|
* eiscat: Remove superfluous UHD_VARMartin Braun2018-01-081-2/+0
|
* Revert "rfnoc: compat: Disable DMA FIFO if more radios than DMA channels exist"Ashish Chaudhari2018-01-081-31/+1
| | | | This reverts commit c8cdbfc4d4e307017e02dd48c449d3e3f38118af.
* rfnoc: dma_fifo: Minor: Cleaned up log printsAshish Chaudhari2018-01-082-5/+4
|
* 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