| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com>
|
|
|
|
| |
Need to update rf freq to half of ad9371
|
|
|
|
| |
Reviewed-By: Trung Tran <trung.tran@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>
|
|
|
|
| |
Need to set RF frequency after set_tx_frequency done.
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
- Fixed incorrect register address for channel 1 lowband mixer select
- Fixed enabling of bypass path
|
| |
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
| |
We need more radio index and radio slot for N310.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
mpm_find now filters discovered devices using (if provided in args)
name, serial, type, and product. This method follows the same logic as
the x300 find routine.
|
|
|
|
| |
skip_dram is used
|
| |
|
|
|
|
|
| |
This commit combines code from various branches to finally enable both
UDP and Liberio transports.
|
|
|
|
| |
Dynamically generates property tree by querying MPM device for a list of updateable components.
|
| |
|
|
|
|
| |
All properties are already shared through the prop tree API.
|
| |
|
| |
|
|
|
|
|
| |
For consistency, the LO-CAL antenna name is actually "LOCAL" (without
the dash).
|
|
|
|
|
|
|
| |
This addresses the fact that two Mg Radio RFNoC blocks share a single LO
in both Tx and Rx direction. When setting the frequency on one, the
appropriate actions are now triggered on the other side. The same goes
for getters, they now actually tell the truth.
|
| |
|
| |
|
|
|
|
|
| |
The RPC client will now query the MPM server for details when an error
occured.
|
|
|
|
|
|
| |
It can be helpful to go back to the RPC server for clarification on what
just happened. This adds an optional argument to the RPC client for how
to retrieve that info.
|
|
|
|
| |
uhd_image_loader now supports type=n310, and loads the FPGA provided in the arguments.
|
|
|
|
| |
The FPGA image, and other components, can now be set from the property tree. The registered function expects a component_file_t, which combines the data file and metadata dictionary.
|
|
|
|
|
|
|
|
|
| |
- Adds two new compilation units (magnesium_gain_table.* and
magnesium_radio_ctrl_gain.cpp)
- Static gain tables are hard-coded in that file, includes method to
look up gain table entries for a given frequency and gain
- DSA code moved back to accept attenuation
- TX/RX switch code needed update to enable bypass for certain gains
|
|
|
|
|
|
|
|
|
| |
All ATR settings were on one big API call for each TX and RX,
respectively. This splits up the ATR settings into related components,
such as:
- Antenna input for RX side
- Frequency-related (RX LNAs)
- TRX switch
|
| |
|
|
|
|
|
|
| |
- Spin out AD9371 control into its own class
- Split file into multiple compilation units
- Fixed many minor code formatting issues
|
|
|
|
|
| |
This will set you call setters on the CPLD control object without
immediately triggering a SPI transaction.
|
| |
|
| |
|
|
|
|
| |
Adding skip_init to the device args makes it so rfnoc blocks, etc. are not initialized.
|
|
|
|
|
|
|
| |
- Adds gains to gain group: dsa, ad9371
- Defaults to splitting gains evenly across group members
- Adds gain_mode which allows automatic gain setting, or manually
setting DSA vs. AD9371
|