Simonyi SAL Scripts & Configurations¶
The following tables display the common SAL scripts used during operations with
the Simonyi Telescope. These scripts are compatible with the LOVE MTQueue
interface and include lower-level commands using run_command.py.
Scripts are available in the ts_maintel_standardscripts repository, with common and useful configurations. Refer to ts-xml to see the XML schema.
The tables contain the following information:
A simple description of the action/command that the script initiates to the appropriate CSCs.
The script name to search for in the ScriptQueue as well as a link to its GitHub documentation.
Examples of common SAL script and/or
run_command.pyconfigurations. Scripts that require empty configurations are labeled as “No Configuration..”
General Scripts¶
Command |
SAL Script |
Script Configuration |
|---|---|---|
Set Summary State CSC Component |
Note Available Simonyi Subsystems:
MTMount, MTRotator, MTHexapod:1 (Cam),
MTHexapod:2 (M2), MTM2, MTPtg, MTAOS, MTDome, MTM1M3, LSSTCamAvailable States:
STANDBY, ENABLED, DISABLED, OFFLINE |
SAL ScriptIf we want to send set_summary_state.py¶
data:
- [MTMount, DISABLED]
Or, we can use another format to send
MTAOS to STANDBY:data:
-
- MTAOS
- STANDBY
|
|
Note The name of the CSC must match the name of the CSC in Examples:
ATMCS → atmcsMTHexapod:1 → mthexapod_1 |
SAL ScriptTo use an ignore:
- mtdometrajectory
- mthexapod_1
- mtaos
Or, the components can also be written as a list: ignore: [mtdometrajectory, mthexapod_1, mtaos]
|
Check and Prepare Telescope Systems for Observing |
ensure_on_sky_readiness.py(code)
|
SAL ScriptDefault Configuration: ensure_on_sky_readiness.py¶
slew_flags = ["ACCELERATIONFORCES", "BALANCEFORCES",
"VELOCITYFORCES", "BOOSTERVALVES"]
enable_flags = [True, True, True, False]
|
Enable EAS with Different Configurations |
Note In normal operations, this command is not necessary.
Only perform this task with approval from support scientists.
|
SAL ScriptIf we want to disable the M1M3 thermal system component of the EAS: set_summary_state.py¶
data:
- [EAS, STANDBY]
- [EAS, ENABLED, "disable_m1m3ts.yaml"]
|
Scheduler¶
Command |
SAL Script |
Script Configuration |
|---|---|---|
Enable Simonyi Scheduler |
Note Properties: This loads the .yaml configuration file and can also be used to state-cycle the scheduler. |
SAL ScriptIf we want to enable the standard configuration for the LSST survey: maintel/scheduler/enable.py¶
config: fbs_config_lsst_survey.yaml
|
Start Scheduler-Driven Observations |
|
No Configuration. |
Stop Scheduler-Driven Observations |
|
No Configuration. |
Start a Testing BLOCK |
Note Properties:
Current available BLOCKs listed here. |
SAL ScriptIf we wanted to run the initial alignment for Simonyi (BLOCK-T539): maintel/scheduler/add_block.py¶
id: BLOCK-T539
|
MTM1M3¶
Path: ts_maintel_standardscripts/python/lsst/ts/maintel/standardscripts/m1m3
Command |
SAL Script |
Script Configuration |
|---|---|---|
Raise/Lower M1M3 |
/raise_m1m3.py [code]/lower_m1m3.py |
No Configuration. |
Slew Flags |
|
SAL ScriptConfiguration for normal operations: enable_m1m3_slew_controller_flags.py¶
slew_flags: [ACCELERATIONFORCES, BALANCEFORCES, VELOCITYFORCES, BOOSTERVALVES]
enable: [True, True, True, True]
To disable a specific slew flag, change the appropriate boolean to |
Enable/Disable Force Balance System |
/enable_m1m3_balance_system.py/disable_m1m3_balance_system.py |
No Configuration. |
Check M1M3 Hardpoint Breakaway |
Note Default Configuration: hardpoints: all
|
SAL ScriptTo check specific hardpoints: check_hardpoint.py¶
hardpoints: [1, 2, 4]
|
M1M3 Bump Test Any/All Actuators |
Note Default Configuration: actuators: all
ignore_actuators: []
|
SAL ScriptProvide a list of the check_actuators.py¶
actuators: [101, 102, 103, 104]
Or check actuators: all
ignore_actuators: [333, 412]
|
Enter Engineering Mode |
|
run_command.pyrun_command.py¶
component: MTM1M3
cmd: enterEngineering
|
Exit Engineering Mode |
|
run_command.pyrun_command.py¶
component: MTM1M3
cmd: exitEngineering
|
MTM2¶
Path: ts_maintel_standardscripts/python/lsst/ts/maintel/standardscripts/m2
Command |
SAL Script |
Script Configuration |
|---|---|---|
Enable/Disable M2 Closed-Loop |
/enable_m2_closed_loop.py/disable_m2_closed_loop.py |
No Configuration. |
M2 Bump Test Any/All Actuators |
Note Default Configuration: actuators: all
ignore_actuators: []
period: 60
force: 10
|
SAL ScriptWrite specific actuators in an array to bump test only those: check_actuators.py¶
actuators: [121, 160]
period: 5
force: 10
Or ignore certain actuators: ignore_actuators: [333, 412]
|
MTHexapods¶
Path: ts_maintel_standardscripts/python/lsst/ts/maintel/standardscripts/
Command |
SAL Script |
Script Configuration |
|---|---|---|
Enable/Disable Compensation Mode |
enable_hexapod_compensation_mode.py [code]disable_hexapod_compensation_mode.pyNote Default Configuration applies to both hexapods: components: ["M2Hexapod", "CameraHexapod"]
|
SAL ScriptFor M2 Hexapod only: enable_hexapod_compensation_mode.py¶
components:
- M2Hexapod
For Camera Hexapod only: components:
- CameraHexapod
|
Reset M2/Camera Hexapod Positions |
Note For Camera Hexapod use |
run_command.pyrun_command.py¶
component: MTHexapod:2
cmd: move
parameters:
x: 0
y: 0
z: 0
u: 0
v: 0
w: 0
x, y, z position in microns and u, v, w rotation in degrees. |
Offset M2/Camera Hexapods |
offset_camera_hexapod.pyoffset_m2_hexapod.pyNote Properties:
x, y, z, u, v, and reset_axes.x, y, z position in microns and u, v rotation in degrees.
|
SAL ScriptReset the positions before applying offsets in x, z and u axes: offset_camera_hexapod.py¶
x: 1
z: 3
u: 0.23
reset_axes: true
To reset offsets from all axes: reset_axes: "all"
Or to reset only certain axes: reset_axes: ["x", "z", "u"]
|
Change Hexapod YAML Configuration |
Note In normal operations, this command is not necessary.
Only perform this task with approval from support scientists.
|
SAL Scriptset_summary_state.py¶
data:
-
- MTHexapod:1
- Standby
-
- MTHexapod:1
- Enabled
- laser_rotation_elevation_v18.yaml
-
- MTHexapod:2
- Standby
-
- MTHexapod:2
- Enabled
- laser_rotation_elevation_v18.yaml
|
MTRotator¶
Path: ts_maintel_standardscripts/python/lsst/ts/maintel/standardscripts/mtrotator
Command |
SAL Script |
Script Configuration |
|---|---|---|
Move Rotator Angle |
Note
|
SAL ScriptTo move the rotator to -45 deg: move_rotator.py¶
angle: -45
|
Stop Rotator |
|
No Configuration. |
MTMount¶
ts_maintel_standardscripts/python/lsst/ts/maintel/standardscripts/ts_maintel_standardscripts/python/lsst/ts/maintel/standardscripts/mtmountCommand |
SAL Script |
Script Configuration |
|---|---|---|
Home TMA Axes |
Note Requires MTDome CSC in
ENABLED or DISABLED.Script enables M1M3 force balance system and M2Hex and Cam Hex compensation mode.
It also offers the option to move to another position and home again.
|
SAL ScriptTo home both axes at the position Az = 1 deg and El = 46 deg: home_both_axes.py¶
final_home_position:
az: 1
el: 46
The position (Az: 1, El: 46) was chosen to be run every time we home the axes, to avoid offsets inconsistency when homing at different positions. |
Move TMA Point-to-Point |
p1/move_p2p.py [code]Note Default Configuration: pause_for: 0
move_timeout: 120.0
|
SAL ScriptSelect a single point in Az (deg), El (deg) or in RA (hrs), Dec (deg): move_p2p.py¶
az: 70
el: 70
ra: 4.59867
dec: 16.5092
If slewing to more than one target, use an array and the az: [70, 90, 110]
el: [70, 70, 70]
pause_for: 30
ra: [4.59867, 20.2, "12:20:56.5"]
dec: [16.5092, 10.1, "-13:34:04.5"]
pause_for: 15
Note For (RA, Dec) arrays, sexagesimals may be added as strings. |
Point (Az, El) |
Note Default Configuration: rot_tel: 0.0
target_name: "AzEl"
wait_dome: false
slew_timeout: 240.0
|
SAL ScriptTo point the telescope at Az = 80 deg and El = 80 deg: point_azel.py¶
az: 80
el: 80
|
Track Target |
Note Default Configuration: offset: {x: 0, y: 0}
differential_tracking: {dra: 0.0, ddec: 0.0}
rot_type: "SkyAuto"
rot_value: 0
track_for: 0
stop_when_done: false
az_wrap_strategy: "OPTIMIZE"
slew_timeout: 240
|
SAL ScriptSlew and track ICRS RA, Dec coordinates.
RA in hours (0, 24), DEC in degrees (-90, +90):
track_target.py¶
slew_icrs:
ra: 20.2
dec: 10.1
RA, DEC in sexagesimals (as strings):
slew_icrs:
ra: "12:20:56.5"
dec: "-13:34:04.5"
Slew to Az, El and start tracking:
track_azel:
az: 65
el: 45
Slew and track a target name:
target_name: HD150798
Find a target based on AzEl and magnitude limit:
find_target:
az: 65
el: 25
mag_limit: 8
|
Stop Telescope Tracking |
p1/stop_tracking.py [code] |
No Configuration. |
Open/Close Mirror Covers |
Note
|
No Configuration. |
Change TMA Performance Settings |
Note Remember to restore to default, as the settings are cumulative. |
run_command.pyTo set MTMount to 10% performance settings: run_command.py¶
cmd: applySettingsSet
component: MTMount
parameters:
restoreDefaults: true
settings: 10percentperformance
|
Restore TMA to Default Settings |
|
run_command.pyrun_command.py¶
component: MTMount
cmd: restoreDefaultSettings
|
Unpark Mount |
|
No Configuration. |
Park Mount |
DO NOT USE! Currently in testing as of Aug 13, 2026. |
No Configuration. |
MTAOS¶
Path: ts_maintel_standardscripts/python/lsst/ts/maintel/standardscripts/
Command |
SAL Script |
Script Configuration |
|---|---|---|
Issue MTAOS Correction |
|
run_command.pyrun_command.py¶
component: MTAOS
cmd: issueCorrection
|
Reset MTAOS Correction |
|
run_command.pyrun_command.py¶
component: MTAOS
cmd: resetCorrection
|
Reset Applied Offsets to Degrees of Freedom (DOF) |
|
run_command.pyrun_command.py¶
component: MTAOS
cmd: resetOffsetDOF
|
Enable/Disable AOS closed-loop |
SAL ScriptDefault Configuration: enable_aos_closed_loop.py¶
truncation_index: 12
used_dofs: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,30,31,32,33,34]
Higher selectivity of DOFs, truncation, zernikes, etc. can be done, with the approval of the AOS team: used_dofs: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
truncation_index: [2]
zn_selected: [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 20, 21, 22, 27, 28]
|
|
Set Telescope DOFs |
Note To ignore specific components: ignore:
- mtmount
- mthexapod_1
- mthexapod_2
- mtrotator
|
SAL ScriptSelect DOFs from a previous image: set_dof.py¶
day: 20250630
seq: 457
Apply individual DOFs (microns or arcsec): # Example: M1M3 bending mode 16
M1M3_B16: 0.3
# Example: M2 hexapod offset in x
M2_dx: 5
Apply multiple DOFs (50-dimensional vector):
dofs: [0.0, 1.0, 2.0, 3.0, 4.0,
5.0, 6.0, 7.0, 8.0, 9.0,
10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0,
20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0,
30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0, 38.0, 39.0,
40.0, 41.0, 42.0, 43.0, 44.0, 45.0, 46.0, 47.0, 48.0, 49.0]
|
Apply DOFs to Telescope |
|
Same configurations as |
Run Closed-Loop System on AOS |
|
SAL ScriptHigher selectivity of script parameters can be done, with the approval of the AOS team. close_loop_lsstcam.py¶
exposure_time: 15
max_iter: 5
mode: "FAM"
program: "BLOCK-T249"
note: "initial_focus_dzs_tilts_bending_modes"
used_dofs: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 22, 23, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 45, 46]
apply_corrections: true
use_ocps: true
filter: "r_03"
|
Offset M2/Camera Hexapods (PSF Focus) |
offset_m2_hexapod.pyoffset_camera_hexapod.py |
SAL ScriptIf the first image shows a donut rather than a PSF, adjust by hand.
Change the camera hexapod z by Dz = [(donut diameter in pixels) * 12] microns.
offset_camera_hexapod.py¶
z: -Dz
If that makes things worse (bigger donuts):
z: +2 x Dz
|
Take Triplet Sequence with LSSTCam |
Note Default Configurations: filter: current_filter
exposure_time: 30
dz: 1500
n_sequences: 1
mode: TRIPLET
program: AOSSEQUENCE
|
SAL ScriptThe following is an example AOS sequence used in testing: take_aos_sequence_lsstcam.py¶
filter: z_20
exposure_time: 10
dz: 800
mode: TRIPLET
program: AOSSEQUENCE
reason: "test"
|
MTDome¶
Path: ts_maintel_standardscripts/python/lsst/ts/maintel/standardscripts/mtdome
subSystemId enumerations in MTDome XML:
Azimuth Motion Control System (AMCS) =
0x1Aperture Shutter Control System (APSCS) =
0x4Louvers (LCS) =
0x8
Command |
SAL Script |
Script Configuration |
|---|---|---|
Enable/Disable Dome Following Mode |
/enable_dome_following.py [code]/disable_dome_following.py |
No Configuration. |
Offset Dome Azimuth |
|
SAL ScriptUnits of offset_dome.py¶
offset: 10
|
Slew Dome in Azimuth |
|
SAL ScriptUnits of
az in degrees.If needed, CSC components can be ignored with the
ignore parameter.slew_dome.py¶
az: 70
ignore:
- mtmount
- mthexapod_1
- mthexapod_2
|
Park/Unpark Dome |
SAL ScriptIf needed, CSC components can be ignored with the park_dome.py¶
ignore:
- mtm1m3
- mtm2
- mtaos
- mtdometrajectory
- mthexapod_1
- mthexapod_2
|
|
Open/Close MTDome |
/open_dome.py [code]/close_dome.pyNote Both scripts have the The dome can also open/close via a direct override using a |
SAL ScriptNo Configuration., but you can ignore CSCs with the open_dome.py¶
force: false
ignore:
- mtm1m3
- mtm2
- mtaos
- mtdometrajectory
- mthexapod_1
- mthexapod_2
- mtmount
- mtptg
- mtrotator
To open the dome with a run_command.py¶
component: MTDome
cmd: openShutter
To close the dome with a component: MTDome
cmd: closeShutter
|
Open/Close Dome Louvers |
Note The array values are between 0.0 (closed) and 100.0 (fully open).
Louver Index (0-based):
[A1, A2, B1, B2, B3, C1, C2, C3, D1, D2, D3,
E1, E2, E3, F1, F2, F3, G1, G2, G3, H1, H2,
H3, I1, I2, I3, L1, L2, L3, M1, M2, M3, N1, N2]
|
run_command.pyIf one wants to open the mechanical louvers highlighted in bold in the Louver Index: run_command.py¶
component: MTDome
cmd: setLouvers
parameters:
position: [0.0, 0.0, 100.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 100.0, 100.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0,
100.0, 100.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 100.0,
0.0, 0.0, 0.0, 0.0]
To close all louvers: run_command.py¶
component: MTDome
cmd: closeLouvers
Alternatively, one can use the |
Stop Dome and Engage Brakes |
Note Dome
|
run_command.pyrun_command.py¶
component: MTDome
cmd: stop
parameters:
engageBrakes: true
subSystemIds: 0x1
|
Recover from Dome Azimuth Fault |
Note The script does the following:
|
No Configuration. |
Clear Dome Subsystem Fault |
run_command.pyNote Command will also reset dome/shutter drives (see below) internally when attempting to clear faults on those subsystems. Dome
|
run_command.pyMost common subsystem fault is the Dome Azimuth Drives: run_command.py¶
component: MTDome
cmd: exitFault
parameters:
subSystemIds: 0x1
|
Reset Dome Azimuth Drives |
|
run_command.pyTo reset all dome azimuth drives: run_command.py¶
component: MTDome
cmd: resetDrivesAz
parameters:
reset: [1,1,1,1,1]
|
Reset Dome Shutter Drives |
|
run_command.pyTo reset all dome shutter drives: run_command.py¶
component: MTDome
cmd: resetDrivesShutter
parameters:
reset: [1,1,1,1]
|
Home Dome Azimuth |
Note Required:
physical_az (azimuth position as read by markings inside the dome). |
SAL ScriptIf the dome is parked, and its physical azimuth reads 310 deg, instead of its true home position (328 deg): home_dome.py¶
physical_az: 310
ignore:
- mtm1m3
- mtm2
- mtaos
- mtdometrajectory
- mthexapod_1
- mthexapod_2
- mtmount
- mtptg
- mtrotator
|
Home Dome Shutter |
|
run_command.pyRemember to include the run_command.py¶
component: MTDome
cmd: home
parameters:
subSystemIds: 0x4
|
Set Dome Shutter to Degraded Mode |
Note Dome operational modes:
|
run_command.pyRemember to include the run_command.py¶
component: MTDome
cmd: setOperationalMode
parameters:
operationalMode: 2
subSystemIds: 0x4
|
Rotate Dome at Constant Velocity |
Note Includes
Default Configuration: direction: ClockWise
|
SAL ScriptIf we want to move the dome counter-clockwise at a rate of 0.5 deg/second: crawl_az.py¶
direction: CounterClockWise
velocity: 0.5
|
LSSTCam¶
Path: ts_maintel_standardscripts/python/lsst/ts/maintel/standardscripts/
Command |
SAL Script |
Script Configuration |
|---|---|---|
Enable LSSTCam |
DO NOT USE! Not available as of Aug 13, 2026. |
No Configuration. |
Standby LSSTCam |
DO NOT USE! Not available as of Aug 13, 2026. |
No Configuration. |
Execute Focus Sweep |
Note Properties with Default Configurations: sim: false
hexapod: Camera
filter: null
exp_time: 10
axis: ["x", "y", "z", "u", "v"]
focus_window:
n_steps:
focus_step_sequence:
n_images_per_step: 1
program: FOCUS_SWEEP
reason: null
ignore:
Units for |
SAL ScriptRequired for defined focus window — use
axis, focus_window and n_steps:focus_sweep_lsstcam.py¶
axis: z
focus_window: 300
n_steps: 9
program: "BLOCK-T92"
hexapod: "Camera"
reason: "focus_sweep_cam_dz"
Or required for chosen steps — use
axis and focus_step_sequence:axis: "y"
focus_step_sequence: [200, 50, -50, 200]
hexapod: "M2"
reason: "Sweep in y"
|
Change Filter |
Warning MTMount and MTRotator CSCs must be |
SAL ScriptThe change_filter_lsstcam.py¶
filter: z_20
|
Take Image |
Note Typical Configurations Include: filter: # Current Filter.
nimages: # (Optional) Number of images.
exp_times: # Number of seconds (scalar or array).
image_type: # One of ["BIAS", "DARK", "FLAT",
# "OBJECT", "ENGTEST", "ACQ",
# "SPOT", "CWFS", "FOCUS"].
reason: # (Optional) Short reason for image(s).
program: # (Optional) Test case used for the images.
note: # (Optional) Additional notes to add.
Required Parameters: |
SAL ScriptTake a single five-second bias image: :caption: take_image_lsstcam.py
image_type: BIAS
exp_times: 5
Take two five-second flat images (with a reason): image_type: FLAT
exp_times: 5
nimages: 2
reason: "flat_test"
Take a single one-second acquisition image for a test case: image_type: ACQ
exp_times: 1
program: "BLOCK-TXXXX"
Take a single 30-second engineering test image: image_type: ENGTEST
exp_times: 30
nimages: 1
|
Track Target and Take Image |
|
SAL ScriptAll of the following parameters are required:
track_target_and_take_image_lsstcam.py¶
ra: # ICRS right ascension (hour) in decimal hours or sexagesimal strings.
dec: # ICRS declination (deg) in decimal hours or sexagesimal strings.
rot_sky: # The position angle (deg) in the sky.
name: # Target name.
obs_time: # Time given for starting the slew
num_exp: # Number of exposures.
exp_times: # Array of exposure times in seconds.
band_filter: # Filter used for observation.
|
Take Stuttered Sequence |
|
Configuration can be found in take_stuttered_lsstcam.py source. |
Take AOS Triplet Sequence |
Note Default Configurations: filter: # Current filter.
exposure_time: 30
dz: 1500
n_sequences: 1
mode: TRIPLET
program: AOSSEQUENCE
Units for |
SAL ScriptOne can always add a take_aos_sequence_lsstcam.py¶
filter: z_20
exposure_time: 10
dz: 800
mode: TRIPLET
program: AOSSEQUENCE
reason: "test"
|
LaserTracker¶
Command |
SAL Script |
Script Configuration |
|---|---|---|
Align the TMA to the Calibration Screen |
Note The LaserTracker alignment of the Calibration Screen is now done by
using Default Configuration: max_iter: 10
tolerance_linear: 0.0001 # in meters
tolerance_angular: 0.00138 # in deg (~5 arcsec)
target: "M2"
# Target Options (REQUIRED):
# "M2", "Camera", or "CALIBRATION_SCREEN"
|
SAL ScriptTo align to the calibration screen with a 0.01 deg angular tolerance: laser_tracker/align.py¶
target: CALIBRATION_SCREEN
tolerance_angular: 0.01
reason: "Align TMA to Calibration Screen"
program: "BLOCK-T495"
|
Park the LaserTracker |
Note The LaserTracker parking command is now done by
using |
run_command.pyTo park the lasertracker at the p2 point on M1M3: run_command.py¶
component: LaserTracker:1
cmd: measurePoint
parameters:
collection: A
pointgroup: M1M3
target: p2
|
MTCalSys¶
CSC |
Command |
SAL Script |
Script Configuration |
|---|---|---|---|
General |
Open/close MTReflector |
|
run_command.pyTo open MTReflector run_command.py¶
component: MTReflector
cmd: open
To close the reflector, use |
Park the Calibration Projector |
|
No Configuration. |
|
Setup LEDProjector for White Light Flats |
Note Default Configuration: sequence_name: "whitelight_u_source"
ignore: ['TunableLaser','LinearStage:104',
'CBP','Electrometer:101','Electrometer:102',
'FiberSpectrograph:101', 'FiberSpectrograph:102']
|
SAL ScriptWe can change the setup_whitelight_flats.py¶
sequence_name: 'laser_functional'
ignore: ['LinearStage:104', 'CBP',
'Electrometer:102','Electrometer:101',
'FiberSpectrograph:101','FiberSpectrograph:102']
|
|
Take Specified Whitelight Flats |
Note Default
sequence_names: ["daily"] will run for all installed filters available (g, r, i, z, and u/y).Metadata parameters available:
note, reason, and program. |
SAL ScriptThe following is an example of a specific type Photon Transfer Curve (PTC) script used, where the data is collected for the test case BLOCK-T572: take_whitelight_flats_lsstcam.py¶
sequence_names: ['low_level_ptc']
reason: "low_level_led_ptc"
program: "BLOCK-T572"
|
|
CBP |
Move the CBP to (Az, El) Position |
Note The
azimuth and elevation parameters require floating point numbers measured in degrees.Limits:
Az: [-45.0 to 45.0 deg]
El: [-69.0 to 45.0 deg]
|
run_command.pyIf we want to move the CBP to Az = -0.05 deg and El = -46.5 deg: run_command.py¶
component: CBP
cmd: move
parameters:
azimuth: -0.05
elevation: -46.5
|
Change the CBP Mask |
Note There are 5 masks to characterize the beam projection. These are represented by strings of numbers:
Selection of the mask type for a test case is determined typically by calibration team. |
run_command.pyIf we want to change the current CBP mask to mask position 1: run_command.py¶
component: CBP
cmd: changeMask
parameters:
mask: '1'
|
|
Rotate the CBP Mask |
Note Rotation is between 1 deg and 360 deg. |
run_command.pyIf we want to rotate the CBP mask to 96.5 deg: run_command.py¶
component: CBP
cmd: changeMaskRotation
parameters:
mask_rotation: 96.5
|
|
Set CBP Focus |
Note Focus is measured in microns, and its range is [0, 13000] microns. |
run_command.pyIf we want to set the focus to 3800 microns: run_command.py¶
component: CBP
cmd: setFocus
parameters:
focus: 3800
|
|
Park CBP |
Note The CBP moves to elevation -70 deg, and it locks its motors when parking. |
run_command.pyrun_command.py¶
component: CBP
cmd: park
|
|
Tunable Laser |
Set Tunable Laser Wavelength |
Note Laser wavelengths are measured in nanometers (nm), and the range is between 350 - 1100nm during normal operations. |
run_command.pyTo change the laser wavelength to 750nm: run_command.py¶
component: TunableLaser
cmd: changeWavelength
parameters:
wavelength: 750
|
Set Laser Output Configuration |
Note Available optical configurations are located in the XML documentation. |
run_command.pyTo set the configuration to F2 SCU: run_command.py¶
cmd: setOpticalConfiguration
parameters:
configuration: F2 SCU
|
|
Change Tunable Laser Mode |
Note There are two available laser modes: Burst Mode ( |
run_command.pyTo set the tunable laser to burst mode: run_command.py¶
component: TunableLaser
cmd: setBurstMode
|
|
Start/Stop Tunable Laser Propagation |
Note It is required to set the laser mode (burst/continous) first before activating the laser propagation. |
run_command.pyTo start propagation: run_command.py¶
component: TunableLaser
cmd: startPropagateLaser
To stop propagation, set |
This procedure was last modified on Aug 13, 2026.