| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Adding the following sensors:
- Catalina temperature, RSSI, and LO Lock sensors
- GPS lock, time, TPV, and SKY sensors
Co-authored-by: Brent Stapleton <brent.stapleton@ettus.com>
|
|
|
|
| |
Co-authored-by: Sugandha Gupta <sugandha.gupta@ettus.com>
|
| |
|
|
|
|
|
|
|
| |
All code relevant to initializing an N310/N300 daughterboard is moved to
its own module (mg_init.py).
No functional changes.
|
| |
|
|
|
|
|
|
|
|
|
| |
- Refactoring component (FPGA, DTS) updating functions out of
n3xx.py into their own components.py. The ZynqComponent class now
defines the methods to update these two components.
- Adding super().__init__() to the PeriphManagerBase class. This is
needed to get the multiple inheritance used in N3XX now to work, and
(apparently) good Python practice.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Refactoring GPSd interface to be instead wrapped by a
GPSDIfaceExtension class. This class will faciliate "extending" an
object, allowing that object to call the GPSDIfaceExtension methods as
their own.
- New MPM devices (or whatever else) can now use the GPSDIfaceExtension
class instead of writing their own GPSDIface handling functions.
- N3XX now instantiates a GPSDIfaceExtension object, and extends
itself. This means that an n3xx object can call the `get_gps_time`
method as its own, for example.
- N3XX must get through initialization in order for the GPSd methods
to be registered.
|
|
|
|
|
|
| |
Moving the RFNoC crossbar base port to the class overridables. MPM
devices may need to reserve different numbers of ports for non-blocks;
this can now be done by overriding the crossbar_base_port.
|
|
|
|
| |
- change scoping of product_map in n3xx
|
| |
|
|
|
|
|
|
| |
Since there is no simple mapping from an arbitrary tuple of mboard- and
dboard info dictionaries, we use generate_device_info() to figure out
the product key.
|
|
|
|
|
|
| |
In the N3xx series, the motherboard ID and the device ID can differ. For
example, the N310 could share the same motherboard with a different
device that uses different daughterboards.
|
| |
|
|
|
|
|
| |
The readout of EEPROMs is moved to their own functions. This will allow
us to read out EEPROM values before starting the initialization.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Bump maximum supported motherboard revision to 5 (RevF),
to support upcoming motherboard revisions.
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
| |
|
|
|
|
| |
Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
|
| |
|
|
|
|
| |
Reviewed-by: Martin Braun <martin.braun@ettus.com>
|
|
|
|
|
|
| |
Adding address offset to all MBoard and DBoard EEPROM reads. This
matches what we're doing for the user portion of the EEPROM, and
allows us to share access to an EEPROM.
|
| |
|
| |
|
|
|
|
|
| |
The N300-variant has no front-panel LO connectors, so we need to warn
ther user when trying to use them.
|
|
|
|
| |
No functional changes.
|
|
|
|
|
|
| |
The log output at level 'INFO' was pretty cluttered. This cleans up the
log messages at the higher levels. In some cases, log message typos or
capitalizations were also fixed.
|
|
|
|
|
| |
This module (and class) are, in fact, used for all N3xx-derivates so
renaming it is the more correct thing to do.
|
| |
|
|
|
|
|
|
|
| |
The FPGA and MPM version as well as the description of the device
("N300-Series Device") and its name (its the hostname) are now properly
reported coming from MPM, properly saved in the prop tree, and
uhd_usrp_probe can nicely display them this way.
|
|
|
|
|
| |
This allows flawless execution of code paths regardless of
initialization status.
|
|
|
|
|
| |
Other components assume the existence of mgr.dboards, and so it needs to
be default-initialized before doing any code that can go wrong.
|
| |
|
|
|
|
|
|
|
|
|
| |
-Adding MboardRegsControl.get_fpga_type(), which reads the SFP info
registers and determines the FPGA image type (HG, XG, AA, etc). This is
a minor FPGA compat number bump.
-Adding N310._update_fpga_type(), which updates the component
information using the get_fpga_type() function described above. This
information can then be accessed through get_component_info().
|
|
|
|
|
| |
Add getter function for updateable component information. This is a
minor compat number bump.
|
|
|
|
|
| |
- Fix typo in company name (missing 'a')
- Updated SPDX license identifier to version 3.0
|
|
|
|
|
|
|
| |
The lines removed here are no longer needed, get rid of them
Suggested-by: Martin Braun <martin.braun@ettus.com>
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to match the front panel 0 and 1 for the SFPs, as well as for
clarity and consistency reasons, udev rules will be put onto future
filesystems in order to rename the eth1 eth2 devices to sfp0 and sfp1.
This change *should* be backwards compatible, nevertheless, be careful
and bump compat number.
This also updates the uhd image loader manifest.
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
| |
|
|
|
|
|
|
|
|
| |
- Allow to set default args via config file
- Read them from prefs API
- override-db-pids uses the same APIs now ([overrides] section in
config file, prefs API, and same dictionary as --default-args when
used on the command line
|
|
|
|
| |
Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
|
| |
|
|
|
|
|
|
|
| |
Adding helper function to parse strings to a boolean value. We can
then use that function to parse MPM's default_args, and set enable_gps
and enable_fp_gpio. This replaces the usages of the Python builtin
bool(), which returns True for any non-empty string.
|
|
|
|
|
|
| |
- Bumped compat number for e3xx, n230, x3xx, n3xx
- Updated images package for e3xx, n230, x3xx, n3xx
- Updated fpga-src submodule
|
| |
|
|
|
|
|
|
|
|
| |
- When clock source is set, but time source is not, still set time
source to guarantee correct ref clock freq
- Enable unconditional setting of time source
Reviewed-by: Daniel Jepson <daniel.jepson@ettus.com>
|
| |
|
| |
|
|
|
|
| |
- Updated fpga-src submodule pointer
|
|
|
|
|
|
| |
When trying to run init(), mpmd will first query the initialization
status of the MPM device. If it is found to be in a bad state, it will
not go forward with initialization, but instead print the error message.
|