Skip to content

Releases: slaclab/pysmurf

v8.0.0

29 Oct 00:08
d4f8370
Compare
Choose a tag to compare

Pull Requests Since v8.0.0-rc3

Client

Firmware-change

  1. #800 - docker.server: Update carrier FW tag.

Bug

  1. #790 - Remove errant factor of 4 in smurf_control.setup() call to set_lms_delay()

Core

Firmware-change

  1. #800 - docker.server: Update carrier FW tag.

Other

Bug

  1. #793 - Non-forked version of PR 791 - Update versioneer for Python 3.12 compatibility.

Enhancement

  1. #793 - Non-forked version of PR 791 - Update versioneer for Python 3.12 compatibility.

Unlabeled

  1. #797 - feat(core.server_scripts.Common): Set log level and format.
  2. #794 - fix(client.command.cryo_card): Catch EPICS timeout on read and retry.
  3. #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 the cryo-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 the smurf_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

27 Sep 22:18
19d236c
Compare
Choose a tag to compare
Pre-release

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

27 Sep 03:15
d5ea315
Compare
Choose a tag to compare
Pre-release

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

21 Sep 22:50
38e631b
Compare
Choose a tag to compare
v8.0.0-rc1 Pre-release
Pre-release

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

11 Jul 23:59
3ed5cb3
Compare
Choose a tag to compare

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

  • cryo-det firmware release: v1.1.1
  • cryo-det-kid firmware release: v2.0.0
  • smurf_cfg release: v2.0.0

Does this PR break any interface?

  • Yes
  • No

Full Changelog: v7.3.5...v7.4.0

v7.3.5

16 Jun 22:46
02a237b
Compare
Choose a tag to compare

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

  • cryo-det firmware release: v1.1.1
  • smurf_cfg release: v2.0.0

Does this PR break any interface?

  • Yes
  • No

Full Changelog: v7.3.4...v7.3.5

v7.3.4

30 May 21:53
ebbb769
Compare
Choose a tag to compare

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

  • Dockerfile fix so core pysmurf instance can figure out its version tag. by @swh76 in #777

The stable server Docker image uses the following firmware and config

  • cryo-det firmware release: v1.1.1
  • smurf_cfg release: v2.0.0

Does this PR break any interface?

  • Yes
  • No

Full Changelog: v7.3.3...v7.3.4

v7.3.3

30 May 20:08
d437300
Compare
Choose a tag to compare

BROKEN! Core pysmurf instance unable to determine its version!

Known issues

Nothing major (besides known issues...yet).

What's Changed

The stable server Docker image uses the following firmware and config

  • cryo-det firmware release: v1.1.1
  • smurf_cfg release: v2.0.0

Does this PR break any interface?

  • Yes
  • No

Full Changelog: v7.3.2...v7.3.3

v7.3.2

29 May 03:38
4aa21f9
Compare
Choose a tag to compare

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

  • cryo-det firmware release: v1.1.1
  • smurf_cfg release: v2.0.0

Does this PR break any interface?

  • Yes
  • No

Full Changelog: v7.3.1...v7.3.2

v7.3.1

27 May 00:14
34c2c13
Compare
Choose a tag to compare

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 and read_dac_data crashing because np.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

  • cryo-det firmware release: v1.1.1
  • smurf_cfg release: v2.0.0

Does this PR break any interface?

  • Yes
  • No

Full Changelog: v7.3.0...v7.3.1