From 99039b5a88b9415c2818d781dd36cebf77bc6d33 Mon Sep 17 00:00:00 2001
From: Paolo Cinquegrana <paolo.cinquegrana@elettra.eu>
Date: Mon, 22 Feb 2021 17:53:35 +0100
Subject: [PATCH] sostituzione delle variabili interne "zeroS1_fel1,
 zeroS2_fel1, zeroS1_fel2, zeroS2_fel2 con attributi di sl/misc/ranges"

---
 src/SluDelayCalculator.py | 65 +++++++++++++++++----------------------
 1 file changed, 28 insertions(+), 37 deletions(-)

diff --git a/src/SluDelayCalculator.py b/src/SluDelayCalculator.py
index c0a5165..a8401de 100644
--- a/src/SluDelayCalculator.py
+++ b/src/SluDelayCalculator.py
@@ -12,6 +12,7 @@ import sys
 selettore = PyTango.DeviceProxy("srv-tango-srf-01:20000/sl/laser/calendar_sl.01").activityNum
 
 devprodic = {}
+devprodic["costanti"] = PyTango.DeviceProxy("srv-tango-srf-01:20000/sl/misc/ranges")
 devprodic["trls4"] = PyTango.DeviceProxy("srv-tango-srf-01:20000/sl/motor/trls_sl.04")
 devprodic["trls8"] = PyTango.DeviceProxy("srv-tango-srf-01:20000/sl/motor/trls_sl.08")
 devprodic["triggerEVR"] = PyTango.DeviceProxy("srv-tango-srf-01:20000/ec-sl-slpsr-01/evr/ff100000")
@@ -34,10 +35,10 @@ zero_Eos2 = 0
 trlsEOS2pos = 0
 trlsEOS1pos = 0
 trlsSLUpos = 0
-zeroS1_fel1 = 203806.0 #????????????con tmufundalignment -1, trls 0, trls8 0
-zeroS2_fel1 = 202949.0 #????????????con tmufundalignment -1, trls 0, trls8 0
-zeroS1_fel2 = 203814.0 #con tmufundalignment -1, trls 0, trls8 0
-zeroS2_fel2 = 202939.0 #con tmufundalignment -1, trls 0, trls8 0
+zeroS1_fel1 = devprodic["costanti"].offset_fel1_sdg1 #con tmufundalignment -1, trls 0, trls8 0
+zeroS2_fel1 = devprodic["costanti"].offset_fel1_sdg2 #con tmufundalignment -1, trls 0, trls8 0
+zeroS1_fel2 = devprodic["costanti"].offset_fel2_sdg1 #con tmufundalignment -1, trls 0, trls8 0
+zeroS2_fel2 = devprodic["costanti"].offset_fel2_sdg2 #con tmufundalignment -1, trls 0, trls8 0
 
 ####ns12 = 12.675074466
 ####ns6 = 6.337537233
@@ -62,8 +63,6 @@ zeroS2_fel2 = 202939.0 #con tmufundalignment -1, trls 0, trls8 0
 class MainWindow(QDialog):
     def __init__(self, parent=None):
         super(MainWindow, self).__init__(parent)
-        self.contaloop = 0
-        self.abilitazioscope6 = 1
         #meglio scrivere per chi faccio i conti
         self.funzionamento = QLineEdit("No errors")
         self.funzionamento.setReadOnly(1)
@@ -82,11 +81,11 @@ class MainWindow(QDialog):
         self.SLUdelta_t = QLineEdit("ns")
         self.SLUcalcola = QPushButton("Calculate")
         self.SLUcalcola.clicked.connect(self.calcola)
-        self.figura = QLabel()
-        pixmap = QPixmap('/home/lfo/tmp/verso_delay_slu.png')
-        self.figura.setPixmap(pixmap)
+        self.versooscilloscopio = QLabel('This program manages the delay of the SLU. Everyone knows that if on the oscilloscope the FEL signal is to the left of the SLU signal, it means that the SLU arrives after the FEL, so you must use the minus sign to remove delay at the SLU. And viceversa...')
+        self.versooscilloscopio.setFont(font_grosso)
+        self.versooscilloscopio.setWordWrap(True)
         lo_delta = QGridLayout()
-        lo_delta.addWidget(self.figura, 0, 0, 1, 3)
+        lo_delta.addWidget(self.versooscilloscopio, 0, 0, 1, 3)
         lo_delta.addWidget(QLabel("SLU delta t"), 1, 0, 1, 1)
         lo_delta.addWidget(self.SLUdelta_t, 1, 1, 1, 1)
         lo_delta.addWidget(self.SLUcalcola, 1, 2, 1, 1)
@@ -101,13 +100,14 @@ class MainWindow(QDialog):
         self.aprihdb.clicked.connect(self.faprihdb)
         self.minimcorr = QPushButton("Corr.min.Delay")
         self.minimcorr.clicked.connect(self.switchdelayminimizer)
-        self.feedbackelite1 = QPushButton("fb Elite1 in")
+        self.wiki = QPushButton("wiki help")
+        self.wiki.clicked.connect(self.apriwiki)
         lo_bottoni = QGridLayout()
         lo_bottoni.addWidget(self.apriscope, 0, 0, 1, 3)
         lo_bottoni.addWidget(self.apritrigger, 2, 0, 1, 3)
         lo_bottoni.addWidget(self.aprihdb, 3, 0, 1, 3)
         lo_bottoni.addWidget(self.minimcorr, 4, 0, 1, 3)
-        lo_bottoni.addWidget(self.feedbackelite1, 5, 0, 1, 3)
+        lo_bottoni.addWidget(self.wiki, 5, 0, 1, 3)
         self.gruppobottoni.setLayout(lo_bottoni)
         #
         self.gruppocentrale = QGroupBox()
@@ -283,7 +283,7 @@ class MainWindow(QDialog):
         self.gruppocentrale.setLayout(lo_centrale)
         #
         self.grupposcope6 = QGroupBox("scope-laser-06")
-        self.enable_scope_measurament = QPushButton('Disable scope operation')
+        self.enable_scope_measurament = QPushButton('Enable scope operation')
         self.enable_scope_measurament.clicked.connect(self.abilitascope6)
         self.ddmeasure_seedpil_text = QLabel('Seed-Pil')
         self.ddmeasure_slupil_text = QLabel('Slu-Pil')
@@ -366,6 +366,8 @@ class MainWindow(QDialog):
         self.trgS2_storna.hide()
         self.FundAlignment_storna.hide()
         #inizializzazione - lettura parametri
+        self.contaloop = 0
+        self.abilitazioscope6 = 0
         try:
             self.zero_trls4 = devprodic["trls4"].Position[0]
             self.trls4_iniziale.setText(str(round(self.zero_trls4, 3)))
@@ -547,13 +549,6 @@ class MainWindow(QDialog):
             self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
             voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["tmu"]) + ' LockStatus, PllFundAlignment. fix the problem and procede'
             self.logbox.insertItem(0, voce)
-        try:
-            self.read_values_fbelite1 = str(devprodic["feedbackelite1"].command_inout('State'))
-        except:
-            self.funzionamento.setText('!! FAULT !!')
-            self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
-            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["feedbackelite1"]) + ' State. fix the problem and procede'
-            self.logbox.insertItem(0, voce)
         try:
             self.read_values_corrmin = str(devprodic["minimizzatore_correlazione"].command_inout('State'))
         except:
@@ -635,34 +630,26 @@ class MainWindow(QDialog):
             self.trgE1_state.setStyleSheet("background-color: rgb(150, 150, 150)")
             self.trgE2_state.setStyleSheet("background-color: rgb(150, 150, 150)")
         if self.read_values_corrmin == "ON":
-            self.minimcorr.setStyleSheet("background-color: rgb(0, 255, 0)")
-            self.minimcorr.setText('Delay:ON')
+            self.minimcorr.setStyleSheet("background-color: rgb(255, 0, 0)")
+            self.minimcorr.setText('Corr.min.Delay:ON')
         elif self.read_values_corrmin == "RUNNING":
-            self.minimcorr.setStyleSheet("background-color: rgb(0, 0, 255)")
-            self.minimcorr.setText('Delay:RUNNING')
+            self.minimcorr.setStyleSheet("background-color: rgb(255, 0, 0)")
+            self.minimcorr.setText('Corr.min.Delay:RUNNING')
         elif self.read_values_corrmin == "MOVING":
             self.minimcorr.setStyleSheet("background-color: rgb(0, 0, 255)")
-            self.minimcorr.setText('Delay:MOVING')
+            self.minimcorr.setText('Corr.min.Delay:MOVING')
         elif self.read_values_corrmin == "FAULT":
             self.minimcorr.setStyleSheet("background-color: rgb(255, 0, 0)")
-            self.minimcorr.setText('Delay:FAULT')
+            self.minimcorr.setText('Corr.min.Delay:FAULT')
         elif self.read_values_corrmin == "ALARM":
             self.minimcorr.setStyleSheet("background-color: rgb(255, 255, 0)")
-            self.minimcorr.setText('Delay:ALARM')
+            self.minimcorr.setText('Corr.min.Delay:ALARM')
         elif self.read_values_corrmin == "OFF":
-            self.minimcorr.setStyleSheet("background-color: rgb(255, 255, 255)")
-            self.minimcorr.setText('Delay:OFF')
+            self.minimcorr.setStyleSheet("background-color: rgb(0, 255, 0)")
+            self.minimcorr.setText('Corr.min.Delay:OFF')
         else:
             self.minimcorr.setStyleSheet("background-color: rgb(150, 150, 150)")
             self.minimcorr.setText('Delay:???')
-        if self.read_values_fbelite1 == "ON" or self.read_values_fbelite1 == "RUNNING":
-            self.feedbackelite1.setStyleSheet("background-color: rgb(0, 255, 0)")
-        elif self.read_values_fbelite1 == "MOVING":
-            self.feedbackelite1.setStyleSheet("background-color: rgb(0, 0, 255)")
-        elif self.read_values_fbelite1 == "FAULT" or self.read_values_fbelite1 == "ALARM":
-            self.feedbackelite1.setStyleSheet("background-color: rgb(255, 0, 0)")
-        else:
-            self.feedbackelite1.setStyleSheet("background-color: rgb(150, 150, 150)")
         if self.read_values_locksta == "Locked on Cross Correlator Signal":
             self.FundAlignment_state.setStyleSheet("background-color: rgb(0, 255, 0)")
         else:
@@ -926,6 +913,9 @@ class MainWindow(QDialog):
     def faprihdb(self):
         os.system('firefox http://fcsproxy.elettra.trieste.it/docs/egiga2m/egiga2m.html?conf=fermi_hdbpp &')
 
+    def apriwiki(self):
+        os.system('firefox http://acswww.elettra.trieste.it/Fermi/Procedures/Lasers/SLUtimimingnumbers &')
+
     def apritrls4(self):
         os.system('/runtime/bin/xps sl/motor/trls_sl.04 -title SL_XPS_delay_line_"trls_sl.04" &')
 
@@ -1699,6 +1689,7 @@ except:
   screen = QDesktopWidget().screenGeometry()
   dimensione = [screen.width()*0.7, screen.height()*0.7]
 font_pannello = QFont("Arial", round(dimensione[0]/160.0), -1, False)
+font_grosso = QFont("Arial", round(dimensione[0]/100.0), -1, True)
 app.setFont(font_pannello)
 main = MainWindow()
 main.show()
-- 
GitLab