added hexapod adjustables
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
|
||||
from ..aliases import Alias,append_object_to_object
|
||||
from .adjustable import PvRecord,PvEnum
|
||||
|
||||
class CameraBasler:
|
||||
def __init__(self,pvname,name=None):
|
||||
self.pvname = pvname
|
||||
self.name = name
|
||||
self.alias = Alias(name)
|
||||
append_object_to_object(self,PvEnum,self.pvname+':INIT',name='initialize')
|
||||
append_object_to_object(self,PvEnum,self.pvname+':CAMERA',name='running')
|
||||
append_object_to_object(self,PvRecord,self.pvname+':BOARD',name='board_no')
|
||||
append_object_to_object(self,PvRecord,self.pvname+':SERIALNR',name='serial_no')
|
||||
append_object_to_object(self,PvRecord,self.pvname+':EXPOSURE',name='_exposure_time')
|
||||
append_object_to_object(self,PvEnum,self.pvname+':ACQMODE',name='_acq_mode')
|
||||
append_object_to_object(self,PvEnum,self.pvname+':RECMODE',name='_req_mode')
|
||||
append_object_to_object(self,PvEnum,self.pvname+':STOREMODE',name='_store_mode')
|
||||
append_object_to_object(self,PvRecord,self.pvname+':BINY',name='_binx')
|
||||
append_object_to_object(self,PvRecord,self.pvname+':BINY',name='_biny')
|
||||
append_object_to_object(self,PvRecord,self.pvname+':REGIONX_START',name='_roixmin')
|
||||
append_object_to_object(self,PvRecord,self.pvname+':REGIONX_END',name='_roixmax')
|
||||
append_object_to_object(self,PvRecord,self.pvname+':REGIONY_START',name='_roiymin')
|
||||
append_object_to_object(self,PvRecord,self.pvname+':REGIONY_END',name='_roiymax')
|
||||
append_object_to_object(self,PvEnum,self.pvname+':SET_PARAM',name='_set_parameters')
|
||||
append_object_to_object(self,PvEnum,self.pvname+':TRIGGER',name='trigger_on')
|
||||
append_object_to_object(self,PvEnum,self.pvname+':TRIGGERSOURCE',name='trigger_source')
|
||||
#append_object_to_object(self,PvEnum,self.pvname+':TRIGGEREDGE',name='trigger_edge')
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
from time import sleep
|
||||
|
||||
import sys, select
|
||||
|
||||
|
||||
|
||||
_wait_strs = '\|/-\|/-'
|
||||
|
||||
class WaitInput:
|
||||
def __init__(self,text,wait_time=5,update_interval=1):
|
||||
self.text = text
|
||||
self.wait_time=wait_time
|
||||
|
||||
|
||||
def start
|
||||
resttime = self.wait_time
|
||||
while resttime>0:
|
||||
print(f"You have {resttime} seconds to answer!")
|
||||
i, o, e = select.select( [sys.stdin], [], [], 2 )
|
||||
|
||||
if (i):
|
||||
print("You said", sys.stdin.readline().strip())
|
||||
else:
|
||||
print("You said nothing!")
|
||||
@@ -0,0 +1,54 @@
|
||||
from ..devices_general.motors import MotorRecord
|
||||
from epics import PV
|
||||
from ..aliases import Alias, append_object_to_object
|
||||
|
||||
|
||||
class RefLaser_Aramis:
|
||||
def __init__(self, Id, elog=None, name=None, inpos=-18.818, outpos=-5):
|
||||
self.Id = Id
|
||||
self.elog = elog
|
||||
self.name = name
|
||||
self.alias = Alias(name)
|
||||
append_object_to_object(self,
|
||||
|
||||
self._inpos = inpos
|
||||
self._outpos = outpos
|
||||
self.mirrmotor = MotorRecord(self.Id + ":MOTOR_1")
|
||||
|
||||
def __call__(self, *args, **kwargs):
|
||||
self.set(*args, **kwargs)
|
||||
|
||||
def __str__(self):
|
||||
status = self.get_status()
|
||||
if status:
|
||||
return "Reflaser is In."
|
||||
elif status == False:
|
||||
return "Reflaser is Out."
|
||||
elif status == None:
|
||||
return "Reflaser status not defined."
|
||||
|
||||
def get_status(self):
|
||||
v = self.mirrmotor.get_current_value()
|
||||
if abs(v - self._inpos) < 0.2:
|
||||
isin = True
|
||||
elif abs(v - self._outpos) < 0.2:
|
||||
isin = False
|
||||
else:
|
||||
isin = None
|
||||
return isin
|
||||
|
||||
def set(self, value):
|
||||
if type(value) is str:
|
||||
if value.lower() == "in":
|
||||
value = True
|
||||
elif value.lower() == "out":
|
||||
value = False
|
||||
else:
|
||||
print("String %s not recognized!" % value)
|
||||
if value:
|
||||
self.mirrmotor.changeTo(self._inpos)
|
||||
else:
|
||||
self.mirrmotor.changeTo(self._outpos)
|
||||
|
||||
def __repr__(self):
|
||||
return self.__str__()
|
||||
Reference in New Issue
Block a user