Version History

v2.0.0

  • Move all non-CSC code and documentation to ts_mtdomecom.

Requires:

  • ts_salobj 7

  • ts_idl

  • ts_mtdomecom

  • ts_xml 22.0

v1.18.2

  • Ensure that aperture shutter position values cannot be negative.

Requires:

  • ts_salobj 7

  • ts_idl

  • ts_tcpip 2.0

  • ts_utils 1.2

  • ts_xml 22.0

v1.18.1

  • Fix status command errors.

  • Add check for appliedConfiguration key in AMCS telemetry.

  • Avoid exception when canceling status command tasks.

  • Add debug statements.

  • Disable status commands for subsystems on the rotating part.

  • Implement workaround for missing telemetry.

Requires:

  • ts_salobj 7

  • ts_idl

  • ts_tcpip 2.0

  • ts_utils 1.2

  • ts_xml 22.0

v1.18.0

  • Remove backward compatibility with XML 21.0.

  • Remove duplicate moveAz command check.

  • Correctly stop background tasks.

Requires:

  • ts_salobj 7

  • ts_idl

  • ts_tcpip 2.0

  • ts_utils 1.2

  • ts_xml 22.0

v1.17.0

  • Remove backward compatibility with ts_xml 20.3.

  • Remove “operationalMode” from the mock RAD status.

  • Add support for the capacitor banks state event.

  • Improve notifying of duplicate commands.

Requires:

  • ts_salobj 7

  • ts_idl

  • ts_tcpip 2.0

  • ts_utils 1.2

  • ts_xml 21.0

v1.16.0

  • Remove backward compatibility with ts_xml 20.2.

  • Add do_setPowerManagementMode command.

  • Fix conda recipe.

Requires:

  • ts_salobj 7

  • ts_idl

  • ts_tcpip 2.0

  • ts_utils 1.2

  • ts_xml 20.3

v1.15.7

  • Fix a bug in the louvers state machine.

  • Implement the aperture shutter and azimuth rotation state machines.

  • Consolidate remaining mock_motion code into existing code.

Requires:

  • ts_salobj 7

  • ts_idl

  • ts_tcpip 2.0

  • ts_utils 1.2

  • ts_xml 20.2

v1.15.6

  • Make sure that the shutter position cannot exceed 100%.

  • Update the version of ts-conda-build to 0.4 in the conda recipe.

Requires:

  • ts_salobj 7

  • ts_idl

  • ts_tcpip 2.0

  • ts_utils 1.2

  • ts_xml 20.2

v1.15.5

  • Log a warning message when a duplicate moveAz command is received. Duplicate moveAz commands get ignored and that was not visible to the operators.

Requires:

  • ts_salobj 7

  • ts_idl

  • ts_tcpip 2.0

  • ts_utils 1.2

  • ts_xml 20.2

v1.15.4

  • Set log level for local run script to DEBUG.

  • Rename the calibrateAz command to setZeroAz.

Requires:

  • ts_salobj 7

  • ts_idl

  • ts_tcpip 2.0

  • ts_utils 1.2

  • ts_xml 20.2

v1.15.3

  • Add temporary InternalMotionState values.

  • Improve handling of InternalMotionState values.

Requires:

  • ts_salobj 7

  • ts_idl

  • ts_tcpip 2.0

  • ts_utils 1.2

  • ts_xml 20.2

v1.15.2

  • Increase frequency of all low frequency status commands.

  • Workaround for missing “commandId” in command replies.

  • Remove workaround for handling IDLE state.

  • Disable all status commands to avoid overloading the CSC during unit tests.

Requires:

  • ts_salobj 7

  • ts_idl

  • ts_tcpip 2.0

  • ts_utils 1.2

  • ts_xml 20.2

v1.15.1

  • Add new response codes.

  • Take CSCS, RAD, OBC power draw into account.

  • Add LCS state machine infrastructure.

  • Add ThCS state machine infrastructure.

Requires:

  • ts_salobj 7

  • ts_idl

  • ts_tcpip 2.0

  • ts_utils 1.2

  • ts_xml 20.2

v1.15.0

  • Switch to do_fans and do_inflate commands.

  • Improve unit test code.

  • Add test for the statusRAD command.

  • Add support for the statusCSCS command.

These changes require at least ts_xml 20.2 and will not work with ts_xml 20.1 or before.

Requires:

  • ts_salobj 7

  • ts_idl

  • ts_tcpip 2.0

  • ts_utils 1.2

  • ts_xml 20.2

v1.14.1

  • Add and use slip ring state machine.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_tcpip 1.1

  • ts_utils 1.0

  • ts_xml 20.0

v1.14.0

  • Replace ts_idl enums with ts_xml ones.

  • Reduce complexity of the “request_and_send_llc_status” command.

  • Replace all string command names with an enum.

  • Remove check for missing commandId.

  • Start implementing power management.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_tcpip 1.1

  • ts_utils 1.0

  • ts_xml 20.0

v1.13.0

  • Set ApsCS positionCommanded to two values.

  • Add RAD status.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_tcpip 1.1

  • ts_utils 1.0

  • ts_xml 20.0

v1.12.13

  • Make azimuth rotation remember its position.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_tcpip 1.1

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 16.0

v1.12.12

  • Suppress “command has not received a reply” warnings.

  • Remove backward compatibility with older XML versions.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_tcpip 1.1

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 16.0

v1.12.11

  • Explicitly use the value of string enums. This apparently is necessary for Python 3.11.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_tcpip 1.1

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 16.0

v1.12.10

  • Make sure that all config schemas get loaded.

  • Make sure that the CSC can handle data from the control software without a commandId.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_tcpip 1.1

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 16.0

v1.12.9

  • Add a ‘commandId’ to all commands and replies and handle commands with no replies after a certain time limit.

  • Add two more ResponseCodes.

  • Fix dunder and imports order.

  • Make MockMTDomeController a subclass of tcpip.OneClientReadLoopServer. This requires ts_tcpip 1.1.

  • Use tcpip.Client in the CSC. This requires ts_tcpip 1.1.

  • Remove support for scons.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_tcpip 1.1

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 16.0

v1.12.8

  • Switch to using ts_pre_commit_conf.

  • Silently ignore repeated moveAz commands for the same position and velocity == 0.0.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 16.0

v1.12.7

  • Update pre-commit hook versions.

  • Remove DISABLED Motion State translation.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 12.0

v1.12.6

  • Enable the possibility to set the maximum velocity, acceleration and jerk for the azimuth rotation via the configuration.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 12.0

v1.12.5

  • Fix a division by zero error when crawling in AZ with the mock controller.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 12.0

v1.12.4

  • Update the pre-commit configuration.

  • Fix a mypy issue.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 12.0

v1.12.3

  • Correct azTarget event in case of a park command.

  • Add debug log statements for the commands received.

  • Add workaround for IDLE state.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 12.0

v1.12.2

  • Clear the Enabled event faultCode when necessary.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 12.0

v1.12.1

  • Document the simulation modes.

  • Switch from py.test to pytest.

  • Enable all commands in simulation mode and only some in operation mode.

  • Send Enabled events when the lower level components exit from FAULT state.

  • Correct the MTDome zero point offset implementation.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 12.0

v1.12.0

  • Disable polling the status of all subsystems except AMCS.

  • Introduce backward compatibility with XML 12.0 for the TMA Pointing Test.

  • Replace MTDome control software states with the ones from IDL.

  • Introduce a new simulation mode, where the MockController doesn’t get started by the CSC, for test purposes.

  • Improve starting and stopping of MockController.

  • Improve error handling of the CSC ‘write then read’ loop.

  • The mock controllers now report the true current and power consumptions.

  • The mock ApSCS controller now reports the maximum duration in case there are multiple.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 12.0

v1.11.3

  • Refactor the other test cases to contain less duplicate code.

  • Rename the ‘searchZeroShutter’ command to ‘home’ and make it apply to all subsystems.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 12.1

v1.11.2

  • Refactor the AMCS test cases to contain less duplicate code.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 12.1

v1.11.1

  • Refactor the BaseLlcMotion class to have subclasses with and without crawl.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 12.1

v1.11.0

  • Restore black, flake8 and mypy pytest configuration options.

  • Add ShutterMotion class for mocking the Aperture Shutter state machine.

  • Add power consumption to AMCS, SpSCS, LCS and LWSCS.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 12.1

v1.10.0

  • Sort imports with isort.

  • Install new pre-commit hooks.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 12.1

v1.9.0

  • Re-enable the shutter commands.

  • Add the searchZeroShutter and resetDrivesShutter commands.

  • Add support for multiple Python versions for conda.

  • Modernize type annotations.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 12.1

v1.8.0

  • Modernize pre-commit config versions.

  • Switch to pyproject.toml.

  • Use entry_points instead of bin scripts.

  • Disable all non-azimuth rotation related commands.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 11.2

v1.7.2

  • Modernize Jenkinsfile.

  • Add emitting the evt_azConfigurationApplied event.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 11.2

v1.7.1

  • Fix a unit test that occasionally failed due to timing issues by removing the checks for events and adding a missing state transition.

  • Fix another unit test that was waiting for an event that never got emitted.

  • Implement the dome zero point offset of 32 degrees.

  • Temporarily disable LWSCS commands because of the upcoming TMA pointing test.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 11

v1.7.0

Changes:

  • Improved handling of ERROR in the MockController.

  • Added the resetDrivesAz and calibrateAz commands.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 11

v1.6.0

Changes:

  • Prepare for salobj 7.

Requires:

  • ts_salobj 7.0

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 11

v1.5.1

Changes:

  • Add network error handling.

Requires:

  • ts_salobj 6.3

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 10.2

v1.5.0

Changes:

  • Add “appliedConfiguration” to the status replies of AMCS and LWSCS.

  • Add additional LLC states that are translated into MOVING, STOPPING or PARKING.

  • Update the documentation to contain the full list of LLC commands and statuses.

  • Update the MockController to handle the new state transitions.

  • Fix a new mypy error by not checking DM’s lsst/__init__.py files.

  • Add new MotionStates to IDL.

Requires:

  • ts_salobj 6.3

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 10.2

v1.4.0

Changes:

  • Modify the unit tests because of changes in IDL.

  • Replace the use of ts_salobj functions with ts_utils functions.

  • Adde auto-enable capability.

  • Rename “error” to “messages” in the status telemetry.

  • Add “operationalMode” to the status telemetry.

  • Add commands and events to change the operational mode of a lower level component.

  • Modernize the unit tests.

Requires:

  • ts_salobj 6.3

  • ts_idl

  • ts_utils 1.0

  • IDL file for MTDome from ts_xml 10.0

v1.3.0

Changes:

  • Change the ApSCS positionActual from one to two values.

  • Add type annotations.

  • Rewrite the way the JSON schemas are loaded.

  • Update the error part of the AMCS, ApSCS, LCS, LWSCS and ThCS status replies.

  • Rename the project to ts_mtdome.

  • Rename the top level Python module to lsst.ts.mtdome.

Requires:

  • ts_salobj 6.3

  • ts_idl

  • IDL file for MTDome from ts_xml 10.0

v1.2.0

Changes:

  • Add the exitFault, goStationary and restore commands.

  • Rename the resolver telemetry items to barcodeHead and added a barcodeHead item.

Requires:

  • ts_salobj 6.3

  • ts_idl

  • IDL file for MTDome from ts_xml 9.1

v1.1.0

Changes:

  • Remove the use of asynctest

  • Upgrade the version of Black to 20.8b1

  • Upgrade the version of ts-conda-build to 0.3

Requires:

  • ts_salobj 6.3

  • ts_idl

  • IDL file for MTDome from ts_xml 8.0

v1.0.1

Changes:

  • Fix conda recipe.

Requires:

  • ts_salobj 6.3

  • ts_idl

  • IDL file for MTDome from ts_xml 8.0

v1.0.0

Changes:

  • Updates for ts_xml 8.0 and ts_salobj 6.3

Requires:

  • ts_salobj 6.3

  • ts_idl

  • IDL file for MTDome from ts_xml 8.0

v0.7.2

Changes:

  • Disable several unit test cases.

Requires:

  • ts_salobj 6.1

  • ts_idl

  • IDL file for MTDome from ts_xml 7.0

v0.7.1

Changes:

  • Small fixes related to the JSON schemas.

Requires:

  • ts_salobj 6.1

  • ts_idl

  • IDL file for MTDome from ts_xml 7.0

v0.7.

Changes:

  • Add validation of outgoing and incoming JSON data based on JSON schemas.

Requires:

  • ts_salobj 6.1

  • ts_idl

  • IDL file for MTDome from ts_xml 7.0

v0.6.1

Changes:

  • Update Jenkinsfile.conda to use the shared library.

  • Pin the versions of ts_idl and ts_salobj in conda/meta.yaml.

Requires:

  • ts_salobj 6.0

  • ts_idl

  • IDL file for MTDome from ts_xml 7.0

v0.6.0

  • Switch to pre-commit

  • Switch to ts-conda-build

  • Switch to JenkinsShared for the conda build

  • Small code updates due to modifications in ts_xml for MTDome

Requires:

  • ts_salobj 6.0

  • ts_idl

  • IDL file for MTDome from ts_xml 7.0

v0.5.0

Requires:

  • ts_salobj 6.0

  • ts_idl

  • IDL file for MTDome from ts_xml 7.0

v0.4.0

  • The Lower Level Component simulators for AMCS and LWSCS now handle 0/360 azimuth and 0/90 elevation limits correctly.

  • The Lower Level Component simulators for AMCS and LWSCS now correctly report the duration of the commands to execute.

  • Add a test to verify that all code has been formatted by Black.

Requires:

  • ts_salobj 6.0

  • ts_idl

  • IDL file for Dome from ts_xml 4.8

v0.3.0

  • The statuses from the lower level components are not a dict in a list but a dict.

  • The configuration protocol no longer has [key, value] pairs, but {target: key, setting: value} dicts.

Requires:

  • ts_salobj 6.0

  • ts_idl

  • IDL file for Dome from ts_xml 4.8

v0.2.1

  • Reformat code with black.

  • Fix f-strings with no string substitution.

  • Pin black version in meta.yaml to 19.10b0

Requires:

  • ts_salobj 5.15

  • ts_idl

  • IDL file for Dome from ts_xml 4.8

v0.2.0

Add documentation regarding communication protocols, commands, response codes, component statuses and configuration parameters.

Requires:

  • ts_salobj 5.15

  • ts_idl

  • IDL file for Dome from ts_xml 4.8

v0.1.0

First release of the Dome CSC and simulator.

This version already includes many useful things:

  • A functioning Dome CSC which accepts all Dome Commands defined in ts_xml

  • A functioning mock controller which accepts all JSON-style commands sent by the Dome CSC

  • Functioning basic mock Lower Level Components which report their statuses. The following functionality has been implemented:

    • Azimuth rotation: simulates moving and crawling by taking into account the velocity parameters. No acceleration is simulated.

    • Aperture shutter: simulates instantaneous opening and closing.

    • Louvers: simluates instantaneous opening and closing.

    • Light and Wind Screen: simulates moving and crawling by taking into account the velocity parameters. No acceleration is simulated.

    • Interlock Monitoring: only reports a status.

    • Temperature regulation: simulates instantaneous setting of the temperature

For a full overview of the commands, communication protocols and LLC statuses, see Dome Software Documentation

Requires:

  • ts_salobj 5.15

  • ts_idl

  • IDL file for Dome from ts_xml 4.8