aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* x300: Fix compiler warnings related to type conversionsMartin Braun2019-01-074-15/+15
| | | | | | | These compiler warnings mostly pop up on MSVC. Most of them are due to inconsistent usage of size_t, uint{8,16,32}_t, and even int. This commit changes types mostly such that variables have the correct type to begin with, although it also contains a few explicit type-casts.
* transport: Fix MSVC warning by replacing size_t with uint32_tMartin Braun2019-01-031-1/+1
| | | | This fixes a C4267 which pops up a lot when compiling UHD with MSVC.
* TwinRX: Fix tuningMichael West2019-01-022-8/+5
| | | | | - Set SPI clock back to 3 MHz - Fix returned frequency for ADF5355 (rev A and B boards)
* x300: Remove usage of boost::bindMartin Braun2019-01-021-12/+16
|
* x300: Factor our PID -> MB type and MB type -> product name mappingMartin Braun2019-01-021-137/+117
|
* x300: Remove some trailing spacesMartin Braun2019-01-021-6/+4
|
* E300: Re-enable "gpsdo" time sourcemichael-west2018-12-201-1/+1
| | | | Fixed typo in CMakeLists.txt file
* gpsd: GPGGA string formatting fixesBen Kempke2018-12-201-4/+4
| | | | | - Add missing commas for empty fields - Zeroize longitude and latitude
* RFNoC: Fix stream command propagationmichael-west2018-12-201-1/+1
| | | | | | - Corrects parameter from output port to input port of node - Fixes issue on nodes with different number of input and output connections
* RFNoC: Fix graph traversalmichael-west2018-12-193-14/+16
| | | | | | - Allows different TX sample rates on separate channels - Prevents stream commands from being issued on wrong ports - Prevents some receive timeout errors
* N310 E320: Add initialization of TX bandwidthmichael-west2018-12-192-2/+2
| | | | - Fixes "Error: map::at" errors (during calls to get_tx_bandwidth())
* uhd/mpm: eiscat: Various changesRyan Marlow2018-12-192-28/+219
| | | | | | | | | | | | | | - correct lmk initialization parameters - adding missing parameters and consts wrt clock synchronization. - fixed default master clock rate - eiscat, ddc: update xml. - remove references to CORDIC_FREQ in ddc_eiscat - update readback reg addr in radio_eiscat - set default spp from 3992 to 3968. - updated jesd mode sequence initialization - updating eiscat_radio_ctrl_impl - add rx_codecs to property tree to display correct ADC chip. - updated issue_stream_cmd
* radio_ctrl_impl: move continuous_streaming to protected.Ryan Marlow2018-12-191-1/+1
|
* Device3: Fix block control flushingBrent Stapleton2018-12-171-18/+25
| | | | | | | | | | | | | | | | | | | - Factor out the _start_drain helper function, which starts flushing data out of the block. We should always be disabling flow control after we write to the flushing registers. - Always attempt to flush when calling the _flush function. Previously, we would check if data appeared to be moving when _flush was called, and only write to the flush registers if data was moving. However, if data is stuck for some reason (for example, the block ran out of flow control credits), this check will give us a false positive, and we won't flush. Instead, we need to always begin the flushing process, then check those counters, and return once the counters stop changing. Note: we need to start flushing before disabling flow control so that the flushed data isn't flooded onto the crossbar. Co-authored-by: michael-west <michael.west@ettus.com> Co-authored-by: Sugandha Gupta <sugandha.gupta@ettus.com>
* Device3: Set default block control response SIDsBrent Stapleton2018-12-171-0/+4
| | | | | | | | | | | In the block controllers, set the default response SIDs for input and output ports. If we don't do this, the blocks may send their responses to other blocks' responses ports. For example, without this change, the DDC may send an error packet to port 0x0000, which is assigned to the DmaFIFO. With this change, the DDC would send that packet to 0xFFFF, which isn't assigned to any other block.
* E310: Fix initialization of antenna and frequency valuesmichael-west2018-12-172-8/+36
|
* C API: Add support for Tx LO controlMartin Braun2018-12-141-0/+89
| | | | | The Rx LO control was always there, but the Tx LO control was not exposed into the C API.
* x300: Add support for USRP-2974Thomas Vogel2018-12-143-2/+19
| | | | | This will enable a USRP 2974 to be registered as an X300 device. Its product ID is 'NI-2974'.
* various: use "std::abs" instead of "std::fabs"Michael Dickens2018-12-122-6/+6
| | | | | | + better compiler compatibility + let the compiler figure out the actual function IO signature that makes sense, instead of forcing float.
* lmx2592: Better "abs()" compiler compatibilityMichael Dickens2018-12-121-3/+3
| | | | Use "std::abs" instead of "abs" for better compiler compatibility
* rh: add highband spur reduction optionMark Meserve2018-12-124-4/+83
| | | | | | | | | - When highband_spur_reduction is enabled, the lowband LO will be disabled during highband operation. This improves spur performance, but also renders timed tune commands unusable due to the MPM call. - A warning is logged if the user uses a timed tune command that would change the state of the lowband LO, as the MPM call will occur immediately instead of at the given command time.
* TwinRX: Make routing to LO1 and LO2 mutually exclusivemichael-west2018-12-102-25/+15
|
* TwinRX: Enable phase resync on ADF535xmichael-west2018-12-101-17/+9
|
* TwinRX: Tuning improvementsmichael-west2018-12-103-17/+20
| | | | | | - Added delay for VTUNE calibration as per ADF5355 and ADF5356 data sheets - Increased SPI clock to 10 MHz - Removed write to register 10 during tuning of ADF5356 to match ADF5355 code and reduce tune time
* TwinRX: Fix initializationmichael-west2018-12-101-62/+60
| | | | | | | - Reordered initialization - Fixed issue where LO2 initialization data was being written to LO1 - Moved SPI config to be a member variable so it is not constantly re-created - Changed SPI clock divider from hard-coded value to a calculation based on CODEC rate
* rh: fixed lowband tuningMark Meserve2018-12-071-1/+2
| | | | - Sometimes, SW1 was not updated when a switch to lowband occurred.
* uhd: Fix log statement for Port number on RFNOC blockSugandha Gupta2018-12-051-1/+1
| | | | | CE is display in decimal format and Port number will be displayed in Hex, as it represents Block Port on the crossbar
* rh: add handling for "all" loMark Meserve2018-12-042-9/+104
| | | | | | | - Adds "all" LO properties. - Adds handling of "all" value in all LO functions. - Re-adds value_error exceptions for illegal settings of LO2, which previously caused issues when the "all" LO was used from multi_usrp.
* mg: Unindent falsely indented block of codeMartin Braun2018-11-301-29/+29
| | | | Whitespace changes only.
* rh: add support for atr frontend controlMark Meserve2018-11-295-92/+103
|
* python: Add sync source to Python APIBrent Stapleton2018-11-291-0/+32
| | | | Exposing getters, setters, and options for multi_usrp sync source.
* e300: Type-cast fix for boostAndreas Müller2018-11-281-1/+1
| | | | | | | Fixes compiler errors on newer Boost. boost::posix_time::microseconds() requires a int64_t. Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
* rfnoc: Add halt to replay APIWade Fife2018-11-271-0/+4
| | | | | The HALT feature allows a command that takes a long time to run to be stopped while it is in progress.
* rfnoc: Fix default SPP for replayWade Fife2018-11-271-4/+3
| | | | Consolidate two constants for default replay packet size down to one.
* x3xx: implement rfnoc get antenna functionsMark Meserve2018-11-262-0/+16
|
* x300: fixup minimum master clock rateBrent Stapleton2018-11-211-1/+1
| | | | | Recent clocking changes set the minimum master clock rate to 187.5MHz, instead of the actual 184.32MHz. This change corrects that.
* rh: fix typo in lo distribution propertiesMark Meserve2018-11-161-2/+2
|
* mpmd: add fpga_vesion_hash infoTrung Tran2018-11-161-0/+2
|
* mpmd: Improve error message for compat number mismatchesMartin Braun2018-11-161-6/+14
|
* x300: New mode to configure master clock rateScott Torborg2018-11-163-10/+104
| | | | | | | | Add a new clocking mode to automatically configure arbitrary master clock rates. Co-authored-by: Brent Stapleton <brent.stapleton@ettus.com> Co-authored-by: Martin Braun <martin.braun@ettus.com>
* python: populated the tune_result_t bindingKevin Rigney2018-11-151-0/+6
| | | | | | The Python API bindings for the tune_result_t structure was not complete. This caused problems when trying to use it, as when tuning the TwinRX daughtercard.
* python: adding device_addr_t to Python APIBrent Stapleton2018-11-141-0/+32
| | | | | | | Add support for device_addr_t to the Python API. Most functions are exposed normally. The main exception is the constructor from a map of strings, which is replaced by a factory function called `make_device_addr`.
* python: tighten the scope of releasing the GILBrent Stapleton2018-11-141-20/+22
| | | | | Only release the GIL for the calls to send() and recv(), instead of the entire wrapper functions.
* python: expose streamer timeoutsBrent Stapleton2018-11-141-16/+27
| | | | | | Expose optional timeouts on send, recv, and recv_async_msg. These timeouts do not apply to the setup in the wrapper functions, only the calls to the streamer functions.
* rh: fix typo in initMark Meserve2018-11-141-1/+1
| | | | - This broke tx streaming via the multi_usrp API.
* uhd: Add device arg to enable dual ethernet for txCiro Nishiguchi2018-11-142-2/+17
| | | | | | | | UHD currently only uses a single ethernet link for tx data, even if the device is initialized with dual 10GbE links. Using both links when a DMA FIFO is present causes sequence errors due to DMA FIFO bandwidth limitations. This maintains the current default behavior but allows users to override it through a device arg "enable_tx_dual_eth".
* cmake: Update coding style to use lowercase commandsMartin Braun2018-11-1433-380/+380
| | | | | | | | | | | | | | | | | Also updates our coding style file. Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code (with GNU compliant sed): cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done > convert.sed \ && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' \ '*CMakeLists.txt' | xargs -0 gsed -i -f convert.sed && rm convert.sed (Make sure the backslashes don't get mangled!)
* mpmd: increase rpc timeout during reading mb sensorTrung Tran2018-11-131-1/+4
| | | | | | | Reading motherboard sensor, sometimes, takes more than 2 seconds. We don't have asynchronous RPC, increase this timeout will help long sensor reading such as reading GPSD value when GPSD connection is unreliable.
* rfnoc: Replace some [] with .at() in radio_ctrl_implMartin Braun2018-11-131-8/+8
| | | | | This makes it easier to detect errors in derived classes that expect getters in radio_ctrl_impl to also do error checking.
* rh: initialize switchesMark Meserve2018-11-071-3/+10
|