Version History¶
v0.43.3 (2025-10-06)¶
New Features¶
Use Hexapod.moveInSteps with the overwriteStepSizeFromConfig=True. (OSW-271)
v0.43.2 (2025-09-25)¶
New Features¶
Change the way that exposure time lists are generated for PTC curves in mtcalsys.py - In
mtcalsys_schema.yaml, add new configurable option forconstrained_random_exposure_times.Allow user to set provide either
constrained_random_exposure_timesorexposure_times.In
mtcalsys.py, add method to generate random set of exposure times and overwrite the empty exposure_times when provided.Modified calculate_optimized_exposure_times to read in the random exposure times with dac values.
Wrote a new test case for PTC curves. (DM-51282)
Add support for new image types
INDOME,CBP,SFLAT, andDFLATtoBaseCamera(DM-51409)Add support to
BaseCamerafor retrieving supported image types through class method (DM-51409)In base_tcs.py, add more context to timeout error in _handle_in_position method.
In mtcalsys.py, fix the laser mode. (DM-52297)
Add guider ROI defaults (DEFAULT_GUIDER_ROI_ROWS/COLS/TIME_MS). (OSW-964)
Bug Fixes¶
Documentation¶
Add documentation for
LSSTCamsupported image types (DM-51409)
Other Changes and Additions¶
In
BaseTCS, reduced the azimuth overslew step size. (DM-52457)
v0.43.1 (2025-08-25)¶
Bug Fixes¶
Updated
get_vignetting_data_from_butlerinterface to useAnyinstead ofButler. (OSW-939)
v0.43.0 (2025-08-25)¶
New Features¶
Move MTAOS start/stop close loop logic to MTCS. (DM-50762)
Setup the electrometer after it is cycled. (DM-51041)
Added several different tests to mtcalsys.yaml: gain tests, monochromatic scans, ptc level tests and ptc daily sequences. (DM-51094)
Added ptc to the mtcalsys_schema to indicate if a test is a ptc. (DM-51094)
In slew_dome_to mtcs method, raise an error if mtdometrajectory is ignored and dome following is enabled. (DM-51217)
In
mtcalsys.yaml, add y band 940 LED config. (DM-51217)In ``data/mtcalsys.yaml, update n_flat and reduce exp_times for whitelight_u band sequences. (DM-51217)
In
data/mtcalsys.yaml, update the exposure time for thewhitelight_empty_M940L3andwhitelight_y_10_M940L3calibrations sequences. (DM-51217)In
data/mtcalsys_schema.yaml, remove calib_type, use_camera, and use_flatfield_electrometer from required parameters. (DM-51217)In atcs.py, add feature to await that ataos m1 corrections are disabled before returning disable_ataos_corrections method. (DM-51639)
Added source tests with single LEDs (DM-51802)
Updated MTCalSys configuration. (DM-51828)
Updated MTCalSys configurations. (DM-52162)
Add guider roi selection task in ts_observatory_control (OSW-77)
Updated
MTCS._wait_bump_test_okto work when m1m3 actuator bump test runs concurrently. (OSW-949)Added new
MTCS.get_m1m3_actuator_to_testcoroutine. This coroutine receives a list of actuators to test and will yield actuators to be tested in an order that allows them to run concurrently (OSW-949)
Bug Fixes¶
In mtcs.py, fix issue handling command ack failure when opening the mirror covers and reduce elevation to open mirror to 20 deg. (DM-51639)
In MTCalsys.py, fix bugs in CBP methods. (DM-51639)
Added check for camera and m2 hexapods in position event in the
MTCS.wait_for_inpositionmethod. (DM-51828)Updated the
MTCS._slewmethod to pass in the local_checkvariable to thewait_for_inpositionmethod. This should fix an issue with thepoint_azelmethod whenwait_dome=False. (DM-51828)Updated MTCS._ready_to_take_data use wait_for_in_position instead of the custom implementation that was only taking into account the mount and the camera hexapod. (DM-51828)
Fixed MTCS.close_m1_cover reference to ack error. (DM-51828)
Fixed MTCS.open_m1_cover reference to ack error. (DM-51828)
Increased timeout for hard point test for m1m3 in MTCS. (DM-51828)
In
test_dm_target_catalog.pyreplace incorrect units keyword with unit in Angle constructors and skip test if summit package not available. (OSW-77)Fixed
MTCS.stop_m1m3_bump_test. The methos now receives no parameter and stops all running bump tests. (OSW-949)Fixed an issue with
MTCS._wait_bump_test_okthat would cause it to exit prematurely if it was running primary and secondary tests and the primary test failed. (OSW-949)
Other Changes and Additions¶
v0.42.0 (2025-06-06)¶
New Features¶
Add CBP and CBP electrometers to MTCalsys. (DM-47497)
Add option to specify wavelengths with nonlinear spacing. (DM-47497)
Adding function to read out the location of all linear stages for the Calibration Projector in MTCalsys (DM-49065)
Add mechanism in the
LSSTCamclass to handle filter changes. (DM-49278)Added a function to park the LED Projector. (DM-49346)
added homing to the setup_calsys and turned off LEDs in the prepare_for_flat (DM-49346)
Updated the indices for the linear stages and fibers spectrographs (DM-49346)
Add azMotion to Slew usages in
MTCSclass. (DM-49414)In MTCS
slew_dome_tomethod, increase timeout. (DM-49414)Add open and close MTDome shutter door implementations in
MTCSclass. (DM-49506)Updated the name of the LED in the i-band (DM-49553)
Updated the locations for the LED stages. (DM-49553)
In mtcalsys.py: - Add axis to linearstage cmd_getHome calls. - Replace start with set_start to getHome commands. - Set led_focus_axis and linearstage_axis to 0 instead of 1. - Add index 0 to position calls. - Added details to projector status info. - Reformat input str to turn_led_on. - Move calls to instatiate electrometer and fiberspec with no spectrographs. - Swapped spectrograph indices. - Add call to setup electrometer. - Switch idx for led and laser focus. - Updated _take_data method for case with no camera. - Update unit tests. (DM-49954)
In maintel/lsstcam.py: - Update LSSTCam to add imageInOODS event to TakeImage and TakeImageFull usages. - Add ccsCommandState event to the set of camera events to take image. - Update _setup_mtcs_for_filter_change to also stop the rotator after stop tracking. - Update _setup_mtcs_for_filter_change to only move the rotator if it is not close to zero. - Update unit tests. (DM-49954)
In maintel/mtcs.py: - Add new AOS usage to the MTCS class. - Update the m1m3_booster_valve async context manager to only clear the slew flag if the operation succeed. - Use new unreliable in position feature to handle rotator in position event. - Refactor dome shutter operations methods. - Add mtaos closedLoopState event to the slew usage. - Add controllerState to the list of events for the Slew usage. - Update unit tests to accommodate changes. (DM-49954)
In mtcalsys.yaml, update sequence names with LSSTCam filters names. (DM-49954)
In base_camera.py: - Revert commit to refactor how start/end integration works. - Handle ccs command state for the camera. - Only run initGuider if exposure is larger than zero. - Skip error in initGuider if the error indicates it is not configured as guider. - Add _roi_spec_json attribute. - Update unit tests to accommodate changes. (DM-49954)
Added dacValue = 1.0 for all LEDs in setup_calsys (DM-50224)
Updated mtcalsys.yaml with dac values and new exposure times based on experience (DM-50282)
Added adjustdacValue in setup_calsys and prepare_for_flats, pulling from the configuration file (DM-50282)
In
maintel/lsstcam.py: - Replace a log warning with an exception to prevent filter change if not configured to manage the operation. - Adds an exception handling for a stop rotator command.This ensures that even if the rotator does not respond to the stop command, the
setup_filtermethod will log a warning and continue execution.Update LSSTCam to add a default ROI spec, which will be used in any take image if the user does not provide an override. (DM-50398)
In
base_camera.py, add back an attribute for storing Region of Interest (ROI) specification. This attribute will hold the configuration for the region of interest, allowing for better management of camera settings. (DM-50398)Collating a bunch of run branch commits. (DM-50749)
Added new
wait_tracking_stoppedmethod that is awaited after sending thestopTrackingcommand to the pointing component inBaseTCS.stop_tracking. (DM-50794)Refactored
MTCS.move_rotatorto make it more resilient.The method will first wait for a heartbeat from the
MTRotatorbefore sending the move command. Then, after sending the move command, it will wait until the rotator reports as moving. If the rotator does not start to move it will try again. If it fails for a second time, then an exception is raised. (DM-50794)Implement new
MTCS.wait_tracking_stoppedmethod that will wait for the elevation and azimuth axis of the telescope to report as stopped and for the rotator to report as stationary. (DM-50794)Refactored the
MTCS.stop_rotatormethod to extract the logic that waits for the rotator to be stationary into a separate method. (DM-50794)Updated
MTCS.wait_dor_rotator_inpositionto handle a condition where the rotator reports as being in position while still beig far from the target position. (DM-50986)In mtcalsys.yaml, Increase number of u band pulses for cbp_u_2nm config. (DM-50986)
Changed default values for electrometer integration time and range to be more precise for PTC curves. (DM-51043)
Added led focus locations for individual LEDs (DM-51046)
Bug Fixes¶
Fixed incompatibilities with SIMBAD response. (DM-49566)
In mtcs.py fix flush keyword typo in wait_for_dome_state method. (DM-49683)
Temporary fix for LED ON/OFF swap in LEDProjector until permanent fix is made (DM-50204)
Fixed the way serial numbers of LEDs are called by ledprojector. (DM-50204)
Changed LED rest position (DM-50224)
increased timeout for homing stages (DM-50224)
Had to add mtcamera_filter to mtcamera_filter (DM-50224, DM-50224)
Added axis to every move command for LinearStages (DM-50280)
Added groupId to the Electrometer and FiberSpectrograph exposures (DM-50396)
Increased timeout for linearstage_led_select to getHome from 20 seconds to 60 seconds (stage_home_timeout.) (DM-50809)
In mtcalsys.py, fix typo in electrometer name. (DM-50986)
Changed the led focus location for y-band LED (DM-51046)
API Removal or Deprecation¶
Remove dependencies on
lsst.ts.idland uselsst.ts.xmlinstead. (DM-50775)
Other Changes and Additions¶
The bump test logic for both M1M3 and M2 has been updated to support detailed failure statuses (e.g.,
FAILED_TIMEOUT,FAILED_TESTEDPOSITIVE_OVERSHOOT, etc.) introduced in the updated XML enumeration. Backward compatibility with the previous singleFAILEDlogic has been preserved to ensure seamless integration. (DM-49547)
v0.41.1 (2025-03-17)¶
New Features¶
Added sequences in mtcalsys.yaml for the white light source tests, which won’t use the camera (DM-49257)
Bug Fixes¶
Updated the
find_target_simbadmethod inbase_tcs.pyto comply with Simbad queries in astroquery version 0.4.8, following the recent update of astroquery and Simbad API. (DM-48561)
Other Changes and Additions¶
Replaced the
Jenkinspipeline configuration with a simplified call to the shared library. (DM-48561)
v0.41.0 (2025-02-24)¶
New Features¶
Refactor take image operation to allow returning from a take image sequence as soon as the exposure finished, instead of having to wait for the endReadout event. (DM-47552)
Add support to
RemoteGroupfor disabling checks for a list of components. (DM-47619)In maintel/mtcs.py, remove settling time after clearing slew flag (currently refered to as close booster valve in the code). (DM-47890)
In maintel/mtcs.py, add a context manager to ensure m1m3 is in engineering mode before/after some operation and add unit tests. (DM-47890)
Updated
BaseTCSto introduce a mechanism to execute code to prepare the telescope for offsetting.This consist of having an async context manager that is used when calling the offset command. By default this context manager does nothing. (DM-48023)
Updated
MTCSto implementready_to_offset, which uses them1m3_booster_valvecontext manager to enable/disable slew flag before/after offseting. (DM-48023)
API Removal or Deprecation¶
In base_camera.py, remove support for splitting guider ROI specs into multiple part. Size limit no longer exists. (DM-47414)
v0.40.0 (2024-12-03)¶
New Features¶
Add method in
ATCSto check if ATAOS corrections are enabled (DM-38823)Adds initial implementation of MTCalsys. (DM-43628)
Add configuration schema validation support to
BaseCalsysand schema validation files forATCalsysandMTCalsysclasses. (DM-45260)Add description fields to
ATCalsysandMTCalsysschema validation files. (DM-45261)Implement dome parking in MTCS. (DM-45609)
Implement dome unpark in MTCS. (DM-45610)
In atcalsys, pass group_id metadata to the electromer and fiber spectrograph when taking data. (DM-45696)
In base_tcs.py, expand captured rotator limit exceptions during slew cmd. (DM-45696)
Add
slew_dome_tomethod for main telescope inMTCS. (DM-45821)Increase minimum electrometer exposure time to 1 second for Keithley electrometer (DM-46003)
In atcalsys, remove work around to Electrometer going to Fault. (DM-46011)
In atcalsys, add index to group id. (DM-46011)
Extend TCS readiness check to other image types beyond OBJECT, such as: ENGTEST, CWFS and ACQ. (DM-46179)
In
mtcalsys.yaml, Added laser configuration information to all tests, including laser mode and optical configuration. (DM-46276)Add features to allow
MTCalSysto better handle the laser - Inmtcalsys.pymade the following changes:Added
laser_start_propagateandlaser_stop_propagate()Added
get_laser_parameters()Improved
setup_laser()to change the wavelength and the optical configurationChanged
change_laser_wavelength()so it can be used for the laser or whitelight system
In
mtcalsys.yamladded a laser functional setupIn
mtcalsys_schema.yamladded laser mode and optical configuration (DM-46276)
Implement open and close mirror covers methods in MTCS. (DM-46309)
Add feature to allow
ATCalSysto skip monochromator configuration.In
atcalsys_schema.yaml, add default values for wavelength, entrace_slit and exit_slit. Add option to set monochromator_grating to None to skip monchromator configuration and set None as default value.In
atcalsys.py, add feature to skip configuring monochromator if monchromator_grating is None.In
atcalsys.yaml, update monochromator configuration values for ptc curves to skip monchromator configuration. (DM-46458)
In maintel/mtcs.py, update close_mirror_covers to stop tracking before closing the covers. (DM-46978)
Remove sign flips and arcsec conversion from offset_hexapod functions. (DM-46978)
Fix MTCS offset_m2_hexapod decentering signs. (DM-46978)
In maintel/mtcs.py, update flush_offset_events and offset_done method to take rotator into account. (DM-46978)
In maintel/comcam.py avoid filter change if filter is in place. (DM-46978)
In maintel/mtcs.py, update offset_m2_hexapod to use MTAOS offsetDOF to offset the m2 hexapod. (DM-46978)
In maintel/mtcs.py, update offset_camera_hexapod to use MTAOS offsetDOF to offset the camera hexapod. (DM-46978)
Add methods in
MTCSto park and unpark the TMA. (DM-46979)Implement dome homing in
MTCS. (DM-46980)Cleanup of
MTCalsysconfiguration filemtcalsys.yamlby removing attributes that use default values. (DM-46983)Add new default values for
ATCalsysconfigurations inatcalsys_schema.yaml. (DM-46983)Cleanup of
ATCalsysconfiguration fileatcalsys.yamlby removing attributes that use default values. (DM-46983)Add new default values for
MTCalsysconfigurations inmtcalsys_schema.yaml. (DM-46983)Update
_wait_hard_point_test_okmethod inMTCSto be compatible with concurrent executions. (DM-47223)In
maintel/comcam.py, add CCOOD.evt_imageInOODS to TakeImage usage. (DM-47381)Add the following to MTCSUsages.All: - mirrorCoversMotionState - compensationMode - m1m3 events - mirrorCoversSystemState - mirrorCoversLocksMotionState (DM-47381)
Implement simple TCS synchronization in MTCS. (DM-47381)
In
maintel/mtcs.py, create a local copy of the check attribute in the _slew method. (DM-47381)In
maintel/mtcs.py, make the following updates the open_m1_cover and close_m1_cover methods: - Refactor open_m1_cover. - Refactor close_m1_cover. - Add stop_tracking later in the close_m1_cover operation. - Add stop_tracking to the slew_to_m1_cover_operational_range method after pointing the telescope. - Update open_m1_cover to stop tracking if not repositioning the telescope. (DM-47381)In
maintel/mtcs.py, increase m1m3 settling time. (DM-47381)IN
base_camera.py, remove ROI spec splitting. (DM-47381)In maintel/mtcs, update _handle_m1m3_hardpoint_correction_command to wait for m1m3_settle_time after enabling/disabling force balance. (DM-47641)
In maintel/mtcs.py, update wait_for_rotator_inposition to use a lower race condition timeout and to not await any settling time. (DM-47641)
In maintel/mtcs, use the custom race_condition_timeout for checking the mount and hexapod are in position. (DM-47641)
In base_tcs, update _handle_in_position method to expose the timeout to use when handling the initial state race condition. 81efa99 Tiago Ribeiro <tribeiro@lsst.org> Dec 1, 2024 at 10:59 PM (DM-47641)
In maintel/mtcs, reduce m1m3 setting time. (DM-47641)
Bug Fixes¶
Changed grating from Blue to Mirror for PTC curves to align with updated hardware configuration and xml (DM-45975)
In atcalsys, fix exposure time in PTC 3 (DM-46011)
Fix MTRotator enumeration from INITIALIZING to STATIONARY (DM-46179)
In atcalsys, fix group_id metadata, removing spaces. (DM-46201)
In
BaseCalsys.load_calibration_config_file, fix schema validation to update configurations with default values applied bysalobj.DefaultingValidator. (DM-46983)In
maintel/mtcs.py, fix set_azel_slew_checks to take into account value of the check flag for mtdome and mtdometrajectory. (DM-47381)
API Removal or Deprecation¶
Other Changes and Additions¶
v0.38.1 (2024-08-16)¶
New Features¶
Add logging to init_guider. (DM-45467)
Bug Fixes¶
Change the exception raised by
MTCS.run_m2_actuator_bump_testtoRuntimeErrorand update the corresponding unit test. (DM-41601)In base_camera, fix how roiSpec is constructed in init_guider and fix unit test. (DM-45467)
In ATCalySys, swap RED to BLUE filter for atmonochromator (for white light) and update configuration for ptc-1. (DM-45467)
v0.38.0 (2024-07-30)¶
New Features¶
Bug Fixes¶
v0.37.0 (2024-07-15)¶
New Features¶
In
auxtel/atcs.py, add new routine to check that ATCS is in the ATPneumatics operational range and update methods to use routine. (DM-44628)Update BaseCalSys.setup_electrometers to setup electrometer mode, range, and integration time from input parameters. (DM-44670)
Update ATCalSys.prepare_for_flat to call setup_electrometer. (DM-44670)
Update atcalsys configuration such that the electrometer exposure time is similar to the camera exposure time and to include the additional electrometer configuration. (DM-44670)
Update MTCS to add a new disable_m2_balance_system method. (DM-44824)
Update MTCS run_m2_actuator_bump_test to wait until the bump test finishes before returning. (DM-44824)
Added PTC curve configurations to ATCalSys.yaml. (DM-45219)
Bug Fixes¶
Update ATCalSys so that the filter scans have the correct wavelength range. (DM-44670)
v0.36.0 (2024-06-01)¶
New Features¶
Move calibration_config.yaml data file to atcalsys.yaml and add information required by the ATCalsys class now. (DM-44454)
Add __init__ file to data directory to make it a discoverable module. (DM-44454)
Add new get_data_path utility method to retrieve path to the data directory. (DM-44454)
In
auxtel/atcalsys, implement changes to match refactoring of the BaseCalsys class.This is a major rework of the class, implementing some of the high level functionality that allows one to take a set of calibrations. (DM-44454)
In
base_calsys, refactor of the base class to capture some of the lessons learned while writting the calibration script. (DM-44454)Implement base_tcs start_tracking method. (DM-44611)
Bug Fixes¶
In BaseTCS class, fix call to offsetRADEC. (DM-44454)
Documentation¶
Update towncrier configuration to use jira cloud path for tickets. (DM-44454)
v0.35.0 (2024-05-31)¶
New Features¶
Started atcalsys.py, which builds on top of basecalsys.py Includes all functions needed to build SalScript for creating flat field calibrations on the AuxTel (DM-43627)
API Removal or Deprecation¶
Remove support for handling authorization. This feature was removed from the system with ts-xml 21. (DM-44366)
Other Changes and Additions¶
Update conda recipe to use ts-conda-build=0.4. (DM-44028)
v0.34.0 (2024-04-24)¶
New Features¶
In
atcs.pyadd methods to open/close the AuxTel dome dropout door. (DM-41805)Added base_calsys and corresponding documentation. (DM-42865)
In
auxtel/atcs, update vent elevation to 17 degrees. (DM-43038)In
auxtel/atcs, update dome_vent_open_shutter_time to 30s so we can run vent anytime during the day. (DM-43038)In
maintel/mtcs.py, ignore dome elevation in the monitoring loop. The current version of the MTDome is not handling the wind screen/elevation axis so we will ignore it for the time being. (DM-43038)In
base_tcs.py, update vent azimuth to keep 90 degrees away from the dome azimuth. (DM-43038)
v0.33.0 (2024-02-12)¶
New Features¶
In
base_tcs.pyadd aslew_ephem_targetmethod that allow both telescopes to track a target based on an ephemeris file. (DM-41339)In
maintel/mtcs.py, updatemove_p2p_radecto check that the mtcs is in ENABLED state while moving. (DM-41593)In
mtcs.py, updateMTCS._slew_toto enable compensation mode in the relevant components before a slew. (DM-42132)In
mtcs.pyadd aset_m1m3_controller_settingsmethod that allows setting m1m3 slew controller settings. (DM-42402)
Bug Fixes¶
Fix some type annotation issue in
RemoteGroup.Update
ATCS.stop_allto remove return. (DM-42046)In
base_tcs.py, updatefind_target_simbadto capture any exception when executing the remote query and retrow them as aRuntimeError. (DM-42478)Update MTCS Slew usages to add the compensationMode event for both hexapods. (DM-42690)
Performance Enhancement¶
Update
MTCSslew control sequence to improve handling setting/unsetting the m1m3 slew flag before/after a slew starts/ends. (DM-42046)
Other Changes and Additions¶
In
auxtel/atcs.py, update prepare_for_vent to fully open the dome ifpartially_open_domeis selected.Reformat with black 24.
Update .gitignore with latest ts-pre-commit-config setup. (DM-42690)
v0.32.0 (2023-11-28)¶
New Features¶
Add _overslew_azimuth feature to base_tcs class to slew past the target position and return. Set default to FALSE in base_tcs class and TRUE for atcs. (DM-40913)
Update
MTCSclass to support running M2 bump tests. (DM-41111)Update overslew feature and add log messages. In
mtcs, add a check in move_p2p that the components are enabled while moving. (DM-41538)
v0.31.1 (2023-10-25)¶
Documentation¶
Integrate towncrier for release notes and change log management. (DM-41258)
Other Changes and Additions¶
Updates to make the package compatible with salobj 8. Changes involves mostly updating how the async mock objects are created. Instead of relying in ts-idl and ts-salobj to generate specs for the remote’s, use the newly introduced method in ts-xml. (DM-40580)
v0.31.0¶
Add
LSSTCamclass to interface with the LSSTCam CSC using theBaseCamerainterface.In
maintel/mtcs.py, addstop_rotatormethod to stop rotator movement.Add support for mtrotator cmd_stop and evt_controllerState in
mock/mtcs_async_mock.py.In
constants/latiss_constants.py, update blue300lppm_qn1, holo4_003, and holo4_001 sweet spots.Add new option to
MTCS.move_rotatorto allow the function to return before the rotator is in position.Export enum classes
DOFNameandClosedLoopModeinenums.py.
v0.30.5¶
Add
DOFNameenum toenums.pyUpdate atcs telescope and dome flatfield position following atwhitelight alignment.
Use lsst.ts.xml.tables.m1m1 instead of ts.lsst.criopy for M1M3 FATable.
In
maintel/mtcs.py, add exception to allow backwards compatability with M1M3 FATable import from ts.lsst.criopy.
v0.30.4¶
In
latiss_constants.py, add initial sweet spot for holo4_001 grating.
v0.30.3¶
In
maintel/mtcs.py:Update hard point correction handlers to use
evt_forceControllerStateinstead ofevt_forceActuatorState.Add support for m1m3 setSlewFlag/clearSlewFlag.
Add
forceControllerStateto the list m1m3 events for the slew usage.
v0.30.2¶
Update
pyproject.tomlto remove usage of flake8 and black pytest plugins.Add github linting workflow.
Add support for
ts-pre-commit-config.
v0.30.1¶
In
maintel/mtcs.py:Add
detailedStateto list of Slew events for m1m3.Change order of closing booster valves and enabling hardpoint corrections.
Update
_handle_m1m3_hardpoint_correction_commandto also skipsalobj.base.AckTimeoutError.Add new
wait_m1m3_settleand call it before closing the booster valve inm1m3_booster_valvecontext manager.For now this only waits for a pre-defined time, but in the future we should implement a better way to determine if M1M3 has settled or not.
In
base_tcs.py, update_handle_in_positionto not ignore timeout error when waiting for a new event in the waiting loop.
v0.30.0¶
In
maintel/mtcs.py:Add
forceActuatorStateto mtm1m3 Slew usages.Fix lower/raise m1m3 to handle m1m3 in engineering mode.
Update
close_m1m3_booster_valveto enable force balance system before closing the booster valves.Update
open_m1m3_booster_valveto enter engineering mode and to disable m1m3 force balance system before opening the booster valves.Update
_handle_raise_m1m3and_handle_lower_m1m3to work around command timeout.Add timeout when getting
detailedStatein_execute_m1m3_detailed_state_change.Add
disable_m1m3_balance_system.Refactor
enable_m1m3_balance_systemto extract code into two general purpose private methods;_handle_m1m3_hardpoint_correction_commandand_wait_force_balance_system_state.
v0.29.2¶
In
auxtel/atcs.py, update the dome and telescope flat field position.
v0.29.1¶
In
maintel/mtcs.py, update MTCS usages to add booster valve status event to Slew usage.
v0.29.0¶
In
tests/maintel/test_mtcs.py:Update
test_slew_icrsto check thatm1m3_booster_valveis correctly called while slewing.Add unit tests for new move point to point methods.
Add unit tests for
MTCS.m1m3_booster_valve.
In
mock/mtcs_async_mock.py, add mocking for the m1m3 booster valve.In
maintel/mtcs.py:Add methods to move the telescope using point to point movement instead of slewing.
Update
_slew_tomethod to usem1m3_booster_valvewhen executing a slew command.Add a new async context manager
m1m3_booster_valveto handle opening/closing the M1M3 booster valve for a particular operation.
v0.28.0¶
In
maintel/mtcs.py:Update
get_m1m3_bump_test_statusto acceptactuator_idas an input parameter and return the primary and secondary test status. The secondary test status isNoneif the actuator has no secondary element.Extract the code that parses the M1M3
forceActuatorBumpTestStatusinto a separate method,_extract_bump_test_status_info.Use
_extract_bump_test_status_infoin_wait_bump_test_okto parse the information from the M1M3forceActuatorBumpTestStatus.Update docstring of
get_m1m3_actuator_indexandget_m1m3_actuator_secondary_indexto document exception raised by the methods and include a “See Also” session.
In
mock/mtcs_async_mock.py, improve mocking of the m1m3 actuator testing to more closely resemble m1m3 behavior.
v0.27.1¶
In
maintel/mtcs.py:Add a specific timeout for the hard point test that is long enough to allow it to execute.
Update
run_m1m3_hard_point_testto wait for_wait_hard_point_test_ok, catch timeout exceptions and raise a runtime error instead.Update
enter_m1m3_engineering_modeto ignore timeout error incmd_enterEngineering.
v0.27.0¶
In
auxtel/atcs.py, add newoffset_aos_lutmethod.In
maintel/mtcs.py:Add support for running/stopping m1m3 actuator bump test.
Add support for running/stopping m1m3 hard point tests.
Add support for entering/existing m1m3 engineering mode.
Update
MTCS._wait_for_mtm1m3_detailed_stateto accept a set of expected detailed states instead of a single value.Pass timeout to
agetinMTCS._wait_for_mtm1m3_detailed_state.Update
MTCS._handle_m1m3_detailed_stateto pass a set with the expected state when callingMTCS._wait_for_mtm1m3_detailed_state.Fix typos in docstring.
Add method to assert that m1m3 is in one of a set of detailed states.
Add github action to check that version history was updated.
Setup ts_cRIOpy as part of the dependencies for the CI.
Add ts_cRIOpy to the eups dependency table.
Modernize conda recipe and include ts-criopy as a dependency.
v0.26.0¶
In
base_tcs.py, add newoffset_pamethod.In
auxtel/atcs.py, minor improvements inoffset_donemethod.In
auxtel/atcs.py, updateopen_dome_shutterto also work when the dome is partially opened.
v0.25.0¶
In
BaseTCS, add newoffset_rotmethod to allow offsetting the rotator position.
v0.24.3¶
In
tests/auxtel/test_atcs.py, implement some small improvements in theATCStest case.Call
atcs.enable_dome_followingin alltest_slew. This will make sure themonitor_loopruns and checks the dome position.Add two new slew tests:
Test slew icrs when telescope timeout arriving in position.
Test slew icrs when dome timeout arriving in position.
In
mock/atcs_async_mock.py, add mocking for the atdome move azimuth command and in position event.In
base_tcs.py, updateBaseTCS._handle_in_positiondebug message to also display the timeout.In
auxtel/atcs.py, updateATCS.monitor_positionto make log messages more similar to the ones inMTCS.In
auxtel/atcs.py, updateATCS.wait_for_inpositionto improve reporting of timeout failures. Instead of appending coroutines to thetaskslist, useasyncio.create_taskand give names to each of the tasks. Then, instead of simply gathering the tasks, which leads to uncomprehensive tracebacks when tasks timeouts, capture any exception and reprocess the error messages re-raising them asRuntimeErrorwith a more comprehensive message.In
auxtel/atcs, updateATCS._slewto use the more robustasyncio.create_taskinstead ofensure_futurewhen scheduling background tasks.
v0.24.2¶
Format souce files with black 23.
Update pre-commit hook versions.
v0.24.1¶
In
constants/latiss_constants.py, add sweetspot for new grating.Update Jenkinfile to stop using root.
v0.24.0¶
In
BaseTCS, updateradec_from_azelto convertAltAzinto aSkyCoordbefore converting toICRS. Directly converting fromAltAzintoICRSwill be deprecated in the future.In
ATCS:Add methods to enable/disable ataos corrections.
Add new method
is_dome_homedto check if the dome is homed or not.Update
shutdownto usedisable_ataos_correctionsinstead of sending the command directly to the component.Update
home_dometo add newforceoption and to check if dome is homed already.Rename
azimuth_open_dome->dome_open_az.Upadate
prepare_for_onskyto use theenable_ataos_correctionsinstead of sending the command directly,Add new method
stop_dometo stop motion of the atdome.Update
prepare_for_flatfiedhome dome.close_domechange default option toforce=True.Update
close_dometo send the command whenforce=Trueeven if the dome is not reporting as opened.Update
prepare_for_onskyto disable ataos corrections before opening m1.Update
prepare_for_flatfieldto disable ataos corrections before opening the mirror covers and enable them afterwards.
v0.23.3¶
In
BaseCamera, update_handle_take_stutteredto remove call tocmd_clear.In
BaseCameraAsyncMock, updateassert_take_calibrationto remove call tocmd_clear.
v0.23.2¶
In
ScriptQueue:Make sure
get_script_schemacan handle condition where multipleconfigSchema, for different scripts, are published while it is executed.Fix text separator when splitting list of scripts in
list_standard_scriptsand ``list_external_scripts`.
v0.23.1¶
Add support for authorization.
v0.23.0¶
In
MTCS:Fix doctring and logged information about behaviour when hexapod compensation mode is on in
move_camera_hexapodandmove_m2_hexapod,Add new methods
offset_m2_hexapodandoffset_cam_hexapodthat offset the M2 and camera hexapod respectively.This method can be used when performing optical alignment with the MTAlignment component or when performing optical alignment with curvature wavefront sensing to take the intra/extra focal data.
v0.22.1¶
Update
ATCSunit test to use the newATCSAsyncMockclass.Update
MTCSunit test to use the newMTCSAsyncMockclass.Add new
MTCSAsyncMockclass that implementsRemoteGroupAsyncMockforMTCS.Add new
ATCSAsyncMockclass that implementsRemoteGroupAsyncMockforATCS.In
MTCS:Add compatibility with xml>12.
Update
reset_m1m3_forcesto usemtm1m3.cmd_clearActiveOpticForcesinstead of setting the forces to zero.
Update pre-commit config file with latest version of libraries and to add support for
isortandmypyandpyproject.tomlto supportisort.In
RemoteGroupAsyncMock:In
get_side_effects_for:Change return type to
Dict[str, Any].Stop wrapping side effects in mocks.
Add side effect to handle flushing events.
Add
get_all_checksmethod that creates a copy of thecheckattribute from theremote_group.Override super class
runmethod to setup random DDS partition prefix and set LSST_SITE.In
setup_basic_mocks, setup data structure to support handling summary state.In
get_spec_from_topics, addDataTypeto topic spec.In
get_component_topics, add “tel” prefix to telemetry topics.Add
flush_summary_state_forto create a side effect to mock theflushmethod.In
set_summary_state_for, fixset_summary_stateto append a copy of summary state to thesummary_state_queue.In
next_summary_state_for, fixnext_summary_stateto return the value ofsummary_stateinstead of popping the value fromsummary_state_queue.In
set_component_commands_arguments, fix filtering of which topics are commands.
Ignore files generated by pypi.
v0.22.0¶
Add new type hints to allow type annotation of methods and coroutines that has signature like
func(**kwargs: Any) -> None.Improve how
RemoteGroupAsyncMockmocks aRemoteGroup.Instead of making each
Remotea free formAsyncMock, create a spec based on the component interface. This means, trying to assess a member that is not part of the CSC interface raises anAttributeErrorexception, which is usefull to catch interface changes, like topics that are renamed and such.It also adds functionality to catch changes in topic payloads. For commands, create methods that check command call payloads and raise exception if a topic attribute is not part of the command definition. For events and telemetry, add a method to create
SimpleNamespaceinstances from the topics structure.Add new
BaseCameraAsyncMockmock class, to facilitate mocking/testing classes derived fromBaseCamerawithout the need to use the middleware. This considerably reduces the time needed to setup the classes for testing allowing us to expand the test coverage considerably without too much of a time penalty.Refactor
ATCStests to use the newBaseCameraAsyncMockclass.Refactor
ComCamtests to use the newBaseCameraAsyncMockclass.In
BaseCamera, add check that stuttered image is supported by the particular interface. This is defined by the set of commands required to drive sturreted images.Add
GenericCameraclass to interface with the generic camera CSC using theBaseCamerainterface.In
ATCS, change log level of message sent when stopping monitor loop from warning to debug.In
MTCS, remove workaround for rotator trajectory issues that prevented us from doing more than one slew at a time.Update
.gitignoreto ignore all.logfiles.
v0.21.0¶
In
BaseTCSclass:Add new functionality to allow alternative rotator angles to be specified. This features consists of two methods,
BaseTCS.set_rot_angle_alternativesand a generatorBaseTCS.get_rot_angle_alternatives. By default the altenative angles are +/- 180 and +/- 90 degrees.BaseTCS.get_rot_angle_alternativesrecieves a desired angle and willyielda sequence of numbers consisting of the original number first, then a the original number + the alternative. Therefore, by default, if one callsBaseTCS.get_rot_angle_alternatives, it will yield the sequence 0, 180, -180, 90, -90.It is possible to override the sequence of alternaive angles by calling
BaseTCS.set_rot_angle_alternatives, passing a new sequence of numbers. It is not necessary to pass the 0 value and duplicated entries are removed.In
slew_icrsuse new rotator angle alternatives to cycle throught different rotator angles when the value requested is outside the rotator limits.
v0.20.1¶
Fix issue with
LATISS.setup_instrumentwhich would fail if linear stage position was passed asNone, which is a valid entry.Add unit test for
LATISS.setup_instrument.
v0.20.0¶
Update build configuration to use
pyproject.toml.Implement type-checking in the entire package.
v0.19.0¶
Add new high-level class to interact with the
ScriptQueue, and child classes to interact with ATQueue and MTQueue.
v0.18.2¶
Add support for stuttered image keywords.
In
BaseCamera:Update
_handle_take_stutteredmethod to callsetand thenstartseparately, so it can set thetimeoutparameter.
v0.18.1¶
MTCSMock: stop calling lsst.ts.salobj.topics.WriteTopic.write with arguments.
v0.18.0¶
In
BaseCamera:Add support for new images types: ACQ, CWFS, FOCUS.
Refactor
BaseCamera.exposeto use the newCameraExposuredata class and break it down into smaller pieces.Add support for stuttered image. This image type opens the camera shutter, start the exposure manually and then allow users to shift the readout manually. This allow us to produce “stuttered” images with starts shifting in the read direction at each iteration.
Add support for taking snaps in
take_object.
Add unit tests for stuttered images for ComCam.
Add unit tests for stuttered images for LATISS.
Add support for stuttered images in
ComCamMock.Add support for stuttered image in
LatissMock.Add new dataclass CameraExposure to host parameters for exposures.
Add unit test for new image types for ComCam.
Add unit tests for new image types for LATISS.
v0.17.0¶
In
test_atcs, renametest_monitor->test_monitor_position_dome_following_enabled, and make sure dome following is enabled before running test. Addtest_monitor_position_dome_following_disabledtest to check condition when dome following is disabled.Update ComCamMock to correctly take into account
numImages > 1.In
tests/maintel/test_mtcs.py: * Add unit test forMTCS.move_rotatormethod. * Fix typomtmout->mtmountin two method names.In ATCS, update how _slew handles monitor.
In MTCS, add
move_rotatormethod to handle moving the rotator and waiting for the movement to complete.In
BaseCamera, usenumImagesfeature from Camera to take multiple images, instead of looping.In
ATCS.monitor_position, handle condition when dome following is disabled but dome checking is enabled.In
MTCS._slew_to, juggle rotator position by 0.1 degrees when working around trajectory problem. This will make sure the rotator moves a bit, thus resetting the trajectory.In
ATCS.slew_dome_to, fix handling ofmonitor_positionby creating a background task.In
ATCS.slew_dome_to, improve handling dome positioning. The ATDome will overshoot if slew is large enough, the method will send a move command, use_handle_in_positionto determine when the dome is in position and then check that the dome is still in position afterwards. If it is not, it will iterate up to_dome_slew_max_itertimes. The method is also not using the internal dome in position flag, which only checks if the dome is obscuring the telescope or not. This algorithm is only suitable for on sky slewing operation and not for when we are positioning the dome.In
ATCS.slew_dome_to, use_handle_in_positionto determine when dome is in position.Update
MTCS.wait_for_rotator_inpositionto use_handle_in_position.
v0.16.1¶
Update to black 22.
v0.16.0¶
Change archiver references to oods ones due to image creation process change (DMTN-143).
v0.15.0¶
Update for ts_salobj v7, which is required. This also requires ts_xml 11.
Rename
settingstooverrides.RemoteGroup: use “” as the default override for all components. Remove theinspect_settingsmethod and renameexpand_settingstoexpand_overrides.
v0.14.0¶
Remove usage of deprecated methods from salobj.
In
BaseTCS: * Fix handle in position event to useflush=Truewhen dealing with potential race condition. * Change default value ofstop_before_slewparameter in slew commands fromTruetoFalse.In
ATCS: * Remove secondary check for in position condition.This check was a workaround for a problem we had with the ATMCS
inPositionevent long ago but it was now causing problems.Fix
monitor_positionunit tests.Implement
handle_in_position_eventfor ATMCS.Update unit tests for new default value of
stop_before_slew.Mark
test_find_targetas flaky. This test reaches Simbad remote server, which can be flaky sometimes.Augment atdometrajectory mocks in tests/auxtel/test_atcs.py.
In
slew_dome_to, wait only for atdome to arrive in position.
In
MTCS: * Move rotator synchronization to outside “stop_before_slew”. * Update unit tests for new default value ofstop_before_slew.
v0.13.2¶
Fix unit test failure in
slew_objectdue to coordinate convertion issue.
v0.13.1¶
Make MTCS non-concurrent.
In
BaseTcsadd interface to enable/disable concurrent operation.In
RemoteGroupimplement mechanism to prevent concurrent operation.
v0.13.0¶
Update MTCSMock for the latest xml.
Add unit tests for additional keywords in LATISS and ComCam.
In
BaseCamera: * Implement reason and program keywords on thetake_methods. * InBaseCamera.next_group_idreplace all occurrences of “-” and “:” by empty strings. * Addreasonandprogramto the interface ofexpose* Provide a base implementation forexpose. * Add new abstract methodparse_sensors, that receives asensorsstring and return a validsensorsstring for the particular implementation. * Add new abstract propertycamerathat should return the remote to the camera. * Add newget_key_value_mapmethod that parses its inputs into a validkeyValueMapentry for the cameras takeImage command.In
ComCam: * Remove specialized implementation of theexposemethod. * Add new abstract property,camera. * Add new abstract methodparse_sensors* Updatetake_spotto implement test_type, reason and program keywords.In
LATISS: * Remove specialized implementation of theexposemethod. * Add new abstract property,camera. * Add new abstract methodparse_sensors
v0.12.1¶
Update expand
RemoteGroup.inspect_settingsto deal with non-configurable components.
v0.12.0¶
Update the code to use ts_utils.
Modernize the unit tests to use bare asserts.
v0.11.2¶
Update
mock.BaseGroupMockto be compatible with xml 10.1 and sal 6.In
MTCS: * Disable ccw_following check on mtcs slew. * Implement work around to rotator trajectory problem that cannot complete 2 subsequent moves.The work around consist of sending a move command to the rotator current position then stopping, thus resetting the trajectory.
v0.11.1¶
Update conda recipe to add new dependencies; pandas and scipy.
Update setup.py to include
pdfiles.Unit tests for
BaseTCSnew catalog feature.In
BaseTCS: * movefind_targetcode intofind_target_simbad. Infind_target, usefind_target_local_catalogif catalog is loaded or tryfind_target_simbadotherwise or if it fails to find a target in the local catalog. * implement method to find target given an az/el position, magnitude range and radius. * implement method to query objects from the local catalog, when a catalog is loaded, or querySimbadif the catalog is not loaded or the object is not found in the local catalog. * add functionality to manage local catalogs, which includes:list available catalogs.
load a catalog from the list of available catalogs.
check if a catalog was loaded.
clear catalog.
Add
BaseTCS.object_list_get_allmethod to retrieve a list of all the object names in the object list.Add utility function to return the path to the catalog module.
Add
catalogsmodule to store local object catalogs.Add
hd_catalog_6th_mag.pdcatalog file. This is a cut out of the HD catalog with southern stars brighter than 6th magnitude, used for testing the package. It contains roughly 1500 objects.Setup
gitattributesto track*.pdfiles with git large file storage.In
MTCS: * replaceaxesInPositionbyelevationInPositionandazimuthInPositionon all usages. * fix for xml 10.0.0. EventaxesInPositionwas removed, need to useelevationInPositionandazimuthInPositioninstead.In
ATCS: * addATDomeTrajectory.evt_followingModetoSlewusage. *assert_m1_coorection_disableddeal with situation where nocorrectionEnabledevent is seen.Update Jenkinsfile to pull git lfs files before running tests.
v0.11.0¶
In MTCS: * add longer timeout for raising/lowering the system. * implement
reset_m2_hexapod_position. * implementreset_camera_hexapod_position. * implementmove_m2_hexapod. * implementmove_camera_hexapod. * implementenabled_compensation_modeanddisable_compensation_mode. * implementreset_m2_forces. * implementenable_m2_balance_system. * implementreset_m1m3_forces. * omplement enable_m1m3_balance_system. * Implement abort_raise_m1m3. * implement lower_m1m3 method. * add method to handle raising m1m3. * add methods to handle m1m3 detailed state. * ImplementMTCS.raise_m1m3method. * ImplementMTCS._execute_m1m3_detailed_state_change, a method that executes a command that change M1M3 detailed state and handle waiting for it to complete.In
test_mtcs: * implementtest_check_mtm1m3_interface. * add support for summary state and heartbeat on the mocks. * rename import ofastropy.unitsfromutounits. * add support for summary state and heartbeat on the mocks. * add logger toTestMTCS.Fix
get_software_versionsdocstring.Add new
BaseTCS._handle_in_positionmethod to take care of in position event in a generic way.Unit tests for
get_work_components.In
RemoteGroupdaddget_sfotware_versionsmethod to return the last sample ofsoftwareVersionsevent for all components or a subset.Fix unit test on get_simulation_mode.
In test_base_group, implement usage of
DryTestto allow implementation of faster unit tests that don’t require Remotes/Controllers.Use
_aget_topic_samples_for_componentsinget_simulation_modeIn
RemoteGroup: * add new usages:CheckSimulationMode
CheckSoftwareVersions
DryTest
add new utility method
_aget_topic_samples_for_componentsto get generic samples.usages
Alladd new generic events.add
RemoteGroup.get_work_componentsmethod.add new method
get_simulation_modethat returns a dictionary with the last sample of the eventsimulationModefor all components or a subset specified in thecomponentsinput parameter.RemoteGroup.set_stateuse new methodget_work_components.add
RemoteGroup.get_work_componentsmethod. This method receives a list of component names, and either raise an exception (if one or more components are not part of the group) or return a list of components. If called withNone, return the name of all components.
Add new utility method
handle_exeception_in_dict_items, to handle exception stored in dictionaries items.Add new utility method
handle_exeception_in, to handle exception stored in dictionaries items.Remove the delay in ComCam image taking.
In ATCS: * Increase timeout in open/close m1 cover. * add focusNameSelected. to startUp usages. * add ataos
correctionEnabledevent to usages. * add atdometrajectory followingMode event as a dependency to usages. * updateprepare_for_onskyto allow enabling dome following at the end. * MakeATCSmore resilient when the dome following is disabled.
v0.10.3¶
Add
DryTesttoLATISSUsages. This is useful for unit testing.In open/close m1 cover and vents check that m1 correction is disabled before proceeding.
Add feature to check that ATAOS m1 correction is disabled.
In
BaseTCS.find_targetfix magnitude range to use input parameter instead of hard coded value.
v0.10.2¶
In
ATCS: * Small fixes to find_target and object_list_get.Fix
ATCS.open_valve_instrumentto callcmd_openInstrumentAirValveinstead ofcmd_m1OpenAirValve. InATCS.usages, add mainDoorState event to the list of required events on atdome. InATCS.open_m1_coveruseopen_valve_maininstead ofopen_valves. Only main valve needs to be open to open the m1 cover. InATCS.prepare_for_onsky, stop enabling the components and add a check that all components are in enabled state. InATCS.prepare_for_flats, add a step to verify that all components are in enabled state.In
RemoteGroup: * Implementassert_all_enabledmethod to verify that all components in the group are in enabled state.In
ComCam: * Implementget_available_instrument_setup.In
LATISS: * Implementget_available_instrument_setup.In
BaseCamera: * Add new abstract methodget_available_instrument_setup.
v0.10.1¶
In ATCS update algorithm to open m1 cover.
Add object storing and finding facility to BaseTCS.
In ATCS add functionality to stop the monitor position loop.
v0.10.0¶
Refactor MTCS and ATCS unit tests to use
DryTestmode (no remotes) and mock the expected behavior withunittest.mock. This allows the unit tests to run much more quickly and reliable. The old unit tests relying on DDS will be converted to integration tests.Add support in
RemoteGroupandBaseTCSto support setting up the class when there is no event loop running.In
ATCS._slew, pass in the internalchecktomonitor_position.In
MTCS: * Add support for enabling/disabling CCW following mode. * Add check that ccw following mode is enabled when doing a slew activity.
v0.9.2¶
Fix
absorboption in offset_azel.Update how
BaseTCS._slew_tohandlecheck. This fixes an issue where callingprepare_for_onskyandprepare_for_flatfieldwould leave the users check attribute in a different state than that set by the user. This was also causing theprepare_for_onskymethod to not open the dome.Fix checking that ATDomeTrajectory is in DISABLE while moving the dome.
v0.9.1¶
Update emulators to publish data useful for INRIA.
v0.9.0¶
Implement general purpose utility method in
RemoteGroupto get components heartbeats and check liveliness of the group.Add
enable_dome_followinganddisable_dome_followingintBaseTCSto use newATDomeTrajectorysetFollowingModecommand. * Implement new enable/disable dome following inATCSclass.Set event specifying that dome is in position.
Implement offset_x/offset_y functionality in slew commands so users can specify an offset from the original slew position.
v0.8.3¶
Update close method in
RemoteGroupto only close the domain if it was not given by the user.In
ATCS.close_m1_cover, flushm1CoverStatebefore sending the command.Update
MTCSUsages.Allto include missing events/telemetry.
v0.8.2¶
v0.8.1¶
Update rotator strategies to use new pointing facility features. It is now possible to keep the rotator at a fixed orientation while tracking a target in az/el.
Expose azimuth wrap strategy to the users.
Add new
DryTestusage toMTCSclass that allows creating the class without any remote (useful for unit testing).Add Coordinate transformation functionality to
BaseTCSclass to allow transformation or Az/El to Ra/Dec and vice-versa. Add method to compute parallactic angle from ra/dec toBaseTCS.Rename
utils.parallactic_anglemethod toutils.calculate_parallactic_angleand update docstring.Implement publish heartbeat loop in
BaseGroupMock.Fix issue closing ATCSMock class. Using
asyncio.wait_foris also causing some issues at close time. Replace it with a slightly dumber but more reliable procedure inBaseGroupMock.Add documentation about new coordinate transformation facility.
v0.8.0¶
Changes:
Add new feature to support synchronization between BaseTCS and BaseCamera.
Implement synchronization feature in ATCS.
Implement placeholder for synchronization feature in MTCS.
v0.7.6¶
Changes:
Reformat code using black 20.
Pin version of ts-conda-build to 0.3 in conda recipe.
v0.7.5¶
Changes:
Change default offset to
relative=False.Deprecate use of
persistentflag in offset commands.Add new
absorbflag to offset commands to replacepersistent.Add unit tests for offset commands.
Replace usage of
asynctest.TestCasewithunittest.IsolatedAsyncioTestCase.Improve documentation on offset commands.
Requirements:
ts_salobj >= 5.6.0
ts_xml >= 7.1.0
ts_idl >= 2.0.0
IDL files for all components, e.g. built with
make_idl_files.py
v0.7.4¶
Changes:
Add workaround to edge condition while homing the ATDome. Now if the dome is pressing the home switch and we send a home command, it will simply register the dome as homed and won’t send any event to indicate the activity is complete.
Add method to reset all offsets in base_tcs.
Add set_rem_loglevel method in RemoteGroup, that allows users to set the log level for the remotes loggers.
Fix “restore check” feature in prepare for flats.
Fix direction of PhysicalSky rotator strategy.
Update ATCS to support specifying rotator park position and flat field position. When using point_azel to slew the telescope for a safe position, use the current nasmyth position.
Fix setting rotFrame in xml7/8 compatibility mode.
Update ronchi170lpmm sweet spot.
Support differential ra/dec tracking in BaseTCS.
Requirements:
ts_salobj >= 5.6.0
ts_xml >= 7.1.0
ts_idl >= 2.0.0
IDL files for all components, e.g. built with
make_idl_files.py
v0.7.3¶
Changes:
Updated plate scale to correct math error.
Modify latiss_constants.py to include a sweet-spot for the hologram. Also to make the plate-scale consistent.
Requirements:
ts_salobj >= 5.6.0
ts_xml >= 7.1.0
ts_idl >= 2.0.0
IDL files for all components, e.g. built with
make_idl_files.py
v0.7.2¶
Changes:
Update
docs/conf.py.Update version history.
Implement xml 7/8 compatibility.
Fix
add_point_datain BaseTCS.Fix timeout in opening/closing the dome.
Enable atspectrograph ATAOS correction in
ATCS.prepare_for_onsky.
Requirements:
ts_salobj >= 5.6.0
ts_xml >= 7.1.0
ts_idl >= 2.0.0
IDL files for all components, e.g. built with
make_idl_files.py
v0.7.1¶
Changes:
Implement xml 7/8 compatibility.
Fix
add_point_datain BaseTCS.Fix timeout in opening/closing the dome.
Add enable atspectrograph ATAOS correction in
ATCS.prepare_for_onsky.
Requirements:
ts_salobj >= 5.6.0
ts_xml >= 7.1.0
ts_idl >= 2.0.0
IDL files for all components, e.g. built with
make_idl_files.py
v0.7.0¶
Changes:
Implement workaround for issue with ATDome not reliably finishing open/close dome commands.
Fix offset_done method in ATCS, to properly wait for offset to be completed.
Improve handling of check.<component> in ATCS.shutdown.
Add boresight xy-axis parity determination in ATCS.
Implement xml 8 backward compatibility for MTMount in MTCS.
Add scripts to run mocks from the command line.
Add general base_tcs._offset method to manage offsets.
Implement persistent offsets.
Requirements:
ts_salobj >= 5.6.0
ts_xml >= 7.1.0
ts_idl >= 2.0.0
IDL files for all components, e.g. built with
make_idl_files.py
v0.6.0¶
Changes:
Implement changes required by xml 7.1: * Removes NewMTMount (replaced by MTMount) * Update MTMount topics names and attributes.
Improve error messages when heartbeat monitor fails.
Improve error messages when slew/track target commands fails.
Requirements:
ts_salobj >= 5.6.0
ts_xml >= 7.1.0
ts_idl >= 2.0.0
IDL files for all components, e.g. built with
make_idl_files.py
v0.5.1¶
Changes:
Stop using topic
applicationfromMTRotatorwhich is marked for deprecation.Remove git commit hooks and implement pre-commit.
Implement Jenkins shared library for conda build.
Requirements:
ts_salobj >= 5.6.0
ts_xml >= 7.0.0
ts_idl >= 2.0.0
IDL files for all components, e.g. built with
make_idl_files.py
v0.5.0¶
Changes:
Implement fixes required for xml 7.
Requirements:
ts_salobj >= 5.6.0
ts_xml >= 7.0.0
ts_idl >= 2.0.0
IDL files for all components, e.g. built with
make_idl_files.py
v0.4.2¶
Changes:
Remove use of features marked for deprecation in salobj 6.
Fix copyright messages that mentioned ts_standardscripts as the source package.
Use ts-conda-build metapackage to build conda packages.
Requirements:
ts_salobj >= 5.6.0
ts_xml >= 6.1.0
ts_idl >= 1.3.0
IDL files for all components, e.g. built with
make_idl_files.py
v0.4.1¶
Changes:
Move
check_trackingtobase_tcs.Test
check_trackingintest_mtcs.
Requirements:
ts_salobj >= 5.6.0
ts_xml >= 6.1.0
ts_idl >= 1.3.0
IDL files for all components, e.g. built with
make_idl_files.py
v0.4.0¶
Add
UsagesResourcesclass. The class provides a better interface for developers to encode use case information to control/reduce resources needed for operating with the control classes. Implement newUsagesResourcesclass on existing classes:ATCS,LATISS,ComCam,MTCS.In
RemoteGroup, addcomponents_attr, which has a list of remotes names and makecomponentsreturn a list of CSC names. CSC names are the string used to create the Remotes (e.g.,MTMountorHexapod:1) whereas remote names are the name of the CSC in lowercase, replacing the colon by and underscore (e.g.,mtmountorhexapod_1).
Requirements:
ts_salobj >= 5.6.0
ts_xml >= 6.1.0
ts_idl >= 1.3.0
IDL files for all components, e.g. built with
make_idl_files.py
v0.3.0¶
Some minor changes to
RemoteGroupto support components that only send out telemetry and events and do not reply to commands. This is to support the MTMount component.Add
BaseGroupMockclass. This class will make writing of mock classes with group of CSCs slightly easier, by taking care of a the basics.Add
BaseTCSclass to support genericTCSbehavior.Add
BaseCameraclass to support genericCamerabehavior.Modify
ATCSandLATISSmock classes to use the BaseGroupMock.Initial implementation of
MTCSwith mock class and unit tests. Currently implemented the basics and a couple of slew commands.Some improvements on how resources isolation (using check namespace) is implemented in TCS classes.
Requirements:
ts_salobj >= v5.6.0
ts_xml >= v6.1.0
ts_idl >= 1.2.2
IDL files for all components, e.g. built with
make_idl_files.py
v0.2.2¶
Fix flake8 F541 violations.
Requirements:
ts_salobj >=v5.6.0
ts_xml >=5.1.0
ts_idl >=v1.1.3
IDL files for all components, e.g. built with
make_idl_files.py
v0.2.1¶
Update ATCS for compatibility with ts_salobj 5.13.
Use the set_start method of remote commands, where practical.
Fix a bug in RemoteGroup.set_state: settingsToApply could be None in calls to lsst.ts.salobj.set_summary_state.
Requirements:
ts_salobj >=v5.6.0
ts_xml >=5.1.0
ts_idl >=v1.1.3
IDL files for all components, e.g. built with
make_idl_files.py
v0.2.0¶
Update package for compatibility with ts_xml 5.1.
Requirements:
ts_salobj >=v5.6.0
ts_xml >=5.1.0
ts_idl >=v1.1.3
IDL files for all components, e.g. built with
make_idl_files.py
v0.1.0¶
Classes moved out of ts_standardscripts into the new repository.
Implement new feature, intended_usage, to allow users to limit the resources
loaded at initialization time (useful for writing SAL Scripts).
Requirements:
ts_salobj >=v5.6.0
ts_idl >=v1.1.3
IDL files for all components, e.g. built with
make_idl_files.py