extract motor positions to yaml file
All checks were successful
CI for pxii_bec / test (push) Successful in 31s
All checks were successful
CI for pxii_bec / test (push) Successful in 31s
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
from dataclasses import dataclass
|
||||
import numpy as np
|
||||
import yaml
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@@ -240,13 +241,13 @@ class GroupTarget:
|
||||
@dataclass(frozen=True)
|
||||
class SE:
|
||||
"""Define settings for scintillator, collimator, i1"""
|
||||
scin = Target(38.6, 20.0, 0.1, dev.scin_y, lambda: dev.scin_y.read()['scin_y']['value'])
|
||||
i1 = Target(44.0, 20.0, 0.2, dev.scin_y, lambda: dev.scin_y.read()['scin_y']['value'])
|
||||
colly = Target(41.5, 20.0, 0.05, dev.coll_y, lambda: dev.coll_y.read()['coll_y']['value'])
|
||||
bsy = Target(0.6, -0.4, 0.05, dev.bs_y, lambda: dev.bs_y.read()['bs_y']['value'])
|
||||
bsx = Target(2.0, 2.0, 0.05, dev.bs_x, lambda: dev.bs_x.read()['bs_x']['value'])
|
||||
blpos = Target(1, 0, 0, dev.blight_pos, lambda: dev.blight_pos.read()['blight_pos']['value'])
|
||||
bspos = Target(1, 0, 0, dev.bs_pos, lambda: dev.bs_pos.read()['bs_pos']['value'])
|
||||
scin = Target(0.0, 0.0, 0.1, dev.scin_y, lambda: dev.scin_y.read()['scin_y']['value'])
|
||||
i1 = Target(0.0, 0.0, 0.2, dev.scin_y, lambda: dev.scin_y.read()['scin_y']['value'])
|
||||
colly = Target(0.0, 0.0, 0.05, dev.coll_y, lambda: dev.coll_y.read()['coll_y']['value'])
|
||||
bsy = Target(0.0, 0, 0.05, dev.bs_y, lambda: dev.bs_y.read()['bs_y']['value'])
|
||||
bsx = Target(0.0, 0.0, 0.05, dev.bs_x, lambda: dev.bs_x.read()['bs_x']['value'])
|
||||
blpos = Target(0.0, 0.0, 0.0, dev.blight_pos, lambda: dev.blight_pos.read()['blight_pos']['value'])
|
||||
bspos = Target(0.0, 0.0, 0.0, dev.bs_pos, lambda: dev.bs_pos.read()['bs_pos']['value'])
|
||||
# cryopos = Target(1, 0, 0, dev.cryo_pos, lambda: dev.cryo_pos.read()['cryo_pos']['value'])
|
||||
# xrfpos = Target(1, 0, 0, dev.xrf_pos, lambda: dev.xrf_pos.read()['xrf_pos']['value'])
|
||||
# coll = GroupTarget(
|
||||
@@ -257,4 +258,15 @@ class SE:
|
||||
# x = Target(2.65, 2.65, 0.05, dev.bs_x, lambda: dev.bs_x.read()['bs_x']['value']),
|
||||
# y = Target(0.1, 0.1, 0.05, dev.bs_y, lambda: dev.bs_y.read()['bs_y']['value'])
|
||||
# )
|
||||
|
||||
|
||||
@classmethod
|
||||
def load_positions(cls, filename: str):
|
||||
with open(filename) as f:
|
||||
data = yaml.safe_load(f)
|
||||
|
||||
for name, pos in data.items():
|
||||
if not hasattr(cls, name):
|
||||
raise KeyError(f"Unknown motor '{name}' in {filename}")
|
||||
target = getattr(cls, name)
|
||||
target.inpos = pos["in"]
|
||||
target.outpos = pos["out"]
|
||||
|
||||
27
pxii_bec/macros/se_positions.yaml
Normal file
27
pxii_bec/macros/se_positions.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
scin:
|
||||
in: 38.62
|
||||
out: 20.0
|
||||
|
||||
i1:
|
||||
in: 44.0
|
||||
out: 20.0
|
||||
|
||||
colly:
|
||||
in: 41.5
|
||||
out: 20.0
|
||||
|
||||
bsy:
|
||||
in: 0.1
|
||||
out: -0.9
|
||||
|
||||
bsx:
|
||||
in: 2.45
|
||||
out: 2.45
|
||||
|
||||
blpos:
|
||||
in: 1
|
||||
out: 0
|
||||
|
||||
bspos:
|
||||
in: 1
|
||||
out: 0
|
||||
Reference in New Issue
Block a user