Releases: slaclab/pysmurf
v8.0.0
Pull Requests Since v8.0.0-rc3
Client
Firmware-change
- #800 - docker.server: Update carrier FW tag.
Bug
- #790 - Remove errant factor of 4 in
smurf_control.setup()
call toset_lms_delay()
Core
Firmware-change
- #800 - docker.server: Update carrier FW tag.
Other
Bug
- #793 - Non-forked version of PR 791 - Update versioneer for Python 3.12 compatibility.
Enhancement
- #793 - Non-forked version of PR 791 - Update versioneer for Python 3.12 compatibility.
Unlabeled
- #797 - feat(core.server_scripts.Common): Set log level and format.
- #794 - fix(client.command.cryo_card): Catch EPICS timeout on read and retry.
- #788 - Update LICENSE.txt
Pull Request Details
docker.server: Update carrier FW tag.
Author: | Shawn Henderson [email protected] |
Date: | Mon Oct 28 16:53:10 2024 -0700 |
Pull: | #800 (4 additions, 4 deletions, 1 files changed) |
Branch: | slaclab/tpm/carrier-fw |
Labels: | core, client, firmware-change |
Notes:
New firmware includes a fix to the stream FIFO that can cause it to lock up if a very large frame is encountered.
feat(core.server_scripts.Common): Set log level and format.
Author: | Shawn Henderson [email protected] |
Date: | Mon Oct 28 16:08:23 2024 -0700 |
Pull: | #797 (16 additions, 1 deletions, 2 files changed) |
Branch: | slaclab/tpm/logging |
Labels: | core, client |
Notes:
Description
Add a log handler with timestamps to capture the output of the rogue (and other) logs.
This works, but rogue is extremely verbose at the
INFO
level. It might be useful to set a more relaxed level for just thecryo-det
modules.Jira Issue
ESCRYODET-
Tests done on this branch
Function interfaces that changed
[Indicate here what is the interface that changed, preferably with a link to the code where the interface is defined]
What was the interface before the change
[Describe here how was the original interface]
What will be the new interface after the change
[Describe here how is the new interface, and what the difference with the original interface]
fix(client.command.cryo_card): Catch EPICS timeout on read and retry.
Author: | Shawn Henderson [email protected] |
Date: | Mon Oct 28 16:03:11 2024 -0700 |
Pull: | #794 (21 additions, 9 deletions, 2 files changed) |
Branch: | slaclab/tpm/cryo-card-retry |
Issues: | #792 |
Labels: | client |
Notes:
Description
Addresses issue #792
Jira Issue
N/A
Tests done on this branch
It's a simple enough fix that that testing didn't seem necessary.
Function interfaces that changed
N/A
What was the interface before the change
N/A
What will be the new interface after the change
N/A
Non-forked version of PR 791 - Update versioneer for Python 3.12 compatibility.
Author: | Shawn Henderson [email protected] |
Date: | Mon May 13 09:43:45 2024 -0700 |
Pull: | #793 (1051 additions, 431 deletions, 5 files changed) |
Branch: | slaclab/pr791-but-not-forked |
Labels: | bug, enhancement |
Notes:
Description
PR #791 isn't passing our CI. I suspect it's because the branch used to make the PR was forked from slaclab/pysmurf. Attempting here with a non-forked branch.
Remove errant factor of 4 in smurf_control.setup()
call to set_lms_delay()
Author: | Shawn Henderson [email protected] |
Date: | Wed Mar 27 23:52:22 2024 -0700 |
Pull: | #790 (28 additions, 11 deletions, 2 files changed) |
Branch: | slaclab/issue789 |
Labels: | bug, client |
Notes:
Addresses issue #789, which fixes SO issue https://github.com/simonsobs/sodetlib/discussions/423. This is an edge case that only effects users who don't provide
lmsDelay
in their pysmurf cfg files and don't run thesmurf_util.estimate_phase_delay
routine, which triggers the low level rogue setBandDelay routine (https://github.com/slaclab/cryo-det/blob/797fa80aa0e43bc4c0939921702a053f3f69ed2b/firmware/python/CryoDet/DspCoreLib/CryoDetCmbHcd/_CryoFreqBand.py#L661) which properly sets the lmsDelay register.The lmsDelay register matches the system latency for the tracking feedback. The readout has both actuator and sensor delay, so this delay is needed to compensate the feedback. Actuator delay is the delay from DSP -> synthesis filter bank -> JESD -> DAC -> RF tracked freq out. Sensor delay is the delay from RF in resonator -> ADC input -> JESD -> filter bank -> demod (edited). The delay is needed because we are playing out a FM waveform on the RF DACs and it takes microseconds to get the results. In production SMuRF firmware, lmsDelay should be set equal to refPhaseDelay, and both are integers that count 2.4 MHz ticks. If none provided in the pysmurf cfg, enforce that constraint. If provided in cfg, override with provided value.
The bug is the factor of 4 here in https://github.com/slaclab/pysmurf/blob/e8db8010a6698beedae4e55928ab858f6c7cd0d6/python/pysmurf/client/base/smurf_control.py#L551 ; the history is that the SMuRF firmware used to process four tones in every polyphase filter bank (PFB) subband, but the production firmware we use now processes only one tone in every PFB subband. The 4* was only relevant for older versions of the firmware where there was more delay due to each subband needing to do four times more processing.
lmsDelay was also increased from a 5-bit to 6-bit register here - slaclab/cryo-det@2aaedcb. Adjusted pysmurf cfg schema entry to reflect this.
No interface changes in this PR.
Update LICENSE.txt
Author: | Shawn Henderson [email protected] |
Date: | Sun Dec 24 17:33:52 2023 -0800 |
Pull: | #788 (1 additions, 1 deletions, 1 files changed) |
Branch: | slaclab/ruck314-patch-1 |
Notes:
Description
- Updating for Year 2024
Release candidate v8.0.0-rc3
Release candidate for new major release v8.0.0, do not use yet. Attempt to update smurf-pcie version used by server to latest version v3.0.2 failed ; trying new smurf-pcie version v2.0.0.1 which is based on v2.0.0 but slightly modified. Changes include fixing submodule urls.
Full Changelog: v8.0.0-rc2...v8.0.0-rc3
Release candidate v8.0.0-rc2
Release candidate for new major release v8.0.0, do not use yet. Attempting update of smurf-pcie version used by server to latest version v3.0.2. Previous versions were using older version v2.0.0.
We flew too close to the sun - this doesn't work for subtle reasons, likely related to differences in surf firmware submodule between latest smurf-pcie version and current SMuRF release versions. See https://jira.slac.stanford.edu/projects/ESCRYODET/issues/ESCRYODET-941 for details. Will revert.
Full Changelog: v8.0.0-rc1...v8.0.0-rc2
v8.0.0-rc1
Updates rogue version in dockers to v4.11.11 to allow use of latest PCIe card software driver version v5.19.1 (in slaclab/rogue#970).
Is not compatible with previously used version of PCIe card software driver v5.7.0 (32-bit versus 64-bit address API in the driver).
Release candidate for new v8.0.0, do not use yet. Incrementing major version number because of backwards incompatibility with previously used driver version v5.7.0.
Full Changelog: v7.4.0...v8.0.0-rc1
v7.4.0
Tested on TKID AC chip in SLAC DR, see tkid_v7_4_0_release_testing_20230711.ipynb for verification.
Known issues
Nothing major (besides known issues...yet).
What's Changed
- Enable hardware detection for systems running a single TKID AMC in bay 0 by @swh76 in #782
- Add TKID fw & zip file into releases, enhance server hardware detect to choose which fw & zip file to use based on which AMCs are installed in the SMuRF carrier. by @swh76 in #783
The stable server Docker image uses the following firmware and config
Does this PR break any interface?
- Yes
- No
Full Changelog: v7.3.5...v7.4.0
v7.3.5
Needs end-to-end bench and cryo testing.
Known issues
Nothing major (besides known issues...yet).
What's Changed
- ADC->DAC in y-axis label of
read_dac_data
plots. by @swh76 in #779 - Fix for overlapping title in plots produced by
check_full_band_resp
by @swh76 in #778 - Adding timeout as an option to the underlying
epics.PV.get call
with 5 sec as default by @swh76 in #781
The stable server Docker image uses the following firmware and config
Does this PR break any interface?
- Yes
- No
Full Changelog: v7.3.4...v7.3.5
v7.3.4
Known issues
- #780 - PV gets timing out / saturating max # of tries in releases > v7.1.0 due to difference between epics.caget and epics.PV.get default timeout.
What's Changed
The stable server Docker image uses the following firmware and config
Does this PR break any interface?
- Yes
- No
Full Changelog: v7.3.3...v7.3.4
v7.3.3
BROKEN! Core pysmurf instance unable to determine its version!
Known issues
Nothing major (besides known issues...yet).
What's Changed
- Minor bug fixes. by @swh76 in #774
- Drops pydm from v1.18.2 to 1.17.0. by @swh76 in #775
- Attempted fix for
pysmurf.__version__
. by @swh76 in #776
The stable server Docker image uses the following firmware and config
Does this PR break any interface?
- Yes
- No
Full Changelog: v7.3.2...v7.3.3
v7.3.2
BROKEN! Server reports bad data for critical low level routines like read_adc_data
and find_freqs
Known issues
#772 - v7.3.2 server reporting incorrect data for critical routines like read_adc_data
and find_freqs
.
#773 - Core code unable to ascertain pysmurf software version.
What's Changed
- Update to new smurf-rogue-docker release R2.9.1 which fixes server gui crash. by @swh76 in #769
- Fixing deprecated numpy.int call after numpy upgrade. by @swh76 in #771
The stable server Docker image uses the following firmware and config
Does this PR break any interface?
- Yes
- No
Full Changelog: v7.3.1...v7.3.2
v7.3.1
BROKEN! Server gui crashes & some function calls broken due to deprecation of numpy.int
in upgraded client docker - do not use!
Known issues
- #768 Server gui crashes
- #770 Some function calls like
read_adc_data
andread_dac_data
crashing becausenp.int
is no longer available in the newer numpy version now used by dockers after upgrading to Ubuntu 20.04.
What's Changed
- Reverting smurf-pcie version from v2.3.0 back to v2.0.0 in #767
The stable server Docker image uses the following firmware and config
Does this PR break any interface?
- Yes
- No
Full Changelog: v7.3.0...v7.3.1