Version History¶
v2.1.0 (2025-08-25)¶
New Features¶
Prepare BaseBlockScript for deprecation (DM-46469)
Add script to send
MTCSandLSSTCamCSCs to End-of-Night State (DM-48225)Add SAL script to perform a filter-change operation for LSSTCam. (DM-49257)
Add script to track target and take image with LSSTCam. (DM-49337)
Add test for the ignore feature of
BaseTrackTargetAndTakeImage. (DM-49502)Add abstract
tcsproperty toBaseTakeImageto provide access to the script’s TCS instance. (DM-49502)Add ignore feature to
BaseTakeImage. (DM-49502)Add executables to open and close the MTDome shutter. (DM-49506)
Add
enable_aos_closed_loop.pyanddisable_aos_closed_loop.pymaintel executable tests. (DM-49527)In
base_track_target_and_take_image.py, add option to passnoteto configuration. (DM-49700)Add script to enable LSSTCam components. (DM-49921)
In set_summary_sate, make muting alarms when sending CSCs to offsline the default. (DM-49954)
Abstract oods in take_aos_sequence. (DM-49954)
Add ignore feature to
base_track_target_and_take_image.py(DM-49954)Added executable for the
maintel/ensure_onsky_readiness.pyscript. (DM-50862)In base_track_target.py and base_track_target_and_take_images.py, update schema description to include examples for valid ra/dec coordinates. (DM-50986)
Create a documentation list of SAL scripts with a short description (DM-51012)
In
base_take_image.py, add configurable option to sleep in between images. (DM-51095)Allow
base_point_azel.pyscript to receive only one axis. (DM-51170)Add
offset_domescript that performs a relative movement of the MTDome. (DM-51171)Add check to prevent scheduler scripts to run on different queues. (DM-51469)
Ensure scripts used to take calibrations for SimonyiTel are enforcing the required MTCS state. (OSW-897)
Bug Fixes¶
Performance Enhancement¶
Abstracting AOS sequences in base_take_aos_sequence.py (DM-49514)
API Removal or Deprecation¶
Remove dependencies on
lsst.ts.idland uselsst.ts.xmlinstead. (DM-50775)
Other Changes and Additions¶
Adds a tearDown method to the BaseScriptTestCase class that cleans up the broker after the test is executed. (DM-49643)
Updates the check_executable method in BaseScriptTestCase to add a flag that controls whether it will fully test the executables or just do a quick check. (DM-49643)
In maintel/m2: - Rename enable_closed_loop.py to enable_m2_closed_loop.py - Rename disable_closed_loop.py to disable_m2_closed_loop.py (DM-51230)
v2.0.1 (2025-03-11)¶
New Features¶
Updates the
SetDesiredState.set_state_to_standbymethod to wait for summary state event after sending the CSC to Standby. (DM-49122)
v2.0.0 (2025-03-10)¶
Breaking Features¶
Updated to retain only core functionality, with maintel and auxiliary telescope logic split out to
ts_maintel_standardscriptsandts_auxtel_standardscriptsrepos respectively. (DM-47293)
New Features¶
New script to turn the Tunable Laser off, i.e. stop propagating (DM-45743)
Update the implementation of the ignore feature in all scripts to use the
RemoteGroup.disable_checks_for_componentsmethod.Updated scripts: -
enable_group.py-offline_group.py-auxtel/disable_ataos_corrections.py-auxtel/prepare_for/onsky.py-auxtel/prepare_for/co2_cleanup.py-auxtel/enable_ataos_corrections.py-standby_group.py-base_point_azel.py-base_track_target.py-base_focus_sweep.py-maintel/apply_dof.py-maintel/offset_camera_hexapod.py-maintel/offset_m2_hexapod.py-maintel/close_mirror_covers.py-maintel/mtmount/unpark_mount.py-maintel/mtmount/park_mount.py-maintel/base_close_loop.py-maintel/open_mirror_covers.py-maintel/move_p2p.py-maintel/mtdome/slew_dome.py-maintel/mtdome/home_dome.py-maintel/take_image_anycam.py-maintel/take_aos_sequence_comcam.py(DM-47619)In
maintel/m1m3/enable_m1m3_slew_controller_flags.py, updaterun_block`method to use newm1m3_in_engineering_mode`context manager to enter/exit engineering mode when setting slew controller settings. (DM-47890)Added new property
disable_m1m3_force_balancewith defaultfalse. Maintains the ability to disable the M1M3 balance system, in case the coupling effect between the elevation axis and m1m3 support system, repeats again, driving the system to a huge oscillation (DM-48022)
Bug Fixes¶
In
auxtel/daytime_checkout/slew_and_take_image_checkout.py, fix how TCS readiness is configured. (DM-47890)
API Removal or Deprecation¶
Deprecate
ignore_m1m3property. (DM-48022)
Other Changes and Additions¶
Fix unit tests for TakeImageLatiss and ATGetStdFlatDataset to work with new take_image command procedure. (DM-47667)
v1.40.0 (2024-12-05)¶
New Features¶
Use the new method
ATCS.assert_ataos_corrections_enabledin auxtel scripts (DM-38823)Add
ParkDomeSAL Script formaintel. (DM-45609)Add
UnparkDomeSAL Script formaintel. (DM-45610)New SalScript for powering on the Tunable Laser standalone (DM-45729)
In
offset_camera_hexapod.pyandoffset_m2_hexapod.py:Added an option to reset hexapod offsets before applying new ones. This ensures that the offsets are first reset to zero before applying the user-provided offsets.
Added an option to reset hexapod offsets to zero without performing any additional actions. This allows the user to reset the hexapod offsets to zero without applying new offsets. (DM-45817)
Add SAL script to slew main telescope dome to a desired azimuth. (DM-45821)
Establish
µmas the unit for hexapod offsets (configuration attributesfocus_windowandfocus_step_sequence) inBaseFocusSweepand implement conversion tommfor AuxTel inFocusSweepLatiss. (DM-45823)Extend TCS readiness check to other image types beyond OBJECT, such as: ENGTEST, CWFS and ACQ.
Configure TCS synchronization to the following script: - auxtel/daytime_checkout/slew_and_take_image_checkout.py - auxtel/take_image_latiss.py - maintel/take_image_comcam.py - maintel/take_image_lsstcam.py - maintel/take_triplet_comcam.py (DM-46179)
Added expected_final_state argument to run_script method in BaseScriptTestCase
We use this argument to test the overall state of the script execution. expected_final_state defaults to ScriptState.DONE if not passed. (DM-46179)
Now maintel/base_close_loop receives the
wep_configattribute as an object. (DM-46180)In check_actuators.py, refractor loop to store failures and add unit test. (DM-46201)
Add open and close mirror covers SAL Scripts for
maintel. (DM-46309)Add infocus image in closed_loop script. (DM-46978)
In maintel/base_close_loop, take_intra_extra_focal_images to wait for images to be ingested before returning. (DM-46978)
Update maintel/take_image_lsstcam to add option to setup Guider ROI. (DM-46978)
Add SAL scripts to park and unpark the TMA for
maintel. (DM-46979)Add home dome SAL Script for
maintel. (DM-46980)Add option to mute watcher alarms when setting CSCs to OFFLINE
Added
mute_alarmsandmute_durationparameters to theset_summary_statescript configuration.mute_alarmsdefaults toFalsemute_durationdefaults to30 mins- E.g.
- data:
MTMount
Offline
mute_alarms: true
or
- data:
MTMount
Offline
mute_alarms: true mute_duration: 60.0
When
mute_alarmsis enabled and a component is transitioned to OFFLINE, related watcher alarms are temporarily muted for the specified duration, defaulting to 30 minutes.Muting is applied only to components transitioning to OFFLINE state. (DM-47086)
Add new
set_dof.py`to set absolute DOF position (DM-47363)In
base_track_target.py, add log to debug check feature. (DM-47381)In
base_track_target_and_take_image.py, add instrument name to metadata and propagate to instrument scripts. (DM-47381)In
track_target_and_take_image_comcam.py, add StateTransition usages to MTCS and ComCam usages. (DM-47381)In
track_target_and_take_iamge_comcam.py, simplify the _handle_slew_and_change_filter method. (DM-47381)In
base_track-target_and_take_image.py, add support for single filters or array of filters in metadata. (DM-47381)In
base_close_loop.py, add gain_sequence. (DM-47381)In
maintel/take_aos_sequence_comcam.py, use all topics from the camera. (DM-47381)Add support for ignoring
MTCScomponents in open and close mirror covers operation. (DM-47552)Add
last_failedoption to theCheckActuatorsscript to run bump tests on actuators that failed their last test. (DM-47618)Update HomeBothAxis script to re-enable the force balance system after homing the mount. (DM-47641)
In base_track_target, update track_azel routine to remove stop_tracking before start_tracking. (DM-47641)
In maintel/base_close_loop.py, make filter required. (DM-47641)
Bug Fixes¶
In auxtel/calibrations/run_calibration_sequence.py, update call to ATCalsys.prepare_for_flat use named argument sequence_name instead of config_name. (DM-46201)
In
scheduler/add_block.py, convert override config to str. (DM-46458)In
maintel/offset_camera_hexapod.py, updateoffsets_to_applyto have defaults to 0. (DM-46636)In
maintel/offset_m2_hexapod.py, updateoffsets_to_applyto have defaults to 0. (DM-46636)Fix in laser_tracker/align.py comparison for tolerance. (DM-46978)
In maintel/take_aos_sequence_comcam.py, update take_aos_sequence to wait for images to be ingested in OODS before sending request to the OCPS. (DM-46978)
Fix use_ocps in wep_config for base_close_loop.py (DM-46978)
Fix instrument to ComCam in take_aos_sequence.py. (DM-46978)
Fix take_aos_sequence so intra has negative focusZ and extra positive focusZ. (DM-46978)
In maintel/focus_sweep_comcam, add StateTransition to ComCam Usages. (DM-46978)
In maintel/apply_dof, fix configure method to skip parameters that are not DOFName. (DM-46978)
In
maintel/take_aos_sequence_comcam.py, wait for all images to be ingested before starting OCPS process. (DM-47381)In
maintel/base_close_loop.py, flush evt_degreeOfFreedom. (DM-47381)In
maintel/take_aos_sequence_comcam.py, fix call to ready_to_take_data. (DM-47381)Use supplemented_group_id
maintel/base_close_loop.py. (DM-47641)
Performance Enhancement¶
Add note configuration parameter to
take_triplet_comcam.py(DM-46451)
In
set_summary_state.py, increase command timeout from 10 to 60 s. (DM-46636)In
maintel/apply_dof.py, add new configuration parameter to ignore degrees of freedom. (DM-46636)Add note configuration parameter to
close_loop_comcam.pyscript (DM-46695)Update
take_triplet_comcamtotake_aos_sequence_comcam.pyto allow for doublets and triplets. (DM-46864)Add dofs vector option for
apply_dof.pyscript. (DM-46883)Improve the
maintel/m1m3/check_hardpoint.pyto run tests concurrently. (DM-47223)In
maintel/take_aos_sequence_comcam.py, allow for only intra and extra focal pair. (DM-47744)
Other Changes and Additions¶
In
mtdome/crawl_az.py, fix typo. (DM-46636)
v1.38.0 (2024-09-03)¶
New Features¶
Add
PrepareForCO2CleanupSAL script forauxtel. (DM-42061)Add
DisableATAOSCorrectionsSAL script forauxtel. (DM-44630)Modified
SetSummaryStateto send all instances of a CSC to a desired state. (DM-45216)
Add configuration option to pass focus sweep steps as array to
BaseFocusSweep. (DM-45266)Update unit tests for BaseBlockScript to work with the latest version of salobj that adds support for block to BaseScript. (DM-45637)
In
base_track_target.py, remove limits from azimuth configuration schema. (DM-45747)
Bug Fixes¶
Update configuration of
BaseFocusSweepto avoid re-centering a user provided set of focus steps via thefocus_steps_sequenceconfig. (DM-45774)
Performance Enhancement¶
Fixed
maintel/base_closed_loop.pyto pass filter name and rotator angle to OFC. (DM-45551)
v1.37.0 (2024-07-30)¶
New Features¶
Add
EnableATAOSCorrectionsSAL script forauxtel. (DM-44629)Introduced auxtel/atdome/disable_dome_following.py, a script for disabling ATDome following. (DM-44766)
Introduced auxtel/atdome/enable_dome_following.py, a script for enabling ATDome following. (DM-44766)
Introduced auxtel/atdome/slew_dome.py, a script for slewing the AT dome. (DM-44766)
Add
EnableDomeFollowingandDisableDomeFollowingscripts forMTDome. (DM-44916)Enhance
base_block_script.pyto support Block Test Cases by adding regular expression-based parsing for program names, accommodating bothBLOCK-NNNNfor block tickets andBLOCK-TNNNN`for block test cases. (DM-45229)Add takeStutteredComCam script. (DM-45350)
Add takeStutteredLSSTCam script. (DM-45350)
Add more metadata to the exposures in the LATISS daytime checkout (DM-45351)
Bug Fixes¶
In latiss_checkout.py, remove metadata from the bias test frame, add group_id to the engtest image and set the instrument configuration to be empty/empty (no optical element in the beam). (DM-45232)
v1.36.1 (2024-07-15)¶
Documentation¶
Update version history notes and towncrier ticket links to use cloud jira project. (DM-44192)
v1.36.0 (2024-07-15)¶
New Features¶
Introduced a suite of scripts for taking focus sweep images with LSSTCam, LSSTComCam and LATISS: -
base_focus_sweep.py: Base class for running common operations. -focus_sweep_lsstcam.py: Script for taking focus sweep images with Simonyi Telescope using LSSTCam. -focus_sweep_comcam.py: Script for taking focus sweep images with Simonyi Telescope using LSSTComCam. -focus_sweep_latiss.py: Script for taking focus sweep images with Auxiliary Telescope using LATISS. (DM-44821)
In maintel/take_image_comcam, remove setting instrument_setup_time.
This will fallback to the default value of 0. (DM-44824)
In maintel/offset_camera_hexapod, fix units for xyz offsets in the script configuration. (DM-44824)
Update
maintel/m1m3/enable_m1m3_slew_controller_flags.pyto simplify how it sets the slew flags.Set one at a time in a loop instead of trying to set them all at once. (DM-44824)
In
maintel/take_triplet_comcam.py, update how ComCam is setup to include state transition events. (DM-44824)In maintel/take_triplet_comcam, use suplemented group id for the CWFS images. (DM-44824)
Update BaseTrackTarget to add a sleep between stop tracking and start tracking when doing track_azel. (DM-44824)
In maintel/offset_m2_hexapod, fix units for xyz offsets in the script configuration. (DM-44824, DM-44824)
Bug Fixes¶
In auxtel/daytime_checkout/atpneumatics_checkout.py, await for atcs.start_task after creating ATCS instance. (DM-45154)
In auxtel/calibrations/power_on_atcalsys, increase timeout waiting for the lamp to be ready to 20 minutes.
This operations takes at least 15 minutes on the CSC side, so having the script timeout also be 15 minutes causes frequent issues running the script. (DM-45154)
In auxtel/calibrations/power_off_atcalsys, increase timeout waiting for the lamp to be ready to 20 minutes.
This operations takes at least 15 minutes on the CSC side. This script had it as 16 minutes but increasing it further helps reduce false timeout issues. (DM-45154)
v1.35.0 (2024-06-17)¶
New Features¶
In
auxtel/calibrations/power_on_atcalsys.py, changeconfigure_monochromatormethod to use theupdateMonochromatorSetupcommand. (DM-44674)Add
OffsetM2Hexapodscript.This is basically a copy of the OffsetCameraHexapod Script but will move m2 hexapod instead. (DM-44674)
In
base_take_image, add FOCUS to the list of valid image types. (DM-44674)In
maintel/take_triplet_comcam.py, add feature to ignore components in MTCS and ComCam. (DM-44674)In
auxtel/calibrations/power_on_atcalsys.py, update default entrance/exit slit widths to new max range. (DM-44674)
v1.34.0 (2024-06-10)¶
New Features¶
Add new
auxtel/atdomescripts and unit tests to open and close the dome dropout door, including wind speed checks before opening. (DM-41806)In auxtel/calibrations/power_on_atcalsys.py, update grating_type enumerations and default value. (DM-44231)
Add new
maintel/take_triplet_comcamscript and unit tests to take a triplet (intra focal, extra focal, and in-focus image) sequence with ComCam. (DM-44317)Add new auxtel run_calibration_sequence script. (DM-44454)
Add TRACK_AZEL mode to base_track_target.py (DM-44611)
Bug Fixes¶
v1.33.0 (2024-04-24)¶
New Features¶
Bug Fixes¶
In base_close_loop.py, adding await to cmd_runWEP (DM-43740)
In base_close_loop.py, fixing move_camera_hexapod in base_close_loop.py (DM-43740)
In
base_close_loop.py, move hexapod back to focus after intra/extra images (DM-43740)In
maintel/base_close_loop, remove await from flush function. (DM-43740)
v1.32.0 (2024-04-11)¶
New Features¶
Add new
auxtel/atdomescripts and unit tests to open, close, and home the dome. (DM-42269)In
data/scriptsadd executable scripts to interact with OCS Scheduler:ocs/scheduler/enable.py: It enables the OCS Scheduler.ocs/scheduler/load_snapshot.py: It loads a snapshot into the OCS Scheduler.ocs/scheduler/resume.py: It resumes the OCS Scheduler.ocs/scheduler/standby.py: It puts the OCS Scheduler into standby mode.ocs/scheduler/stop.py: It stops the OCS Scheduler. (DM-43547)
Add script to run blocks from the Scheduler.
In
scheduler/testutils/, add feature to mock addBlock cmd. (DM-43548)
v1.31.0 (2024-03-28)¶
New Features¶
Extended the
slew_ephem_targetfunctionality of thebase_tcstobase_track_target, enabling the tracking of targets based on ephemeris data for both Simonyi and Auxiliary telescopes. (DM-41340)Add a new
maintel/take_image_anycam.pyscript to take data with any of the Simonyi cameras concurrently. (DM-42516)Update the following scripts to block scripts:
maintel/laser_tracker/shut_down.maintel/laser_tracker/set_up.maintel/laser_tracker/measure.maintel/laser_tracker/align.
Add Script to move the dome.
In
auxtel/prepare_for/vent:remove azimuth constraints for venting.
adjust elevation limit to allow venting at elevations higher than 5 degrees.
Partially open ATDome when venting.
Ignore m1m3 in offset_mtcs.
In
take_image_anycam, add the ability to ignore a component when initializing mtcs.In
base_track_target, load local catalog.In
base_take_image:Make sure filter is of type string.
Add a configuration parameter to allow specifying a “slew_time” (in seconds).
Return the full filter name when retrieving filter name for configuration.
In
take_image_comcam, add a configuration option to specify data is being taken with comcam in simulation mode.Add new
maintel/mtdome/crawl_az.pyscript to move the MTDome is a particular direction. (DM-43038) - Inbase_take_image.py, add new section to populate additional optional nextVisit metadata as part of config. - Inmaintel/take_image_comcam.pyandmaintel/take_image_lsstcam, add hooks for nextVisit metadata. - Inauxtel/take_image_latiss.py, add hooks for nextVisit metadata. (DM-43298)
Bug Fixes¶
In
point_azel, fix error configuring TCS.In
take_image_anycam, fix call totake_imgtype. (DM-43038)
Performance Enhancement¶
In
maintel/take_image_anycam.py, animagesparameter has been added to facilitate capturing multiple images with a single exposure time. This eliminates the necessity of enteringexp_timesas a list when multiple images with identical exposure times are required. Furthermore, this enhancement aligns with the standard behavior of other image capture scripts. (DM-43030)
v1.30.0 (2024-02-13)¶
New Features¶
Add new
mute_alarmsSAL Script. (DM-41610)Introduce SAL scripts to enable/disable M2 closed-loop. (DM-41611)
Introduce SAL scripts to enable/disable hexapods compensation mode of the Simonyi Survey Telescope: -
enable_hexapods_compensation: enable hexapods compensation mode. -disable_hexapods_compensation: disable hexapods compensation mode. (DM-41799)Introduce a SAL Script to set the m1m3 slew controller flags. (DM-42403)
Update
maintel/home_both_axesto add a configuration option to ignore the m1m3.Update
auxtel/prepare_for/ventto not partially open the dome. (DM-42690)
Bug Fixes¶
Other Changes and Additions¶
Update all m1m3 scripts to only setup their instance of the
MTCSclass during the configuration stage.This also removes the
add_remotesparameter from their initialization. Instantiation of the class is now done in theconfiguremethod.Update
tests/test_maintel_lasertracker_align.pyunit tests to remove use of theadd_remotesparameter and to create a dry test instance ofMTCSduring the initialization phase.In
maintel/laser_tracker/align.py, update script to only create instance ofMTCSand theRemoteGroupfor the laser tracker in the configuration stage. This also removes the need for theadd_remotesparameter.Update
tests/test_maintel_disable_hexapod_compensation_mode.pyto ignore order of calls in the assertion.Update
tests/test_auxtel_atpneumatics_checkout.pyunit tests to remove use of theadd_remotesparameter and to create a dry test instance ofATCSduring the initialization phase.Update
tests/test_maintel_home_both_axes.pyunit tests to remove use of theadd_remotesparameter and to create a dry test instance ofMTCSduring the initialization phase.In
python/lsst/ts/standardscripts/maintel/home_both_axes.py, update script to only create instance ofMTCSin the configuration stage. This also removes the need for theadd_remotesparameter.In
auxtel/daytime_checkout/atpneumatics_checkout.py, update Script to only create instance ofATCSduring the configuration stage. This also removes the need of theadd_remotesparameter in the initialization.Update unit tests for m1m3 scripts. This basically removes the add_remotes parameter when instantiating the Scripts class and creates an instance of
MTCSconfigured withDryRunfor testing.Update all m1m3 scripts to only setup their instance of the
MTCSclass during the configuration stage. This also removes theadd_remotesparameter from their initialization. Instantiation of the class is now done in theconfiguremethod. (DM-42517)
v1.29.0 (2023-12-14)¶
New Features¶
Add new maintel/laser_tracker/measure.py script, unit test, and executable. (DM-42122)
Bug Fixes¶
In
maintel/m1m3/check_actuators, add a timer task that will be set to wait fortime_one_bumpwhen a bump test fails.In
base_point_azel, callconfigure_tcsin theconfiguremethod. (DM-41870)
v1.28.0 (2023-11-29)¶
New Features¶
Introduce the
maintel/m2/check_actuators.pyscript. This new addition allows users to run M2 bump tests. (DM-40554)Introduce the
pause_queue.pyscript. This new addition allows users to sent an indefinte pause command to the script queue. (DM-41094)Extended the
slew_to_planetfunctionality of thebase_tcstobase_track_target, enabling the tracking of planets of the Solar system for both Simonyi and Auxiliary telescopes. (DM-41338)In
latiss_take_sequence, add optional config parameters for ra, dec, and rot_sky for script queue metadata. (DM-41538)
Bug Fixes¶
In
prepare_for/onsky, make sure the start_task is awaited.In
maintel/laser_tracker/align.py, fix scalar units.In
maintel/mtrotator/move_rotator, fix call tomtcs.move_rotator. (DM-41538)
v1.27.0 (2023-11-02)¶
New Features¶
Update
maintel/track_target_and_take_image_gencam_.pyto allow taking images with multiple cameras. (DM-38338)Add new maintel/take_image_lsstcam.py script, test and executable. (DM-40208)
Add new base_close_loop.py script, and executable. This script allows to run the closed loop, that is, taking images, processing them, and apply ts_ofc corrections.
Add new maintel/close_loop_comcam.py script, unit test, and executable.
Add new maintel/close_loop_lsstcam.py script, unit test, and executable. (DM-40213)
Add new maintel/apply_dof.py script, unit test, and executable. (DM-40219)
In
auxtel/prepare_for/onsky, allow users to ignore components fromLATISSas well. (DM-40580)Introduced the following scripts to position the respective telescope based on (az, el, rot_tel) coordinates:
maintel/point_azel.py: tailored for the Main Telescope.auxtel/point_azel.py: designed for the Auxiliary Telescope.
The specialized methods were built upon the generic module
base_point_azel.py. (DM-40700)Add new
maintel/mtrotator/move_rotator.pySAL Script. (DM-41081)
Introduce the
sleep.pyscript. This new addition allows users to sent a sleep command to the script queue for a desired duration. (DM-41082)Add new maintel/stop_rotator.py script, executable, and unit test. (DM-41083)
Other Changes and Additions¶
Update several unit tests to be compatible with the kafka version of salobj. This should be a backward compatible change and should work with both DDS and kafka versions of salobj.
In
base_script_test_case.py, add compatibility with the kafka version of salobj.In
auxtel/prepare_for/onsky.py, postpone creatingATMCSandLATISSclasses to the configure method. This is more inline with the most recent guidelines for script development and improve reliability for the kafka version of salobj.Update
.gitignoreto ignore files from ruff and clang-format.In
tests/test_system_wide_shutdown.py, make test resilient to changing order of the component index.In
system_wide_shutdown:Update to get list of components from ts-xml and to limit the number of components it checks at a single time.
Treat non-index component the same way indexed components are treated, e.g. wait for at least
min_heartbeatheartbeat events before deming it alive. (DM-40580)
v1.26.0 (2023-10-06)¶
New Features¶
Add new maintel/offset_camera_hexapod.py script, unit test, and executable. (DM-40852)
Documentation¶
Integrate towncrier for release notes and change log management (DM-40534)
Other Changes and Additions¶
Update the
lsst.ts.criopy`imports inm1m3/check_actuators.py`to ensure compatibility with the latest criopy version. Thets.criopy.M1M3FATabletable is now living in thets.xml.tables.m1m3module. (DM-40534)In
auxtel/calibrations/power_off_atcalsys, remove temporary work-around to missing ACK from faulty shutter limit switch. (DM-40852)
v1.25.5¶
In
auxtel/calibrations/power_off_atcalsys, add temporary work-around to missing ACK from faulty shutter limit switch.In
auxtel/daytime_checkout/slew_and_take_image_checkout, addstop_trackingafterpoint_azel.
v1.25.4¶
In
maintel/m1m3, fix typo in import warning.
v1.25.3¶
In
maintel/m1m3, fix lsst.ts.xml imports for DetailedStates.
v1.25.2¶
In
auxtel/calibrations/power_on_atcalsys.py, add boolean config to use ATMonochromator, update unit test, and edit log message outputs.
v1.25.1¶
In
auxtel/daytime_checkout/latiss_checkout.pyscript and unit test, add check to linear stage position.
v1.25.0¶
Add new
auxtel/calibrations/power_off_atcalsys.pyscript, unit test and executable to turn off the ATCalSys white light.Add new
auxtel/calibrations/power_on_atcalsys.pyscript, unit test and executable to turn on and set up the ATCalSys (ATWhiteLight and ATMonochromator) to take flats.
v1.24.2¶
Update check_actuators.py to give the ability to ignore actuators in a bump test.
v1.24.1¶
In
maintel/laser_tracker/align.py:Skip alignment if tolerances are zero.
Get last
offsetPublishedif new event is not available.Fix enum values.
Skip error if laserTracker status is not available.
In
system_wide_shutdown.py, add more logging information.Update
tests/test_maintel_home_both_axes.pyto check that force balance was disabled before homing.In
maintel/home_both_axes.py, update execution to switch off force balance before homing.Update Jenkinsfile to add ts_cRIOpy as an extra package.
In
maintel/m1m3/check_actuators.py, update to use latest version of ts_cRIOpy package.
v1.24.0¶
Patch
base_block_script.pyto addtest_caseattribute.Add new
maintel/m1m3/enable_m1m3_balance_system.pyandmaintel/m1m3/disable_m1m3_balance_system.pysal scripts and associated files.
v1.23.1¶
Jenkinsfile: use the new shared library.In
base_block_script.py, update address of the camera image server at the summit.In
pyproject.toml, stop using pytest-black and pytest-flake8 plugins for unit tests.In
base_track_target.py, addslew_timeoutconfiguration parameter.In
maintel/move_p2p.py:Stop motion if script fails or is stopped.
Add
move_timeoutconfiguration parameter to allow users to control how long the move command can take, for long slews with reduced speed.
In
maintel/home_both_axes.py, call start instead of set.
v1.23.0¶
In
base_block_script.py, expandBaseBlockScriptfunctionality to support generating JIRA test case artifacts from scripts.Update
MoveP2Pscript to add test step annotations.In
utils.py, addget_s3_bucketto generate asalobj.AsyncS3Bucketbased on the running environment.
v1.22.0¶
Update the
maintel/m1m3/check_actuators.pyscript with improved logging and detailed state assertions.Add new
maintel/home_both_axes.pyscript to home both MTMount axes.Add new
base_block_script.py, which defines a base class for developing scripts to be executed as part of observing blocks.Convert
base_track_target.pyand allmaintel/m1m3scripts to block scripts.In
base_track_target.py:Add a new
configure_tcsmethod that, by default, awaits for thetcs.start_task.Add support for configuring with sexagesimal strings coordinates.
In
maintel/track_target, overwrites the newconfigure_tcsmethod from the base class to postpone creation of thetcsclass until configuration stage. This will allow the script to startup and become alive more quickly, and will also prevent spending time loadingMTCSfor scripts that are misconfigured.In
utils.py:Fix typo in
format_as_listdocstring.Add new
format_gridutility method.
Add new
MoveP2Pmaintel script.
v1.21.0¶
Add new
maintel/m1m3/check_actuators.pyscript to run the actuators bump test.Add new
maintel/m1m3/lower_m1m3.pysal script and associated files.Add new
auxtel/offset_ataos.pyscript to offset the ATAOS.Add new
maintel/m1m3/check_hardpoint.pyscript to check hardpoints.Add missing comment line in all script files.
In
auxtel/offset_ataos.py, fix bug in call to resetOffset and change handling for reset all configuration.Update unit test for
auxtel/offset_ataos.pyIn
auxtel/daytime_checkout/atpneumatics_checkout.py, update detailed description.
v1.20.1¶
In
prepare_for/vent, fix passingpartially_open_dome.Update
auxtel/latiss_take_sequence.pyto configure synchronization betweenATCSandLATISS.Update ts-pre-commit configuration.
In
base_offset_tcs.py: * Add new option to executeoffset_pa. * Add checkpoints for each action.
v1.20.0¶
Add new
base_offset_tcs.pyscript to offset generic tcs class.Add new
auxtel/offset_atcs.pyscript to offset the ATCS.Add new
maintel/offset_,tcs.pyscript to offset the MTCS.Add new
auxtel/latiss_take_sequence.pyscript, unit tests, and executables.Add new
maintel/m1m3/raise_m1m3.pyto raise MainTel M1M3 mirror.Add new
laser_tracker/set_up.pyscript to set up and turn on the laser tracker.Add new
laser_tracker/shut_down.pyscript to switch off the laser tracker.Add new
laser_tracker/align.pyscript to align mtcs with laser tracker.Add new
maintel/prepare_for/align.pyscript to prepare for align mtcs with laser tracker.
v1.19.2¶
In
auxtel/daytime_checkout/slew_and_take_image_checkout.py: * add check that M3 is in position for observations with LATISS * update unit testtests/test_auxtel_slew_and_take_image_checkout.py
v1.19.1¶
In
auxtel/daytime_checkout/atpneumatics_checkout.py: * add slew to park position to ensure telescope is in safe range for ATAOS operation. * add sleep to allow mirror to arrive at commanded pressure before logging value. * add check that M1 arrives at pressure commanded by ATAOS after enable/disable. * update unit testtests/test_auxtel_atpneumatics_checkout.py
v1.19.0¶
Update pre-commit to use black 23, isort 5.12 and check-yaml 4.4.
v1.18.0¶
Add new
system_wide_shutdownscript to help shutdown the entire system.In
auxtel/daytime_checkout/update script metadata.duration values.
v1.17.0¶
In
maintel/track_target_and_take_image_gencam.py:Update
get_schemamethod to stop deletingband_filterfrom the required configuration attributes.Previously we thought it would be ok to remove this attribute from the configuration since the generic cameras, which this script is designed to work with, don’t necessarily have a filter wheel or instrument configuration. But this oversight doesn’t take into account the fact that this Script is designed to work with the Scheduler and, for this type of Script, we can not remove any of the basic set of required parameters. Adding new parameters is ok though.
If calling this script from the script queue one can simply pass in an empty string for
band_filter. But, keep in mind this one in particular is designed to work with the Scheduler.Update
track_target_and_setup_instrumentto pass inaz_wrap_strategyto slew_icrs.Implement new
tcsabstract property introduced inBaseTrackTargetAndTakeImage.
In
maintel/track_target_and_take_image_comcam.py:Update
track_target_and_setup_instrumentand_handle_slew_and_change_filterto pass inaz_wrap_strategy.Implement new
tcsabstract property introduced inBaseTrackTargetAndTakeImage.
In
auxtel/track_target_and_take_image.py, updatetrack_target_and_setup_instrumentto passaz_wrap_strategytoatcs.slew_icrs.In
base_track_target_and_take_image.py:Add
az_wrap_strategyto the script configuration.This allows users to specify the azimuth wrap strategy the TCS should use when slewing to a target. The parameter is exposed as an enumeration with all the available options. Users select an option by adding one of the available strings. When configuring the Script, the
configuremethod will convert the string into the appropriate enumeration, calling in thetcsproperty to return theWrapStrategyenumeration.Update
set_metadatato useget_estimated_time_on_targetas the script estimated duration and also to fill up all the relevant metadata information.This update will make sure the
nextVisitevent published by this script has all the relevant information needed by prompt processing.Add new method
get_estimated_time_on_targetthat returns the estimated time on target, based on the script configuration.Having this method allows the Script to uniformly estimate its duration in different execution stages.
Add new
tcsabstract property toBaseTrackTargetAndTakeImage, which should return the instance of the tcs class on the script.
This change goes in the direction of supporting higher level abstraction that require calling the TCS class from within the base class.
In
base_track_target, add support for azimuth wrap strategy and differential tracking.Include configuration parameters to allow users to specify values for azimuth wrap strategy and differential tracking.
Pass those values to
slew_icrsandslew_objectwhen running the script.
v1.16.1¶
Fix conda recipe by adding astroplan dependency and not running pytest.
v1.16.0¶
Add daytime_checkout SAL scripts, executables, and tests
Move all “prepare_for” scripts to a submodule in auxtel.
Add new
prepare_for/vent.py.Update pre-commit configuration.
Run
isortin the entire package.
v1.15.5¶
Update maintel/setup_mtcs.py * Now put the mount and the rotator into disabled state so they can share telemetry. * Do the homing of the mount
v1.15.4¶
Add maintel/track_target_and_take_image_comcam.py with new
TrackTargetAndTakeImageGenCam.Add unit tests for
TrackTargetAndTakeImageGenCam
v1.15.3¶
BaseScriptTestCasefix a potential unbound local variable error incheck_executable. This is only triggered if the process cannot be created or $PATH cannot be set, so it obscures some other problem.
v1.15.2¶
Update unit tests to be compatible with ts_salobj 7.2, while remaining backwards compatible.
Remove unused dependencies, including ts_atdome, ts_atdometrajectory and ts_atmcssimulator.
Modernize the CI Jenkinsfile.
In
auxtel/track_target_and_take_image.py: * Use snaps instead of isolated observations when visit is standard. * Add a new configuration parameter “filter_suffix” to allow appending strings to the filter name.
v1.15.1¶
In python/lsst/ts/standardscripts/auxtel/track_target_and_take_image.py, implement new abstract method
check_feasibility.In python/lsst/ts/standardscripts/base_track_target_and_take_image.py, add new
assert_feasibilityabstract method toBaseTrackTargetAndTakeImage, that is called before running to verify that the system is in a feasible state to execute the script.In python/lsst/ts/standardscripts/maintel/track_target_and_take_image_comcam.py, implement new abstract method
assert_feasibility.
v1.15.0¶
In
BaseTrackTargetAndTakeImage, add configuration parameter to allow specifying a camera playlist and, if specified, load it before running the script.In
base_track_target_and_take_image, improve checkpoints messages.In maintel/track_target_and_take_image_comcam.py implement
load_playlist.In auxtel/track_target_and_take_image, implement
load_playlistmethod.
v1.14.3¶
In
maintel/SetupMTCSfix bug that caused
mtcs.raise_m1m3to start but not to complete.fix
mtcs.enable_compensation_modeargument.
v1.14.2¶
Create new script maintel/setup_mtcs.py with its associated class and unit tests.
v1.14.1¶
Update eups table to account for renaming of ts_ATMCSSimulator -> ts_atmcssimulator.
Update conda recipe to improve handling python versions.
v1.14.0¶
Update build files to use pyproject.toml
Update location of scripts directory
Move scripts to python/…/data/scripts
v1.13.0¶
In
BaseTrackTarget:Update schema to have a
slew_icrsession and afind_targetsession. The first works the same way the previous ra/dec parameters worked, the second will find a target around the specified az/el coordinate to track.
In
AuxTel/PrepareForOnskyadd configuration to allow users to ignore certain CSCs.Add unit tests for
prepare_for_onskyscript.
v1.12.1¶
Wait for SalInfo instances to start before writing messages:
Call
super().start()first in overrides of start methods.test_auxtel_stop.py: await self.controller.start_task before writing.
Remove
clsargument from abstract static methods.doc/conf.py: make linters happier.
git ignore .hypothesis.
Use pre-commit to run flake8 and maintain black formatting.
update build files to use
pyproject.toml.
v1.12.0¶
Add
BaseTakeStutteredscript to take stuttered images.In
BaseTakeImage, add option to take acquisition images.Add
TakeStutteredLatissscript to take stuttered images with LATISS.In
GetStdFlatDataset, passgroup_idtotake_bias,take_flatsandtake_darksto group data together.Update
GetStdFlatDatasetunit test to reduce script test time by reducing the exposure time for darks and using a smaller sequence of flat-fields.
v1.11.0¶
In
auxtel/track_target_and_take_imageimplement taking data with n>1.Fix
tests/test_auxtel_detector_characterization_std_flat_dataset.pyto take into account snaps.In
auxtel/track_target_and_take_imagescript, implement a rotator flipping routine. First it will try to slew the telescope with the provided rotation angle, if that doesn’t work, flip 180 degrees and try again.Add unit tests for the load snapshot scheduler scripts.
Add unit tests for the stop scheduler scripts.
Add unit tests for the resume scheduler scripts.
Add unit tests for the standby scheduler scripts.
Add unit tests for the enable scheduler scripts.
Add executables for the main telescope scheduler operational scripts.
Add executables for the auxiliary telescope scheduler operational scripts.
Add scheduler operations scripts for the Main Telescope.
Add scheduler operations scripts for the Auxiliary Telescope.
Add test utilities for the scheduler operational scripts.
Add scheduler submodule with base scripts for operating the Scheduler. These are generic implementations that can be used for both the AT and MT schedulers.
Update setup.cfg to specify async_mode for pytest.
v1.10.1¶
Make auxtel/prepare_for_onsky.py script not gather ATCS config and just assert enabled.
v1.10.0¶
Change archiver references to oods ones due to image creation process change (DMTN-143).
v1.9.0¶
Update for ts_salobj v7, which is required. This also requires ts_xml 11.
v1.8.0¶
In
BaseTrackTargetAndTakeImageallow filter to be a list or a single string.In
auxtel.TrackTargetAndTakeImage, allow grating to be a list or a string, implement handling of list of grating/filters.Update unit tests for
auxtel.TrackTargetAndTakeImageto account for handling lists of filters/grating.In
auxtel.TrackTargetAndTakeImageadd prefix for filter name.Update to use ts_utils
v1.7.0¶
Implement new reason/program image feature on auxtel and comcam scripts.
v1.6.9¶
Remove AuxTel integration test scripts (some of which were broken). Integration tests now use Jupyter notebooks.
Remove unnecessary
__test__ = Falsestatements. These are only useful for classes whose names begin with “Test”.Modernize the unit tests to use bare assert.
Clean up the package documentation.
v1.6.8¶
Add new BaseTrackTargetAndTakeImage script, that implements a simple script to track a target and take images.
Update auxtel/track_target_and_take_image script to use the new BaseTrackTargetAndTakeImage.
Adds maintel/track_target_and_take_image_comcam script to do a simple track target and take image with the Main Telescope and ComCam.
v1.6.7¶
Add track target and take image script for auxtel.
Add stop tracking scrit for auxtel.
v1.6.6¶
Update prepare for onsky Script to check that LATISS components are enabled before executing.
Fix import statement in
prepare_for_onsky
v1.6.5¶
Update
BaseTakeImage:Add instrument setup time to duration estimation.
Only setup instrument configuration in the first image.
Update unit tests.
v1.6.4¶
Use unittest instead of the deprecated asynctest package.
v1.6.3¶
Add offline scripts for auxtel.
Add offline scripts for maintel.
Update
tests/SConscriptto make scons work when building with the licensed version of OpenSplice.
v1.6.2¶
Reformat code using black 20.
Enabled pytest-black.
Pin version of ts-conda-build to 0.3 in conda recipe.
Update documentation format.