| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
| |
Fixed nested comment warning by escaping /* sequence in file path.
|
|
|
|
|
| |
removed doxgen deprecation warnings by running `doxygen -u` against
Doxygen.in
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the following API calls:
- multi_usrp::has_{rx,tx}_power_reference()
- multi_usrp::set_{rx,tx}_power_reference()
- multi_usrp::get_{rx,tx}_power_reference()
- radio_control::has_{rx,tx}_power_reference()
- radio_control::set_{rx,tx}_power_reference()
- radio_control::get_{rx,tx}_power_reference()
It also adds a manual page explaining the philosophy of the API.
Note that this does not actually add this feature to any device
implementation. Calling the new API calls will thus result in
`uhd::not_implemented_error` exceptions being thrown. This commit is to
lock down the API and ABI.
|
|
|
|
|
|
| |
Add some additional documentation to the Configuration Devices and
Streamers and Transport Notes pages regarding stream arguments and
their use.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Up until now, we completely ignore the XDG specification.
This commit does the following to change that:
- It uses XDG_DATA_HOME and XDG_CONFIG_HOME for cal and config data,
respectively.
- If config data is in ~/.uhd/uhd.conf, that is still accepted, but if
it conflicts with $XDG_CONFIG_HOME/uhd.conf, it is ignored and a
warning is displayed
- The default location for cal data is thus ${HOME}/.local/share/uhd/cal
on Unix, and %LOCALAPPDATA%\uhd\cal on Windows. This is a change in
location!
- The UHD_CONFIG_DIR environment variable was confusingly named and is
now removed. It provided an alternative location than the home
directory. The same purpose is now much better served by XDG_DATA_HOME
and XDG_CONFIG_HOME.
The specification can be found here:
specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
|
|
|
|
|
|
|
|
| |
This will convert cal data files based on CSV to the new binary format.
In most cases, running
./convert_cal_data.py
is sufficient.
|
|
|
|
|
|
|
|
|
| |
Now that we have cal::iq_cal and cal::database, there's no need to
manually wrangle CSV files for calibration data. This commit replaces
all CSV operations with cal::database calls and uses cal::iq_cal as
a container.
CSV files can still be read, but are considered deprecated.
|
|
|
|
|
|
|
|
| |
This class can be used to store calibration coefficients for the X300
DC offset and IQ imbalance calibration.
Note: This also modifies Doxyfile.in to not document files generated by
flatc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On the new RFNoC with UHD 4.0 architecture, Basic/LF dboards use
a new operating paradigm. The streaming mode (real mode or
complex) is determined by setting the antennas (to A/B or AB/BA
respectively). Basic/LF RX dboards also support 2 frontends (0 and
1), and Basic/LF TX dboards support 1 frontend (0). This new
behavior only applies to applicable RFNoC devices (currently
X300/X310).
All pre-RFNoC devices (i.e. USRP2/N200 and earlier) maintain legacy
behavior. RFNoC with UHD 3.xx branches also maintains old behavior.
Signed-off-by: mattprost <matt.prost@ni.com>
|
|
|
|
|
|
|
| |
The n3xx and x3xx device pages both link to the DPDK page. However, the
link was setup as type "subpage" instead of "ref". The result was that
both device pages thought they owned the DPDK page which caused
non-intuitive behavior when clicking through links in the manual
|
|
|
|
|
|
|
| |
While merging the FPGA code into the UHD codebase, the manual building
process was not modified, resulting in either a link to the website
instead of building the FPGA manual as part of the rest, or by using a
residual submodule.
|
|
|
|
| |
This gives examples of how to use the set_gpio_src() API and friends.
|
| |
|
|
|
|
|
|
|
|
| |
Add a subsection to both N310- and N320 specific features to
document the EEPROM flags simliar to as it is done in the E320
documentation.
Signed-off-by: Joerg Hofrichter <joerg.hofrichter@ni.com>
|
| |
|
|
|
|
|
|
| |
-Adds embedded mode tests for E310 and E320 to the
R&D testing procedure.
-Modifies increased rates for 1Gige testing on E320
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
docs: Update DPDK docs with new parameters:
Parameter names have had their hyphens changed to underscores, and
the I/O CPU argument is now named after the lcores and reflects
the naming used by DPDK.
transport: Add new udp_dpdk_link, based atop the new APIs:
This link is tightly coupled with the DPDK I/O service. The link class
carries all the address information to communicate with the other
host, and it can send packets directly through the DPDK NIC ports.
However, for receiving packets, the I/O service must pull the packets
from the DMA queue and attach them to the appropriate link object.
The link object merely formats the frame_buff object underneath, which
is embedded in the rte_mbuf container. For get_recv_buff, the link
will pull buffers only from its internal queue (the one filled by the
I/O service).
transport: Add DPDK-specific I/O service:
The I/O service is split into two parts, the user threads and the
I/O worker threads. The user threads submit requests through
various appropriate queues, and the I/O threads perform all the
I/O on their behalf. This includes routing UDP packets to the
correct receiver and getting the MAC address of a destination (by
performing the ARP request and handling the ARP replies).
The DPDK context stores I/O services. The context spawns all I/O
services on init(), and I/O services can be fetched from the dpdk_ctx
object by using a port ID.
I/O service clients:
The clients have two lockless ring buffers. One is to get a buffer
from the I/O service; the other is to release a buffer back to the
I/O service. Threads sleeping on buffer I/O are kept in a separate
list from the service queue and are processed in the course of doing
RX or TX.
The list nodes are embedded in the dpdk_io_if, and the head of the
list is on the dpdk_io_service. The I/O service will transfer the
embedded wait_req to the list if it cannot acquire the mutex to
complete the condition for waking.
Co-authored-by: Martin Braun <martin.braun@ettus.com>
Co-authored-by: Ciro Nishiguchi <ciro.nishiguchi@ni.com>
Co-authored-by: Brent Stapleton <brent.stapleton@ettus.com>
|
|
|
|
|
| |
Update UBX and SBX gain settings in the manual for phase alignment
testing.
|
| |
|
| |
|
|
|
|
|
| |
Swap out hyphens for underscores in the DPDK args. Also update list
of distributions with the correct DPDK version in the repos.
|
|
|
|
|
|
|
| |
This commit removes all files and parts of files that are used by
proto-RFNoC only.
uhd: Fix include CMakeLists.txt, add missing files
|
|
|
|
|
|
| |
- --interactive-reg-shell $BLOCKID will let you peek and poke registers
in an RFNoC block
- Blocks and static connections are printed
|
|
|
|
|
|
|
| |
Co-Authored-By: Alex Williams <alex.williams@ni.com>
Co-Authored-By: Sugandha Gupta <sugandha.gupta@ettus.com>
Co-Authored-By: Brent Stapleton <brent.stapleton@ettus.com>
Co-Authored-By: Ciro Nishiguchi <ciro.nishiguchi@ni.com>
|
|
|
|
| |
Note: N230 is still supported on the 3.15 LTS branch
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Boost >= 1.58
- CMake >= 3.5.1
- gcc >= 5.4.0
- Clang >= 3.8, AppleClang >= 600
- Python >= 3.5 (Py2k no longer supported)
- Numpy >= 1.11
- C++14 for lib, include may now use C++11 constructs.
- Because there is no more code requiring C++03 syntax, we remove the
include-specific clang-format file
|
| |
|
|
|
|
| |
Signed-off-by: Joerg Hofrichter <joerg.hofrichter@ni.com>
|
|
|
|
|
| |
Added appropriate references to N321 in the R&D testing doc for the
FPGA Functional Verification section.
|
|
|
|
| |
This explains what the various FPGA flavours (XG, HG, 1G) are.
|
|
|
|
|
|
|
| |
- Reduce long tests from 3600 seconds to 600 seconds.
- Remove 2xRX@153.6e6 test for N310 10 GbE (not practical).
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
| |
Add -DMPM_DEVICE=e320 to the command so the E320 version is built
and not the N3xx version.
Signed-off-by: michael-west <michael.west@ettus.com>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The existing code would fail on the second CMake run when gzip wasn't
actually installed, as well as on the first build. The behaviour is
modified as follows:
- ENABLE_MAN_PAGE_COMPRESSION is made a variable, instead of an option
- Its default value is derived from ${GZIP_FOUND}
|
|
|
|
|
|
|
|
|
|
|
| |
Some close-in noise was observed on TX when using external references.
This change reduces the noise by changing U19 to select the GPSDO when
references are set to external. Also included is a change to properly
read and apply settings from the configuration file. This allows the
user to further quiet the transmission by adding 'enable_gps=False' to
the configuration file in order to power off the GPSDO.
Signed-off-by: Michael West <michael.west@ettus.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using enable_gps=0, the power to the LTE-Lite GPS chip is turned
off, and neither the reference sources (time/clock) nor the
location/time data (via gpsd) can be used.
This commit disables the gpsdo options for the set_time_source,
set_clock_source, and set_sync_source when enable_gps=0 is used, and
adds logging to inform the user about this.
This behaviour is consistent with X310, where `gpsdo` is only a valid
reference if the GPSDO module is plugged in.
The manual was also updated accordingly.
|
| |
|
|
|
|
|
|
| |
If gzip can't be found, compression is turned off, unless the user
requested ENABLE_MAN_PAGE_COMPRESSION in which case an error is
returned.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Adding advisory in the X300 manual page regarding issuing multiple
timed commands causing device lockups.
|
| |
|
| |
|
|
|
|
|
|
| |
- Makes use of more modern find_package(Python2/3) if available
- Moves almost all Python-related code to UHDPython.cmake
- ENABLE_PYTHON3 is no longer necessary
|
| |
|