| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
The firmware will be installed under /lib/firmware/adi/mykonos-m3.bin,
so going forward this is the path we require.
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
|
|
|
|
|
|
|
|
| |
This change allow user to set RX LO of ad9371 to external or internal from args
constructor of usrp device.
new args is rx_lo_source value can be either internal or external:
If there's no rx_lo_source specified or invalid value, default rx_lo is used; which is internal LO.
Usage example:
usrp_application --args "rx_lo_source=external"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, AD9371 turned on most of the calibration and hard coding the turning
on process during bringup time.
This change enables users to pass in a mask field for init ARM calibration and
tracking arm calibration at the time creating USRP device reference.
This mask field can be passed through device arguments of:
1/ init_cals : for init ARM calibration masks. This is defined in AD9371 UG-992
table 65. Default to 0x4DFF
2/ tracking_cals : for tracking calibration masks. This is defined in AD9371
UG-992 table 66. Default to 0xC3
Example of pasing in init calibration and tracking calibration mask
usrp_application --args "init_cals=0x4f, tracking_cals=0xC3"
NOTE: UHD currently expect user to input the correct init_cals and
tracking_cals. There's no mechanism to check if init mask and tracking mask are
valid. For example if the init mask field not mask 0x4f, the AD9371 will failed
to setup.
|
|
|
|
| |
Reviewed-By: Mark Meserve <mark.meserve@ni.com>
|
|
|
|
| |
Reviewed-By: Mark Meserve <mark.meserve@ni.com>
|
|
|
|
|
|
|
| |
This is a buffer for log messages, designed for getting log messages
from C++ back into Python.
Reviewed-By: Mark Meserve <mark.meserve@ni.com>
|
| |
|
|
|
|
| |
Note: The AD9371 lock sensors are only stubbed out for now.
|
|
|
|
|
| |
This commit combines code from various branches to finally enable both
UDP and Liberio transports.
|
| |
|
|
|
|
|
| |
Note: The dispatcher is not yet used at this point. However, it will
check the existence of certain devices.
|
|
|
|
| |
Dynamically generates property tree by querying MPM device for a list of updateable components.
|
|
|
|
|
|
|
| |
SPI interfaces and -lock, user EEPROM, radio regs, CPLD, dboard clock
control and GPIO expander can be initialized in Magnesium.__init__().
This shaves a little time off of the actual init() call and allows for
earlier failures.
|
|
|
|
|
|
| |
- Removed superfluous code
- Fixed most PyLint warnings
- Reordered methods to match call order
|
|
|
|
| |
Log prefixes weren't properly being set.
|
| |
|
| |
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
Now, when claiming a device, the connection type will be stored as a
string in PeriphManagerBase. This way we can read out the current
connection type even when not currently inside an RPC call.
|
| |
|
| |
|
| |
|
|
|
|
| |
Use @norpc instead. This fixes some linting issues.
|
| |
|
|
|
|
|
| |
The RPC client will now query the MPM server for details when an error
occured.
|
|
|
|
|
|
|
|
| |
- Any RPC call with uncaught exceptions will result in additional
logging on MPM side
- Adds get_last_error() API call
- get_last_error() is populated by various methods within rpc_server.py,
but also from every uncaught exception
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
-update_fpga loads the FPGA image from the base class's update_component function
-checks if FPGA image is a bit or bin file, and converts to Zynq-compatible binfile if necessary
|
|
|
|
|
|
|
|
| |
-update_component takes a byte array containing the data to be written,
and a dictionary containing the metadata of the component to be
updated
-The metadata must contain 'id' and 'filename'
-The metadata may contain an md5 hash ('md5')
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
| |
This enables the various bands for the Magnesium dboard. Note: Tx
support is not part of this commit.
|
| |
|
|
|
|
|
|
|
|
| |
- FP-GPIOs are currently unconnected, we just create the object (pending
FPGA changes)
- One ATR/GPIO controller per radio
- Internal GPIOs (controlling DSA and AD9371 gain bits) are set to
MODE_GPIO, they don't toggle on ATR state change
|
| |
|