upcoming - adsec - release: update dxadsec to include all changes in SOUL-devel (sxadsec "stable")

  • Software versions used:
    • dxadsec: latest
    • soul-sxwfs: latest
  • Software version after test:
    • sxadsec: latest
    • soul-sxwfs: latest


Currently, dxadsec is running the "mixed_mode_control" version, which is checked out from the lbto/SOUL-mix-control branch on Github. SOUL-mix-control has been tested and verified on dxadsec and has been running at night for science observations. SOUL-mix-control diverges from the main SOUL-devel branch after 2021-11-24, after which several changes were made that should be included on dx as well (see the change log below.) These changes are running on all SX machines (sxadsec, soul-sxwfs, lbti-sxwfs).

None of the changes made since 2021-11-24 need to be present on both the adsec and WFS machines, but it will make testing and checkout more straightforward to update dxadsec and soul-dxwfs at the same time. lbti-dxwfs has already been updated. soul-dxwfs has some changes by Fabio that should be included in the update first, so I recommend we wait to upgrade until we can resolve these changes.

soul-dxwfs is currently being worked on by Fabio. soul-dxwfs is running "stable," but it is in a branch called "SOUL-badOcam," which includes a "badFramesTask" auxloop to check for bad OCAM frames. This has been running at night for science. There is a pull request for SOUL-badOcam that shows the changes: #139. soul-dxwfs also has some uncommitted changes that are not in the pull request (see the git diff). I'm checking with Fabio to see what these additional changes are and if they need to be brought into a pull request.

lbti-dxwfs is also being worked on by Fabio. It is running "stable," but there are several uncommitted changes for which there is no pull request (see the git status and git diff). I'm checking with Fabio to understand these changes better and see if they need to be pulled into the main branch. I already updated lbti-dxwfs with these additional changes on top.

Change log

Here is a list of changes that have been made to SOUL-devel since 2021-11-24 and will be included in this upgrade of dxadsec and soul-dxwfs:
commit date subsystems affected process(es) description
[TBD] wfs auxloops badFramesTask auxloop (See pull request #139)
2022-06-13 adsec AdsecControl GUI disable fault recovery button (this is already on dxadsec)
2022-06-13 adsec + wfs AdSecArbitartor, WfsArbitrator give set_z0.pro an optional "BANK=" option and have asm.py's asm.set_z0 default to BANK=1 (A) on the WFS
2022-05-27 adsec + wfs adsc_stop, w_stop_all kill -9 patch: uses kill -9 to stop remaining processes if they weren't stopped with SIGTERM during shutdown. (this is already on dxadsec, but not soul-dxwfs)
2022-05-27 wfs WfsArbitrator do not turn on and home cube rotator during startup of WFS (IT 8599).
2022-05-07 adsec aoarbitrator implement "interruptible" flag to AO arbitrator commands to allow them to return successfully if they ignore interruptions from FLAOGUI or SkipFrame Alerts.
2022-05-07 wfs WfsArbitrator, CopleyCtrl return error immediately on out of range bayside movements instead of waiting for a timeout to expire - previously, if an out-of-range bayside movement was received, the WfsArbitrator would wait up to a minute for it to timeout instead of returning an error immediately.
2022-02-25 adsec AdsecArbitrator zero-pad LN reconstructor matrix at the beginning of columns - updates the loadRecMat Ice command to zero-pad the reconstructor matrix if it is smaller than the expected SOUL-sized matrix. This only affects LINC-NIRVANA.
2022-02-16 adsec FLAOGUI and AOArbitrator add "Force open loop button - adds a "Force open loop" button to the FLAOGUI which will trigger a Skip Frame Alert to be sent to the AO Arbitrator, which will cause AO Arbitrator to go into a LoopFault state from closed loop.
2022-02-08 wfs WfsArbitrator drawlib: free invalid draw objects - free invalid draw objects in optimize gain to prevent some possible memory leaks.
2022-02-07 adsec AdSecArbitrator, MasterDiagnostic log skip frame percent, which ICE client can't receive an alert during dispatch errors, and wrong filotto error frame bytes - minor changes to logging for debugging.
2022-01-31 wfs WfsArbitrator optimize gain bugfix: max_iteration parameter was ignored - allows max_iterations to be configured in autogain.conf.
2022-01-25 wfs WfsArbitrator use bestEffort=true when centering pupils on LBTI - was previously done by manually editing the WfsArbScripts.py on lbti-sxwfs.


None of the changes are side-specific, and they have all been tested and verified on SX, so I don't think additional daytime testing should be necessary and we should be able to verify the upgrade during a DEC night. We can use this test plan spreadsheet to record if there are any problems related to the upgrade.

At the beginning of the night, on dxadsec run:
use_soul latest

On soul-dxwfs, run:
use_soul latest

If there aren't any engineering tasks that require them, it might be useful to plan some tasks that make use of the following:
  1. Center pupils
  2. Optimize gain
  3. OffsetXY
  4. NCPA (apply NCPA and verify that it is being applied)

If there are no problems caused by the new versions, they can be left running on both machines and I will upgrade and switch back to "stable" on the machines the next morning (this will not require stop/start.)

If there are problems, to revert dxadsec, run:

use_soul mixed_mode_control

and to revert soul-dxwfs, run:
use_soul stable


-- BrandonMechtley - 21 Jun 2022
Topic revision: r6 - 22 Jun 2022, BrandonMechtley
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback