Skip to content

v8.0.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 29 Oct 00:08
d4f8370

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