put try/catch for all monitor callbacks (suggestion Xiaoqiang)
This commit is contained in:
@@ -95,10 +95,13 @@ class MotorTweak(QWidget, Ui_MotorTweak):
|
||||
|
||||
|
||||
def set_val(self, **kw):
|
||||
v = kw['char_value']
|
||||
_log.debug('updating VAL = {}'.format(v))
|
||||
self._val=float(v) # rewrite in case of tweaking
|
||||
self._drive_val.setText(v)
|
||||
try: #pv-monitor-func
|
||||
v = kw['char_value']
|
||||
_log.debug('updating VAL = {}'.format(v))
|
||||
self._val=float(v) # rewrite in case of tweaking
|
||||
self._drive_val.setText(v)
|
||||
except Exception as e:
|
||||
_log.critical(f'{e}')
|
||||
|
||||
|
||||
def set_motor_validator(self, **kwargs):
|
||||
@@ -187,33 +190,39 @@ class MotorTweak(QWidget, Ui_MotorTweak):
|
||||
|
||||
:return:
|
||||
'''
|
||||
field = kw['motor_field']
|
||||
src = kw['source_field']
|
||||
kw['alias'] = self._label
|
||||
if field != src:
|
||||
return
|
||||
if field == 'VAL':
|
||||
self.event_val.emit(self._rec_name, kw)
|
||||
elif field == 'RBV':
|
||||
self.event_rbv.emit(kw['alias'], kw['value'], kw)
|
||||
elif field == 'LVIO':
|
||||
self.event_soft_limit.emit(self._rec_name, kw)
|
||||
elif field == 'HLS':
|
||||
self.event_high_hard_limit.emit(self._rec_name, kw)
|
||||
self.event_axis_fault.emit(self._rec_name, kw)
|
||||
elif field == 'LVIO':
|
||||
self.event_low_hard_limit.emit(self._rec_name, kw)
|
||||
self.event_axis_fault.emit(self._rec_name, kw)
|
||||
elif field == 'STAT':
|
||||
self.event_axis_fault.emit(self._rec_name, kw)
|
||||
try: #pv-monitor-func
|
||||
field = kw['motor_field']
|
||||
src = kw['source_field']
|
||||
kw['alias'] = self._label
|
||||
if field != src:
|
||||
return
|
||||
if field == 'VAL':
|
||||
self.event_val.emit(self._rec_name, kw)
|
||||
elif field == 'RBV':
|
||||
self.event_rbv.emit(kw['alias'], kw['value'], kw)
|
||||
elif field == 'LVIO':
|
||||
self.event_soft_limit.emit(self._rec_name, kw)
|
||||
elif field == 'HLS':
|
||||
self.event_high_hard_limit.emit(self._rec_name, kw)
|
||||
self.event_axis_fault.emit(self._rec_name, kw)
|
||||
elif field == 'LVIO':
|
||||
self.event_low_hard_limit.emit(self._rec_name, kw)
|
||||
self.event_axis_fault.emit(self._rec_name, kw)
|
||||
elif field == 'STAT':
|
||||
self.event_axis_fault.emit(self._rec_name, kw)
|
||||
except Exception as e:
|
||||
_log.critical(f'{e}')
|
||||
|
||||
def update_label(self, **kwargs):
|
||||
m = self._motor
|
||||
self.label.setText(self._templates[self._label_style].format(rbv=m.readback))
|
||||
self.jog_forward.setToolTip('jog forward at {:.3f} {}/s'.format(m.jog_speed, m.units))
|
||||
self.jog_reverse.setToolTip('jog reverse at {:.3f} {}/s'.format(m.jog_speed, m.units))
|
||||
self.tweak_forward.setToolTip('tweak forward by {:.3f} {}'.format(m.tweak_val, m.units))
|
||||
self.tweak_reverse.setToolTip('tweak reverse by {:.3f} {}'.format(m.tweak_val, m.units))
|
||||
try: #pv-monitor-func
|
||||
m = self._motor
|
||||
self.label.setText(self._templates[self._label_style].format(rbv=m.readback))
|
||||
self.jog_forward.setToolTip('jog forward at {:.3f} {}/s'.format(m.jog_speed, m.units))
|
||||
self.jog_reverse.setToolTip('jog reverse at {:.3f} {}/s'.format(m.jog_speed, m.units))
|
||||
self.tweak_forward.setToolTip('tweak forward by {:.3f} {}'.format(m.tweak_val, m.units))
|
||||
self.tweak_reverse.setToolTip('tweak reverse by {:.3f} {}'.format(m.tweak_val, m.units))
|
||||
except Exception as e:
|
||||
_log.critical(f'{e}')
|
||||
|
||||
def update_jog_speed(self, event):
|
||||
m = self._motor
|
||||
|
||||
Reference in New Issue
Block a user