DSM Developer Guide¶
The DSM is a non-configurable CSC that looks for output telemetry files from the Dome Seeing Monitor UI and sends that information across SAL for recording in the EFD. The CSC also has two simulation modes in addition to the standard operational (real) mode.
API¶
The content in this section is autogenerated from docstrings.
lsst.ts.dsm Package¶
Functions¶
|
Convert an ISO UTC timestring to TAI timestamp. |
|
Create the DSM UI Configuration file for simulation mode. |
|
Create the DSM UI telemetry file for simulation mode. |
|
Run the DSM CSC. |
Classes¶
|
Commandable SAL Component to interface with the LSST DSMs. |
Build and Test¶
The recommended method for development is to get the T&S development Docker container.
Instructions for this can be found here.
Follow the section on Developing on your own local folder on Docker
.
Since the DSM code is not shipped with the development container, a clone of the code is necessary.
git clone git@github.com:lsst-ts/ts_dsm.git
Change or create the appropriate branch in the clone.
To build the code and run the unit tests, do the following.
docker run -it --name {name for container} -v {repository_location}:/home/saluser/develop lsstts/develop-env:{tag}
cd develop/ts_dsm
setup -kr .
conda install -c conda-forge asyncinotify
pytest
The conda` installation of ``asyncinotify
is required since the package does not come
with the development environment.
While developing the code, pytest
can be used to run the unit tests after code changes.
Usage¶
The nominal usage patterns are covered in the User Guide
If the DSM is run in real mode for testing with the DSM UI, the telemetry directory
that the UI uses must be mounted into the container.
If one uses the repository location directory to create a directory (say telemetry
), this is handled by the docker run
command shown above.
However, the DSM CSC expects the telemetry directory to be in /home/saluser/telemetry
which is not provided in the development container.
This can be overridden by using the DSM_TELEMETRY_DIR
environment variable to set the new path.
The environment variable can be passed in as a command-line argument when the development container is started.
Building the Documentation¶
If the process described in Build and Test has been followed, then one builds the documentation by running the following from the top-level directory of the repository clone:
package-docs build
If the documenteer
package is not installed, then do the following before building the documentation from the top-level repository directory.
pip install -r docs/requirements.txt
Contributing¶
Code and documentation contributions utilize pull-requests on github.
Feature requests can be made by filing a Jira ticket with the DSM
label.
In all cases, reaching out to the contacts for this CSC is recommended.