diff --git a/qt/A_BD_ServiceManager.ui b/qt/A_BD_ServiceManager.ui
new file mode 100644
index 0000000..9d8b5ec
--- /dev/null
+++ b/qt/A_BD_ServiceManager.ui
@@ -0,0 +1,1325 @@
+
+
+ MainWindow
+
+
+
+ 0
+ 0
+ 1320
+ 595
+
+
+
+ MainWindow
+
+
+ /*################################################*/
+/*# Settings for new templates/forms #*/
+/*################################################*/
+QMainWindow#MainWindow, QWidget#Form, QDialog#Dialog{
+ background: rgba(236, 236, 236, 255);
+}
+
+QMainWindow#MainWindow[transparent=true], QWidget#Form[transparent=true], QDialog#Dialog[transparent=true]{
+ background: rgba(0, 0, 0, 0);
+}
+
+/*-----------------------------------------------*/
+/* Title */
+/*-----------------------------------------------*/
+/* Operation panels */
+caLabel[statusTip="Operation"]{
+ color: rgba(0, 0, 0, 255);
+ font: bold 18pt;
+ font-family: Sans Serif;
+ padding: 1px;
+ margin: 0px;
+ qproperty-alignment: AlignLeft;
+ qproperty-frameShape: StyledPanel;
+ /*qproperty-geometry: rect(-2 0 1600 33);*/
+ background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1,
+ stop:0 rgba(218, 218, 218, 255),
+ stop:0.5 rgba(200, 200, 200, 255),
+ stop:1 rgba(218, 218, 218, 255));
+}
+
+ QGroupBox {
+ background: rgba(225,225,225,255);
+ border: 2px solid black;
+ border-radius: 5px;
+ margin-top: 1ex; /* leave space at the top for the title */
+ }
+
+
+
+
+
+ 1530
+ 150
+ 121
+ 20
+
+
+
+ Reload
+
+
+ RELOAD
+
+
+ A
+
+
+ AGEBD-ALH:MASTER-GUIRELOAD
+
+
+ caCalc::TriggerZeroToOne
+
+
+
+
+
+ 1580
+ 220
+ 70
+ 20
+
+
+
+
+
+
+ 1529
+ 120
+ 121
+ 20
+
+
+
+ CONTROL-ONOFF
+
+
+ CONTROL-ONOFF
+
+
+ !A
+
+
+ AGEBD-ALH:MASTER-ONOFF
+
+
+
+
+
+ 0
+ 146
+ 1320
+ 450
+
+
+
+ QTabWidget::South
+
+
+ 0
+
+
+
+ Required Services
+
+
+
+
+ 0
+ 0
+ 1319
+ 420
+
+
+
+ IOC=AGEBD-CPCL-DBPM3CURR,service=DBPM3CURR,name=DBPM3Current,panel=1,svc_exist=1,panelcmd=A_BD_DBPM3Current.ui;IOC=AGEBD-CPCL-TAUBPM,service=TAUBPM,name=LifetimeBPM,panel=1,svc_exist=1,panelcmd=A_BD_LifetimeBPM.ui;IOC=AGEBD-CPCL-TAUPCT,service=TAUPCT,name=LifetimePCT,panel=1,svc_exist=1,panelcmd=A_BD_LifetimePCT.ui;IOC=AGEBD-CPCL-TIMING,service=TIMING,name=Timing,panel=1,svc_exist=1,panelcmd=A_BD_Timing.ui;IOC=AGEBD-CPCL-SCRUBBING,service=SCRUBBING,name=Scrubbing,panel=1,svc_exist=1,panelcmd=A_BD_Scrubbing.ui;IOC=AGEBD-CPCL-INJECTIONGUARD,service=INJECTIONGUARD,name=InjectionGuard,panel=1,svc_exist=1,panelcmd=A_BD_InjectionGuard.ui;IOC=AGEBD-CPCL-POSTMORTEMLOG,service=POSTMORTEMLOG,name=PostMortemLog,panel=1,svc_exist=1,panelcmd=A_BD_PostMortemLog.ui;IOC=AGEBD-CPCL-TUNEBUMP,service=TUNEBUMP,name=TuneBump,panel=1,svc_exist=1,panelcmd=A_BD_TuneBump.ui;IOC=AGEBD-CPCL-PLOTS,service=PLOTS,name=Plots,panel=0,svc_exist=1,panelcmd=A_BD_Plots.ui;IOC=AGEBD-CPCL-ORBITBUMP,service=ORBITBUMP,name=OrbitBump,panel=1,svc_exist=0,panelcmd=A_BD_OrbitBump.ui;IOC=AGEBD-CPCL-TUNEFBX,service=TUNEFBX,name=Hor. Tune Feedback,panel=1,svc_exist=1,panelcmd=A_BD_TuneBump.ui;IOC=AGEBD-CPCL-TUNEFBY,service=TUNEFBY,name=Ver. Tune Feedback,panel=1,svc_exist=1,panelcmd=A_BD_TuneBump.ui
+
+
+ A_BD_ServiceManager_inc.ui
+
+
+ 12
+
+
+ true
+
+
+ 2
+
+
+
+
+
+ 7580
+ 0
+ 20
+ 351
+
+
+
+ Qt::Vertical
+
+
+
+
+
+ Optional Services
+
+
+
+
+ 1178
+ 0
+ 20
+ 90
+
+
+
+ Qt::Vertical
+
+
+
+
+
+ 328
+ 0
+ 20
+ 90
+
+
+
+ Qt::Vertical
+
+
+
+
+
+ 758
+ -2
+ 20
+ 90
+
+
+
+ Qt::Vertical
+
+
+
+
+
+ 108
+ 0
+ 20
+ 90
+
+
+
+ Qt::Vertical
+
+
+
+
+
+ 558
+ -2
+ 20
+ 90
+
+
+
+ Qt::Vertical
+
+
+
+
+
+ 0
+ 0
+ 1320
+ 371
+
+
+
+ IOC=AGEBD-CPCL-NTURNS,service=NTURNS,name=NTurns,panel=1,svc_exist=1,panelcmd=A_BD_NTurns.ui;IOC=AGEBD-CPCL-TOPUPTOOL,service=TOPUPTOOL,name=TopUpTool,panel=1,svc_exist=1,panelcmd=A_BD_TopUpTool.ui;IOC=AGEBD-CPCL-TUNE,service=TUNE,name=Tune,panel=1,svc_exist=1,panelcmd=A_BD_Tune.ui;IOC=AGEOP-CPCL-SHIFTTOOL,service=SHIFTTOOL,name=Shifttool,panel=1,svc_exist=1,panelcmd=A_OP_SchichtProtokollTool.ui,macro=FACILITY=SLS
+
+
+ A_BD_ServiceManager_inc.ui
+
+
+ 4
+
+
+ 2
+
+
+
+
+
+
+
+ 779
+ 60
+ 181
+ 40
+
+
+
+
+ 16
+ 75
+ true
+
+
+
+ Started
+
+
+ Qt::AlignCenter
+
+
+ ESimpleLabel::None
+
+
+
+
+
+ 1080
+ 60
+ 101
+ 40
+
+
+
+
+ 16
+ 75
+ true
+
+
+
+ Status
+
+
+ Qt::AlignCenter
+
+
+ ESimpleLabel::None
+
+
+
+
+
+ 970
+ 60
+ 100
+ 40
+
+
+
+
+ 16
+ 75
+ true
+
+
+
+ Version
+
+
+ Qt::AlignCenter
+
+
+ ESimpleLabel::None
+
+
+
+
+
+ 1190
+ 60
+ 130
+ 40
+
+
+
+
+ 16
+ 75
+ true
+
+
+
+ Panel
+
+
+ Qt::AlignCenter
+
+
+ ESimpleLabel::None
+
+
+
+
+
+ 129
+ 60
+ 201
+ 40
+
+
+
+
+ 16
+ 75
+ true
+
+
+
+ Service
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ ESimpleLabel::None
+
+
+
+
+
+ 620
+ 60
+ 101
+ 40
+
+
+
+
+ 16
+ 75
+ true
+
+
+
+ Pause
+
+
+ Qt::AlignCenter
+
+
+ ESimpleLabel::None
+
+
+
+
+
+ 580
+ 60
+ 28
+ 31
+
+
+
+
+ 8
+ 75
+ true
+
+
+
+ Alive
+
+
+ caLabelVertical::Up
+
+
+
+
+
+ 10
+ 60
+ 101
+ 40
+
+
+
+
+ 16
+ 75
+ true
+
+
+
+ IOC
+
+
+ Qt::AlignCenter
+
+
+ ESimpleLabel::None
+
+
+
+
+
+ 340
+ 60
+ 201
+ 40
+
+
+
+
+ 16
+ 75
+ true
+
+
+
+ Qt::LeftToRight
+
+
+ Systemd
+
+
+ Qt::PlainText
+
+
+ Qt::AlignCenter
+
+
+ ESimpleLabel::None
+
+
+
+
+
+ 730
+ 60
+ 28
+ 31
+
+
+
+
+ 6
+ 75
+ true
+
+
+
+ Active
+
+
+ caLabelVertical::Up
+
+
+
+
+
+ 1203
+ 110
+ 30
+ 30
+
+
+
+
+ 183
+ 157
+ 92
+
+
+
+ P
+
+
+ A_BD_Master.ui
+
+
+
+
+
+
+
+
+ 580
+ 110
+ 30
+ 30
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ true
+
+
+ false
+
+
+ 28
+
+
+ 28
+
+
+ true
+
+
+ false
+
+
+ AGEBD-ALH:MASTER-ALIVE
+
+
+ caLed::Alarm
+
+
+
+
+
+ 780
+ 110
+ 180
+ 30
+
+
+
+ AGEBD-ALH:MASTER-STARTTIME
+
+
+ caLineEdit::Default
+
+
+ caLineEdit::onBackground
+
+
+ caLineEdit::User
+
+
+
+
+
+ 1080
+ 110
+ 100
+ 30
+
+
+
+ AGEBD-ALH:MASTER-STATUS
+
+
+ caLineEdit::Default
+
+
+ caLineEdit::onBackground
+
+
+ caLineEdit::User
+
+
+
+
+
+ 970
+ 110
+ 100
+ 30
+
+
+
+ AGEBD-ALH:MASTER-VERSION
+
+
+ caLineEdit::Default
+
+
+ caLineEdit::onBackground
+
+
+ caLineEdit::User
+
+
+
+
+
+ 620
+ 110
+ 100
+ 30
+
+
+
+ AGEBD-ALH:MASTER-ONOFF
+
+
+ caChoice::Column
+
+
+ 1
+
+
+
+
+
+ 730
+ 110
+ 30
+ 30
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ true
+
+
+ false
+
+
+ 28
+
+
+ 28
+
+
+ true
+
+
+ false
+
+
+ AGEBD-ALH:MASTER-ONOFF-RB
+
+
+ caLed::Alarm
+
+
+
+
+
+ 10
+ 110
+ 30
+ 30
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ true
+
+
+ false
+
+
+ 28
+
+
+ 28
+
+
+ true
+
+
+ false
+
+
+ AGEBD-CPCL-MASTER:STATUS
+
+
+ caLed::Alarm
+
+
+
+
+
+ 45
+ 110
+ 30
+ 30
+
+
+
+
+ 183
+ 157
+ 92
+
+
+
+ P
+
+
+ /ioc/modules/qt/iocStats.ui
+
+
+ IOC=AGEBD-CPCL-MASTER;
+
+
+
+
+
+ 129
+ 110
+ 201
+ 30
+
+
+
+ MASTER
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+
+
+ 110
+ 60
+ 20
+ 90
+
+
+
+ Qt::Vertical
+
+
+
+
+
+ 330
+ 60
+ 20
+ 90
+
+
+
+ Qt::Vertical
+
+
+
+
+
+ 760
+ 60
+ 20
+ 90
+
+
+
+ Qt::Vertical
+
+
+
+
+
+ 1180
+ 60
+ 20
+ 90
+
+
+
+ Qt::Vertical
+
+
+
+
+
+ 560
+ 60
+ 20
+ 90
+
+
+
+ Qt::Vertical
+
+
+
+
+
+ 10
+ 90
+ 1300
+ 16
+
+
+
+ Qt::Horizontal
+
+
+
+
+
+ 10
+ 35
+ 181
+ 22
+
+
+
+ Expert Mode
+
+
+ Expert-Mode
+
+
+ caToggleButton::Height
+
+
+ 0
+
+
+ 1
+
+
+
+
+
+ 1530
+ 180
+ 121
+ 20
+
+
+
+ Expert-Mode
+
+
+ Expert-Mode
+
+
+ A
+
+
+
+
+
+ 1.000000000000000
+
+
+ 0
+
+
+
+
+
+ 340
+ 100
+ 131
+ 50
+
+
+
+ caFrame::IfZero
+
+
+
+
+
+ Expert-Mode
+
+
+
+
+ 60
+ 10
+ 61
+ 30
+
+
+
+ Restart
+
+
+
+ 160
+ 160
+ 160
+
+
+
+ caScriptButton::Invisible
+
+
+ false
+
+
+ ssh svcusr-sls2hla@sls-vserv-bd-hla01 systemctl --user restart AGEBD-SERVICE-MASTER.service
+
+
+
+
+
+ 10
+ 10
+ 41
+ 30
+
+
+
+ SSH
+
+
+
+ 160
+ 160
+ 160
+
+
+
+ caScriptButton::Invisible
+
+
+ false
+
+
+ terminator -e "ssh svcusr-sls2hla@sls-vserv-bd-hla01"
+
+
+
+
+
+
+ 470
+ 110
+ 91
+ 30
+
+
+
+
+ 8
+
+
+
+ Logs
+
+
+ EPushButton::None
+
+
+ AGEBD-MASTER:MASTER-LOGS-REQ
+
+
+ Logs
+
+
+
+ 160
+ 160
+ 160
+
+
+
+ CONTROL-ONOFF
+
+
+
+
+
+ 1
+
+
+
+
+
+ 130
+ 40
+ 120
+ 40
+
+
+
+ caFrame::IfZero
+
+
+ Expert-Mode
+
+
+
+
+
+ 1240
+ 100
+ 71
+ 50
+
+
+
+ caFrame::IfZero
+
+
+ Expert-Mode
+
+
+
+
+ 0
+ 10
+ 70
+ 30
+
+
+
+ false
+
+
+ AGEBD-ALH:MASTER-GUIRELOAD
+
+
+ Reload
+
+
+
+ 160
+ 160
+ 160
+
+
+
+
+ 230
+ 230
+ 230
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+ 82
+ 100
+ 41
+ 50
+
+
+
+ caFrame::IfZero
+
+
+ Expert-Mode
+
+
+
+
+ 0
+ 10
+ 30
+ 30
+
+
+
+
+ 18
+
+
+
+ ↺
+
+
+ EPushButton::None
+
+
+ AGEBD-CPCL-MASTER:RESTART
+
+
+ ↺
+
+
+
+ 160
+ 160
+ 160
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+ 0
+ 0
+ 1320
+ 32
+
+
+
+
+ Sans Serif
+ 18
+ 75
+ false
+ true
+
+
+
+ Operation
+
+
+ Service Overview
+
+
+ Qt::AlignLeading
+
+
+
+ 218
+ 218
+ 218
+
+
+
+ caLabel::Default
+
+
+
+
+
+
+ caChoice
+ QWidget
+
+
+
+ caRelatedDisplay
+ QWidget
+
+
+
+ caMessageButton
+ QPushButton
+
+
+
+ caToggleButton
+ QCheckBox
+
+
+
+ caFrame
+ QFrame
+
+ 1
+
+
+ caLabel
+ QLabel
+
+
+
+ caLabelVertical
+ QWidget
+
+
+
+ caInclude
+ QWidget
+
+
+
+ caLed
+ QWidget
+
+
+
+ caLineEdit
+ QLineEdit
+
+
+
+ caCalc
+ QLabel
+
+
+
+ wmSignalPropagator
+ QLabel
+
+
+
+ caScriptButton
+ QWidget
+
+
+
+
+
+
+ cacalc_2
+ emitSignal(bool)
+ wmsignalpropagator
+ reloadwindow()
+
+
+ 1480
+ 170
+
+
+ 1480
+ 220
+
+
+
+
+
diff --git a/qt/A_BD_ServiceManager_inc.ui b/qt/A_BD_ServiceManager_inc.ui
new file mode 100644
index 0000000..5e56705
--- /dev/null
+++ b/qt/A_BD_ServiceManager_inc.ui
@@ -0,0 +1,754 @@
+
+
+ MainWindow
+
+
+
+ 0
+ 0
+ 1319
+ 30
+
+
+
+ MainWindow
+
+
+
+
+
+ 8
+ 0
+ 30
+ 30
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ true
+
+
+ false
+
+
+ 28
+
+
+ 28
+
+
+ true
+
+
+ false
+
+
+ $(IOC):STATUS
+
+
+ caLed::Alarm
+
+
+
+
+
+ 43
+ 0
+ 30
+ 30
+
+
+
+
+ 183
+ 157
+ 92
+
+
+
+ P
+
+
+ /ioc/modules/qt/iocStats.ui
+
+
+ IOC=$(IOC)
+
+
+
+
+
+ 1200
+ 0
+ 110
+ 40
+
+
+
+ caFrame::Calc
+
+
+ caFrame::All
+
+
+ $(panel)
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 30
+ 30
+
+
+
+
+ 183
+ 157
+ 92
+
+
+
+ P
+
+
+ $(panelcmd)
+
+
+ $(macro)
+
+
+
+
+
+
+ 277
+ 0
+ 900
+ 120
+
+
+
+ caFrame::Calc
+
+
+ $(svc_exist)
+
+
+
+
+ 800
+ 0
+ 100
+ 30
+
+
+
+ AGEBD-ALH:$(service)-STATUS
+
+
+ caLineEdit::Default
+
+
+ caLineEdit::onBackground
+
+
+ caLineEdit::User
+
+
+
+
+
+ 220
+ 0
+ 60
+ 30
+
+
+
+
+ 8
+
+
+
+ Restart
+
+
+ EPushButton::None
+
+
+ AGEBD-MASTER:$(service)-RESTART-REQ
+
+
+ Restart
+
+
+
+ 160
+ 160
+ 160
+
+
+
+ CONTROL-ONOFF
+
+
+
+
+
+ 1
+
+
+
+
+
+ 690
+ 0
+ 100
+ 30
+
+
+
+ AGEBD-ALH:$(service)-VERSION
+
+
+ caLineEdit::Default
+
+
+ caLineEdit::onBackground
+
+
+ caLineEdit::User
+
+
+
+
+
+ 340
+ 0
+ 100
+ 30
+
+
+
+ AGEBD-ALH:$(service)-ONOFF
+
+
+ caChoice::Column
+
+
+ 1
+
+
+
+
+
+ 500
+ 0
+ 180
+ 30
+
+
+
+ AGEBD-ALH:$(service)-STARTTIME
+
+
+ caLineEdit::Default
+
+
+ caLineEdit::onBackground
+
+
+ caLineEdit::User
+
+
+
+
+
+ 300
+ 0
+ 30
+ 30
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ true
+
+
+ false
+
+
+ 28
+
+
+ 28
+
+
+ true
+
+
+ false
+
+
+ AGEBD-ALH:$(service)-ALIVE
+
+
+ caLed::Alarm
+
+
+
+
+
+ 170
+ 0
+ 40
+ 30
+
+
+
+
+ 8
+
+
+
+ Logs
+
+
+ EPushButton::None
+
+
+ AGEBD-MASTER:$(service)-LOGS-REQ
+
+
+ Logs
+
+
+
+ 160
+ 160
+ 160
+
+
+
+ CONTROL-ONOFF
+
+
+
+
+
+ 1
+
+
+
+
+
+ 450
+ 0
+ 30
+ 30
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ true
+
+
+ false
+
+
+ 28
+
+
+ 28
+
+
+ true
+
+
+ false
+
+
+ AGEBD-ALH:$(service)-ONOFF-RB
+
+
+ caLed::Alarm
+
+
+
+
+
+ 481
+ 0
+ 20
+ 30
+
+
+
+ Qt::Vertical
+
+
+
+
+
+
+ 130
+ 0
+ 201
+ 30
+
+
+
+ $(name)
+
+
+ Qt::MarkdownText
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+
+
+ 108
+ 0
+ 20
+ 30
+
+
+
+ Qt::Vertical
+
+
+
+
+
+ 328
+ 0
+ 20
+ 30
+
+
+
+ Qt::Vertical
+
+
+
+
+
+ 558
+ 0
+ 20
+ 30
+
+
+
+ Qt::Vertical
+
+
+
+
+
+ 1178
+ 0
+ 20
+ 30
+
+
+
+ Qt::Vertical
+
+
+
+
+
+ 340
+ 0
+ 101
+ 40
+
+
+
+ caFrame::IfZero
+
+
+ Expert-Mode
+
+
+
+
+ 60
+ 0
+ 40
+ 30
+
+
+
+
+ 8
+
+
+
+ Start
+
+
+ EPushButton::None
+
+
+ AGEBD-MASTER:$(service)-START-REQ
+
+
+ Start
+
+
+
+ 160
+ 160
+ 160
+
+
+
+ CONTROL-ONOFF
+
+
+
+
+
+ 1
+
+
+
+
+
+ 10
+ 0
+ 40
+ 30
+
+
+
+
+ 8
+
+
+
+ KILL
+
+
+ EPushButton::None
+
+
+ AGEBD-MASTER:$(service)-ABORT-REQ
+
+
+ KILL
+
+
+
+ 148
+ 0
+ 0
+
+
+
+ CONTROL-ONOFF
+
+
+
+
+
+ 1
+
+
+
+
+
+
+ 80
+ 0
+ 41
+ 30
+
+
+
+ caFrame::IfZero
+
+
+ Expert-Mode
+
+
+
+
+ 0
+ 0
+ 30
+ 30
+
+
+
+
+ 18
+
+
+
+ ↺
+
+
+ EPushButton::None
+
+
+ $(IOC):RESTART
+
+
+ ↺
+
+
+
+ 160
+ 160
+ 160
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+ 1240
+ 0
+ 71
+ 40
+
+
+
+ caFrame::IfZero
+
+
+ Expert-Mode
+
+
+
+
+ 0
+ 0
+ 70
+ 30
+
+
+
+ AGEBD-ALH:$(service)-GUIRELOAD
+
+
+ Reload
+
+
+
+ 160
+ 160
+ 160
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+ caChoice
+ QWidget
+
+
+
+ caRelatedDisplay
+ QWidget
+
+
+
+ caMessageButton
+ QPushButton
+
+
+
+ caFrame
+ QFrame
+
+ 1
+
+
+ caLabel
+ QLabel
+
+
+
+ caLed
+ QWidget
+
+
+
+ caLineEdit
+ QLineEdit
+
+
+
+
+
+