Bases: KPFTranslatorFunction
Wait for the Laser Frequency Comb (LFC) to be ready and in "AstroComb"
mode
KTL Keywords Used:
kpfmon.HB_MENLOSTA
kpfmon.LFCREADYSTA
kpfcal.WOBBLE
kpfcal.OPERATIONMODE
kpfcal.SPECFLAT
Source code in kpf/calbench/WaitForLFCReady.py
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 | class WaitForLFCReady(KPFTranslatorFunction):
'''Wait for the Laser Frequency Comb (LFC) to be ready and in "AstroComb"
mode
KTL Keywords Used:
- `kpfmon.HB_MENLOSTA`
- `kpfmon.LFCREADYSTA`
- `kpfcal.WOBBLE`
- `kpfcal.OPERATIONMODE`
- `kpfcal.SPECFLAT`
'''
@classmethod
def pre_condition(cls, args, logger, cfg):
pass
@classmethod
def perform(cls, args, logger, cfg):
expr = f"($kpfmon.HB_MENLOSTA == 'OK')"
expr += f"and ($kpfmon.LFCREADYSTA == 'OK')"
expr += f"and ($kpfcal.WOBBLE == 'False')"
expr += f"and ($kpfcal.OPERATIONMODE == 'AstroComb')"
expr += f"and ($kpfcal.SPECFLATIR == 'True')"
expr += f"and ($kpfcal.SPECFLATVIS == 'True')"
timeout = cfg.getfloat('times', 'LFC_startup_time', fallback=300)
success = ktl.waitFor(expr, timeout=timeout)
return success
@classmethod
def post_condition(cls, args, logger, cfg):
pass
|