| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Use fuzzy comparisons for setting the MCR.
Reviewed-By: Trung Tran <trung.tran@ettus.com>
|
|
|
|
|
|
|
|
| |
- re-structured Magnesium.init_jesd() sequence to accomodate the reconfiguration
- added DRP access protocols to nijesdcore.py
- cleaned up a few comments and log statements in nijesdcore.py for flow
Reviewed-By: Martin Braun <martin.braun@ettus.com>
|
|
|
|
| |
Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Simplify the process of setting external LO without calling through many API
layers.
Reviewed-By: Martin Braun <martin.braun@ettus.com>
|
|
|
|
| |
Need to set RF frequency after set_tx_frequency done.
|
|
|
|
| |
Reviewed-By: Martin Braun <martin.braun@ettus.com>
|
|
|
|
|
|
|
|
| |
- complete time_source options to match updates to fpga registers
- add methods for each of the bitfields in the clock control register
- add init sequences for the meas_clk MMCM and PPS output
Reviewed-By: Martin Braun <martin.braun@ettus.com>
|
|
|
|
| |
Reviewed-By: Martin Braun <martin.braun@ettus.com>
|
|
|
|
|
|
| |
- Move XportMgr classes out of n310.py
- Subclass them there and apply N310-specific settings
- Remove chdr_interfaces option from PeriphManagerBase
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Adds conversions for:
- Any-to-binary
- Any-to-UTF8
- Any-to-native
|
|
|
|
|
|
| |
Current code have couple places that open pyroute2 without closing it.
That seems to cause the file descriptor leakage.
This change effectively fix the issue #1964
|
|
|
|
| |
Before, it would always return success even if that failed.
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Zlib's crc32 outputs signed values in python2 and unsigned values in
python3. As per this page (https://docs.python.org/2/library/zlib.html)
0xffffffff can be AND'd to the result to get the same value between
Python versions
|
| |
|
|
|
|
| |
Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com>
|
|
|
|
|
|
| |
- ClockSynchronizer object has no more permanent lifetime
- DboardClockControl object lives within `with' statement
- dboard_ctrl_regs are limited to init()
|
|
|
|
|
| |
- Fixed incorrect register address for channel 1 lowband mixer select
- Fixed enabling of bypass path
|
| |
|
|
|
|
|
| |
Note: This is subject to removal, but makes the FPGA reloading code
available to all until we fix the reload bug.
|
|
|
|
|
|
|
|
|
|
| |
Upon updating certain components (the FPGA, for example), the
Peripheral Manager is restarted, and the overlay is reapplied. In order
to facilitate this, the RPC server intercepts and handles the
update_component function.
Tested on the RJ45 ethernet connection. It probably won't work as well
if the SFP connection goes down when the overlay is removed.
|
|
|
|
| |
UIO object now has an explicit destructor to properly tear down.
|
|
|
|
|
|
|
| |
Previously, the daughterboard requested an overlay file based on SFP
preference using magic values. This commit moves the decision making to
the peripheral manager, which uses our singular name (ie 'n3xx' for the
N310).
|
|
|
|
|
|
| |
Paths to the component files is now stored in the updateable_components
dictionary. This makes them accessible in the base class, and generally cleans
up the member variables.
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
| |
DSA value was set at wrong value since it is at upper 6 bits of DSA register.
Added comment.
|
|
|
|
|
| |
Note: The sensor API for this lives in n310, but it queries the dboards
for a ref lock status, which is now no longer a stub.
|
|
|
|
| |
Says check_plls_locked() would throw an exception. That's not true.
|
|
|
|
| |
We need more radio index and radio slot for N310.
|
|
|
|
| |
Note: On the first run, this flag will always assert.
|
| |
|
|
|
|
|
|
| |
The clock_synchronizer, jesdcore, and dboard_clk_control objects don't
need to exist for the full lifetime of the Magnesium class. Having them
around complicates management of UIO file descriptors.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
- re-wrote portions of the LMK driver for flexible rates and configuration
- tweaked TDC driver for compatibility and ease of debugging
- updated comments and log statements throughout for uniformity
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Reviewed-By: Steven Bingler <steven.bingler@ni.com>
Reviewed-By: Trung Tran <trung.tran@ettus.com>
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
| |
Reviewed-By: Steven Bingler <steven.bingler@ni.com>
Reviewed-By: Trung Tran <trung.tran@ettus.com>
|
|
|
|
| |
Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com>
|
|
|
|
|
|
| |
Default is to run in parallel. serialize_init=1 will run them serially.
Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com>
|