diff --git a/src/slu-delay-calculator.py b/src/slu-delay-calculator.py
index 08efb265bde60a14d9e84f311e2d6807af2febf6..1946a100abadd979ad5e3d04d12527c06b226c55 100644
--- a/src/slu-delay-calculator.py
+++ b/src/slu-delay-calculator.py
@@ -1,5 +1,6 @@
 #!/usr/bin/python 
 
+
 import PyTango
 import os
 import numpy as np
@@ -9,26 +10,17 @@ import time
 import sys
 
 selettore = PyTango.DeviceProxy("sl/laser/calendar_sl.01").activityNum
-print(selettore)
-
-
-try:
-    sistema = sys.argv[1]
-except:
-    sistema = 'slu'
-    
-print(sistema)
 
 devprodic = {}
 devprodic["trls4"] = PyTango.DeviceProxy("sl/motor/trls_sl.04")
 devprodic["trls8"] = PyTango.DeviceProxy("sl/motor/trls_sl.08")
 devprodic["triggerEVR"] = PyTango.DeviceProxy("ec-sl-slpsr-01/evr/ff100000")
-devprodic["triggerSDG1"] = PyTango.DeviceProxy("sl/delay/dgq_slpsr.02")
-devprodic["triggerSDG2"] = PyTango.DeviceProxy("sl/delay/dgq_slpsr.01")
+devprodic["triggerS1"] = PyTango.DeviceProxy("sl/delay/dgq_slpsr.02")
+devprodic["triggerS2"] = PyTango.DeviceProxy("sl/delay/dgq_slpsr.01")
 devprodic["tmu"] = PyTango.DeviceProxy("sl/timing/tmu_sl.01")
 devprodic["minimizzatore_correlazione"] = PyTango.DeviceProxy("f/optimization/optimizer_sldelay_f.01")
 devprodic["feedbackelite1"] = PyTango.DeviceProxy("sl/feedback/rtltf_osc.02")
-
+devprodic["totemdelay"] = PyTango.DeviceProxy("slu/motor/trls_slu.05")
 # imposto subito velocita` 100 per salvare tempo procedura
 devprodic["trls8"].write_attribute("Speed", [-100])
 devprodic["trls4"].write_attribute("Speed", [100])
@@ -41,8 +33,8 @@ zero_Eos2 = 0
 trlsEOS2pos = 0
 trlsEOS1pos = 0
 trlsSLUpos = 0
-deltasdg1 = 203806.0
-deltasdg2 = 202949.0
+deltaS1 = 203806.0
+deltaS2 = 202949.0
 
 ####ns12 = 12.675074466
 
@@ -69,7 +61,6 @@ class MainWindow(QDialog):
         self.funzionamento = QLineEdit("No errors")
         self.funzionamento.setReadOnly(1)
         self.funzionamento.setStyleSheet("background-color: rgb(0, 255, 0)")
-        #self.funzionamento.setMaximumWidth(40)
         self.selezione = QLineEdit("")
         self.selezione.setReadOnly(1)
         if selettore >= 1 and selettore <= 6:
@@ -77,31 +68,21 @@ class MainWindow(QDialog):
         elif selettore >= 7 and selettore <= 11:
             self.selezione.setText('elite1 x slu, elite2 x fel')
         else:
-            self.selezione.setText('not possible to decide what to move accordin sl calendar')
+            self.selezione.setText('not possible to decide what to move according sl calendar')
         self.lanciasalvatrigger = QPushButton("Save Trigger")
         self.lanciasalvatrigger.clicked.connect(self.pannellosalvatrigger)
-        self.gruppodeltat = QGroupBox("Delta t")
-        self.SLFELdelta_t = QLineEdit("ns")
-        self.SLFELcalcola = QPushButton("Calculate")
-        self.SLFELcalcola.clicked.connect(self.calcola1)
-        self.SLFELcalcola.setToolTip('self.calcola1')
+        self.gruppodeltat = QGroupBox("")
         self.SLUdelta_t = QLineEdit("ns")
         self.SLUcalcola = QPushButton("Calculate")
-        self.SLUcalcola.clicked.connect(self.calcola2)
-        self.SLUcalcola.setToolTip('self.calcola2')
+        self.SLUcalcola.clicked.connect(self.calcola)
         self.figura = QLabel()
         pixmap = QPixmap('/home/lfo/tmp/verso_delay_slu.png')
         self.figura.setPixmap(pixmap)
         lo_delta = QGridLayout()
         lo_delta.addWidget(self.figura, 0, 0, 1, 3)
-        if sistema == 'seed':
-            lo_delta.addWidget(QLabel("SLFEL delta t"), 1, 0, 1, 1)
-            lo_delta.addWidget(self.SLFELdelta_t, 1, 1, 1, 1)
-            lo_delta.addWidget(self.SLFELcalcola, 1, 2, 1, 1)
-        else:
-            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)
+        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)
         self.gruppodeltat.setLayout(lo_delta)
         #
         self.gruppobottoni = QGroupBox("")
@@ -113,194 +94,220 @@ class MainWindow(QDialog):
         self.apritrigger.clicked.connect(self.fapritrigger)
         self.aprihdb = QPushButton('Open HDB')
         self.aprihdb.clicked.connect(self.faprihdb)
+        self.minimcorr = QPushButton("Corr.min.Delay")
+        self.minimcorr.clicked.connect(self.switchdelayminimizer)
+        self.feedbackelite1 = QPushButton("fb Elite1 in")
         lo_bottoni = QGridLayout()
         lo_bottoni.addWidget(self.apriscope3, 0, 0, 1, 3)
         lo_bottoni.addWidget(self.apriscope5, 1, 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)
         self.gruppobottoni.setLayout(lo_bottoni)
         #
-        self.gruppoiniziale = QGroupBox("0 State")
-        self.trg1_state = QLineEdit("TRG Elite1/SDG1")
-        self.trg1_state.setMaximumWidth(150)
-        self.trg1_state.setReadOnly(1)
-        self.trg2_state = QLineEdit("TRG Elite2/SDG2")
-        self.trg2_state.setMaximumWidth(150)
-        self.trg2_state.setReadOnly(1)
+        self.gruppocentrale = QGroupBox()
+        self.scritta1 = QLabel('0 state')
+        self.scritta2 = QLabel('present state')
+        self.scritta3 = QLabel('calculated')
         self.trls4_state = QPushButton("TRLS4")
         self.trls4_state.clicked.connect(self.apritrls4)
-        self.trls4_state.setMaximumWidth(150)
-        self.FundAlignment_state = QLineEdit("TMU")
-        self.FundAlignment_state.setMaximumWidth(150)
-        self.FundAlignment_state.setReadOnly(1)
         self.trls8_state = QPushButton("TRLS8")
         self.trls8_state.clicked.connect(self.apritrls8)
-        self.trls8_state.setMaximumWidth(150)
-        self.SLFELiniziale = QLineEdit("")
-        self.SLFELiniziale.setMaximumWidth(150)
-        self.SLFELiniziale.setReadOnly(1)
-        self.SLUiniziale = QLineEdit("")
-        self.SLUiniziale.setMaximumWidth(150)
-        self.SLUiniziale.setReadOnly(1)
-        #self.EOSiniziale = QLineEdit("#####")
-        #self.EOSiniziale.setDisabled(1)
-        #self.EOSiniziale.setMaximumWidth(150)
-        #self.EOSiniziale.setReadOnly(1)
+        self.trgE1_state = QPushButton("TRG Elite1")
+        self.trgE1_state.clicked.connect(self.fapritrigger)
+        self.trgS1_state = QPushButton("TRG S1")
+        self.trgS1_state.clicked.connect(self.fapritrigger)
+        self.trgE2_state = QPushButton("TRG Elite2")
+        self.trgE2_state.clicked.connect(self.fapritrigger)
+        self.trgS2_state = QPushButton("TRG S2")
+        self.trgS2_state.clicked.connect(self.fapritrigger)
+        self.FundAlignment_state = QPushButton("TMU")
+        self.FundAlignment_state.clicked.connect(self.fapritmu)
         self.trls4_iniziale = QLineEdit("")
-        self.trls4_iniziale.setMaximumWidth(150)
+        self.trls4_iniziale.setStyleSheet("background-color: rgb(220, 220, 220)")
         self.trls4_iniziale.setReadOnly(1)
         self.trls8_iniziale = QLineEdit("")
-        self.trls8_iniziale.setMaximumWidth(150)
+        self.trls8_iniziale.setStyleSheet("background-color: rgb(220, 220, 220)")
         self.trls8_iniziale.setReadOnly(1)
-        self.trgM1_iniziale = QLineEdit("")
-        self.trgM1_iniziale.setMaximumWidth(150)
-        self.trgM1_iniziale.setReadOnly(1)
-        self.trgSDG1_iniziale = QLineEdit("")
-        self.trgSDG1_iniziale.setMaximumWidth(150)
-        self.trgSDG1_iniziale.setReadOnly(1)
-        self.trgM2_iniziale = QLineEdit("")
-        self.trgM2_iniziale.setMaximumWidth(150)
-        self.trgM2_iniziale.setReadOnly(1)
-        self.trgSDG2_iniziale = QLineEdit("")
-        self.trgSDG2_iniziale.setMaximumWidth(150)
-        self.trgSDG2_iniziale.setReadOnly(1)
+        self.trgE1_iniziale = QLineEdit("")
+        self.trgE1_iniziale.setStyleSheet("background-color: rgb(220, 220, 220)")
+        self.trgE1_iniziale.setReadOnly(1)
+        self.trgS1_iniziale = QLineEdit("")
+        self.trgS1_iniziale.setStyleSheet("background-color: rgb(220, 220, 220)")
+        self.trgS1_iniziale.setReadOnly(1)
+        self.trgE2_iniziale = QLineEdit("")
+        self.trgE2_iniziale.setStyleSheet("background-color: rgb(220, 220, 220)")
+        self.trgE2_iniziale.setReadOnly(1)
+        self.trgS2_iniziale = QLineEdit("")
+        self.trgS2_iniziale.setStyleSheet("background-color: rgb(220, 220, 220)")
+        self.trgS2_iniziale.setReadOnly(1)
         self.FundAlignment_iniziale = QLineEdit("")
-        self.FundAlignment_iniziale.setMaximumWidth(150)
+        self.FundAlignment_iniziale.setStyleSheet("background-color: rgb(220, 220, 220)")
         self.FundAlignment_iniziale.setReadOnly(1)
-        self.ripristina = QPushButton("Restore 0state")
-        self.ripristina.clicked.connect(self.ripristino)
-        lo_iniziale = QGridLayout()
-        lo_iniziale.addWidget(QLabel("delay SLFEL"), 0, 0, 1, 1)
-        lo_iniziale.addWidget(self.SLFELiniziale, 0, 1, 1, 1)
-        lo_iniziale.addWidget(QLabel("delay SLU"), 1, 0, 1, 1)
-        lo_iniziale.addWidget(self.SLUiniziale, 1, 1, 1, 1)
-        #lo_iniziale.addWidget(QLabel("delay EOS"), 2, 0, 1, 1)
-        #lo_iniziale.addWidget(self.EOSiniziale, 2, 1, 1, 1)
-        lo_iniziale.addWidget(self.trls4_state, 4, 0, 1, 1)
-        lo_iniziale.addWidget(self.trls4_iniziale, 4, 1, 1, 1)
-        lo_iniziale.addWidget(self.trls8_state, 5, 0, 1, 1)
-        lo_iniziale.addWidget(self.trls8_iniziale, 5, 1, 1, 1)
-        lo_iniziale.addWidget(self.trg1_state, 6, 0, 2, 1)
-        lo_iniziale.addWidget(self.trgM1_iniziale, 6, 1, 1, 1)
-        lo_iniziale.addWidget(self.trgSDG1_iniziale, 7, 1, 1, 1)
-        lo_iniziale.addWidget(self.trg2_state, 8, 0, 2, 1)
-        lo_iniziale.addWidget(self.trgM2_iniziale, 8, 1, 1, 1)
-        lo_iniziale.addWidget(self.trgSDG2_iniziale, 9, 1, 1, 1)
-        lo_iniziale.addWidget(self.FundAlignment_state, 10, 0, 1, 1)
-        lo_iniziale.addWidget(self.FundAlignment_iniziale, 10, 1, 1, 1)
-        lo_iniziale.addWidget(self.ripristina, 12, 1, 1, 1)
-        self.gruppoiniziale.setLayout(lo_iniziale)
-        #
-        self.gruppolettura = QGroupBox("Present State")
-        self.SLFELdelay = QLineEdit("")
-        self.SLFELdelay.setMaximumWidth(150)
-        self.SLUdelay = QLineEdit("")
-        self.SLUdelay.setMaximumWidth(150)
-        #self.EOSdelay = QLineEdit("#####")
-        #self.EOSdelay.setDisabled(1)
-        #self.EOSdelay.setMaximumWidth(150)
         self.trls4_read = QLineEdit("")
-        self.trls4_read.setMaximumWidth(150)
-        self.trls4_speed = QLineEdit("")
-        self.trls4_speed.setMaximumWidth(150)
+        self.trls4_read.setStyleSheet("background-color: rgb(220, 220, 220)")
+        self.trls4_read.setReadOnly(1)
         self.trls8_read = QLineEdit("")
-        self.trls8_read.setMaximumWidth(150)
-        self.trls8_speed = QLineEdit("")
-        self.trls8_speed.setMaximumWidth(150)
-        self.trgM1_read = QLineEdit("")
-        self.trgM1_read.setMaximumWidth(150)
-        self.trgSDG1_read = QLineEdit("")
-        self.trgSDG1_read.setMaximumWidth(150)
-        self.trgM2_read = QLineEdit("")
-        self.trgM2_read.setMaximumWidth(150)
-        self.trgSDG2_read = QLineEdit("")
-        self.trgSDG2_read.setMaximumWidth(150)
+        self.trls8_read.setStyleSheet("background-color: rgb(220, 220, 220)")
+        self.trls8_read.setReadOnly(1)
+        self.trgE1_read = QLineEdit("")
+        self.trgE1_read.setStyleSheet("background-color: rgb(220, 220, 220)")
+        self.trgE1_read.setReadOnly(1)
+        self.trgS1_read = QLineEdit("")
+        self.trgS1_read.setStyleSheet("background-color: rgb(220, 220, 220)")
+        self.trgS1_read.setReadOnly(1)
+        self.trgE2_read = QLineEdit("")
+        self.trgE2_read.setStyleSheet("background-color: rgb(220, 220, 220)")
+        self.trgE2_read.setReadOnly(1)
+        self.trgS2_read = QLineEdit("")
+        self.trgS2_read.setStyleSheet("background-color: rgb(220, 220, 220)")
+        self.trgS2_read.setReadOnly(1)
         self.FundAlignment_read = QLineEdit("")
-        self.FundAlignment_read.setMaximumWidth(150)
-        self.minimcorr = QPushButton("Delay")
-        self.minimcorr.setMaximumWidth(75)
-        self.minimcorr.clicked.connect(self.switchdelayminimizer)
-        self.feedbackelite1 = QLineEdit("fb Elite1")
-        self.feedbackelite1.setMaximumWidth(75)
-        lo_lettura = QGridLayout()
-        lo_lettura.addWidget(self.SLFELdelay, 0, 0, 1, 2)
-        lo_lettura.addWidget(self.SLUdelay, 1, 0, 1, 2)
-        #lo_lettura.addWidget(self.EOSdelay, 2, 0, 1, 2)
-        lo_lettura.addWidget(self.trls4_read, 4, 0, 1, 2)
-        lo_lettura.addWidget(self.trls8_read, 5, 0, 1, 2)
-        lo_lettura.addWidget(self.trgM1_read, 6, 0, 1, 2)
-        lo_lettura.addWidget(self.trgSDG1_read, 7, 0, 1, 2)
-        lo_lettura.addWidget(self.trgM2_read, 8, 0, 1, 2)
-        lo_lettura.addWidget(self.trgSDG2_read, 9, 0, 1, 2)
-        lo_lettura.addWidget(self.FundAlignment_read, 10, 0, 1, 2)
-        lo_lettura.addWidget(self.minimcorr, 11, 0, 1, 1)
-        lo_lettura.addWidget(self.feedbackelite1, 11, 1, 1, 1)
-        self.gruppolettura.setLayout(lo_lettura)
-        #
-        self.gruppocalcolo = QGroupBox("Calculated Values")
-        self.SLFELdelay_calcolato = QLineEdit("")
-        self.SLFELdelay_calcolato.setMaximumWidth(150)
-        self.SLUdelay_calcolato = QLineEdit("")
-        self.SLUdelay_calcolato.setMaximumWidth(150)
-        #self.EOSdelay_calcolato = QLineEdit("#####")
-        #self.EOSdelay_calcolato.setDisabled(1)
-        #self.EOSdelay_calcolato.setMaximumWidth(150)
+        self.FundAlignment_read.setStyleSheet("background-color: rgb(220, 220, 220)")
+        self.FundAlignment_read.setReadOnly(1)
         self.trls4_calcolato = QLineEdit("")
-        self.trls4_calcolato.setMaximumWidth(150)
         self.trls8_calcolato = QLineEdit("")
-        self.trls8_calcolato.setMaximumWidth(150)
-        self.trgM1_calcolato = QLineEdit("")
-        self.trgM1_calcolato.setMaximumWidth(150)
-        self.trgSDG1_calcolato = QLineEdit("")
-        self.trgSDG1_calcolato.setMaximumWidth(150)
-        self.trgM2_calcolato = QLineEdit("")
-        self.trgM2_calcolato.setMaximumWidth(150)
-        self.trgSDG2_calcolato = QLineEdit("")
-        self.trgSDG2_calcolato.setMaximumWidth(150)
+        self.trgE1_calcolato = QLineEdit("")
+        self.trgS1_calcolato = QLineEdit("")
+        self.trgE2_calcolato = QLineEdit("")
+        self.trgS2_calcolato = QLineEdit("")
         self.FundAlignment_calcolato = QLineEdit("")
-        self.FundAlignment_calcolato.setMaximumWidth(150)
-        self.FundAlignment_calcolato.setToolTip('if red a change of phase is required, it will take few minutes, please be patient')
-        self.applica = QPushButton("APPLY")
+        self.trls4_applica = QPushButton('Apply')
+        self.trls4_applica.clicked.connect(self.disastro_solotrls4)
+        self.trls8_applica = QPushButton('Apply')
+        self.trls8_applica.clicked.connect(self.disastro_solotrls8)
+        self.trgE1_applica = QPushButton('Apply')
+        self.trgE1_applica.clicked.connect(self.disastro_soloE1trg)
+        self.trgS1_applica = QPushButton('Apply')
+        self.trgS1_applica.clicked.connect(self.disastro_soloS1trg)
+        self.trgE2_applica = QPushButton('Apply')
+        self.trgE2_applica.clicked.connect(self.disastro_soloE2trg)
+        self.trgS2_applica = QPushButton('Apply')
+        self.trgS2_applica.clicked.connect(self.disastro_soloS2trg)
+        self.FundAlignment_applica = QPushButton('Apply')
+        self.FundAlignment_applica.clicked.connect(self.disastro_solotmu)
+        self.trls4_storna = QPushButton('UNDO')
+        self.trls4_storna.clicked.connect(self.doppiodisastro_solotrls4)
+        self.trls8_storna = QPushButton('UNDO')
+        self.trls8_storna.clicked.connect(self.doppiodisastro_solotrls8)
+        self.trgE1_storna = QPushButton('UNDO')
+        self.trgE1_storna.clicked.connect(self.doppiodisastro_soloE1trg)
+        self.trgS1_storna = QPushButton('UNDO')
+        self.trgS1_storna.clicked.connect(self.doppiodisastro_soloS1trg)
+        self.trgE2_storna = QPushButton('UNDO')
+        self.trgE2_storna.clicked.connect(self.doppiodisastro_soloE2trg)
+        self.trgS2_storna = QPushButton('UNDO')
+        self.trgS2_storna.clicked.connect(self.doppiodisastro_soloS2trg)
+        self.FundAlignment_storna = QPushButton('UNDO')
+        self.FundAlignment_storna.clicked.connect(self.doppiodisastro_solotmu)
+        self.ripristina = QPushButton("Restore 0state")
+        self.ripristina.clicked.connect(self.ripristino)
+        self.applica = QPushButton("APPLY ALL")
         self.applica.clicked.connect(self.disastro)
         self.comenondetto = QPushButton("UNDO")
         self.comenondetto.clicked.connect(self.doppiodisastro)
-        lo_calcolo = QGridLayout()
-        lo_calcolo.addWidget(self.SLFELdelay_calcolato, 0, 0, 1, 1)
-        lo_calcolo.addWidget(self.SLUdelay_calcolato, 1, 0, 1, 1)
-        #lo_calcolo.addWidget(self.EOSdelay_calcolato, 2, 0, 1, 1)
-        lo_calcolo.addWidget(self.trls4_calcolato, 4, 0, 1, 1)
-        lo_calcolo.addWidget(self.trls8_calcolato, 5, 0, 1, 1)
-        lo_calcolo.addWidget(self.trgM1_calcolato, 6, 0, 1, 1)
-        lo_calcolo.addWidget(self.trgSDG1_calcolato, 7, 0, 1, 1)
-        lo_calcolo.addWidget(self.trgM2_calcolato, 8, 0, 1, 1)
-        lo_calcolo.addWidget(self.trgSDG2_calcolato, 9, 0, 1, 1)
-        lo_calcolo.addWidget(self.FundAlignment_calcolato, 10, 0, 1, 1)
-        lo_calcolo.addWidget(self.applica, 12, 0, 1, 1)
-        lo_calcolo.addWidget(self.comenondetto, 12, 0, 1, 1)
+        lo_centrale = QGridLayout()
+        lo_centrale.addWidget(self.scritta1, 0, 1)
+        lo_centrale.addWidget(self.scritta2, 0, 2)
+        lo_centrale.addWidget(self.scritta3, 0, 3)
+        lo_centrale.addWidget(self.trls4_state, 10, 0)
+        lo_centrale.addWidget(self.trls4_iniziale, 10, 1)
+        lo_centrale.addWidget(self.trls4_read, 10, 2)
+        lo_centrale.addWidget(self.trls4_calcolato, 10, 3)
+        lo_centrale.addWidget(self.trls4_applica, 10, 4)
+        lo_centrale.addWidget(self.trls4_storna, 10, 4)
+        lo_centrale.addWidget(self.trls8_state, 11, 0)
+        lo_centrale.addWidget(self.trls8_iniziale, 11, 1)
+        lo_centrale.addWidget(self.trls8_read, 11, 2)
+        lo_centrale.addWidget(self.trls8_calcolato, 11, 3)
+        lo_centrale.addWidget(self.trls8_applica, 11, 4)
+        lo_centrale.addWidget(self.trls8_storna, 11, 4)
+        lo_centrale.addWidget(self.trgE1_state, 12, 0)
+        lo_centrale.addWidget(self.trgE1_iniziale, 12, 1)
+        lo_centrale.addWidget(self.trgE1_read, 12, 2)
+        lo_centrale.addWidget(self.trgE1_calcolato, 12, 3)
+        lo_centrale.addWidget(self.trgE1_applica, 12, 4)
+        lo_centrale.addWidget(self.trgE1_storna, 12, 4)
+        lo_centrale.addWidget(self.trgS1_state, 13, 0)
+        lo_centrale.addWidget(self.trgS1_iniziale, 13, 1)
+        lo_centrale.addWidget(self.trgS1_read, 13, 2)
+        lo_centrale.addWidget(self.trgS1_calcolato, 13, 3)
+        lo_centrale.addWidget(self.trgS1_applica, 13, 4)
+        lo_centrale.addWidget(self.trgS1_storna, 13, 4)
+        lo_centrale.addWidget(self.trgE2_state, 14, 0)
+        lo_centrale.addWidget(self.trgE2_iniziale, 14, 1)
+        lo_centrale.addWidget(self.trgE2_read, 14, 2)
+        lo_centrale.addWidget(self.trgE2_calcolato, 14, 3)
+        lo_centrale.addWidget(self.trgE2_applica, 14, 4)
+        lo_centrale.addWidget(self.trgE2_storna, 14, 4)
+        lo_centrale.addWidget(self.trgS2_state, 15, 0)
+        lo_centrale.addWidget(self.trgS2_iniziale, 15, 1)
+        lo_centrale.addWidget(self.trgS2_read, 15, 2)
+        lo_centrale.addWidget(self.trgS2_calcolato, 15, 3)
+        lo_centrale.addWidget(self.trgS2_applica, 15, 4)
+        lo_centrale.addWidget(self.trgS2_storna, 15, 4)
+        lo_centrale.addWidget(self.FundAlignment_state, 16, 0)
+        lo_centrale.addWidget(self.FundAlignment_iniziale, 16, 1)
+        lo_centrale.addWidget(self.FundAlignment_read, 16, 2)
+        lo_centrale.addWidget(self.FundAlignment_calcolato, 16, 3)
+        lo_centrale.addWidget(self.FundAlignment_applica, 16, 4)
+        
+        lo_centrale.addWidget(self.ripristina, 20, 1)
+        lo_centrale.addWidget(self.applica, 20, 3)
+        lo_centrale.addWidget(self.comenondetto, 20, 3)
         self.comenondetto.hide()
-        self.gruppocalcolo.setLayout(lo_calcolo)
+        self.gruppocentrale.setLayout(lo_centrale)
+        #
+        self.gruppotrls5 = QGroupBox("Totem delay line")
+        self.trls5_tasto = QPushButton('panel')
+        self.trls5_tasto.clicked.connect(self.delaytotemapri)
+        self.trls5_read = QLineEdit('')
+        self.trls5_read.setReadOnly(1)
+        self.trls5_read.setStyleSheet("background-color: rgb(220, 220, 220)")
+        self.trls5_goto = QPushButton('GoTo:')
+        self.trls5_goto.clicked.connect(self.delaytotemgoto)
+        self.trls5_set = QLineEdit('')
+        self.trls5_b = QPushButton('<')
+        self.trls5_b.clicked.connect(self.dalaytotemmeno)
+        self.trls5_rel = QLineEdit('')
+        self.trls5_f = QPushButton('>')
+        self.trls5_f.clicked.connect(self.dalaytotempiu)
+        lo_trls5 = QGridLayout()
+        lo_trls5.addWidget(self.trls5_tasto, 0, 0)
+        lo_trls5.addWidget(self.trls5_read, 0, 1)
+        lo_trls5.addWidget(self.trls5_goto, 0, 2)
+        lo_trls5.addWidget(self.trls5_set, 0, 3)
+        lo_trls5.addWidget(self.trls5_b, 0, 4)
+        lo_trls5.addWidget(self.trls5_rel, 0, 5)
+        lo_trls5.addWidget(self.trls5_f, 0, 6)
+        self.gruppotrls5.setLayout(lo_trls5)
         #
         self.logbox = QListWidget()
-        self.logbox.setMaximumHeight(50)
-        #self.logbox.setFont(font_piccolo)
+        self.logbox.setMaximumHeight(80)
         lo_pannello = QGridLayout()
-        lo_pannello.addWidget(self.funzionamento, 0, 0, 1, 1)
-        lo_pannello.addWidget(self.selezione, 0, 1, 1, 2)
-        lo_pannello.addWidget(self.lanciasalvatrigger, 0, 3, 1, 1)
+        lo_pannello.addWidget(self.funzionamento, 0, 0)
+        lo_pannello.addWidget(self.selezione, 0, 1)
+        lo_pannello.addWidget(self.lanciasalvatrigger, 0, 3)
         lo_pannello.addWidget(self.gruppodeltat, 1, 0, 1, 3)
-        lo_pannello.addWidget(self.gruppobottoni, 1, 3, 1, 1)
-        lo_pannello.addWidget(self.gruppoiniziale, 2, 0, 1, 2)
-        lo_pannello.addWidget(self.gruppolettura, 2, 2, 1, 1)
-        lo_pannello.addWidget(self.gruppocalcolo, 2, 3, 1, 1)
-        lo_pannello.addWidget(self.logbox, 3, 0, 1, 4)
+        lo_pannello.addWidget(self.gruppobottoni, 1, 3)
+        lo_pannello.addWidget(self.gruppocentrale, 2, 0, 1, 4)
+        lo_pannello.addWidget(self.gruppotrls5, 3, 0, 1, 4)
+        lo_pannello.addWidget(self.logbox, 4, 0, 1, 4)
         self.setLayout(lo_pannello)
         self.show()
-        self.setWindowTitle("SLU EASY DELAY V3")
+        self.setWindowTitle("SLU EASY DELAY V4")
+        self.trls4_storna.hide()
+        self.trls8_storna.hide()
+        self.trgE1_storna.hide()
+        self.trgS1_storna.hide()
+        self.trgE2_storna.hide()
+        self.trgS2_storna.hide()
+        self.FundAlignment_storna.hide()
         #inizializzazione - lettura parametri
         try:
             self.zero_trls4 = devprodic["trls4"].Position[0]
             self.trls4_iniziale.setText(str(round(self.zero_trls4, 3)))
-            #print(self.zero_trls4)
         except:
             self.funzionamento.setText('!! FAULT !!')
             self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
@@ -309,43 +316,38 @@ class MainWindow(QDialog):
         try:
             self.zero_trls8 = devprodic["trls8"].Position[0]
             self.trls8_iniziale.setText(str(round(self.zero_trls8, 3)))
-            #print(self.zero_trls8)
         except:
             self.funzionamento.setText('!! FAULT !!')
             self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
             voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["trls8"]) + ' Position. check with atomic panel and launch this program again'
             self.logbox.insertItem(0, voce)
         try:
-            self.zero_trgSDG2 = devprodic["triggerSDG2"].command_inout('GetDelay', 2)*1000000000
-            self.trgSDG2_iniziale.setText(str(round(self.zero_trgSDG2, 1)))
-            #print(self.zero_trgSDG2)
+            self.zero_trgS2 = devprodic["triggerS2"].command_inout('GetDelay', 2)*1000000000
+            self.trgS2_iniziale.setText(str(round(self.zero_trgS2, 1)))
         except:
             self.funzionamento.setText('!! FAULT !!')
             self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
-            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerSDG2"]) + ' SDG2Delay. check with atomic panel and launch this program again'
+            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerS2"]) + ' S2Delay. check with atomic panel and launch this program again'
             self.logbox.insertItem(0, voce)
         try:
-            self.zero_trgSDG1 = devprodic["triggerSDG1"].command_inout('GetDelay', 2)*1000000000
-            self.trgSDG1_iniziale.setText(str(round(self.zero_trgSDG1, 1)))
-            #print(self.zero_trgSDG1)
+            self.zero_trgS1 = devprodic["triggerS1"].command_inout('GetDelay', 2)*1000000000
+            self.trgS1_iniziale.setText(str(round(self.zero_trgS1, 1)))
         except:
             self.funzionamento.setText('!! FAULT !!')
             self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
-            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerSDG1"]) + ' SDG1Delay. check with atomic panel and launch this program again'
+            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerS1"]) + ' S1Delay. check with atomic panel and launch this program again'
             self.logbox.insertItem(0, voce)
         try:
-            self.zero_trgM2 = devprodic["triggerEVR"].Chan2Delay
-            self.trgM2_iniziale.setText(str(round(self.zero_trgM2, 1)))
-            #print(self.zero_trgM2)
+            self.zero_trgE2 = devprodic["triggerEVR"].Chan2Delay
+            self.trgE2_iniziale.setText(str(round(self.zero_trgE2, 1)))
         except:
             self.funzionamento.setText('!! FAULT !!')
             self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
             voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerEVR"]) + ' Chan2Delay. check with atomic panel and launch this program again'
             self.logbox.insertItem(0, voce)
         try:
-            self.zero_trgM1 = devprodic["triggerEVR"].Chan1Delay
-            self.trgM1_iniziale.setText(str(round(self.zero_trgM1, 1)))
-            #print(self.zero_trgM1)
+            self.zero_trgE1 = devprodic["triggerEVR"].Chan1Delay
+            self.trgE1_iniziale.setText(str(round(self.zero_trgE1, 1)))
         except:
             self.funzionamento.setText('!! FAULT !!')
             self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
@@ -364,33 +366,24 @@ class MainWindow(QDialog):
                     self.zero_FundAlignment_corretto = 1
                 else:
                     self.zero_FundAlignment_corretto = 0
-            #print(self.zero_FundAlignment)
         except:
             self.funzionamento.setText('!! FAULT !!')
             self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
             voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["tmu"]) + ' PllFundAlignment. check with atomic panel and launch this program again'
             self.logbox.insertItem(0, voce)
-        # inizializzazione calcolo delay totale fel e slu
-        if (selettore >= 1 and selettore <= 4) or (selettore >= 5 and selettore <= 6): # elite1 x fel, elite2 x slu
-            self.FEL_tot = self.zero_trls4/1000 + int(self.zero_FundAlignment_corretto)*6.33753723 + self.zero_trls8/1000 + self.zero_trgM1 - zero_Fel1
-            self.SLU_tot = self.zero_trls4/1000 + int(self.zero_FundAlignment_corretto)*6.33753723 + self.zero_trgM2 + trlsSLUpos - zero_Slu
-            #self.EOS_tot = '#####' #self.trls4pos + self.read_values_trg_E2 + trlsEOS1pos - zero_Eos1
-            #print(self.zero_FundAlignment_corretto)
-        elif selettore >= 7 and selettore <= 11: # elite1 x slu, elite2 x fel
-            self.FEL_tot = self.zero_trls4/1000 + int(self.zero_FundAlignment_corretto)*6.33753723 + self.zero_trgM2 - zero_Fel2
-            self.SLU_tot = self.zero_trls4/1000 + int(self.zero_FundAlignment_corretto)*6.33753723 + self.zero_trls8/1000 + self.zero_trgM1 + trlsSLUpos - zero_Slu
-            #self.EOS_tot = '#####' #self.trls4pos + self.trls8pos + self.read_values_trg_E1 + trlsEOS2pos - zero_Eos2
-            #print(self.zero_FundAlignment_corretto)
-        else: # altro
-            if selettore < 1 or selettore > 11:
-                ret = QMessageBox.warning(None, 'UNKNOWN ACTIVITY', 'The calendar for SEED Laser has UNKONWN activity, correct the calendar and launch the program again')
-            self.FEL_tot = '#####'
-            self.SLU_tot = '#####'
-            #self.EOS_tot = '#####'
-            #print(self.zero_FundAlignment_corretto)
-        self.SLFELiniziale.setText(str(round(self.FEL_tot, 3)) + ' ns')
-        self.SLUiniziale.setText(str(round(self.SLU_tot, 3)) + ' ns')
-        #self.EOSiniziale.setText('#####')
+#        # inizializzazione calcolo delay totale fel e slu
+#        if (selettore >= 1 and selettore <= 4) or (selettore >= 5 and selettore <= 6): # elite1 x fel, elite2 x slu
+#            self.FEL_tot = self.zero_trls4/1000 + int(self.zero_FundAlignment_corretto)*6.33753723 + self.zero_trls8/1000 + self.zero_trgE1 - zero_Fel1
+#            self.SLU_tot = self.zero_trls4/1000 + int(self.zero_FundAlignment_corretto)*6.33753723 + self.zero_trgE2 + trlsSLUpos - zero_Slu
+#        elif selettore >= 7 and selettore <= 11: # elite1 x slu, elite2 x fel
+#            self.FEL_tot = self.zero_trls4/1000 + int(self.zero_FundAlignment_corretto)*6.33753723 + self.zero_trgE2 - zero_Fel2
+#            self.SLU_tot = self.zero_trls4/1000 + int(self.zero_FundAlignment_corretto)*6.33753723 + self.zero_trls8/1000 + self.zero_trgE1 + trlsSLUpos - zero_Slu
+#        else: # altro
+#            if selettore < 1 or selettore > 11:
+#                ret = QMessageBox.warning(None, 'UNKNOWN ACTIVITY', 'The calendar for SEED Laser has UNKONWN activity, correct the calendar and launch the program again')
+#            self.FEL_tot = '#####'
+#            self.SLU_tot = '#####'
+        ret = QMessageBox.warning(None, 'Speak with them, please', 'You are going to move the laser delay, please notify to control room.')
         #timer
         self.timer = QBasicTimer()
         self.timer.start(500, self)
@@ -442,24 +435,26 @@ class MainWindow(QDialog):
             voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["trls8"]) + ' State and Position. fix the problem and procede'
             self.logbox.insertItem(0, voce)
         try:
-            self.read_values_trg_SDG2 = devprodic["triggerSDG2"].command_inout('GetDelay', 2)*1000000000
+            self.read_values_trg_S2_state = str(devprodic["triggerS2"].State())
+            self.read_values_trg_S2_delay = devprodic["triggerS2"].command_inout('GetDelay', 2)*1000000000
         except:
             self.funzionamento.setText('!! FAULT !!')
             self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
-            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerSDG2"]) + ' SDG2Delay. check with atomic panel and launch this program again'
+            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerS2"]) + ' S2Delay. check with atomic panel and launch this program again'
             self.logbox.insertItem(0, voce)
         try:
-            self.read_values_trg_SDG1 = devprodic["triggerSDG1"].command_inout('GetDelay', 2)*1000000000
+            self.read_values_trg_S1_state = str(devprodic["triggerS1"].State())
+            self.read_values_trg_S1_delay = devprodic["triggerS1"].command_inout('GetDelay', 2)*1000000000
         except:
             self.funzionamento.setText('!! FAULT !!')
             self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
-            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerSDG1"]) + ' SDG1Delay. check with atomic panel and launch this program again'
+            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerS1"]) + ' S1Delay. check with atomic panel and launch this program again'
             self.logbox.insertItem(0, voce)
         try:
             tmp = devprodic["triggerEVR"].read_attributes(['State', 'Chan1Delay', 'Chan2Delay'])
             self.read_values_trg_state = str(tmp[0].value)
-            self.read_values_trg_E1 = tmp[1].value
-            self.read_values_trg_E2 = tmp[2].value
+            self.read_values_trg_E1_delay = tmp[1].value
+            self.read_values_trg_E2_delay = tmp[2].value
         except:
             self.funzionamento.setText('!! FAULT !!')
             self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
@@ -501,18 +496,32 @@ class MainWindow(QDialog):
         ##calcolo delay cumulativi###
         self.trls4pos = self.read_values_trls4_position/1000 + int(self.read_values_FundAlignment_corretto)*6.33753723
         self.trls8pos = self.read_values_trls8_position/1000
-        if (selettore >= 1 and selettore <= 4) or (selettore >= 5 and selettore <= 6): # elite1 x fel, elite2 x slu
-            self.FEL_tot = self.trls4pos + self.trls8pos + self.read_values_trg_E1 - zero_Fel1
-            self.SLU_tot = self.trls4pos + self.read_values_trg_E2 + trlsSLUpos - zero_Slu
-            #self.EOS_tot = '#####' #self.trls4pos + self.read_values_trg_E2 + trlsEOS1pos - zero_Eos1
-        elif selettore >= 7 and selettore <= 11: # elite1 x slu, elite2 x fel
-            self.FEL_tot = self.trls4pos + self.read_values_trg_E2 - zero_Fel2
-            self.SLU_tot = self.trls4pos + self.trls8pos + self.read_values_trg_E1 + trlsSLUpos - zero_Slu
-            #self.EOS_tot = '#####' #self.trls4pos + self.trls8pos + self.read_values_trg_E1 + trlsEOS2pos - zero_Eos2
-        else: # altro
-            self.FEL_tot = '#####'
-            self.SLU_tot = '#####'
-            #self.EOS_tot = '#####'
+#        if (selettore >= 1 and selettore <= 4) or (selettore >= 5 and selettore <= 6): # elite1 x fel, elite2 x slu
+#            self.FEL_tot = self.trls4pos + self.trls8pos + self.read_values_trg_E1 - zero_Fel1
+#            self.SLU_tot = self.trls4pos + self.read_values_trg_E2 + trlsSLUpos - zero_Slu
+#        elif selettore >= 7 and selettore <= 11: # elite1 x slu, elite2 x fel
+#            self.FEL_tot = self.trls4pos + self.read_values_trg_E2 - zero_Fel2
+#            self.SLU_tot = self.trls4pos + self.trls8pos + self.read_values_trg_E1 + trlsSLUpos - zero_Slu
+#        else: # altro
+#            self.FEL_tot = '#####'
+#            self.SLU_tot = '#####'
+        try:
+            tmp = devprodic["totemdelay"].read_attributes(['State', 'Position'])
+            if str(tmp[0].value) == 'ON' or str(tmp[0].value) == 'RUNNING':
+                self.trls5_tasto.setStyleSheet("background-color: rgb(0, 255, 0)")
+            elif str(tmp[0].value) == 'MOVING':
+                self.trls5_tasto.setStyleSheet("background-color: rgb(0, 0, 255)")
+            elif str(tmp[0].value) == 'FAULT' or str(tmp[0].value) == 'ALARM':
+                self.trls5_tasto.setStyleSheet("background-color: rgb(255, 0, 0)")
+            else:
+                self.trls5_tasto.setStyleSheet("background-color: rgb(150, 150, 150)")
+            self.trls5_read.setText(str(round(tmp[1].value, 3)))
+        except:
+            self.funzionamento.setText('!! FAULT !!')
+            self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
+            self.trls5_read.setText('#####')
+            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["totemdelay"]) + ' State and Position. fix the problem and procede'
+            self.logbox.insertItem(0, voce)
         ###aggiornamento pannello###
         if self.read_values_trls4_state == "ON" or self.read_values_trls4_state == "RUNNING":
             self.trls4_state.setStyleSheet("background-color: rgb(0, 255, 0)")
@@ -530,18 +539,42 @@ class MainWindow(QDialog):
             self.trls8_state.setStyleSheet("background-color: rgb(255, 0, 0)")
         else:
             self.trls8_state.setStyleSheet("background-color: rgb(150, 150, 150)")
+        if self.read_values_trg_S1_state == "ON" or self.read_values_trg_S1_state == "RUNNING":
+            self.trgS1_state.setStyleSheet("background-color: rgb(0, 255, 0)")
+            self.trgS1_state.setStyleSheet("background-color: rgb(0, 255, 0)")
+        elif self.read_values_trg_S1_state == "MOVING":
+            self.trgS1_state.setStyleSheet("background-color: rgb(0, 0, 255)")
+            self.trgS1_state.setStyleSheet("background-color: rgb(0, 0, 255)")
+        elif self.read_values_trg_S1_state == "FAULT" or self.read_values_trg_S1_state == "ALARM":
+            self.trgS1_state.setStyleSheet("background-color: rgb(255, 0, 0)")
+            self.trgS1_state.setStyleSheet("background-color: rgb(255, 0, 0)")
+        else:
+            self.trgS2_state.setStyleSheet("background-color: rgb(150, 150, 150)")
+            self.trgS2_state.setStyleSheet("background-color: rgb(150, 150, 150)")
+        if self.read_values_trg_S2_state == "ON" or self.read_values_trg_S2_state == "RUNNING":
+            self.trgS2_state.setStyleSheet("background-color: rgb(0, 255, 0)")
+            self.trgS2_state.setStyleSheet("background-color: rgb(0, 255, 0)")
+        elif self.read_values_trg_S2_state == "MOVING":
+            self.trgS2_state.setStyleSheet("background-color: rgb(0, 0, 255)")
+            self.trgS2_state.setStyleSheet("background-color: rgb(0, 0, 255)")
+        elif self.read_values_trg_S2_state == "FAULT" or self.read_values_trg_S2_state == "ALARM":
+            self.trgS2_state.setStyleSheet("background-color: rgb(255, 0, 0)")
+            self.trgS2_state.setStyleSheet("background-color: rgb(255, 0, 0)")
+        else:
+            self.trgS2_state.setStyleSheet("background-color: rgb(150, 150, 150)")
+            self.trgS2_state.setStyleSheet("background-color: rgb(150, 150, 150)")
         if self.read_values_trg_state == "ON" or self.read_values_trg_state == "RUNNING":
-            self.trg1_state.setStyleSheet("background-color: rgb(0, 255, 0)")
-            self.trg2_state.setStyleSheet("background-color: rgb(0, 255, 0)")
+            self.trgE1_state.setStyleSheet("background-color: rgb(0, 255, 0)")
+            self.trgE2_state.setStyleSheet("background-color: rgb(0, 255, 0)")
         elif self.read_values_trg_state == "MOVING":
-            self.trg1_state.setStyleSheet("background-color: rgb(0, 0, 255)")
-            self.trg2_state.setStyleSheet("background-color: rgb(0, 0, 255)")
+            self.trgE1_state.setStyleSheet("background-color: rgb(0, 0, 255)")
+            self.trgE2_state.setStyleSheet("background-color: rgb(0, 0, 255)")
         elif self.read_values_trg_state == "FAULT" or self.read_values_trg_state == "ALARM":
-            self.trg1_state.setStyleSheet("background-color: rgb(255, 0, 0)")
-            self.trg2_state.setStyleSheet("background-color: rgb(255, 0, 0)")
+            self.trgE1_state.setStyleSheet("background-color: rgb(255, 0, 0)")
+            self.trgE2_state.setStyleSheet("background-color: rgb(255, 0, 0)")
         else:
-            self.trg1_state.setStyleSheet("background-color: rgb(150, 150, 150)")
-            self.trg2_state.setStyleSheet("background-color: rgb(150, 150, 150)")
+            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')
@@ -577,146 +610,14 @@ class MainWindow(QDialog):
             self.FundAlignment_state.setStyleSheet("background-color: rgb(255, 0, 0)")
         self.trls4_read.setText(str(round(self.read_values_trls4_position, 3)) + " ps")
         self.trls8_read.setText(str(round(self.read_values_trls8_position, 3)) + " ps")
-        self.trgM1_read.setText(str(round(self.read_values_trg_E1, 3)) + " ns")
-        self.trgM2_read.setText(str(round(self.read_values_trg_E2, 3)) + " ns")
-        self.trgSDG1_read.setText(str(round(self.read_values_trg_SDG1, 3)) + " ns")
-        self.trgSDG2_read.setText(str(round(self.read_values_trg_SDG2, 3)) + " ns")
+        self.trgE1_read.setText(str(round(self.read_values_trg_E1_delay, 3)) + " ns")
+        self.trgE2_read.setText(str(round(self.read_values_trg_E2_delay, 3)) + " ns")
+        self.trgS1_read.setText(str(round(self.read_values_trg_S1_delay, 3)) + " ns")
+        self.trgS2_read.setText(str(round(self.read_values_trg_S2_delay, 3)) + " ns")
         self.FundAlignment_read.setText(str(self.read_values_FundAlignment))
-        self.SLFELdelay.setText(str(round(self.FEL_tot, 3)) + ' ns')
-        self.SLUdelay.setText(str(round(self.SLU_tot, 3)) + ' ns')
-        #self.EOSdelay.setText('#####')
         pass
 
-    def calcola1(self): # muovi SLFEL
-        print('>>>> SLFEL >>>>')
-        ###verifica validita input###
-        test = str(self.SLFELdelta_t.text().replace(',','.').replace('.','').replace(' ','').replace('ns','').replace('-',''))
-        if test.isdigit(): #verifico se input corretto
-            delta_t = float(self.SLFELdelta_t.text().replace(',','.').replace(' ','').replace('ns',''))
-            print('richiesta ' + str(delta_t))
-        else:
-            print('SL delay not a number')
-            return 
-        ###calcolo###
-        if (selettore >= 1 and selettore <= 4) or (selettore >= 5 and selettore <= 6): # elite1 x fel, elite2 x slu 
-            print('elite1 x fel, elite2 x slu')
-            # divido delta_t in trg e resto
-            resto = (delta_t/12.675074466 - int(delta_t/12.675074466))*12.675074466 #ns, avanzo da dare in pasto ai traslatori
-            trg_e1_tmp = self.read_values_trg_E1 + int(delta_t/12.675074466)*12.675074466 #valore tmp, perche potrebbe cambiare di 1 cilclo per via dei traslatori
-            # valuto corsa disponibile sulla slitta, se delta_t oltre i limiti agisco ancora sul trigger
-            if self.trls8pos + resto >= -6.6 and self.trls8pos + resto <= 6.6:
-                print("caso 1: entro i limiti")
-                self.trls8calc = self.trls8pos + resto
-                self.trg_elite1calc = trg_e1_tmp
-            elif self.trls8pos + resto < -6.6:
-                print("caso 2: sotto i limiti")
-                self.trls8calc = self.trls8pos + resto + 12.675074466
-                self.trg_elite1calc = trg_e1_tmp - 12.675074466
-            elif self.trls8pos + resto > 6.6:
-                print("caso 3: sopra i limiti")
-                self.trls8calc = self.trls8pos + resto - 12.675074466
-                self.trg_elite1calc = trg_e1_tmp + 12.675074466
-            self.trg_elite2calc = self.read_values_trg_E2
-            self.trls4calc = self.trls4pos
-            # ricalcolo i delay per controllo
-            self.slfelcal = self.trls4calc + self.trls8calc + self.trg_elite1calc - zero_Fel1
-            self.slucal = self.trls4calc + self.trg_elite2calc + trlsSLUpos - zero_Slu
-            # valuto spostamento SDG
-            discriminante_ampli1 = int(3.3 + self.trls4calc + 6.6 + self.trls8calc)
-            print('discriminante_ampli1 = int(3.3 + ' + str(self.trls4calc) + ' + 6.6 + ' + str(self.trls8calc) + ') = ' +  str(discriminante_ampli1))
-            discriminante_ampli2 = int(3.3 + self.trls4calc)
-            print('discriminante_ampli1 = int(3.3 + ' + str(self.trls4calc) + ') = ' + str(discriminante_ampli2))
-            self.trg_SDG1calc = deltasdg1 + discriminante_ampli1
-            self.trg_SDG2calc = deltasdg2 + discriminante_ampli2
-        elif selettore >= 7 and selettore <= 11: # elite1 x slu, elite2 x fel
-            print('elite1 x slu, elite2 x fel')
-            resto = (delta_t/12.675074466 - int(delta_t/12.675074466))*12.675074466 #ns, avanzo da dare in pasto ai traslatori
-            trg_e2_tmp = self.read_values_trg_E2 + int(delta_t/12.675074466)*12.675074466#valore tmp, perche potrebbe cambiare di 1 cilclo per via dei traslatori
-            # valuto corsa disponibile sulla slitta, se delta_t oltre i limiti agisco ancora sul trigger
-            if self.trls4pos + resto >= -3.168768615 and self.trls4pos + resto <= 9.6:
-                print("caso 1: trls4 entro i limiti")
-                self.trls4calc = self.trls4pos + resto
-                self.trls8calc = self.trls8pos + (self.trls4pos - self.trls4calc)
-                self.trg_elite2calc = trg_e2_tmp
-                self.trg_elite1calc = self.read_values_trg_E1
-            elif self.trls4pos + resto < -3.168768615:
-                print("caso 2: trls4 sotto i limiti")
-                self.trls4calc = self.trls4pos + resto + 12.675074466
-                self.trls8calc = self.trls8pos + (self.trls4pos - self.trls4calc)
-                self.trg_elite2calc = trg_e2_tmp - 12.675074466
-                self.trg_elite1calc = self.read_values_trg_E1
-            elif self.trls8pos + resto > 9.6:
-                print("caso 3: trls4 sopra i limiti")
-                self.trls4calc = self.trls4pos + resto - 12.675074466
-                self.trls8calc = self.trls8pos + (self.trls4pos - self.trls4calc)
-                self.trg_elite2calc = trg_e2_tmp + 12.675074466
-                self.trg_elite1calc = self.read_values_trg_E1
-            if self.trls8calc >= -6.6 and self.trls8calc <= 6.6:
-                print("caso 1: trls8 entro i limiti")
-                self.trls8calc = self.trls8calc
-            elif self.trls8calc < -6.6:
-                print("caso 2: trls8 sotto i limiti")
-                self.trls8calc = self.trls8calc + 12.675074466
-                self.trg_elite1calc = self.trg_elite1calc - 12.675074466
-            elif self.trls8calc > 6.6:
-                print("caso 3: trls8 sopra i limiti")
-                self.trls8calc = self.trls8calc - 12.675074466
-                self.trg_elite1calc = self.trg_elite1calc + 12.675074466
-            # ricalcolo i delay per controllo
-            self.slfelcal = self.trls4calc + self.trg_elite2calc - zero_Fel2
-            self.slucal = self.trls4calc + self.trls8calc + self.trg_elite1calc + trlsSLUpos - zero_Slu
-            # valuto spostamento SDG
-            discriminante_ampli1 = int(3.3 + self.trls4calc + 6.6 + self.trls8calc)
-            print('discriminante_ampli1 = int(3.3 + ' + str(self.trls4calc) + ' + 6.6 + ' + str(self.trls8calc) + ') = ' +  str(discriminante_ampli1))
-            discriminante_ampli2 = int(3.3 + self.trls4calc)
-            print('discriminante_ampli1 = int(3.3 + ' + str(self.trls4calc) + ') = ' + str(discriminante_ampli2))
-            self.trg_SDG1calc = deltasdg1 + discriminante_ampli1
-            self.trg_SDG2calc = deltasdg2 + discriminante_ampli2
-        else: # altro
-            print('no')
-            self.slfelcal = 'ERROR'
-            self.slucal = 'ERROR'
-            self.trls4calc = 'ERROR'
-            self.trls8calc = 'ERROR'
-            self.trg_elite1calc = 'ERROR'
-            self.trg_elite2calc = 'ERROR'
-            self.trg_SDG1calc = 'ERROR'
-            self.trg_SDG2calc = 'ERROR'
-        ###aggiornamento pannello###
-        self.SLFELdelay_calcolato.setText(str(round(self.slfelcal, 3)) + ' ns')
-        self.SLUdelay_calcolato.setText(str(round(self.slucal, 3)) + ' ns')
-        self.trls4_calcolato.setText(str(round(self.trls4calc*1000, 3)) + ' ps')
-        self.trls8_calcolato.setText(str(round(self.trls8calc*1000, 3)) + ' ps')
-        self.trgM1_calcolato.setText(str(round(self.trg_elite1calc, 3)) + ' ns')
-        self.trgM2_calcolato.setText(str(round(self.trg_elite2calc, 3)) + ' ns')
-        self.trgSDG1_calcolato.setText(str(round(self.trg_SDG1calc, 3)) + ' ns')
-        self.trgSDG2_calcolato.setText(str(round(self.trg_SDG2calc, 3)) + ' ns')
-        if self.trls4calc > 3.168768615 and self.tmu79 >= 1:
-            self.trls4_calcolato.setText(str(round((self.trls4calc - int(self.tmu79)*6.33753723)*1000, 3)) + ' ps')
-            self.fase79_calcolato.setStyleSheet("background-color: rgb(0, 255, 0)")
-            self.fase79_calcolato.setText(' > 1 ')
-            self.fase79_shift = False
-        elif self.trls4calc > 3.168768615 and self.tmu79 <= 1:
-            self.trls4_calcolato.setText(str(round((self.trls4calc - int(self.tmu79)*6.33753723)*1000, 3)) + ' ps')
-            self.fase79_calcolato.setStyleSheet("background-color: rgb(255, 0, 0)")
-            self.fase79_calcolato.setText(' > 1 ')
-            self.fase79_shift = True
-        elif self.trls4calc < 3.168768615 and self.tmu79 >= 1:
-            self.fase79_calcolato.setStyleSheet("background-color: rgb(255, 0, 0)")
-            self.fase79_calcolato.setText(' < 1 ')
-            self.fase79_shift = True
-        elif self.trls4calc < 3.168768615 and self.tmu79 <= 1:
-            self.fase79_calcolato.setStyleSheet("background-color: rgb(0, 255, 0)")
-            self.fase79_calcolato.setText(' < 1 ')
-            self.fase79_shift = False
-        else:
-            self.fase79_calcolato.setStyleSheet("background-color: rgb(180, 180, 180)")
-            self.fase79_calcolato.setText('####')
-            self.fase79_shift = False
-        self.applica.show()
-        self.comenondetto.hide()
-
-    def calcola2(self): # muovi SLU
+    def calcola(self): # muovi SLU
         print('>>>> SLU >>>>')
         ###verifica validita input###
         test = str(self.SLUdelta_t.text().replace(',','.').replace('.','').replace(' ','').replace('ns','').replace('-',''))
@@ -730,26 +631,26 @@ class MainWindow(QDialog):
         if (selettore >= 1 and selettore <= 4) or (selettore >= 5 and selettore <= 6): # elite1 x fel, elite2 x slu 
             print('elite1 x fel, elite2 x slu')
             resto = (delta_t/12.675074466 - int(delta_t/12.675074466))*12.675074466 #ns, avanzo da dare in pasto ai traslatori
-            trg_e2_tmp = self.read_values_trg_E2 + int(delta_t/12.675074466)*12.675074466 #valore tmp, perche potrebbe cambiare di 1 cilclo per via dei traslatori
+            trg_e2_tmp = self.read_values_trg_E2_delay + int(delta_t/12.675074466)*12.675074466 #valore tmp, perche potrebbe cambiare di 1 cilclo per via dei traslatori
             # valuto corsa disponibile sulla slitta, se delta_t oltre i limiti agisco ancora sul trigger
             if self.trls4pos + resto >= -3.168768615 and self.trls4pos + resto <= 9.6:
                 print("caso 1: trls4 entro i limiti")
                 self.trls4calc = self.trls4pos + resto
                 self.trls8calc = self.trls8pos + (self.trls4pos - self.trls4calc)
                 self.trg_elite2calc = trg_e2_tmp
-                self.trg_elite1calc = self.read_values_trg_E1
+                self.trg_elite1calc = self.read_values_trg_E1_delay
             elif self.trls4pos + resto < -3.168768615:
                 print("caso 2: trls4 sotto i limiti")
                 self.trls4calc = self.trls4pos + resto + 12.675074466
                 self.trls8calc = self.trls8pos + (self.trls4pos - self.trls4calc)
                 self.trg_elite2calc = trg_e2_tmp - 12.675074466
-                self.trg_elite1calc = self.read_values_trg_E1
+                self.trg_elite1calc = self.read_values_trg_E1_delay
             elif self.trls4pos + resto > 9.6:
                 print("caso 3: trls4 sopra i limiti")
                 self.trls4calc = self.trls4pos + resto - 12.675074466
                 self.trls8calc = self.trls8pos + (self.trls4pos - self.trls4calc)
                 self.trg_elite2calc = trg_e2_tmp + 12.675074466
-                self.trg_elite1calc = self.read_values_trg_E1
+                self.trg_elite1calc = self.read_values_trg_E1_delay
             if self.trls8calc >= -6.6 and self.trls8calc <= 6.6:
                 print("caso 1: trls8 entro i limiti")
                 self.trls8calc = self.trls8calc
@@ -769,8 +670,8 @@ class MainWindow(QDialog):
             print('discriminante_ampli1 = int(3.3 + ' + str(self.trls4calc) + ' + 6.6 + ' + str(self.trls8calc) + ') = ' +  str(discriminante_ampli1))
             discriminante_ampli2 = int(3.3 + self.trls4calc)
             print('discriminante_ampli1 = int(3.3 + ' + str(self.trls4calc) + ') = ' + str(discriminante_ampli2))
-            self.trg_SDG1calc = deltasdg1 + discriminante_ampli1
-            self.trg_SDG2calc = deltasdg2 + discriminante_ampli2
+            self.trg_S1calc = deltaS1 + discriminante_ampli1
+            self.trg_S2calc = deltaS2 + discriminante_ampli2
         elif selettore >= 7 and selettore <= 11: # elite1 x slu, elite2 x fel 
             print('elite1 x slu, elite2 x fel')
             resto = (delta_t/12.675074466 - int(delta_t/12.675074466))*12.675074466 #ns, avanzo da dare in pasto ai traslatori
@@ -788,7 +689,7 @@ class MainWindow(QDialog):
                 print("caso 3: trls8 sopra i limiti")
                 self.trls8calc = self.trls8pos + resto - 12.675074466
                 self.trg_elite1calc = trg_e1_tmp + 12.675074466
-            self.trg_elite2calc = self.read_values_trg_E2
+            self.trg_elite2calc = self.read_values_trg_E2_delay
             self.trls4calc = self.trls4pos
             # ricalcolo i delay per controllo
             self.slfelcal = self.trls4calc + self.trg_elite2calc - zero_Fel2
@@ -798,49 +699,47 @@ class MainWindow(QDialog):
             print('discriminante_ampli1 = int(3.3 + ' + str(self.trls4calc) + ' + 6.6 + ' + str(self.trls8calc) + ') = ' +  str(discriminante_ampli1))
             discriminante_ampli2 = int(3.3 + self.trls4calc)
             print('discriminante_ampli1 = int(3.3 + ' + str(self.trls4calc) + ') = ' + str(discriminante_ampli2))
-            self.trg_SDG1calc = deltasdg1 + discriminante_ampli1
-            self.trg_SDG2calc = deltasdg2 + discriminante_ampli2
+            self.trg_S1calc = deltaS1 + discriminante_ampli1
+            self.trg_S2calc = deltaS2 + discriminante_ampli2
         else: # altro
             print('no')
             self.slfelcal = 'ERROR'
             self.slucal = 'ERROR'
             self.trls4calc = 'ERROR'
             self.trls8calc = 'ERROR'
-            self.trg_elite1calc = 'ERROR'
-            self.trg_elite2calc = 'ERROR'
-            self.trg_SDG1calc = 'ERROR'
-            self.trg_SDG2calc = 'ERROR'
+            self.trg_E1calc = 'ERROR'
+            self.trg_E2calc = 'ERROR'
+            self.trg_S1calc = 'ERROR'
+            self.trg_S2calc = 'ERROR'
         # popolo il pannello di numeri
-        self.SLFELdelay_calcolato.setText(str(round(self.slfelcal, 3)) + ' ns')
-        self.SLUdelay_calcolato.setText(str(round(self.slucal, 3)) + ' ns')
         self.trls4_calcolato.setText(str(round(self.trls4calc*1000, 3)) + ' ps')
         self.trls8_calcolato.setText(str(round(self.trls8calc*1000, 3)) + ' ps')
-        self.trgM1_calcolato.setText(str(round(self.trg_elite1calc, 3)) + ' ns')
-        self.trgM2_calcolato.setText(str(round(self.trg_elite2calc, 3)) + ' ns')
-        self.trgSDG1_calcolato.setText(str(round(self.trg_SDG1calc, 3)) + ' ns')
-        self.trgSDG2_calcolato.setText(str(round(self.trg_SDG2calc, 3)) + ' ns')
+        self.trgE1_calcolato.setText(str(round(self.trg_elite1calc, 3)) + ' ns')
+        self.trgE2_calcolato.setText(str(round(self.trg_elite2calc, 3)) + ' ns')
+        self.trgS1_calcolato.setText(str(round(self.trg_S1calc, 3)) + ' ns')
+        self.trgS2_calcolato.setText(str(round(self.trg_S2calc, 3)) + ' ns')
         if self.trls4calc > 3.168768615 and self.read_values_FundAlignment_corretto == 1:
             self.trls4calc = self.trls4calc - 6.33753723
             self.FundAlignment_calc = 1
             self.trls4_calcolato.setText(str(round(self.trls4calc*1000, 3)) + ' ps')
-            self.FundAlignment_calcolato.setStyleSheet("background-color: rgb(0, 255, 0)")
+#            self.FundAlignment_calcolato.setStyleSheet("background-color: rgb(0, 255, 0)")
             self.FundAlignment_calcolato.setText(str(self.FundAlignment_calc))
             self.FundAlignment_shift = False
         elif self.trls4calc > 3.168768615 and self.read_values_FundAlignment_corretto == 0:
             self.trls4calc = self.trls4calc - 6.33753723
             self.FundAlignment_calc = 1
             self.trls4_calcolato.setText(str(round(self.trls4calc*1000, 3)) + ' ps')
-            self.FundAlignment_calcolato.setStyleSheet("background-color: rgb(255, 0, 0)")
+            self.FundAlignment_calcolato.setStyleSheet("background-color: rgb(230, 230, 0)")
             self.FundAlignment_calcolato.setText(str(self.FundAlignment_calc))
             self.FundAlignment_shift = True
         elif self.trls4calc < 3.168768615 and self.read_values_FundAlignment_corretto == 1:
             self.FundAlignment_calc = -1
-            self.FundAlignment_calcolato.setStyleSheet("background-color: rgb(255, 0, 0)")
+            self.FundAlignment_calcolato.setStyleSheet("background-color: rgb(230, 230, 0)")
             self.FundAlignment_calcolato.setText(str(self.FundAlignment_calc))
             self.FundAlignment_shift = True
         elif self.trls4calc < 3.168768615 and self.read_values_FundAlignment_corretto == 0:
             self.FundAlignment_calc = -1
-            self.FundAlignment_calcolato.setStyleSheet("background-color: rgb(0, 255, 0)")
+#            self.FundAlignment_calcolato.setStyleSheet("background-color: rgb(0, 255, 0)")
             self.FundAlignment_calcolato.setText(str(self.FundAlignment_calc))
             self.FundAlignment_shift = False
         else:
@@ -856,9 +755,279 @@ class MainWindow(QDialog):
         else: 
             self.trls8_calcolato.setStyleSheet("background-color: rgb(255, 255, 255)")
         self.applica.show()
+        self.trls4_applica.show()
+        self.trls8_applica.show()
+        self.trgE1_applica.show()
+        self.trgS1_applica.show()
+        self.trgE2_applica.show()
+        self.trgS2_applica.show()
+        self.FundAlignment_applica.show()
         self.comenondetto.hide()
+        self.trls4_storna.hide()
+        self.trls8_storna.hide()
+        self.trgE1_storna.hide()
+        self.trgS1_storna.hide()
+        self.trgE2_storna.hide()
+        self.trgS2_storna.hide()
+        self.FundAlignment_storna.hide()
+
+    def disastro_solotrls4(self):
+        try:
+            self.trls4_old = devprodic["trls4"].Position[0]
+            procedi = True
+        except:
+            self.funzionamento.setText('!! FAULT !!')
+            self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
+            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["trls4"]) + ' Position.'
+            self.logbox.insertItem(0, voce)
+            procedi = False
+        if procedi:
+            self.comandifalliti = 0
+            try:
+                devprodic["trls4"].write_attribute("Position", [float(self.trls4calc*1000)])
+            except:
+                voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls4"]) + ' while write_attribute("Position", [' + str(self.trls4calc*1000) + '])'
+                self.logbox.insertItem(0, voce)
+                self.comandifalliti = 1
+        if self.comandifalliti < 1:
+            self.trls4_applica.hide()
+            self.trls4_storna.show()
+
+    def doppiodisastro_solotrls4(self):
+        devprodic["trls4"].write_attribute("Position", [self.trls4_old])
+        self.trls4_applica.show()
+        self.trls4_storna.hide()
+
+    def disastro_solotrls8(self):
+        try:
+            self.trls8_old = devprodic["trls8"].Position[0]
+            procedi = True
+        except:
+            self.funzionamento.setText('!! FAULT !!')
+            self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
+            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["trls8"]) + ' Position.'
+            self.logbox.insertItem(0, voce)
+            procedi = False
+        if procedi:
+            self.comandifalliti = 0
+            try:
+                devprodic["trls8"].write_attribute("Position", [float(self.trls8calc*1000)])
+            except:
+                voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls8"]) + ' while write_attribute("Position", [' + str(self.trls8calc*1000) + '])'
+                self.logbox.insertItem(0, voce)
+                self.comandifalliti = 1
+        if self.comandifalliti < 1:
+            self.trls8_applica.hide()
+            self.trls8_storna.show()
+
+    def doppiodisastro_solotrls8(self):
+        devprodic["trls8"].write_attribute("Position", [self.trls8_old])
+        self.trls8_applica.show()
+        self.trls8_storna.hide()
+        
+    def disastro_solotmu(self):
+        try:
+            self.FundAlignment_old = devprodic["tmu"].PllFundAlignment
+            procedi = True
+        except:
+            self.funzionamento.setText('!! FAULT !!')
+            self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
+            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["tmu"]) + ' PllFundAlignment.'
+            self.logbox.insertItem(0, voce)
+            procedi = False
+        if procedi:
+            self.comandifalliti = 0
+            if self.FundAlignment_shift and self.FundAlignment_calc >= 1:
+                try:
+                    devprodic["tmu"].write_attribute("PllFundAlignment", 1)
+                except:
+                    voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while write_attribute("PllFundAlignment", 1)'
+                    self.logbox.insertItem(0, voce)
+                    self.comandifalliti = 1
+                self.faseperallarmi = 1.5
+                try:
+                    tmp = devprodic["tmu"].get_attribute_config_ex("PllFundPhaseVolt")
+                    tmp[0].alarms.min_alarm = str(self.faseperallarmi - 0.5)
+                    tmp[0].alarms.max_alarm = str(self.faseperallarmi + 0.5)
+                    devprodic["tmu"].set_attribute_config(tmp)
+                except:
+                    voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while the script set alarm threshold [1.0, 2.0] for attribute PllFundPhaseVolt'
+                    self.logbox.insertItem(0, voce)
+                    self.comandifalliti = 1
+            elif self.FundAlignment_shift and self.FundAlignment_calc < 1:
+                try:
+                    devprodic["tmu"].write_attribute("PllFundAlignment", -1)
+                except:
+                    voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while write_attribute("PllFundAlignment", -1)'
+                    self.logbox.insertItem(0, voce)
+                    self.comandifalliti = 1
+                self.faseperallarmi = 0.5
+                try:
+                    tmp = devprodic["tmu"].get_attribute_config_ex('PllFundPhaseVolt')
+                    tmp[0].alarms.min_alarm = str(self.faseperallarmi - 0.5)
+                    tmp[0].alarms.max_alarm = str(self.faseperallarmi + 0.5)
+                    devprodic["tmu"].set_attribute_config(tmp)
+                except:
+                    voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while the script set alarm threshold [0.0, 1.0] for attribute PllFundPhaseVolt'
+                    self.logbox.insertItem(0, voce)
+                    self.comandifalliti = 1
+            else:
+                print('FundAlignment no shift')
+        if self.comandifalliti < 1:
+            self.FundAlignment_applica.hide()
+            self.FundAlignment_storna.show()
+
+    def doppiodisastro_solotmu(self):
+        devprodic["tmu"].write_attribute("PllFundAlignment", self.FundAlignment_old)
+        tmp = devprodic["tmu"].get_attribute_config_ex('PllFundPhaseVolt')
+        if self.FundAlignment_old > 0:
+            tmp[0].alarms.min_alarm = str(1.0)
+            tmp[0].alarms.max_alarm = str(2.0)
+        else:
+            tmp[0].alarms.min_alarm = str(0.0)
+            tmp[0].alarms.max_alarm = str(1.0)
+        devprodic["tmu"].set_attribute_config(tmp)
+        self.FundAlignment_applica.show()
+        self.FundAlignment_storna.hide()
+
+    def disastro_soloE1trg(self):
+        try:
+            self.trgE1_old = devprodic["triggerEVR"].Chan1Delay
+            procedi = True
+        except:
+            self.funzionamento.setText('!! FAULT !!')
+            self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
+            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerEVR"]) + ' Chan1Delay.'
+            self.logbox.insertItem(0, voce)
+            procedi = False
+        if procedi:
+            self.comandifalliti = 0
+            try:
+                devprodic["triggerEVR"].write_attribute("Chan1Delay", float(self.trg_elite1calc))
+            except:
+                voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan1Delay", ' + str(self.trg_elite1calc) + ')'
+                self.logbox.insertItem(0, voce)
+                self.comandifalliti = 1
+            time.sleep(0.2)
+            try:
+                tmp = devprodic["triggerEVR"].get_attribute_config_ex("Chan1Delay")
+                tmp[0].alarms.min_alarm = str(self.trg_elite1calc - 1)
+                tmp[0].alarms.max_alarm = str(self.trg_elite1calc + 1)
+                devprodic["triggerEVR"].set_attribute_config(tmp)
+            except:
+                voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.trg_elite1calc - 1) + ', ' + str(self.trg_elite1calc +1) + '] for attribute Chan1Delay'
+                self.logbox.insertItem(0, voce)
+                self.comandifalliti = 1
+        if self.comandifalliti < 1:
+            self.trgE1_applica.hide()
+            self.trgE1_storna.show()
+
+    def doppiodisastro_soloE1trg(self):
+        devprodic["triggerEVR"].write_attribute('Chan1Delay', self.trgE1_old)
+        tmp = devprodic["triggerEVR"].get_attribute_config_ex('Chan1Delay')
+        tmp[0].alarms.min_alarm = str(self.trgE1_old - 1)
+        tmp[0].alarms.max_alarm = str(self.trgE1_old + 1)
+        devprodic["triggerEVR"].set_attribute_config(tmp)
+        self.trgE1_applica.show()
+        self.trgE1_storna.hide()
+
+    def disastro_soloS1trg(self):
+        try:
+            self.trgS1_old = devprodic["triggerS1"].command_inout('GetDelay', 2)*1000000000
+        except:
+            self.funzionamento.setText('!! FAULT !!')
+            self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
+            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerS1"]) + ' S1Delay. The script will not chage any value. check with atomic panel and launch this program again'
+            self.logbox.insertItem(0, voce)
+            procedi = False
+        if procedi:
+            self.comandifalliti = 0
+            try:
+                devprodic["triggerS1"].command_inout('SetDelay', [2,  float(self.trg_S1calc)/1000000000])
+                print('S1Delay ' + str(self.trg_S1calc))
+            except:
+                voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerS1"]) + ' while command_inout("SetDelay", [2,' + str(float(self.trg_S1calc)/1000000000) + '])'
+                self.logbox.insertItem(0, voce)
+                self.comandifalliti = 1
+        if self.comandifalliti < 1:
+            self.trgS1_applica.hide()
+            self.trgS1_storna.show()
+
+    def doppiodisastro_soloS1trg(self):
+        devprodic["triggerS1"].command_inout('SetDelay', [2,  float(self.trgS1_old)/1000000000])
+        self.trgS1_applica.show()
+        self.trgS1_storna.hide()
+
+    def disastro_soloE2trg(self):
+        try:
+            self.trgE2_old = devprodic["triggerEVR"].Chan2Delay
+            procedi = True
+        except:
+            self.funzionamento.setText('!! FAULT !!')
+            self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
+            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerEVR"]) + ' Chan2Delay.'
+            self.logbox.insertItem(0, voce)
+            procedi = False
+        if procedi:
+            self.comandifalliti = 0
+            try:
+                devprodic["triggerEVR"].write_attribute("Chan2Delay", float(self.trg_elite2calc))
+            except:
+                voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan2Delay", ' + str(self.trg_elite2calc) + ')'
+                self.logbox.insertItem(0, voce)
+                self.comandifalliti = 1
+            time.sleep(0.2)
+            try:
+                tmp = devprodic["triggerEVR"].get_attribute_config_ex("Chan2Delay")
+                tmp[0].alarms.min_alarm = str(self.trg_elite2calc - 1)
+                tmp[0].alarms.max_alarm = str(self.trg_elite2calc + 1)
+                devprodic["triggerEVR"].set_attribute_config(tmp)
+            except:
+                voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.trg_elite2calc - 1) + ', ' + str(self.trg_elite2calc +1) + '] for attribute Chan2Delay'
+                self.logbox.insertItem(0, voce)
+                self.comandifalliti = 1
+        if self.comandifalliti < 1:
+            self.trgE2_applica.hide()
+            self.trgE2_storna.show()
+
+    def doppiodisastro_soloE2trg(self):
+        devprodic["triggerEVR"].write_attribute('Chan2Delay', self.trgE2_old)
+        tmp = devprodic["triggerEVR"].get_attribute_config_ex('Chan2Delay')
+        tmp[0].alarms.min_alarm = str(self.trgE1_old - 1)
+        tmp[0].alarms.max_alarm = str(self.trgE1_old + 1)
+        devprodic["triggerEVR"].set_attribute_config(tmp)
+        self.trgE2_applica.show()
+        self.trgE2_storna.hide()
+
+    def disastro_soloS2trg(self):
+        try:
+            self.trgS2_old = devprodic["triggerS2"].command_inout('GetDelay', 2)*1000000000
+        except:
+            self.funzionamento.setText('!! FAULT !!')
+            self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
+            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerS2"]) + ' S2Delay.'
+            self.logbox.insertItem(0, voce)
+            procedi = False
+        if procedi:
+            self.comandifalliti = 0
+            try:
+                devprodic["triggerS2"].command_inout('SetDelay', [2,  float(self.trg_S2calc)/1000000000])
+                print('S2Delay ' + str(self.trg_S2calc))
+            except:
+                voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerS2"]) + ' while command_inout("SetDelay", [2,' + str(float(self.trg_S2calc)/1000000000) + '])'
+                self.logbox.insertItem(0, voce)
+                self.comandifalliti = 1
+        if self.comandifalliti < 1:
+            self.trgS2_applica.hide()
+            self.trgS2_storna.show()
+
+    def doppiodisastro_soloS2trg(self):
+        devprodic["triggerS2"].command_inout('SetDelay', [2,  float(self.trgS2_old)/1000000000])  
+        self.trgS2_applica.show()
+        self.trgS2_storna.hide()
 
     def disastro(self):
+        ######## finesta avviso sala controllo
         print('salvo stato')
         procedi = True
         self.comandifalliti = 0
@@ -880,7 +1049,7 @@ class MainWindow(QDialog):
             self.logbox.insertItem(0, voce)
             procedi = False
         try:
-            self.trgM1_old = devprodic["triggerEVR"].Chan1Delay
+            self.trgE1_old = devprodic["triggerEVR"].Chan1Delay
         except:
             self.funzionamento.setText('!! FAULT !!')
             self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
@@ -888,7 +1057,7 @@ class MainWindow(QDialog):
             self.logbox.insertItem(0, voce)
             procedi = False
         try:
-            self.trgM2_old = devprodic["triggerEVR"].Chan2Delay
+            self.trgE2_old = devprodic["triggerEVR"].Chan2Delay
         except:
             self.funzionamento.setText('!! FAULT !!')
             self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
@@ -896,19 +1065,19 @@ class MainWindow(QDialog):
             self.logbox.insertItem(0, voce)
             procedi = False
         try:
-            self.trgSDG1_old = devprodic["triggerSDG1"].command_inout('GetDelay', 2)*1000000000
+            self.trgS1_old = devprodic["triggerS1"].command_inout('GetDelay', 2)*1000000000
         except:
             self.funzionamento.setText('!! FAULT !!')
             self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
-            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerSDG1"]) + ' SDG1Delay. The script will not chage any value. check with atomic panel and launch this program again'
+            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerS1"]) + ' S1Delay. The script will not chage any value. check with atomic panel and launch this program again'
             self.logbox.insertItem(0, voce)
             procedi = False
         try:
-            self.trgSDG2_old = devprodic["triggerSDG2"].command_inout('GetDelay', 2)*1000000000
+            self.trgS2_old = devprodic["triggerS2"].command_inout('GetDelay', 2)*1000000000
         except:
             self.funzionamento.setText('!! FAULT !!')
             self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)")
-            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerSDG2"]) + ' SDG2Delay. The script will not chage any value. check with atomic panel and launch this program again'
+            voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerS2"]) + ' S2Delay. The script will not chage any value. check with atomic panel and launch this program again'
             self.logbox.insertItem(0, voce)
             procedi = False
         try:
@@ -921,20 +1090,6 @@ class MainWindow(QDialog):
             procedi = False
         if procedi == True:
             print('applico valori')
-#            print("trls4" + ' ' + "Speed" + ' ' +  str([100]))
-#            try:
-#                devprodic["trls4"].write_attribute("Speed", [100])
-#            except:
-#                voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls4"]) + ' while write_attribute("Speed", [100])'
-#                self.logbox.insertItem(0, voce)
-#                self.comandifalliti = 1
-#            print("trls8" + ' ' + "Speed" + ' ' +  str([-100]))
-#            try:
-#                devprodic["trls8"].write_attribute("Speed", [-100])
-#            except:
-#                voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls8"]) + ' while write_attribute("Speed", [-100])'
-#                self.logbox.insertItem(0, voce)
-#                self.comandifalliti = 1
             if self.FundAlignment_shift and self.FundAlignment_calc >= 1:
                 print('FundAlignment ' + str(self.FundAlignment_calc))
                 print("tmu" + ' ' + "PllFundAlignment" + ' ' +  str(1))
@@ -1012,21 +1167,21 @@ class MainWindow(QDialog):
                 voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.trg_elite2calc - 1) + ', ' + str(self.trg_elite2calc +1) + '] for attribute Chan2Delay'
                 self.logbox.insertItem(0, voce)
                 self.comandifalliti = 1
-            print("triggerSDG1" + ' ' + "SetDelay 2" + ' ' +  str(self.trg_SDG1calc))
+            print("triggerS1" + ' ' + "SetDelay 2" + ' ' +  str(self.trg_S1calc))
             try:
-                devprodic["triggerSDG1"].command_inout('SetDelay', [2,  float(self.trg_SDG1calc)/1000000000])
-                print('SDG1Delay ' + str(self.trg_SDG1calc))
+                devprodic["triggerS1"].command_inout('SetDelay', [2,  float(self.trg_S1calc)/1000000000])
+                print('S1Delay ' + str(self.trg_S1calc))
             except:
-                voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerSDG1"]) + ' while command_inout("SetDelay", [2,' + str(float(self.trg_SDG1calc)/1000000000) + '])'
+                voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerS1"]) + ' while command_inout("SetDelay", [2,' + str(float(self.trg_S1calc)/1000000000) + '])'
                 self.logbox.insertItem(0, voce)
                 self.comandifalliti = 1
             time.sleep(0.2)
-            print("triggerSDG2" + ' ' + "SetDelay 2" + ' ' +  str(self.trg_SDG2calc))
+            print("triggerS2" + ' ' + "SetDelay 2" + ' ' +  str(self.trg_S2calc))
             try:
-                devprodic["triggerSDG2"].command_inout('SetDelay', [2,  float(self.trg_SDG2calc)/1000000000])
-                print('SDG2Delay ' + str(self.trg_SDG2calc))
+                devprodic["triggerS2"].command_inout('SetDelay', [2,  float(self.trg_S2calc)/1000000000])
+                print('S2Delay ' + str(self.trg_S2calc))
             except:
-                voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerSDG2"]) + ' while command_inout("SetDelay", [2,' + str(float(self.trg_SDG2calc)/1000000000) + '])'
+                voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerS2"]) + ' while command_inout("SetDelay", [2,' + str(float(self.trg_S2calc)/1000000000) + '])'
                 self.logbox.insertItem(0, voce)
                 self.comandifalliti = 1
             time.sleep(0.2)
@@ -1060,20 +1215,6 @@ class MainWindow(QDialog):
                 self.comandifalliti = 1
             print("done")
             time.sleep(2)
-#            print("trls4" + ' ' + "Speed" + ' ' +  str([1]))
-#            try:
-#                devprodic["trls4"].write_attribute("Speed", [1])
-#            except:
-#                voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls4"]) + ' while write_attribute("Speed", [1])'
-#                self.logbox.insertItem(0, voce)
-#                self.comandifalliti = 1
-#            print("trls8" + ' ' + "Speed" + ' ' +  str([-1]))
-#            try:
-#                devprodic["trls8"].write_attribute("Speed", [-1])
-#            except:
-#                voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls8"]) + ' while write_attribute("Speed", [-1])'
-#                self.logbox.insertItem(0, voce)
-#                self.comandifalliti = 1
             self.applica.hide()
             self.comenondetto.show()
             self.lanciasalvatrigger.setStyleSheet("background-color: rgb(200, 200, 200)")
@@ -1086,18 +1227,6 @@ class MainWindow(QDialog):
 
     def doppiodisastro(self):
         self.comandifalliti = 0
-#        try:
-#            devprodic["trls4"].write_attribute("Speed", [100])
-#        except:
-#            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls4"]) + ' while write_attribute("Speed", [100])'
-#            self.logbox.insertItem(0, voce)
-#            self.comandifalliti = 1
-#        try:
-#            devprodic["trls8"].write_attribute("Speed", [-100])
-#        except:
-#            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls8"]) + ' while write_attribute("Speed", [-100])'
-#            self.logbox.insertItem(0, voce)
-#            self.comandifalliti = 1
         try:
             devprodic["tmu"].write_attribute("PllFundAlignment", self.FundAlignment_old)
             print("tmu " + str(self.FundAlignment_old))
@@ -1125,52 +1254,52 @@ class MainWindow(QDialog):
                 self.logbox.insertItem(0, voce)
         time.sleep(3)
         try:
-            devprodic["triggerEVR"].write_attribute('Chan1Delay', self.trgM1_old)
-            print('Chan1Delay ' + str(self.trgM1_old))
+            devprodic["triggerEVR"].write_attribute('Chan1Delay', self.trgE1_old)
+            print('Chan1Delay ' + str(self.trgE1_old))
         except:
-            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan1Delay", ' + str(self.trgM1_old) + ')'
+            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan1Delay", ' + str(self.trgE1_old) + ')'
             self.logbox.insertItem(0, voce)
             self.comandifalliti = 1
         time.sleep(0.1)
         try:
             tmp = devprodic["triggerEVR"].get_attribute_config_ex('Chan1Delay')
-            tmp[0].alarms.min_alarm = str(self.trgM1_old - 1)
-            tmp[0].alarms.max_alarm = str(self.trgM1_old + 1)
+            tmp[0].alarms.min_alarm = str(self.trgE1_old - 1)
+            tmp[0].alarms.max_alarm = str(self.trgE1_old + 1)
             devprodic["triggerEVR"].set_attribute_config(tmp)
         except:
-            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.trgM1_old - 1) + ', ' + str(self.trgM1_old +1) + '] for attribute Chan1Delay'
+            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.trgE1_old - 1) + ', ' + str(self.trgE1_old +1) + '] for attribute Chan1Delay'
             self.logbox.insertItem(0, voce)
             self.comandifalliti = 1
         try:
-            devprodic["triggerEVR"].write_attribute('Chan2Delay', self.trgM2_old)
-            print('Chan2Delay ' + str(self.trgM2_old))
+            devprodic["triggerEVR"].write_attribute('Chan2Delay', self.trgE2_old)
+            print('Chan2Delay ' + str(self.trgE2_old))
         except:
-            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan2Delay", ' + str(self.trgM2_old) + ')'
+            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan2Delay", ' + str(self.trgE2_old) + ')'
             self.logbox.insertItem(0, voce)
             self.comandifalliti = 1
         time.sleep(0.1)
         try:
             tmp = devprodic["triggerEVR"].get_attribute_config_ex('Chan2Delay')
-            tmp[0].alarms.min_alarm = str(self.trgM2_old - 1)
-            tmp[0].alarms.max_alarm = str(self.trgM2_old + 1)
+            tmp[0].alarms.min_alarm = str(self.trgE2_old - 1)
+            tmp[0].alarms.max_alarm = str(self.trgE2_old + 1)
             devprodic["triggerEVR"].set_attribute_config(tmp)
         except:
-            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.trgM2_old - 1) + ', ' + str(self.trgM2_old +1) + '] for attribute Chan2Delay'
+            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.trgE2_old - 1) + ', ' + str(self.trgE2_old +1) + '] for attribute Chan2Delay'
             self.logbox.insertItem(0, voce)
             self.comandifalliti = 1
         try:
-            devprodic["triggerSDG1"].command_inout('SetDelay', [2,  float(self.trgSDG1_old)/1000000000])
-            print('SDG1Delay ' + str(self.trgSDG1_old))
+            devprodic["triggerS1"].command_inout('SetDelay', [2,  float(self.trgS1_old)/1000000000])
+            print('S1Delay ' + str(self.trgS1_old))
         except:
-            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerSDG1"]) + ' while command_inout("SetDelay", [2,' + str(float(self.trgSDG1_old)/1000000000) + '])'
+            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerS1"]) + ' while command_inout("SetDelay", [2,' + str(float(self.trgS1_old)/1000000000) + '])'
             self.logbox.insertItem(0, voce)
             self.comandifalliti = 1
         time.sleep(0.1)
         try:
-            devprodic["triggerSDG2"].command_inout('SetDelay', [2,  float(self.trgSDG2_old)/1000000000])
-            print('SDG2Delay ' + str(self.trgSDG2_old))
+            devprodic["triggerS2"].command_inout('SetDelay', [2,  float(self.trgS2_old)/1000000000])
+            print('S2Delay ' + str(self.trgS2_old))
         except:
-            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerSDG2"]) + ' while command_inout("SetDelay", [2,' + str(float(self.trgSDG2_old)/1000000000) + '])'
+            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerS2"]) + ' while command_inout("SetDelay", [2,' + str(float(self.trgS2_old)/1000000000) + '])'
             self.logbox.insertItem(0, voce)
             self.comandifalliti = 1
         time.sleep(0.1)
@@ -1190,18 +1319,6 @@ class MainWindow(QDialog):
             self.comandifalliti = 1
         print("done")
         time.sleep(1)
-#        try:
-#            devprodic["trls4"].write_attribute("Speed", [1])
-#        except:
-#            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls4"]) + ' while write_attribute("Speed", [1])'
-#            self.logbox.insertItem(0, voce)
-#            self.comandifalliti = 1
-#        try:
-#            devprodic["trls8"].write_attribute("Speed", [-1])
-#        except:
-#            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls8"]) + ' while write_attribute("Speed", [-1])'
-#            self.logbox.insertItem(0, voce)
-#            self.comandifalliti.append('devprodic["trls4"]', 'Speed', '[-1]')
         self.applica.show()
         self.comenondetto.hide()
         self.lanciasalvatrigger.setStyleSheet("background-color: rgb(200, 200, 200)")
@@ -1214,18 +1331,6 @@ class MainWindow(QDialog):
 
     def ripristino(self):
         self.comandifalliti = 0
-#        try:
-#            devprodic["trls4"].write_attribute("Speed", [100])
-#        except:
-#            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls4"]) + ' while write_attribute("Speed", [100])'
-#            self.logbox.insertItem(0, voce)
-#            self.comandifalliti = 1
-#        try:
-#            devprodic["trls8"].write_attribute("Speed", [-100])
-#        except:
-#            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls8"]) + ' while write_attribute("Speed", [-100])'
-#            self.logbox.insertItem(0, voce)
-#            self.comandifalliti = 1
         try:
             devprodic["tmu"].write_attribute("PllFundAlignment", self.zero_FundAlignment)
             print("tmu " + str(self.zero_FundAlignment))
@@ -1255,52 +1360,52 @@ class MainWindow(QDialog):
                 self.logbox.insertItem(0, voce)
         time.sleep(3)
         try:
-            devprodic["triggerEVR"].write_attribute('Chan1Delay', self.zero_trgM1)
-            print('Chan1Delay ' + str(self.zero_trgM1))
+            devprodic["triggerEVR"].write_attribute('Chan1Delay', self.zero_trgE1)
+            print('Chan1Delay ' + str(self.zero_trgE1))
         except:
-            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan1Delay", ' + str(self.zero_trgM1) + ')'
+            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan1Delay", ' + str(self.zero_trgE1) + ')'
             self.logbox.insertItem(0, voce)
             self.comandifalliti = 1
         time.sleep(0.1)
         try:
             tmp = devprodic["triggerEVR"].get_attribute_config_ex('Chan1Delay')
-            tmp[0].alarms.min_alarm = str(self.zero_trgM1 - 1)
-            tmp[0].alarms.max_alarm = str(self.zero_trgM1 + 1)
+            tmp[0].alarms.min_alarm = str(self.zero_trgE1 - 1)
+            tmp[0].alarms.max_alarm = str(self.zero_trgE1 + 1)
             devprodic["triggerEVR"].set_attribute_config(tmp)
         except:
-            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.zero_trgM1 - 1) + ', ' + str(self.zero_trgM1 +1) + '] for attribute Chan1Delay'
+            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.zero_trgE1 - 1) + ', ' + str(self.zero_trgE1 +1) + '] for attribute Chan1Delay'
             self.logbox.insertItem(0, voce)
             self.comandifalliti = 1
         try:
-            devprodic["triggerEVR"].write_attribute('Chan2Delay', self.zero_trgM2)
-            print('Chan2Delay ' + str(self.zero_trgM2))
+            devprodic["triggerEVR"].write_attribute('Chan2Delay', self.zero_trgE2)
+            print('Chan2Delay ' + str(self.zero_trgE2))
         except:
-            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan2Delay", ' + str(self.zero_trgM2) + ')'
+            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan2Delay", ' + str(self.zero_trgE2) + ')'
             self.logbox.insertItem(0, voce)
             self.comandifalliti = 1
         time.sleep(0.1)
         try:
             tmp = devprodic["triggerEVR"].get_attribute_config_ex('Chan2Delay')
-            tmp[0].alarms.min_alarm = str(self.zero_trgM2 - 1)
-            tmp[0].alarms.max_alarm = str(self.zero_trgM2 + 1)
+            tmp[0].alarms.min_alarm = str(self.zero_trgE2 - 1)
+            tmp[0].alarms.max_alarm = str(self.zero_trgE2 + 1)
             devprodic["triggerEVR"].set_attribute_config(tmp)
         except:
-            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.zero_trgM2 - 1) + ', ' + str(self.zero_trgM2 +1) + '] for attribute Chan2Delay'
+            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.zero_trgE2 - 1) + ', ' + str(self.zero_trgE2 +1) + '] for attribute Chan2Delay'
             self.logbox.insertItem(0, voce)
             self.comandifalliti = 1
         try:
-            devprodic["triggerSDG1"].command_inout('SetDelay', [2,  float(self.zero_trgSDG1)/1000000000])
-            print('SDG1Delay ' + str(self.zero_trgSDG1))
+            devprodic["triggerS1"].command_inout('SetDelay', [2,  float(self.zero_trgS1)/1000000000])
+            print('S1Delay ' + str(self.zero_trgS1))
         except:
-            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerSDG1"]) + ' while command_inout("SetDelay", [2,' + str(float(self.zero_trgSDG1)/1000000000) + '])'
+            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerS1"]) + ' while command_inout("SetDelay", [2,' + str(float(self.zero_trgS1)/1000000000) + '])'
             self.logbox.insertItem(0, voce)
             self.comandifalliti = 1
         time.sleep(0.1)
         try:
-            devprodic["triggerSDG2"].command_inout('SetDelay', [2,  float(self.zero_trgSDG2)/1000000000])
-            print('SDG2Delay ' + str(self.zero_trgSDG2))
+            devprodic["triggerS2"].command_inout('SetDelay', [2,  float(self.zero_trgS2)/1000000000])
+            print('S2Delay ' + str(self.zero_trgS2))
         except:
-            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerSDG2"]) + ' while command_inout("SetDelay", [2,' + str(float(self.zero_trgSDG2)/1000000000) + '])'
+            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerS2"]) + ' while command_inout("SetDelay", [2,' + str(float(self.zero_trgS2)/1000000000) + '])'
             self.logbox.insertItem(0, voce)
             self.comandifalliti = 1
         time.sleep(0.1)
@@ -1320,18 +1425,6 @@ class MainWindow(QDialog):
             self.comandifalliti = 1
         print("done")
         time.sleep(1)
-#        try:
-#            devprodic["trls4"].write_attribute("Speed", [1])
-#        except:
-#            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls4"]) + ' while write_attribute("Speed", [1])'
-#            self.logbox.insertItem(0, voce)
-#            self.comandifalliti = 1
-#        try:
-#            devprodic["trls8"].write_attribute("Speed", [-1])
-#        except:
-#            voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls8"]) + ' while write_attribute("Speed", [-1])'
-#            self.logbox.insertItem(0, voce)
-#            self.comandifalliti = 1
         self.applica.show()
         self.comenondetto.hide()
         self.lanciasalvatrigger.setStyleSheet("background-color: rgb(200, 200, 200)")
@@ -1342,7 +1435,6 @@ class MainWindow(QDialog):
             self.funzionamento.setText('No errors')
             self.funzionamento.setStyleSheet("background-color: rgb(0, 255, 0)")
 
-
     def switchdelayminimizer(self):
         stato = str(devprodic["minimizzatore_correlazione"].command_inout('State'))
         print(stato)
@@ -1370,15 +1462,15 @@ class MainWindow(QDialog):
             self.lanciasalvatrigger.setStyleSheet("background-color: rgb(255, 0, 0)")
 
     def faprihdb(self):
-        os.system('/usr/bin/python /home/lfo/python/lavoradacasa/lasedb.py &')
+        os.system('firefox http://fcsproxy.elettra.trieste.it/docs/egiga2m/egiga2m.html?conf=fermi_hdbpp &')
         pass
 
     def apritrls4(self):
-        os.system('/runtime/panels/bin/xps sl/motor/trls_sl.04 -title SL_XPS_delay_line_"trls_sl.04" &')
+        os.system('/runtime/bin/xps sl/motor/trls_sl.04 -title SL_XPS_delay_line_"trls_sl.04" &')
         pass
 
     def apritrls8(self):
-        os.system('/runtime/panels/bin/xps sl/motor/trls_sl.08 -title SL_XPS_Elite1_line_"trls_sl.08" &')
+        os.system('/runtime/bin/xps sl/motor/trls_sl.08 -title SL_XPS_Elite1_line_"trls_sl.08" &')
         pass
 
     def fapriscope3(self):
@@ -1393,6 +1485,24 @@ class MainWindow(QDialog):
         os.system('/usr/bin/python /home/lfo/runtime/panels/bin/sltriggerpanel.py &')
         pass
 
+    def fapritmu(self):
+        os.system('atkpanel sl/timing/tmu_sl.01 &')
+
+    def delaytotemapri(self):
+        os.system('/runtime/bin/motion_controller slu/motor/trls_slu.05 -title SLU_TOTEM_DELAY_LINE &')
+
+    def delaytotemgoto(self):
+        gol = float(self.trls5_set.text())
+        devprodic["totemdelay"].write_attribute('Position', gol)
+
+    def dalaytotempiu(self):
+        gol = devprodic["totemdelay"].Position + float(self.trls5_rel.text())
+        devprodic["totemdelay"].write_attribute('Position', gol)
+
+    def dalaytotemmeno(self):
+        gol = devprodic["totemdelay"].Position - float(self.trls5_rel.text())
+        devprodic["totemdelay"].write_attribute('Position', gol)
+
 
 if __name__ == '__main__':
     app = QApplication([])
@@ -1403,9 +1513,7 @@ if __name__ == '__main__':
     except:
         screen = QDesktopWidget().screenGeometry()
         dimensione = [screen.width()*0.7, screen.height()*0.7]
-    font_grande = QFont("Arial", round(dimensione[0]/50.0), -1, False)
-    font_importante = QFont("Arial", round(dimensione[0]/150.0), -1, True)
-    font_pannello = QFont("Arial", round(dimensione[0]/200.0), -1, False)
+    font_pannello = QFont("Arial", round(dimensione[0]/160.0), -1, False)
     app.setFont(font_pannello)
     window = MainWindow()
     #window.resize(dimensione[0], dimensione[1])