-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathREADME
More file actions
59 lines (39 loc) · 3.25 KB
/
README
File metadata and controls
59 lines (39 loc) · 3.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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