Getting started#

Introduction#

SCP stands for ‘Spectrograph Control Package’ and lvmscp is the actor that controls the lower level actors which are controlling devices inside the spectrograph. lvmscp is based on the sdss software framework CLU. Among them, sdss-clu is applied to create an actor that controls each hardware and executes communication.

In ‘CLU’, We define what an actor is: and actor is a piece of software that performs a well defined task (control a CCD camera, interface with a database) and is a server that receives commands and replies with a series of keywords. If you are not familiar with those concepts, the CLU’s documentation is a good reference place.

Installation#

lvmscp uses the CLU framework and requires a RabbitMQ instance running in the background.

lvmscp can be installed using pip

pip install sdss-lvmscp

or by cloning this repository

git clone https://github.com/sdss/lvmscp

The preferred installation for development is using poetry

cd lvmscp
poetry install

Hardware Components#

Here is the Hardware and Software Component diagram in spectrograph.

_images/HW__conf_20210824_LCO.png

Architecture#

Here is the Architecture and component diagram explaining the hierarchy of lvmscp. lvmscp is using the AMQP Actor class from clu which is based on RabbitMQ protocol, and each actor becomes a producer/consumer to activate commands.

_images/compo_diagram_20210824.png