Skip to content

lsst-ts/ts_TunableLaser

Repository files navigation

ts-TunableLaser

The TunableLaser is a CSC for the Vera C. Rubin Observatory. It controls a laser for the Main Telescope Calibration System.

Documentation

Installation

setup -kr .
scons
python runTunableLaserCSC.py
pip install .[dev]
python runTunableLaserCSC.py

Requirements

This project uses the black linter.

Run the following once in the repository

git config core.hooksPath .githooks
chmod +x .githooks/pre-commit

Usage

Start up the remote for commanding the CSC

from lsst.ts import salobj
tunable_laser = salobj.Remote(name="TunableLaser", domain=salobj.Domain())
await tunable_laser.start_task

How to command the CSC

await tunable_laser.cmd_startPropagateLaser.set_start(timeout=10)
await tunable_laser.cmd_stopPropagateLaser.set_start(timeout=10)
await tunable_laser.cmd_changeWavelength.set_start(wavelength=650, timeout=10)

Getting the events from the CSC

laser_instability = await tunable_laser.evt_laserInstabilityFlag.aget()
wavelength_changed = await tunable_laser.evt_wavelengthChanged.aget()

Getting the telemetry from the CSC

wavelength = await tunable_laser.tel_wavelength.aget()
temperature = await tunable_laser.tel_temperature.aget()

Support

Contact info for developer(s) and product owner. Use the Jira project to file tickets under the ts_TunableLaser label

Roadmap

N/A

Contributing

Check the developer guide for help finding out how to contribute to this project.

License

This project is released under the GPL V3 License.