Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 8 additions & 29 deletions siriuspy/siriuspy/opticscorr/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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}
Expand All @@ -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
Expand All @@ -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:
Expand Down Expand Up @@ -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."""
Expand Down Expand Up @@ -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:
Expand All @@ -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."""
Expand Down Expand Up @@ -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)
Expand All @@ -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 ----------
Expand Down
2 changes: 1 addition & 1 deletion siriuspy/siriuspy/opticscorr/chrom.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
10 changes: 2 additions & 8 deletions siriuspy/siriuspy/opticscorr/tune.py
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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."""
Expand Down
10 changes: 5 additions & 5 deletions siriuspy/tests/opticscorr/test_chrom.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,20 +75,20 @@ 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))

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))

Expand All @@ -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))

Expand All @@ -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)

Expand Down
19 changes: 12 additions & 7 deletions siriuspy/tests/opticscorr/test_tune.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -63,20 +67,20 @@ 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))

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))

Expand All @@ -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))

Expand All @@ -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)

Expand All @@ -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."""
Expand Down
Loading