moving ROI with stage and zoom
This commit is contained in:
@@ -22,13 +22,15 @@ _log = logging.getLogger(__name__)
|
||||
#logger.setLevel(logging.INFO)
|
||||
|
||||
class SimMotor:
|
||||
def __init__(self,motor_base, short_name):
|
||||
def __init__(self,rec_name, short_name):
|
||||
self._llm = -10
|
||||
self._hlm = 10
|
||||
self._prec = 5
|
||||
self._twv = 0.1
|
||||
self._units = 'mm'
|
||||
self._pos = 3.1415
|
||||
self._short_name=short_name
|
||||
self._rec_name=rec_name
|
||||
|
||||
class SimMotorTweak(QWidget, Ui_MotorTweak):
|
||||
event_val = pyqtSignal(str, dict)
|
||||
@@ -54,12 +56,9 @@ class SimMotorTweak(QWidget, Ui_MotorTweak):
|
||||
self._templates = {}
|
||||
|
||||
|
||||
def connect_motor(self, motor_base, short_name=None, *args, **kwargs):
|
||||
self.label.setToolTip('{} => {}'.format(motor_base, motor_base))
|
||||
self.motor=SimMotor(motor_base, short_name)
|
||||
|
||||
twv=0.1
|
||||
|
||||
def connect_motor(self, rec_name, short_name=None, *args, **kwargs):
|
||||
self.label.setToolTip('{} => {}'.format(rec_name, short_name))
|
||||
self.motor=SimMotor(rec_name, short_name)
|
||||
self.set_motor_validator()
|
||||
self._drive_val.setText(str(self.motor._pos))
|
||||
self._drive_val.returnPressed.connect(self.move_motor_to_position)
|
||||
@@ -69,7 +68,7 @@ class SimMotorTweak(QWidget, Ui_MotorTweak):
|
||||
|
||||
tweak_min = kwargs.get("tweak_min", 0.0001)
|
||||
tweak_max = kwargs.get("tweak_max", 20.0)
|
||||
self._tweak_val.setText(str(twv))
|
||||
self._tweak_val.setText(str(self.motor._twv))
|
||||
self._tweak_val.setValidator(QDoubleValidator(tweak_min, tweak_max, 4, self._tweak_val))
|
||||
#self._tweak_val.editingFinished.connect(lambda m=self._pv_tweak_val: m.put(self._tweak_val.text()))
|
||||
self.tweak_forward.clicked.connect(lambda m: self.move_relative(float(self._tweak_val.text())))
|
||||
@@ -108,6 +107,7 @@ class SimMotorTweak(QWidget, Ui_MotorTweak):
|
||||
sleep(delay)
|
||||
_log.debug('{} rel move => {}'.format(self.motor._short_name, dist))
|
||||
self.update_label()
|
||||
self.emit_signals(source_field='VAL')
|
||||
|
||||
def get_position(self):
|
||||
return self.motor._pos
|
||||
@@ -148,23 +148,24 @@ class SimMotorTweak(QWidget, Ui_MotorTweak):
|
||||
_log.debug('{} abs move => {}'.format(self.motor._short_name, drive))
|
||||
self.motor._pos=drive
|
||||
self.update_label()
|
||||
self.emit_signals(source_field='VAL')
|
||||
|
||||
def emit_signals(self, **kw):
|
||||
field = kw['source_field']
|
||||
if field == 'VAL':
|
||||
self.event_val.emit(self._pvname, kw)
|
||||
self.event_val.emit(self.motor._rec_name, kw)
|
||||
elif field == 'RBV':
|
||||
self.event_readback.emit(self._pvname, kw)
|
||||
self.event_readback.emit(self.motor._rec_name, kw)
|
||||
elif field == 'LVIO':
|
||||
self.event_soft_limit.emit(self._pvname, kw)
|
||||
self.event_soft_limit.emit(self.motor._rec_name, kw)
|
||||
elif field == 'HLS':
|
||||
self.event_high_hard_limit.emit(self._pvname, kw)
|
||||
self.event_axis_fault.emit(self._pvname, kw)
|
||||
self.event_high_hard_limit.emit(self.motor._rec_name, kw)
|
||||
self.event_axis_fault.emit(self.motor._rec_name, kw)
|
||||
elif field == 'LVIO':
|
||||
self.event_low_hard_limit.emit(self._pvname, kw)
|
||||
self.event_axis_fault.emit(self._pvname, kw)
|
||||
self.event_low_hard_limit.emit(self.motor._rec_name, kw)
|
||||
self.event_axis_fault.emit(self.motor._rec_name, kw)
|
||||
elif field == 'STAT':
|
||||
self.event_axis_fault.emit(self._pvname, kw)
|
||||
self.event_axis_fault.emit(self.motor._rec_name, kw)
|
||||
|
||||
|
||||
def set_val_on_status_change(self, **kw):
|
||||
|
||||
Reference in New Issue
Block a user