This commit is contained in:
2022-08-16 07:00:30 +02:00
parent d2c3bff1c7
commit a5b400208c
7 changed files with 273 additions and 196 deletions

41
zoom.py
View File

@@ -51,16 +51,23 @@ class Zoom(QGroupBox, Ui_Zoom):
def init_settings(self):
app=QApplication.instance()
cfg=app._cfg
keys=cfg.allKeys()
if cfg.ZOOM_BUTTONS in keys:
buttons=json.loads(cfg.value(cfg.ZOOM_BUTTONS))
else:
buttons=((1, "1"),(200, "200"),(400, "400"),(600, "600"),(800, "800"),(1000, "1000"),)
cfg.setValue(cfg.ZOOM_BUTTONS,json.dumps(buttons))
#cfg=app._cfg
#keys=cfg.allKeys()
#if cfg.ZOOM_BUTTONS in keys:
# buttons=json.loads(cfg.value(cfg.ZOOM_BUTTONS))
#else:
# buttons=((1, "1"),(200, "200"),(400, "400"),(600, "600"),(800, "800"),(1000, "1000"),)
# cfg.setValue(cfg.ZOOM_BUTTONS,json.dumps(buttons))
#self.get_zoom_pv = PV(zoom_api + ":ZOOM-RBV", callback=self.zoom_update_cb)
#self.status_pv = PV(zoom_api + ":ZOOM-STATUS", callback=self.zoom_status_cb)
#try:
# pv=app._zoom.getPv('POS_RB')
#except AttributeError as e:
# _log.debug('Simulated zoom')
#else:
# pv.callbacks ... = self.zoom_update_cb
# check also: pv.clear_auto_monitor() # disconnect PV monitor callback -> program exit faster.
buttons=((1, "1"), (200, "200"), (400, "400"), (600, "600"), (800, "800"), (1000, "1000"),)
current_zoom_value = self.get_zoom()
# zoom widgets
@@ -268,14 +275,14 @@ class Zoom(QGroupBox, Ui_Zoom):
_log.debug("get_zoom(epics) => {}".format(pos))
return pos
def zoom_update_cb(self, pvname, value, char_value, **kwargs):
self._zoom_spinner.blockSignals(True)
self._zoom_spinner.setValue(value)
self._zoom_spinner.blockSignals(False)
# def zoom_update_cb(self, pvname, value, char_value, **kwargs):
# self._zoom_spinner.blockSignals(True)
# self._zoom_spinner.setValue(value)
# self._zoom_spinner.blockSignals(False)
def zoom_status_cb(self, pvname, value, char_value, **kwargs):
busy = bool(value)
self.setDisabled(busy)
# def zoom_status_cb(self, pvname, value, char_value, **kwargs):
# busy = bool(value)
# self.setDisabled(busy)
class QopticZoom(object):
@@ -301,7 +308,7 @@ class QopticZoom(object):
try:
pv = self.getPv('POS_RB')
except AttributeError:
val=self._val; _log.info('simulated mode:{}'.format(val))
val=self._val; _log.debug('simulated mode:{}'.format(val))
return val
else:
pv=self.getPv('POS_RB')
@@ -311,7 +318,7 @@ class QopticZoom(object):
try:
pv=self.getPv('POS_SP')
except AttributeError:
_log.info('simulated mode:{}'.format(val))
_log.debug('simulated mode:{}'.format(val))
self._val=val #simulated mode
else:
pv.put(val)