| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This does not change the MPM/UHD API, but it makes the set_freq() call
asynchronous on the MPM side. The upside is that it will release the GIL
if the set_freq() call takes too long, e.g., because of MPM
calibrations.
|
|
|
|
|
| |
This will avoid importing API calls from the self.mykonos object onto
the Magnesium class if the Magnesium class already has such a method.
|
|
|
|
|
|
|
| |
- Fixes a case where the e320 would be unable to lock to an external 10 MHz
reference
- Previously, calling set_time_source would set the reference clock source to
internal as a side effect
|
| |
|
|
|
|
|
| |
Removing unnecessary CMAKE_INSTALL_PREFIX to destination for usrp mpm
python dir
|
|
|
|
| |
access or data as bytes instead of str was not possible due to unconditional assert check for str
|
|
|
|
|
|
|
| |
Newer revisions of the E320 and N3xx motherboards use EEPROM version 3,
and store a rev_compat field. The rev_compat is the last revision that
this hardware is compatible with. We now use that instead of simply the
revision.
|
|
|
|
|
|
|
|
|
|
| |
This includes a rev_compat field, which we can use to identify the last
hardware revision this hardware is compatible with. Example: Say the
current hardware revision is 7, but it is compatible with version 5,
then we store 7 as the current rev, and 5 as the rev_compat. Software
can now check the rev_compat rather than the current rev for
compatibility. This makes MPM more future-proof against minor,
compatible hardware changes.
|
|
|
|
|
|
| |
- No driver changes required
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Turns the E310 into an MPM device (like N3xx, E320)
- Factor out common code between E320 and E310, maximize sharing between
the two devices
- Remove all pre-MPM E310 code that is no longer needed
- Modify MPM to remove all existing overlays before applying new ones
(this is necessary to enable idle image mode for E310)
Co-authored-by: Virendra Kakade <virendra.kakade@ni.com>
Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
|
|
|
|
|
|
| |
If the number of channels for embedded mode streaming is 4
(1 for ctrl, 1 for async messages and 2 for data ), we need to
mux the data transport. This is needed for E310
|
|
|
|
|
| |
This is needed for E31x with thermal sensors on different
subsystems e.g. iio, hwmon.
|
|
|
|
|
|
| |
Pull some general functionality out of a specific test case and create
a TestBase class. Future test cases will inherit from TestBase and have
access to this general functionality.
|
| |
|
|
|
|
|
|
|
| |
Add unit testing framework to MPM which can be run by calling
"make test". The testing is done using the built in unittest Python
module. Tests can be run on a dev machine or on the USRP itself when
compiling natively.
|
|
|
|
| |
Remove some unused files.
|
|
|
|
|
| |
This file contained a whole lot of copy pasta from during its inception.
Removed all the special cases for Windows, MinGW, and RedHat.
|
|
|
|
| |
Updating all SPDX license identifiers to include "-or-later"
|
|
|
|
|
| |
The error message will now include the IP address of the client trying
to double-claim a device.
|
|
|
|
|
| |
Before, the log messages would occasionally print 6 digits worth of
precision for sample clock values that only require 2.
|
| |
|
|
|
|
|
|
| |
The N320 has FPGA types (XQ, AQ) which cannot be derived from the mboard
regs in the same way as the non-QSFP variants. We therefore bite the
bullet and hardcode those.
|
|
|
|
|
| |
The QSFP board can't be detected if support for it is not baked into
the current FPGA image, so the warning on its absence may be incorrect.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When running
$ n3xx_bist ddr3
The test will now load the AA image if the BIST fails, unless the user
specifies
$ n3xx_bist ddr3 -o skip_load_fpga=1
The rationale is that by default, the AA image is the only one that
includes the DmaFIFO block.
|
|
|
|
|
|
|
| |
The capability to run the DDR3 BIST is built into the DmaFIFO RFNoC
block, which is not always available. This change performs a quick check
before for its existence before retrieving the throughput values, and
thus can provide a better error message in that case.
|
|
|
|
|
|
|
| |
We can't guarantee that there is actually a DDR3/DRAM FIFO block on the
image. So, don't run that test by default.
In order to run the DDR3 bist, running `n3xx_bist ddr3` is still valid.
However, it requires an image with the DRAM FIFO enabled.
|
|
|
|
|
| |
Fixes uhd_usrp_probe FPGA version githash to report the
correct hash and not 'UNKNOWN'.
|
|
|
|
|
|
|
|
| |
Without this patch, the N320 code will rely on an error to occur to
determine the non-existence of the N321 LO distribution board. While
this works, it forces an error message where there's no error. This will
first check for the existence of the board before trying to initialize
it.
|
|
|
|
|
|
|
| |
Hardware revision was increased due to new firmware. No software
changes are required.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
| |
Remove unused variable data_word that never gets set,
but never read.
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
|
|
|
|
|
|
| |
Remove unused 'coerced_value' variable since nobody reads
it ever.
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
Issue: Current code loads FPGA too early while many
essential peripherals such as net clocks are not brought up.
This change will make sure those are got init before FPGA loaded.
Signed-off-by: Trung Tran<trung.tran@ettus.com>
|
|
|
|
|
|
|
| |
Add an argument to the UDP xport_mgr to adjust the xport sorting. This
enables Rhodium to use a different limit from Magnesium. Previously, the
sorting method would overload a link with both of Rhodium's higher-rate
streams.
|
|
|
|
|
|
| |
Fixes Rhodium for changes introduced in b7bab6a. The constructor call
for BfrfsEEPROM didn't match the signature, and Rhodium's EEPROM map
referred to the wrong revision.
|
|
|
|
| |
Remove some semicolons and superfluous imports.
|
| |
|
| |
|
|
|
|
|
|
| |
In bridge mode, packets may be arriving at the Ethernet device which
aren't meant for this device, and thus need different routing
instructions.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Applying formatting changes to all .cpp and .hpp files in the following
directories:
```
find host/examples/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
find host/tests/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
find host/lib/usrp/dboard/neon/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
find host/lib/usrp/dboard/magnesium/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
find host/lib/usrp/device3/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
find host/lib/usrp/mpmd/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
find host/lib/usrp/x300/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
find host/utils/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
find mpm/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
```
Also formatted host/include/, except Cpp03 was used as a the language
standard instead of Cpp11.
```
sed -i 's/ Cpp11/ Cpp03/g' .clang-format
find host/include/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
```
Formatting style was designated by the .clang-format file.
|
|
|
|
|
|
|
|
| |
- Add default bandwidth range
- Add default mash order constant
- Delete MPM todos
- Cleanup whitespace in MPM python code
- Add docstring for is_lo_dist_present
|
|
|
|
|
|
| |
Add method to generate GPGGA sensor data in MPM devices. This needs to
be constructed from TPV and SKY sensor data, and matches the GPGGA
sensor functionality in gpsd_iface.cpp.
|
|
|
|
|
| |
Affects Magnesium and Rhodium classes, which where duplicating this
code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
If we use threading, the claimer loop's thread won't get scheduled in a
timely manner on n3xx. Using multiprocessing frees the claimer loop from
using the same GIL and gives back timely reclaim calls.
|
|
|
|
| |
- output 11 is unused, a value of 0 will leave the polarity as normal
|
| |
|
|
|
|
|
|
| |
Return value should be fpga image type and not
sfp type, fixes a bug with uhd_image_loader while
trying to update XG and AA images
|