Skip to content

Commit

Permalink
Add MOSS subsystem to XML
Browse files Browse the repository at this point in the history
  • Loading branch information
gmegh committed Oct 2, 2024
1 parent d29c64a commit b9da400
Show file tree
Hide file tree
Showing 8 changed files with 213 additions and 0 deletions.
1 change: 1 addition & 0 deletions doc/news/DM-46263.feature.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
CSC for the Multi Beam Optical Seeing Sensor (MOSS)
88 changes: 88 additions & 0 deletions python/lsst/ts/xml/data/sal_interfaces/MOSS/MOSS_Commands.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="http://lsst-sal.tuc.noao.edu/schema/SALCommandSet.xsl"?>
<SALCommandSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://lsst-sal.tuc.noao.edu/schema/SALCommandSet.xsd">
<SALCommand>
<Subsystem>MOSS</Subsystem>
<EFDB_Topic>MOSS_command_moveBeam</EFDB_Topic>
<Description>Move the beam by a relative angle.</Description>
<item>
<EFDB_Name>index</EFDB_Name>
<Description>Beam number</Description>
<IDL_Type>int</IDL_Type>
<Units>unitless</Units>
<Count>1</Count>
</item>
<item>
<EFDB_Name>tip</EFDB_Name>
<Description>Relative tip (azimuth) angle in degrees</Description>
<IDL_Type>float</IDL_Type>
<Units>degree</Units>
<Count>1</Count>
</item>
<item>
<EFDB_Name>tilt</EFDB_Name>
<Description>Relative tilt (elevation) angle in degrees</Description>
<IDL_Type>float</IDL_Type>
<Units>degree</Units>
<Count>1</Count>
</item>
</SALCommand>
<SALCommand>
<Subsystem>MOSS</Subsystem>
<EFDB_Topic>MOSS_command_runPulsedBeam</EFDB_Topic>
<Description>Run the commanded pulse beam with the given settings.</Description>
<item>
<EFDB_Name>intensity</EFDB_Name>
<Description>Intensity of the beam. The same intensity applies to all the beams and is not callibrated to a known IS units.</Description>
<IDL_Type>float</IDL_Type>
<Units>unitless</Units>
<Count>1</Count>
</item>
<item>
<EFDB_Name>number</EFDB_Name>
<Description>Number of pulses to be emitted</Description>
<IDL_Type>int</IDL_Type>
<Units>unitless</Units>
<Count>1</Count>
</item>
<item>
<EFDB_Name>frequency</EFDB_Name>
<Description>Frequency of the beam (number of pulses per second)</Description>
<IDL_Type>float</IDL_Type>
<Units>hertz</Units>
<Count>1</Count>
</item>
<item>
<EFDB_Name>pulseLength</EFDB_Name>
<Description>Length of the pulses</Description>
<IDL_Type>float</IDL_Type>
<Units>millisecond</Units>
<Count>1</Count>
</item>
</SALCommand>
<SALCommand>
<Subsystem>MOSS</Subsystem>
<EFDB_Topic>MOSS_command_stopPulsedBeam</EFDB_Topic>
<Description>Stop the commanded pulse beam.</Description>
</SALCommand>
<SALCommand>
<Subsystem>MOSS</Subsystem>
<EFDB_Topic>MOSS_command_insertFlipAttenuator</EFDB_Topic>
<Description>Insert the flip attenuator.</Description>
</SALCommand>
<SALCommand>
<Subsystem>MOSS</Subsystem>
<EFDB_Topic>MOSS_command_removeFlipAttenuator</EFDB_Topic>
<Description>Remove the flip attenuator.</Description>
</SALCommand>
<SALCommand>
<Subsystem>MOSS</Subsystem>
<EFDB_Topic>MOSS_command_powerOff</EFDB_Topic>
<Description>Turn off the PDU of MOSS.</Description>
</SALCommand>
<SALCommand>
<Subsystem>MOSS</Subsystem>
<EFDB_Topic>MOSS_command_powerOn</EFDB_Topic>
<Description>Turn on the PDU of MOSS.</Description>
</SALCommand>
</SALCommandSet>
66 changes: 66 additions & 0 deletions python/lsst/ts/xml/data/sal_interfaces/MOSS/MOSS_Events.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="http://lsst-sal.tuc.noao.edu/schema/SALEventSet.xsl"?>
<SALEventSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://lsst-sal.tuc.noao.edu/schema/SALEventSet.xsd">
<Enumeration>AttenuatorState_inPlace,AttenuatorState_removed</Enumeration>
<Enumeration>BeamStatus_ON,BeamStatus_OFF</Enumeration>
<SALEvent>
<Subsystem>MOSS</Subsystem>
<EFDB_Topic>MOSS_logevent_beamIntensity</EFDB_Topic>
<Description>Report the intensity of the beam</Description>
<item>
<EFDB_Name>intensity</EFDB_Name>
<Description>Intensity of the beam. The same intensity applies to all the beams and is not calibrated to a known IS units.</Description>
<IDL_Type>int</IDL_Type>
<Units>unitless</Units>
<Count>1</Count>
</item>
</SALEvent>
<SALEvent>
<Subsystem>MOSS</Subsystem>
<EFDB_Topic>MOSS_logevent_pulseLength</EFDB_Topic>
<Description>Report the length of the pulse</Description>
<item>
<EFDB_Name>pulseLength</EFDB_Name>
<Description>Length of the pulse in seconds</Description>
<IDL_Type>float</IDL_Type>
<Units>millisecond</Units>
<Count>1</Count>
</item>
</SALEvent>
<SALEvent>
<Subsystem>MOSS</Subsystem>
<EFDB_Topic>MOSS_logevent_pulseFrequency</EFDB_Topic>
<Description>Report the frequency of the pulse</Description>
<item>
<EFDB_Name>frequency</EFDB_Name>
<Description>Frequency of the pulse (number of pulses per second)</Description>
<IDL_Type>float</IDL_Type>
<Units>hertz</Units>
<Count>1</Count>
</item>
</SALEvent>
<SALEvent>
<Subsystem>MOSS</Subsystem>
<EFDB_Topic>MOSS_logevent_beamState</EFDB_Topic>
<Description>Report the state of the beam</Description>
<item>
<EFDB_Name>state</EFDB_Name>
<Description>BeamStatus enumeration.</Description>
<IDL_Type>long</IDL_Type>
<Units>unitless</Units>
<Count>1</Count>
</item>
</SALEvent>
<SALEvent>
<Subsystem>MOSS</Subsystem>
<EFDB_Topic>MOSS_logevent_flipAttenuatorState</EFDB_Topic>
<Description>Report the state of the flip attenuator</Description>
<item>
<EFDB_Name>state</EFDB_Name>
<Description>AttenuatorState enumeration.</Description>
<IDL_Type>long</IDL_Type>
<Units>unitless</Units>
<Count>1</Count>
</item>
</SALEvent>
</SALEventSet>
18 changes: 18 additions & 0 deletions python/lsst/ts/xml/data/sal_interfaces/SALSubsystems.xml
Original file line number Diff line number Diff line change
Expand Up @@ -748,6 +748,24 @@
<Simulator>Internal to CSC</Simulator>
<Configuration>https://github.com/lsst-ts/ts_config_mttcs</Configuration>
</SALSubsystem>
<SALSubsystem>
<Name>MOSS</Name>
<Description>The CSC for the Multi Beam Optical Seeing Sensor</Description>
<IndexEnumeration>no</IndexEnumeration>
<AddedGenerics>csc, configurable</AddedGenerics>
<ActiveDevelopers>Guillem Megias</ActiveDevelopers>
<Github>https://github.com/lsst-ts/ts_moss</Github>
<JenkinsTestResults>https://tssw-ci.lsst.org/job/LSST_Telescope-and-Site/job/ts_moss/</JenkinsTestResults>
<RubinObsContact>Christopher Stubbs</RubinObsContact>
<CSCDocs>https://ts-moss.lsst.io</CSCDocs>
<ProductOwner>Sandrine Thomas</ProductOwner>
<RelatedDocuments/>
<SoftwareLanguage>Python</SoftwareLanguage>
<RuntimeLanguages>IDL</RuntimeLanguages>
<VendorContact>Not Applicable</VendorContact>
<Simulator>Internal to CSC</Simulator>
<Configuration>https://github.com/lsst-ts/ts_config_mttcs</Configuration>
</SALSubsystem>
<SALSubsystem>
<Name>MTAOS</Name>
<Description>The CSC for the Main Telescope Active Optics System</Description>
Expand Down
33 changes: 33 additions & 0 deletions python/lsst/ts/xml/enums/MOSS.py
Original file line number Diff line number Diff line change
@@ -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()
1 change: 1 addition & 0 deletions python/lsst/ts/xml/enums/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
ESS,
GIS,
HVAC,
MOSS,
MTAOS,
MTM1M3,
MTM2,
Expand Down
1 change: 1 addition & 0 deletions python/lsst/ts/xml/testutils.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@
"LEDProjector",
"LinearStage",
"LOVE",
"MOSS",
"MTAOS",
"MTCamera",
"MTDome",
Expand Down
5 changes: 5 additions & 0 deletions towncrier.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down

0 comments on commit b9da400

Please sign in to comment.