diff --git a/pyqt-apps/siriushla/as_rf_control/control.py b/pyqt-apps/siriushla/as_rf_control/control.py
index 860037485..784e7b38a 100644
--- a/pyqt-apps/siriushla/as_rf_control/control.py
+++ b/pyqt-apps/siriushla/as_rf_control/control.py
@@ -18,7 +18,8 @@
SiriusWaveformPlot
from .custom_widgets import RFEnblDsblButton
from .details import CavityStatusDetails, FDLMonitor, LLRFInterlockDetails, \
- TempMonitor, TransmLineStatusDetails
+ TransmLineStatusDetails, SlowLoopErrorDetails, SlowLoopParametersDetails, \
+ TempMonitor
from .util import SEC_2_CHANNELS
@@ -156,8 +157,6 @@ def _statusLayout(self):
# # LLRF Interlock
self.ld_intlk = QLabel('LLRF Interlock', self, alignment=Qt.AlignRight)
- self.led_intlk = SiriusLedAlert(
- self, self.prefix+self.chs['LLRF Intlk'])
self.pb_intlkdtls = QPushButton(qta.icon('fa5s.ellipsis-v'), '', self)
self.pb_intlkdtls.setObjectName('dtls')
self.pb_intlkdtls.setStyleSheet(
@@ -165,6 +164,25 @@ def _statusLayout(self):
connect_window(self.pb_intlkdtls, LLRFInterlockDetails, parent=self,
section=self.section, prefix=self.prefix)
+ if self.section == 'SI':
+ lay_llrf_intlk = QGridLayout()
+ lay_llrf_intlk.addWidget(self.ld_intlk, 0, 0,
+ alignment=Qt.AlignVCenter)
+ lay_llrf_intlk.addWidget(self.pb_intlkdtls,
+ 0, 1, alignment=Qt.AlignCenter)
+
+ offset = 1
+ for key, val in self.chs['LLRF Intlk'].items():
+ ld_llrf = QLabel(
+ f'• {key}', alignment=Qt.AlignRight | Qt.AlignVCenter)
+ led_llrf = SiriusLedAlert(self, self.prefix+val)
+ lay_llrf_intlk.addWidget(ld_llrf, offset, 0)
+ lay_llrf_intlk.addWidget(led_llrf, offset, 1)
+ offset += 1
+ else:
+ self.led_llrf = SiriusLedAlert(
+ self, self.prefix+self.chs['LLRF Intlk'])
+
# Status
self._ld_stats = QLabel(
'
Status
', self, alignment=Qt.AlignLeft)
@@ -182,8 +200,6 @@ def _statusLayout(self):
# # Status Transmission Line
self.ld_tlsts = QLabel('Transm. Line', self, alignment=Qt.AlignRight)
- self.led_tlsts = PyDMLedMultiChannel(
- self, {self.prefix+self.chs['TL Sts']['Geral']: 1})
self.pb_tldtls = QPushButton(qta.icon('fa5s.ellipsis-v'), '', self)
self.pb_tldtls.setObjectName('dtls')
self.pb_tldtls.setStyleSheet(
@@ -191,63 +207,138 @@ def _statusLayout(self):
connect_window(self.pb_tldtls, TransmLineStatusDetails, parent=self,
section=self.section, prefix=self.prefix)
+ if self.section == 'SI':
+ lay_tl = QGridLayout()
+ lay_tl.addWidget(self.ld_tlsts, 0, 0,
+ alignment=Qt.AlignVCenter)
+ lay_tl.addWidget(self.pb_tldtls, 0, 1,
+ alignment=Qt.AlignCenter)
+
+ offset = 1
+ for key, chs_dict in self.chs['TL Sts'].items():
+ ld_tlsts = QLabel(
+ f'• {key}', alignment=Qt.AlignRight | Qt.AlignVCenter)
+ led_tlsts = PyDMLedMultiChannel(
+ self, {self.prefix+chs_dict['Geral']: 1})
+ lay_tl.addWidget(ld_tlsts, offset, 0)
+ lay_tl.addWidget(led_tlsts, offset, 1)
+ offset += 1
+ else:
+ self.led_tlsts = PyDMLedMultiChannel(
+ self, {self.prefix+self.chs['TL Sts']['Geral']: 1})
+
# Reset
self._ld_reset = QLabel('Reset
', self, alignment=Qt.AlignLeft)
# # Reset Global
- self.ld_globreset = QLabel(
- 'Reset Global', self, alignment=Qt.AlignRight)
- self.pb_globreset = SiriusPushButton(
+ self.ld_glbl = QLabel('Reset Global', self, alignment=Qt.AlignRight)
+ self.pb_glbl = SiriusPushButton(
label='', icon=qta.icon('fa5s.sync'), releaseValue=0,
parent=self, init_channel=self.prefix+self.chs['Reset']['Global'])
- self.pb_globreset.setObjectName('pb_globreset')
- self.pb_globreset.setStyleSheet(
- '#pb_globreset{min-width:25px; max-width:25px; icon-size:20px;}')
+ self.pb_glbl.setStyleSheet(
+ 'min-width:25px; max-width:25px; icon-size:20px;')
# # Reset LLRF
- self.ld_llrfreset = QLabel('Reset LLRF', self, alignment=Qt.AlignRight)
- self.pb_llrfreset = SiriusPushButton(
- label='', icon=qta.icon('fa5s.sync'), releaseValue=0,
- parent=self, init_channel=self.prefix+self.chs['Reset']['LLRF'])
- self.pb_llrfreset.setObjectName('pb_llrfreset')
- self.pb_llrfreset.setStyleSheet(
- '#pb_llrfreset{min-width:25px; max-width:25px; icon-size:20px;}')
+ self.ld_llrf = QLabel('Reset LLRF', self, alignment=Qt.AlignRight)
+ if self.section == 'SI':
+ lay_llrf_reset = QGridLayout()
+ lay_llrf_reset.addWidget(self.ld_llrf, 0, 0)
+
+ offset = 1
+ for key, val in self.chs['Reset'].items():
+ if key != 'Global':
+ ld_llrf = QLabel(
+ f'• {key}', self,
+ alignment=Qt.AlignRight | Qt.AlignVCenter)
+ pb_llrf = SiriusPushButton(
+ label='', icon=qta.icon('fa5s.sync'), releaseValue=0,
+ parent=self, init_channel=self.prefix+val)
+ pb_llrf.setStyleSheet(
+ 'min-width:25px; max-width:25px; icon-size:20px;')
+ lay_llrf_reset.addWidget(ld_llrf, offset, 0)
+ lay_llrf_reset.addWidget(pb_llrf, offset, 1)
+ offset += 1
+ else:
+ self.pb_llrf = SiriusPushButton(
+ init_channel=self.prefix+self.chs['Reset']['LLRF'],
+ label='', icon=qta.icon('fa5s.sync'),
+ parent=self, releaseValue=0)
+ self.pb_llrf.setStyleSheet(
+ 'min-width:25px; max-width:25px; icon-size:20px;')
# Auxiliary Windows
- self._ld_fdl = QLabel(
+ self._ld_aux = QLabel(
'Auxiliary Windows
', self, alignment=Qt.AlignLeft)
# # Open FDL
- self.pb_openfdl = QPushButton(
- qta.icon('fa5s.external-link-alt'), ' FDL', self)
- connect_window(
- self.pb_openfdl, FDLMonitor, parent=self,
- prefix=self.prefix, section=self.section)
+ self.ld_fdl = QLabel(
+ 'LLRF FDL', self, alignment=Qt.AlignRight | Qt.AlignVCenter)
+ if self.section == 'SI':
+ lay_fdl = QGridLayout()
+ lay_fdl.addWidget(self.ld_fdl, 0, 0)
+ offset = 1
+ for key, val in self.chs['FDL'].items():
+ ld_llrf = QLabel(
+ f'• {key}', self,
+ alignment=Qt.AlignRight | Qt.AlignVCenter)
+ pb_llrf = QPushButton(
+ qta.icon('fa5s.external-link-alt'), '', self)
+ pb_llrf.setStyleSheet(
+ 'min-width:25px; max-width:25px; icon-size:20px;')
+ connect_window(
+ pb_llrf, FDLMonitor, parent=self, prefix=self.prefix,
+ section=self.section, chs=val)
+
+ lay_fdl.addWidget(ld_llrf, offset, 0)
+ lay_fdl.addWidget(pb_llrf, offset, 1)
+ offset += 1
+ else:
+ self.pb_openfdl = QPushButton(
+ qta.icon('fa5s.external-link-alt'), '', self)
+ self.pb_openfdl.setStyleSheet(
+ 'min-width:25px; max-width:25px; icon-size:20px;')
+ connect_window(
+ self.pb_openfdl, FDLMonitor, parent=self,
+ prefix=self.prefix, section=self.section, chs=self.chs['FDL'])
lay = QGridLayout()
+ lay.setHorizontalSpacing(6)
lay.setAlignment(Qt.AlignTop)
lay.addWidget(self._ld_intlks, 0, 0, 1, 3)
- lay.addWidget(self.ld_emerg, 1, 0)
+ lay.addWidget(self.ld_emerg, 1, 0, alignment=Qt.AlignVCenter)
lay.addWidget(self.led_emerg, 1, 1)
- lay.addWidget(self.ld_siriusintlk, 2, 0)
+ lay.addWidget(self.ld_siriusintlk, 2, 0, alignment=Qt.AlignVCenter)
lay.addWidget(self.led_siriusintlk, 2, 1)
- lay.addWidget(self.ld_intlk, 3, 0)
- lay.addWidget(self.led_intlk, 3, 1)
- lay.addWidget(self.pb_intlkdtls, 3, 2)
+ if self.section == 'SI':
+ lay.addLayout(lay_llrf_intlk, 3, 0, 1, 2)
+ else:
+ lay.addWidget(self.ld_intlk, 3, 0, alignment=Qt.AlignVCenter)
+ lay.addWidget(self.led_llrf, 3, 1)
+ lay.addWidget(self.pb_intlkdtls, 3, 2)
lay.addWidget(self._ld_stats, 4, 0, 1, 3)
- lay.addWidget(self.ld_cavsts, 5, 0)
+ lay.addWidget(self.ld_cavsts, 5, 0, alignment=Qt.AlignVCenter)
lay.addWidget(self.led_cavsts, 5, 1)
lay.addWidget(self.pb_cavdtls, 5, 2)
- lay.addWidget(self.ld_tlsts, 6, 0)
- lay.addWidget(self.led_tlsts, 6, 1)
- lay.addWidget(self.pb_tldtls, 6, 2)
+ if self.section == 'SI':
+ lay.addLayout(lay_tl, 6, 0, 1, 2)
+ else:
+ lay.addWidget(self.ld_tlsts, 6, 0, alignment=Qt.AlignVCenter)
+ lay.addWidget(self.led_tlsts, 6, 1)
+ lay.addWidget(self.pb_tldtls, 6, 2)
lay.addWidget(self._ld_reset, 7, 0, 1, 3)
- lay.addWidget(self.ld_globreset, 8, 0)
- lay.addWidget(self.pb_globreset, 8, 1)
- lay.addWidget(self.ld_llrfreset, 9, 0)
- lay.addWidget(self.pb_llrfreset, 9, 1)
- lay.addWidget(self._ld_fdl, 10, 0, 1, 3)
- lay.addWidget(self.pb_openfdl, 11, 0, alignment=Qt.AlignRight)
+ lay.addWidget(self.ld_glbl, 8, 0, alignment=Qt.AlignVCenter)
+ lay.addWidget(self.pb_glbl, 8, 1)
+ if self.section == 'SI':
+ lay.addLayout(lay_llrf_reset, 9, 0, 1, 2)
+ else:
+ lay.addWidget(self.ld_llrf, 9, 0, alignment=Qt.AlignVCenter)
+ lay.addWidget(self.pb_llrf, 9, 1)
+ lay.addWidget(self._ld_aux, 10, 0, 1, 3)
+ if self.section == 'SI':
+ lay.addLayout(lay_fdl, 11, 0, 1, 2)
+ else:
+ lay.addWidget(self.ld_fdl, 11, 0)
+ lay.addWidget(self.pb_openfdl, 11, 1)
return lay
@@ -303,7 +394,7 @@ def _startControlLayout(self):
dic = self.chs['SSA'] if self.section == 'BO' else self.chs['SSA']['1']
lay_amp = QGridLayout()
lay_amp.setHorizontalSpacing(8)
- lay_amp.setVerticalSpacing(20)
+ lay_amp.setVerticalSpacing(15)
lay_amp.addItem(QSpacerItem(
10, 0, QSzPlcy.Expanding, QSzPlcy.Ignored), 0, 0)
lay_amp.addWidget(
@@ -324,273 +415,112 @@ def _startControlLayout(self):
if self.section == 'BO':
self._create_ssa_wid(lay_amp, 2, self.chs['SSA'])
else:
- for k, val in self.chs['SSA'].items():
- self._create_ssa_wid(lay_amp, int(k)+1, val)
+ last_llrf = ''
+ for k, chs_dict in self.chs['SSA'].items():
+ if last_llrf != chs_dict['LLRF']:
+ lay_amp.addWidget(QLabel(
+ f"{chs_dict['LLRF']}
", self,
+ alignment=Qt.AlignCenter), int(k)+1, 0)
+ last_llrf = chs_dict['LLRF']
+ self._create_ssa_wid(lay_amp, int(k)+1, chs_dict)
# LLRF
# # Slow Loop Control
- self.lb_slmode = SiriusLabel(self, self.prefix+self.chs['SL']['Mode'])
- self.led_slmode = PyDMLedMultiChannel(
- self, {self.prefix+self.chs['SL']['Mode']: 0})
- self.bt_slenbl = PyDMStateButton(
- self, self.prefix+self.chs['SL']['Enbl']+':S')
- self.led_slenbl = SiriusLedState(
- self, self.prefix+self.chs['SL']['Enbl'])
-
- lay_over = QGridLayout()
- lay_over.setAlignment(Qt.AlignCenter)
- lay_over.addWidget(
- QLabel('Mode
', self, alignment=Qt.AlignCenter), 0, 0)
- lay_over.addWidget(self.lb_slmode, 0, 1)
- lay_over.addWidget(self.led_slmode, 0, 2, alignment=Qt.AlignLeft)
- lay_over.addWidget(
- QLabel('Enable
', self, alignment=Qt.AlignCenter), 1, 0)
- lay_over.addWidget(self.bt_slenbl, 1, 1)
- lay_over.addWidget(self.led_slenbl, 1, 2, alignment=Qt.AlignLeft)
-
- self.sb_amp1 = SiriusSpinbox(
- self, self.prefix+self.chs['SL']['ASet'][0]+'-SP')
- self.lb_amp1 = SiriusLabel(
- self, self.prefix+self.chs['SL']['ASet'][0]+'-RB')
- self.cb_ampincrate = PyDMEnumComboBox(
- self, self.prefix+self.chs['SL']['AInc']+':S')
- self.lb_ampincrate = SiriusLabel(
- self, self.prefix+self.chs['SL']['AInc'])
- self.sb_phs = SiriusSpinbox(
- self, self.prefix+self.chs['SL']['PSet']+':S')
- self.lb_phs = SiriusLabel(
- self, self.prefix+self.chs['SL']['PSet'])
- self.cb_phsincrate = PyDMEnumComboBox(
- self, self.prefix+self.chs['SL']['PInc']+':S')
- self.lb_phsincrate = SiriusLabel(
- self, self.prefix+self.chs['SL']['PInc'])
- lay_slctrl = QGridLayout()
- lay_slctrl.setHorizontalSpacing(9)
- lay_slctrl.setVerticalSpacing(9)
- lay_slctrl.addWidget(QLabel(
- 'SP/RB
', self, alignment=Qt.AlignCenter), 0, 2, 1, 2)
- lay_slctrl.addWidget(
- QLabel('Inc. Rate SP/RB
', self, alignment=Qt.AlignCenter),
- 0, 4, 1, 2)
- lay_slctrl.addWidget(
- QLabel('Amplitude [mV]
', self, alignment=Qt.AlignCenter),
- 1, 0, 1, 2)
- lay_slctrl.addWidget(
- QLabel('Phase [DEG]
', self, alignment=Qt.AlignCenter),
- 2, 0, 1, 2)
- lay_slctrl.addWidget(self.sb_amp1, 1, 2, alignment=Qt.AlignRight)
- lay_slctrl.addWidget(self.lb_amp1, 1, 3, alignment=Qt.AlignLeft)
- lay_slctrl.addWidget(self.cb_ampincrate, 1, 4, alignment=Qt.AlignRight)
- lay_slctrl.addWidget(self.lb_ampincrate, 1, 5, alignment=Qt.AlignLeft)
- lay_slctrl.addWidget(self.sb_phs, 2, 2, alignment=Qt.AlignRight)
- lay_slctrl.addWidget(self.lb_phs, 2, 3, alignment=Qt.AlignLeft)
- lay_slctrl.addWidget(self.cb_phsincrate, 2, 4, alignment=Qt.AlignRight)
- lay_slctrl.addWidget(self.lb_phsincrate, 2, 5, alignment=Qt.AlignLeft)
-
- self.cb_inpsel = PyDMEnumComboBox(
- self, self.prefix+self.chs['SL']['Inp']+':S')
- self.lb_inpsel = SiriusLabel(
- self, self.prefix+self.chs['SL']['Inp'])
- self.sb_pilimit = SiriusSpinbox(
- self, self.prefix+self.chs['SL']['PIL']+':S')
- self.lb_pilimit = SiriusLabel(
- self, self.prefix+self.chs['SL']['PIL'])
- self.sb_ki = SiriusSpinbox(
- self, self.prefix+self.chs['SL']['KI']+':S')
- self.lb_ki = SiriusLabel(
- self, self.prefix+self.chs['SL']['KI'])
- self.sb_kp = SiriusSpinbox(
- self, self.prefix+self.chs['SL']['KP']+':S')
- self.lb_kp = SiriusLabel(
- self, self.prefix+self.chs['SL']['KP'])
- lay_slctrl2 = QGridLayout()
- lay_slctrl2.setHorizontalSpacing(9)
- lay_slctrl2.setVerticalSpacing(9)
- lay_slctrl2.addWidget(
- QLabel('SP/RB
', self, alignment=Qt.AlignCenter),
- 0, 2, 1, 2)
- lay_slctrl2.addWidget(
- QLabel('PI Limit
', self, alignment=Qt.AlignCenter),
- 1, 0, 1, 2)
- lay_slctrl2.addWidget(
- QLabel('Ki
', self, alignment=Qt.AlignCenter), 2, 0, 1, 2)
- lay_slctrl2.addWidget(
- QLabel('Kp
', self, alignment=Qt.AlignCenter), 3, 0, 1, 2)
- lay_slctrl2.addWidget(self.sb_pilimit, 1, 2, alignment=Qt.AlignRight)
- lay_slctrl2.addWidget(self.lb_pilimit, 1, 3, alignment=Qt.AlignLeft)
- lay_slctrl2.addWidget(self.sb_ki, 2, 2, alignment=Qt.AlignRight)
- lay_slctrl2.addWidget(self.lb_ki, 2, 3, alignment=Qt.AlignLeft)
- lay_slctrl2.addWidget(self.sb_kp, 3, 2, alignment=Qt.AlignRight)
- lay_slctrl2.addWidget(self.lb_kp, 3, 3, alignment=Qt.AlignLeft)
+ wid_sl = QWidget()
+ lay_slc = QGridLayout(wid_sl)
+ lay_slc.setAlignment(Qt.AlignCenter)
+ lay_slc.setVerticalSpacing(6)
+ lay_slc.setHorizontalSpacing(20)
+
+ lay_slc.addWidget(QLabel(
+ 'Mode
', self, alignment=Qt.AlignCenter), 1, 0)
+ lay_slc.addWidget(QLabel(
+ 'Enable
', self, alignment=Qt.AlignCenter), 2, 0)
+ lay_slc.addItem(QSpacerItem(
+ 0, 30, QSzPlcy.Ignored, QSzPlcy.Fixed), 3, 0)
+ lay_slc.addWidget(QLabel(
+ 'Amp. [mV]
', self, alignment=Qt.AlignCenter), 5, 0)
+ lay_slc.addWidget(QLabel(
+ 'Phase [DEG]
', self, alignment=Qt.AlignCenter), 7, 0)
+ lay_slc.addItem(QSpacerItem(
+ 0, 30, QSzPlcy.Ignored, QSzPlcy.Fixed), 10, 0)
+ lay_slc.addWidget(QLabel(
+ 'Reference
', self, alignment=Qt.AlignCenter), 12, 0)
+ lay_slc.addWidget(QLabel(
+ 'Input
', self, alignment=Qt.AlignCenter), 13, 0)
+ lay_slc.addWidget(QLabel(
+ 'Error
', self, alignment=Qt.AlignCenter), 14, 0)
+ lay_slc.addItem(QSpacerItem(
+ 0, 50, QSzPlcy.Ignored, QSzPlcy.Fixed), 15, 0)
+
+ offset = 1
+ if self.section == 'SI':
+ for key, chs_dict in self.chs['SL']['Over'].items():
+ self._create_slc_lay(lay_slc, key, chs_dict, offset)
+ offset += 3
+ else:
+ self._create_slc_lay(lay_slc, None, self.chs['SL']['Over'], 1)
+ offset += 3
- lay = QGridLayout()
- lay.addWidget(
- QLabel('Loop Input
', self, alignment=Qt.AlignCenter),
- 1, 0, 1, 2)
- lay.addWidget(self.cb_inpsel, 2, 0, alignment=Qt.AlignRight)
- lay.addWidget(self.lb_inpsel, 2, 1, alignment=Qt.AlignLeft)
- lay.setRowStretch(0, 2)
- lay.setRowStretch(3, 2)
- lay_slctrl2.addLayout(lay, 1, 4, 3, 2)
-
- self.lb_iref = SiriusLabel(self, self.prefix+self.chs['SL']['IRef'])
- self.lb_iref.showUnits = True
- self.lb_iinp = SiriusLabel(self, self.prefix+self.chs['SL']['IInp'])
- self.lb_iinp.showUnits = True
- self.lb_ierr = SiriusLabel(self, self.prefix+self.chs['SL']['IErr'])
- self.lb_ierr.showUnits = True
- self.lb_qref = SiriusLabel(self, self.prefix+self.chs['SL']['QRef'])
- self.lb_qref.showUnits = True
- self.lb_qinp = SiriusLabel(self, self.prefix+self.chs['SL']['QInp'])
- self.lb_qinp.showUnits = True
- self.lb_qerr = SiriusLabel(self, self.prefix+self.chs['SL']['QErr'])
- self.lb_qerr.showUnits = True
- self.lb_ampref = SiriusLabel(self, self.prefix+self.chs['SL']['ARef'])
- self.lb_ampref.showUnits = True
- self.lb_ampinp = SiriusLabel(self, self.prefix+self.chs['SL']['AInp'])
- self.lb_ampinp.showUnits = True
- self.lb_amperr = SiriusLabel(self, self.prefix+self.chs['SL']['AErr'])
- self.lb_amperr.showUnits = True
- self.lb_phsref = SiriusLabel(self, self.prefix+self.chs['SL']['PRef'])
- self.lb_phsref.showUnits = True
- self.lb_phsinp = SiriusLabel(self, self.prefix+self.chs['SL']['PInp'])
- self.lb_phsinp.showUnits = True
- self.lb_phserr = SiriusLabel(self, self.prefix+self.chs['SL']['PErr'])
- self.lb_phserr.showUnits = True
- lay_slmon = QGridLayout()
- lay_slmon.setHorizontalSpacing(9)
- lay_slmon.setVerticalSpacing(9)
- lay_slmon.addWidget(
- QLabel('Reference
', self, alignment=Qt.AlignCenter), 1, 0)
- lay_slmon.addWidget(
- QLabel('Input
', self, alignment=Qt.AlignCenter), 2, 0)
- lay_slmon.addWidget(
- QLabel('Error
', self, alignment=Qt.AlignCenter), 3, 0)
- lay_slmon.addWidget(
- QLabel('I
', self, alignment=Qt.AlignCenter), 0, 1)
- lay_slmon.addWidget(self.lb_iref, 1, 1)
- lay_slmon.addWidget(self.lb_iinp, 2, 1)
- lay_slmon.addWidget(self.lb_ierr, 3, 1)
- lay_slmon.addWidget(
- QLabel('Q
', self, alignment=Qt.AlignCenter), 0, 2)
- lay_slmon.addWidget(self.lb_qref, 1, 2)
- lay_slmon.addWidget(self.lb_qinp, 2, 2)
- lay_slmon.addWidget(self.lb_qerr, 3, 2)
- lay_slmon.addWidget(
- QLabel('Amp.
', self, alignment=Qt.AlignCenter), 0, 3)
- lay_slmon.addWidget(self.lb_ampref, 1, 3)
- lay_slmon.addWidget(self.lb_ampinp, 2, 3)
- lay_slmon.addWidget(self.lb_amperr, 3, 3)
- lay_slmon.addWidget(
- QLabel('Phase
', self, alignment=Qt.AlignCenter), 0, 4)
- lay_slmon.addWidget(self.lb_phsref, 1, 4)
- lay_slmon.addWidget(self.lb_phsinp, 2, 4)
- lay_slmon.addWidget(self.lb_phserr, 3, 4)
+ self.pb_errdtls = QPushButton(
+ qta.icon('fa5s.external-link-alt'), ' Errors', self)
+ self.pb_errdtls.setStyleSheet('min-width: 4em')
+ connect_window(
+ self.pb_errdtls, SlowLoopErrorDetails, parent=self,
+ prefix=self.prefix, section=self.section)
+ self.pb_paramdtls = QPushButton(
+ qta.icon('fa5s.external-link-alt'), ' Parameters', self)
+ self.pb_paramdtls.setStyleSheet('min-width: 6.5em')
+ connect_window(
+ self.pb_paramdtls, SlowLoopParametersDetails, parent=self,
+ prefix=self.prefix, section=self.section)
- wid_sl = QWidget()
- lay_sl = QGridLayout(wid_sl)
- # lay_sl.setAlignment(Qt.AlignTop)
- lay_sl.setSpacing(7)
- lay_sl.addLayout(lay_over, 1, 1)
- lay_sl.addLayout(lay_slctrl, 3, 1)
- lay_sl.addLayout(lay_slmon, 4, 1)
- lay_sl.addLayout(lay_slctrl2, 6, 1)
- lay_sl.setRowStretch(2, 4)
- lay_sl.setRowStretch(5, 4)
+ gbox_details = QGroupBox('Details', self)
+ lay_details = QHBoxLayout(gbox_details)
+ lay_details.setAlignment(Qt.AlignTop)
+ lay_details.addWidget(self.pb_errdtls, alignment=Qt.AlignCenter)
+ lay_details.addWidget(self.pb_paramdtls, alignment=Qt.AlignCenter)
+
+ lay_slc.addWidget(gbox_details, 16, 0, 17, offset)
# # Tuning
# # # Tuning settings
ld_autotun = QLabel('Auto Tuning: ', self, alignment=Qt.AlignRight)
- bt_autotun = PyDMStateButton(
- self, self.prefix+self.chs['Tun']['Auto']+':S')
- lb_autotun = SiriusLedState(
- self, self.prefix+self.chs['Tun']['Auto'])
ld_dtune = QLabel('DTune: ', self, alignment=Qt.AlignRight)
- sb_dtune = SiriusSpinbox(
- self, self.prefix+self.chs['Tun']['DTune'].replace('RB', 'SP'))
- lb_dtune = SiriusLabel(
- self, self.prefix+self.chs['Tun']['DTune'])
- lb_dtune.showUnits = True
ld_dphase = QLabel('Dephase: ', self, alignment=Qt.AlignRight)
- lb_dphase = SiriusLabel(
- self, self.prefix+self.chs['Tun']['DPhase'])
- lb_dphase.showUnits = True
ld_tunact = QLabel(
'Acting: ', self, alignment=Qt.AlignRight | Qt.AlignVCenter)
- led_tunact = SiriusLedState(
- self, self.prefix+self.chs['Tun']['Acting'])
ld_oversht = QLabel(
'Overshoot: ', self, alignment=Qt.AlignRight | Qt.AlignVCenter)
- sb_oversht = SiriusSpinbox(
- self, self.prefix+self.chs['Tun']['Oversht']+':S')
- lb_oversht = SiriusLabel(
- self, self.prefix+self.chs['Tun']['Oversht'])
- lb_oversht.showUnits = True
ld_margin = QLabel(
'Deadband: ', self, alignment=Qt.AlignRight | Qt.AlignVCenter)
- sb_margin = SiriusSpinbox(
- self, self.prefix+self.chs['Tun']['Deadbnd']+':S')
- lb_margin = SiriusLabel(
- self, self.prefix+self.chs['Tun']['Deadbnd'])
- lb_margin.showUnits = True
lay_tunset = QGridLayout()
lay_tunset.setAlignment(Qt.AlignTop | Qt.AlignHCenter)
lay_tunset.setVerticalSpacing(12)
lay_tunset.setColumnStretch(0, 3)
lay_tunset.addWidget(ld_autotun, 1, 1)
- lay_tunset.addWidget(bt_autotun, 1, 2)
- lay_tunset.addWidget(lb_autotun, 1, 3)
lay_tunset.addWidget(ld_dtune, 2, 1)
- lay_tunset.addWidget(sb_dtune, 2, 2)
- lay_tunset.addWidget(lb_dtune, 2, 3)
lay_tunset.addWidget(ld_margin, 3, 1)
- lay_tunset.addWidget(sb_margin, 3, 2)
- lay_tunset.addWidget(lb_margin, 3, 3)
lay_tunset.addWidget(ld_oversht, 4, 1)
- lay_tunset.addWidget(sb_oversht, 4, 2)
- lay_tunset.addWidget(lb_oversht, 4, 3)
lay_tunset.addWidget(ld_dphase, 5, 1)
- lay_tunset.addWidget(lb_dphase, 5, 2)
lay_tunset.addWidget(ld_tunact, 6, 1)
- lay_tunset.addWidget(led_tunact, 6, 2, alignment=Qt.AlignCenter)
lay_tunset.setColumnStretch(4, 3)
+ if self.section == 'SI':
+ offset = 2
+ for k, val in self.chs['Tun'].items():
+ self._create_tun_set_wid(lay_tunset, k, val, offset)
+ offset += 1
+ else:
+ self._create_tun_set_wid(lay_tunset, None, self.chs['Tun'], 2)
# # # Plungers motors
- lb_plg1 = QLabel('Plunger 1')
- lb_plg2 = QLabel('Plunger 2')
+ lay_plunmon = QGridLayout()
lb_down = QLabel('Down')
lb_up = QLabel('Up')
- self.led_plg1_dn = PyDMLed(
- self, self.prefix+self.chs['Tun']['Pl1Down'])
- self.led_plg1_dn.offColor = QColor(64, 64, 64)
- self.led_plg1_dn.onColor = QColor('blue')
- self.led_plg1_dn.shape = PyDMLed.ShapeMap.Square
- self.led_plg1_up = PyDMLed(
- self, self.prefix+self.chs['Tun']['Pl1Up'])
- self.led_plg1_up.offColor = QColor(64, 64, 64)
- self.led_plg1_up.onColor = QColor('blue')
- self.led_plg1_up.shape = PyDMLed.ShapeMap.Square
- self.led_plg2_dn = PyDMLed(
- self, self.prefix+self.chs['Tun']['Pl2Down'])
- self.led_plg2_dn.offColor = QColor(64, 64, 64)
- self.led_plg2_dn.onColor = QColor('blue')
- self.led_plg2_dn.shape = PyDMLed.ShapeMap.Square
- self.led_plg2_up = PyDMLed(
- self, self.prefix+self.chs['Tun']['Pl2Up'])
- self.led_plg2_up.offColor = QColor(64, 64, 64)
- self.led_plg2_up.onColor = QColor('blue')
- self.led_plg2_up.shape = PyDMLed.ShapeMap.Square
- lay_plunmon = QGridLayout()
lay_plunmon.addItem(
QSpacerItem(10, 10, QSzPlcy.Expanding, QSzPlcy.Expanding), 0, 0)
lay_plunmon.addWidget(lb_down, 1, 2)
lay_plunmon.addWidget(lb_up, 1, 3)
- lay_plunmon.addWidget(lb_plg1, 2, 1)
- lay_plunmon.addWidget(lb_plg2, 3, 1)
- lay_plunmon.addWidget(self.led_plg1_dn, 2, 2)
- lay_plunmon.addWidget(self.led_plg1_up, 2, 3)
- lay_plunmon.addWidget(self.led_plg2_dn, 3, 2)
- lay_plunmon.addWidget(self.led_plg2_up, 3, 3)
lay_plunmon.addItem(
QSpacerItem(10, 10, QSzPlcy.Expanding, QSzPlcy.Expanding), 4, 4)
@@ -606,89 +536,150 @@ def _startControlLayout(self):
self.graph_plunmotors.showLegend = True
self.graph_plunmotors.timeSpan = 1800
self.graph_plunmotors.maxRedrawRate = 2
- self.graph_plunmotors.addYChannel(
- y_channel=self.prefix+self.chs['Tun']['PlM1Curr'], color='blue',
- name='Motor 1', lineStyle=Qt.SolidLine, lineWidth=1)
- self.graph_plunmotors.addYChannel(
- y_channel=self.prefix+self.chs['Tun']['PlM2Curr'], color='red',
- name='Motor 2', lineStyle=Qt.SolidLine, lineWidth=1)
self.graph_plunmotors.setLabel('left', '')
+ if self.section == 'SI':
+ offset = 2
+ for key, chs_dict in self.chs['Tun'].items():
+ lb_plg = QLabel(key)
+ led_plg_dn = PyDMLed(
+ self, self.prefix+chs_dict['Pl1Down'])
+ led_plg_dn.offColor = QColor(64, 64, 64)
+ led_plg_dn.onColor = QColor('blue')
+ led_plg_dn.shape = PyDMLed.ShapeMap.Square
+ led_plg_up = PyDMLed(
+ self, self.prefix+chs_dict['Pl1Up'])
+ led_plg_up.offColor = QColor(64, 64, 64)
+ led_plg_up.onColor = QColor('blue')
+ led_plg_up.shape = PyDMLed.ShapeMap.Square
+ self.graph_plunmotors.addYChannel(
+ y_channel=self.prefix+chs_dict['PlM1Curr'],
+ color=self.prefix+chs_dict['color'], name=key,
+ lineStyle=Qt.SolidLine, lineWidth=1,
+ )
+
+ lay_plunmon.addWidget(lb_plg, offset, 1)
+ lay_plunmon.addWidget(led_plg_dn, offset, 2)
+ lay_plunmon.addWidget(led_plg_up, offset, 3)
+ offset += 1
+ else:
+ self.lb_plg1 = QLabel('Plunger 1')
+ self.led_plg1_dn = PyDMLed(
+ self, self.prefix+self.chs['Tun']['Pl1Down'])
+ self.led_plg1_dn.offColor = QColor(64, 64, 64)
+ self.led_plg1_dn.onColor = QColor('blue')
+ self.led_plg1_dn.shape = PyDMLed.ShapeMap.Square
+ self.led_plg1_up = PyDMLed(
+ self, self.prefix+self.chs['Tun']['Pl1Up'])
+ self.led_plg1_up.offColor = QColor(64, 64, 64)
+ self.led_plg1_up.onColor = QColor('blue')
+ self.led_plg1_up.shape = PyDMLed.ShapeMap.Square
+ self.graph_plunmotors.addYChannel(
+ y_channel=self.prefix+self.chs['Tun']['PlM1Curr'], color='blue',
+ name='Motor 1', lineStyle=Qt.SolidLine, lineWidth=1)
+
+ self.lb_plg2 = QLabel('Plunger 2')
+ self.led_plg2_dn = PyDMLed(
+ self, self.prefix+self.chs['Tun']['Pl2Down'])
+ self.led_plg2_dn.offColor = QColor(64, 64, 64)
+ self.led_plg2_dn.onColor = QColor('blue')
+ self.led_plg2_dn.shape = PyDMLed.ShapeMap.Square
+ self.led_plg2_up = PyDMLed(
+ self, self.prefix+self.chs['Tun']['Pl2Up'])
+ self.led_plg2_up.offColor = QColor(64, 64, 64)
+ self.led_plg2_up.onColor = QColor('blue')
+ self.led_plg2_up.shape = PyDMLed.ShapeMap.Square
+ self.graph_plunmotors.addYChannel(
+ y_channel=self.prefix+self.chs['Tun']['PlM2Curr'], color='red',
+ name='Motor 2', lineStyle=Qt.SolidLine, lineWidth=1)
+
+ lay_plunmon.addWidget(self.lb_plg1, 2, 1)
+ lay_plunmon.addWidget(self.led_plg1_dn, 2, 2)
+ lay_plunmon.addWidget(self.led_plg1_up, 2, 3)
+ lay_plunmon.addWidget(self.lb_plg2, 3, 1)
+ lay_plunmon.addWidget(self.led_plg2_dn, 3, 2)
+ lay_plunmon.addWidget(self.led_plg2_up, 3, 3)
+
wid_tun = QWidget()
lay_plun = QGridLayout(wid_tun)
lay_plun.addWidget(QLabel(
' • Settings
', self, alignment=Qt.AlignLeft), 0, 0, 1, 3)
- lay_plun.addLayout(lay_tunset, 1, 0, 1, 3)
+ lay_plun.addLayout(lay_tunset, 1, 0, 1, 2)
lay_plun.addItem(
QSpacerItem(0, 25, QSzPlcy.Ignored, QSzPlcy.Fixed), 2, 0)
- lay_plun.addWidget(QLabel(
- ' • Plungers
', self, alignment=Qt.AlignLeft), 3, 0)
+ if self.section == 'SI':
+ lay_plun.addWidget(QLabel(
+ ' • Tunners
', self, alignment=Qt.AlignLeft), 3, 0)
+ else:
+ lay_plun.addWidget(QLabel(
+ ' • Plungers
', self, alignment=Qt.AlignLeft), 3, 0)
lay_plun.addLayout(lay_plunmon, 4, 0)
lay_plun.addWidget(self.graph_plunmotors, 4, 1, 1, 2)
# # FieldFlatness settings
- pvs = self.chs['FFlat']
- lb2 = '6' if self.section == 'SI' else '4'
- lb_fflat = QLabel(
- ' • Field Flatness
', self, alignment=Qt.AlignLeft)
- lb_ffsts = QLabel('Acting: ', self, alignment=Qt.AlignRight)
- self.lb_ffsts = SiriusLedState(self, self.prefix+pvs['Sts'])
- lb_ffen = QLabel('Enable: ', self, alignment=Qt.AlignRight)
- self.bt_ffen = PyDMStateButton(self, self.prefix+pvs['Auto']+':S')
- self.lb_ffen = SiriusLedState(self, self.prefix+pvs['Auto'])
- lb_ffpos = QLabel('Position: ', self, alignment=Qt.AlignRight)
- self.bt_ffpos = PyDMStateButton(self, self.prefix+pvs['Pos']+':S')
- self.lb_ffpos = SiriusLedState(self, self.prefix+pvs['Pos'])
- lb_ffg1 = QLabel('Gain Cell 2: ', self, alignment=Qt.AlignRight)
- lb_ffg2 = QLabel(f'Gain Cell {lb2:s}: ', self, alignment=Qt.AlignRight)
- self.sb_ffg1 = SiriusSpinbox(self, self.prefix+pvs['Gain1']+':S')
- self.sb_ffg2 = SiriusSpinbox(self, self.prefix+pvs['Gain2']+':S')
- self.lb_ffg1 = SiriusLabel(self, self.prefix+pvs['Gain1'])
- self.lb_ffg2 = SiriusLabel(self, self.prefix+pvs['Gain2'])
- self.lb_ffg1.showUnits = True
- self.lb_ffg2.showUnits = True
- lb_ffdb = QLabel('DeadBand: ', self, alignment=Qt.AlignRight)
- self.sb_ffdb = SiriusSpinbox(self, self.prefix+pvs['Deadband']+':S')
- self.lb_ffdb = SiriusLabel(self, self.prefix+pvs['Deadband'])
- self.lb_ffdb.showUnits = True
- lb_ffcell1 = QLabel('Cell 2: ', self, alignment=Qt.AlignRight)
- self.lb_ffcell1 = SiriusLabel(self, self.prefix+pvs['Cell1'])
- self.lb_ffcell1.showUnits = True
- lb_ffcell2 = QLabel(f'Cell {lb2:s}: ', self, alignment=Qt.AlignRight)
- self.lb_ffcell2 = SiriusLabel(self, self.prefix+pvs['Cell2'])
- self.lb_ffcell2.showUnits = True
- lb_fferr = QLabel('Error: ', self, alignment=Qt.AlignRight)
- self.lb_fferr = SiriusLabel(self, self.prefix+pvs['Err'])
- self.lb_fferr.showUnits = True
- lay_fflat = QGridLayout()
- lay_fflat.setAlignment(Qt.AlignTop | Qt.AlignHCenter)
- lay_fflat.setVerticalSpacing(12)
- lay_fflat.addWidget(lb_fflat, 0, 0)
- lay_fflat.addWidget(lb_ffen, 1, 0)
- lay_fflat.addWidget(self.bt_ffen, 1, 1)
- lay_fflat.addWidget(self.lb_ffen, 1, 2)
- lay_fflat.addWidget(lb_ffpos, 2, 0)
- lay_fflat.addWidget(self.bt_ffpos, 2, 1)
- lay_fflat.addWidget(self.lb_ffpos, 2, 2)
- lay_fflat.addWidget(lb_ffg1, 3, 0)
- lay_fflat.addWidget(self.sb_ffg1, 3, 1)
- lay_fflat.addWidget(self.lb_ffg1, 3, 2)
- lay_fflat.addWidget(lb_ffg2, 4, 0)
- lay_fflat.addWidget(self.sb_ffg2, 4, 1)
- lay_fflat.addWidget(self.lb_ffg2, 4, 2)
- lay_fflat.addWidget(lb_ffdb, 5, 0)
- lay_fflat.addWidget(self.sb_ffdb, 5, 1)
- lay_fflat.addWidget(self.lb_ffdb, 5, 2)
- lay_fflat.addWidget(lb_ffcell1, 6, 0)
- lay_fflat.addWidget(self.lb_ffcell1, 6, 1)
- lay_fflat.addWidget(lb_ffcell2, 7, 0)
- lay_fflat.addWidget(self.lb_ffcell2, 7, 1)
- lay_fflat.addWidget(lb_fferr, 8, 0)
- lay_fflat.addWidget(self.lb_fferr, 8, 1)
- lay_fflat.addWidget(lb_ffsts, 9, 0)
- lay_fflat.addWidget(self.lb_ffsts, 9, 1, alignment=Qt.AlignCenter)
- wid_fflat = QWidget()
- wid_fflat.setLayout(lay_fflat)
+ if self.section != "SI":
+ pvs = self.chs['FFlat']
+ lb2 = '4'
+ lb_fflat = QLabel(
+ ' • Field Flatness
', self, alignment=Qt.AlignLeft)
+ lb_ffsts = QLabel('Acting: ', self, alignment=Qt.AlignRight)
+ self.lb_ffsts = SiriusLedState(self, self.prefix+pvs['Sts'])
+ lb_ffen = QLabel('Enable: ', self, alignment=Qt.AlignRight)
+ self.bt_ffen = PyDMStateButton(self, self.prefix+pvs['Auto']+'-Sel')
+ self.lb_ffen = SiriusLedState(self, self.prefix+pvs['Auto']+'-Sts')
+ lb_ffpos = QLabel('Position: ', self, alignment=Qt.AlignRight)
+ self.bt_ffpos = PyDMStateButton(self, self.prefix+pvs['Pos']+'-Sel')
+ self.lb_ffpos = SiriusLedState(self, self.prefix+pvs['Pos']+'-Sts')
+ lb_ffg1 = QLabel('Gain Cell 2: ', self, alignment=Qt.AlignRight)
+ lb_ffg2 = QLabel(f'Gain Cell {lb2:s}: ', self, alignment=Qt.AlignRight)
+ self.sb_ffg1 = SiriusSpinbox(self, self.prefix+pvs['Gain1']+'-SP')
+ self.sb_ffg2 = SiriusSpinbox(self, self.prefix+pvs['Gain2']+'-SP')
+ self.lb_ffg1 = SiriusLabel(self, self.prefix+pvs['Gain1']+'-RB')
+ self.lb_ffg2 = SiriusLabel(self, self.prefix+pvs['Gain2']+'-RB')
+ self.lb_ffg1.showUnits = True
+ self.lb_ffg2.showUnits = True
+ lb_ffdb = QLabel('DeadBand: ', self, alignment=Qt.AlignRight)
+ self.sb_ffdb = SiriusSpinbox(self, self.prefix+pvs['Deadband']+':SP')
+ self.lb_ffdb = SiriusLabel(self, self.prefix+pvs['Deadband']+':RB')
+ self.lb_ffdb.showUnits = True
+ lb_ffcell1 = QLabel('Cell 2: ', self, alignment=Qt.AlignRight)
+ self.lb_ffcell1 = SiriusLabel(self, self.prefix+pvs['Cell1'])
+ self.lb_ffcell1.showUnits = True
+ lb_ffcell2 = QLabel(f'Cell {lb2:s}: ', self, alignment=Qt.AlignRight)
+ self.lb_ffcell2 = SiriusLabel(self, self.prefix+pvs['Cell2'])
+ self.lb_ffcell2.showUnits = True
+ lb_fferr = QLabel('Error: ', self, alignment=Qt.AlignRight)
+ self.lb_fferr = SiriusLabel(self, self.prefix+pvs['Err'])
+ self.lb_fferr.showUnits = True
+ lay_fflat = QGridLayout()
+ lay_fflat.setAlignment(Qt.AlignTop | Qt.AlignHCenter)
+ lay_fflat.setVerticalSpacing(12)
+ lay_fflat.addWidget(lb_fflat, 0, 0)
+ lay_fflat.addWidget(lb_ffen, 1, 0)
+ lay_fflat.addWidget(self.bt_ffen, 1, 1)
+ lay_fflat.addWidget(self.lb_ffen, 1, 2)
+ lay_fflat.addWidget(lb_ffpos, 2, 0)
+ lay_fflat.addWidget(self.bt_ffpos, 2, 1)
+ lay_fflat.addWidget(self.lb_ffpos, 2, 2)
+ lay_fflat.addWidget(lb_ffg1, 3, 0)
+ lay_fflat.addWidget(self.sb_ffg1, 3, 1)
+ lay_fflat.addWidget(self.lb_ffg1, 3, 2)
+ lay_fflat.addWidget(lb_ffg2, 4, 0)
+ lay_fflat.addWidget(self.sb_ffg2, 4, 1)
+ lay_fflat.addWidget(self.lb_ffg2, 4, 2)
+ lay_fflat.addWidget(lb_ffdb, 5, 0)
+ lay_fflat.addWidget(self.sb_ffdb, 5, 1)
+ lay_fflat.addWidget(self.lb_ffdb, 5, 2)
+ lay_fflat.addWidget(lb_ffcell1, 6, 0)
+ lay_fflat.addWidget(self.lb_ffcell1, 6, 1)
+ lay_fflat.addWidget(lb_ffcell2, 7, 0)
+ lay_fflat.addWidget(self.lb_ffcell2, 7, 1)
+ lay_fflat.addWidget(lb_fferr, 8, 0)
+ lay_fflat.addWidget(self.lb_fferr, 8, 1)
+ lay_fflat.addWidget(lb_ffsts, 9, 0)
+ lay_fflat.addWidget(self.lb_ffsts, 9, 1, alignment=Qt.AlignCenter)
+ wid_fflat = QWidget()
+ wid_fflat.setLayout(lay_fflat)
wid_llrf = QTabWidget(self)
color = 'green' if self.section == 'BO' else 'blue'
@@ -700,14 +691,14 @@ def _startControlLayout(self):
}""")
wid_llrf.addTab(wid_sl, 'Slow Loop Control')
wid_llrf.addTab(wid_tun, 'Tuning')
- wid_llrf.addTab(wid_fflat, 'Field Flatness')
+ if self.section == 'BO':
+ wid_llrf.addTab(wid_fflat, 'Field Flatness')
# Layout
vlay = QVBoxLayout()
vlay.addWidget(QLabel(' • Solid State Amplifiers
', self,
alignment=Qt.AlignLeft))
vlay.addLayout(lay_amp)
- vlay.addItem(QSpacerItem(0, 50, QSzPlcy.Ignored, QSzPlcy.Fixed))
vlay.addWidget(QLabel(' • LLRF
', self,
alignment=Qt.AlignLeft))
vlay.addWidget(wid_llrf)
@@ -718,78 +709,78 @@ def _rampControlLayout(self):
ctrls_label = QLabel(' • Controls
', self,
alignment=Qt.AlignLeft)
self.bt_rmpenbl = PyDMStateButton(
- self, self.prefix+'BR-RF-DLLRF-01:RmpEnbl-Sel')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RmpEn-Sel')
self.lb_rmpenbl = SiriusLedState(
- self, self.prefix+'BR-RF-DLLRF-01:RmpEnbl-Sts')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RmpEn-Sts')
self.led_rmpready = PyDMLed(
- self, self.prefix+'BR-RF-DLLRF-01:RmpReady-Mon')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RampRdy-Mon')
self.led_rmpready.onColor = PyDMLed.LightGreen
self.led_rmpready.offColor = PyDMLed.Red
self.led_rmptrig = PyDMLed(
- self, self.prefix+'BR-RF-DLLRF-01:5HZTRIG')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RampTrigger-Mon')
self.led_rmptrig.onColor = PyDMLed.LightGreen
self.led_rmptrig.offColor = PyDMLed.Red
self.cb_rmpincts = SiriusSpinbox(
- self, self.prefix+'BR-RF-DLLRF-01:RmpIncTs-SP')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RmpIncTime-SP')
self.lb_rmpincts = SiriusLabel(
- self, self.prefix+'BR-RF-DLLRF-01:RmpIncTs-RB')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RmpIncTime-RB')
self.lb_rmpincts.showUnits = True
self.sb_rmpts1 = SiriusSpinbox(
- self, self.prefix+'BR-RF-DLLRF-01:RmpTs1-SP')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RmpIncTime-SP')
self.lb_rmpts1 = SiriusLabel(
- self, self.prefix+'BR-RF-DLLRF-01:RmpTs1-RB')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RmpIncTime-RB')
self.lb_rmpts1.showUnits = True
self.sb_rmpts2 = SiriusSpinbox(
- self, self.prefix+'BR-RF-DLLRF-01:RmpTs2-SP')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RmpTs2-SP')
self.lb_rmpts2 = SiriusLabel(
- self, self.prefix+'BR-RF-DLLRF-01:RmpTs2-RB')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RmpTs2-SP')
self.lb_rmpts2.showUnits = True
self.sb_rmpts3 = SiriusSpinbox(
- self, self.prefix+'BR-RF-DLLRF-01:RmpTs3-SP')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RmpTs3-SP')
self.lb_rmpts3 = SiriusLabel(
- self, self.prefix+'BR-RF-DLLRF-01:RmpTs3-RB')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RmpTs3-RB')
self.lb_rmpts3.showUnits = True
self.sb_rmpts4 = SiriusSpinbox(
- self, self.prefix+'BR-RF-DLLRF-01:RmpTs4-SP')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RmpTs4-SP')
self.lb_rmpts4 = SiriusLabel(
- self, self.prefix+'BR-RF-DLLRF-01:RmpTs4-RB')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RmpTs4-RB')
self.lb_rmpts4.showUnits = True
self.sb_rmpphstop = SiriusSpinbox(
- self, self.prefix+'BR-RF-DLLRF-01:RmpPhsTop-SP')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RampPhsTop-SP')
self.lb_rmpphstop = SiriusLabel(
- self, self.prefix+'BR-RF-DLLRF-01:RmpPhsTop-RB')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RampPhsTop-RB')
self.lb_rmpphstop.showUnits = True
self.ld_rmpphstop = QLabel('Amplitude', self, alignment=Qt.AlignRight)
lay_rmpphstopdesc = QHBoxLayout()
lay_rmpphstopdesc.addWidget(self.ld_rmpphstop)
lay_rmpphstopdesc.setAlignment(Qt.AlignRight)
self.le_rmpvolttop1 = PyDMLineEdit(
- self, self.prefix+'BR-RF-DLLRF-01:mV:RAMP:AMP:TOP-SP')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RampAmpTop-SP')
self.lb_rmpvolttop1 = SiriusLabel(
- self, self.prefix+'BR-RF-DLLRF-01:mV:RAMP:AMP:TOP-RB')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RampAmpTop-RB')
self.lb_rmpvolttop1.showUnits = True
self.lb_rmpvolttop2 = SiriusLabel(
self, self.prefix+'RA-RaBO01:RF-LLRF:RmpAmpVCavTop-RB')
self.lb_rmpvolttop2.showUnits = True
self.sb_rmpphsbot = SiriusSpinbox(
- self, self.prefix+'BR-RF-DLLRF-01:RmpPhsBot-SP')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RampPhsBot-SP')
self.lb_rmpphsbot = SiriusLabel(
- self, self.prefix+'BR-RF-DLLRF-01:RmpPhsBot-RB')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RampPhsBot-RB')
self.lb_rmpphsbot.showUnits = True
self.ld_rmpphsbot = QLabel('Amplitude', self, alignment=Qt.AlignRight)
lay_rmpphsbotdesc = QHBoxLayout()
lay_rmpphsbotdesc.addWidget(self.ld_rmpphsbot)
lay_rmpphsbotdesc.setAlignment(Qt.AlignRight)
self.le_rmpvoltbot1 = PyDMLineEdit(
- self, self.prefix+'BR-RF-DLLRF-01:mV:RAMP:AMP:BOT-SP')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RampAmpBot-SP')
self.lb_rmpvoltbot1 = SiriusLabel(
- self, self.prefix+'BR-RF-DLLRF-01:mV:RAMP:AMP:BOT-RB')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:RampAmpBot-RB')
self.lb_rmpvoltbot1.showUnits = True
self.lb_rmpvoltbot2 = SiriusLabel(
self, self.prefix+'RA-RaBO01:RF-LLRF:RmpAmpVCavBot-RB')
@@ -996,37 +987,37 @@ def _rampMonLayout(self):
def _autoStartLayout(self):
self.bt_autostart = PyDMStateButton(
- self, self.prefix+'BR-RF-DLLRF-01:AUTOSTART:S')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:AutoStartupEn-SP')
self.led_autostart = SiriusLedState(
- self, self.prefix+'BR-RF-DLLRF-01:AUTOSTART')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:AutoStartupEn-RB')
hl_autostart = QHBoxLayout()
hl_autostart.setAlignment(Qt.AlignLeft)
hl_autostart.addWidget(self.bt_autostart)
hl_autostart.addWidget(self.led_autostart)
self.cb_comstart = PyDMEnumComboBox(
- self, self.prefix+'BR-RF-DLLRF-01:COMMSTART:S')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:AutoStartupCmdStart-Sel')
self.cb_comstart.setStyleSheet('min-width: 15em; max-width: 15em;')
self.lb_statestart = SiriusLabel(
- self, self.prefix+'BR-RF-DLLRF-01:STATESTART')
+ self, self.prefix+'RA-RaBO01:RF-LLRF:AutoStartupCmdStart-Sts')
self.lb_statestart.setStyleSheet(
'qproperty-alignment: AlignLeft; min-width:15em; max-width:15em;')
self.led_startok = PyDMLedMultiChannel(
- self, {self.prefix+'BR-RF-DLLRF-01:EPS': 0,
- self.prefix+'BR-RF-DLLRF-01:FIM': 0,
- self.prefix+'BR-RF-DLLRF-01:TXREADY': 1,
- self.prefix+'BR-RF-DLLRF-01:FASTILK': 0})
+ self, {self.prefix+'RA-RaSIA01:RF-LLRF-A:EPSEn-Sts': 0,
+ self.prefix+'RA-RaSIA01:RF-LLRF-A:FIMEn-Sts': 0,
+ self.prefix+'RA-RaBO01:RF-LLRF:SSARdy-Mon': 1,
+ self.prefix+'RA-RaBO01:RF-LLRF:IntlkAll-Mon': 0})
self.led_tuneok = PyDMLedMultiChannel(
- self, {self.prefix+'BR-RF-DLLRF-01:TUNE:FWDMIN': 1})
+ self, {self.prefix+'RA-RaBO01:RF-LLRF:TuneFwdMin-Mon': 1})
self.led_closeloopok = PyDMLedMultiChannel(
- self, {self.prefix+'BR-RF-DLLRF-01:SL:FWDMIN': 1,
- self.prefix+'BR-RF-DLLRF-01:FL:FWDMIN': 1,
- self.prefix+'BR-RF-DLLRF-01:AL:FWDMIN': 1,
- self.prefix+'BR-RF-DLLRF-01:PL:FWDMIN': 1})
+ self, {self.prefix+'RA-RaBO01:RF-LLRF:SLFwdMin-Mon': 1,
+ self.prefix+'RA-RaBO01:RF-LLRF:FLFwdMin-Mon': 1,
+ self.prefix+'RA-RaBO01:RF-LLRF:ALFwdMin-Mon': 1,
+ self.prefix+'RA-RaBO01:RF-LLRF:PLFwdMin-Mon': 1})
lay = QFormLayout()
lay.setLabelAlignment(Qt.AlignRight)
@@ -1140,7 +1131,7 @@ def _powerMeterLayout(self):
lb_cavphs = QLabel('Phase', self, alignment=Qt.AlignCenter)
self.lb_cavphs = SiriusLabel(
- self, self.prefix+'BR-RF-DLLRF-01:CAV:PHS')
+ self, self.prefix+'BO-05D:RF-P5Cav:PwrCell3Phs-Mon')
self.lb_cavphs.showUnits = True
lay_vals.addWidget(lb_cavphs, 5, 1, alignment=Qt.AlignCenter)
lay_vals.addWidget(self.lb_cavphs, 5, 2)
@@ -1150,33 +1141,52 @@ def _powerMeterLayout(self):
self.curves[name+' dBm'].setVisible(False)
self.curves[name+' mV'].setVisible(False)
- self.ld_cavvgap = QLabel(
- 'Gap Voltage:', self, alignment=Qt.AlignCenter)
- self.ld_cavvgap.setStyleSheet('QLabel{font-size: 15pt;}')
- self.lb_cavvgap = SiriusLabel(self, self.prefix+self.chs['CavVGap'])
- self.lb_cavvgap.setStyleSheet('QLabel{font-size: 20pt;}')
- self.lb_cavvgap.showUnits = True
-
- self.lbl_refvol = QLabel(
- 'Ref Voltage:', self, alignment=Qt.AlignCenter)
- self.rb_refvol = SiriusLabel(
- self, self.prefix+self.chs['SL']['ASet'][1]+'-RB')
- self.rb_refvol.showUnits = True
-
lay_cavvgap = QGridLayout()
- lay_cavvgap.addWidget(self.ld_cavvgap, 0, 0)
- lay_cavvgap.addWidget(self.lb_cavvgap, 0, 1)
- lay_cavvgap.addWidget(self.lbl_refvol, 1, 0)
- lay_cavvgap.addWidget(self.rb_refvol, 1, 1)
+ offset = 0
+ if self.section == 'SI':
+ for key, val in self.chs['CavVGap'].items():
+ ld_cavvgap = QLabel(
+ f'Gap Voltage {key}:', self, alignment=Qt.AlignCenter)
+ ld_cavvgap.setStyleSheet('QLabel{font-size: 15pt;}')
+ lb_cavvgap = SiriusLabel(self, self.prefix+val)
+ lb_cavvgap.setStyleSheet('QLabel{font-size: 15pt;}')
+ lb_cavvgap.showUnits = True
+ lbl_refvol = QLabel(
+ f'Ref Voltage {key}:', self, alignment=Qt.AlignCenter)
+ rb_refvol = SiriusLabel(
+ self, self.prefix+self.chs['SL']['ASet'][key]+'-RB')
+ rb_refvol.showUnits = True
+ lay_cavvgap.addWidget(ld_cavvgap, offset, 0)
+ lay_cavvgap.addWidget(lb_cavvgap, offset, 1)
+ lay_cavvgap.addWidget(lbl_refvol, offset+1, 0)
+ lay_cavvgap.addWidget(rb_refvol, offset+1, 1)
+ offset += 2
+ else:
+ self.ld_cavvgap = QLabel(
+ 'Gap Voltage:', self, alignment=Qt.AlignCenter)
+ self.ld_cavvgap.setStyleSheet('QLabel{font-size: 15pt;}')
+ self.lb_cavvgap = SiriusLabel(self, self.prefix+self.chs['CavVGap'])
+ self.lb_cavvgap.setStyleSheet('QLabel{font-size: 20pt;}')
+ self.lb_cavvgap.showUnits = True
+ self.lbl_refvol = QLabel(
+ 'Ref Voltage:', self, alignment=Qt.AlignCenter)
+ self.rb_refvol = SiriusLabel(
+ self, self.prefix+self.chs['SL']['ASet']+'-RB')
+ self.rb_refvol.showUnits = True
+ lay_cavvgap.addWidget(self.ld_cavvgap, 0, 0)
+ lay_cavvgap.addWidget(self.lb_cavvgap, 0, 1)
+ lay_cavvgap.addWidget(self.lbl_refvol, 1, 0)
+ lay_cavvgap.addWidget(self.rb_refvol, 1, 1)
+ offset += 2
lay = QGridLayout()
lay.setHorizontalSpacing(25)
- lay.addItem(QSpacerItem(0, 20, QSzPlcy.Ignored, QSzPlcy.Fixed), 1, 0)
+ lay.addItem(QSpacerItem(0, 10, QSzPlcy.Ignored, QSzPlcy.Fixed), 1, 0)
lay.addLayout(lay_vals, 2, 0)
- lay.addItem(QSpacerItem(0, 20, QSzPlcy.Ignored, QSzPlcy.Fixed), 3, 0)
+ lay.addItem(QSpacerItem(0, 10, QSzPlcy.Ignored, QSzPlcy.Fixed), 3, 0)
lay.addWidget(self.pwr_mon_graph, 4, 0)
lay.addItem(QSpacerItem(
- 0, 50, QSzPlcy.Ignored, QSzPlcy.Minimum), 5, 0)
+ 0, 10, QSzPlcy.Ignored, QSzPlcy.Minimum), 5, 0)
lay.addLayout(lay_cavvgap, 6, 0)
lay.addItem(QSpacerItem(
0, 10, QSzPlcy.Ignored, QSzPlcy.MinimumExpanding), 7, 0)
@@ -1191,11 +1201,12 @@ def _graphsLayout(self):
QTabWidget::pane{
border-bottom: 2px solid gray;}
QPushButton{
- min-width: 6em;}
+ min-width: 8em;}
""")
lb_temp = QLabel('Temperatures [°C]
', self)
- self.pb_wattemp = QPushButton('Temp. Monitor', self)
+ self.pb_wattemp = QPushButton(
+ qta.icon('fa5s.external-link-alt'), ' Temp. Monitor', self)
connect_window(
self.pb_wattemp, TempMonitor, parent=self,
prefix=self.prefix, section=self.section)
@@ -1300,13 +1311,23 @@ def _graphsLayout(self):
# Transm.Line Temperatures
lb_tempcirc = QLabel(' • Circulator
', self)
- lims_circ = self.chs['TL Sts']['Circ Limits']
- ch2vals = {
- self.prefix+self.chs['TL Sts']['Circulator Temp. In']['label']: {
- 'comp': 'wt', 'value': lims_circ},
- self.prefix+self.chs['TL Sts']['label']['Circulator Temp. Out']: {
- 'comp': 'wt', 'value': lims_circ}
- }
+ # temporary fix
+ if self.section == 'SI':
+ lims_circ = self.chs['TL Sts']['A']['Circ Limits']
+ ch2vals = {
+ self.prefix+self.chs['TL Sts']['A']['Circulator Temp. In']['label']: {
+ 'comp': 'wt', 'value': lims_circ},
+ self.prefix+self.chs['TL Sts']['A']['label']['Circulator Temp. Out']: {
+ 'comp': 'wt', 'value': lims_circ}
+ }
+ else:
+ lims_circ = self.chs['TL Sts']['Circ Limits']
+ ch2vals = {
+ self.prefix+self.chs['TL Sts']['Circulator Temp. In']['label']: {
+ 'comp': 'wt', 'value': lims_circ},
+ self.prefix+self.chs['TL Sts']['label']['Circulator Temp. Out']: {
+ 'comp': 'wt', 'value': lims_circ}
+ }
self.led_tempcircok = PyDMLedMultiChannel(self, ch2vals)
hbox_tempcirc_state = QHBoxLayout()
hbox_tempcirc_state.addWidget(lb_tempcirc, alignment=Qt.AlignLeft)
@@ -1322,14 +1343,24 @@ def _graphsLayout(self):
self.tempcirc_graph.showYGrid = True
self.tempcirc_graph.timeSpan = 1800
self.tempcirc_graph.maxRedrawRate = 1
- self.tempcirc_graph.addYChannel(
- y_channel=self.prefix+self.chs['TL Sts']['Circulator Temp. In']['label'],
- name='CTIn', color='magenta',
- lineStyle=Qt.SolidLine, lineWidth=1)
- self.tempcirc_graph.addYChannel(
- y_channel=self.prefix+self.chs['TL Sts']['label']['Circulator Temp. Out'],
- name='CTOut', color='darkRed',
- lineStyle=Qt.SolidLine, lineWidth=1)
+ if self.section == 'SI':
+ self.tempcirc_graph.addYChannel(
+ y_channel=self.prefix+self.chs['TL Sts']['A']['Circulator Temp. In']['label'],
+ name='CTIn', color='magenta',
+ lineStyle=Qt.SolidLine, lineWidth=1)
+ self.tempcirc_graph.addYChannel(
+ y_channel=self.prefix+self.chs['TL Sts']['A']['label']['Circulator Temp. Out'],
+ name='CTOut', color='darkRed',
+ lineStyle=Qt.SolidLine, lineWidth=1)
+ else:
+ self.tempcirc_graph.addYChannel(
+ y_channel=self.prefix+self.chs['TL Sts']['Circulator Temp. In']['label'],
+ name='CTIn', color='magenta',
+ lineStyle=Qt.SolidLine, lineWidth=1)
+ self.tempcirc_graph.addYChannel(
+ y_channel=self.prefix+self.chs['TL Sts']['label']['Circulator Temp. Out'],
+ name='CTOut', color='darkRed',
+ lineStyle=Qt.SolidLine, lineWidth=1)
self.tempcirc_graph.setLabel('left', '')
self.line_circ_maxlim = InfiniteLine(
@@ -1388,8 +1419,6 @@ def _graphsLayout(self):
lay.setContentsMargins(0, 0, 0, 0)
lay.addWidget(self.temp_wid, 0, 0)
lay.addWidget(self.vac_wid, 1, 0)
- lay.setRowStretch(0, 7)
- lay.setRowStretch(1, 3)
return lay
def _create_vlay(self, widget1, widget2):
@@ -1405,7 +1434,7 @@ def _create_ssa_wid(self, lay_amp, row, chs_dict):
lay_amp.addWidget(led_sts, row, 1)
lb_name = QLabel(''+chs_dict['Name']+'
', self,
- alignment=Qt.AlignLeft)
+ alignment=Qt.AlignLeft | Qt.AlignVCenter)
lb_name.setStyleSheet('max-height: 1.29em;')
lay_amp.addWidget(lb_name, row, 2)
@@ -1464,6 +1493,141 @@ def _create_ssa_wid(self, lay_amp, row, chs_dict):
ch_pinsw.new_value_signal[int].connect(
_part(self._handle_predrive_led_channels, led_drive, chs_dict))
+ def _create_tun_set_wid(self, lay_tunset, column, chs_dict, offset):
+ if column:
+ lay_tunset.addWidget(QLabel(
+ column, self, alignment=Qt.AlignCenter), 0, offset)
+
+ bt_autotun = PyDMStateButton(
+ self, self.prefix+chs_dict['Auto']+'-Sel')
+ lb_autotun = SiriusLedState(
+ self, self.prefix+chs_dict['Auto']+'-Sts')
+ lay_autotun = QHBoxLayout()
+ lay_autotun.setSpacing(6)
+ lay_autotun.addWidget(bt_autotun)
+ lay_autotun.addWidget(lb_autotun)
+
+ sb_dtune = SiriusSpinbox(
+ self, self.prefix+chs_dict['DTune']+'-SP')
+ lb_dtune = SiriusLabel(
+ self, self.prefix+chs_dict['DTune']+'-RB')
+ lb_dtune.showUnits = True
+ lay_dtune = QHBoxLayout()
+ lay_dtune.setSpacing(6)
+ lay_dtune.addWidget(sb_dtune)
+ lay_dtune.addWidget(lb_dtune)
+
+ sb_margin = SiriusSpinbox(
+ self, self.prefix+chs_dict['Deadbnd']+'-SP')
+ lb_margin = SiriusLabel(
+ self, self.prefix+chs_dict['Deadbnd']+'-RB')
+ lb_margin.showUnits = True
+ lay_margin = QHBoxLayout()
+ lay_margin.setSpacing(6)
+ lay_margin.addWidget(sb_margin)
+ lay_margin.addWidget(lb_margin)
+
+ sb_oversht = SiriusSpinbox(
+ self, self.prefix+chs_dict['Oversht']+'-SP')
+ lb_oversht = SiriusLabel(
+ self, self.prefix+chs_dict['Oversht']+'-RB')
+ lb_oversht.showUnits = True
+ lay_oversht = QHBoxLayout()
+ lay_oversht.setSpacing(6)
+ lay_oversht.addWidget(sb_oversht)
+ lay_oversht.addWidget(lb_oversht)
+
+ lb_dphase = SiriusLabel(
+ self, self.prefix+chs_dict['DPhase'])
+ lb_dphase.showUnits = True
+ led_tunact = SiriusLedState(
+ self, self.prefix+chs_dict['Acting'])
+
+ lay_tunset.addLayout(lay_autotun, 1, offset)
+ lay_tunset.addLayout(lay_dtune, 2, offset)
+ lay_tunset.addLayout(lay_margin, 3, offset)
+ lay_tunset.addLayout(lay_oversht, 4, offset)
+ lay_tunset.addWidget(lb_dphase, 5, offset)
+ lay_tunset.addWidget(led_tunact, 6, offset, alignment=Qt.AlignCenter)
+
+ def _create_slc_lay(self, lay_slc, key, chs_dict, offset):
+ if key:
+ lay_slc.addWidget(QLabel(
+ f'{key}', self, alignment=Qt.AlignRight),
+ 0, offset)
+
+ lb_slmode = SiriusLabel(
+ self, self.prefix+chs_dict['Mode']+'-Sts')
+ led_slmode = PyDMLedMultiChannel(
+ self, {self.prefix+chs_dict['Mode']+'-Sts': 0})
+ bt_slenbl = PyDMStateButton(
+ self, self.prefix+chs_dict['Enbl']+'-Sel')
+ led_slenbl = SiriusLedState(
+ self, self.prefix+chs_dict['Enbl']+'-Sts')
+
+ lay_slc.addWidget(lb_slmode, 1, offset, alignment=Qt.AlignCenter)
+ lay_slc.addWidget(led_slmode, 1, offset+1, alignment=Qt.AlignCenter)
+ lay_slc.addWidget(bt_slenbl, 2, offset, alignment=Qt.AlignCenter)
+ lay_slc.addWidget(led_slenbl, 2, offset+1, alignment=Qt.AlignCenter)
+
+ sb_amp1 = SiriusSpinbox(
+ self, self.prefix+chs_dict['ASet']+'-SP')
+ lb_amp1 = SiriusLabel(
+ self, self.prefix+chs_dict['ASet']+'-RB')
+ cb_ampincrate = PyDMEnumComboBox(
+ self, self.prefix+chs_dict['AInc']+'-SP')
+ lb_ampincrate = SiriusLabel(
+ self, self.prefix+chs_dict['AInc']+'-SP')
+ sb_phs = SiriusSpinbox(
+ self, self.prefix+chs_dict['PSet']+'-SP')
+ lb_phs = SiriusLabel(
+ self, self.prefix+chs_dict['PSet']+'-RB')
+ cb_phsincrate = PyDMEnumComboBox(
+ self, self.prefix+chs_dict['PInc']+'-SP')
+ lb_phsincrate = SiriusLabel(
+ self, self.prefix+chs_dict['PInc']+'-RB')
+
+ lay_slc.addWidget(QLabel(
+ 'SP/RB
', self, alignment=Qt.AlignCenter), 4, offset)
+ lay_slc.addWidget(
+ QLabel('Inc. Rate SP/RB
', self, alignment=Qt.AlignCenter),
+ 4, offset+1)
+ lay_slc.addWidget(sb_amp1, 5, offset, alignment=Qt.AlignCenter)
+ lay_slc.addWidget(lb_amp1, 6, offset, alignment=Qt.AlignCenter)
+ lay_slc.addWidget(cb_ampincrate, 5, offset+1, alignment=Qt.AlignCenter)
+ lay_slc.addWidget(lb_ampincrate, 6, offset+1, alignment=Qt.AlignCenter)
+ lay_slc.addWidget(sb_phs, 7, offset, alignment=Qt.AlignCenter)
+ lay_slc.addWidget(lb_phs, 8, offset, alignment=Qt.AlignCenter)
+ lay_slc.addWidget(cb_phsincrate, 7, offset+1, alignment=Qt.AlignCenter)
+ lay_slc.addWidget(lb_phsincrate, 8, offset+1, alignment=Qt.AlignCenter)
+
+ lb_ampref = SiriusLabel(self, self.prefix+chs_dict['ARef'])
+ lb_ampref.showUnits = True
+ lb_ampinp = SiriusLabel(self, self.prefix+chs_dict['AInp'])
+ lb_ampinp.showUnits = True
+ lb_amperr = SiriusLabel(self, self.prefix+chs_dict['AErr'])
+ lb_amperr.showUnits = True
+ lb_phsref = SiriusLabel(self, self.prefix+chs_dict['PRef'])
+ lb_phsref.showUnits = True
+ lb_phsinp = SiriusLabel(self, self.prefix+chs_dict['PInp'])
+ lb_phsinp.showUnits = True
+ lb_phserr = SiriusLabel(self, self.prefix+chs_dict['PErr'])
+ lb_phserr.showUnits = True
+
+ lay_slc.addWidget(QLabel(
+ 'Amp.
', self, alignment=Qt.AlignCenter), 11, offset)
+ lay_slc.addWidget(QLabel(
+ 'Phase
', self, alignment=Qt.AlignCenter), 11, offset+1)
+
+ lay_slc.addWidget(lb_ampref, 12, offset)
+ lay_slc.addWidget(lb_ampinp, 13, offset)
+ lay_slc.addWidget(lb_amperr, 14, offset)
+ lay_slc.addWidget(lb_phsref, 12, offset+1)
+ lay_slc.addWidget(lb_phsinp, 13, offset+1)
+ lay_slc.addWidget(lb_phserr, 14, offset+1)
+ lay_slc.addItem(QSpacerItem(
+ 15, 0, QSzPlcy.Fixed, QSzPlcy.Ignored), 12, offset+2)
+
def _handle_pwrdata_visibility(self, text):
for group, labels in self._pm_labels.items():
for lbl in labels:
diff --git a/pyqt-apps/siriushla/as_rf_control/details.py b/pyqt-apps/siriushla/as_rf_control/details.py
index 023767933..2586c3cff 100644
--- a/pyqt-apps/siriushla/as_rf_control/details.py
+++ b/pyqt-apps/siriushla/as_rf_control/details.py
@@ -1,6 +1,7 @@
"""Detail windows."""
from pyqtgraph import BarGraphItem, PlotWidget
+from pydm.widgets import PyDMEnumComboBox
from qtpy.QtCore import Qt, QTimer
from qtpy.QtGui import QColor
from qtpy.QtWidgets import QCheckBox, QComboBox, QFormLayout, QGridLayout, \
@@ -9,7 +10,9 @@
from ..widgets import DetachableTabWidget, PyDMLedMultiChannel, \
PyDMStateButton, SiriusConnectionSignal as _ConnSignal, SiriusDialog, \
- SiriusLabel, SiriusLedAlert, SiriusSpinbox, SiriusWaveformPlot
+ SiriusLabel, SiriusLedAlert, SiriusSpinbox, SiriusTimePlot, \
+ SiriusWaveformPlot
+
from .util import SEC_2_CHANNELS
@@ -174,12 +177,33 @@ def __init__(self, parent=None, prefix='', section=''):
self._setupUi()
def _setupUi(self):
- lay = QFormLayout(self)
- lay.setLabelAlignment(Qt.AlignRight)
- lay.addRow(QLabel('Transm. Line - Detailed Status
'))
- lay.addItem(QSpacerItem(0, 10, QSzPlcy.Ignored, QSzPlcy.Fixed))
+ lay = QGridLayout(self)
+ lay.setAlignment(Qt.AlignTop)
+ lay.setSpacing(15)
- for widget_id, pvname in self.chs['TL Sts']['label_led'].items():
+ self.title = QLabel(
+ 'Transm. Line - Detailed Status
',
+ self, alignment=Qt.AlignHCenter)
+ lay.addWidget(self.title, 0, 0, 1, 4)
+ lay.addItem(QSpacerItem(0, 10, QSzPlcy.Ignored, QSzPlcy.Fixed), 1, 0)
+
+ offset = 0
+ if self.section == 'SI':
+ for key, chs_dict in self.chs['TL Sts'].items():
+ self._setupDetails(lay, key, chs_dict, offset)
+ offset += 2
+ else:
+ self._setupDetails(lay, None, self.chs['TL Sts'], offset)
+
+ def _setupDetails(self, lay, key, chs_dict, offset):
+ row = 2
+ if key:
+ lay.addWidget(QLabel(
+ f'{key}', self,
+ alignment=Qt.AlignRight), row, offset)
+ row += 1
+
+ for widget_id, pvname in chs_dict['label_led'].items():
wid = QWidget()
hlay = QHBoxLayout()
wid.setLayout(hlay)
@@ -196,7 +220,10 @@ def _setupUi(self):
self, self.prefix+pvname['led'])
hlay.addWidget(si_led_wid)
- lay.addRow(widget_id, wid)
+ lay.addWidget(QLabel(
+ widget_id, self, alignment=Qt.AlignRight), row, offset)
+ lay.addWidget(wid, row, offset+1)
+ row += 1
wid = QWidget()
hlay = QHBoxLayout()
@@ -204,32 +231,44 @@ def _setupUi(self):
hlay.setContentsMargins(0, 0, 0, 0)
lb_circtin = SiriusLabel(
- self, self.prefix+self.chs['TL Sts']['Circulator Temp. In']['label'])
+ self, self.prefix+chs_dict['Circulator Temp. In']['label'])
lb_circtin.showUnits = True
lb_circtin.setStyleSheet('qproperty-alignment: AlignLeft;')
hlay.addWidget(lb_circtin)
si_led_wid = PyDMLedMultiChannel(
- self, self.chs['TL Sts']['Circulator Temp. In']['led'])
+ self, chs_dict['Circulator Temp. In']['led'])
hlay.addWidget(si_led_wid)
- lay.addRow('Circulator T In: ', wid)
+ lay.addWidget(QLabel(
+ 'Circulator T In: ', self, alignment=Qt.AlignRight), row, offset)
+ lay.addWidget(wid, row, offset + 1)
+ row += 1
- for widget_id, pvname in self.chs['TL Sts']['label'].items():
+ for widget_id, pvname in chs_dict['label'].items():
if not ((self.section == 'BO') and ('Combiner' == widget_id)):
si_lbl_wid = SiriusLabel(
self, self.prefix+pvname)
si_lbl_wid.showUnits = True
si_lbl_wid.setStyleSheet('qproperty-alignment: AlignLeft;')
- lay.addRow(widget_id, si_lbl_wid)
+ lay.addWidget(QLabel(
+ widget_id, self, alignment=Qt.AlignRight), row, offset)
+ lay.addWidget(si_lbl_wid, row, offset+1)
+ row += 1
- lay.addItem(QSpacerItem(0, 10, QSzPlcy.Ignored, QSzPlcy.Fixed))
+ lay.addItem(QSpacerItem(
+ 0, 10, QSzPlcy.Ignored, QSzPlcy.Fixed), row, offset)
+ row += 1
- for widget_id, pvname in self.chs['TL Sts']['led'].items():
+ for widget_id, pvname in chs_dict['led'].items():
if not ((self.section == 'BO') and ('Detector Load' in widget_id)):
si_led_wid = SiriusLedAlert(
self, self.prefix+pvname)
- lay.addRow(widget_id + ": ", si_led_wid)
+ lay.addWidget(QLabel(
+ f'{widget_id}: ', self, alignment=Qt.AlignRight),
+ row, offset)
+ lay.addWidget(si_led_wid, row, offset+1)
+ row += 1
self.setStyleSheet("""
SiriusLabel{
@@ -237,10 +276,6 @@ def _setupUi(self):
}
QLed{
max-width: 1.29em;
- }
- .QLabel{
- max-height:2em;
- qproperty-alignment: AlignRight;
}""")
@@ -269,9 +304,23 @@ def _setupUi(self):
alignment=Qt.AlignCenter)
lay.addWidget(self.title, 0, 0, 1, 3)
+ if self.section == 'SI':
+ offset = 1
+ for key, chs_dict in self.chs['LLRF Intlk Details'].items():
+ self._setupDetails(lay, key, chs_dict, offset)
+ offset += 2
+ else:
+ self._setupDetails(lay, None, self.chs['LLRF Intlk Details'], 1)
+
+ def _setupDetails(self, lay, key, chs_dict, offset):
+ if key:
+ lay.addWidget(QLabel(
+ f'LLRF {key}
', self,
+ alignment=Qt.AlignLeft), offset, 0)
+
# inputs
col = 0
- for name, dic in self.chs['LLRF Intlk Details']['Inputs'].items():
+ for name, dic in chs_dict['Inputs'].items():
gbox = QGroupBox(name, self)
lay_intlk = QGridLayout(gbox)
lay_intlk.setAlignment(Qt.AlignTop)
@@ -299,7 +348,7 @@ def _setupUi(self):
lbl.setStyleSheet('QLabel{min-width:12em;}')
lay_intlk.addWidget(lbl, irow, icol)
- lay.addWidget(gbox, 1, col)
+ lay.addWidget(gbox, offset+1, col)
col += 1
# timestamps
@@ -308,7 +357,7 @@ def _setupUi(self):
lay_time.setAlignment(Qt.AlignTop)
lay_time.setHorizontalSpacing(9)
lay_time.setVerticalSpacing(9)
- for idx, pvn in self.chs['LLRF Intlk Details']['Timestamps'].items():
+ for idx, pvn in chs_dict['Timestamps'].items():
irow = int(idx)-1
desc = QLabel('Interlock '+idx, self, alignment=Qt.AlignCenter)
desc.setStyleSheet('QLabel{min-width:6em;}')
@@ -316,7 +365,7 @@ def _setupUi(self):
lbl.showUnits = True
lay_time.addWidget(desc, irow, 0)
lay_time.addWidget(lbl, irow, 1)
- lay.addWidget(gbox_time, 1, col)
+ lay.addWidget(gbox_time, offset+1, col)
class BarGraph(PlotWidget):
@@ -417,13 +466,13 @@ def _setupUi(self):
class FDLMonitor(SiriusDialog):
"""Fast Data Logger Monitor."""
- def __init__(self, parent=None, prefix='', section=''):
+ def __init__(self, parent=None, prefix='', section='', chs=''):
"""Init."""
super().__init__(parent)
self.prefix = prefix
self.prefix += ('-' if prefix and not prefix.endswith('-') else '')
self.section = section
- self.chs = SEC_2_CHANNELS[self.section]
+ self.chs = chs
self.setObjectName(self.section+'App')
self.setWindowTitle('FDL Monitor')
self.curves_amp = dict()
@@ -436,6 +485,14 @@ def _setupUi(self):
lay = QVBoxLayout(wid)
lay.setAlignment(Qt.AlignTop)
+ if self.section == 'SI':
+ title = QLabel(
+ f"LLRF {self.chs['Name']} FDL
", self,
+ alignment=Qt.AlignCenter)
+ else:
+ title = QLabel("LLRF FDL
", self, alignment=Qt.AlignCenter)
+ lay.addWidget(title)
+
controls = QGroupBox('Controls', self)
controls.setLayout(self._controlsLayout())
@@ -451,11 +508,11 @@ def _controlsLayout(self):
lay.setHorizontalSpacing(15)
# First line
- self.lb_mode = SiriusLabel(self, self.prefix + self.chs['FDL']['Mode'])
+ self.lb_mode = SiriusLabel(self, self.prefix + self.chs['Mode'])
self.led_swtrig = SiriusLedAlert(
- self, self.prefix + self.chs['FDL']['SW Trig'])
+ self, self.prefix + self.chs['SW Trig'])
self.bt_swtrig = PyDMStateButton(
- self, self.prefix + self.chs['FDL']['Trig'])
+ self, self.prefix + self.chs['Trig'])
lay.addWidget(QLabel(
'Perseus FDL Mode:
', self,
@@ -471,9 +528,9 @@ def _controlsLayout(self):
# Second line
self.lb_processing = SiriusLabel(
- self, self.prefix + self.chs['FDL']['Processing'])
+ self, self.prefix + self.chs['Processing'])
self.led_hwtrig = SiriusLedAlert(
- self, self.prefix + self.chs['FDL']['HW Trig'])
+ self, self.prefix + self.chs['HW Trig'])
lay.addWidget(QLabel(
'IOC FDL Status:
', self,
@@ -488,13 +545,13 @@ def _controlsLayout(self):
# Third line
self.bt_rearm = PyDMStateButton(
- self, self.prefix + self.chs['FDL']['Rearm'])
+ self, self.prefix + self.chs['Rearm'])
self.led_rearm = SiriusLedAlert(
- self, self.prefix + self.chs['FDL']['Rearm'])
+ self, self.prefix + self.chs['Rearm'])
self.led_raw = SiriusLedAlert(
- self, self.prefix + self.chs['FDL']['Raw'])
+ self, self.prefix + self.chs['Raw']+'-Sts')
self.bt_raw = PyDMStateButton(
- self, self.prefix + self.chs['FDL']['Raw'] + ':S')
+ self, self.prefix + self.chs['Raw']+'-Sel')
rearm_lay = QHBoxLayout()
rearm_lay.addWidget(self.bt_rearm)
@@ -514,18 +571,18 @@ def _controlsLayout(self):
# Fourth line
self.sb_qty = SiriusSpinbox(
- self, self.prefix + self.chs['FDL']['Qty'] + 'SP')
+ self, self.prefix + self.chs['Qty'] + '-SP')
self.lb_qty = SiriusLabel(
- self, self.prefix + self.chs['FDL']['Qty'] + 'RB')
+ self, self.prefix + self.chs['Qty'] + '-RB')
qty_lay = QHBoxLayout()
qty_lay.addWidget(self.sb_qty)
qty_lay.addWidget(self.lb_qty)
self.lb_size = SiriusLabel(
- self, self.prefix + self.chs['FDL']['Size'])
+ self, self.prefix + self.chs['Size'])
self.lb_size._show_units = True
self.lb_duration = SiriusLabel(
- self, self.prefix + self.chs['FDL']['Duration'])
+ self, self.prefix + self.chs['Duration'])
self.lb_duration._show_units = True
size_dur_lay = QHBoxLayout()
size_dur_lay.addWidget(QLabel(
@@ -546,13 +603,13 @@ def _controlsLayout(self):
# Fifth line
self.sb_delay_sample = SiriusSpinbox(
- self, self.prefix + self.chs['FDL']['Delay'] + '-SP')
+ self, self.prefix + self.chs['Delay'] + '-SP')
self.lb_delay_sample = SiriusLabel(
- self, self.prefix + self.chs['FDL']['Delay'] + '-RB')
+ self, self.prefix + self.chs['Delay'] + '-RB')
self.sb_delay_us = SiriusSpinbox(
- self, self.prefix + self.chs['FDL']['Delay'] + 'Time-SP')
+ self, self.prefix + self.chs['Delay'] + 'Time-SP')
self.lb_delay_us = SiriusLabel(
- self, self.prefix + self.chs['FDL']['Delay'] + 'Time-RB')
+ self, self.prefix + self.chs['Delay'] + 'Time-RB')
sb_unit = QComboBox()
sb_unit.addItems(['Choose a unit', 'Sample units', 'us'])
sb_unit.setMaximumWidth(120)
@@ -594,10 +651,10 @@ def _graphsLayout(self):
checks_wid = QWidget()
self.hbox_checks = QHBoxLayout(checks_wid)
- for idx in range(len(self.chs['FDL']['Signals'])):
+ for idx in range(len(self.chs['Signals'])):
self.setupCurve(
- self.chs['FDL']['Signals'][idx],
- self.prefix + self.chs['FDL']['Time'],
+ self.chs['Signals'][idx],
+ self.prefix + self.chs['Time'],
idx)
lay.addWidget(checks_wid)
@@ -667,3 +724,301 @@ def _handle_unit_change(self, text):
self.lb_delay_sample.setVisible(text == 'Sample units')
self.sb_delay_us.setVisible(text == 'us')
self.lb_delay_us.setVisible(text == 'us')
+
+
+class SlowLoopErrorDetails(SiriusDialog):
+ """Slow Loop Control Error Details."""
+ def __init__(self, parent=None, prefix='', section=''):
+ """Init."""
+ super().__init__(parent)
+ self.prefix = prefix
+ self.prefix += ('-' if prefix and not prefix.endswith('-') else '')
+ self.section = section
+ self.chs = SEC_2_CHANNELS[self.section]
+ self.setObjectName(self.section+'App')
+ self.setWindowTitle('Slow Loop Control Error Details')
+ self._setupUi()
+
+ def _setupUi(self):
+ lay = QVBoxLayout(self)
+ lay.setAlignment(Qt.AlignTop)
+ lay.setSpacing(20)
+
+ self.title = QLabel(
+ 'Slow Loop Control Error Details
', self,
+ alignment=Qt.AlignCenter)
+ lay.addWidget(self.title)
+
+ if self.section == 'SI':
+ for key, chs_dict in self.chs['SL']['ErrDtls'].items():
+ self._setupDetails(lay, key, chs_dict)
+ else:
+ self._setupDetails(lay, None, self.chs['SL']['ErrDtls'])
+
+ def _setupDetails(self, lay, key, chs_dict):
+ if key:
+ lay.addItem(QSpacerItem(0, 10, QSzPlcy.Ignored, QSzPlcy.Fixed))
+ lay.addWidget(QLabel(
+ f'LLRF {key}
', self, alignment=Qt.AlignCenter))
+
+ lay_llrf = QHBoxLayout()
+ lay_llrf.setAlignment(Qt.AlignTop)
+ lay_llrf.setSpacing(0)
+
+ lay_table = QGridLayout()
+ lay_table.setAlignment(Qt.AlignVCenter)
+ lay_table.setSpacing(9)
+ lay_table.addWidget(QLabel(
+ 'Reference', self, alignment=Qt.AlignCenter), 1, 0)
+ lay_table.addWidget(QLabel(
+ 'Input
', self, alignment=Qt.AlignCenter), 2, 0)
+ lay_table.addWidget(QLabel(
+ 'Error
', self, alignment=Qt.AlignCenter), 3, 0)
+
+ # I
+ lb_iref = SiriusLabel(self, self.prefix+chs_dict['IRef'])
+ lb_iref.showUnits = True
+ lb_iinp = SiriusLabel(self, self.prefix+chs_dict['IInp'])
+ lb_iinp.showUnits = True
+ lb_ierr = SiriusLabel(self, self.prefix+chs_dict['IErr'])
+ lb_ierr.showUnits = True
+ lay_table.addWidget(QLabel(
+ 'I
', self, alignment=Qt.AlignCenter), 0, 1)
+ lay_table.addWidget(lb_iref, 1, 1)
+ lay_table.addWidget(lb_iinp, 2, 1)
+ lay_table.addWidget(lb_ierr, 3, 1)
+
+ # Q
+ lb_qref = SiriusLabel(self, self.prefix+chs_dict['QRef'])
+ lb_qref.showUnits = True
+ lb_qinp = SiriusLabel(self, self.prefix+chs_dict['QInp'])
+ lb_qinp.showUnits = True
+ lb_qerr = SiriusLabel(self, self.prefix+chs_dict['QErr'])
+ lb_qerr.showUnits = True
+ lay_table.addWidget(QLabel(
+ 'Q
', self, alignment=Qt.AlignCenter), 0, 2)
+ lay_table.addWidget(lb_qref, 1, 2)
+ lay_table.addWidget(lb_qinp, 2, 2)
+ lay_table.addWidget(lb_qerr, 3, 2)
+
+ lay_llrf.addLayout(lay_table)
+ lay_llrf.addItem(QSpacerItem(15, 0, QSzPlcy.Fixed, QSzPlcy.Ignored))
+
+ # Graphs
+ self.setupGraphFasor(lay_llrf, chs_dict)
+ self.setupGraphTime(lay_llrf, key, "Amp")
+ self.setupGraphTime(lay_llrf, key, "Phs")
+
+ lay.addLayout(lay_llrf)
+
+ def setupGraphFasor(self, lay_llrf, chs_dict):
+ graph_iq = SiriusWaveformPlot(
+ parent=self, background=QColor(255, 255, 255))
+ graph_iq.setStyleSheet('min-height: 15em; min-width: 20em;')
+ graph_iq.maxRedrawRate = 2
+ graph_iq.mouseEnabledX = True
+ graph_iq.setShowXGrid(True)
+ graph_iq.setShowYGrid(True)
+ graph_iq.setShowLegend(True)
+ graph_iq.setAutoRangeX(False)
+ graph_iq.setAutoRangeY(False)
+ graph_iq.setAxisColor(QColor(0, 0, 0))
+ axx = graph_iq.plotItem.getAxis('right')
+ axx.setVisible(True)
+ axx.setTicks([])
+ axx.setWidth(0)
+ axx = graph_iq.plotItem.getAxis('top')
+ axx.setVisible(True)
+ axx.setTicks([])
+ axx.setHeight(0)
+
+ lbl_axis = ["Q", "I"]
+ channels = {
+ 'Input': {
+ 'X': self.prefix+chs_dict['IInp'],
+ 'Y': self.prefix+chs_dict['QInp']
+ },
+ 'Reference': {
+ 'X': self.prefix+chs_dict['IRef'],
+ 'Y': self.prefix+chs_dict['QRef']
+ }
+ }
+ graph_iq.setMinXRange(-1.0)
+ graph_iq.setMaxXRange(1.0)
+ graph_iq.setMinYRange(-1.0)
+ graph_iq.setMaxYRange(1.0)
+
+ graph_iq.setYLabels([lbl_axis[0]])
+ graph_iq.setXLabels([lbl_axis[1]])
+ graph_iq.setPlotTitle("I & Q Fasor")
+
+ opts = dict(
+ y_channel=channels['Input']['Y'],
+ x_channel=channels['Input']['X'],
+ name='Input',
+ color='red',
+ redraw_mode=2,
+ lineStyle=1,
+ lineWidth=3,
+ symbol='o',
+ symbolSize=10)
+ graph_iq.addChannel(**opts)
+
+ opts = dict(
+ y_channel=channels['Reference']['Y'],
+ x_channel=channels['Reference']['X'],
+ name='Reference',
+ color='blue',
+ redraw_mode=2,
+ lineStyle=1,
+ lineWidth=3,
+ symbol='o',
+ symbolSize=10)
+ graph_iq.addChannel(**opts)
+
+ lay_llrf.addWidget(graph_iq)
+
+ def setupGraphTime(self, lay_llrf, key, mode):
+ graph = SiriusTimePlot(self)
+ graph.setStyleSheet('min-height:15em;min-width:20em;max-height:15em;')
+ graph.timeSpan = 120
+ graph.maxRedrawRate = 2
+ graph.setShowXGrid(True)
+ graph.setShowYGrid(True)
+ graph.backgroundColor = QColor(255, 255, 255)
+ graph.setShowLegend(True)
+ graph.setAxisColor(QColor(0, 0, 0))
+ graph.setXLabels(["Time"])
+ axx = graph.plotItem.getAxis('right')
+ axx.setVisible(True)
+ axx.setTicks([])
+ axx.setWidth(0)
+ axx = graph.plotItem.getAxis('top')
+ axx.setVisible(True)
+ axx.setTicks([])
+ axx.setHeight(0)
+
+ chs_dict = self.chs['SL']['Over']
+ if self.section == 'SI':
+ chs_dict = chs_dict[key]
+
+ if mode == 'Amp':
+ title = 'Amplitude'
+ channels = {
+ 'Input': self.prefix+chs_dict['AInp'],
+ 'Reference': self.prefix+chs_dict['ARef']
+ }
+ else:
+ title = 'Phase'
+ channels = {
+ 'Input': self.prefix+chs_dict['PInp'],
+ 'Reference': self.prefix+chs_dict['PRef']
+ }
+
+ graph.setPlotTitle(title)
+ graph.setYLabels([title])
+
+ opts = dict(
+ y_channel=channels['Input'],
+ name='Input',
+ color='red',
+ lineStyle=1,
+ lineWidth=3)
+ graph.addYChannel(**opts)
+
+ opts = dict(
+ y_channel=channels['Reference'],
+ name='Reference',
+ color='blue',
+ lineStyle=1,
+ lineWidth=3)
+ graph.addYChannel(**opts)
+
+ lay_llrf.addWidget(graph)
+
+
+class SlowLoopParametersDetails(SiriusDialog):
+ """Slow Loop Control Parameters Details."""
+ def __init__(self, parent=None, prefix='', section=''):
+ """Init."""
+ super().__init__(parent)
+ self.prefix = prefix
+ self.prefix += ('-' if prefix and not prefix.endswith('-') else '')
+ self.section = section
+ self.chs = SEC_2_CHANNELS[self.section]
+ self.setObjectName(self.section+'App')
+ self.setWindowTitle('Slow Loop Control Parameters Details')
+ self._setupUi()
+
+ def _setupUi(self):
+ lay = QVBoxLayout(self)
+ lay.setAlignment(Qt.AlignTop)
+ lay.setSpacing(20)
+
+ self.title = QLabel(
+ 'Slow Loop Control Parameters Details
', self,
+ alignment=Qt.AlignCenter
+ )
+ lay.addWidget(self.title)
+
+ if self.section == 'SI':
+ for key, chs_dict in self.chs['SL']['Params'].items():
+ self._setupDetails(lay, key, chs_dict)
+ else:
+ self._setupDetails(lay, None, self.chs['SL']['Params'])
+
+ def _setupDetails(self, lay, key, chs_dict):
+ if key:
+ lay.addItem(QSpacerItem(0, 10, QSzPlcy.Ignored, QSzPlcy.Fixed))
+ lay.addWidget(QLabel(
+ f'LLRF {key}
', self, alignment=Qt.AlignLeft))
+
+ lay_llrf = QGridLayout()
+ lay_llrf.setAlignment(Qt.AlignTop)
+ lay_llrf.setHorizontalSpacing(9)
+ lay_llrf.setVerticalSpacing(9)
+
+ cb_inpsel = PyDMEnumComboBox(
+ self, self.prefix+chs_dict['Inp']+'-Sel')
+ lb_inpsel = SiriusLabel(
+ self, self.prefix+chs_dict['Inp']+'-Sts')
+ sb_pilimit = SiriusSpinbox(
+ self, self.prefix+chs_dict['PIL']+'-SP')
+ lb_pilimit = SiriusLabel(
+ self, self.prefix+chs_dict['PIL']+'-RB')
+ sb_ki = SiriusSpinbox(
+ self, self.prefix+chs_dict['KI']+'-SP')
+ lb_ki = SiriusLabel(
+ self, self.prefix+chs_dict['KI']+'-RB')
+ sb_kp = SiriusSpinbox(
+ self, self.prefix+chs_dict['KP']+'-SP')
+ lb_kp = SiriusLabel(
+ self, self.prefix+chs_dict['KP']+'-RB')
+
+ lay_llrf.addWidget(
+ QLabel('SP/RB
', self, alignment=Qt.AlignCenter),
+ 0, 2, 1, 2)
+ lay_llrf.addWidget(
+ QLabel('PI Limit
', self, alignment=Qt.AlignCenter),
+ 1, 0, 1, 2)
+ lay_llrf.addWidget(
+ QLabel('Ki
', self, alignment=Qt.AlignCenter), 2, 0, 1, 2)
+ lay_llrf.addWidget(
+ QLabel('Kp
', self, alignment=Qt.AlignCenter), 3, 0, 1, 2)
+ lay_llrf.addWidget(sb_pilimit, 1, 2, alignment=Qt.AlignRight)
+ lay_llrf.addWidget(lb_pilimit, 1, 3, alignment=Qt.AlignLeft)
+ lay_llrf.addWidget(sb_ki, 2, 2, alignment=Qt.AlignRight)
+ lay_llrf.addWidget(lb_ki, 2, 3, alignment=Qt.AlignLeft)
+ lay_llrf.addWidget(sb_kp, 3, 2, alignment=Qt.AlignRight)
+ lay_llrf.addWidget(lb_kp, 3, 3, alignment=Qt.AlignLeft)
+
+ lay_input = QGridLayout()
+ lay_input.addWidget(
+ QLabel('Loop Input
', self, alignment=Qt.AlignCenter),
+ 1, 0, 1, 2)
+ lay_input.addWidget(cb_inpsel, 2, 0, alignment=Qt.AlignRight)
+ lay_input.addWidget(lb_inpsel, 2, 1, alignment=Qt.AlignLeft)
+ lay_input.setRowStretch(0, 2)
+ lay_input.setRowStretch(3, 2)
+ lay_llrf.addLayout(lay_input, 1, 4, 3, 2)
+ lay.addLayout(lay_llrf)
diff --git a/pyqt-apps/siriushla/as_rf_control/util.py b/pyqt-apps/siriushla/as_rf_control/util.py
index 0cfec7b6d..47929137f 100644
--- a/pyqt-apps/siriushla/as_rf_control/util.py
+++ b/pyqt-apps/siriushla/as_rf_control/util.py
@@ -10,15 +10,15 @@
'Inputs': {
'Input': {
'Status': {
- '0': 'BR-RF-DLLRF-01:ILK:0',
- '1': 'BR-RF-DLLRF-01:ILK:1',
- '2': 'BR-RF-DLLRF-01:ILK:2',
- '3': 'BR-RF-DLLRF-01:ILK:3',
- '4': 'BR-RF-DLLRF-01:ILK:4',
- '5': 'BR-RF-DLLRF-01:ILK:5',
- '6': 'BR-RF-DLLRF-01:ILK:6',
- '7': 'BR-RF-DLLRF-01:ILK:7',
- 'Mon': 'BR-RF-DLLRF-01:Intlk-Mon',
+ '0': 'RA-RaBO01:RF-LLRF:Inp1Intlk0-Mon',
+ '1': 'RA-RaBO01:RF-LLRF:Inp1Intlk1-Mon',
+ '2': 'RA-RaBO01:RF-LLRF:Inp1Intlk2-Mon',
+ '3': 'RA-RaBO01:RF-LLRF:Inp1Intlk3-Mon',
+ '4': 'RA-RaBO01:RF-LLRF:Inp1Intlk4-Mon',
+ '5': 'RA-RaBO01:RF-LLRF:Inp1Intlk5-Mon',
+ '6': 'RA-RaBO01:RF-LLRF:Inp1Intlk6-Mon',
+ '7': 'RA-RaBO01:RF-LLRF:Inp1Intlk7-Mon',
+ 'Mon': 'RA-RaBO01:RF-LLRF:Inp1Intlk-Mon',
},
'Labels': (
'Rev Out SSA',
@@ -39,15 +39,15 @@
},
'Fast Input': {
'Status': {
- '0': 'BR-RF-DLLRF-01:FAST:ILK:0',
- '1': 'BR-RF-DLLRF-01:FAST:ILK:1',
- '2': 'BR-RF-DLLRF-01:FAST:ILK:2',
- '3': 'BR-RF-DLLRF-01:FAST:ILK:3',
- '4': 'BR-RF-DLLRF-01:FAST:ILK:4',
- '5': 'BR-RF-DLLRF-01:FAST:ILK:5',
- '6': 'BR-RF-DLLRF-01:FAST:ILK:6',
- '7': 'BR-RF-DLLRF-01:FAST:ILK:7',
- 'Mon': 'BR-RF-DLLRF-01:FASTINLK-MON',
+ '0': 'RA-RaBO01:RF-LLRF:Inp2Intlk0-Mon',
+ '1': 'RA-RaBO01:RF-LLRF:Inp2Intlk1-Mon',
+ '2': 'RA-RaBO01:RF-LLRF:Inp2Intlk2-Mon',
+ '3': 'RA-RaBO01:RF-LLRF:Inp2Intlk3-Mon',
+ '4': 'RA-RaBO01:RF-LLRF:Inp2Intlk4-Mon',
+ '5': 'RA-RaBO01:RF-LLRF:Inp2Intlk5-Mon',
+ '6': 'RA-RaBO01:RF-LLRF:Inp2Intlk6-Mon',
+ '7': 'RA-RaBO01:RF-LLRF:Inp2Intlk7-Mon',
+ 'Mon': 'RA-RaBO01:RF-LLRF:Inp2Intlk-Mon',
},
'Labels': (
'Cavity Voltage',
@@ -67,18 +67,18 @@
}
},
'Timestamps': {
- '1': 'BR-RF-DLLRF-01:TS1',
- '2': 'BR-RF-DLLRF-01:TS2',
- '3': 'BR-RF-DLLRF-01:TS3',
- '4': 'BR-RF-DLLRF-01:TS4',
- '5': 'BR-RF-DLLRF-01:TS5',
- '6': 'BR-RF-DLLRF-01:TS6',
- '7': 'BR-RF-DLLRF-01:TS7',
+ '1': 'RA-RaBO01:RF-LLRF:IntlkTs1-Mon',
+ '2': 'RA-RaBO01:RF-LLRF:IntlkTs2-Mon',
+ '3': 'RA-RaBO01:RF-LLRF:IntlkTs3-Mon',
+ '4': 'RA-RaBO01:RF-LLRF:IntlkTs4-Mon',
+ '5': 'RA-RaBO01:RF-LLRF:IntlkTs5-Mon',
+ '6': 'RA-RaBO01:RF-LLRF:IntlkTs6-Mon',
+ '7': 'RA-RaBO01:RF-LLRF:IntlkTs7-Mon',
}
},
'Reset': {
'Global': 'RA-RaBO02:RF-Intlk:Reset-Cmd',
- 'LLRF': 'BR-RF-DLLRF-01:Reset-Cmd',
+ 'LLRF': 'RA-RaBO01:RF-LLRF:IntlkReset-Cmd',
},
'Cav Sts': {
'Geral': 'BO-05D:RF-P5Cav:Sts-Mon',
@@ -114,7 +114,7 @@
},
'Vac': {
'Cells': 'BO-05D:VA-CCG-RFC:Pressure-Mon',
- 'Cond': 'BR-RF-DLLRF-01:VACUUM',
+ 'Cond': 'RA-RaBO01:RF-LLRF:VacuumFastRly-Mon',
'Cells ok': 'BO-05D:RF-P5Cav:Pressure-Mon',
'Coupler ok': 'BO-05D:RF-P5Cav:CoupPressure-Mon',
}
@@ -177,79 +177,86 @@
'Disable': 'RA-RaBO01:RF-LLRFPreAmp:PinSwDsbl-Cmd',
'Mon': 'RA-RaBO01:RF-LLRFPreAmp:PinSw-Mon'
},
- 'PreDrive': 'BR-RF-DLLRF-01:INPRE:AMP',
+ 'PreDrive': 'RA-RaBO01:RF-LLRFPreAmp:PwrFwdInAmp-Mon',
'PreDriveThrs': 4, # mV
},
'SL': {
- 'Enbl': 'BR-RF-DLLRF-01:SL',
- 'Mode': 'BR-RF-DLLRF-01:MODE',
- 'IRef': 'BR-RF-DLLRF-01:I:SL:REF',
- 'QRef': 'BR-RF-DLLRF-01:Q:SL:REF',
- 'ARef': 'BR-RF-DLLRF-01:SL:REF:AMP',
- 'PRef': 'BR-RF-DLLRF-01:SL:REF:PHS',
- 'IInp': 'BR-RF-DLLRF-01:I:SL:INP',
- 'QInp': 'BR-RF-DLLRF-01:Q:SL:INP',
- 'AInp': 'BR-RF-DLLRF-01:SL:INP:AMP',
- 'PInp': 'BR-RF-DLLRF-01:SL:INP:PHS',
- 'IErr': 'BR-RF-DLLRF-01:I:SL:ERR',
- 'QErr': 'BR-RF-DLLRF-01:Q:SL:ERR',
- 'AErr': 'BR-RF-DLLRF-01:SL:ERR:AMP',
- 'PErr': 'BR-RF-DLLRF-01:SL:ERR:PHS',
- 'ASet': ['BR-RF-DLLRF-01:mV:AL:REF', 'RA-RaBO01:RF-LLRF:AmpVCav'],
- 'PSet': 'BR-RF-DLLRF-01:PL:REF',
- 'AInc': 'BR-RF-DLLRF-01:AMPREF:INCRATE',
- 'PInc': 'BR-RF-DLLRF-01:PHSREF:INCRATE',
- 'Inp': 'BR-RF-DLLRF-01:SL:SEL',
- 'PIL': 'BR-RF-DLLRF-01:SL:PILIMIT',
- 'KI': 'BR-RF-DLLRF-01:SL:KI',
- 'KP': 'BR-RF-DLLRF-01:SL:KP',
+ 'ErrDtls': {
+ 'IRef': 'RA-RaBO01:RF-LLRF:SLRefI-Mon',
+ 'QRef': 'RA-RaBO01:RF-LLRF:SLRefQ-Mon',
+ 'IInp': 'RA-RaBO01:RF-LLRF:SLInpI-Mon',
+ 'QInp': 'RA-RaBO01:RF-LLRF:SLInpQ-Mon',
+ 'IErr': 'RA-RaBO01:RF-LLRF:SLErrorI-Mon',
+ 'QErr': 'RA-RaBO01:RF-LLRF:SLErrorQ-Mon',
+ },
+ 'Params': {
+ 'Inp': 'RA-RaBO01:RF-LLRF:SLInp',
+ 'PIL': 'RA-RaBO01:RF-LLRF:SLPILim',
+ 'KI': 'RA-RaBO01:RF-LLRF:SLKI',
+ 'KP': 'RA-RaBO01:RF-LLRF:SLKP',
+ },
+ 'Over': {
+ 'Enbl': 'RA-RaBO01:RF-LLRF:SL',
+ 'Mode': 'RA-RaBO01:RF-LLRF:LoopMode',
+ 'ASet': 'RA-RaBO01:RF-LLRF:ALRef',
+ 'PSet': 'RA-RaBO01:RF-LLRF:PLRef',
+ 'AInc': 'RA-RaBO01:RF-LLRF:AmpIncRate-Sp',
+ 'PInc': 'RA-RaBO01:RF-LLRF:PhsIncRate',
+ 'ARef': 'RA-RaBO01:RF-LLRF:SLRefAmp-Mon',
+ 'PRef': 'RA-RaBO01:RF-LLRF:SLRefPhs-Mon',
+ 'AInp': 'RA-RaBO01:RF-LLRF:SLInpAmp-Mon',
+ 'PInp': 'RA-RaBO01:RF-LLRF:SLInpPhs-Mon',
+ 'AErr': 'RA-RaBO01:RF-LLRF:SLErrAmp-Mon',
+ 'PErr': 'RA-RaBO01:RF-LLRF:SLErrPhs-Mon',
+ },
+ 'ASet': 'RA-RaBO01:RF-LLRF:AmpVCav',
},
'Tun': {
- 'Auto': 'BR-RF-DLLRF-01:TUNE',
- 'DTune': 'BR-RF-DLLRF-01:DTune-RB',
- 'DPhase': 'BR-RF-DLLRF-01:TUNE:DEPHS',
- 'Acting': 'BR-RF-DLLRF-01:TUNE:OUT',
- 'Deadbnd': 'BR-RF-DLLRF-01:TUNE:MARGIN:HI',
- 'Oversht': 'BR-RF-DLLRF-01:TUNE:MARGIN:LO',
- 'Pl1Down': 'BR-RF-DLLRF-01:PLG1:MOVE:DN',
- 'Pl1Up': 'BR-RF-DLLRF-01:PLG1:MOVE:UP',
- 'Pl2Down': 'BR-RF-DLLRF-01:PLG2:MOVE:DN',
- 'Pl2Up': 'BR-RF-DLLRF-01:PLG2:MOVE:UP',
+ 'Auto': 'RA-RaBO01:RF-LLRF:Tune',
+ 'DTune': 'RA-RaBO01:RF-LLRF:Detune',
+ 'DPhase': 'RA-RaBO01:RF-LLRF:TuneDephs-Mon',
+ 'Acting': 'RA-RaBO01:RF-LLRF:TuneOut-Mon',
+ 'Deadbnd': 'RA-RaBO01:RF-LLRF:TuneMarginHI',
+ 'Oversht': 'RA-RaBO01:RF-LLRF:TuneMarginHI',
+ 'Pl1Down': 'BO-05D:RF-P5Cav:Plg1MoveDown-Mon',
+ 'Pl1Up': 'BO-05D:RF-P5Cav:Plg1MoveUp-Mon',
+ 'Pl2Down': 'BO-05D:RF-P5Cav:Plg2MoveDown-Mon',
+ 'Pl2Up': 'BO-05D:RF-P5Cav:Plg2MoveUp-Mon',
'PlM1Curr': 'RA-RaBO01:RF-CavPlDrivers:Dr1Current-Mon',
'PlM2Curr': 'RA-RaBO01:RF-CavPlDrivers:Dr2Current-Mon',
},
'FFlat': {
- 'Sts': 'BR-RF-DLLRF-01:FF:ON',
- 'Auto': 'BR-RF-DLLRF-01:FF',
- 'Pos': 'BR-RF-DLLRF-01:FF:POS',
- 'Gain1': 'BR-RF-DLLRF-01:FF:GAIN:CELL2',
- 'Gain2': 'BR-RF-DLLRF-01:FF:GAIN:CELL4',
- 'Cell1': 'BR-RF-DLLRF-01:FF:CELL2',
- 'Cell2': 'BR-RF-DLLRF-01:FF:CELL4',
- 'Deadband': 'BR-RF-DLLRF-01:FF:DEADBAND',
- 'Err': 'BR-RF-DLLRF-01:FF:ERR',
+ 'Sts': 'RA-RaBO01:RF-LLRF:FFOn-Mon',
+ 'Auto': 'RA-RaBO01:RF-LLRF:FFEn',
+ 'Pos': 'RA-RaBO01:RF-LLRF:FFDir',
+ 'Gain1': 'RA-RaBO01:RF-LLRF:FFGainCell2',
+ 'Gain2': 'RA-RaBO01:RF-LLRF:FFGainCell4',
+ 'Cell1': 'RA-RaBO01:RF-LLRF:FFCell2-Mon',
+ 'Cell2': 'RA-RaBO01:RF-LLRF:FFCell4-Mon',
+ 'Deadband': 'RA-RaBO01:RF-LLRF:FFDeadBand',
+ 'Err': 'RA-RaBO01:RF-LLRF:FFErr-Mon',
},
'PwrMtr': {
'Cavity Power': {
- 'W': 'BO-05D:RF-P5Cav:Cell3Pwr-Mon',
- 'dBm': 'BO-05D:RF-P5Cav:Cell3PwrdBm-Mon',
- 'mV': 'BR-RF-DLLRF-01:CAV:AMP',
+ 'W': 'BO-05D:RF-P5Cav:PwrCell3AmpW-Mon',
+ 'dBm': 'BO-05D:RF-P5Cav:PwrCell3AmpdBm-Mon',
+ 'mV': 'BO-05D:RF-P5Cav:PwrCell3Amp-Mon',
'color': 'blue',
},
'Power Forward': {
- 'W': 'BO-05D:RF-P5Cav:PwrFwd-Mon',
- 'dBm': 'BO-05D:RF-P5Cav:PwrFwddBm-Mon',
- 'mV': 'BR-RF-DLLRF-01:FWDCAV:AMP',
+ 'W': 'BO-05D:RF-P5Cav:PwrFwdAmpW-Mon',
+ 'dBm': 'BO-05D:RF-P5Cav:PwrFwdAmpdBm-Mon',
+ 'mV': 'BO-05D:RF-P5Cav:PwrFwdAmp-Mon',
'color': 'darkGreen',
},
'Power Reverse': {
- 'W': 'BO-05D:RF-P5Cav:PwrRev-Mon',
- 'dBm': 'BO-05D:RF-P5Cav:PwrRevdBm-Mon',
- 'mV': 'BR-RF-DLLRF-01:REVCAV:AMP',
+ 'W': 'BO-05D:RF-P5Cav:PwrRevAmpW-Mon',
+ 'dBm': 'BO-05D:RF-P5Cav:PwrRevAmpdBm-Mon',
+ 'mV': 'BO-05D:RF-P5Cav:PwrRevAmp-Mon',
'color': 'red',
},
},
- 'CavVGap': 'BO-05D:RF-P5Cav:AmpVCav-Mon',
+ 'CavVGap': 'BO-05D:RF-P5Cav:PwrCell3VCav-Mon',
'TempMon': {
'Temp.': {
'Cells': {
@@ -289,195 +296,364 @@
},
'FDL': {
'Signals': (
- ('Cav', 'BR-RF-DLLRF-01:FDL:CAV:AMP', 'BR-RF-DLLRF-01:FDL:CAV:PHS', 'blue'),
- ('Fwd Cav', 'BR-RF-DLLRF-01:FDL:FWDCAV:AMP', 'BR-RF-DLLRF-01:FDL:FWDCAV:PHS', 'red'),
- ('Rev Cav', 'BR-RF-DLLRF-01:FDL:REVCAV:AMP', 'BR-RF-DLLRF-01:FDL:REVCAV:PHS', 'darkSlateBlue'),
- ('Fwd Ssa', 'BR-RF-DLLRF-01:FDL:FWDSSA:AMP', 'BR-RF-DLLRF-01:FDL:FWDSSA:PHS', 'darkGreen'),
- ('Rev Ssa', 'BR-RF-DLLRF-01:FDL:REVSSA:AMP', 'BR-RF-DLLRF-01:FDL:REVSSA:PHS', 'magenta'),
- ('Ctrl', 'BR-RF-DLLRF-01:FDL:CTRL:AMP', 'BR-RF-DLLRF-01:FDL:CTRL:PHS', 'darkCyan'),
- ('Ref', 'BR-RF-DLLRF-01:FDL:SL:REF:AMP', 'BR-RF-DLLRF-01:FDL:SL:REF:PHS', 'darkRed'),
- ('Err', 'BR-RF-DLLRF-01:FDL:SL:ERR:AMP', 'BR-RF-DLLRF-01:FDL:SL:ERR:PHS', 'purple'),
- ('Err Acc', 'BR-RF-DLLRF-01:FDL:SL:ERRACC:AMP', 'BR-RF-DLLRF-01:FDL:SL:ERRACC:PHS', 'saddlebrown'),
- ('MO', 'BR-RF-DLLRF-01:FDL:MO:AMP', 'BR-RF-DLLRF-01:FDL:MO:PHS', 'darkBlue'),
- ('Tune', None, 'BR-RF-DLLRF-01:FDL:TUNE:DEPHS', 'orangered'),
- ('Tune Filt', None, 'BR-RF-DLLRF-01:FDL:TUNE:DEPHS:FILT', 'darkOliveGreen')
+ ('Cav', 'RA-RaBO01:RF-LLRF:FDLCavAmp-Mon', 'RA-RaBO01:RF-LLRF:FDLCavPhs-Mon', 'blue'),
+ ('Fwd Cav', 'RA-RaBO01:RF-LLRF:FDLCavFwdAmp-Mon', 'RA-RaBO01:RF-LLRF:FDLCavFwdPhs-Mon', 'red'),
+ ('Rev Cav', 'RA-RaBO01:RF-LLRF:FDLCavRevAmp-Mon', 'RA-RaBO01:RF-LLRF:FDLCavRevPhs-Mon', 'darkSlateBlue'),
+ ('Fwd Ssa', 'RA-RaBO01:RF-LLRF:FDLFwdSSAAmp-Mon', 'RA-RaBO01:RF-LLRF:FDLFwdSSAPhs-Mon', 'darkGreen'),
+ ('Rev Ssa', 'RA-RaBO01:RF-LLRF:FDLRevSSAAmp-Mon', 'RA-RaBO01:RF-LLRF:FDLRevSSAPhs-Mon', 'magenta'),
+ ('Ctrl', 'RA-RaBO01:RF-LLRF:FDLCtrlAmp-Mon', 'RA-RaBO01:RF-LLRF:FDLCtrlPhs-Mon', 'darkCyan'),
+ ('Ref', 'RA-RaBO01:RF-LLRF:FDLSLRefAmp-Mon', 'RA-RaBO01:RF-LLRF:FDLSLRefPhs-Mon', 'darkRed'),
+ ('Err', 'RA-RaBO01:RF-LLRF:FDLSLErrAmp-Mon', 'RA-RaBO01:RF-LLRF:FDLSLErrPhs-Mon', 'purple'),
+ ('Err Acc', 'RA-RaBO01:RF-LLRF:FDLSLErrAccAmp-Mon', 'RA-RaBO01:RF-LLRF:FDLSLErrAccPhs-Mon', 'saddlebrown'),
+ ('MO', 'RA-RaBO01:RF-LLRF:FDLMOAmp-Mon', 'RA-RaBO01:RF-LLRF:FDLMOPhs-Mon', 'darkBlue'),
+ ('Tune', None, 'RA-RaBO01:RF-LLRF:FDLTuneDephs-Mon', 'orangered'),
+ ('Tune Filt', None, 'RA-RaBO01:RF-LLRF:FDLTuneDephsFilt-Mon', 'darkOliveGreen')
),
- 'Time': 'BR-RF-DLLRF-01:FDL:SCALE:32',
- 'Mode': 'BR-RF-DLLRF-01:FDL:MODE',
- 'SW Trig': 'BR-RF-DLLRF-01:FDL:SWTRIG',
- 'HW Trig': 'BR-RF-DLLRF-01:FDL:HWTRIG',
- 'Trig': 'BR-RF-DLLRF-01:FDL:TRIG:S',
- 'Processing': 'BR-RF-DLLRF-01:FDL:PROCESSING',
- 'Rearm': 'BR-RF-DLLRF-01:FDL:REARM',
- 'Raw': 'BR-RF-DLLRF-01:FDL:RAW',
- 'Qty': 'BR-RF-DLLRF-01:FDL:FrameQty-',
- 'Size': 'BR-RF-DLLRF-01:FDL:Size-Mon',
- 'Duration': 'BR-RF-DLLRF-01:FDL:Duration-Mon',
- 'Delay': 'BR-RF-DLLRF-01:FDL:TriggerDelay'
+ 'Time': 'RA-RaBO01:RF-LLRF:FDLScale32-Mon',
+ 'Mode': 'RA-RaBO:RF-LLRF:FDLMode-Mon',
+ 'SW Trig': 'RA-RaBO01:RF-LLRF:FDLSwTrig-Mon',
+ 'HW Trig': 'RA-RaBO01:RF-LLRF:FDLHwTrig-Mon',
+ 'Trig': 'RA-RaBO01:RF-LLRF:FDLTrig-Cmd',
+ 'Processing': 'RA-RaBO:RF-LLRF:FDLProcessing-Mon',
+ 'Rearm': 'RA-RaBO:RF-LLRF:FDLRearm-Sel',
+ 'Raw': 'RA-RaBO01:RF-LLRF:FDLRaw',
+ 'Qty': 'RA-RaBO:RF-LLRF:FDLFrame',
+ 'Size': 'RA-RaBO:RF-LLRF:FDLSize-Mon',
+ 'Duration': 'RA-RaBO:RF-LLRF:FDLDuration-Mon',
+ 'Delay': 'RA-RaBO:RF-LLRF:FDLTrigDly'
}
},
'SI': {
'Emergency': 'RA-RaSIA02:RF-IntlkCtrl:EStop-Mon',
'Sirius Intlk': 'RA-RaSIA02:RF-IntlkCtrl:IntlkSirius-Mon',
- 'LLRF Intlk': 'RA-RaSIA01:RF-LLRF:Intlk-Mon',
+ 'LLRF Intlk': {
+ 'A': 'RA-RaSIA01:RF-LLRF:Intlk-Mon',
+ 'B': 'RA-RaSIB01:RF-LLRF:Intlk-Mon',
+ },
'LLRF Intlk Details': {
- 'Inputs': {
- 'Input': {
- 'Status': {
- '0': 'SR-RF-DLLRF-01:ILK:0',
- '1': 'SR-RF-DLLRF-01:ILK:1',
- '2': 'SR-RF-DLLRF-01:ILK:2',
- '3': 'SR-RF-DLLRF-01:ILK:3',
- '4': 'SR-RF-DLLRF-01:ILK:4',
- '5': 'SR-RF-DLLRF-01:ILK:5',
- '6': 'SR-RF-DLLRF-01:ILK:6',
- '7': 'SR-RF-DLLRF-01:ILK:7',
- 'Mon': 'SR-RF-DLLRF-01:Intlk-Mon',
+ 'A': {
+ 'Inputs': {
+ 'Input': {
+ 'Status': {
+ '0': 'RA-RaSIA01:RF-LLRF-A:Inp1Intlk0-Mon',
+ '1': 'RA-RaSIA01:RF-LLRF-A:Inp1Intlk1-Mon',
+ '2': 'RA-RaSIA01:RF-LLRF-A:Inp1Intlk2-Mon',
+ '3': 'RA-RaSIA01:RF-LLRF-A:Inp1Intlk3-Mon',
+ '4': 'RA-RaSIA01:RF-LLRF-A:Inp1Intlk4-Mon',
+ '5': 'RA-RaSIA01:RF-LLRF-A:Inp1Intlk5-Mon',
+ '6': 'RA-RaSIA01:RF-LLRF-A:Inp1Intlk6-Mon',
+ '7': 'RA-RaSIA01:RF-LLRF-A:Inp1Intlk7-Mon',
+ 'Mon': 'RA-RaSIA01:RF-LLRF-A:Inp1Intlk-Mon',
+ },
+ 'Labels': (
+ 'Rev Out SSA 1',
+ 'Rev Out SSA 2',
+ 'Not Used (RefSSA3)',
+ 'Not Used (RevSSA4)',
+ 'Rev Cavity',
+ 'Not Used (Ext LLRF1)',
+ 'Not Used (Ext LLRF2)',
+ 'Not Used (Ext LLRF3)',
+ 'Manual',
+ 'PLC',
+ 'Plunger 1 End Sw Up',
+ 'Plunger 1 End Sw Down',
+ 'Plunger 2 End Sw Up',
+ 'Plunger 2 End Sw Down',
+ ),
},
- 'Labels': (
- 'Rev Out SSA 1',
- 'Rev Out SSA 2',
- 'Not Used (RefSSA3)',
- 'Not Used (RevSSA4)',
- 'Rev Cavity',
- 'Not Used (Ext LLRF1)',
- 'Not Used (Ext LLRF2)',
- 'Not Used (Ext LLRF3)',
- 'Manual',
- 'PLC',
- 'Plunger 1 End Sw Up',
- 'Plunger 1 End Sw Down',
- 'Plunger 2 End Sw Up',
- 'Plunger 2 End Sw Down',
- ),
- },
- 'Fast Input': {
- 'Status': {
- '0': 'SR-RF-DLLRF-01:FAST:ILK:0',
- '1': 'SR-RF-DLLRF-01:FAST:ILK:1',
- '2': 'SR-RF-DLLRF-01:FAST:ILK:2',
- '3': 'SR-RF-DLLRF-01:FAST:ILK:3',
- '4': 'SR-RF-DLLRF-01:FAST:ILK:4',
- '5': 'SR-RF-DLLRF-01:FAST:ILK:5',
- '6': 'SR-RF-DLLRF-01:FAST:ILK:6',
- '7': 'SR-RF-DLLRF-01:FAST:ILK:7',
- 'Mon': 'SR-RF-DLLRF-01:FASTINLK-MON',
+ 'Fast Input': {
+ 'Status': {
+ '0': 'RA-RaSIA01:RF-LLRF-A:Inp2Intlk0-Mon',
+ '1': 'RA-RaSIA01:RF-LLRF-A:Inp2Intlk1-Mon',
+ '2': 'RA-RaSIA01:RF-LLRF-A:Inp2Intlk2-Mon',
+ '3': 'RA-RaSIA01:RF-LLRF-A:Inp2Intlk3-Mon',
+ '4': 'RA-RaSIA01:RF-LLRF-A:Inp2Intlk4-Mon',
+ '5': 'RA-RaSIA01:RF-LLRF-A:Inp2Intlk5-Mon',
+ '6': 'RA-RaSIA01:RF-LLRF-A:Inp2Intlk6-Mon',
+ '7': 'RA-RaSIA01:RF-LLRF-A:Inp2Intlk7-Mon',
+ 'Mon': 'RA-RaSIA01:RF-LLRF-A:Inp2Intlk-Mon',
+ },
+ 'Labels': (
+ 'Cavity Voltage',
+ 'Cavity Fwd',
+ 'SSA 1 Out Fwd',
+ 'Cell 2 Voltage (RFIN7)',
+ 'Cell 6 Voltage (RFIN8)',
+ 'SSA 2 Out Fwd (RFIN9)',
+ 'SSA 2 Rev Fwd (RFIN10)',
+ 'Pre-Drive 1 In (RFIN11)',
+ 'Pre-Drive 1 Out (RFIN12)',
+ 'Pre-Drive 2 In (RFIN13)',
+ 'Pre-Drive 2 Out (RFIN14)',
+ 'Circulator Out Fwd (RFIN15)',
+ 'LLRF Beam Trip',
+ ),
},
- 'Labels': (
- 'Cavity Voltage',
- 'Cavity Fwd',
- 'SSA 1 Out Fwd',
- 'Cell 2 Voltage (RFIN7)',
- 'Cell 6 Voltage (RFIN8)',
- 'SSA 2 Out Fwd (RFIN9)',
- 'SSA 2 Rev Fwd (RFIN10)',
- 'Pre-Drive 1 In (RFIN11)',
- 'Pre-Drive 1 Out (RFIN12)',
- 'Pre-Drive 2 In (RFIN13)',
- 'Pre-Drive 2 Out (RFIN14)',
- 'Circulator Out Fwd (RFIN15)',
- 'LLRF Beam Trip',
- ),
},
+ 'Timestamps': {
+ '1': 'RA-RaSIA01:RF-LLRF-A:IntlkTs1-Mon',
+ '2': 'RA-RaSIA01:RF-LLRF-A:IntlkTs2-Mon',
+ '3': 'RA-RaSIA01:RF-LLRF-A:IntlkTs3-Mon',
+ '4': 'RA-RaSIA01:RF-LLRF-A:IntlkTs4-Mon',
+ '5': 'RA-RaSIA01:RF-LLRF-A:IntlkTs5-Mon',
+ '6': 'RA-RaSIA01:RF-LLRF-A:IntlkTs6-Mon',
+ '7': 'RA-RaSIA01:RF-LLRF-A:IntlkTs7-Mon',
+ }
},
- 'Timestamps': {
- '1': 'SR-RF-DLLRF-01:TS1',
- '2': 'SR-RF-DLLRF-01:TS2',
- '3': 'SR-RF-DLLRF-01:TS3',
- '4': 'SR-RF-DLLRF-01:TS4',
- '5': 'SR-RF-DLLRF-01:TS5',
- '6': 'SR-RF-DLLRF-01:TS6',
- '7': 'SR-RF-DLLRF-01:TS7',
+ 'B': {
+ 'Inputs': {
+ 'Input': {
+ 'Status': {
+ '0': 'RA-RaSIB01:RF-LLRF-B:Inp1Intlk0-Mon',
+ '1': 'RA-RaSIB01:RF-LLRF-B:Inp1Intlk1-Mon',
+ '2': 'RA-RaSIB01:RF-LLRF-B:Inp1Intlk2-Mon',
+ '3': 'RA-RaSIB01:RF-LLRF-B:Inp1Intlk3-Mon',
+ '4': 'RA-RaSIB01:RF-LLRF-B:Inp1Intlk4-Mon',
+ '5': 'RA-RaSIB01:RF-LLRF-B:Inp1Intlk5-Mon',
+ '6': 'RA-RaSIB01:RF-LLRF-B:Inp1Intlk6-Mon',
+ '7': 'RA-RaSIB01:RF-LLRF-B:Inp1Intlk7-Mon',
+ 'Mon': 'RA-RaSIB01:RF-LLRF-B:Inp1Intlk-Mon',
+ },
+ 'Labels': (
+ 'Rev Out SSA 1',
+ 'Rev Out SSA 2',
+ 'Not Used (RefSSA3)',
+ 'Not Used (RevSSA4)',
+ 'Rev Cavity',
+ 'Not Used (Ext LLRF1)',
+ 'Not Used (Ext LLRF2)',
+ 'Not Used (Ext LLRF3)',
+ 'Manual',
+ 'PLC',
+ 'Plunger 1 End Sw Up',
+ 'Plunger 1 End Sw Down',
+ 'Plunger 2 End Sw Up',
+ 'Plunger 2 End Sw Down',
+ ),
+ },
+ 'Fast Input': {
+ 'Status': {
+ '0': 'RA-RaSIB01:RF-LLRF-B:Inp2Intlk0-Mon',
+ '1': 'RA-RaSIB01:RF-LLRF-B:Inp2Intlk1-Mon',
+ '2': 'RA-RaSIB01:RF-LLRF-B:Inp2Intlk2-Mon',
+ '3': 'RA-RaSIB01:RF-LLRF-B:Inp2Intlk3-Mon',
+ '4': 'RA-RaSIB01:RF-LLRF-B:Inp2Intlk4-Mon',
+ '5': 'RA-RaSIB01:RF-LLRF-B:Inp2Intlk5-Mon',
+ '6': 'RA-RaSIB01:RF-LLRF-B:Inp2Intlk6-Mon',
+ '7': 'RA-RaSIB01:RF-LLRF-B:Inp2Intlk7-Mon',
+ 'Mon': 'RA-RaSIB01:RF-LLRF-B:Inp2Intlk-Mon',
+ },
+ 'Labels': (
+ 'Cavity Voltage',
+ 'Cavity Fwd',
+ 'SSA 1 Out Fwd',
+ 'Cell 2 Voltage (RFIN7)',
+ 'Cell 6 Voltage (RFIN8)',
+ 'SSA 2 Out Fwd (RFIN9)',
+ 'SSA 2 Rev Fwd (RFIN10)',
+ 'Pre-Drive 1 In (RFIN11)',
+ 'Pre-Drive 1 Out (RFIN12)',
+ 'Pre-Drive 2 In (RFIN13)',
+ 'Pre-Drive 2 Out (RFIN14)',
+ 'Circulator Out Fwd (RFIN15)',
+ 'LLRF Beam Trip',
+ ),
+ },
+ },
+ 'Timestamps': {
+ '1': 'RA-RaSIB01:RF-LLRF-B:IntlkTs1-Mon',
+ '2': 'RA-RaSIB01:RF-LLRF-B:IntlkTs2-Mon',
+ '3': 'RA-RaSIB01:RF-LLRF-B:IntlkTs3-Mon',
+ '4': 'RA-RaSIB01:RF-LLRF-B:IntlkTs4-Mon',
+ '5': 'RA-RaSIB01:RF-LLRF-B:IntlkTs5-Mon',
+ '6': 'RA-RaSIB01:RF-LLRF-B:IntlkTs6-Mon',
+ '7': 'RA-RaSIB01:RF-LLRF-B:IntlkTs7-Mon',
+ }
}
},
'Reset': {
'Global': 'RA-RaSIA02:RF-Intlk:Reset-Cmd',
- 'LLRF': 'SR-RF-DLLRF-01:Reset-Cmd',
+ 'A': 'RA-RaSIA01:RF-LLRF-A:IntlkReset-Cmd',
+ 'B': 'RA-RaSIB01:RF-LLRF-B:IntlkReset-Cmd',
},
'Cav Sts': {
- 'Geral': 'SI-02SB:RF-P7Cav:Sts-Mon',
+ 'Geral': 'SI-03SP:RF-P7Cav:Sts-Mon',
'Temp': {
'Cells': (
- ('SI-02SB:RF-P7Cav:Cylin1T-Mon', 'blue'),
- ('SI-02SB:RF-P7Cav:Cylin2T-Mon', 'red'),
- ('SI-02SB:RF-P7Cav:Cylin3T-Mon', 'yellow'),
- ('SI-02SB:RF-P7Cav:Cylin4T-Mon', 'darkGreen'),
- ('SI-02SB:RF-P7Cav:Cylin5T-Mon', 'magenta'),
- ('SI-02SB:RF-P7Cav:Cylin6T-Mon', 'darkCyan'),
- ('SI-02SB:RF-P7Cav:Cylin7T-Mon', 'darkRed'),
+ ('SI-03SP:RF-P7Cav:Cylin1T-Mon', 'blue'),
+ ('SI-03SP:RF-P7Cav:Cylin2T-Mon', 'red'),
+ ('SI-03SP:RF-P7Cav:Cylin3T-Mon', 'yellow'),
+ ('SI-03SP:RF-P7Cav:Cylin4T-Mon', 'darkGreen'),
+ ('SI-03SP:RF-P7Cav:Cylin5T-Mon', 'magenta'),
+ ('SI-03SP:RF-P7Cav:Cylin6T-Mon', 'darkCyan'),
+ ('SI-03SP:RF-P7Cav:Cylin7T-Mon', 'darkRed'),
),
- 'Cells Limits PVs': ('SI-02SB:RF-P7Cav:Cylin1TLowerLimit-Cte',
- 'SI-02SB:RF-P7Cav:Cylin1TUpperLimit-Cte'),
+ 'Cells Limits PVs': ('SI-03SP:RF-P7Cav:Cylin1TLowerLimit-Cte',
+ 'SI-03SP:RF-P7Cav:Cylin1TUpperLimit-Cte'),
'Cells Limits': [0.0, 0.0],
- 'Coupler': ('SI-02SB:RF-P7Cav:CoupT-Mon', 'black'),
- 'Coupler Limits PVs': ('SI-02SB:RF-P7Cav:CoupTLowerLimit-Cte',
- 'SI-02SB:RF-P7Cav:CoupTUpperLimit-Cte'),
+ 'Coupler': ('SI-03SP:RF-P7Cav:CoupT-Mon', 'black'),
+ 'Coupler Limits PVs': ('SI-03SP:RF-P7Cav:CoupTLowerLimit-Cte',
+ 'SI-03SP:RF-P7Cav:CoupTUpperLimit-Cte'),
'Coupler Limits': [0.0, 0.0],
'Discs': (
- 'SI-02SB:RF-P7Cav:Disc1Tms-Mon',
- 'SI-02SB:RF-P7Cav:Disc2Tms-Mon',
- 'SI-02SB:RF-P7Cav:Disc3Tms-Mon',
- 'SI-02SB:RF-P7Cav:Disc4Tms-Mon',
- 'SI-02SB:RF-P7Cav:Disc5Tms-Mon',
- 'SI-02SB:RF-P7Cav:Disc6Tms-Mon',
- 'SI-02SB:RF-P7Cav:Disc7Tms-Mon',
- 'SI-02SB:RF-P7Cav:Disc8Tms-Mon',
+ 'SI-03SP:RF-P7Cav:Disc1Tms-Mon',
+ 'SI-03SP:RF-P7Cav:Disc2Tms-Mon',
+ 'SI-03SP:RF-P7Cav:Disc3Tms-Mon',
+ 'SI-03SP:RF-P7Cav:Disc4Tms-Mon',
+ 'SI-03SP:RF-P7Cav:Disc5Tms-Mon',
+ 'SI-03SP:RF-P7Cav:Disc6Tms-Mon',
+ 'SI-03SP:RF-P7Cav:Disc7Tms-Mon',
+ 'SI-03SP:RF-P7Cav:Disc8Tms-Mon',
),
},
'FlwRt': {
- 'Flow Switch 1': 'SI-02SB:RF-P7Cav:HDFlwRt1-Mon',
- 'Flow Switch 2': 'SI-02SB:RF-P7Cav:HDFlwRt2-Mon',
- 'Flow Switch 3': 'SI-02SB:RF-P7Cav:HDFlwRt3-Mon',
+ 'Flow Switch 1': 'SI-03SP:RF-P7Cav:HDFlwRt1-Mon',
+ 'Flow Switch 2': 'SI-03SP:RF-P7Cav:HDFlwRt2-Mon',
+ 'Flow Switch 3': 'SI-03SP:RF-P7Cav:HDFlwRt3-Mon',
},
'Vac': {
- 'Cells': 'SI-02SB:VA-CCG-CAV:Pressure-Mon',
- 'Cond': 'SR-RF-DLLRF-01:VACUUM',
- 'Cells ok': 'SI-02SB:RF-P7Cav:Pressure-Mon',
- 'Coupler ok': 'SI-02SB:RF-P7Cav:CoupPressure-Mon',
+ 'Cells': 'SI-03SP:VA-CCG-CAV:Pressure-Mon',
+ 'Cond': 'RA-RaSIA01:RF-LLRF-A:VacuumFastRly-Mon',
+ 'Cells ok': 'SI-03SP:RF-P7Cav:Pressure-Mon',
+ 'Coupler ok': 'SI-03SP:RF-P7Cav:CoupPressure-Mon',
}
},
'TL Sts': {
- 'Geral': 'RA-TLSIA:RF-TrLine:Sts-Mon',
- 'Circulator Temp. In': {
- 'label': 'RA-TLSIA:RF-Circulator:Tin-Mon',
+ 'A': {
+ 'Geral': 'RA-TLSIA:RF-TrLine:Sts-Mon',
+ 'Circulator Temp. In': {
+ 'label': 'RA-TLSIA:RF-Circulator:Tin-Mon',
+ 'led': {
+ 'RA-TLSIA:RF-Circulator:TinDown-Mon': 0,
+ 'RA-TLSIA:RF-Circulator:TinUp-Mon': 0
+ }
+ },
+ 'label_led': {
+ 'Circulator Temp. Drift': {
+ 'label': 'RA-TLSIA:RF-Circulator:dT-Mon',
+ 'led': 'RA-TLSIA:RF-Circulator:TDrift-Mon'
+ },
+ 'Circulator Coil': {
+ 'label': 'RA-TLSIA:RF-Circulator:Current-Mon',
+ 'led': 'RA-TLSIA:RF-Circulator:Sts-Mon'
+ },
+ 'Room Temp.': {
+ 'label': 'RA-TLSIA:RF-Circulator:Tamb-Mon',
+ 'led': 'RA-TLSIA:RF-Circulator:TEnv-Mon'
+ }
+ },
+ 'label': {
+ 'Circulator Temp. Out': 'RA-TLSIA:RF-Circulator:Tout-Mon',
+ 'Circulator In Reflected Power': 'RA-TLSIA:RF-Circulator:PwrRevIndBm-Mon',
+ 'Combiner': 'RA-TLSIA:RF-Combiner:T-Mon'
+ },
'led': {
- 'RA-TLSIA:RF-Circulator:TinDown-Mon': 0,
- 'RA-TLSIA:RF-Circulator:TinUp-Mon': 0
- }
+ 'Circulator Arc Detector': 'RA-TLSIA:RF-Circulator:Arc-Mon',
+ 'Circulator Arc Detector Supply Fail': 'RA-RaSIA02:RF-ArcDetec-Circ:PwrFail-Mon',
+ 'Arc Detector Load': 'RA-TLSIA:RF-Load:Arc-Mon',
+ 'Arc Detector Load Supply Fail': 'RA-RaSIA02:RF-ArcDetec-Load:PwrFail-Mon',
+ 'Circulator Flow': 'RA-TLSIA:RF-Circulator:FlwRt-Mon',
+ 'Load Flow': 'RA-TLSIA:RF-Load:FlwRt-Mon',
+ 'TCU Status': 'RA-TLSIA:RF-Circulator:IntlkOp-Mon',
+ },
+ 'Circ Limits': (19.0, 23.0),
},
- 'label_led': {
- 'Circulator Temp. Drift': {
- 'label': 'RA-TLSIA:RF-Circulator:dT-Mon',
- 'led': 'RA-TLSIA:RF-Circulator:TDrift-Mon'
+ 'B': {
+ 'Geral': 'RA-TLSIB:RF-TrLine:Sts-Mon',
+ 'Circulator Temp. In': {
+ 'label': 'RA-TLSIB:RF-Circulator:Tin-Mon',
+ 'led': {
+ 'RA-TLSIB:RF-Circulator:TinDown-Mon': 0,
+ 'RA-TLSIB:RF-Circulator:TinUp-Mon': 0
+ }
},
- 'Circulator Coil': {
- 'label': 'RA-TLSIA:RF-Circulator:Current-Mon',
- 'led': 'RA-TLSIA:RF-Circulator:Sts-Mon'
+ 'label_led': {
+ 'Circulator Temp. Drift': {
+ 'label': 'RA-TLSIB:RF-Circulator:dT-Mon',
+ 'led': 'RA-TLSIB:RF-Circulator:TDrift-Mon'
+ },
+ 'Circulator Coil': {
+ 'label': 'RA-TLSIB:RF-Circulator:Current-Mon',
+ 'led': 'RA-TLSIB:RF-Circulator:Sts-Mon'
+ },
+ 'Room Temp.': {
+ 'label': 'RA-TLSIB:RF-Circulator:Tamb-Mon',
+ 'led': 'RA-TLSIB:RF-Circulator:TEnv-Mon'
+ }
},
- 'Room Temp.': {
- 'label': 'RA-TLSIA:RF-Circulator:Tamb-Mon',
- 'led': 'RA-TLSIA:RF-Circulator:TEnv-Mon'
- }
- },
- 'label': {
- 'Circulator Temp. Out': 'RA-TLSIA:RF-Circulator:Tout-Mon',
- 'Circulator In Reflected Power': 'RA-TLSIA:RF-Circulator:PwrRevIndBm-Mon',
- 'Combiner': 'RA-TLSIA:RF-Combiner:T-Mon'
- },
- 'led': {
- 'Circulator Arc Detector': 'RA-TLSIA:RF-Circulator:Arc-Mon',
- 'Circulator Arc Detector Supply Fail': 'RA-RaSIA02:RF-ArcDetec-Circ:PwrFail-Mon',
- 'Arc Detector Load': 'RA-TLSIA:RF-Load:Arc-Mon',
- 'Arc Detector Load Supply Fail': 'RA-RaSIA02:RF-ArcDetec-Load:PwrFail-Mon',
- 'Circulator Flow': 'RA-TLSIA:RF-Circulator:FlwRt-Mon',
- 'Load Flow': 'RA-TLSIA:RF-Load:FlwRt-Mon',
- 'TCU Status': 'RA-TLSIA:RF-Circulator:IntlkOp-Mon',
- },
- 'Circ Limits': (19.0, 23.0),
+ 'label': {
+ 'Circulator Temp. Out': 'RA-TLSIB:RF-Circulator:Tout-Mon',
+ 'Circulator In Reflected Power': 'RA-TLSIB:RF-Circulator:PwrRevIndBm-Mon',
+ 'Combiner': 'RA-TLSIB:RF-Combiner:T-Mon'
+ },
+ 'led': {
+ 'Circulator Arc Detector': 'RA-TLSIB:RF-Circulator:Arc-Mon',
+ 'Circulator Arc Detector Supply Fail': 'RA-RaSIB02:RF-ArcDetec-Circ:PwrFail-Mon',
+ 'Arc Detector Load': 'RA-TLSIB:RF-Load:Arc-Mon',
+ 'Arc Detector Load Supply Fail': 'RA-RaSIB02:RF-ArcDetec-Load:PwrFail-Mon',
+ 'Circulator Flow': 'RA-TLSIB:RF-Circulator:FlwRt-Mon',
+ 'Load Flow': 'RA-TLSIB:RF-Load:FlwRt-Mon',
+ 'TCU Status': 'RA-TLSIB:RF-Circulator:IntlkOp-Mon',
+ },
+ 'Circ Limits': (19.0, 23.0),
+ }
},
'SSA': {
'1': {
'Name': 'SSA 01',
+ 'Status': 'RA-ToSIA01:RF-SSAmpTower:Sts-Mon',
+ 'Power': 'RA-ToSIA01:RF-SSAmpTower:PwrFwdOut-Mon',
+ 'SRC 1': {
+ 'Label': 'AC TDK',
+ 'Enable': 'RA-ToSIA01:RF-ACPanel:PwrACEnbl-Cmd',
+ 'Disable': 'RA-ToSIA01:RF-ACPanel:PwrACDsbl-Cmd',
+ 'Mon': 'RA-ToSIA01:RF-ACPanel:PwrAC-Mon'
+ },
+ 'SRC 2': {
+ 'Label': 'DC TDK',
+ 'Enable': 'RA-ToSIA01:RF-TDKSource:PwrDCEnbl-Cmd',
+ 'Disable': 'RA-ToSIA01:RF-TDKSource:PwrDCDsbl-Cmd',
+ 'Mon': 'RA-ToSIA01:RF-TDKSource:PwrDC-Mon'
+ },
+ 'PinSw': {
+ 'Label': 'PinSw',
+ 'Enable': 'RA-ToSIA01:RF-CtrlPanel:PINSwEnbl-Cmd',
+ 'Disable': 'RA-ToSIA01:RF-CtrlPanel:PINSwDsbl-Cmd',
+ 'Mon': 'RA-ToSIA01:RF-CtrlPanel:PINSwSts-Mon'
+ },
+ 'PreDrive': 'RA-RaSIA01:RF-LLRFPreAmp:PwrFwdIn1Amp-Mon',
+ 'PreDriveThrs': 5, # mV
+ 'LLRF': 'A'
+ },
+ '2': {
+ 'Name': 'SSA 02',
+ 'Status': 'RA-ToSIA02:RF-SSAmpTower:Sts-Mon',
+ 'Power': 'RA-ToSIA02:RF-SSAmpTower:PwrFwdOut-Mon',
+ 'SRC 1': {
+ 'Label': 'AC TDK',
+ 'Enable': 'RA-ToSIA02:RF-ACPanel:PwrACEnbl-Cmd',
+ 'Disable': 'RA-ToSIA02:RF-ACPanel:PwrACDsbl-Cmd',
+ 'Mon': 'RA-ToSIA02:RF-ACPanel:PwrAC-Mon'
+ },
+ 'SRC 2': {
+ 'Label': 'DC TDK',
+ 'Enable': 'RA-ToSIA02:RF-TDKSource:PwrDCEnbl-Cmd',
+ 'Disable': 'RA-ToSIA02:RF-TDKSource:PwrDCDsbl-Cmd',
+ 'Mon': 'RA-ToSIA02:RF-TDKSource:PwrDC-Mon'
+ },
+ 'PinSw': {
+ 'Label': 'PinSw',
+ 'Enable': 'RA-ToSIA02:RF-CtrlPanel:PINSwEnbl-Cmd',
+ 'Disable': 'RA-ToSIA02:RF-CtrlPanel:PINSwDsbl-Cmd',
+ 'Mon': 'RA-ToSIA02:RF-CtrlPanel:PINSwSts-Mon'
+ },
+ 'PreDrive': 'RA-RaSIA01:RF-LLRFPreAmp:PwrFwdIn2Amp-Mon',
+ 'PreDriveThrs': 5, # mV
+ 'LLRF': 'A'
+ },
+ '3': {
+ 'Name': 'SSA 03',
'Status': 'RA-ToSIA03:RF-SSAmpTower:Sts-Mon',
'Power': 'RA-ToSIA03:RF-SSAmpTower:PwrFwdOut-Mon',
'SRC 1': {
@@ -498,11 +674,12 @@
'Disable': 'RA-ToSIA03:RF-CtrlPanel:PINSwDsbl-Cmd',
'Mon': 'RA-ToSIA03:RF-CtrlPanel:PINSwSts-Mon'
},
- 'PreDrive': 'SR-RF-DLLRF-01:INPRE1:AMP',
+ 'PreDrive': 'RA-RaSIA01:RF-LLRFPreAmp:PwrFwdIn3Amp-Mon',
'PreDriveThrs': 5, # mV
+ 'LLRF': 'B'
},
- '2': {
- 'Name': 'SSA 02',
+ '4': {
+ 'Name': 'SSA 04',
'Status': 'RA-ToSIA04:RF-SSAmpTower:Sts-Mon',
'Power': 'RA-ToSIA04:RF-SSAmpTower:PwrFwdOut-Mon',
'SRC 1': {
@@ -523,242 +700,359 @@
'Disable': 'RA-ToSIA04:RF-CtrlPanel:PINSwDsbl-Cmd',
'Mon': 'RA-ToSIA04:RF-CtrlPanel:PINSwSts-Mon'
},
- 'PreDrive': 'SR-RF-DLLRF-01:INPRE2:AMP',
+ 'PreDrive': 'RA-RaSIA01:RF-LLRFPreAmp:PwrFwdIn4Amp-Mon',
'PreDriveThrs': 5, # mV
+ 'LLRF': 'B'
}
},
'SL': {
- 'Enbl': 'SR-RF-DLLRF-01:SL',
- 'Mode': 'SR-RF-DLLRF-01:MODE',
- 'IRef': 'SR-RF-DLLRF-01:I:SL:REF',
- 'QRef': 'SR-RF-DLLRF-01:Q:SL:REF',
- 'ARef': 'SR-RF-DLLRF-01:SL:REF:AMP',
- 'PRef': 'SR-RF-DLLRF-01:SL:REF:PHS',
- 'IInp': 'SR-RF-DLLRF-01:I:SL:INP',
- 'QInp': 'SR-RF-DLLRF-01:Q:SL:INP',
- 'AInp': 'SR-RF-DLLRF-01:SL:INP:AMP',
- 'PInp': 'SR-RF-DLLRF-01:SL:INP:PHS',
- 'IErr': 'SR-RF-DLLRF-01:I:SL:ERR',
- 'QErr': 'SR-RF-DLLRF-01:Q:SL:ERR',
- 'AErr': 'SR-RF-DLLRF-01:SL:ERR:AMP',
- 'PErr': 'SR-RF-DLLRF-01:SL:ERR:PHS',
- 'ASet': ['SR-RF-DLLRF-01:mV:AL:REF', 'RA-RaSIA01:RF-LLRF:AmpVCav'],
- 'PSet': 'SR-RF-DLLRF-01:PL:REF',
- 'AInc': 'SR-RF-DLLRF-01:AMPREF:INCRATE',
- 'PInc': 'SR-RF-DLLRF-01:PHSREF:INCRATE',
- 'Inp': 'SR-RF-DLLRF-01:SL:SEL',
- 'PIL': 'SR-RF-DLLRF-01:SL:PILIMIT',
- 'KI': 'SR-RF-DLLRF-01:SL:KI',
- 'KP': 'SR-RF-DLLRF-01:SL:KP',
+ 'ErrDtls': {
+ 'A': {
+ 'IRef': 'RA-RaSIA01:RF-LLRF-A:SLRefI-Mon',
+ 'QRef': 'RA-RaSIA01:RF-LLRF-A:SLRefQ-Mon',
+ 'IInp': 'RA-RaSIA01:RF-LLRF-A:SLInpI-Mon',
+ 'QInp': 'RA-RaSIA01:RF-LLRF-A:SLInpQ-Mon',
+ 'IErr': 'RA-RaSIA01:RF-LLRF-A:SLErrorI-Mon',
+ 'QErr': 'RA-RaSIA01:RF-LLRF-A:SLErrorQ-Mon',
+ },
+ 'B': {
+ 'IRef': 'RA-RaSIB01:RF-LLRF-B:SLRefI-Mon',
+ 'QRef': 'RA-RaSIB01:RF-LLRF-B:SLRefQ-Mon',
+ 'IInp': 'RA-RaSIB01:RF-LLRF-B:SLInpI-Mon',
+ 'QInp': 'RA-RaSIB01:RF-LLRF-B:SLInpQ-Mon',
+ 'IErr': 'RA-RaSIB01:RF-LLRF-B:SLErrorI-Mon',
+ 'QErr': 'RA-RaSIB01:RF-LLRF-B:SLErrorQ-Mon',
+ },
+ },
+ 'Params': {
+ 'A': {
+ 'Inp': 'RA-RaSIA01:RF-LLRF-A:SLInp',
+ 'PIL': 'RA-RaSIA01:RF-LLRF-A:SLPILim',
+ 'KI': 'RA-RaSIA01:RF-LLRF-A:SLKI',
+ 'KP': 'RA-RaSIA01:RF-LLRF-A:SLKP',
+ },
+ 'B': {
+ 'Inp': 'RA-RaSIB01:RF-LLRF-B:SLInp',
+ 'PIL': 'RA-RaSIB01:RF-LLRF-B:SLPILim',
+ 'KI': 'RA-RaSIB01:RF-LLRF-B:SLKI',
+ 'KP': 'RA-RaSIB01:RF-LLRF-B:SLKP',
+ },
+ },
+ 'Over': {
+ 'A': {
+ 'Enbl': 'RA-RaSIA01:RF-LLRF-A:SL',
+ 'Mode': 'RA-RaSIA01:RF-LLRF-A:LoopMode',
+ 'ASet': 'RA-RaSIA01:RF-LLRF-A:ALRef',
+ 'AInc': 'RA-RaSIA01:RF-LLRF-A:AmpIncRate',
+ 'PSet': 'RA-RaSIA01:RF-LLRF-A:PLRef',
+ 'PInc': 'RA-RaSIA01:RF-LLRF-A:PhsIncRate',
+ 'ARef': 'RA-RaSIA01:RF-LLRF-A:SLRefAmp-Mon',
+ 'PRef': 'RA-RaSIA01:RF-LLRF-A:SLRefPhs-Mon',
+ 'AInp': 'RA-RaSIA01:RF-LLRF-A:SLInpAmp-Mon',
+ 'PInp': 'RA-RaSIA01:RF-LLRF-A:SLInpPhs-Mon',
+ 'AErr': 'RA-RaSIA01:RF-LLRF-A:SLErrAmp-Mon',
+ 'PErr': 'RA-RaSIA01:RF-LLRF-A:SLErrPhs-Mon',
+ },
+ 'B': {
+ 'Enbl': 'RA-RaSIB01:RF-LLRF-B:SL',
+ 'Mode': 'RA-RaSIB01:RF-LLRF-B:LoopMode',
+ 'ASet': 'RA-RaSIB01:RF-LLRF-B:ALRef',
+ 'AInc': 'RA-RaSIB01:RF-LLRF-B:AmpIncRate',
+ 'PSet': 'RA-RaSIB01:RF-LLRF-B:PLRef',
+ 'PInc': 'RA-RaSIB01:RF-LLRF-B:PhsIncRate',
+ 'ARef': 'RA-RaSIB01:RF-LLRF-B:SLRefAmp-Mon',
+ 'PRef': 'RA-RaSIB01:RF-LLRF-B:SLRefPhs-Mon',
+ 'AInp': 'RA-RaSIB01:RF-LLRF-B:SLInpAmp-Mon',
+ 'PInp': 'RA-RaSIB01:RF-LLRF-B:SLInpPhs-Mon',
+ 'AErr': 'RA-RaSIB01:RF-LLRF-B:SLErrAmp-Mon',
+ 'PErr': 'RA-RaSIB01:RF-LLRF-B:SLErrPhs-Mon',
+ },
+ },
+ 'ASet': {
+ 'A': 'RA-RaSIA01:RF-LLRF-A:AmpVCav',
+ 'B': 'RA-RaSIB01:RF-LLRF-B:AmpVCav',
+ },
},
'Tun': {
- 'Auto': 'SR-RF-DLLRF-01:TUNE',
- 'DTune': 'SR-RF-DLLRF-01:DTune-RB',
- 'DPhase': 'SR-RF-DLLRF-01:TUNE:DEPHS',
- 'Acting': 'SR-RF-DLLRF-01:TUNE:OUT',
- 'Deadbnd': 'SR-RF-DLLRF-01:TUNE:MARGIN:HI',
- 'Oversht': 'SR-RF-DLLRF-01:TUNE:MARGIN:LO',
- 'Pl1Down': 'SR-RF-DLLRF-01:PLG1:MOVE:DN',
- 'Pl1Up': 'SR-RF-DLLRF-01:PLG1:MOVE:UP',
- 'Pl2Down': 'SR-RF-DLLRF-01:PLG2:MOVE:DN',
- 'Pl2Up': 'SR-RF-DLLRF-01:PLG2:MOVE:UP',
- 'PlM1Curr': 'RA-RaSIA01:RF-CavPlDrivers:Dr1Current-Mon',
- 'PlM2Curr': 'RA-RaSIA01:RF-CavPlDrivers:Dr2Current-Mon',
- },
- 'FFlat': {
- 'Sts': 'SR-RF-DLLRF-01:FF:ON',
- 'Auto': 'SR-RF-DLLRF-01:FF',
- 'Pos': 'SR-RF-DLLRF-01:FF:POS',
- 'Gain1': 'SR-RF-DLLRF-01:FF:GAIN:CELL2',
- 'Gain2': 'SR-RF-DLLRF-01:FF:GAIN:CELL4',
- 'Cell1': 'SR-RF-DLLRF-01:FF:CELL2',
- 'Cell2': 'SR-RF-DLLRF-01:FF:CELL4',
- 'Deadband': 'SR-RF-DLLRF-01:FF:DEADBAND',
- 'Err': 'SR-RF-DLLRF-01:FF:ERR',
+ 'A': {
+ 'Auto': 'RA-RaSIA01:RF-LLRF-A:Tune',
+ 'DTune': 'RA-RaSIA01:RF-LLRF-A:Detune',
+ 'DPhase': 'RA-RaSIA01:RF-LLRF-A:TuneDephs-Mon',
+ 'Acting': 'RA-RaSIA01:RF-LLRF-A:TuneOut-Mon',
+ 'Deadbnd': 'RA-RaSIA01:RF-LLRF-A:TuneMarginHI',
+ 'Oversht': 'RA-RaSIA01:RF-LLRF-A:TuneMarginLO',
+ 'Pl1Down': 'SI-03SP:RF-SRFCav-A:TunnerMoveDown-Mon',
+ 'Pl1Up': 'SI-03SP:RF-SRFCav-A:TunnerMoveUp-Mon',
+ 'PlM1Curr': 'RA-RaSIA01:RF-CavPlDrivers:Dr1Current-Mon',
+ 'color': 'blue'
+ },
+ 'B': {
+ 'Auto': 'RA-RaSIB01:RF-LLRF-B:Tune',
+ 'DTune': 'RA-RaSIB01:RF-LLRF-B:Detune',
+ 'DPhase': 'RA-RaSIB01:RF-LLRF-B:TuneDephs-Mon',
+ 'Acting': 'RA-RaSIB01:RF-LLRF-B:TuneOut-Mon',
+ 'Deadbnd': 'RA-RaSIB01:RF-LLRF-B:TuneMarginHI',
+ 'Oversht': 'RA-RaSIB01:RF-LLRF-B:TuneMarginLO',
+ 'Pl1Down': 'SI-03SP:RF-SRFCav-B:TunnerMoveDown-Mon',
+ 'Pl1Up': 'SI-03SP:RF-SRFCav-B:TunnerMoveUp-Mon',
+ 'PlM1Curr': 'RA-RaSIB01:RF-CavPlDrivers:Dr1Current-Mon',
+ 'color': 'red'
+ }
},
'PwrMtr': {
- 'Cav - Cell 2': {
- 'W': 'SI-02SB:RF-P7Cav:PwrCell2-Mon',
- 'dBm': 'SI-02SB:RF-P7Cav:PwrCell2dBm-Mon',
- 'mV': 'SR-RF-DLLRF-01:CELL2:AMP',
- 'color': 'darkRed',
- },
- 'Cav - Cell 4': {
- 'W': 'SI-02SB:RF-P7Cav:PwrCell4-Mon',
- 'dBm': 'SI-02SB:RF-P7Cav:PwrCell4dBm-Mon',
- 'mV': 'SR-RF-DLLRF-01:CAV:AMP',
- 'color': 'black',
- },
- 'Cav - Cell 6': {
- 'W': 'SI-02SB:RF-P7Cav:PwrCell6-Mon',
- 'dBm': 'SI-02SB:RF-P7Cav:PwrCell6dBm-Mon',
- 'mV': 'SR-RF-DLLRF-01:CELL6:AMP',
- 'color': 'darkBlue',
- },
- 'Cav - Coup Fwd': {
- 'W': 'SI-02SB:RF-P7Cav:PwrFwd-Mon',
- 'dBm': 'SI-02SB:RF-P7Cav:PwrFwddBm-Mon',
- 'mV': 'SR-RF-DLLRF-01:FWDCAV:AMP',
- 'color': 'blue',
+ 'A - Fwd SSA 1': {
+ 'mV': 'RA-ToSIA01:RF-SSAmpTower:PwrFwdOutAmp-Mon',
+ 'dBm': 'RA-ToSIA01:RF-SSAmpTower:PwrFwdOutAmpdBm-Mon',
+ 'W': 'RA-ToSIA01:RF-SSAmpTower:PwrFwdOutAmpW-Mon',
+ 'color': 'blue'
},
- 'Cav - Coup Rev': {
- 'W': 'SI-02SB:RF-P7Cav:PwrRev-Mon',
- 'dBm': 'SI-02SB:RF-P7Cav:PwrRevdBm-Mon',
- 'mV': 'SR-RF-DLLRF-01:REVCAV:AMP',
- 'color': 'red',
+ 'A - Rev SSA 1': {
+ 'mV': 'RA-ToSIA01:RF-SSAmpTower:PwrRevOutAmp-Mon',
+ 'dBm': 'RA-ToSIA01:RF-SSAmpTower:PwrRevOutAmpdBm-Mon',
+ 'W': 'RA-ToSIA01:RF-SSAmpTower:PwrRevOutAmpW-Mon',
+ 'color': 'red'
},
- 'SSA1 - Fwd Out': {
- 'W': 'RA-ToSIA03:RF-SSAmpTower:PwrFwdOutLLRF-Mon',
- 'dBm': 'RA-ToSIA03:RF-SSAmpTower:PwrFwdOutdBm-Mon',
- 'mV': 'SR-RF-DLLRF-01:FWDSSA1:AMP',
- 'color': 'magenta',
+ 'A - Fwd SSA 2': {
+ 'mV': 'RA-ToSIA02:RF-SSAmpTower:PwrFwdOutAmp-Mon',
+ 'dBm': 'RA-ToSIA02:RF-SSAmpTower:PwrFwdOutAmpdBm-Mon',
+ 'W': 'RA-ToSIA02:RF-SSAmpTower:PwrFwdOutAmpW-Mon',
+ 'color': 'magenta'
},
- 'SSA1 - Rev Out': {
- 'W': 'RA-ToSIA03:RF-SSAmpTower:PwrRevOutLLRF-Mon',
- 'dBm': 'RA-ToSIA03:RF-SSAmpTower:PwrRevOutdBm-Mon',
- 'mV': 'SR-RF-DLLRF-01:REVSSA1:AMP',
- 'color': 'darkGreen',
+ 'A - Rev SSA 2': {
+ 'mV': 'RA-ToSIA02:RF-SSAmpTower:PwrRevOutAmp-Mon',
+ 'dBm': 'RA-ToSIA02:RF-SSAmpTower:PwrRevOutAmpdBm-Mon',
+ 'W': 'RA-ToSIA02:RF-SSAmpTower:PwrRevOutAmpW-Mon',
+ 'color': 'darkGreen'
+ },
+ 'A - Cav': {
+ 'mV': 'SI-03SP:RF-SRFCav-A:PwrAmp-Mon',
+ 'dBm': 'SI-03SP:RF-SRFCav-A:PwrAmpdBm-Mon',
+ 'W': 'SI-03SP:RF-SRFCav-A:PwrAmpW-Mon',
+ 'color': 'darkRed'
},
- 'SSA2 - Fwd Out': {
- 'W': 'RA-ToSIA04:RF-SSAmpTower:PwrFwdOutLLRF-Mon',
- 'dBm': 'RA-ToSIA04:RF-SSAmpTower:PwrFwdOutdBm-Mon',
- 'mV': 'SR-RF-DLLRF-01:FWDSSA2:AMP',
- 'color': 'yellow',
+ 'A - Fwd Cav': {
+ 'mV': 'SI-03SP:RF-SRFCav-A:PwrFwdAmp-Mon',
+ 'dBm': 'SI-03SP:RF-SRFCav-A:PwrFwdAmpdBm-Mon',
+ 'W': 'SI-03SP:RF-SRFCav-A:PwrFwdAmpW-Mon',
+ 'color': 'black'
},
- 'SSA2 - Rev Out': {
- 'W': 'RA-ToSIA04:RF-SSAmpTower:PwrRevOutLLRF-Mon',
- 'dBm': 'RA-ToSIA04:RF-SSAmpTower:PwrRevOutdBm-Mon',
- 'mV': 'SR-RF-DLLRF-01:REVSSA2:AMP',
- 'color': 'cyan',
+ 'A - Rev Cav': {
+ 'mV': 'SI-03SP:RF-SRFCav-A:PwrRevAmp-Mon',
+ 'dBm': 'SI-03SP:RF-SRFCav-A:PwrRevAmpdBm-Mon',
+ 'W': 'SI-03SP:RF-SRFCav-A:PwrRevAmpW-Mon',
+ 'color': 'darkBlue'
},
- 'Circ - Fwd Out': {
- 'W': 'RA-TL:RF-Circulator-SIA:PwrFwdOut-Mon',
- 'dBm': 'RA-TL:RF-Circulator-SIA:PwrFwdOutdBm-Mon',
- 'mV': 'SR-RF-DLLRF-01:FWDCIRC:AMP',
- 'color': 'darkCyan',
+ 'A - Fwd Circulator': {
+ 'mV': 'RA-TL:RF-Circulator-SIA:PwrFwdOutAmp-Mon',
+ 'dBm': 'RA-TL:RF-Circulator-SIA:PwrFwdOutAmpdBm-Mon',
+ 'W': 'RA-TL:RF-Circulator-SIA:PwrFwdOutAmpW-Mon',
+ 'color': 'yellow'
+ },
+ 'B - Fwd SSA 3': {
+ 'mV': 'RA-ToSIA03:RF-SSAmpTower:PwrFwdOutAmp-Mon',
+ 'dBm': 'RA-ToSIA03:RF-SSAmpTower:PwrFwdOutAmpdBm-Mon',
+ 'W': 'RA-ToSIA03:RF-SSAmpTower:PwrFwdOutAmpW-Mon',
+ 'color': 'orangered'
+ },
+ 'B - Rev SSA 3': {
+ 'mV': 'RA-ToSIA03:RF-SSAmpTower:PwrRevOutAmp-Mon',
+ 'dBm': 'RA-ToSIA03:RF-SSAmpTower:PwrRevOutAmpdBm-Mon',
+ 'W': 'RA-ToSIA03:RF-SSAmpTower:PwrRevOutAmpW-Mon',
+ 'color': 'darkOliveGreen'
+ },
+ 'B - Fwd SSA 4': {
+ 'mV': 'RA-ToSIA04:RF-SSAmpTower:PwrFwdOutAmp-Mon',
+ 'dBm': 'RA-ToSIA04:RF-SSAmpTower:PwrFwdOutAmpdBm-Mon',
+ 'W': 'RA-ToSIA04:RF-SSAmpTower:PwrFwdOutAmpW-Mon',
+ 'color': 'darkMagenta'
+ },
+ 'B - Rev SSA 4': {
+ 'mV': 'RA-ToSIA04:RF-SSAmpTower:PwrRevOutAmp-Mon',
+ 'dBm': 'RA-ToSIA04:RF-SSAmpTower:PwrRevOutAmpdBm-Mon',
+ 'W': 'RA-ToSIA04:RF-SSAmpTower:PwrRevOutAmpW-Mon',
+ 'color': 'chocolate'
+ },
+ 'B - Cav': {
+ 'mV': 'SI-03SP:RF-SRFCav-B:PwrAmp-Mon',
+ 'dBm': 'SI-03SP:RF-SRFCav-B:PwrAmpdBm-Mon',
+ 'W': 'SI-03SP:RF-SRFCav-B:PwrAmpW-Mon',
+ 'color': 'cyan'
+ },
+ 'B - Fwd Cav': {
+ 'mV': 'SI-03SP:RF-SRFCav-B:PwrFwdAmp-Mon',
+ 'dBm': 'SI-03SP:RF-SRFCav-B:PwrFwdAmpdBm-Mon',
+ 'W': 'SI-03SP:RF-SRFCav-B:PwrFwdAmpW-Mon',
+ 'color': 'darkCyan'
+ },
+ 'B - Rev Cav': {
+ 'mV': 'SI-03SP:RF-SRFCav-B:PwrRevAmp-Mon',
+ 'dBm': 'SI-03SP:RF-SRFCav-B:PwrRevAmpdBm-Mon',
+ 'W': 'SI-03SP:RF-SRFCav-B:PwrRevAmpW-Mon',
+ 'color': 'saddlebrown'
+ },
+ 'B - Fwd Circulator': {
+ 'mV': 'RA-TL:RF-Circulator-SIB:PwrFwdOutAmp-Mon',
+ 'dBm': 'RA-TL:RF-Circulator-SIB:PwrFwdOutAmpdBm-Mon',
+ 'W': 'RA-TL:RF-Circulator-SIB:PwrFwdOutAmpW-Mon',
+ 'color': 'darkSlateGrey'
},
},
- 'CavVGap': 'SI-02SB:RF-P7Cav:AmpVCav-Mon',
+ 'CavVGap': {
+ 'A': 'SI-03SP:RF-SRFCav-A:PwrVCav-Mon',
+ 'B': 'SI-03SP:RF-SRFCav-B:PwrVCav-Mon'
+ },
'TempMon': {
'Temp.': {
'Cells': {
- 'Cell 1': 'SI-02SB:RF-P7Cav:Cylin1T-Mon',
- 'Cell 2': 'SI-02SB:RF-P7Cav:Cylin2T-Mon',
- 'Cell 3': 'SI-02SB:RF-P7Cav:Cylin3T-Mon',
- 'Cell 4': 'SI-02SB:RF-P7Cav:Cylin4T-Mon',
- 'Cell 5': 'SI-02SB:RF-P7Cav:Cylin5T-Mon',
- 'Cell 6': 'SI-02SB:RF-P7Cav:Cylin6T-Mon',
- 'Cell 7': 'SI-02SB:RF-P7Cav:Cylin7T-Mon',
+ 'Cell 1': 'SI-03SP:RF-P7Cav:Cylin1T-Mon',
+ 'Cell 2': 'SI-03SP:RF-P7Cav:Cylin2T-Mon',
+ 'Cell 3': 'SI-03SP:RF-P7Cav:Cylin3T-Mon',
+ 'Cell 4': 'SI-03SP:RF-P7Cav:Cylin4T-Mon',
+ 'Cell 5': 'SI-03SP:RF-P7Cav:Cylin5T-Mon',
+ 'Cell 6': 'SI-03SP:RF-P7Cav:Cylin6T-Mon',
+ 'Cell 7': 'SI-03SP:RF-P7Cav:Cylin7T-Mon',
},
},
'Water Temp.': {
'Cells': {
- 'Cell 1': 'SI-02SB:RF-P7Cav:Cylin1WT-Mon',
- 'Cell 2': 'SI-02SB:RF-P7Cav:Cylin2WT-Mon',
- 'Cell 3': 'SI-02SB:RF-P7Cav:Cylin3WT-Mon',
- 'Cell 4': 'SI-02SB:RF-P7Cav:Cylin4WT-Mon',
- 'Cell 5': 'SI-02SB:RF-P7Cav:Cylin5WT-Mon',
- 'Cell 6': 'SI-02SB:RF-P7Cav:Cylin6WT-Mon',
- 'Cell 7': 'SI-02SB:RF-P7Cav:Cylin7WT-Mon',
+ 'Cell 1': 'SI-03SP:RF-P7Cav:Cylin1WT-Mon',
+ 'Cell 2': 'SI-03SP:RF-P7Cav:Cylin2WT-Mon',
+ 'Cell 3': 'SI-03SP:RF-P7Cav:Cylin3WT-Mon',
+ 'Cell 4': 'SI-03SP:RF-P7Cav:Cylin4WT-Mon',
+ 'Cell 5': 'SI-03SP:RF-P7Cav:Cylin5WT-Mon',
+ 'Cell 6': 'SI-03SP:RF-P7Cav:Cylin6WT-Mon',
+ 'Cell 7': 'SI-03SP:RF-P7Cav:Cylin7WT-Mon',
},
'Discs': {
- 'Disc 1': 'SI-02SB:RF-P7Cav:Disc1WT-Mon',
- 'Disc 2': 'SI-02SB:RF-P7Cav:Disc2WT-Mon',
- 'Disc 3': 'SI-02SB:RF-P7Cav:Disc3WT-Mon',
- 'Disc 4': 'SI-02SB:RF-P7Cav:Disc4WT-Mon',
- 'Disc 5': 'SI-02SB:RF-P7Cav:Disc5WT-Mon',
- 'Disc 6': 'SI-02SB:RF-P7Cav:Disc6WT-Mon',
- 'Disc 7': 'SI-02SB:RF-P7Cav:Disc7WT-Mon',
- 'Disc 8': 'SI-02SB:RF-P7Cav:Disc8WT-Mon',
+ 'Disc 1': 'SI-03SP:RF-P7Cav:Disc1WT-Mon',
+ 'Disc 2': 'SI-03SP:RF-P7Cav:Disc2WT-Mon',
+ 'Disc 3': 'SI-03SP:RF-P7Cav:Disc3WT-Mon',
+ 'Disc 4': 'SI-03SP:RF-P7Cav:Disc4WT-Mon',
+ 'Disc 5': 'SI-03SP:RF-P7Cav:Disc5WT-Mon',
+ 'Disc 6': 'SI-03SP:RF-P7Cav:Disc6WT-Mon',
+ 'Disc 7': 'SI-03SP:RF-P7Cav:Disc7WT-Mon',
+ 'Disc 8': 'SI-03SP:RF-P7Cav:Disc8WT-Mon',
},
'Input + Plungers + Coupler': {
- 'Input': 'SI-02SB:RF-P7Cav:WInT-Mon',
- 'Plunger 1': 'SI-02SB:RF-P7Cav:Pl1WT-Mon',
- 'Plunger 2': 'SI-02SB:RF-P7Cav:Pl2WT-Mon',
- 'Coupler': 'SI-02SB:RF-P7Cav:CoupWT-Mon',
+ 'Input': 'SI-03SP:RF-P7Cav:WInT-Mon',
+ 'Plunger 1': 'SI-03SP:RF-P7Cav:Pl1WT-Mon',
+ 'Plunger 2': 'SI-03SP:RF-P7Cav:Pl2WT-Mon',
+ 'Coupler': 'SI-03SP:RF-P7Cav:CoupWT-Mon',
},
},
'Water dTemp.': {
'Cells': {
- 'Cell 1': 'SI-02SB:RF-P7Cav:Cylin1WdT-Mon',
- 'Cell 2': 'SI-02SB:RF-P7Cav:Cylin2WdT-Mon',
- 'Cell 3': 'SI-02SB:RF-P7Cav:Cylin3WdT-Mon',
- 'Cell 4': 'SI-02SB:RF-P7Cav:Cylin4WdT-Mon',
- 'Cell 5': 'SI-02SB:RF-P7Cav:Cylin5WdT-Mon',
- 'Cell 6': 'SI-02SB:RF-P7Cav:Cylin6WdT-Mon',
- 'Cell 7': 'SI-02SB:RF-P7Cav:Cylin7WdT-Mon',
+ 'Cell 1': 'SI-03SP:RF-P7Cav:Cylin1WdT-Mon',
+ 'Cell 2': 'SI-03SP:RF-P7Cav:Cylin2WdT-Mon',
+ 'Cell 3': 'SI-03SP:RF-P7Cav:Cylin3WdT-Mon',
+ 'Cell 4': 'SI-03SP:RF-P7Cav:Cylin4WdT-Mon',
+ 'Cell 5': 'SI-03SP:RF-P7Cav:Cylin5WdT-Mon',
+ 'Cell 6': 'SI-03SP:RF-P7Cav:Cylin6WdT-Mon',
+ 'Cell 7': 'SI-03SP:RF-P7Cav:Cylin7WdT-Mon',
},
'Discs': {
- 'Disc 1': 'SI-02SB:RF-P7Cav:Disc1WdT-Mon',
- 'Disc 2': 'SI-02SB:RF-P7Cav:Disc2WdT-Mon',
- 'Disc 3': 'SI-02SB:RF-P7Cav:Disc3WdT-Mon',
- 'Disc 4': 'SI-02SB:RF-P7Cav:Disc4WdT-Mon',
- 'Disc 5': 'SI-02SB:RF-P7Cav:Disc5WdT-Mon',
- 'Disc 6': 'SI-02SB:RF-P7Cav:Disc6WdT-Mon',
- 'Disc 7': 'SI-02SB:RF-P7Cav:Disc7WdT-Mon',
- 'Disc 8': 'SI-02SB:RF-P7Cav:Disc8WdT-Mon',
+ 'Disc 1': 'SI-03SP:RF-P7Cav:Disc1WdT-Mon',
+ 'Disc 2': 'SI-03SP:RF-P7Cav:Disc2WdT-Mon',
+ 'Disc 3': 'SI-03SP:RF-P7Cav:Disc3WdT-Mon',
+ 'Disc 4': 'SI-03SP:RF-P7Cav:Disc4WdT-Mon',
+ 'Disc 5': 'SI-03SP:RF-P7Cav:Disc5WdT-Mon',
+ 'Disc 6': 'SI-03SP:RF-P7Cav:Disc6WdT-Mon',
+ 'Disc 7': 'SI-03SP:RF-P7Cav:Disc7WdT-Mon',
+ 'Disc 8': 'SI-03SP:RF-P7Cav:Disc8WdT-Mon',
},
},
'Dissip. Power (Water)': {
'Cells': {
- 'Cell 1': 'SI-02SB:RF-P7Cav:PwrDissCell1-Mon',
- 'Cell 2': 'SI-02SB:RF-P7Cav:PwrDissCell2-Mon',
- 'Cell 3': 'SI-02SB:RF-P7Cav:PwrDissCell3-Mon',
- 'Cell 4': 'SI-02SB:RF-P7Cav:PwrDissCell4-Mon',
- 'Cell 5': 'SI-02SB:RF-P7Cav:PwrDissCell5-Mon',
- 'Cell 6': 'SI-02SB:RF-P7Cav:PwrDissCell6-Mon',
- 'Cell 7': 'SI-02SB:RF-P7Cav:PwrDissCell7-Mon',
+ 'Cell 1': 'SI-03SP:RF-P7Cav:PwrDissCell1-Mon',
+ 'Cell 2': 'SI-03SP:RF-P7Cav:PwrDissCell2-Mon',
+ 'Cell 3': 'SI-03SP:RF-P7Cav:PwrDissCell3-Mon',
+ 'Cell 4': 'SI-03SP:RF-P7Cav:PwrDissCell4-Mon',
+ 'Cell 5': 'SI-03SP:RF-P7Cav:PwrDissCell5-Mon',
+ 'Cell 6': 'SI-03SP:RF-P7Cav:PwrDissCell6-Mon',
+ 'Cell 7': 'SI-03SP:RF-P7Cav:PwrDissCell7-Mon',
},
'Discs': {
- 'Disc 1': 'SI-02SB:RF-P7Cav:PwrDissDisc1-Mon',
- 'Disc 2': 'SI-02SB:RF-P7Cav:PwrDissDisc2-Mon',
- 'Disc 3': 'SI-02SB:RF-P7Cav:PwrDissDisc3-Mon',
- 'Disc 4': 'SI-02SB:RF-P7Cav:PwrDissDisc4-Mon',
- 'Disc 5': 'SI-02SB:RF-P7Cav:PwrDissDisc5-Mon',
- 'Disc 6': 'SI-02SB:RF-P7Cav:PwrDissDisc6-Mon',
- 'Disc 7': 'SI-02SB:RF-P7Cav:PwrDissDisc7-Mon',
- 'Disc 8': 'SI-02SB:RF-P7Cav:PwrDissDisc8-Mon',
+ 'Disc 1': 'SI-03SP:RF-P7Cav:PwrDissDisc1-Mon',
+ 'Disc 2': 'SI-03SP:RF-P7Cav:PwrDissDisc2-Mon',
+ 'Disc 3': 'SI-03SP:RF-P7Cav:PwrDissDisc3-Mon',
+ 'Disc 4': 'SI-03SP:RF-P7Cav:PwrDissDisc4-Mon',
+ 'Disc 5': 'SI-03SP:RF-P7Cav:PwrDissDisc5-Mon',
+ 'Disc 6': 'SI-03SP:RF-P7Cav:PwrDissDisc6-Mon',
+ 'Disc 7': 'SI-03SP:RF-P7Cav:PwrDissDisc7-Mon',
+ 'Disc 8': 'SI-03SP:RF-P7Cav:PwrDissDisc8-Mon',
},
},
'Power (Water)': {
- 'Cell 1': 'SI-02SB:RF-P7Cav:PwrWtCell1-Mon',
- 'Cell 2': 'SI-02SB:RF-P7Cav:PwrWtCell2-Mon',
- 'Cell 3': 'SI-02SB:RF-P7Cav:PwrWtCell3-Mon',
- 'Cell 4': 'SI-02SB:RF-P7Cav:PwrWtCell4-Mon',
- 'Cell 5': 'SI-02SB:RF-P7Cav:PwrWtCell5-Mon',
- 'Cell 6': 'SI-02SB:RF-P7Cav:PwrWtCell6-Mon',
- 'Cell 7': 'SI-02SB:RF-P7Cav:PwrWtCell7-Mon',
- # 'Total': 'SI-02SB:RF-P7Cav:PwrWtTotal-Mon',
+ 'Cell 1': 'SI-03SP:RF-P7Cav:PwrWtCell1-Mon',
+ 'Cell 2': 'SI-03SP:RF-P7Cav:PwrWtCell2-Mon',
+ 'Cell 3': 'SI-03SP:RF-P7Cav:PwrWtCell3-Mon',
+ 'Cell 4': 'SI-03SP:RF-P7Cav:PwrWtCell4-Mon',
+ 'Cell 5': 'SI-03SP:RF-P7Cav:PwrWtCell5-Mon',
+ 'Cell 6': 'SI-03SP:RF-P7Cav:PwrWtCell6-Mon',
+ 'Cell 7': 'SI-03SP:RF-P7Cav:PwrWtCell7-Mon',
+ # 'Total': 'SI-03SP:RF-P7Cav:PwrWtTotal-Mon',
# 'Fwd': 'RA-RaSIA01:RF-RFCalSys:PwrW2-Mon',
},
},
'FDL': {
- 'Signals': (
- ('Cav', 'SR-RF-DLLRF-01:FDL:CAV:AMP', 'SR-RF-DLLRF-01:FDL:CAV:PHS', 'blue'),
- ('Fwd Cav', 'SR-RF-DLLRF-01:FDL:FWDCAV:AMP', 'SR-RF-DLLRF-01:FDL:FWDCAV:PHS', 'red'),
- ('Rev Cav', 'SR-RF-DLLRF-01:FDL:REVCAV:AMP', 'SR-RF-DLLRF-01:FDL:REVCAV:PHS', 'darkSlateBlue'),
- ('Fwd Ssa', 'SR-RF-DLLRF-01:FDL:FWDSSA:AMP', 'SR-RF-DLLRF-01:FDL:FWDSSA:PHS', 'darkGreen'),
- ('Rev Ssa', 'SR-RF-DLLRF-01:FDL:REVSSA:AMP', 'SR-RF-DLLRF-01:FDL:REVSSA:PHS', 'magenta'),
- ('Ctrl', 'SR-RF-DLLRF-01:FDL:CTRL:AMP', 'SR-RF-DLLRF-01:FDL:CTRL:PHS', 'darkCyan'),
- ('Ref', 'SR-RF-DLLRF-01:FDL:SL:REF:AMP', 'SR-RF-DLLRF-01:FDL:SL:REF:PHS', 'darkRed'),
- ('Err', 'SR-RF-DLLRF-01:FDL:SL:ERR:AMP', 'SR-RF-DLLRF-01:FDL:SL:ERR:PHS', 'purple'),
- ('Err Acc', 'SR-RF-DLLRF-01:FDL:SL:ERRACC:AMP', 'SR-RF-DLLRF-01:FDL:SL:ERRACC:PHS', 'saddlebrown'),
- ('MO', 'SR-RF-DLLRF-01:FDL:MO:AMP', 'SR-RF-DLLRF-01:FDL:MO:PHS', 'darkBlue'),
- ('Tune', None, 'SR-RF-DLLRF-01:FDL:TUNE:DEPHS', 'orangered'),
- ('Tune Filt', None, 'SR-RF-DLLRF-01:FDL:TUNE:DEPHS:FILT', 'darkOliveGreen')
- ),
- 'Time': 'SR-RF-DLLRF-01:FDL:SCALE:32',
- 'Mode': 'SR-RF-DLLRF-01:FDL:MODE',
- 'SW Trig': 'SR-RF-DLLRF-01:FDL:SWTRIG',
- 'HW Trig': 'SR-RF-DLLRF-01:FDL:HWTRIG',
- 'Trig': 'SR-RF-DLLRF-01:FDL:TRIG:S',
- 'Processing': 'SR-RF-DLLRF-01:FDL:PROCESSING',
- 'Rearm': 'SR-RF-DLLRF-01:FDL:REARM',
- 'Raw': 'SR-RF-DLLRF-01:FDL:RAW',
- 'Qty': 'SR-RF-DLLRF-01:FDL:FrameQty-',
- 'Size': 'SR-RF-DLLRF-01:FDL:Size-Mon',
- 'Duration': 'SR-RF-DLLRF-01:FDL:Duration-Mon',
- 'Delay': 'SR-RF-DLLRF-01:FDL:TriggerDelay'
+ 'A': {
+ 'Signals': (
+ ('Cav', 'RA-RaSIA01:RF-LLRF-A:FDLCavAmp-Mon', 'RA-RaSIA01:RF-LLRF-A:FDLCavPhs-Mon', 'blue'),
+ ('Fwd Cav', 'RA-RaSIA01:RF-LLRF-A:FDLCavFwdAmp-Mon', 'RA-RaSIA01:RF-LLRF-A:FDLCavFwdPhs-Mon', 'red'),
+ ('Rev Cav', 'RA-RaSIA01:RF-LLRF-A:FDLCavRevAmp-Mon', 'RA-RaSIA01:RF-LLRF-A:FDLCavRevPhs-Mon', 'darkSlateBlue'),
+ ('Fwd Ssa', 'RA-RaSIA01:RF-LLRF-A:FDLFwdSSAAmp-Mon', 'RA-RaSIA01:RF-LLRF-A:FDLFwdSSAPhs-Mon', 'darkGreen'),
+ ('Rev Ssa', 'RA-RaSIA01:RF-LLRF-A:FDLRevSSAAmp-Mon', 'RA-RaSIA01:RF-LLRF-A:FDLRevSSAPhs-Mon', 'magenta'),
+ ('Ctrl', 'RA-RaSIA01:RF-LLRF-A:FDLCtrlAmp-Mon', 'RA-RaSIA01:RF-LLRF-A:FDLCtrlPhs-Mon', 'darkCyan'),
+ ('Ref', 'RA-RaSIA01:RF-LLRF-A:FDLSLRefAmp-Mon', 'RA-RaSIA01:RF-LLRF-A:FDLSLRefPhs-Mon', 'darkRed'),
+ ('Err', 'RA-RaSIA01:RF-LLRF-A:FDLSLErrAmp-Mon', 'RA-RaSIA01:RF-LLRF-A:FDLSLErrPhs-Mon', 'purple'),
+ ('Err Acc', 'RA-RaSIA01:RF-LLRF-A:FDLSLErrAccAmp-Mon', 'RA-RaSIA01:RF-LLRF-A:FDLSLErrAccPhs-Mon', 'saddlebrown'),
+ ('MO', 'RA-RaSIA01:RF-LLRF-A:FDLMOAmp-Mon', 'RA-RaSIA01:RF-LLRF-A:FDLMOPhs-Mon', 'darkBlue'),
+ ('Tune', None, 'RA-RaSIA01:RF-LLRF-A:FDLTuneDephs-Mon', 'orangered'),
+ ('Tune Filt', None, 'RA-RaSIA01:RF-LLRF-A:FDLTuneDephsFilt-Mon', 'darkOliveGreen')
+ ),
+ 'Time': 'RA-RaSIA01:RF-LLRF-A:FDLScale32-Mon',
+ 'Mode': 'RA-RaSIA01:RF-LLRF-A:FDLMode-Mon',
+ 'SW Trig': 'RA-RaSIA01:RF-LLRF-A:FDLSwTrig-Mon',
+ 'HW Trig': 'RA-RaSIA01:RF-LLRF-A:FDLHwTrig-Mon',
+ 'Trig': 'RA-RaSIA01:RF-LLRF-A:FDLTrig-Cmd',
+ 'Processing': 'RA-RaSIA01:RF-LLRF-A:FDLProcessing-Mon',
+ 'Rearm': 'RA-RaSIA01:RF-LLRF-A:FDLRearm-Sel',
+ 'Raw': 'RA-RaSIA01:RF-LLRF-A:FDLRaw',
+ 'Qty': 'RA-RaSIA01:RF-LLRF-A:FDLFrame',
+ 'Size': 'RA-RaSIA01:RF-LLRF-A:FDLSize-Mon',
+ 'Duration': 'RA-RaSIA01:RF-LLRF-A:FDLDuration-Mon',
+ 'Delay': 'RA-RaSIA01:RF-LLRF-A:FDLTrigDly',
+ 'Name': 'A',
+ },
+ 'B': {
+ 'Signals': (
+ ('Cav', 'RA-RaSIB01:RF-LLRF-B:FDLCavAmp-Mon', 'RA-RaSIB01:RF-LLRF-B:FDLCavPhs-Mon', 'blue'),
+ ('Fwd Cav', 'RA-RaSIB01:RF-LLRF-B:FDLCavFwdAmp-Mon', 'RA-RaSIB01:RF-LLRF-B:FDLCavFwdPhs-Mon', 'red'),
+ ('Rev Cav', 'RA-RaSIB01:RF-LLRF-B:FDLCavRevAmp-Mon', 'RA-RaSIB01:RF-LLRF-B:FDLCavRevPhs-Mon', 'darkSlateBlue'),
+ ('Fwd Ssa', 'RA-RaSIB01:RF-LLRF-B:FDLFwdSSAAmp-Mon', 'RA-RaSIB01:RF-LLRF-B:FDLFwdSSAPhs-Mon', 'darkGreen'),
+ ('Rev Ssa', 'RA-RaSIB01:RF-LLRF-B:FDLRevSSAAmp-Mon', 'RA-RaSIB01:RF-LLRF-B:FDLRevSSAPhs-Mon', 'magenta'),
+ ('Ctrl', 'RA-RaSIB01:RF-LLRF-B:FDLCtrlAmp-Mon', 'RA-RaSIB01:RF-LLRF-B:FDLCtrlPhs-Mon', 'darkCyan'),
+ ('Ref', 'RA-RaSIB01:RF-LLRF-B:FDLSLRefAmp-Mon', 'RA-RaSIB01:RF-LLRF-B:FDLSLRefPhs-Mon', 'darkRed'),
+ ('Err', 'RA-RaSIB01:RF-LLRF-B:FDLSLErrAmp-Mon', 'RA-RaSIB01:RF-LLRF-B:FDLSLErrPhs-Mon', 'purple'),
+ ('Err Acc', 'RA-RaSIB01:RF-LLRF-B:FDLSLErrAccAmp-Mon', 'RA-RaSIB01:RF-LLRF-B:FDLSLErrAccPhs-Mon', 'saddlebrown'),
+ ('MO', 'RA-RaSIB01:RF-LLRF-B:FDLMOAmp-Mon', 'RA-RaSIB01:RF-LLRF-B:FDLMOPhs-Mon', 'darkBlue'),
+ ('Tune', None, 'RA-RaSIB01:RF-LLRF-B:FDLTuneDephs-Mon', 'orangered'),
+ ('Tune Filt', None, 'RA-RaSIB01:RF-LLRF-B:FDLTuneDephsFilt-Mon', 'darkOliveGreen')
+ ),
+ 'Time': 'RA-RaSIB01:RF-LLRF-B:FDLScale32-Mon',
+ 'Mode': 'RA-RaSIB01:RF-LLRF-B:FDLMode-Mon',
+ 'SW Trig': 'RA-RaSIB01:RF-LLRF-B:FDLSwTrig-Mon',
+ 'HW Trig': 'RA-RaSIB01:RF-LLRF-B:FDLHwTrig-Mon',
+ 'Trig': 'RA-RaSIB01:RF-LLRF-B:FDLTrig-Cmd',
+ 'Processing': 'RA-RaSIB01:RF-LLRF-B:FDLProcessing-Mon',
+ 'Rearm': 'RA-RaSIB01:RF-LLRF-B:FDLRearm-Sel',
+ 'Raw': 'RA-RaSIB01:RF-LLRF-B:FDLRaw',
+ 'Qty': 'RA-RaSIB01:RF-LLRF-B:FDLFrame',
+ 'Size': 'RA-RaSIB01:RF-LLRF-B:FDLSize-Mon',
+ 'Duration': 'RA-RaSIB01:RF-LLRF-B:FDLDuration-Mon',
+ 'Delay': 'RA-RaSIB01:RF-LLRF-B:FDLTrigDly',
+ 'Name': 'B'
+ }
}
},
}