Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expand BaseLLRF and SIRFCavMon #1119

Merged
merged 4 commits into from
Oct 30, 2024
Merged
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
193 changes: 103 additions & 90 deletions siriuspy/siriuspy/devices/rf.py
Original file line number Diff line number Diff line change
Expand Up @@ -628,7 +628,8 @@ class _BaseLLRF(_Device):
'PhsIncRate-RB', 'PhsIncRate-SP',
'AmpRefMin-RB', 'AmpRefMin-SP', 'PhsRefMin-RB', 'PhsRefMin-SP',
'CondEnbl-Sts', 'CondEnbl-Sel', 'CondDuty-RB', 'CondDuty-SP',
'CondDutyCycle-Mon',
'CondDutyCycle-Mon', 'PhShCav-SP', 'PhShCav-RB',
'SLPILim-SP', 'SLPILim-RB', 'SLKI-SP', 'SLKI-RB' 'SLKP-SP', 'SLKI-RB'
)

def __init__(self, devname, props2init='all'):
Expand Down Expand Up @@ -742,6 +743,33 @@ def set_phase(self, value, tol=0.2, timeout=10, wait_mon=False):
pv2wait = 'SLInpPhs-Mon' if wait_mon else 'SLRefPhs-Mon'
return self._wait_float(pv2wait, value, abs_tol=tol, timeout=timeout)

def phase_shift_cav_sp(self):
"""."""
return self['PhShCav-SP']

@property
def phase_shift_cav(self):
"""."""
return self['PhShCav-RB']

@phase_shift_cav.setter
def phase_shift_cav(self, value):
self['PhShCav-SP'] = self._wrap_phase(value)

@property
def phase_refmin_sp(self):
"""."""
return self['PhsRefMin-SP']

@property
def phase_refmin(self):
"""."""
return self['PhsRefMin-RB']

@phase_refmin.setter
def phase_refmin(self, value):
self['PhsRefMin-SP'] = value

@property
def voltage_mon(self):
"""."""
Expand Down Expand Up @@ -805,20 +833,6 @@ def voltage_refmin(self):
def voltage_refmin(self, value):
self['AmpRefMin-SP'] = value

@property
def phase_refmin_sp(self):
"""."""
return self['PhsRefMin-SP']

@property
def phase_refmin(self):
"""."""
return self['PhsRefMin-RB']

@phase_refmin.setter
def phase_refmin(self, value):
self['PhsRefMin-SP'] = value

@property
def conditioning_state(self):
"""."""
Expand Down Expand Up @@ -919,6 +933,39 @@ def cmd_reset_interlock(self, wait=1):
_time.sleep(wait)
self['IntlkReset-Cmd'] = 0

def loop_pi_limit_sp(self):
return self['SLPILim-SP']

@property
def loop_pi_limit(self):
return self['SLPILim-RB']

@loop_pi_limit.setter
def loop_pi_limit(self, value):
self['SLPILim-SP'] = value

def loop_ki_sp(self):
return self['SLKI-SP']

@property
def loop_ki(self):
return self['SLKI-RB']

@loop_ki.setter
def loop_ki(self, value):
self['SLKI-SP'] = value

def loop_kp_sp(self):
return self['SLKP-SP']

@property
def loop_kp(self):
return self['SLKP-RB']

@loop_kp.setter
def loop_kp(self, value):
self['SLKP-SP'] = value


class _BOLLRF(_BaseLLRF):
"""."""
Expand Down Expand Up @@ -1133,16 +1180,12 @@ class DEVICES:
SIB = 'SI-03SP:RF-SRFCav-B'
ALL = (SIA, SIB, )

# OLD PVs
# PROPERTIES_DEFAULT = (
# 'PwrRev-Mon', 'PwrFwd-Mon',
# 'PwrCell4Top-Mon', 'PwrCell4Bot-Mon', 'PwrRFIntlk-Mon', 'Sts-Mon',
# 'PwrCell2-Mon', 'PwrCell4-Mon', 'PwrCell6-Mon', 'Cylin1T-Mon',
# 'Cylin2T-Mon', 'Cylin3T-Mon', 'Cylin4T-Mon', 'Cylin5T-Mon',
# 'Cylin6T-Mon', 'Cylin7T-Mon', 'CoupT-Mon', 'AmpVCav-Mon',
# )

PROPERTIES_DEFAULT = ()
PROPERTIES_DEFAULT = (
'PwrW-Mon', 'PwrdBm-Mon', 'Amp-Mon',
'FwdPwrW-Mon', 'FwdPwrdBm-Mon', 'FwdAmp-Mon',
'RevPwrW-Mon', 'RevPwrdBm-Mon', 'RevAmp-Mon',
'TunerMoveDown-Mon', 'TunerMoveUp-Mon', 'VGap-Mon',
)

def __init__(self, devname, props2init='all'):
"""."""
Expand All @@ -1160,94 +1203,64 @@ def system_nickname(self):
return ""

@property
def status(self):
"""."""
return self['Sts-Mon']

@property
def power_interlock(self):
"""."""
return self['PwrRFIntlk-Mon']
def gap_voltage(self):
"""Gap voltage in [V]."""
return self['VGap-Mon']

@property
def power_top(self):
"""."""
return self['PwrCell4Top-Mon']
def power(self):
"""Power at cavity in [W]."""
return self['PwrW-Mon']

@property
def power_bottom(self):
"""."""
return self['PwrCell4Bot-Mon']
def power_dbm(self):
"""Power at cavity in [dBm]."""
return self['PwrdBm-Mon']

@property
def power_reverse(self):
"""."""
return self['PwrRev-Mon']
def amplitude(self):
"""Amplitude at cavity in [mV]."""
return self['Amp-Mon']

@property
def power_forward(self):
"""."""
return self['PwrFwd-Mon']

@property
def power_cell2(self):
"""."""
return self['PwrCell2-Mon']

@property
def power_cell4(self):
"""."""
return self['PwrCell4-Mon']

@property
def power_cell6(self):
"""."""
return self['PwrCell6-Mon']

@property
def temp_coupler(self):
"""."""
return self['CoupT-Mon']

@property
def temp_cell1(self):
"""."""
return self['Cylin1T-Mon']
"""Forward power in [W]."""
return self['FwdPwrW-Mon']

@property
def temp_cell2(self):
"""."""
return self['Cylin2T-Mon']
def power_forward_dbm(self):
"""Forward power in [dBm]."""
return self['FwdPwrdBm-Mon']

@property
def temp_cell3(self):
"""."""
return self['Cylin3T-Mon']
def power_reverse(self):
"""Reverse power in [W]."""
return self['RevPwrW-Mon']

@property
def temp_cell4(self):
"""."""
return self['Cylin4T-Mon']
def power_reverse_dbm(self):
"""Reverse power in [dBm]."""
return self['RevPwrdBm-Mon']

@property
def temp_cell5(self):
"""."""
return self['Cylin5T-Mon']
def amplitude_forward(self):
"""Forward amplitude in [mV]."""
return self['FwdAmp-Mon']

@property
def temp_cell6(self):
"""."""
return self['Cylin6T-Mon']
def amplitude_reverse(self):
"""Reverse amplitude in [mV]."""
return self['RevAmp-Mon']

@property
def temp_cell7(self):
"""."""
return self['Cylin7T-Mon']
def tuner_moving_down(self):
"""Is tuner moving down?."""
return self['TunerMoveDown-Mon']

@property
def gap_voltage(self):
"""."""
return self['AmpVCav-Mon']
def tuner_moving_up(self):
"""Is tuner moving up?."""
return self['TunerMoveUp-Mon']


class RFCav(_DeviceSet):
Expand Down
Loading