diff --git a/siriuspy/siriuspy/opticscorr/base.py b/siriuspy/siriuspy/opticscorr/base.py index 52e79b40a..b1d041256 100644 --- a/siriuspy/siriuspy/opticscorr/base.py +++ b/siriuspy/siriuspy/opticscorr/base.py @@ -4,7 +4,7 @@ from copy import deepcopy as _dcopy from threading import Thread as _Thread import numpy as _np -from epics import PV as _PV +from ..epics import PV as _PV from .. import util as _util from ..callbacks import Callback as _Callback @@ -65,9 +65,6 @@ def __init__(self, acc): self._optprm_est = [0.0, 0.0] - self._apply_corr_cmd_count = 0 - self._config_ps_cmd_count = 0 - self._psfam_check_connection = {fam: 0 for fam in self._psfams} self._psfam_check_pwrstate_sts = {fam: 0 for fam in self._psfams} self._psfam_check_opmode_sts = {fam: -1 for fam in self._psfams} @@ -79,7 +76,6 @@ def __init__(self, acc): self._corr_group = _Const.CorrGroup.TwoKnobs self._sync_corr = _Const.SyncCorr.Off - self._config_ti_cmd_count = 0 self._timing_check_config = 9*[0] self._measuring_config = False @@ -88,7 +84,6 @@ def __init__(self, acc): self._meas_config_wait = 1 self._meas_config_name = 'UNDEF' self._meas_config_2_save = None - self._meas_config_save_cmd_count = 0 self._is_storedebeam = 0 else: @@ -320,10 +315,7 @@ def write(self, reason, value): def cmd_apply_corr(self, value): """ApplyCorr command.""" - if self._apply_corr(): - self._apply_corr_cmd_count += 1 - self.run_callbacks('ApplyDelta-Cmd', self._apply_corr_cmd_count) - return False + return self._apply_corr() def set_config_name(self, value): """Set configuration name.""" @@ -381,15 +373,10 @@ def set_sync_corr(self, value): self._sync_corr = value - if self._config_ps(): - self._config_ps_cmd_count += 1 - self.run_callbacks('ConfigPS-Cmd', self._config_ps_cmd_count) + self._config_ps() if value == 1: - if self._config_timing(): - self._config_ti_cmd_count += 1 - self.run_callbacks( - 'ConfigTiming-Cmd', self._config_ti_cmd_count) + self._config_timing() val = 1 if (self._status & 0x1) == 0: @@ -411,17 +398,11 @@ def set_sync_corr(self, value): def cmd_config_ps(self, value): """ConfigPS command.""" - if self._config_ps(): - self._config_ps_cmd_count += 1 - self.run_callbacks('ConfigPS-Cmd', self._config_ps_cmd_count) - return False + return self._config_ps() def cmd_config_ti(self, value): """ConfigTiming command.""" - if self._config_timing(): - self._config_ti_cmd_count += 1 - self.run_callbacks('ConfigTiming-Cmd', self._config_ti_cmd_count) - return False + return self._config_timing() def set_meas_config_wait(self, value): """Set MeasConfigWait.""" @@ -459,11 +440,8 @@ def cmd_meas_config_save(self, value): if self._meas_config_2_save is None: self.run_callbacks( 'Log-Mon', 'ERR: No new data to save in configdb!') + return False elif self._save_corrparams(self._meas_config_name): - self._meas_config_save_cmd_count += 1 - self.run_callbacks( - 'MeasConfigSave-Cmd', self._meas_config_save_cmd_count) - self._config_name = _dcopy(self._meas_config_name) self.cn_handler.set_config_name(self._config_name) self.run_callbacks('ConfigName-RB', self._config_name) @@ -473,6 +451,7 @@ def cmd_meas_config_save(self, value): self.run_callbacks('MeasConfigName-RB', self._meas_config_name) self.run_callbacks('Log-Mon', 'Updated config. name.') + return True return False # ---------- auxiliar methods ---------- diff --git a/siriuspy/siriuspy/opticscorr/chrom.py b/siriuspy/siriuspy/opticscorr/chrom.py index 67ac67130..6f1e307ed 100644 --- a/siriuspy/siriuspy/opticscorr/chrom.py +++ b/siriuspy/siriuspy/opticscorr/chrom.py @@ -3,7 +3,7 @@ import time as _time from threading import Thread as _Thread import numpy as _np -from epics import PV as _PV +from ..epics import PV as _PV from epics.ca import ChannelAccessGetFailure as _ChannelAccessGetFailure from ..envars import VACA_PREFIX as _vaca_prefix diff --git a/siriuspy/siriuspy/opticscorr/tune.py b/siriuspy/siriuspy/opticscorr/tune.py index 154f9a145..2f54abe65 100644 --- a/siriuspy/siriuspy/opticscorr/tune.py +++ b/siriuspy/siriuspy/opticscorr/tune.py @@ -1,7 +1,7 @@ """Main module of AS-AP-TuneCorr IOC.""" import numpy as _np -from epics import PV as _PV +from ..epics import PV as _PV from ..envars import VACA_PREFIX as _vaca_prefix from ..namesys import SiriusPVName as _SiriusPVName @@ -23,8 +23,6 @@ def __init__(self, acc): self._delta_tunex = 0.0 self._delta_tuney = 0.0 - self._set_new_refkl_cmd_count = 0 - if self._acc == 'SI': self._meas_config_dkl_qf = 0.020 self._meas_config_dkl_qd = 0.020 @@ -72,11 +70,7 @@ def set_dtune_y(self, value): def cmd_set_newref(self, value): """SetNewRefKL command.""" - if self._update_ref(): - self._set_new_refkl_cmd_count += 1 - self.run_callbacks( - 'SetNewRefKL-Cmd', self._set_new_refkl_cmd_count) - return False + return self._update_ref() def set_meas_config_dkl_qf(self, value): """Set MeasConfigDeltaKLFamQF.""" diff --git a/siriuspy/tests/opticscorr/test_chrom.py b/siriuspy/tests/opticscorr/test_chrom.py index b1ad850bd..6bf677e85 100644 --- a/siriuspy/tests/opticscorr/test_chrom.py +++ b/siriuspy/tests/opticscorr/test_chrom.py @@ -75,12 +75,12 @@ def test_write_ok_syncoff_Apply(self): self.app._sync_corr = 0 self.app._status = 0 - self.assertFalse(self.app.write('ApplyDelta-Cmd', 0)) + self.assertTrue(self.app.write('ApplyDelta-Cmd', 0)) count = self.mock_pv.return_value.put.call_count self.assertEqual(count, len(self.sfams)) self.app._status = 0b10000 - self.assertFalse(self.app.write('ApplyDelta-Cmd', 0)) + self.assertTrue(self.app.write('ApplyDelta-Cmd', 0)) count = self.mock_pv.return_value.put.call_count self.assertEqual(count, 2*len(self.sfams)) @@ -88,7 +88,7 @@ def test_write_ok_syncon_Apply(self): """Test write on ApplyDelta-Cmd in normal operation, sync mode on.""" self.app._sync_corr = 1 self.app._status = 0 - self.assertFalse(self.app.write('ApplyDelta-Cmd', 0)) + self.assertTrue(self.app.write('ApplyDelta-Cmd', 0)) count = self.mock_pv.return_value.put.call_count self.assertEqual(count, 1+len(self.sfams)) @@ -113,7 +113,7 @@ def test_write_SyncCorr(self): def test_write_ok_ConfigPS(self): """Test write on ConfigPS-Cmd in normal operation.""" self.mock_pv.return_value.connected = True - self.assertFalse(self.app.write('ConfigPS-Cmd', 0)) + self.assertTrue(self.app.write('ConfigPS-Cmd', 0)) count = self.mock_pv.return_value.put.call_count self.assertEqual(count, 2*len(self.sfams)) @@ -126,7 +126,7 @@ def test_write_connerror_ConfigPS(self): def test_write_ok_ConfigTI(self): """Test write on ConfigTiming-Cmd in normal operation.""" self.mock_pv.return_value.connected = True - self.assertFalse(self.app.write('ConfigTiming-Cmd', 0)) + self.assertTrue(self.app.write('ConfigTiming-Cmd', 0)) count = self.mock_pv.return_value.put.call_count self.assertEqual(count, 9) diff --git a/siriuspy/tests/opticscorr/test_tune.py b/siriuspy/tests/opticscorr/test_tune.py index 9593fce94..1fe9325e6 100644 --- a/siriuspy/tests/opticscorr/test_tune.py +++ b/siriuspy/tests/opticscorr/test_tune.py @@ -43,6 +43,10 @@ def setUp(self): "siriuspy.opticscorr.base._PV", autospec=True) self.addCleanup(pv_patcher.stop) self.mock_pv = pv_patcher.start() + tunepv_patcher = mock.patch( + "siriuspy.opticscorr.tune._PV", autospec=True) + self.addCleanup(tunepv_patcher.stop) + self.mock_tunepv = tunepv_patcher.start() cnh_patcher = mock.patch( "siriuspy.opticscorr.base._HandleConfigNameFile", autospec=True) @@ -63,12 +67,12 @@ def test_write_ok_syncoff_Apply(self): self.app._sync_corr = Const.SyncCorr.Off self.app._status = 0b00000 - self.assertFalse(self.app.write('ApplyDelta-Cmd', 0)) + self.assertTrue(self.app.write('ApplyDelta-Cmd', 0)) count = self.mock_pv.return_value.put.call_count self.assertEqual(count, len(self.qfams)) self.app._status = 0b10000 - self.assertFalse(self.app.write('ApplyDelta-Cmd', 0)) + self.assertTrue(self.app.write('ApplyDelta-Cmd', 0)) count = self.mock_pv.return_value.put.call_count self.assertEqual(count, 2*len(self.qfams)) @@ -76,7 +80,7 @@ def test_write_ok_syncon_Apply(self): """Test write on ApplyDelta-Cmd in normal operation, sync on.""" self.app._sync_corr = Const.SyncCorr.On self.app._status = 0b00000 - self.assertFalse(self.app.write('ApplyDelta-Cmd', 0)) + self.assertTrue(self.app.write('ApplyDelta-Cmd', 0)) count = self.mock_pv.return_value.put.call_count self.assertEqual(count, 1+len(self.qfams)) @@ -101,7 +105,7 @@ def test_write_SyncCorr(self): def test_write_ok_ConfigPS(self): """Test write on ConfigPS-Cmd in normal operation.""" self.mock_pv.return_value.connected = True - self.assertFalse(self.app.write('ConfigPS-Cmd', 0)) + self.assertTrue(self.app.write('ConfigPS-Cmd', 0)) count = self.mock_pv.return_value.put.call_count self.assertEqual(count, 2*len(self.qfams)) @@ -114,7 +118,7 @@ def test_write_err_ConfigPS(self): def test_write_ok_ConfigTI(self): """Test write on ConfigTiming-Cmd in normal operation.""" self.mock_pv.return_value.connected = True - self.assertFalse(self.app.write('ConfigTiming-Cmd', 0)) + self.assertTrue(self.app.write('ConfigTiming-Cmd', 0)) count = self.mock_pv.return_value.put.call_count self.assertEqual(count, 9) @@ -126,13 +130,14 @@ def test_write_err_ConfigTI(self): def test_write_ok_SetNewRefKL(self): """Test write on SetNewRefKL-Cmd in normal operation.""" - self.mock_pv.return_value.get.return_value = 0.0 + self.mock_tunepv.return_value.get.return_value = 1.0 self.app._status = 0 - self.assertFalse(self.app.write('SetNewRefKL-Cmd', 0)) + self.assertTrue(self.app.write('SetNewRefKL-Cmd', 0)) self.assertEqual(self.app._delta_tunex, 0) self.assertEqual(self.app._delta_tuney, 0) for fam in self.qfams: self.assertEqual(self.app._lastcalc_deltakl[fam], 0) + self.assertEqual(self.app._psfam_refkl[fam], 1.0) def test_write_err_SetNewRefKL(self): """Test write on SetNewRefKL-Cmd on connection error."""