-
Notifications
You must be signed in to change notification settings - Fork 0
tmtsoftware/M1CS-ConfigDatabase
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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 0
No packages published