Auto-setup (IDL)

From MCEWiki
(Redirected from Auto-tuning IDL code)
The following describes an obsolete procedure or component.  See Auto-setup for a more recent alternative.

This script tuned a squid array using the MCE. This code is no longer maintained. Please use the python auto-setup in new systems.

Overview

The steps in the tuning are roughly the following:

  1. "SA ramp": Ramp the SA feedback to select the SA output value of the lock-point (at this stage it is also possible to ramp the SA bias to find a V-phi curve of maximum amplitide).
  2. "SQ2 servo": Ramp the SQ2 feedback and servo the SA feedback to determine the SA feedback at lock-point.
  3. "SQ1 servo": For a single SQ1 in each column , ramp the SQ1 feedback and servo the SQ2 feedback to determine the SQ2 feedback at lock-point.
  4. "SQ1 ramp": For each SQ1, ramp the SQ1 feedback and determine the SA output value correction (ADC_offset) of the lock-point.

In addition to these, there is a final acquisition of a few hundred frames to evaluate the lock of each detector. This is called "frametest". Following this test, and independent of it, the servo parameters of channels known to be dead or problematic are turned off.

Tuning parameters

Most tuning parameters (such as biases, servo gains, SQ1 servo row selections) are defined in the experiment.cfg file. Contact UBC for help with this.

Auto script

Command-line access is via auto_setup_squids_sh, called like this:

 auto_setup_squids_sh <level> <cards>

Where:

  • level is one of 0,1,2 and selects what parts of the tuning to perform
    • 0 (default): full tuning of all stages of the array.
    • 1: perform only the "SQ1 servo" and the "SQ1 ramp"
    • 2: perform only the "SQ1 ramp"
  • cards is one of s,1,2,3,4, with s the default:
    • Note for "s": this will tune all *4* readout cards. 'rcs' support for systems with 2 readout cards is still in development.

IDL calling parameters

The IDL function declaration is (as of r397)

pro auto_setup_squids, COLUMN=column, ROW=row, $
     RCs=rcs, $
     interactive=interactive, text=text, $
     numrows=numrows, note=note, $
     ramp_sa_bias=ramp_sa_bias, check_bias=check_bias, $
     short=short, quiet=quiet

Parameters that continue to be supported are:

  • rcs (int array): an array of readout card numbers to tune. e.g. [1,2].
  • note (string): a string to pass to the DB registration program (for logging)
  • short (int): causes tuning of only particular stages of the array (useful for correcting minor drifts due to changing thermal or magnetic environments)
  • ramp_sa_bias (switch): forces ramping of the SA bias during the SA ramp step. This can also be controlled through experiment.cfg
  • check_bias (switch): causes the script to check for biasing of the SA and SQ2. If these are off, they are biased on and the script delays execution for a couple of minutes to let the system equilibrate.
  • quiet (int): when set to 1 or 2, reduces text output to the terminal.

Parameters that no one really uses but might still work:

  • column and row (int array): columns and rows to plot in the final frametest step.

Parameters that are probably broken or definitely meaningless:

  • interactive
  • text