From b9da400e7796edf1ec40b45666d465aac6cd8857 Mon Sep 17 00:00:00 2001 From: gmegh Date: Wed, 2 Oct 2024 14:12:35 -0700 Subject: [PATCH] Add MOSS subsystem to XML --- doc/news/DM-46263.feature.rst | 1 + .../sal_interfaces/MOSS/MOSS_Commands.xml | 88 +++++++++++++++++++ .../data/sal_interfaces/MOSS/MOSS_Events.xml | 66 ++++++++++++++ .../xml/data/sal_interfaces/SALSubsystems.xml | 18 ++++ python/lsst/ts/xml/enums/MOSS.py | 33 +++++++ python/lsst/ts/xml/enums/__init__.py | 1 + python/lsst/ts/xml/testutils.py | 1 + towncrier.toml | 5 ++ 8 files changed, 213 insertions(+) create mode 100644 doc/news/DM-46263.feature.rst create mode 100644 python/lsst/ts/xml/data/sal_interfaces/MOSS/MOSS_Commands.xml create mode 100644 python/lsst/ts/xml/data/sal_interfaces/MOSS/MOSS_Events.xml create mode 100644 python/lsst/ts/xml/enums/MOSS.py diff --git a/doc/news/DM-46263.feature.rst b/doc/news/DM-46263.feature.rst new file mode 100644 index 000000000..d249ea03b --- /dev/null +++ b/doc/news/DM-46263.feature.rst @@ -0,0 +1 @@ +CSC for the Multi Beam Optical Seeing Sensor (MOSS) \ No newline at end of file diff --git a/python/lsst/ts/xml/data/sal_interfaces/MOSS/MOSS_Commands.xml b/python/lsst/ts/xml/data/sal_interfaces/MOSS/MOSS_Commands.xml new file mode 100644 index 000000000..65d4b09f4 --- /dev/null +++ b/python/lsst/ts/xml/data/sal_interfaces/MOSS/MOSS_Commands.xml @@ -0,0 +1,88 @@ + + + + + MOSS + MOSS_command_moveBeam + Move the beam by a relative angle. + + index + Beam number + int + unitless + 1 + + + tip + Relative tip (azimuth) angle in degrees + float + degree + 1 + + + tilt + Relative tilt (elevation) angle in degrees + float + degree + 1 + + + + MOSS + MOSS_command_runPulsedBeam + Run the commanded pulse beam with the given settings. + + intensity + Intensity of the beam. The same intensity applies to all the beams and is not callibrated to a known IS units. + float + unitless + 1 + + + number + Number of pulses to be emitted + int + unitless + 1 + + + frequency + Frequency of the beam (number of pulses per second) + float + hertz + 1 + + + pulseLength + Length of the pulses + float + millisecond + 1 + + + + MOSS + MOSS_command_stopPulsedBeam + Stop the commanded pulse beam. + + + MOSS + MOSS_command_insertFlipAttenuator + Insert the flip attenuator. + + + MOSS + MOSS_command_removeFlipAttenuator + Remove the flip attenuator. + + + MOSS + MOSS_command_powerOff + Turn off the PDU of MOSS. + + + MOSS + MOSS_command_powerOn + Turn on the PDU of MOSS. + + diff --git a/python/lsst/ts/xml/data/sal_interfaces/MOSS/MOSS_Events.xml b/python/lsst/ts/xml/data/sal_interfaces/MOSS/MOSS_Events.xml new file mode 100644 index 000000000..34593c99b --- /dev/null +++ b/python/lsst/ts/xml/data/sal_interfaces/MOSS/MOSS_Events.xml @@ -0,0 +1,66 @@ + + + + AttenuatorState_inPlace,AttenuatorState_removed + BeamStatus_ON,BeamStatus_OFF + + MOSS + MOSS_logevent_beamIntensity + Report the intensity of the beam + + intensity + Intensity of the beam. The same intensity applies to all the beams and is not calibrated to a known IS units. + int + unitless + 1 + + + + MOSS + MOSS_logevent_pulseLength + Report the length of the pulse + + pulseLength + Length of the pulse in seconds + float + millisecond + 1 + + + + MOSS + MOSS_logevent_pulseFrequency + Report the frequency of the pulse + + frequency + Frequency of the pulse (number of pulses per second) + float + hertz + 1 + + + + MOSS + MOSS_logevent_beamState + Report the state of the beam + + state + BeamStatus enumeration. + long + unitless + 1 + + + + MOSS + MOSS_logevent_flipAttenuatorState + Report the state of the flip attenuator + + state + AttenuatorState enumeration. + long + unitless + 1 + + + diff --git a/python/lsst/ts/xml/data/sal_interfaces/SALSubsystems.xml b/python/lsst/ts/xml/data/sal_interfaces/SALSubsystems.xml index bca8c9a14..d062cdb2a 100644 --- a/python/lsst/ts/xml/data/sal_interfaces/SALSubsystems.xml +++ b/python/lsst/ts/xml/data/sal_interfaces/SALSubsystems.xml @@ -748,6 +748,24 @@ Internal to CSC https://github.com/lsst-ts/ts_config_mttcs + + MOSS + The CSC for the Multi Beam Optical Seeing Sensor + no + csc, configurable + Guillem Megias + https://github.com/lsst-ts/ts_moss + https://tssw-ci.lsst.org/job/LSST_Telescope-and-Site/job/ts_moss/ + Christopher Stubbs + https://ts-moss.lsst.io + Sandrine Thomas + + Python + IDL + Not Applicable + Internal to CSC + https://github.com/lsst-ts/ts_config_mttcs + MTAOS The CSC for the Main Telescope Active Optics System diff --git a/python/lsst/ts/xml/enums/MOSS.py b/python/lsst/ts/xml/enums/MOSS.py new file mode 100644 index 000000000..5282f5b95 --- /dev/null +++ b/python/lsst/ts/xml/enums/MOSS.py @@ -0,0 +1,33 @@ +# This file is part of ts_xml. +# +# Developed for Vera Rubin Observatory. +# This product includes software developed by the LSST Project +# (https://www.lsst.org). +# See the COPYRIGHT file at the top-level directory of this distribution +# for details of code ownership. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License + +__all__ = ["BeamStatus", "AttenuatorState"] + +import enum + + +class BeamStatus(enum.IntEnum): + OFF = enum.auto() + ON = enum.auto() + + +class AttenuatorState(enum.IntEnum): + inPlace = 1 + removed = enum.auto() diff --git a/python/lsst/ts/xml/enums/__init__.py b/python/lsst/ts/xml/enums/__init__.py index e720bb71d..d6e1d42ae 100644 --- a/python/lsst/ts/xml/enums/__init__.py +++ b/python/lsst/ts/xml/enums/__init__.py @@ -25,6 +25,7 @@ ESS, GIS, HVAC, + MOSS, MTAOS, MTM1M3, MTM2, diff --git a/python/lsst/ts/xml/testutils.py b/python/lsst/ts/xml/testutils.py index 32fd2db47..1cf060be0 100644 --- a/python/lsst/ts/xml/testutils.py +++ b/python/lsst/ts/xml/testutils.py @@ -69,6 +69,7 @@ "LEDProjector", "LinearStage", "LOVE", + "MOSS", "MTAOS", "MTCamera", "MTDome", diff --git a/towncrier.toml b/towncrier.toml index e5d047ea7..9bae0b699 100644 --- a/towncrier.toml +++ b/towncrier.toml @@ -232,6 +232,11 @@ directory = "mtaos" name = "MTAOS" showcontent = true +[[tool.towncrier.type]] +directory = "moss" +name = "MOSS" +showcontent = true + [[tool.towncrier.type]] directory = "mtaircompressor" name = "MTAirCompressor"