Skip to content

Project for generating and maintaining M1CS configuration and database information

Notifications You must be signed in to change notification settings

tmtsoftware/M1CS-ConfigDatabase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Version 3: 5/6/25

This is a PKL project (https://pkl-lang.org) to create the config files for the M1CS

This work supports the M1CS PDR in November 2025

There are 7 generated configuration files and associated files needed for the configuration files.

SegmentEIds.pkl - Creates the SegmentEIds.json file that maps what I call segment names (e.g. "s324") to segment
electronic IDs.  This includes the 492 segments and the 82 spares. The segmentEids are faked and this file will be
recreated once the EIds are known.

ActuatorEIds.pkl - Creates the ActuatorEIds.json file that maps what I call actuator names (e.g. "a134") to actuator
electronic IDs.  This includes the 1476 telescope actuators and 50 spares. The actuatorEIds are faked and this file will
be recreated once the EIds are known.

MirrorCellEIds.pkl - Creates the MirrorCellEIds.json file that maps mirror cell names (e.g. "A34") to mirror cell
electronic IDs. This includes 492 mirror cell locations. The mirror cell EIds are faked and this file will be recreated
once the EIds are known.

ActuatorConfig.pkl creates the ActuatorConfig.json file. This file creates the configurations of the actuators
including all spreadsheet parameters. The ActuatorConfig.pkl file is where the default values are overridden
for specific actuators providing the updated values.

WHItemsConfig.pkl creates the entries for the warping harness motors and strain gauges called WHItems. The config
file is a mapping between segment names and the various warping harness parameters from the spreadsheet.  Also included
is the segmentEId for each segment since the warping harness items are tied to the segment.

InstalledConfig.pkl is the list of CellNames (i.e. A22) that are installed in the mirror.  This list is used to
construct MirrorConfig.json. The value InstalledConfig.installedSegments should be set to one of the predefined
sets of CellNames or create your own.  The constructed file is created with "smallSetofSegments", which has 1 and 2
in each sector. A file called InstalledSegmentsConfig.json is created in output with makeAll.

MirrorConfig.pkl creates the MirrorConfig.json file. This file combines the mirror cell locations with the installed
actuators. When created, a reference such as "a234" is used to extract the actuator parameters from ActuatorConfig.
The MirrorConfig creates entries for every installed segment.

There is no sensor config files as far as I can tell.  Their data is all in the database side.

The defaults are held in the lower level files in the mirror, segments, wh, and actuator directories for
each of the three files.

The files in JSON are generated in the output directory.  The command to generate a file is
like this (it’s also shown in each file):

pkl eval -m output/ ActuatorConfig.pkl

for testing each file the following is useful:

pkl eval -f json filename.pkl

The makeAll shell script can be used to generate all the JSON files in the output directory.

This MirrorConfig generation is configured to create configuration files for a few sectors and segments. The size of the files
is setup in mirror/MirrorBase.pkl where you can set the sectors and the number of mirrors in each sector.

PKL is not super hard to pick up, but it does take a little time.

The docs are here:  https://pkl-lang.org/main/current/index.html

About

Project for generating and maintaining M1CS configuration and database information

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published