Files
x10da/script/crlogic.py
2017-02-14 13:38:34 +01:00

33 lines
1.1 KiB
Python

scaler.stop() #caput("X10DA-ES-SCALER.CNT", 0)
scaler.channels[0].setPreset(False) #caput("X10DA-ES-SCALER.G1", 0)
#scaler.channels[0].setPresetValue(0)
scaler.setOneShot() #caput("X10DA-ES-SCALER.CONT", 0)
caput("X10DA-ES1:START-CSMPL", 1)
caput("X10DA-ES1:TOTAL-CYCLES", 5)
caput("X10DA-ES1:SMPL-BTN", 1)
i0 = CrlogicSensor("I0", "SCALER12", False)
i1 = CrlogicSensor("I1", "SCALER13", False)
i2 = CrlogicSensor("I2", "SCALER14", False)
ref = CrlogicSensor("ScalerRef", "SCALER15", False)
class AbsCalc(Readable):
def read(self):
return math.log(math.fabs(i0.take()) / math.fabs(i1.take()))
abs_calc = AbsCalc()
class ECalc(Readable):
def read(self):
return 12.39842 / (crystal.take() * math.sin( math.radians(bragg.readback.take())))
e_calc = ECalc()
sensors = [RegisterCache(crystal), i0, i1, i2, ref, abs_calc, e_calc]
bragg.move(5.5)
#caput("X10DA-OP-MO3:ROX.URIP", 'No')
scaler.start()
r1 = hscan(crlogic_config, bragg, sensors, 5.5, 5.6, 0.002, 1, False)
#bragg.move(11.92)
#r1 = hscan(crlogic_config, bragg, sensors, 11.92, 12.22, 0.002, 1, False)