| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Use @norpc instead. This fixes some linting issues.
|
| |
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
| |
-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')
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
- Number of samples for TDC measurement bumped back up to 512 (was
previously reduced because of slow sampling speed)
- Non-functional changes: Modified formatting to pacify PyLint
|
|
|
|
| |
This increases init speed by replacing worst-case sleeps with polls.
|
|
|
|
| |
This is a convenience function for polling with sleeps and timeouts.
|
|
|
|
|
|
|
| |
On the N310, there's a penalty for calling time.sleep(). This means the
polling loop was extremely slow for polling TDC updates. Now, it simply
polls as fast as possible. Note: This could hog the bus if run outside
of an initialization sequence, where no one else is using the bus.
|
|
|
|
|
| |
- Register 0x150 bit [1] to '0'
- Change lock detect to poll operation
|
|
|
|
|
| |
- Moved AD9371 API generation around
- Fixed some PyLint warnings
|
| |
|
|
|
|
|
|
| |
This exposes two new API calls to read and write arbitrary data to the
device's EEPROM.
Please keep in mind that EEPROMs have limited write cycles!
|
|
|
|
|
|
|
|
|
|
| |
BufferFS is a serialization format with CRC checking and optional
byte-alignment for records. It allows storing arbitrary blobs, together
with a 8-character identifier, in a contiguous buffer that supports
random access. This is suitable for storing arbitrary blobs in EEPROM,
but could also support other things.
Signed-off-by: Martin Braun <martin.braun@ettus.com>
|
| |
|
|
|
|
|
|
| |
The Magnesium daughterboards have GPIO port expanders, but both have the
same udev label. In order to specify which port expander to use, we pass
in the parent udev I2c device.
|
| |
|
| |
|
|
|
|
|
| |
The setter will throw an exception though. It is supposed to be
overriden by device-specific classes.
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to this commit, device_info was always an empty dictionary on all
dboard classes. The device_info dict is now auto-populated from the
EEPROM contents, if any were provided.
Dboard classes can still opt to amend that dictionary in specific class
implementations.
Signed-off-by: Martin Braun <martin.braun@ettus.com>
|
|
|
|
|
|
| |
There are cases where we need to specify a parent device in order to
disambiguate GPIO devices with the same label. This lets you passing in
a parent udev device to clarify.
|
| |
|
|
|
|
|
| |
This is a specific override for the N310. It returns all the default
device info as a dict.
|
|
|
|
|
|
| |
MPMD binds a property for the mboard EEPROM to the appropriate RPC
calls. PeriphManager now provides default implementations for an mboard
EEPROM.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Based on feedback from ADI, updated SYSREF sequencing for
meeting deterministic latency requirements.
- Changed majority of register addresses in nijesdcore.py to
constants.
- Corrected write data to SYSREF_CAPTURE_CONTROL to produce
the correct SYSREF toggle rate inside the FPGA.
Signed-off-by: djepson1 <daniel.jepson@ni.com>
|
|
|
|
| |
Signed-off-by: djepson1 <daniel.jepson@ni.com>
|
|
|
|
| |
Signed-off-by: djepson1 <daniel.jepson@ni.com>
|
|
|
|
| |
Signed-off-by: djepson1 <daniel.jepson@ni.com>
|
|
|
|
| |
Signed-off-by: djepson1 <daniel.jepson@ni.com>
|
|
|
|
|
|
|
|
| |
- add clock shifting
- add DAC support
- modify __init__ calls for cleanup
Signed-off-by: djepson1 <daniel.jepson@ni.com>
|
|
|
|
|
|
|
|
| |
An N310 device will query all its dboards for ref lock status and
return a Boolean combination as a motherboard sensors (note: the N310
does not actually have a ref_locked sensor on the motherboard, this is
mostly for backwards-compat with UHD applications that expect a
motherboard ref lock sensor).
|
|
|
|
|
|
|
|
| |
- Motherboard sensors are automatically populated into the property
tree, they can be automatically enumerated and queried
- Daughterboard sensors have an API for querying and enumerating
sensors, but this commit does not automatically add them to the
property tree
|
|
|
|
|
|
|
|
|
|
| |
This will enable both RevC and RevD from an MPM perspective. The
revision read back from the EEPROM is used to enable the code for either
rev.
The impact on the code is limited to the port expander GPIOs. Port
expander objects are instantiated in both the N310 MPM module as well as
the n3xx_bist executable.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Reversed the incorrect logic in spidev_iface.cpp for error checking
on init_spi
- Error on failed fd creation is now valid and added a null pointer
check for fd
- ioctl read operations are now given non-const references
- Bits per word coercion check is now initialized correctly
- Coercion errors now return -ENOTSUP instead of 2
- Improved logging messages with more information
|
| |
|
|
|
|
|
|
| |
add comments
add TODOs
fix set_gain return value
|
| |
|
|
|
|
|
| |
add comment
label get_fir as const
|
|
|
|
|
| |
change error outputs
add comments to some functions
|
| |
|
| |
|
| |
|
| |
|