From 6a6139c87d831dfe222acda3b6d51c1f04d3497e Mon Sep 17 00:00:00 2001
From: "paolo.cinquegrana@elettra.eu" <paolo.cinquegrana@elettra.eu>
Date: Thu, 16 Dec 2021 17:33:03 +0100
Subject: [PATCH] corretto main

---
 src/sl-decimators.py | 1900 +++++++++++++++++++++---------------------
 1 file changed, 936 insertions(+), 964 deletions(-)

diff --git a/src/sl-decimators.py b/src/sl-decimators.py
index bd34129..3151404 100644
--- a/src/sl-decimators.py
+++ b/src/sl-decimators.py
@@ -22,9 +22,9 @@ class Finestra(QTabWidget):
         self.paginagenerale_1facileindicatore = QLineEdit()
         self.paginagenerale_1etichetta = QLabel('f/timing/rttrigger_sl.01')
         self.paginagenerale_1modalita = LineEditRO()
-        self.paginagenerale_1on = QPushButton('ON')
-        self.paginagenerale_1on.clicked.connect(self.accendi1)
-        self.paginagenerale_1off = QPushButton('OFF')
+        self.paginagenerale_1on = QPushButton('START (random)')
+        self.paginagenerale_1on.clicked.connect(self.accendi1_nobn)
+        self.paginagenerale_1off = QPushButton('STOP')
         self.paginagenerale_1off.clicked.connect(self.spegni1)
         self.paginagenerale_1conf = QToolButton()
         self.paginagenerale_1conf.setArrowType(4)
@@ -32,9 +32,9 @@ class Finestra(QTabWidget):
         self.paginagenerale_2facileindicatore = QLineEdit()
         self.paginagenerale_2etichetta = QLabel('f/timing/rttrigger_sl.02')
         self.paginagenerale_2modalita = LineEditRO()
-        self.paginagenerale_2on = QPushButton('ON')
-        self.paginagenerale_2on.clicked.connect(self.accendi2)
-        self.paginagenerale_2off = QPushButton('OFF')
+        self.paginagenerale_2on = QPushButton('START (random)')
+        self.paginagenerale_2on.clicked.connect(self.accendi2_nobn)
+        self.paginagenerale_2off = QPushButton('STOP')
         self.paginagenerale_2off.clicked.connect(self.spegni2)
         self.paginagenerale_2conf = QToolButton()
         self.paginagenerale_2conf.setArrowType(4)
@@ -42,9 +42,9 @@ class Finestra(QTabWidget):
         self.paginagenerale_3facileindicatore = QLineEdit()
         self.paginagenerale_3etichetta = QLabel('f/timing/rttrigger_sl.03')
         self.paginagenerale_3modalita = LineEditRO()
-        self.paginagenerale_3on = QPushButton('ON')
-        self.paginagenerale_3on.clicked.connect(self.accendi3)
-        self.paginagenerale_3off = QPushButton('OFF')
+        self.paginagenerale_3on = QPushButton('START (random)')
+        self.paginagenerale_3on.clicked.connect(self.accendi3_nobn)
+        self.paginagenerale_3off = QPushButton('STOP')
         self.paginagenerale_3off.clicked.connect(self.spegni3)
         self.paginagenerale_3conf = QToolButton()
         self.paginagenerale_3conf.setArrowType(4)
@@ -52,9 +52,9 @@ class Finestra(QTabWidget):
         self.paginagenerale_4facileindicatore = QLineEdit()
         self.paginagenerale_4etichetta = QLabel('f/timing/rttrigger_sl.04')
         self.paginagenerale_4modalita = LineEditRO()
-        self.paginagenerale_4on = QPushButton('ON')
-        self.paginagenerale_4on.clicked.connect(self.accendi4)
-        self.paginagenerale_4off = QPushButton('OFF')
+        self.paginagenerale_4on = QPushButton('START (random)')
+        self.paginagenerale_4on.clicked.connect(self.accendi4_nobn)
+        self.paginagenerale_4off = QPushButton('STOP')
         self.paginagenerale_4off.clicked.connect(self.spegni4)
         self.paginagenerale_4conf = QToolButton()
         self.paginagenerale_4conf.setArrowType(4)
@@ -62,9 +62,9 @@ class Finestra(QTabWidget):
         self.paginagenerale_5facileindicatore = QLineEdit()
         self.paginagenerale_5etichetta = QLabel('f/timing/rttrigger_sl.05')
         self.paginagenerale_5modalita = LineEditRO()
-        self.paginagenerale_5on = QPushButton('ON')
-        self.paginagenerale_5on.clicked.connect(self.accendi5)
-        self.paginagenerale_5off = QPushButton('OFF')
+        self.paginagenerale_5on = QPushButton('START (random)')
+        self.paginagenerale_5on.clicked.connect(self.accendi5_nobn)
+        self.paginagenerale_5off = QPushButton('STOP')
         self.paginagenerale_5off.clicked.connect(self.spegni5)
         self.paginagenerale_5conf = QToolButton()
         self.paginagenerale_5conf.setArrowType(4)
@@ -103,338 +103,583 @@ class Finestra(QTabWidget):
         self.paginagenerale.setLayout(self.LO_paginagenerale)
         #
         self.paginadeci1 = QFrame()
-        self.paginadeci1_campo_BunchNumber = DoppiaSceltanofun('Enable start/end BunchNumber')
-        self.paginadeci1_campo_BunchNumberEnd_R = LineEditRO()
-        self.paginadeci1_campo_BunchNumberEnd_W = QLineEdit()
-        self.paginadeci1_campo_BunchNumberStart_R = LineEditRO()
-        self.paginadeci1_campo_BunchNumberStart_W = QLineEdit()
-        self.paginadeci1_campo_DelayMode = QRadioButton('Delay mode')
-        self.paginadeci1_campo_DelayMode.chiave = '1'
-        self.paginadeci1_campo_DelayMode.clicked.connect(self.sceltadelay)
-        self.paginadeci1_campo_DelayOffset_R = LineEditRO()
-        self.paginadeci1_campo_DelayOffset_W = QLineEdit()
-        self.paginadeci1_campo_EnableStaticTriggerShift = DoppiaScelta('Enable Static Trigger Shift', '1', 'EnableStaticTriggerShift')
-        self.paginadeci1_campo_InfiniteCycle = DoppiaScelta('Infinite cycles', '1', 'InfiniteCycle')
-        self.paginadeci1_campo_InfiniteCycle.radiopositive.setChecked(1)
-        self.paginadeci1_campo_MaxNumCycles_R = LineEditRO()
-        self.paginadeci1_campo_MaxNumCycles_W = QLineEdit()
-        self.paginadeci1_campo_PolarityMode = DoppiaScelta('Polarity mode', '1', 'PolarityMode')
-        self.paginadeci1_campo_ReverseMode = DoppiaScelta('Reverse mode', '1', 'ReverseMode')
-        self.paginadeci1_campo_SaveModes = DoppiaScelta('Save modes', '1', 'SaveModes')
-        self.paginadeci1_campo_Sequence_R = LineEditRO()
-        self.paginadeci1_campo_Sequence_W = QLineEdit()
+        self.paginadeci1_info1 = QLabel('This decive acts on the trigger signal for both SEED and SLU')
+        self.paginadeci1_info2 = QLabel('')
+        self.paginadeci1_campo_StateL = QLabel('State(misleading): ')
         self.paginadeci1_campo_State = LineEditRO()
+        self.paginadeci1_campo_StatusL = QLabel('Status: ')
         self.paginadeci1_campo_Status = LineEditRO()
-        self.paginadeci1_campo_StatusMode = QRadioButton('Status Mode')
+        self.paginadeci1_campo_mode = QLabel('MODE:')
+        self.paginadeci1_campo_modeR = LineEditRO()
+        self.paginadeci1_campo_DelayMode = QPushButton('DELAY')
+        self.paginadeci1_campo_DelayMode.chiave = '1'
+        self.paginadeci1_campo_DelayMode.clicked.connect(self.sceltadelay)
+        self.paginadeci1_campo_StatusMode = QPushButton('STATUS')
         self.paginadeci1_campo_StatusMode.chiave = '1'
         self.paginadeci1_campo_StatusMode.clicked.connect(self.sceltastatus)
-        self.paginadeci1_applica = QPushButton('Apply')
-        self.paginadeci1_applica.clicked.connect(self.applica1)
-        self.paginadeci1_on = QPushButton('ON')
-        self.paginadeci1_on.clicked.connect(self.accendi1)
-        self.paginadeci1_off = QPushButton('OFF')
-        self.paginadeci1_off.clicked.connect(self.spegni1)
+        self.paginadeci1_off = QPushButton('STOP')
+        self.paginadeci1_off.clicked.connect(self.spegni3)
+        self.paginadeci1_on = QPushButton('START (random)')
+        self.paginadeci1_on.clicked.connect(self.accendi1_nobn)
+        self.paginadeci1_partipari = QPushButton('START even')
+        self.paginadeci1_partipari.clicked.connect(self.accendi1_even)
+        self.paginadeci1_partidispari = QPushButton('START odd')
+        self.paginadeci1_partidispari.clicked.connect(self.accendi1_odd)
+        self.paginadeci1_campo_Sequence_L = QLabel('Sequence: ')
+        self.paginadeci1_campo_Sequence_R = LineEditRO()
+        self.paginadeci1_campo_Sequence_W = QLineEdit()
+        self.paginadeci1_campo_Sequence_A = QPushButton('Apply')
+        self.paginadeci1_campo_Sequence_A.clicked.connect(self.applica1sequenza)
+        self.paginadeci1_campo_BunchNumberStart_L = QLabel('BunchNumber Start: ')
+        self.paginadeci1_campo_BunchNumberStart_R = LineEditRO()
+        self.paginadeci1_campo_BunchNumberStart_W = QLineEdit()
+        self.paginadeci1_campo_BunchNumberStart_A = QPushButton('Apply')
+        self.paginadeci1_campo_BunchNumberStart_A.clicked.connect(self.applica1bnstart)
+        self.paginadeci1_campo_InfiniteCycle_L = QLabel('Infinite cycles')
+        self.paginadeci1_campo_InfiniteCycle_R = LineEditRO()
+        self.paginadeci1_campo_InfiniteCycle_true = QPushButton('On')
+        self.paginadeci1_campo_InfiniteCycle_true.chiave = '1'
+        self.paginadeci1_campo_InfiniteCycle_true.clicked.connect(self.applicaInfiniteCycle)
+        self.paginadeci1_campo_InfiniteCycle_false = QPushButton('Off')
+        self.paginadeci1_campo_InfiniteCycle_false.chiave = '1'
+        self.paginadeci1_campo_InfiniteCycle_false.clicked.connect(self.applicaInfiniteCycle)
+        self.paginadeci1_campo_MaxNumCycles_L = QLabel('Max num Cycles: ')
+        self.paginadeci1_campo_MaxNumCycles_R = LineEditRO()
+        self.paginadeci1_campo_MaxNumCycles_W = QLineEdit()
+        self.paginadeci1_campo_MaxNumCycles_A = QPushButton('Apply')
+        self.paginadeci1_campo_MaxNumCycles_A.clicked.connect(self.applica1MaxNumCycles)
+        self.paginadeci1_campo_BunchNumberEnd_L = QLabel('BunchNumber End: ')
+        self.paginadeci1_campo_BunchNumberEnd_R = LineEditRO()
+        self.paginadeci1_campo_DelayOffset_L = QLabel('Delay offset: ')
+        self.paginadeci1_campo_DelayOffset_R = LineEditRO()
+        self.paginadeci1_campo_DelayOffset_W = QLineEdit()
+        self.paginadeci1_campo_DelayOffset_A = QPushButton('Apply')     
+        self.paginadeci1_campo_DelayOffset_A.clicked.connect(self.applica1DelayOffset)
+        self.paginadeci1_campo_PolarityMode_L = QLabel('Polarity mode')
+        self.paginadeci1_campo_PolarityMode_R = LineEditRO()
+        self.paginadeci1_campo_PolarityMode_true = QPushButton('On')
+        self.paginadeci1_campo_PolarityMode_true.chiave = '1'
+        self.paginadeci1_campo_PolarityMode_true.clicked.connect(self.applicaPolarityMode)
+        self.paginadeci1_campo_PolarityMode_false = QPushButton('Off')
+        self.paginadeci1_campo_PolarityMode_false.chiave = '1'
+        self.paginadeci1_campo_PolarityMode_false.clicked.connect(self.applicaPolarityMode)
+        self.paginadeci1_campo_ReverseMode_L = QLabel('Reverse mode')
+        self.paginadeci1_campo_ReverseMode_R = LineEditRO()
+        self.paginadeci1_campo_ReverseMode_true = QPushButton('On')
+        self.paginadeci1_campo_ReverseMode_true.chiave = '1'
+        self.paginadeci1_campo_ReverseMode_true.clicked.connect(self.applicaReverseMode)
+        self.paginadeci1_campo_ReverseMode_false = QPushButton('Off')
+        self.paginadeci1_campo_ReverseMode_false.chiave = '1'
+        self.paginadeci1_campo_ReverseMode_false.clicked.connect(self.applicaReverseMode)
         self.LOpaginadeci1 = QGridLayout()
-        self.LOpaginadeci1.addWidget(QLabel('This decive acts on the trigger signal for both SEED and SLU'), 0, 0, 1, 3)
-        self.LOpaginadeci1.addWidget(QLabel(''), 1, 0, 1, 3)
-        self.LOpaginadeci1.addWidget(QLabel('State(misleading): '), 2, 0, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_info1, 0, 0, 1, 4)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_info2, 1, 0, 1, 4)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_StateL, 2, 0, 1, 1)
         self.LOpaginadeci1.addWidget(self.paginadeci1_campo_State, 2, 1, 1, 1)
-        self.LOpaginadeci1.addWidget(QLabel('Status: '), 3, 0, 1, 1)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_Status, 3, 1, 1, 2)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_on, 4, 0, 1, 1)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_off, 4, 1, 1, 1)
-        self.LOpaginadeci1.addWidget(QLabel('BunchNumber Start: '), 10, 0, 1, 1)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_BunchNumberStart_R, 10, 1, 1, 1)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_BunchNumberStart_W, 10, 2, 1, 1)
-        self.LOpaginadeci1.addWidget(QLabel('BunchNumber End: '), 11, 0, 1, 1)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_BunchNumberEnd_R, 11, 1, 1, 1)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_BunchNumberEnd_W, 11, 2, 1, 1)
-        self.LOpaginadeci1.addWidget(QLabel('Delay offset: '), 12, 0, 1, 1)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_DelayOffset_R, 12, 1, 1, 1)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_DelayOffset_W, 12, 2, 1, 1)
-        self.LOpaginadeci1.addWidget(QLabel('Sequence: '), 13, 0, 1, 1)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_Sequence_R, 13, 1, 1, 1)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_Sequence_W, 13, 2, 1, 1)
-        self.LOpaginadeci1.addWidget(QLabel('Max num Cycles: '), 14, 0, 1, 1)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_MaxNumCycles_R, 14, 1, 1, 1)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_MaxNumCycles_W, 14, 2, 1, 1)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_StatusMode, 20, 0, 1, 1)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_DelayMode, 20, 1, 1, 1)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_InfiniteCycle, 22, 0, 1, 3)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_EnableStaticTriggerShift, 23, 0, 1, 3)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_PolarityMode, 24, 0, 1, 3)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_ReverseMode, 25, 0, 1, 3)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_SaveModes, 26, 0, 1, 3)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_BunchNumber, 27, 0, 1, 3)
-        self.LOpaginadeci1.addWidget(self.paginadeci1_applica, 30, 0, 1, 3)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_StatusL, 3, 0, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_Status, 3, 1, 1, 3)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_mode, 10, 0, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_modeR, 10, 1, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_DelayMode, 10, 2, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_StatusMode, 10, 3, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_partipari, 11, 0, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_partidispari, 11, 1, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_on, 11, 2, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_off, 11, 3, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_Sequence_L, 20, 0, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_Sequence_R, 20, 1, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_Sequence_W, 20, 2, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_Sequence_A, 20, 3, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_BunchNumberStart_L, 21, 0, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_BunchNumberStart_R, 21, 1, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_BunchNumberStart_W, 21, 2, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_BunchNumberStart_A, 21, 3, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_InfiniteCycle_L, 32, 0, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_InfiniteCycle_R, 32, 1, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_InfiniteCycle_true, 32, 2, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_InfiniteCycle_false, 32, 3, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_MaxNumCycles_L, 33, 0, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_MaxNumCycles_R, 33, 1, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_MaxNumCycles_W, 33, 2, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_MaxNumCycles_A, 33, 3, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_BunchNumberEnd_L, 34, 0, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_BunchNumberEnd_R, 34, 1, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_DelayOffset_L, 35, 0, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_DelayOffset_R, 35, 1, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_DelayOffset_W, 35, 2, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_DelayOffset_A, 35, 3, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_PolarityMode_L, 36, 0, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_PolarityMode_R, 36, 1, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_PolarityMode_true, 36, 2, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_PolarityMode_false, 36, 3, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_ReverseMode_L, 37, 0, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_ReverseMode_R, 37, 1, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_ReverseMode_true, 37, 2, 1, 1)
+        self.LOpaginadeci1.addWidget(self.paginadeci1_campo_ReverseMode_false, 37, 3, 1, 1)
         self.paginadeci1.setLayout(self.LOpaginadeci1)
         #
         self.paginadeci2 = QFrame()
-        self.paginadeci2_campo_BunchNumber = DoppiaSceltanofun('Enable start/end BunchNumber')
-        self.paginadeci2_campo_BunchNumberEnd_R = LineEditRO()
-        self.paginadeci2_campo_BunchNumberEnd_W = QLineEdit()
-        self.paginadeci2_campo_BunchNumberStart_R = LineEditRO()
-        self.paginadeci2_campo_BunchNumberStart_W = QLineEdit()
-        self.paginadeci2_campo_DelayMode = QRadioButton('Delay mode')
-        self.paginadeci2_campo_DelayMode.chiave = '2'
-        self.paginadeci2_campo_DelayMode.clicked.connect(self.sceltadelay)
-        self.paginadeci2_campo_DelayOffset_R = LineEditRO()
-        self.paginadeci2_campo_DelayOffset_W = QLineEdit()
-        self.paginadeci2_campo_EnableStaticTriggerShift = DoppiaScelta('Enable Static Trigger Shift', '2', 'EnableStaticTriggerShift')
-        self.paginadeci2_campo_InfiniteCycle = DoppiaScelta('Infinite cycles', '2', 'InfiniteCycle')
-        self.paginadeci2_campo_InfiniteCycle.radiopositive.setChecked(1)
-        self.paginadeci2_campo_MaxNumCycles_R = LineEditRO()
-        self.paginadeci2_campo_MaxNumCycles_W = QLineEdit()
-        self.paginadeci2_campo_PolarityMode = DoppiaScelta('Polarity mode', '2', 'PolarityMode')
-        self.paginadeci2_campo_ReverseMode = DoppiaScelta('Reverse mode', '2', 'ReverseMode')
-        self.paginadeci2_campo_SaveModes = DoppiaScelta('Save modes', '2', 'SaveModes')
-        self.paginadeci2_campo_Sequence_R = LineEditRO()
-        self.paginadeci2_campo_Sequence_W = QLineEdit()
+        self.paginadeci2_info1 = QLabel('With FEL1 this decive acts on the trigger signal for SEED')
+        self.paginadeci2_info2 = QLabel('With FEL2 this decive acts on the trigger signal for SLU')
+        self.paginadeci2_campo_StateL = QLabel('State(misleading): ')
         self.paginadeci2_campo_State = LineEditRO()
+        self.paginadeci2_campo_StatusL = QLabel('Status: ')
         self.paginadeci2_campo_Status = LineEditRO()
-        self.paginadeci2_campo_StatusMode = QRadioButton('Status Mode')
+        self.paginadeci2_campo_mode = QLabel('MODE:')
+        self.paginadeci2_campo_modeR = LineEditRO()
+        self.paginadeci2_campo_DelayMode = QPushButton('DELAY')
+        self.paginadeci2_campo_DelayMode.chiave = '2'
+        self.paginadeci2_campo_DelayMode.clicked.connect(self.sceltadelay)
+        self.paginadeci2_campo_StatusMode = QPushButton('STATUS')
         self.paginadeci2_campo_StatusMode.chiave = '2'
         self.paginadeci2_campo_StatusMode.clicked.connect(self.sceltastatus)
-        self.paginadeci2_applica = QPushButton('Apply')
-        self.paginadeci2_applica.clicked.connect(self.applica2)
-        self.paginadeci2_on = QPushButton('ON')
-        self.paginadeci2_on.clicked.connect(self.accendi2)
         self.paginadeci2_off = QPushButton('OFF')
-        self.paginadeci2_off.clicked.connect(self.spegni2)
+        self.paginadeci2_off.clicked.connect(self.spegni3)
+        self.paginadeci2_on = QPushButton('START (random)')
+        self.paginadeci2_on.clicked.connect(self.accendi2_nobn)
+        self.paginadeci2_partipari = QPushButton('START even')
+        self.paginadeci2_partipari.clicked.connect(self.accendi2_even)
+        self.paginadeci2_partidispari = QPushButton('START odd')
+        self.paginadeci2_partidispari.clicked.connect(self.accendi2_odd)
+        self.paginadeci2_campo_Sequence_L = QLabel('Sequence: ')
+        self.paginadeci2_campo_Sequence_R = LineEditRO()
+        self.paginadeci2_campo_Sequence_W = QLineEdit()
+        self.paginadeci2_campo_Sequence_A = QPushButton('Apply')
+        self.paginadeci2_campo_Sequence_A.clicked.connect(self.applica2sequenza)
+        self.paginadeci2_campo_BunchNumberStart_L = QLabel('BunchNumber Start: ')
+        self.paginadeci2_campo_BunchNumberStart_R = LineEditRO()
+        self.paginadeci2_campo_BunchNumberStart_W = QLineEdit()
+        self.paginadeci2_campo_BunchNumberStart_A = QPushButton('Apply')
+        self.paginadeci2_campo_BunchNumberStart_A.clicked.connect(self.applica2bnstart)
+        self.paginadeci2_campo_InfiniteCycle_L = QLabel('Infinite cycles')
+        self.paginadeci2_campo_InfiniteCycle_R = LineEditRO()
+        self.paginadeci2_campo_InfiniteCycle_true = QPushButton('On')
+        self.paginadeci2_campo_InfiniteCycle_true.chiave = '2'
+        self.paginadeci2_campo_InfiniteCycle_true.clicked.connect(self.applicaInfiniteCycle)
+        self.paginadeci2_campo_InfiniteCycle_false = QPushButton('Off')
+        self.paginadeci2_campo_InfiniteCycle_false.chiave = '2'
+        self.paginadeci2_campo_InfiniteCycle_false.clicked.connect(self.applicaInfiniteCycle)
+        self.paginadeci2_campo_MaxNumCycles_L = QLabel('Max num Cycles: ')
+        self.paginadeci2_campo_MaxNumCycles_R = LineEditRO()
+        self.paginadeci2_campo_MaxNumCycles_W = QLineEdit()
+        self.paginadeci2_campo_MaxNumCycles_A = QPushButton('Apply')
+        self.paginadeci2_campo_MaxNumCycles_A.clicked.connect(self.applica2MaxNumCycles)
+        self.paginadeci2_campo_BunchNumberEnd_L = QLabel('BunchNumber End: ')
+        self.paginadeci2_campo_BunchNumberEnd_R = LineEditRO()
+        self.paginadeci2_campo_DelayOffset_L = QLabel('Delay offset: ')
+        self.paginadeci2_campo_DelayOffset_R = LineEditRO()
+        self.paginadeci2_campo_DelayOffset_W = QLineEdit()
+        self.paginadeci2_campo_DelayOffset_A = QPushButton('Apply')      
+        self.paginadeci2_campo_DelayOffset_A.clicked.connect(self.applica2DelayOffset)
+        self.paginadeci2_campo_PolarityMode_L = QLabel('Polarity mode')
+        self.paginadeci2_campo_PolarityMode_R = LineEditRO()
+        self.paginadeci2_campo_PolarityMode_true = QPushButton('On')
+        self.paginadeci2_campo_PolarityMode_true.chiave = '2'
+        self.paginadeci2_campo_PolarityMode_true.clicked.connect(self.applicaPolarityMode)
+        self.paginadeci2_campo_PolarityMode_false = QPushButton('Off')
+        self.paginadeci2_campo_PolarityMode_false.chiave = '2'
+        self.paginadeci2_campo_PolarityMode_false.clicked.connect(self.applicaPolarityMode)
+        self.paginadeci2_campo_ReverseMode_L = QLabel('Reverse mode')
+        self.paginadeci2_campo_ReverseMode_R = LineEditRO()
+        self.paginadeci2_campo_ReverseMode_true = QPushButton('On')
+        self.paginadeci2_campo_ReverseMode_true.chiave = '2'
+        self.paginadeci2_campo_ReverseMode_true.clicked.connect(self.applicaReverseMode)
+        self.paginadeci2_campo_ReverseMode_false = QPushButton('Off')
+        self.paginadeci2_campo_ReverseMode_false.chiave = '2'
+        self.paginadeci2_campo_ReverseMode_false.clicked.connect(self.applicaReverseMode)
         self.LOpaginadeci2 = QGridLayout()
-        self.LOpaginadeci2.addWidget(QLabel('With FEL1 this decive acts on the trigger signal for SEED'), 0, 0, 1, 3)
-        self.LOpaginadeci2.addWidget(QLabel('With FEL2 this decive acts on the trigger signal for SLU'), 1, 0, 1, 3)
-        self.LOpaginadeci2.addWidget(QLabel('State(misleading): '), 2, 0, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_info1, 0, 0, 1, 4)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_info2, 1, 0, 1, 4)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_StateL, 2, 0, 1, 1)
         self.LOpaginadeci2.addWidget(self.paginadeci2_campo_State, 2, 1, 1, 1)
-        self.LOpaginadeci2.addWidget(QLabel('Status: '), 3, 0, 1, 1)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_Status, 3, 1, 1, 2)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_on, 4, 0, 1, 1)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_off, 4, 1, 1, 1)
-        self.LOpaginadeci2.addWidget(QLabel('BunchNumber Start: '), 10, 0, 1, 1)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_BunchNumberStart_R, 10, 1, 1, 1)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_BunchNumberStart_W, 10, 2, 1, 1)
-        self.LOpaginadeci2.addWidget(QLabel('BunchNumber End: '), 11, 0, 1, 1)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_BunchNumberEnd_R, 11, 1, 1, 1)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_BunchNumberEnd_W, 11, 2, 1, 1)
-        self.LOpaginadeci2.addWidget(QLabel('Delay offset: '), 12, 0, 1, 1)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_DelayOffset_R, 12, 1, 1, 1)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_DelayOffset_W, 12, 2, 1, 1)
-        self.LOpaginadeci2.addWidget(QLabel('Sequence: '), 13, 0, 1, 1)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_Sequence_R, 13, 1, 1, 1)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_Sequence_W, 13, 2, 1, 1)
-        self.LOpaginadeci2.addWidget(QLabel('Max num Cycles: '), 14, 0, 1, 1)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_MaxNumCycles_R, 14, 1, 1, 1)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_MaxNumCycles_W, 14, 2, 1, 1)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_StatusMode, 20, 0, 1, 1)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_DelayMode, 20, 1, 1, 1)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_InfiniteCycle, 22, 0, 1, 3)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_EnableStaticTriggerShift, 23, 0, 1, 3)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_PolarityMode, 24, 0, 1, 3)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_ReverseMode, 25, 0, 1, 3)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_SaveModes, 26, 0, 1, 3)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_BunchNumber, 27, 0, 1, 3)
-        self.LOpaginadeci2.addWidget(self.paginadeci2_applica, 30, 0, 1, 3)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_StatusL, 3, 0, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_Status, 3, 1, 1, 3)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_mode, 10, 0, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_modeR, 10, 1, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_DelayMode, 10, 2, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_StatusMode, 10, 3, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_partipari, 11, 0, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_partidispari, 11, 1, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_on, 11, 2, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_off, 11, 3, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_Sequence_L, 20, 0, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_Sequence_R, 20, 1, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_Sequence_W, 20, 2, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_Sequence_A, 20, 3, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_BunchNumberStart_L, 21, 0, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_BunchNumberStart_R, 21, 1, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_BunchNumberStart_W, 21, 2, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_BunchNumberStart_A, 21, 3, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_InfiniteCycle_L, 32, 0, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_InfiniteCycle_R, 32, 1, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_InfiniteCycle_true, 32, 2, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_InfiniteCycle_false, 32, 3, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_MaxNumCycles_L, 33, 0, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_MaxNumCycles_R, 33, 1, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_MaxNumCycles_W, 33, 2, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_MaxNumCycles_A, 33, 3, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_BunchNumberEnd_L, 34, 0, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_BunchNumberEnd_R, 34, 1, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_DelayOffset_L, 35, 0, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_DelayOffset_R, 35, 1, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_DelayOffset_W, 35, 2, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_DelayOffset_A, 35, 3, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_PolarityMode_L, 36, 0, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_PolarityMode_R, 36, 1, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_PolarityMode_true, 36, 2, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_PolarityMode_false, 36, 3, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_ReverseMode_L, 37, 0, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_ReverseMode_R, 37, 1, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_ReverseMode_true, 37, 2, 1, 1)
+        self.LOpaginadeci2.addWidget(self.paginadeci2_campo_ReverseMode_false, 37, 3, 1, 1)
         self.paginadeci2.setLayout(self.LOpaginadeci2)
         #
         self.paginadeci3 = QFrame()
-        self.paginadeci3_campo_BunchNumber = DoppiaSceltanofun('Enable start/end BunchNumber')
-        self.paginadeci3_campo_BunchNumberEnd_R = LineEditRO()
-        self.paginadeci3_campo_BunchNumberEnd_W = QLineEdit()
-        self.paginadeci3_campo_BunchNumberStart_R = LineEditRO()
-        self.paginadeci3_campo_BunchNumberStart_W = QLineEdit()
-        self.paginadeci3_campo_DelayMode = QRadioButton('Delay mode')
-        self.paginadeci3_campo_DelayMode.chiave = '3'
-        self.paginadeci3_campo_DelayMode.clicked.connect(self.sceltadelay)
-        self.paginadeci3_campo_DelayOffset_R = LineEditRO()
-        self.paginadeci3_campo_DelayOffset_W = QLineEdit()
-        self.paginadeci3_campo_EnableStaticTriggerShift = DoppiaScelta('Enable Static Trigger Shift', '3', 'EnableStaticTriggerShift')
-        self.paginadeci3_campo_InfiniteCycle = DoppiaScelta('Infinite cycles', '3', 'InfiniteCycle')
-        self.paginadeci3_campo_InfiniteCycle.radiopositive.setChecked(1)
-        self.paginadeci3_campo_MaxNumCycles_R = LineEditRO()
-        self.paginadeci3_campo_MaxNumCycles_W = QLineEdit()
-        self.paginadeci3_campo_PolarityMode = DoppiaScelta('Polarity mode', '3', 'PolarityMode')
-        self.paginadeci3_campo_ReverseMode = DoppiaScelta('Reverse mode', '3', 'ReverseMode')
-        self.paginadeci3_campo_SaveModes = DoppiaScelta('Save modes', '3', 'SaveModes')
-        self.paginadeci3_campo_Sequence_R = LineEditRO()
-        self.paginadeci3_campo_Sequence_W = QLineEdit()
+        self.paginadeci3_info1 = QLabel('With FEL1 this decive acts on the trigger signal for SLU')
+        self.paginadeci3_info2 = QLabel('With FEL2 this decive acts on the trigger signal for SEED')
+        self.paginadeci3_campo_StateL = QLabel('State(misleading): ')
         self.paginadeci3_campo_State = LineEditRO()
+        self.paginadeci3_campo_StatusL = QLabel('Status: ')
         self.paginadeci3_campo_Status = LineEditRO()
-        self.paginadeci3_campo_StatusMode = QRadioButton('Status Mode')
+        self.paginadeci3_campo_mode = QLabel('MODE:')
+        self.paginadeci3_campo_modeR = LineEditRO()
+        self.paginadeci3_campo_DelayMode = QPushButton('DELAY')
+        self.paginadeci3_campo_DelayMode.chiave = '3'
+        self.paginadeci3_campo_DelayMode.clicked.connect(self.sceltadelay)
+        self.paginadeci3_campo_StatusMode = QPushButton('STATUS')
         self.paginadeci3_campo_StatusMode.chiave = '3'
         self.paginadeci3_campo_StatusMode.clicked.connect(self.sceltastatus)
-        self.paginadeci3_applica = QPushButton('Apply')
-        self.paginadeci3_applica.clicked.connect(self.applica3)
-        self.paginadeci3_on = QPushButton('ON')
-        self.paginadeci3_on.clicked.connect(self.accendi3)
         self.paginadeci3_off = QPushButton('OFF')
         self.paginadeci3_off.clicked.connect(self.spegni3)
+        self.paginadeci3_on = QPushButton('START (random)')
+        self.paginadeci3_on.clicked.connect(self.accendi3_nobn)
+        self.paginadeci3_partipari = QPushButton('START even')
+        self.paginadeci3_partipari.clicked.connect(self.accendi3_even)
+        self.paginadeci3_partidispari = QPushButton('START odd')
+        self.paginadeci3_partidispari.clicked.connect(self.accendi3_odd)
+        self.paginadeci3_campo_Sequence_L = QLabel('Sequence: ')
+        self.paginadeci3_campo_Sequence_R = LineEditRO()
+        self.paginadeci3_campo_Sequence_W = QLineEdit()
+        self.paginadeci3_campo_Sequence_A = QPushButton('Apply')
+        self.paginadeci3_campo_Sequence_A.clicked.connect(self.applica3sequenza)
+        self.paginadeci3_campo_BunchNumberStart_L = QLabel('BunchNumber Start: ')
+        self.paginadeci3_campo_BunchNumberStart_R = LineEditRO()
+        self.paginadeci3_campo_BunchNumberStart_W = QLineEdit()
+        self.paginadeci3_campo_BunchNumberStart_A = QPushButton('Apply')
+        self.paginadeci3_campo_BunchNumberStart_A.clicked.connect(self.applica3bnstart)
+        self.paginadeci3_campo_InfiniteCycle_L = QLabel('Infinite cycles')
+        self.paginadeci3_campo_InfiniteCycle_R = LineEditRO()
+        self.paginadeci3_campo_InfiniteCycle_true = QPushButton('On')
+        self.paginadeci3_campo_InfiniteCycle_true.chiave = '3'
+        self.paginadeci3_campo_InfiniteCycle_true.clicked.connect(self.applicaInfiniteCycle)
+        self.paginadeci3_campo_InfiniteCycle_false = QPushButton('Off')
+        self.paginadeci3_campo_InfiniteCycle_false.chiave = '3'
+        self.paginadeci3_campo_InfiniteCycle_false.clicked.connect(self.applicaInfiniteCycle)
+        self.paginadeci3_campo_MaxNumCycles_L = QLabel('Max num Cycles: ')
+        self.paginadeci3_campo_MaxNumCycles_R = LineEditRO()
+        self.paginadeci3_campo_MaxNumCycles_W = QLineEdit()
+        self.paginadeci3_campo_MaxNumCycles_A = QPushButton('Apply')
+        self.paginadeci3_campo_MaxNumCycles_A.clicked.connect(self.applica3MaxNumCycles)
+        self.paginadeci3_campo_BunchNumberEnd_L = QLabel('BunchNumber End: ')
+        self.paginadeci3_campo_BunchNumberEnd_R = LineEditRO()
+        self.paginadeci3_campo_DelayOffset_L = QLabel('Delay offset: ')
+        self.paginadeci3_campo_DelayOffset_R = LineEditRO()
+        self.paginadeci3_campo_DelayOffset_W = QLineEdit()
+        self.paginadeci3_campo_DelayOffset_A = QPushButton('Apply')       
+        self.paginadeci3_campo_DelayOffset_A.clicked.connect(self.applica3DelayOffset)
+        self.paginadeci3_campo_PolarityMode_L = QLabel('Polarity mode')
+        self.paginadeci3_campo_PolarityMode_R = LineEditRO()
+        self.paginadeci3_campo_PolarityMode_true = QPushButton('On')
+        self.paginadeci3_campo_PolarityMode_true.chiave = '3'
+        self.paginadeci3_campo_PolarityMode_true.clicked.connect(self.applicaPolarityMode)
+        self.paginadeci3_campo_PolarityMode_false = QPushButton('Off')
+        self.paginadeci3_campo_PolarityMode_false.chiave = '3'
+        self.paginadeci3_campo_PolarityMode_false.clicked.connect(self.applicaPolarityMode)
+        self.paginadeci3_campo_ReverseMode_L = QLabel('Reverse mode')
+        self.paginadeci3_campo_ReverseMode_R = LineEditRO()
+        self.paginadeci3_campo_ReverseMode_true = QPushButton('On')
+        self.paginadeci3_campo_ReverseMode_true.chiave = '3'
+        self.paginadeci3_campo_ReverseMode_true.clicked.connect(self.applicaReverseMode)
+        self.paginadeci3_campo_ReverseMode_false = QPushButton('Off')
+        self.paginadeci3_campo_ReverseMode_false.chiave = '3'
+        self.paginadeci3_campo_ReverseMode_false.clicked.connect(self.applicaReverseMode)
         self.LOpaginadeci3 = QGridLayout()
-        self.LOpaginadeci3.addWidget(QLabel('With FEL1 this decive acts on the trigger signal for SLU'), 0, 0, 1, 3)
-        self.LOpaginadeci3.addWidget(QLabel('With FEL2 this decive acts on the trigger signal for SEED'), 1, 0, 1, 3)
-        self.LOpaginadeci3.addWidget(QLabel('State(misleading): '), 2, 0, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_info1, 0, 0, 1, 4)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_info2, 1, 0, 1, 4)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_StateL, 2, 0, 1, 1)
         self.LOpaginadeci3.addWidget(self.paginadeci3_campo_State, 2, 1, 1, 1)
-        self.LOpaginadeci3.addWidget(QLabel('Status: '), 3, 0, 1, 1)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_Status, 3, 1, 1, 2)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_on, 4, 0, 1, 1)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_off, 4, 1, 1, 1)
-        self.LOpaginadeci3.addWidget(QLabel('BunchNumber Start: '), 10, 0, 1, 1)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_BunchNumberStart_R, 10, 1, 1, 1)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_BunchNumberStart_W, 10, 2, 1, 1)
-        self.LOpaginadeci3.addWidget(QLabel('BunchNumber End: '), 11, 0, 1, 1)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_BunchNumberEnd_R, 11, 1, 1, 1)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_BunchNumberEnd_W, 11, 2, 1, 1)
-        self.LOpaginadeci3.addWidget(QLabel('Delay offset: '), 12, 0, 1, 1)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_DelayOffset_R, 12, 1, 1, 1)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_DelayOffset_W, 12, 2, 1, 1)
-        self.LOpaginadeci3.addWidget(QLabel('Sequence: '), 13, 0, 1, 1)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_Sequence_R, 13, 1, 1, 1)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_Sequence_W, 13, 2, 1, 1)
-        self.LOpaginadeci3.addWidget(QLabel('Max num Cycles: '), 14, 0, 1, 1)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_MaxNumCycles_R, 14, 1, 1, 1)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_MaxNumCycles_W, 14, 2, 1, 1)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_StatusMode, 20, 0, 1, 1)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_DelayMode, 20, 1, 1, 1)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_InfiniteCycle, 22, 0, 1, 3)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_EnableStaticTriggerShift, 23, 0, 1, 3)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_PolarityMode, 24, 0, 1, 3)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_ReverseMode, 25, 0, 1, 3)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_SaveModes, 26, 0, 1, 3)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_BunchNumber, 27, 0, 1, 3)
-        self.LOpaginadeci3.addWidget(self.paginadeci3_applica, 30, 0, 1, 3)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_StatusL, 3, 0, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_Status, 3, 1, 1, 3)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_mode, 10, 0, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_modeR, 10, 1, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_DelayMode, 10, 2, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_StatusMode, 10, 3, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_partipari, 11, 0, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_partidispari, 11, 1, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_on, 11, 2, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_off, 11, 3, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_Sequence_L, 20, 0, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_Sequence_R, 20, 1, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_Sequence_W, 20, 2, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_Sequence_A, 20, 3, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_BunchNumberStart_L, 21, 0, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_BunchNumberStart_R, 21, 1, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_BunchNumberStart_W, 21, 2, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_BunchNumberStart_A, 21, 3, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_InfiniteCycle_L, 32, 0, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_InfiniteCycle_R, 32, 1, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_InfiniteCycle_true, 32, 2, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_InfiniteCycle_false, 32, 3, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_MaxNumCycles_L, 33, 0, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_MaxNumCycles_R, 33, 1, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_MaxNumCycles_W, 33, 2, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_MaxNumCycles_A, 33, 3, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_BunchNumberEnd_L, 34, 0, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_BunchNumberEnd_R, 34, 1, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_DelayOffset_L, 35, 0, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_DelayOffset_R, 35, 1, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_DelayOffset_W, 35, 2, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_DelayOffset_A, 35, 3, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_PolarityMode_L, 36, 0, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_PolarityMode_R, 36, 1, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_PolarityMode_true, 36, 2, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_PolarityMode_false, 36, 3, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_ReverseMode_L, 37, 0, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_ReverseMode_R, 37, 1, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_ReverseMode_true, 37, 2, 1, 1)
+        self.LOpaginadeci3.addWidget(self.paginadeci3_campo_ReverseMode_false, 37, 3, 1, 1)
         self.paginadeci3.setLayout(self.LOpaginadeci3)
         #
         self.paginadeci4 = QFrame()
-        self.paginadeci4_campo_BunchNumber = DoppiaSceltanofun('Enable start/end BunchNumber')
-        self.paginadeci4_campo_BunchNumberEnd_R = LineEditRO()
-        self.paginadeci4_campo_BunchNumberEnd_W = QLineEdit()
-        self.paginadeci4_campo_BunchNumberStart_R = LineEditRO()
-        self.paginadeci4_campo_BunchNumberStart_W = QLineEdit()
-        self.paginadeci4_campo_DelayMode = QRadioButton('Delay mode')
-        self.paginadeci4_campo_DelayMode.chiave = '4'
-        self.paginadeci4_campo_DelayMode.clicked.connect(self.sceltadelay)
-        self.paginadeci4_campo_DelayOffset_R = LineEditRO()
-        self.paginadeci4_campo_DelayOffset_W = QLineEdit()
-        self.paginadeci4_campo_EnableStaticTriggerShift = DoppiaScelta('Enable Static Trigger Shift', '4', 'EnableStaticTriggerShift')
-        self.paginadeci4_campo_InfiniteCycle = DoppiaScelta('Infinite cycles', '4', 'InfiniteCycle')
-        self.paginadeci4_campo_InfiniteCycle.radiopositive.setChecked(1)
-        self.paginadeci4_campo_MaxNumCycles_R = LineEditRO()
-        self.paginadeci4_campo_MaxNumCycles_W = QLineEdit()
-        self.paginadeci4_campo_PolarityMode = DoppiaScelta('Polarity mode', '4', 'PolarityMode')
-        self.paginadeci4_campo_ReverseMode = DoppiaScelta('Reverse mode', '4', 'ReverseMode')
-        self.paginadeci4_campo_SaveModes = DoppiaScelta('Save modes', '4', 'SaveModes')
-        self.paginadeci4_campo_Sequence_R = LineEditRO()
-        self.paginadeci4_campo_Sequence_W = QLineEdit()
+        self.paginadeci4_info1 = QLabel('Amplifier 1 without diagnostics')
+        self.paginadeci4_info2 = QLabel('')
+        self.paginadeci4_campo_StateL = QLabel('State(misleading): ')
         self.paginadeci4_campo_State = LineEditRO()
+        self.paginadeci4_campo_StatusL = QLabel('Status: ')
         self.paginadeci4_campo_Status = LineEditRO()
-        self.paginadeci4_campo_StatusMode = QRadioButton('Status Mode')
+        self.paginadeci4_campo_mode = QLabel('MODE:')
+        self.paginadeci4_campo_modeR = LineEditRO()
+        self.paginadeci4_campo_DelayMode = QPushButton('DELAY')
+        self.paginadeci4_campo_DelayMode.chiave = '4'
+        self.paginadeci4_campo_DelayMode.clicked.connect(self.sceltadelay)
+        self.paginadeci4_campo_StatusMode = QPushButton('STATUS')
         self.paginadeci4_campo_StatusMode.chiave = '4'
         self.paginadeci4_campo_StatusMode.clicked.connect(self.sceltastatus)
-        self.paginadeci4_applica = QPushButton('Apply')
-        self.paginadeci4_applica.clicked.connect(self.applica4)
-        self.paginadeci4_on = QPushButton('ON')
-        self.paginadeci4_on.clicked.connect(self.accendi4)
         self.paginadeci4_off = QPushButton('OFF')
-        self.paginadeci4_off.clicked.connect(self.spegni4)
+        self.paginadeci4_off.clicked.connect(self.spegni3)
+        self.paginadeci4_on = QPushButton('START (random)')
+        self.paginadeci4_on.clicked.connect(self.accendi4_nobn)
+        self.paginadeci4_partipari = QPushButton('START even')
+        self.paginadeci4_partipari.clicked.connect(self.accendi4_even)
+        self.paginadeci4_partidispari = QPushButton('START odd')
+        self.paginadeci4_partidispari.clicked.connect(self.accendi4_odd)
+        self.paginadeci4_campo_Sequence_L = QLabel('Sequence: ')
+        self.paginadeci4_campo_Sequence_R = LineEditRO()
+        self.paginadeci4_campo_Sequence_W = QLineEdit()
+        self.paginadeci4_campo_Sequence_A = QPushButton('Apply')
+        self.paginadeci4_campo_Sequence_A.clicked.connect(self.applica4sequenza)
+        self.paginadeci4_campo_BunchNumberStart_L = QLabel('BunchNumber Start: ')
+        self.paginadeci4_campo_BunchNumberStart_R = LineEditRO()
+        self.paginadeci4_campo_BunchNumberStart_W = QLineEdit()
+        self.paginadeci4_campo_BunchNumberStart_A = QPushButton('Apply')
+        self.paginadeci4_campo_BunchNumberStart_A.clicked.connect(self.applica4bnstart)
+        self.paginadeci4_campo_InfiniteCycle_L = QLabel('Infinite cycles')
+        self.paginadeci4_campo_InfiniteCycle_R = LineEditRO()
+        self.paginadeci4_campo_InfiniteCycle_true = QPushButton('On')
+        self.paginadeci4_campo_InfiniteCycle_true.chiave = '4'
+        self.paginadeci4_campo_InfiniteCycle_true.clicked.connect(self.applicaInfiniteCycle)
+        self.paginadeci4_campo_InfiniteCycle_false = QPushButton('Off')
+        self.paginadeci4_campo_InfiniteCycle_false.chiave = '4'
+        self.paginadeci4_campo_InfiniteCycle_false.clicked.connect(self.applicaInfiniteCycle)
+        self.paginadeci4_campo_MaxNumCycles_L = QLabel('Max num Cycles: ')
+        self.paginadeci4_campo_MaxNumCycles_R = LineEditRO()
+        self.paginadeci4_campo_MaxNumCycles_W = QLineEdit()
+        self.paginadeci4_campo_MaxNumCycles_A = QPushButton('Apply')
+        self.paginadeci4_campo_MaxNumCycles_A.clicked.connect(self.applica4MaxNumCycles)
+        self.paginadeci4_campo_BunchNumberEnd_L = QLabel('BunchNumber End: ')
+        self.paginadeci4_campo_BunchNumberEnd_R = LineEditRO()
+        self.paginadeci4_campo_DelayOffset_L = QLabel('Delay offset: ')
+        self.paginadeci4_campo_DelayOffset_R = LineEditRO()
+        self.paginadeci4_campo_DelayOffset_W = QLineEdit()
+        self.paginadeci4_campo_DelayOffset_A = QPushButton('Apply')     
+        self.paginadeci4_campo_DelayOffset_A.clicked.connect(self.applica4DelayOffset)
+        self.paginadeci4_campo_PolarityMode_L = QLabel('Polarity mode')
+        self.paginadeci4_campo_PolarityMode_R = LineEditRO()
+        self.paginadeci4_campo_PolarityMode_true = QPushButton('On')
+        self.paginadeci4_campo_PolarityMode_true.chiave = '4'
+        self.paginadeci4_campo_PolarityMode_true.clicked.connect(self.applicaPolarityMode)
+        self.paginadeci4_campo_PolarityMode_false = QPushButton('Off')
+        self.paginadeci4_campo_PolarityMode_false.chiave = '4'
+        self.paginadeci4_campo_PolarityMode_false.clicked.connect(self.applicaPolarityMode)
+        self.paginadeci4_campo_ReverseMode_L = QLabel('Reverse mode')
+        self.paginadeci4_campo_ReverseMode_R = LineEditRO()
+        self.paginadeci4_campo_ReverseMode_true = QPushButton('On')
+        self.paginadeci4_campo_ReverseMode_true.chiave = '4'
+        self.paginadeci4_campo_ReverseMode_true.clicked.connect(self.applicaReverseMode)
+        self.paginadeci4_campo_ReverseMode_false = QPushButton('Off')
+        self.paginadeci4_campo_ReverseMode_false.chiave = '4'
+        self.paginadeci4_campo_ReverseMode_false.clicked.connect(self.applicaReverseMode)
         self.LOpaginadeci4 = QGridLayout()
-        self.LOpaginadeci4.addWidget(QLabel('Amplifier 1 without diagnostics'), 0, 0, 1, 3)
-        self.LOpaginadeci4.addWidget(QLabel(''), 1, 0, 1, 3)
-        self.LOpaginadeci4.addWidget(QLabel('State(misleading): '), 2, 0, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_info1, 0, 0, 1, 4)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_info2, 1, 0, 1, 4)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_StateL, 2, 0, 1, 1)
         self.LOpaginadeci4.addWidget(self.paginadeci4_campo_State, 2, 1, 1, 1)
-        self.LOpaginadeci4.addWidget(QLabel('Status: '), 3, 0, 1, 1)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_Status, 3, 1, 1, 2)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_on, 4, 0, 1, 1)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_off, 4, 1, 1, 1)
-        self.LOpaginadeci4.addWidget(QLabel('BunchNumber Start: '), 10, 0, 1, 1)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_BunchNumberStart_R, 10, 1, 1, 1)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_BunchNumberStart_W, 10, 2, 1, 1)
-        self.LOpaginadeci4.addWidget(QLabel('BunchNumber End: '), 11, 0, 1, 1)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_BunchNumberEnd_R, 11, 1, 1, 1)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_BunchNumberEnd_W, 11, 2, 1, 1)
-        self.LOpaginadeci4.addWidget(QLabel('Delay offset: '), 12, 0, 1, 1)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_DelayOffset_R, 12, 1, 1, 1)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_DelayOffset_W, 12, 2, 1, 1)
-        self.LOpaginadeci4.addWidget(QLabel('Sequence: '), 13, 0, 1, 1)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_Sequence_R, 13, 1, 1, 1)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_Sequence_W, 13, 2, 1, 1)
-        self.LOpaginadeci4.addWidget(QLabel('Max num Cycles: '), 14, 0, 1, 1)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_MaxNumCycles_R, 14, 1, 1, 1)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_MaxNumCycles_W, 14, 2, 1, 1)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_StatusMode, 20, 0, 1, 1)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_DelayMode, 20, 1, 1, 1)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_InfiniteCycle, 22, 0, 1, 3)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_EnableStaticTriggerShift, 23, 0, 1, 3)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_PolarityMode, 24, 0, 1, 3)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_ReverseMode, 25, 0, 1, 3)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_SaveModes, 26, 0, 1, 3)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_BunchNumber, 27, 0, 1, 3)
-        self.LOpaginadeci4.addWidget(self.paginadeci4_applica, 30, 0, 1, 3)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_StatusL, 3, 0, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_Status, 3, 1, 1, 3)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_mode, 10, 0, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_modeR, 10, 1, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_DelayMode, 10, 2, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_StatusMode, 10, 3, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_partipari, 11, 0, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_partidispari, 11, 1, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_on, 11, 2, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_off, 11, 3, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_Sequence_L, 20, 0, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_Sequence_R, 20, 1, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_Sequence_W, 20, 2, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_Sequence_A, 20, 3, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_BunchNumberStart_L, 21, 0, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_BunchNumberStart_R, 21, 1, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_BunchNumberStart_W, 21, 2, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_BunchNumberStart_A, 21, 3, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_InfiniteCycle_L, 32, 0, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_InfiniteCycle_R, 32, 1, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_InfiniteCycle_true, 32, 2, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_InfiniteCycle_false, 32, 3, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_MaxNumCycles_L, 33, 0, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_MaxNumCycles_R, 33, 1, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_MaxNumCycles_W, 33, 2, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_MaxNumCycles_A, 33, 3, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_BunchNumberEnd_L, 34, 0, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_BunchNumberEnd_R, 34, 1, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_DelayOffset_L, 35, 0, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_DelayOffset_R, 35, 1, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_DelayOffset_W, 35, 2, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_DelayOffset_A, 35, 3, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_PolarityMode_L, 36, 0, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_PolarityMode_R, 36, 1, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_PolarityMode_true, 36, 2, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_PolarityMode_false, 36, 3, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_ReverseMode_L, 37, 0, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_ReverseMode_R, 37, 1, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_ReverseMode_true, 37, 2, 1, 1)
+        self.LOpaginadeci4.addWidget(self.paginadeci4_campo_ReverseMode_false, 37, 3, 1, 1)
         self.paginadeci4.setLayout(self.LOpaginadeci4)
         #
         self.paginadeci5 = QFrame()
-        self.paginadeci5_campo_BunchNumber = DoppiaSceltanofun('Enable start/end BunchNumber')
-        self.paginadeci5_campo_BunchNumberEnd_R = LineEditRO()
-        self.paginadeci5_campo_BunchNumberEnd_W = QLineEdit()
-        self.paginadeci5_campo_BunchNumberStart_R = LineEditRO()
-        self.paginadeci5_campo_BunchNumberStart_W = QLineEdit()
-        self.paginadeci5_campo_DelayMode = QRadioButton('Delay mode')
-        self.paginadeci5_campo_DelayMode.chiave = '5'
-        self.paginadeci5_campo_DelayMode.clicked.connect(self.sceltadelay)
-        self.paginadeci5_campo_DelayOffset_R = LineEditRO()
-        self.paginadeci5_campo_DelayOffset_W = QLineEdit()
-        self.paginadeci5_campo_EnableStaticTriggerShift = DoppiaScelta('Enable Static Trigger Shift', '5', 'EnableStaticTriggerShift')
-        self.paginadeci5_campo_InfiniteCycle = DoppiaScelta('Infinite cycles', '5', 'InfiniteCycle')
-        self.paginadeci5_campo_InfiniteCycle.radiopositive.setChecked(1)
-        self.paginadeci5_campo_MaxNumCycles_R = LineEditRO()
-        self.paginadeci5_campo_MaxNumCycles_W = QLineEdit()
-        self.paginadeci5_campo_PolarityMode = DoppiaScelta('Polarity mode', '5', 'PolarityMode')
-        self.paginadeci5_campo_ReverseMode = DoppiaScelta('Reverse mode', '5', 'ReverseMode')
-        self.paginadeci5_campo_SaveModes = DoppiaScelta('Save modes', '5', 'SaveModes')
-        self.paginadeci5_campo_Sequence_R = LineEditRO()
-        self.paginadeci5_campo_Sequence_W = QLineEdit()
+        self.paginadeci5_info1 = QLabel('Amplifier 2 without diagnostics')
+        self.paginadeci5_info2 = QLabel('')
+        self.paginadeci5_campo_StateL = QLabel('State(misleading): ')
         self.paginadeci5_campo_State = LineEditRO()
+        self.paginadeci5_campo_StatusL = QLabel('Status: ')
         self.paginadeci5_campo_Status = LineEditRO()
-        self.paginadeci5_campo_StatusMode = QRadioButton('Status Mode')
+        self.paginadeci5_campo_mode = QLabel('MODE:')
+        self.paginadeci5_campo_modeR = LineEditRO()
+        self.paginadeci5_campo_DelayMode = QPushButton('DELAY')
+        self.paginadeci5_campo_DelayMode.chiave = '5'
+        self.paginadeci5_campo_DelayMode.clicked.connect(self.sceltadelay)
+        self.paginadeci5_campo_StatusMode = QPushButton('STATUS')
         self.paginadeci5_campo_StatusMode.chiave = '5'
         self.paginadeci5_campo_StatusMode.clicked.connect(self.sceltastatus)
-        self.paginadeci5_applica = QPushButton('Apply')
-        self.paginadeci5_applica.clicked.connect(self.applica5)
-        self.paginadeci5_on = QPushButton('ON')
-        self.paginadeci5_on.clicked.connect(self.accendi5)
         self.paginadeci5_off = QPushButton('OFF')
-        self.paginadeci5_off.clicked.connect(self.spegni5)
+        self.paginadeci5_off.clicked.connect(self.spegni3)
+        self.paginadeci5_on = QPushButton('START (random)')
+        self.paginadeci5_on.clicked.connect(self.accendi5_nobn)
+        self.paginadeci5_partipari = QPushButton('START even')
+        self.paginadeci5_partipari.clicked.connect(self.accendi5_even)
+        self.paginadeci5_partidispari = QPushButton('START odd')
+        self.paginadeci5_partidispari.clicked.connect(self.accendi5_odd)
+        self.paginadeci5_campo_Sequence_L = QLabel('Sequence: ')
+        self.paginadeci5_campo_Sequence_R = LineEditRO()
+        self.paginadeci5_campo_Sequence_W = QLineEdit()
+        self.paginadeci5_campo_Sequence_A = QPushButton('Apply')
+        self.paginadeci5_campo_Sequence_A.clicked.connect(self.applica5sequenza)
+        self.paginadeci5_campo_BunchNumberStart_L = QLabel('BunchNumber Start: ')
+        self.paginadeci5_campo_BunchNumberStart_R = LineEditRO()
+        self.paginadeci5_campo_BunchNumberStart_W = QLineEdit()
+        self.paginadeci5_campo_BunchNumberStart_A = QPushButton('Apply')
+        self.paginadeci5_campo_BunchNumberStart_A.clicked.connect(self.applica5bnstart)
+        self.paginadeci5_campo_InfiniteCycle_L = QLabel('Infinite cycles')
+        self.paginadeci5_campo_InfiniteCycle_R = LineEditRO()
+        self.paginadeci5_campo_InfiniteCycle_true = QPushButton('On')
+        self.paginadeci5_campo_InfiniteCycle_true.chiave = '5'
+        self.paginadeci5_campo_InfiniteCycle_true.clicked.connect(self.applicaInfiniteCycle)
+        self.paginadeci5_campo_InfiniteCycle_false = QPushButton('Off')
+        self.paginadeci5_campo_InfiniteCycle_false.chiave = '5'
+        self.paginadeci5_campo_InfiniteCycle_false.clicked.connect(self.applicaInfiniteCycle)
+        self.paginadeci5_campo_MaxNumCycles_L = QLabel('Max num Cycles: ')
+        self.paginadeci5_campo_MaxNumCycles_R = LineEditRO()
+        self.paginadeci5_campo_MaxNumCycles_W = QLineEdit()
+        self.paginadeci5_campo_MaxNumCycles_A = QPushButton('Apply')
+        self.paginadeci5_campo_MaxNumCycles_A.clicked.connect(self.applica5MaxNumCycles)
+        self.paginadeci5_campo_BunchNumberEnd_L = QLabel('BunchNumber End: ')
+        self.paginadeci5_campo_BunchNumberEnd_R = LineEditRO()
+        self.paginadeci5_campo_DelayOffset_L = QLabel('Delay offset: ')
+        self.paginadeci5_campo_DelayOffset_R = LineEditRO()
+        self.paginadeci5_campo_DelayOffset_W = QLineEdit()
+        self.paginadeci5_campo_DelayOffset_A = QPushButton('Apply')       
+        self.paginadeci5_campo_DelayOffset_A.clicked.connect(self.applica5DelayOffset)
+        self.paginadeci5_campo_PolarityMode_L = QLabel('Polarity mode')
+        self.paginadeci5_campo_PolarityMode_R = LineEditRO()
+        self.paginadeci5_campo_PolarityMode_true = QPushButton('On')
+        self.paginadeci5_campo_PolarityMode_true.chiave = '5'
+        self.paginadeci5_campo_PolarityMode_true.clicked.connect(self.applicaPolarityMode)
+        self.paginadeci5_campo_PolarityMode_false = QPushButton('Off')
+        self.paginadeci5_campo_PolarityMode_false.chiave = '5'
+        self.paginadeci5_campo_PolarityMode_false.clicked.connect(self.applicaPolarityMode)
+        self.paginadeci5_campo_ReverseMode_L = QLabel('Reverse mode')
+        self.paginadeci5_campo_ReverseMode_R = LineEditRO()
+        self.paginadeci5_campo_ReverseMode_true = QPushButton('On')
+        self.paginadeci5_campo_ReverseMode_true.chiave = '5'
+        self.paginadeci5_campo_ReverseMode_true.clicked.connect(self.applicaReverseMode)
+        self.paginadeci5_campo_ReverseMode_false = QPushButton('Off')
+        self.paginadeci5_campo_ReverseMode_false.chiave = '5'
+        self.paginadeci5_campo_ReverseMode_false.clicked.connect(self.applicaReverseMode)
         self.LOpaginadeci5 = QGridLayout()
-        self.LOpaginadeci5.addWidget(QLabel('Amplifier 2 without diagnostics'), 0, 0, 1, 3)
-        self.LOpaginadeci5.addWidget(QLabel(''), 1, 0, 1, 3)
-        self.LOpaginadeci5.addWidget(QLabel('State(misleading): '), 2, 0, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_info1, 0, 0, 1, 4)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_info2, 1, 0, 1, 4)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_StateL, 2, 0, 1, 1)
         self.LOpaginadeci5.addWidget(self.paginadeci5_campo_State, 2, 1, 1, 1)
-        self.LOpaginadeci5.addWidget(QLabel('Status: '), 3, 0, 1, 1)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_Status, 3, 1, 1, 2)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_on, 4, 0, 1, 1)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_off, 4, 1, 1, 1)
-        self.LOpaginadeci5.addWidget(QLabel('BunchNumber Start: '), 10, 0, 1, 1)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_BunchNumberStart_R, 10, 1, 1, 1)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_BunchNumberStart_W, 10, 2, 1, 1)
-        self.LOpaginadeci5.addWidget(QLabel('BunchNumber End: '), 11, 0, 1, 1)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_BunchNumberEnd_R, 11, 1, 1, 1)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_BunchNumberEnd_W, 11, 2, 1, 1)
-        self.LOpaginadeci5.addWidget(QLabel('Delay offset: '), 12, 0, 1, 1)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_DelayOffset_R, 12, 1, 1, 1)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_DelayOffset_W, 12, 2, 1, 1)
-        self.LOpaginadeci5.addWidget(QLabel('Sequence: '), 13, 0, 1, 1)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_Sequence_R, 13, 1, 1, 1)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_Sequence_W, 13, 2, 1, 1)
-        self.LOpaginadeci5.addWidget(QLabel('Max num Cycles: '), 14, 0, 1, 1)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_MaxNumCycles_R, 14, 1, 1, 1)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_MaxNumCycles_W, 14, 2, 1, 1)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_StatusMode, 20, 0, 1, 1)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_DelayMode, 20, 1, 1, 1)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_InfiniteCycle, 22, 0, 1, 3)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_EnableStaticTriggerShift, 23, 0, 1, 3)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_PolarityMode, 24, 0, 1, 3)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_ReverseMode, 25, 0, 1, 3)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_SaveModes, 26, 0, 1, 3)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_BunchNumber, 27, 0, 1, 3)
-        self.LOpaginadeci5.addWidget(self.paginadeci5_applica, 30, 0, 1, 3)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_StatusL, 3, 0, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_Status, 3, 1, 1, 3)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_mode, 10, 0, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_modeR, 10, 1, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_DelayMode, 10, 2, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_StatusMode, 10, 3, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_partipari, 11, 0, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_partidispari, 11, 1, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_on, 11, 2, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_off, 11, 3, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_Sequence_L, 20, 0, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_Sequence_R, 20, 1, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_Sequence_W, 20, 2, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_Sequence_A, 20, 3, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_BunchNumberStart_L, 21, 0, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_BunchNumberStart_R, 21, 1, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_BunchNumberStart_W, 21, 2, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_BunchNumberStart_A, 21, 3, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_InfiniteCycle_L, 32, 0, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_InfiniteCycle_R, 32, 1, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_InfiniteCycle_true, 32, 2, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_InfiniteCycle_false, 32, 3, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_MaxNumCycles_L, 33, 0, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_MaxNumCycles_R, 33, 1, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_MaxNumCycles_W, 33, 2, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_MaxNumCycles_A, 33, 3, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_BunchNumberEnd_L, 34, 0, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_BunchNumberEnd_R, 34, 1, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_DelayOffset_L, 35, 0, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_DelayOffset_R, 35, 1, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_DelayOffset_W, 35, 2, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_DelayOffset_A, 35, 3, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_PolarityMode_L, 36, 0, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_PolarityMode_R, 36, 1, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_PolarityMode_true, 36, 2, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_PolarityMode_false, 36, 3, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_ReverseMode_L, 37, 0, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_ReverseMode_R, 37, 1, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_ReverseMode_true, 37, 2, 1, 1)
+        self.LOpaginadeci5.addWidget(self.paginadeci5_campo_ReverseMode_false, 37, 3, 1, 1)
         self.paginadeci5.setLayout(self.LOpaginadeci5)
         #
         self.insertTab(0, self.paginagenerale, 'General')
@@ -445,6 +690,32 @@ class Finestra(QTabWidget):
         self.insertTab(5, self.paginadeci5, 'rttrigger_sl.05')
         self.setWindowTitle("SL/SLU DECIMATORS")
         self.show()
+        #inizializzazione
+        tmp = devicelist['1'].read_attributes(['BunchNumberEnd', 'BunchNumberStart', 'DelayMode', 'DelayOffset', 'EnableStaticTriggerShift', 'InfiniteCycle', 'MaxNumCycles', 'PolarityMode', 'ReverseMode', 'SaveModes', 'Sequence', 'State', 'Status', 'StatusMode'])
+        self.paginadeci1_campo_BunchNumberStart_W.setText(str(tmp[1].value))
+        self.paginadeci1_campo_Sequence_W.setText(str(tmp[10].value).replace('[', '').replace(']','').replace(' ', ', '))
+        self.paginadeci1_campo_DelayOffset_W.setText(str(tmp[3].value))
+        self.paginadeci1_campo_MaxNumCycles_W.setText(str(tmp[6].value))
+        tmp = devicelist['2'].read_attributes(['BunchNumberEnd', 'BunchNumberStart', 'DelayMode', 'DelayOffset', 'EnableStaticTriggerShift', 'InfiniteCycle', 'MaxNumCycles', 'PolarityMode', 'ReverseMode', 'SaveModes', 'Sequence', 'State', 'Status', 'StatusMode'])
+        self.paginadeci2_campo_BunchNumberStart_W.setText(str(tmp[1].value))
+        self.paginadeci2_campo_Sequence_W.setText(str(tmp[10].value).replace('[', '').replace(']','').replace(' ', ', '))
+        self.paginadeci2_campo_DelayOffset_W.setText(str(tmp[3].value))
+        self.paginadeci2_campo_MaxNumCycles_W.setText(str(tmp[6].value))
+        tmp = devicelist['3'].read_attributes(['BunchNumberEnd', 'BunchNumberStart', 'DelayMode', 'DelayOffset', 'EnableStaticTriggerShift', 'InfiniteCycle', 'MaxNumCycles', 'PolarityMode', 'ReverseMode', 'SaveModes', 'Sequence', 'State', 'Status', 'StatusMode'])
+        self.paginadeci3_campo_BunchNumberStart_W.setText(str(tmp[1].value))
+        self.paginadeci3_campo_Sequence_W.setText(str(tmp[10].value).replace('[', '').replace(']','').replace(' ', ', '))
+        self.paginadeci3_campo_DelayOffset_W.setText(str(tmp[3].value))
+        self.paginadeci3_campo_MaxNumCycles_W.setText(str(tmp[6].value))
+        tmp = devicelist['4'].read_attributes(['BunchNumberEnd', 'BunchNumberStart', 'DelayMode', 'DelayOffset', 'EnableStaticTriggerShift', 'InfiniteCycle', 'MaxNumCycles', 'PolarityMode', 'ReverseMode', 'SaveModes', 'Sequence', 'State', 'Status', 'StatusMode'])
+        self.paginadeci4_campo_BunchNumberStart_W.setText(str(tmp[1].value))
+        self.paginadeci4_campo_Sequence_W.setText(str(tmp[10].value).replace('[', '').replace(']','').replace(' ', ', '))
+        self.paginadeci4_campo_DelayOffset_W.setText(str(tmp[3].value))
+        self.paginadeci4_campo_MaxNumCycles_W.setText(str(tmp[6].value))
+        tmp = devicelist['5'].read_attributes(['BunchNumberEnd', 'BunchNumberStart', 'DelayMode', 'DelayOffset', 'EnableStaticTriggerShift', 'InfiniteCycle', 'MaxNumCycles', 'PolarityMode', 'ReverseMode', 'SaveModes', 'Sequence', 'State', 'Status', 'StatusMode'])
+        self.paginadeci5_campo_BunchNumberStart_W.setText(str(tmp[1].value))
+        self.paginadeci5_campo_Sequence_W.setText(str(tmp[10].value).replace('[', '').replace(']','').replace(' ', ', '))
+        self.paginadeci5_campo_DelayOffset_W.setText(str(tmp[3].value))
+        self.paginadeci5_campo_MaxNumCycles_W.setText(str(tmp[6].value))
         #timer
         self.timer = QBasicTimer()
         self.timer.start(2000, self)
@@ -535,310 +806,310 @@ class Finestra(QTabWidget):
             self.paginadeci1_campo_BunchNumberEnd_R.setText(str(tmp[0].value))
             self.paginadeci1_campo_BunchNumberStart_R.setText(str(tmp[1].value))
             if tmp[2].value:
-                self.paginadeci1_campo_DelayMode.setChecked(1)
+                self.paginadeci1_campo_modeR.setText('Delay')
                 self.paginagenerale_1modalita.setText('Delay')
-            else:
-                self.paginadeci1_campo_DelayMode.setChecked(0)
             self.paginadeci1_campo_DelayOffset_R.setText(str(tmp[3].value))
-            if tmp[4].value:
-                self.paginadeci1_campo_EnableStaticTriggerShift.lettura.setText('True')
-            else:
-                self.paginadeci1_campo_EnableStaticTriggerShift.lettura.setText('False')
             if tmp[5].value:
-                self.paginadeci1_campo_InfiniteCycle.lettura.setText('True')
+                self.paginadeci1_campo_InfiniteCycle_R.setText('True')
             else:
-                self.paginadeci1_campo_InfiniteCycle.lettura.setText('False')
+                self.paginadeci1_campo_InfiniteCycle_R.setText('False')
             self.paginadeci1_campo_MaxNumCycles_R.setText(str(tmp[6].value))
             if tmp[7].value:
-                self.paginadeci1_campo_PolarityMode.lettura.setText('True')
+                self.paginadeci1_campo_PolarityMode_R.setText('True')
             else:
-                self.paginadeci1_campo_PolarityMode.lettura.setText('False')
+                self.paginadeci1_campo_PolarityMode_R.setText('False')
             if tmp[8].value:
-                self.paginadeci1_campo_ReverseMode.lettura.setText('True')
-            else:
-                self.paginadeci1_campo_ReverseMode.lettura.setText('False')
-            if tmp[9].value:
-                self.paginadeci1_campo_SaveModes.lettura.setText('True')
+                self.paginadeci1_campo_ReverseMode_R.setText('True')
             else:
-                self.paginadeci1_campo_SaveModes.lettura.setText('False')
-            self.paginadeci1_campo_Sequence_R.setText(str(tmp[10].value))
+                self.paginadeci1_campo_ReverseMode_R.setText('False')
+            self.paginadeci1_campo_Sequence_R.setText(str(tmp[10].value).replace('[', '').replace(']','').replace(' ', ', '))
             self.paginadeci1_campo_State.setText(str(tmp[11].value))
             self.paginadeci1_campo_Status.setText(str(tmp[12].value))
             if tmp[13].value:
-                self.paginadeci1_campo_StatusMode.setChecked(1)
+                self.paginadeci1_campo_modeR.setText('Status')
                 self.paginagenerale_1modalita.setText('Status')
-            else:
-                self.paginadeci1_campo_StatusMode.setChecked(0)
         except:
             self.paginadeci1_campo_BunchNumberEnd_R.setText('#####')
             self.paginadeci1_campo_BunchNumberStart_R.setText('#####')
+            self.paginadeci1_campo_modeR.setText('#####')
             self.paginagenerale_1modalita.setText('#####')
             self.paginadeci1_campo_DelayOffset_R.setText('#####')
+            self.paginadeci1_campo_InfiniteCycle_R.setText('#####')
+            self.paginadeci1_campo_MaxNumCycles_R.setText('#####')
+            self.paginadeci1_campo_PolarityMode_R.setText('#####')
+            self.paginadeci1_campo_ReverseMode_R.setText('#####')
             self.paginadeci1_campo_Sequence_R.setText('#####')
             self.paginadeci1_campo_State.setText('#####')
             self.paginadeci1_campo_Status.setText('#####')
-            self.paginadeci1_campo_MaxNumCycles_R.setText('#####')
-            self.paginadeci1_campo_DelayMode.setChecked(0)
-            self.paginadeci1_campo_StatusMode.setChecked(0)
-            self.paginadeci1_campo_EnableStaticTriggerShift.lettura.setText('UNKNOW')
-            self.paginadeci1_campo_InfiniteCycle.lettura.setText('UNKNOW')
-            self.paginadeci1_campo_PolarityMode.lettura.setText('UNKNOW')
-            self.paginadeci1_campo_ReverseMode.lettura.setText('UNKNOW')
-            self.paginadeci1_campo_SaveModes.lettura.setText('UNKNOW')
         ##
         try:
             tmp = devicelist['2'].read_attributes(['BunchNumberEnd', 'BunchNumberStart', 'DelayMode', 'DelayOffset', 'EnableStaticTriggerShift', 'InfiniteCycle', 'MaxNumCycles', 'PolarityMode', 'ReverseMode', 'SaveModes', 'Sequence', 'State', 'Status', 'StatusMode'])
             self.paginadeci2_campo_BunchNumberEnd_R.setText(str(tmp[0].value))
             self.paginadeci2_campo_BunchNumberStart_R.setText(str(tmp[1].value))
             if tmp[2].value:
-                self.paginadeci2_campo_DelayMode.setChecked(1)
+                self.paginadeci2_campo_modeR.setText('Delay')
                 self.paginagenerale_2modalita.setText('Delay')
-            else:
-                self.paginadeci2_campo_DelayMode.setChecked(0)
             self.paginadeci2_campo_DelayOffset_R.setText(str(tmp[3].value))
-            if tmp[4].value:
-                self.paginadeci2_campo_EnableStaticTriggerShift.lettura.setText('True')
-            else:
-                self.paginadeci2_campo_EnableStaticTriggerShift.lettura.setText('False')
             if tmp[5].value:
-                self.paginadeci2_campo_InfiniteCycle.lettura.setText('True')
+                self.paginadeci2_campo_InfiniteCycle_R.setText('True')
             else:
-                self.paginadeci2_campo_InfiniteCycle.lettura.setText('False')
+                self.paginadeci2_campo_InfiniteCycle_R.setText('False')
             self.paginadeci2_campo_MaxNumCycles_R.setText(str(tmp[6].value))
             if tmp[7].value:
-                self.paginadeci2_campo_PolarityMode.lettura.setText('True')
+                self.paginadeci2_campo_PolarityMode_R.setText('True')
             else:
-                self.paginadeci2_campo_PolarityMode.lettura.setText('False')
+                self.paginadeci2_campo_PolarityMode_R.setText('False')
             if tmp[8].value:
-                self.paginadeci2_campo_ReverseMode.lettura.setText('True')
+                self.paginadeci2_campo_ReverseMode_R.setText('True')
             else:
-                self.paginadeci2_campo_ReverseMode.lettura.setText('False')
-            if tmp[9].value:
-                self.paginadeci2_campo_SaveModes.lettura.setText('True')
-            else:
-                self.paginadeci2_campo_SaveModes.lettura.setText('False')
-            self.paginadeci2_campo_Sequence_R.setText(str(tmp[10].value))
+                self.paginadeci2_campo_ReverseMode_R.setText('False')
+            self.paginadeci2_campo_Sequence_R.setText(str(tmp[10].value).replace('[', '').replace(']','').replace(' ', ', '))
             self.paginadeci2_campo_State.setText(str(tmp[11].value))
             self.paginadeci2_campo_Status.setText(str(tmp[12].value))
             if tmp[13].value:
-                self.paginadeci2_campo_StatusMode.setChecked(1)
+                self.paginadeci2_campo_modeR.setText('Status')
                 self.paginagenerale_2modalita.setText('Status')
-            else:
-                self.paginadeci2_campo_StatusMode.setChecked(0)
         except:
             self.paginadeci2_campo_BunchNumberEnd_R.setText('#####')
             self.paginadeci2_campo_BunchNumberStart_R.setText('#####')
+            self.paginadeci2_campo_modeR.setText('#####')
             self.paginagenerale_2modalita.setText('#####')
             self.paginadeci2_campo_DelayOffset_R.setText('#####')
+            self.paginadeci2_campo_InfiniteCycle_R.setText('#####')
+            self.paginadeci2_campo_MaxNumCycles_R.setText('#####')
+            self.paginadeci2_campo_PolarityMode_R.setText('#####')
+            self.paginadeci2_campo_ReverseMode_R.setText('#####')
             self.paginadeci2_campo_Sequence_R.setText('#####')
             self.paginadeci2_campo_State.setText('#####')
             self.paginadeci2_campo_Status.setText('#####')
-            self.paginadeci2_campo_MaxNumCycles_R.setText('#####')
-            self.paginadeci2_campo_DelayMode.setChecked(0)
-            self.paginadeci2_campo_StatusMode.setChecked(0)
-            self.paginadeci2_campo_EnableStaticTriggerShift.lettura.setText('UNKNOW')
-            self.paginadeci2_campo_InfiniteCycle.lettura.setText('UNKNOW')
-            self.paginadeci2_campo_PolarityMode.lettura.setText('UNKNOW')
-            self.paginadeci2_campo_ReverseMode.lettura.setText('UNKNOW')
-            self.paginadeci2_campo_SaveModes.lettura.setText('UNKNOW')
         ##
         try:
             tmp = devicelist['3'].read_attributes(['BunchNumberEnd', 'BunchNumberStart', 'DelayMode', 'DelayOffset', 'EnableStaticTriggerShift', 'InfiniteCycle', 'MaxNumCycles', 'PolarityMode', 'ReverseMode', 'SaveModes', 'Sequence', 'State', 'Status', 'StatusMode'])
             self.paginadeci3_campo_BunchNumberEnd_R.setText(str(tmp[0].value))
             self.paginadeci3_campo_BunchNumberStart_R.setText(str(tmp[1].value))
             if tmp[2].value:
-                self.paginadeci3_campo_DelayMode.setChecked(1)
+                self.paginadeci3_campo_modeR.setText('Delay')
                 self.paginagenerale_3modalita.setText('Delay')
-            else:
-                self.paginadeci3_campo_DelayMode.setChecked(0)
             self.paginadeci3_campo_DelayOffset_R.setText(str(tmp[3].value))
-            if tmp[4].value:
-                self.paginadeci3_campo_EnableStaticTriggerShift.lettura.setText('True')
-            else:
-                self.paginadeci3_campo_EnableStaticTriggerShift.lettura.setText('False')
             if tmp[5].value:
-                self.paginadeci3_campo_InfiniteCycle.lettura.setText('True')
+                self.paginadeci3_campo_InfiniteCycle_R.setText('True')
             else:
-                self.paginadeci3_campo_InfiniteCycle.lettura.setText('False')
+                self.paginadeci3_campo_InfiniteCycle_R.setText('False')
             self.paginadeci3_campo_MaxNumCycles_R.setText(str(tmp[6].value))
             if tmp[7].value:
-                self.paginadeci3_campo_PolarityMode.lettura.setText('True')
+                self.paginadeci3_campo_PolarityMode_R.setText('True')
             else:
-                self.paginadeci3_campo_PolarityMode.lettura.setText('False')
+                self.paginadeci3_campo_PolarityMode_R.setText('False')
             if tmp[8].value:
-                self.paginadeci3_campo_ReverseMode.lettura.setText('True')
+                self.paginadeci3_campo_ReverseMode_R.setText('True')
             else:
-                self.paginadeci3_campo_ReverseMode.lettura.setText('False')
-            if tmp[9].value:
-                self.paginadeci3_campo_SaveModes.lettura.setText('True')
-            else:
-                self.paginadeci3_campo_SaveModes.lettura.setText('False')
-            self.paginadeci3_campo_Sequence_R.setText(str(tmp[10].value))
+                self.paginadeci3_campo_ReverseMode_R.setText('False')
+            self.paginadeci3_campo_Sequence_R.setText(str(tmp[10].value).replace('[', '').replace(']','').replace(' ', ', '))
             self.paginadeci3_campo_State.setText(str(tmp[11].value))
             self.paginadeci3_campo_Status.setText(str(tmp[12].value))
             if tmp[13].value:
-                self.paginadeci3_campo_StatusMode.setChecked(1)
+                self.paginadeci3_campo_modeR.setText('Status')
                 self.paginagenerale_3modalita.setText('Status')
-            else:
-                self.paginadeci3_campo_StatusMode.setChecked(0)
         except:
             self.paginadeci3_campo_BunchNumberEnd_R.setText('#####')
             self.paginadeci3_campo_BunchNumberStart_R.setText('#####')
+            self.paginadeci3_campo_modeR.setText('#####')
             self.paginagenerale_3modalita.setText('#####')
             self.paginadeci3_campo_DelayOffset_R.setText('#####')
+            self.paginadeci3_campo_InfiniteCycle_R.setText('#####')
+            self.paginadeci3_campo_MaxNumCycles_R.setText('#####')
+            self.paginadeci3_campo_PolarityMode_R.setText('#####')
+            self.paginadeci3_campo_ReverseMode_R.setText('#####')
             self.paginadeci3_campo_Sequence_R.setText('#####')
             self.paginadeci3_campo_State.setText('#####')
             self.paginadeci3_campo_Status.setText('#####')
-            self.paginadeci3_campo_MaxNumCycles_R.setText('#####')
-            self.paginadeci3_campo_DelayMode.setChecked(0)
-            self.paginadeci3_campo_StatusMode.setChecked(0)
-            self.paginadeci3_campo_EnableStaticTriggerShift.lettura.setText('UNKNOW')
-            self.paginadeci3_campo_InfiniteCycle.lettura.setText('UNKNOW')
-            self.paginadeci3_campo_PolarityMode.lettura.setText('UNKNOW')
-            self.paginadeci3_campo_ReverseMode.lettura.setText('UNKNOW')
-            self.paginadeci3_campo_SaveModes.lettura.setText('UNKNOW')
         ##
         try:
             tmp = devicelist['4'].read_attributes(['BunchNumberEnd', 'BunchNumberStart', 'DelayMode', 'DelayOffset', 'EnableStaticTriggerShift', 'InfiniteCycle', 'MaxNumCycles', 'PolarityMode', 'ReverseMode', 'SaveModes', 'Sequence', 'State', 'Status', 'StatusMode'])
             self.paginadeci4_campo_BunchNumberEnd_R.setText(str(tmp[0].value))
             self.paginadeci4_campo_BunchNumberStart_R.setText(str(tmp[1].value))
             if tmp[2].value:
-                self.paginadeci4_campo_DelayMode.setChecked(1)
+                self.paginadeci4_campo_modeR.setText('Delay')
                 self.paginagenerale_4modalita.setText('Delay')
-            else:
-                self.paginadeci4_campo_DelayMode.setChecked(0)
             self.paginadeci4_campo_DelayOffset_R.setText(str(tmp[3].value))
-            if tmp[4].value:
-                self.paginadeci4_campo_EnableStaticTriggerShift.lettura.setText('True')
-            else:
-                self.paginadeci4_campo_EnableStaticTriggerShift.lettura.setText('False')
             if tmp[5].value:
-                self.paginadeci4_campo_InfiniteCycle.lettura.setText('True')
+                self.paginadeci4_campo_InfiniteCycle_R.setText('True')
             else:
-                self.paginadeci4_campo_InfiniteCycle.lettura.setText('False')
+                self.paginadeci4_campo_InfiniteCycle_R.setText('False')
             self.paginadeci4_campo_MaxNumCycles_R.setText(str(tmp[6].value))
             if tmp[7].value:
-                self.paginadeci4_campo_PolarityMode.lettura.setText('True')
+                self.paginadeci4_campo_PolarityMode_R.setText('True')
             else:
-                self.paginadeci4_campo_PolarityMode.lettura.setText('False')
+                self.paginadeci4_campo_PolarityMode_R.setText('False')
             if tmp[8].value:
-                self.paginadeci4_campo_ReverseMode.lettura.setText('True')
+                self.paginadeci4_campo_ReverseMode_R.setText('True')
             else:
-                self.paginadeci4_campo_ReverseMode.lettura.setText('False')
-            if tmp[9].value:
-                self.paginadeci4_campo_SaveModes.lettura.setText('True')
-            else:
-                self.paginadeci4_campo_SaveModes.lettura.setText('False')
-            self.paginadeci4_campo_Sequence_R.setText(str(tmp[10].value))
+                self.paginadeci4_campo_ReverseMode_R.setText('False')
+            self.paginadeci4_campo_Sequence_R.setText(str(tmp[10].value).replace('[', '').replace(']','').replace(' ', ', '))
             self.paginadeci4_campo_State.setText(str(tmp[11].value))
             self.paginadeci4_campo_Status.setText(str(tmp[12].value))
             if tmp[13].value:
-                self.paginadeci4_campo_StatusMode.setChecked(1)
+                self.paginadeci4_campo_modeR.setText('Status')
                 self.paginagenerale_4modalita.setText('Status')
-            else:
-                self.paginadeci4_campo_StatusMode.setChecked(0)
         except:
             self.paginadeci4_campo_BunchNumberEnd_R.setText('#####')
             self.paginadeci4_campo_BunchNumberStart_R.setText('#####')
+            self.paginadeci4_campo_modeR.setText('#####')
             self.paginagenerale_4modalita.setText('#####')
             self.paginadeci4_campo_DelayOffset_R.setText('#####')
+            self.paginadeci4_campo_InfiniteCycle_R.setText('#####')
+            self.paginadeci4_campo_MaxNumCycles_R.setText('#####')
+            self.paginadeci4_campo_PolarityMode_R.setText('#####')
+            self.paginadeci4_campo_ReverseMode_R.setText('#####')
             self.paginadeci4_campo_Sequence_R.setText('#####')
             self.paginadeci4_campo_State.setText('#####')
             self.paginadeci4_campo_Status.setText('#####')
-            self.paginadeci4_campo_MaxNumCycles_R.setText('#####')
-            self.paginadeci4_campo_DelayMode.setChecked(0)
-            self.paginadeci4_campo_StatusMode.setChecked(0)
-            self.paginadeci4_campo_EnableStaticTriggerShift.lettura.setText('UNKNOW')
-            self.paginadeci4_campo_InfiniteCycle.lettura.setText('UNKNOW')
-            self.paginadeci4_campo_PolarityMode.lettura.setText('UNKNOW')
-            self.paginadeci4_campo_ReverseMode.lettura.setText('UNKNOW')
-            self.paginadeci4_campo_SaveModes.lettura.setText('UNKNOW')
         ##
         try:
             tmp = devicelist['5'].read_attributes(['BunchNumberEnd', 'BunchNumberStart', 'DelayMode', 'DelayOffset', 'EnableStaticTriggerShift', 'InfiniteCycle', 'MaxNumCycles', 'PolarityMode', 'ReverseMode', 'SaveModes', 'Sequence', 'State', 'Status', 'StatusMode'])
             self.paginadeci5_campo_BunchNumberEnd_R.setText(str(tmp[0].value))
             self.paginadeci5_campo_BunchNumberStart_R.setText(str(tmp[1].value))
             if tmp[2].value:
-                self.paginadeci5_campo_DelayMode.setChecked(1)
+                self.paginadeci5_campo_modeR.setText('Delay')
                 self.paginagenerale_5modalita.setText('Delay')
-            else:
-                self.paginadeci5_campo_DelayMode.setChecked(0)
             self.paginadeci5_campo_DelayOffset_R.setText(str(tmp[3].value))
-            if tmp[4].value:
-                self.paginadeci5_campo_EnableStaticTriggerShift.lettura.setText('True')
-            else:
-                self.paginadeci5_campo_EnableStaticTriggerShift.lettura.setText('False')
             if tmp[5].value:
-                self.paginadeci5_campo_InfiniteCycle.lettura.setText('True')
+                self.paginadeci5_campo_InfiniteCycle_R.setText('True')
             else:
-                self.paginadeci5_campo_InfiniteCycle.lettura.setText('False')
+                self.paginadeci5_campo_InfiniteCycle_R.setText('False')
             self.paginadeci5_campo_MaxNumCycles_R.setText(str(tmp[6].value))
             if tmp[7].value:
-                self.paginadeci5_campo_PolarityMode.lettura.setText('True')
+                self.paginadeci5_campo_PolarityMode_R.setText('True')
             else:
-                self.paginadeci5_campo_PolarityMode.lettura.setText('False')
+                self.paginadeci5_campo_PolarityMode_R.setText('False')
             if tmp[8].value:
-                self.paginadeci5_campo_ReverseMode.lettura.setText('True')
+                self.paginadeci5_campo_ReverseMode_R.setText('True')
             else:
-                self.paginadeci5_campo_ReverseMode.lettura.setText('False')
-            if tmp[9].value:
-                self.paginadeci5_campo_SaveModes.lettura.setText('True')
-            else:
-                self.paginadeci5_campo_SaveModes.lettura.setText('False')
-            self.paginadeci5_campo_Sequence_R.setText(str(tmp[10].value))
+                self.paginadeci5_campo_ReverseMode_R.setText('False')
+            self.paginadeci5_campo_Sequence_R.setText(str(tmp[10].value).replace('[', '').replace(']','').replace(' ', ', '))
             self.paginadeci5_campo_State.setText(str(tmp[11].value))
             self.paginadeci5_campo_Status.setText(str(tmp[12].value))
             if tmp[13].value:
-                self.paginadeci5_campo_StatusMode.setChecked(1)
+                self.paginadeci5_campo_modeR.setText('Status')
                 self.paginagenerale_5modalita.setText('Status')
-            else:
-                self.paginadeci5_campo_StatusMode.setChecked(0)
         except:
             self.paginadeci5_campo_BunchNumberEnd_R.setText('#####')
             self.paginadeci5_campo_BunchNumberStart_R.setText('#####')
+            self.paginadeci5_campo_modeR.setText('#####')
             self.paginagenerale_5modalita.setText('#####')
             self.paginadeci5_campo_DelayOffset_R.setText('#####')
+            self.paginadeci5_campo_InfiniteCycle_R.setText('#####')
+            self.paginadeci5_campo_MaxNumCycles_R.setText('#####')
+            self.paginadeci5_campo_PolarityMode_R.setText('#####')
+            self.paginadeci5_campo_ReverseMode_R.setText('#####')
             self.paginadeci5_campo_Sequence_R.setText('#####')
             self.paginadeci5_campo_State.setText('#####')
             self.paginadeci5_campo_Status.setText('#####')
-            self.paginadeci5_campo_MaxNumCycles_R.setText('#####')
-            self.paginadeci5_campo_DelayMode.setChecked(0)
-            self.paginadeci5_campo_StatusMode.setChecked(0)
-            self.paginadeci5_campo_EnableStaticTriggerShift.lettura.setText('UNKNOW')
-            self.paginadeci5_campo_InfiniteCycle.lettura.setText('UNKNOW')
-            self.paginadeci5_campo_PolarityMode.lettura.setText('UNKNOW')
-            self.paginadeci5_campo_ReverseMode.lettura.setText('UNKNOW')
-            self.paginadeci5_campo_SaveModes.lettura.setText('UNKNOW')
 
-    def accendi1(self):
-        if self.paginadeci1_campo_BunchNumber.radiopositive.isChecked():
-            devicelist['1'].command_inout('Start', 1)
+    def accendi1_odd(self):
+        BunchNumberStart_new = devicelist['frequenza'].BunchNumber
+        if BunchNumberStart_new % 2 > 0:
+            BunchNumberStart_new = BunchNumberStart_new + 50
+        else:
+            BunchNumberStart_new = BunchNumberStart_new + 51
+        devicelist['1'].write_attribute('BunchNumberStart', BunchNumberStart_new)
+        devicelist['1'].command_inout('Start', 1)
+
+    def accendi1_even(self):
+        BunchNumberStart_new = devicelist['frequenza'].BunchNumber
+        if BunchNumberStart_new % 2 > 0:
+            BunchNumberStart_new = BunchNumberStart_new + 51
+        else:
+            BunchNumberStart_new = BunchNumberStart_new + 50
+        devicelist['1'].write_attribute('BunchNumberStart', BunchNumberStart_new)
+        devicelist['1'].command_inout('Start', 1)
+
+    def accendi1_nobn(self):
+        devicelist['1'].command_inout('Start', 0)
+
+    def accendi2_odd(self):
+        BunchNumberStart_new = devicelist['frequenza'].BunchNumber
+        if BunchNumberStart_new % 2 > 0:
+            BunchNumberStart_new = BunchNumberStart_new + 50
+        else:
+            BunchNumberStart_new = BunchNumberStart_new + 51
+        devicelist['2'].write_attribute('BunchNumberStart', BunchNumberStart_new)
+        devicelist['2'].command_inout('Start', 1)
+
+    def accendi2_even(self):
+        BunchNumberStart_new = devicelist['frequenza'].BunchNumber
+        if BunchNumberStart_new % 2 > 0:
+            BunchNumberStart_new = BunchNumberStart_new + 51
         else:
-            devicelist['1'].command_inout('Start', 0)
+            BunchNumberStart_new = BunchNumberStart_new + 50
+        devicelist['2'].write_attribute('BunchNumberStart', BunchNumberStart_new)
+        devicelist['2'].command_inout('Start', 1)
 
-    def accendi2(self):
-        if self.paginadeci2_campo_BunchNumber.radiopositive.isChecked():
-            devicelist['2'].command_inout('Start', 1)
+    def accendi2_nobn(self):
+        devicelist['2'].command_inout('Start', 0)
+
+    def accendi3_odd(self):
+        BunchNumberStart_new = devicelist['frequenza'].BunchNumber
+        if BunchNumberStart_new % 2 > 0:
+            BunchNumberStart_new = BunchNumberStart_new + 50
         else:
-            devicelist['2'].command_inout('Start', 0)
+            BunchNumberStart_new = BunchNumberStart_new + 51
+        devicelist['3'].write_attribute('BunchNumberStart', BunchNumberStart_new)
+        devicelist['3'].command_inout('Start', 1)
 
-    def accendi3(self):
-        if self.paginadeci3_campo_BunchNumber.radiopositive.isChecked():
-            devicelist['3'].command_inout('Start', 1)
+    def accendi3_even(self):
+        BunchNumberStart_new = devicelist['frequenza'].BunchNumber
+        if BunchNumberStart_new % 2 > 0:
+            BunchNumberStart_new = BunchNumberStart_new + 51
         else:
-            devicelist['3'].command_inout('Start', 0)
+            BunchNumberStart_new = BunchNumberStart_new + 50
+        devicelist['3'].write_attribute('BunchNumberStart', BunchNumberStart_new)
+        devicelist['3'].command_inout('Start', 1)
+
+    def accendi3_nobn(self):
+        devicelist['3'].command_inout('Start', 0)
 
-    def accendi4(self):
-        if self.paginadeci4_campo_BunchNumber.radiopositive.isChecked():
-            devicelist['4'].command_inout('Start', 1)
+    def accendi4_odd(self):
+        BunchNumberStart_new = devicelist['frequenza'].BunchNumber
+        if BunchNumberStart_new % 2 > 0:
+            BunchNumberStart_new = BunchNumberStart_new + 50
         else:
-            devicelist['4'].command_inout('Start', 0)
+            BunchNumberStart_new = BunchNumberStart_new + 51
+        devicelist['4'].write_attribute('BunchNumberStart', BunchNumberStart_new)
+        devicelist['4'].command_inout('Start', 1)
 
-    def accendi5(self):
-        if self.paginadeci5_campo_BunchNumber.radiopositive.isChecked():
-            devicelist['5'].command_inout('Start', 1)
+    def accendi4_even(self):
+        BunchNumberStart_new = devicelist['frequenza'].BunchNumber
+        if BunchNumberStart_new % 2 > 0:
+            BunchNumberStart_new = BunchNumberStart_new + 51
         else:
-            devicelist['5'].command_inout('Start', 0)
+            BunchNumberStart_new = BunchNumberStart_new + 50
+        devicelist['4'].write_attribute('BunchNumberStart', BunchNumberStart_new)
+        devicelist['4'].command_inout('Start', 1)
+
+    def accendi4_nobn(self):
+        devicelist['4'].command_inout('Start', 0)
+
+    def accendi5_odd(self):
+        BunchNumberStart_new = devicelist['frequenza'].BunchNumber
+        if BunchNumberStart_new % 2 > 0:
+            BunchNumberStart_new = BunchNumberStart_new + 50
+        else:
+            BunchNumberStart_new = BunchNumberStart_new + 51
+        devicelist['5'].write_attribute('BunchNumberStart', BunchNumberStart_new)
+        devicelist['5'].command_inout('Start', 1)
+
+    def accendi5_even(self):
+        BunchNumberStart_new = devicelist['frequenza'].BunchNumber
+        if BunchNumberStart_new % 2 > 0:
+            BunchNumberStart_new = BunchNumberStart_new + 51
+        else:
+            BunchNumberStart_new = BunchNumberStart_new + 50
+        devicelist['5'].write_attribute('BunchNumberStart', BunchNumberStart_new)
+        devicelist['5'].command_inout('Start', 1)
+
+    def accendi5_nobn(self):
+        devicelist['5'].command_inout('Start', 0)
 
     def spegni1(self):
         devicelist['1'].command_inout('Stop')
@@ -855,545 +1126,285 @@ class Finestra(QTabWidget):
     def spegni5(self):
         devicelist['5'].command_inout('Stop')
 
-    def applica1(self):
+    def sceltadelay(self):
+        tmp = self.sender()
+        print(tmp.chiave)
+        devicelist[tmp.chiave].write_attribute('DelayMode', 1)
+        devicelist[tmp.chiave].write_attribute('InfiniteCycle', 0)
+        devicelist[tmp.chiave].write_attribute('InfiniteCycle', 1)
+
+    def sceltastatus(self):
+        tmp = self.sender()
+        print(tmp.chiave)
+        devicelist[tmp.chiave].write_attribute('StatusMode', 1)
+        devicelist[tmp.chiave].write_attribute('InfiniteCycle', 0)
+        devicelist[tmp.chiave].write_attribute('InfiniteCycle', 1)
+
+    def applica1sequenza(self):
         try:
             frequenza1050 = devicelist['frequenza'].BunchNumberFrequency
         except:
             frequenza1050 = -1
         try:
             tmp = str(self.paginadeci1_campo_Sequence_W.text()).replace('[', '').replace(']','')
-            if self.paginadeci1_campo_StatusMode.isChecked():
-                tmp1 = tmp.split('1')
-                for aaa in range(len(tmp1)):
-                    if tmp1[aaa].count('0') > 4:
-                        self.msgBox = QMessageBox()
-                        self.msgBox.setIcon(QMessageBox.Question)
-                        self.msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
-                        self.msgBox.setText("Decimation is too strong, if the frequency of the laser is below " + str(int(frequenza1050/5)) + "Hz thermal effects might degradate beam quality. Are you sure you want to proceed?")
-                        risp = self.msgBox.exec_()
-                        if risp == 1024:
-                            Sequence_new = [int(aa) for aa in tmp.split(',')]
-                            devicelist['1'].write_attribute('Sequence', Sequence_new)
-                        else:
-                            return
+            if self.paginadeci1_campo_modeR.text() == 'Status':
+                if tmp.count('0') > 4:
+                    self.msgBox = QMessageBox()
+                    self.msgBox.setIcon(QMessageBox.Question)
+                    self.msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
+                    self.msgBox.setText("Decimation is too strong, if the frequency of the laser is below " + str(int(frequenza1050/5)) + "Hz thermal effects might degradate beam quality. Are you sure you want to proceed?")
+                    risp = self.msgBox.exec_()
+                    if risp == 1024:
+                        Sequence_new = [int(aa) for aa in tmp.split(',')]
+                        devicelist['1'].write_attribute('Sequence', Sequence_new)
+                    else:
+                        return
+                else:
+                    Sequence_new = [int(aa) for aa in tmp.split(',')]
+                    devicelist['1'].write_attribute('Sequence', Sequence_new)
             else:
                 Sequence_new = [int(aa) for aa in tmp.split(',')]
                 devicelist['1'].write_attribute('Sequence', Sequence_new)
         except:
-            print('not float ' + str(self.paginadeci1_campo_Sequence_W.text()))
-        try:
-            BunchNumberEnd_new = float(str(self.paginadeci1_campo_BunchNumberEnd_W.text()))
-            devicelist['1'].write_attribute('BunchNumberEnd', BunchNumberEnd_new)
-        except:
-            print('not float ' + str(self.paginadeci1_campo_BunchNumberEnd_W.text()))
-        try:
-            BunchNumberStart_new = int(str(self.paginadeci1_campo_BunchNumberStart_W.text()))
-            devicelist['1'].write_attribute('BunchNumberStart', BunchNumberStart_new)
-        except:
-            print('not float ' + str(self.paginadeci1_campo_BunchNumberStart_W.text()))
-        try:
-            DelayOffset_new = float(str(self.paginadeci1_campo_DelayOffset_W.text()))
-            devicelist['1'].write_attribute('DelayOffset', DelayOffset_new)
-        except:
-            print('not float ' + str(self.paginadeci1_campo_DelayOffset_W.text()))
-        try:
-            MaxNumCycles_new = float(str(self.paginadeci1_campo_MaxNumCycles_W.text()))
-            devicelist['1'].write_attribute('MaxNumCycles', MaxNumCycles_new)
-        except:
-            print('not float ' + str(self.paginadeci1_campo_MaxNumCycles_W.text()))
-        if self.paginadeci1_campo_DelayMode.isChecked():
-            DelayMode_new = True
-        else:
-            DelayMode_new = False
-        try:
-            devicelist['1'].write_attribute('DelayMode', DelayMode_new)
-        except:
-            print('Error DelayMode')
-        if self.paginadeci1_campo_StatusMode.isChecked():
-            StatusMode_new = True
-        else:
-            StatusMode_new = False
-        try:
-            devicelist['1'].write_attribute('StatusMode', StatusMode_new)
-        except:
-            print('Error StatusMode')
-        if self.paginadeci1_campo_EnableStaticTriggerShift.radiopositive.isChecked():
-            EnableStaticTriggerShift_new = True
-        else:
-            EnableStaticTriggerShift_new = False
-        try:
-            devicelist['1'].write_attribute('EnableStaticTriggerShift', EnableStaticTriggerShift_new)
-        except:
-            print('Error EnableStaticTriggerShift')
-        if self.paginadeci1_campo_PolarityMode.radiopositive.isChecked():
-            PolarityMode_new = True
-        else:
-            PolarityMode_new = False
-        try:
-            devicelist['1'].write_attribute('PolarityMode', PolarityMode_new)
-        except:
-            print('Error PolarityMode')
-        if self.paginadeci1_campo_ReverseMode.radiopositive.isChecked():
-            ReverseMode_new = True
-        else:
-            ReverseMode_new = False
-        try:
-            devicelist['1'].write_attribute('ReverseMode', ReverseMode_new)
-        except:
-            print('Error ReverseMode')
-        if self.paginadeci1_campo_SaveModes.radiopositive.isChecked():
-            SaveModes_new = True
-        else:
-            SaveModes_new = False
-        try:
-            devicelist['1'].write_attribute('SaveModes', SaveModes_new)
-        except:
-            print('Error SaveModes')
-        if self.paginadeci1_campo_InfiniteCycle.radiopositive.isChecked():
-            InfiniteCycle_new = True
-        else:
-            InfiniteCycle_new = False
-        try:
-            devicelist['1'].write_attribute('InfiniteCycle', InfiniteCycle_new)
-        except:
-            print('Error InfiniteCycle')
-        print('applica1 DONE')
+            print('error  ' + str(self.paginadeci1_campo_Sequence_W.text()))
 
-    def applica2(self):
+    def applica2sequenza(self):
         try:
             frequenza1050 = devicelist['frequenza'].BunchNumberFrequency
         except:
             frequenza1050 = -1
         try:
             tmp = str(self.paginadeci2_campo_Sequence_W.text()).replace('[', '').replace(']','')
-            if self.paginadeci2_campo_StatusMode.isChecked():
-                tmp1 = tmp.split('1')
-                for aaa in range(len(tmp1)):
-                    if tmp1[aaa].count('0') > 4:
-                        self.msgBox = QMessageBox()
-                        self.msgBox.setIcon(QMessageBox.Question)
-                        self.msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
-                        self.msgBox.setText("Decimation is too strong, if the frequency of the laser is below " + str(int(frequenza1050/5)) + "Hz thermal effects might degradate beam quality. Are you sure you want to proceed?")
-                        risp = self.msgBox.exec_()
-                        if risp == 1024:
-                            Sequence_new = [int(aa) for aa in tmp.split(',')]
-                            devicelist['2'].write_attribute('Sequence', Sequence_new)
-                        else:
-                            return
+            if self.paginadeci2_campo_modeR.text() == 'Status':
+                if tmp.count('0') > 4:
+                    self.msgBox = QMessageBox()
+                    self.msgBox.setIcon(QMessageBox.Question)
+                    self.msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
+                    self.msgBox.setText("Decimation is too strong, if the frequency of the laser is below " + str(int(frequenza1050/5)) + "Hz thermal effects might degradate beam quality. Are you sure you want to proceed?")
+                    risp = self.msgBox.exec_()
+                    if risp == 1024:
+                        Sequence_new = [int(aa) for aa in tmp.split(',')]
+                        devicelist['2'].write_attribute('Sequence', Sequence_new)
+                    else:
+                        return
+                else:
+                    Sequence_new = [int(aa) for aa in tmp.split(',')]
+                    devicelist['2'].write_attribute('Sequence', Sequence_new)
             else:
                 Sequence_new = [int(aa) for aa in tmp.split(',')]
                 devicelist['2'].write_attribute('Sequence', Sequence_new)
         except:
-            print('not float ' + str(self.paginadeci2_campo_Sequence_W.text()))
-        try:
-            BunchNumberEnd_new = float(str(self.paginadeci2_campo_BunchNumberEnd_W.text()))
-            devicelist['2'].write_attribute('BunchNumberEnd', BunchNumberEnd_new)
-        except:
-            print('not float ' + str(self.paginadeci2_campo_BunchNumberEnd_W.text()))
-        try:
-            BunchNumberStart_new = float(str(self.paginadeci2_campo_BunchNumberStart_W.text()))
-            devicelist['2'].write_attribute('BunchNumberStart', BunchNumberStart_new)
-        except:
-            print('not float ' + str(self.paginadeci2_campo_BunchNumberStart_W.text()))
-        try:
-            DelayOffset_new = float(str(self.paginadeci2_campo_DelayOffset_W.text()))
-            devicelist['2'].write_attribute('DelayOffset', DelayOffset_new)
-        except:
-            print('not float ' + str(self.paginadeci2_campo_DelayOffset_W.text()))
-        try:
-            MaxNumCycles_new = float(str(self.paginadeci2_campo_MaxNumCycles_W.text()))
-            devicelist['2'].write_attribute('MaxNumCycles', MaxNumCycles_new)
-        except:
-            print('not float ' + str(self.paginadeci2_campo_MaxNumCycles_W.text()))
-        if self.paginadeci2_campo_DelayMode.isChecked():
-            DelayMode_new = True
-        else:
-            DelayMode_new = False
-        try:
-            devicelist['2'].write_attribute('DelayMode', DelayMode_new)
-        except:
-            print('Error DelayMode')
-        if self.paginadeci2_campo_StatusMode.isChecked():
-            StatusMode_new = True
-        else:
-            StatusMode_new = False
-        try:
-            devicelist['2'].write_attribute('StatusMode', StatusMode_new)
-        except:
-            print('Error StatusMode')
-        if self.paginadeci2_campo_EnableStaticTriggerShift.radiopositive.isChecked():
-            EnableStaticTriggerShift_new = True
-        else:
-            EnableStaticTriggerShift_new = False
-        try:
-            devicelist['2'].write_attribute('EnableStaticTriggerShift', EnableStaticTriggerShift_new)
-        except:
-            print('Error EnableStaticTriggerShift')
-        if self.paginadeci2_campo_PolarityMode.radiopositive.isChecked():
-            PolarityMode_new = True
-        else:
-            PolarityMode_new = False
-        try:
-            devicelist['2'].write_attribute('PolarityMode', PolarityMode_new)
-        except:
-            print('Error PolarityMode')
-        if self.paginadeci2_campo_ReverseMode.radiopositive.isChecked():
-            ReverseMode_new = True
-        else:
-            ReverseMode_new = False
-        try:
-            devicelist['2'].write_attribute('ReverseMode', ReverseMode_new)
-        except:
-            print('Error ReverseMode')
-        if self.paginadeci2_campo_SaveModes.radiopositive.isChecked():
-            SaveModes_new = True
-        else:
-            SaveModes_new = False
-        try:
-            devicelist['2'].write_attribute('SaveModes', SaveModes_new)
-        except:
-            print('Error SaveModes')
-        if self.paginadeci2_campo_InfiniteCycle.radiopositive.isChecked():
-            InfiniteCycle_new = True
-        else:
-            InfiniteCycle_new = False
-        try:
-            devicelist['2'].write_attribute('InfiniteCycle', InfiniteCycle_new)
-        except:
-            print('Error InfiniteCycle')
-        print('applica2 DONE')
+            print('error  ' + str(self.paginadeci2_campo_Sequence_W.text()))
 
-    def applica3(self):
+    def applica3sequenza(self):
         try:
             frequenza1050 = devicelist['frequenza'].BunchNumberFrequency
         except:
             frequenza1050 = -1
         try:
             tmp = str(self.paginadeci3_campo_Sequence_W.text()).replace('[', '').replace(']','')
-            if self.paginadeci3_campo_StatusMode.isChecked():
-                tmp1 = tmp.split('1')
-                for aaa in range(len(tmp1)):
-                    if tmp1[aaa].count('0') > 4:
-                        self.msgBox = QMessageBox()
-                        self.msgBox.setIcon(QMessageBox.Question)
-                        self.msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
-                        self.msgBox.setText("Decimation is too strong, if the frequency of the laser is below " + str(int(frequenza1050/5)) + "Hz thermal effects might degradate beam quality. Are you sure you want to proceed?")
-                        risp = self.msgBox.exec_()
-                        if risp == 1024:
-                            Sequence_new = [int(aa) for aa in tmp.split(',')]
-                            devicelist['3'].write_attribute('Sequence', Sequence_new)
-                        else:
-                            return
+            if self.paginadeci3_campo_modeR.text() == 'Status':
+                if tmp.count('0') > 4:
+                    self.msgBox = QMessageBox()
+                    self.msgBox.setIcon(QMessageBox.Question)
+                    self.msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
+                    self.msgBox.setText("Decimation is too strong, if the frequency of the laser is below " + str(int(frequenza1050/5)) + "Hz thermal effects might degradate beam quality. Are you sure you want to proceed?")
+                    risp = self.msgBox.exec_()
+                    if risp == 1024:
+                        Sequence_new = [int(aa) for aa in tmp.split(',')]
+                        devicelist['3'].write_attribute('Sequence', Sequence_new)
+                    else:
+                        return
+                else:
+                    Sequence_new = [int(aa) for aa in tmp.split(',')]
+                    devicelist['3'].write_attribute('Sequence', Sequence_new)
             else:
                 Sequence_new = [int(aa) for aa in tmp.split(',')]
                 devicelist['3'].write_attribute('Sequence', Sequence_new)
         except:
-            print('not float ' + str(self.paginadeci3_campo_Sequence_W.text()))
-        try:
-            BunchNumberEnd_new = float(str(self.paginadeci3_campo_BunchNumberEnd_W.text()))
-            devicelist['3'].write_attribute('BunchNumberEnd', BunchNumberEnd_new)
-        except:
-            print('not float ' + str(self.paginadeci3_campo_BunchNumberEnd_W.text()))
-        try:
-            BunchNumberStart_new = float(str(self.paginadeci3_campo_BunchNumberStart_W.text()))
-            devicelist['3'].write_attribute('BunchNumberStart', BunchNumberStart_new)
-        except:
-            print('not float ' + str(self.paginadeci3_campo_BunchNumberStart_W.text()))
-        try:
-            DelayOffset_new = float(str(self.paginadeci3_campo_DelayOffset_W.text()))
-            devicelist['3'].write_attribute('DelayOffset', DelayOffset_new)
-        except:
-            print('not float ' + str(self.paginadeci3_campo_DelayOffset_W.text()))
-        try:
-            MaxNumCycles_new = float(str(self.paginadeci3_campo_MaxNumCycles_W.text()))
-            devicelist['3'].write_attribute('MaxNumCycles', MaxNumCycles_new)
-        except:
-            print('not float ' + str(self.paginadeci3_campo_MaxNumCycles_W.text()))
-        if self.paginadeci3_campo_DelayMode.isChecked():
-            DelayMode_new = True
-        else:
-            DelayMode_new = False
-        try:
-            devicelist['3'].write_attribute('DelayMode', DelayMode_new)
-        except:
-            print('Error DelayMode')
-        if self.paginadeci3_campo_StatusMode.isChecked():
-            StatusMode_new = True
-        else:
-            StatusMode_new = False
-        try:
-            devicelist['3'].write_attribute('StatusMode', StatusMode_new)
-        except:
-            print('Error StatusMode')
-        if self.paginadeci3_campo_EnableStaticTriggerShift.radiopositive.isChecked():
-            EnableStaticTriggerShift_new = True
-        else:
-            EnableStaticTriggerShift_new = False
-        try:
-            devicelist['3'].write_attribute('EnableStaticTriggerShift', EnableStaticTriggerShift_new)
-        except:
-            print('Error EnableStaticTriggerShift')
-        if self.paginadeci3_campo_PolarityMode.radiopositive.isChecked():
-            PolarityMode_new = True
-        else:
-            PolarityMode_new = False
-        try:
-            devicelist['3'].write_attribute('PolarityMode', PolarityMode_new)
-        except:
-            print('Error PolarityMode')
-        if self.paginadeci3_campo_ReverseMode.radiopositive.isChecked():
-            ReverseMode_new = True
-        else:
-            ReverseMode_new = False
-        try:
-            devicelist['3'].write_attribute('ReverseMode', ReverseMode_new)
-        except:
-            print('Error ReverseMode')
-        if self.paginadeci3_campo_SaveModes.radiopositive.isChecked():
-            SaveModes_new = True
-        else:
-            SaveModes_new = False
-        try:
-            devicelist['3'].write_attribute('SaveModes', SaveModes_new)
-        except:
-            print('Error SaveModes')
-        if self.paginadeci3_campo_InfiniteCycle.radiopositive.isChecked():
-            InfiniteCycle_new = True
-        else:
-            InfiniteCycle_new = False
-        try:
-            devicelist['3'].write_attribute('InfiniteCycle', InfiniteCycle_new)
-        except:
-            print('Error InfiniteCycle')
-        print('applica3 DONE')
+            print('error  ' + str(self.paginadeci3_campo_Sequence_W.text()))
 
-    def applica4(self):
+    def applica4sequenza(self):
         try:
             frequenza1050 = devicelist['frequenza'].BunchNumberFrequency
         except:
             frequenza1050 = -1
         try:
             tmp = str(self.paginadeci4_campo_Sequence_W.text()).replace('[', '').replace(']','')
-            if self.paginadeci4_campo_StatusMode.isChecked():
-                tmp1 = tmp.split('1')
-                for aaa in range(len(tmp1)):
-                    if tmp1[aaa].count('0') > 4:
-                        self.msgBox = QMessageBox()
-                        self.msgBox.setIcon(QMessageBox.Question)
-                        self.msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
-                        self.msgBox.setText("Decimation is too strong, if the frequency of the laser is below " + str(int(frequenza1050/5)) + "Hz thermal effects might degradate beam quality. Are you sure you want to proceed?")
-                        risp = self.msgBox.exec_()
-                        if risp == 1024:
-                            Sequence_new = [int(aa) for aa in tmp.split(',')]
-                            devicelist['4'].write_attribute('Sequence', Sequence_new)
-                        else:
-                            return
+            if self.paginadeci4_campo_modeR.text() == 'Status':
+                if tmp.count('0') > 4:
+                    self.msgBox = QMessageBox()
+                    self.msgBox.setIcon(QMessageBox.Question)
+                    self.msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
+                    self.msgBox.setText("Decimation is too strong, if the frequency of the laser is below " + str(int(frequenza1050/5)) + "Hz thermal effects might degradate beam quality. Are you sure you want to proceed?")
+                    risp = self.msgBox.exec_()
+                    if risp == 1024:
+                        Sequence_new = [int(aa) for aa in tmp.split(',')]
+                        devicelist['4'].write_attribute('Sequence', Sequence_new)
+                    else:
+                        return
+                else:
+                    Sequence_new = [int(aa) for aa in tmp.split(',')]
+                    devicelist['4'].write_attribute('Sequence', Sequence_new)
             else:
                 Sequence_new = [int(aa) for aa in tmp.split(',')]
                 devicelist['4'].write_attribute('Sequence', Sequence_new)
         except:
-            print('not float ' + str(self.paginadeci3_campo_Sequence_W.text()))
-        try:
-            BunchNumberEnd_new = float(str(self.paginadeci4_campo_BunchNumberEnd_W.text()))
-            devicelist['4'].write_attribute('BunchNumberEnd', BunchNumberEnd_new)
-        except:
-            print('not float ' + str(self.paginadeci4_campo_BunchNumberEnd_W.text()))
-        try:
-            BunchNumberStart_new = float(str(self.paginadeci4_campo_BunchNumberStart_W.text()))
-            devicelist['4'].write_attribute('BunchNumberStart', BunchNumberStart_new)
-        except:
-            print('not float ' + str(self.paginadeci4_campo_BunchNumberStart_W.text()))
-        try:
-            DelayOffset_new = float(str(self.paginadeci4_campo_DelayOffset_W.text()))
-            devicelist['4'].write_attribute('DelayOffset', DelayOffset_new)
-        except:
-            print('not float ' + str(self.paginadeci4_campo_DelayOffset_W.text()))
-        try:
-            MaxNumCycles_new = float(str(self.paginadeci4_campo_MaxNumCycles_W.text()))
-            devicelist['4'].write_attribute('MaxNumCycles', MaxNumCycles_new)
-        except:
-            print('not float ' + str(self.paginadeci4_campo_MaxNumCycles_W.text()))
-        if self.paginadeci4_campo_DelayMode.isChecked():
-            DelayMode_new = True
-        else:
-            DelayMode_new = False
-        try:
-            devicelist['4'].write_attribute('DelayMode', DelayMode_new)
-        except:
-            print('Error DelayMode')
-        if self.paginadeci4_campo_StatusMode.isChecked():
-            StatusMode_new = True
-        else:
-            StatusMode_new = False
-        try:
-            devicelist['4'].write_attribute('StatusMode', StatusMode_new)
-        except:
-            print('Error StatusMode')
-        if self.paginadeci4_campo_EnableStaticTriggerShift.radiopositive.isChecked():
-            EnableStaticTriggerShift_new = True
-        else:
-            EnableStaticTriggerShift_new = False
-        try:
-            devicelist['4'].write_attribute('EnableStaticTriggerShift', EnableStaticTriggerShift_new)
-        except:
-            print('Error EnableStaticTriggerShift')
-        if self.paginadeci4_campo_PolarityMode.radiopositive.isChecked():
-            PolarityMode_new = True
-        else:
-            PolarityMode_new = False
-        try:
-            devicelist['4'].write_attribute('PolarityMode', PolarityMode_new)
-        except:
-            print('Error PolarityMode')
-        if self.paginadeci4_campo_ReverseMode.radiopositive.isChecked():
-            ReverseMode_new = True
-        else:
-            ReverseMode_new = False
-        try:
-            devicelist['4'].write_attribute('ReverseMode', ReverseMode_new)
-        except:
-            print('Error ReverseMode')
-        if self.paginadeci4_campo_SaveModes.radiopositive.isChecked():
-            SaveModes_new = True
-        else:
-            SaveModes_new = False
-        try:
-            devicelist['4'].write_attribute('SaveModes', SaveModes_new)
-        except:
-            print('Error SaveModes')
-        if self.paginadeci4_campo_InfiniteCycle.radiopositive.isChecked():
-            InfiniteCycle_new = True
-        else:
-            InfiniteCycle_new = False
-        try:
-            devicelist['4'].write_attribute('InfiniteCycle', InfiniteCycle_new)
-        except:
-            print('Error InfiniteCycle')
-        print('applica4 DONE')
+            print('error  ' + str(self.paginadeci4_campo_Sequence_W.text()))
 
-    def applica5(self):
+    def applica5sequenza(self):
         try:
             frequenza1050 = devicelist['frequenza'].BunchNumberFrequency
         except:
             frequenza1050 = -1
         try:
             tmp = str(self.paginadeci5_campo_Sequence_W.text()).replace('[', '').replace(']','')
-            if self.paginadeci5_campo_StatusMode.isChecked():
-                tmp1 = tmp.split('1')
-                for aaa in range(len(tmp1)):
-                    if tmp1[aaa].count('0') > 4:
-                        self.msgBox = QMessageBox()
-                        self.msgBox.setIcon(QMessageBox.Question)
-                        self.msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
-                        self.msgBox.setText("Decimation is too strong, if the frequency of the laser is below " + str(int(frequenza1050/5)) + "Hz thermal effects might degradate beam quality. Are you sure you want to proceed?")
-                        risp = self.msgBox.exec_()
-                        if risp == 1024:
-                            Sequence_new = [int(aa) for aa in tmp.split(',')]
-                            devicelist['5'].write_attribute('Sequence', Sequence_new)
-                        else:
-                            return
+            if self.paginadeci5_campo_modeR.text() == 'Status':
+                if tmp.count('0') > 4:
+                    self.msgBox = QMessageBox()
+                    self.msgBox.setIcon(QMessageBox.Question)
+                    self.msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
+                    self.msgBox.setText("Decimation is too strong, if the frequency of the laser is below " + str(int(frequenza1050/5)) + "Hz thermal effects might degradate beam quality. Are you sure you want to proceed?")
+                    risp = self.msgBox.exec_()
+                    if risp == 1024:
+                        Sequence_new = [int(aa) for aa in tmp.split(',')]
+                        devicelist['5'].write_attribute('Sequence', Sequence_new)
+                    else:
+                        return
+                else:
+                    Sequence_new = [int(aa) for aa in tmp.split(',')]
+                    devicelist['5'].write_attribute('Sequence', Sequence_new)
             else:
                 Sequence_new = [int(aa) for aa in tmp.split(',')]
                 devicelist['5'].write_attribute('Sequence', Sequence_new)
         except:
-            print('not float ' + str(self.paginadeci1_campo_Sequence_W.text()))
+            print('error  ' + str(self.paginadeci5_campo_Sequence_W.text()))
+
+    def applica1bnstart(self):
+        BunchNumberStart_new = int(str(self.paginadeci1_campo_BunchNumberStart_W.text()))
         try:
-            BunchNumberEnd_new = float(str(self.paginadeci5_campo_BunchNumberEnd_W.text()))
-            devicelist['5'].write_attribute('BunchNumberEnd', BunchNumberEnd_new)
+            devicelist['1'].write_attribute('BunchNumberStart', BunchNumberStart_new)
         except:
-            print('not float ' + str(self.paginadeci5_campo_BunchNumberEnd_W.text()))
+            print('error  ' + str(self.paginadeci1_campo_BunchNumberStart_W.text()))
+
+    def applica2bnstart(self):
+        BunchNumberStart_new = int(str(self.paginadeci2_campo_BunchNumberStart_W.text()))
         try:
-            BunchNumberStart_new = float(str(self.paginadeci5_campo_BunchNumberStart_W.text()))
-            devicelist['5'].write_attribute('BunchNumberStart', BunchNumberStart_new)
+            devicelist['2'].write_attribute('BunchNumberStart', BunchNumberStart_new)
         except:
-            print('not float ' + str(self.paginadeci5_campo_BunchNumberStart_W.text()))
+            print('error  ' + str(self.paginadeci2_campo_BunchNumberStart_W.text()))
+
+    def applica3bnstart(self):
+        BunchNumberStart_new = int(str(self.paginadeci3_campo_BunchNumberStart_W.text()))
         try:
-            DelayOffset_new = float(str(self.paginadeci5_campo_DelayOffset_W.text()))
-            devicelist['5'].write_attribute('DelayOffset', DelayOffset_new)
+            devicelist['3'].write_attribute('BunchNumberStart', BunchNumberStart_new)
         except:
-            print('not float ' + str(self.paginadeci5_campo_DelayOffset_W.text()))
+            print('error  ' + str(self.paginadeci3_campo_BunchNumberStart_W.text()))
+
+    def applica4bnstart(self):
+        BunchNumberStart_new = int(str(self.paginadeci4_campo_BunchNumberStart_W.text()))
         try:
-            MaxNumCycles_new = float(str(self.paginadeci5_campo_MaxNumCycles_W.text()))
-            devicelist['5'].write_attribute('MaxNumCycles', MaxNumCycles_new)
+            devicelist['4'].write_attribute('BunchNumberStart', BunchNumberStart_new)
         except:
-            print('not float ' + str(self.paginadeci5_campo_MaxNumCycles_W.text()))
+            print('error  ' + str(self.paginadeci4_campo_BunchNumberStart_W.text()))
+
+    def applica5bnstart(self):
+        BunchNumberStart_new = int(str(self.paginadeci5_campo_BunchNumberStart_W.text()))
         try:
-            tmp = str(self.paginadeci5_campo_Sequence_W.text()).replace('[', '').replace(']','')
-            Sequence_new = [int(aa) for aa in tmp.split(',')]
-            devicelist['5'].write_attribute('Sequence', Sequence_new)
+            devicelist['5'].write_attribute('BunchNumberStart', BunchNumberStart_new)
         except:
-            print('not float ' + str(self.paginadeci5_campo_Sequence_W.text()))
-        if self.paginadeci5_campo_DelayMode.isChecked():
-            DelayMode_new = True
-        else:
-            DelayMode_new = False
+            print('error  ' + str(self.paginadeci5_campo_BunchNumberStart_W.text()))
+
+    def applicaInfiniteCycle(self):
+        tmp = self.sender()
+        if tmp.text() == 'On':
+            devicelist[tmp.chiave].write_attribute('InfiniteCycle', True)
+        elif tmp.text() == 'Off':
+            devicelist[tmp.chiave].write_attribute('InfiniteCycle', False)
+
+    def applica1MaxNumCycles(self):
+        MaxNumCycles_new = int(str(self.paginadeci1_campo_MaxNumCycles_W.text()))
         try:
-            devicelist['5'].write_attribute('DelayMode', DelayMode_new)
+            devicelist['1'].write_attribute('MaxNumCycles', MaxNumCycles_new)
         except:
-            print('Error DelayMode')
-        if self.paginadeci5_campo_StatusMode.isChecked():
-            StatusMode_new = True
-        else:
-            StatusMode_new = False
+            print('error  ' + str(self.paginadeci1_campo_MaxNumCycles_W.text()))
+
+    def applica2MaxNumCycles(self):
+        MaxNumCycles_new = int(str(self.paginadeci2_campo_MaxNumCycles_W.text()))
         try:
-            devicelist['5'].write_attribute('StatusMode', StatusMode_new)
+            devicelist['2'].write_attribute('MaxNumCycles', MaxNumCycles_new)
         except:
-            print('Error StatusMode')
-        if self.paginadeci5_campo_EnableStaticTriggerShift.radiopositive.isChecked():
-            EnableStaticTriggerShift_new = True
-        else:
-            EnableStaticTriggerShift_new = False
+            print('error  ' + str(self.paginadeci2_campo_MaxNumCycles_W.text()))
+
+    def applica3MaxNumCycles(self):
+        MaxNumCycles_new = int(str(self.paginadeci3_campo_MaxNumCycles_W.text()))
         try:
-            devicelist['5'].write_attribute('EnableStaticTriggerShift', EnableStaticTriggerShift_new)
+            devicelist['3'].write_attribute('MaxNumCycles', MaxNumCycles_new)
         except:
-            print('Error EnableStaticTriggerShift')
-        if self.paginadeci5_campo_PolarityMode.radiopositive.isChecked():
-            PolarityMode_new = True
-        else:
-            PolarityMode_new = False
+            print('error  ' + str(self.paginadeci3_campo_MaxNumCycles_W.text()))
+
+    def applica4MaxNumCycles(self):
+        MaxNumCycles_new = int(str(self.paginadeci4_campo_MaxNumCycles_W.text()))
         try:
-            devicelist['5'].write_attribute('PolarityMode', PolarityMode_new)
+            devicelist['4'].write_attribute('MaxNumCycles', MaxNumCycles_new)
         except:
-            print('Error PolarityMode')
-        if self.paginadeci5_campo_ReverseMode.radiopositive.isChecked():
-            ReverseMode_new = True
-        else:
-            ReverseMode_new = False
+            print('error  ' + str(self.paginadeci4_campo_MaxNumCycles_W.text()))
+
+    def applica5MaxNumCycles(self):
+        MaxNumCycles_new = int(str(self.paginadeci5_campo_MaxNumCycles_W.text()))
         try:
-            devicelist['5'].write_attribute('ReverseMode', ReverseMode_new)
+            devicelist['5'].write_attribute('MaxNumCycles', MaxNumCycles_new)
         except:
-            print('Error ReverseMode')
-        if self.paginadeci5_campo_SaveModes.radiopositive.isChecked():
-            SaveModes_new = True
-        else:
-            SaveModes_new = False
+            print('error  ' + str(self.paginadeci5_campo_MaxNumCycles_W.text()))
+
+    def applica1DelayOffset(self):
+        DelayOffset_new = int(str(self.paginadeci1_campo_DelayOffset_R.text()))
         try:
-            devicelist['5'].write_attribute('SaveModes', SaveModes_new)
+            devicelist['1'].write_attribute('DelayOffset', DelayOffset_new)
         except:
-            print('Error SaveModes')
-        if self.paginadeci5_campo_InfiniteCycle.radiopositive.isChecked():
-            InfiniteCycle_new = True
-        else:
-            InfiniteCycle_new = False
+            print('error  ' + str(self.paginadeci1_campo_DelayOffset_R.text()))
+
+    def applica2DelayOffset(self):
+        DelayOffset_new = int(str(self.paginadeci2_campo_DelayOffset_R.text()))
         try:
-            devicelist['5'].write_attribute('InfiniteCycle', InfiniteCycle_new)
+            devicelist['2'].write_attribute('DelayOffset', DelayOffset_new)
         except:
-            print('Error InfiniteCycle')
-        print('applica5 DONE')
+            print('error  ' + str(self.paginadeci2_campo_DelayOffset_R.text()))
 
+    def applica3DelayOffset(self):
+        DelayOffset_new = int(str(self.paginadeci3_campo_DelayOffset_R.text()))
+        try:
+            devicelist['3'].write_attribute('DelayOffset', DelayOffset_new)
+        except:
+            print('error  ' + str(self.paginadeci3_campo_DelayOffset_R.text()))
 
-    def sceltadelay(self):
+    def applica4DelayOffset(self):
+        DelayOffset_new = int(str(self.paginadeci4_campo_DelayOffset_R.text()))
+        try:
+            devicelist['4'].write_attribute('DelayOffset', DelayOffset_new)
+        except:
+            print('error  ' + str(self.paginadeci4_campo_DelayOffset_R.text()))
+
+    def applica5DelayOffset(self):
+        DelayOffset_new = int(str(self.paginadeci4_campo_DelayOffset_R.text()))
+        try:
+            devicelist['5'].write_attribute('DelayOffset', DelayOffset_new)
+        except:
+            print('error  ' + str(self.paginadeci4_campo_DelayOffset_R.text()))
+
+    def applicaPolarityMode(self):
         tmp = self.sender()
-        print(tmp.chiave)
-        devicelist[tmp.chiave].write_attribute('DelayMode', 1)
-        devicelist[tmp.chiave].write_attribute('InfiniteCycle', 0)
-        devicelist[tmp.chiave].write_attribute('InfiniteCycle', 1)
+        if tmp.text() == 'On':
+            devicelist[tmp.chiave].write_attribute('PolarityMode', True)
+        elif tmp.text() == 'Off':
+            devicelist[tmp.chiave].write_attribute('PolarityMode', False)
 
-    def sceltastatus(self):
+    def applicaReverseMode(self):
         tmp = self.sender()
-        devicelist[tmp.chiave].write_attribute('StatusMode', 1)
-        devicelist[tmp.chiave].write_attribute('InfiniteCycle', 0)
-        devicelist[tmp.chiave].write_attribute('InfiniteCycle', 1)
+        if tmp.text() == 'On':
+            devicelist[tmp.chiave].write_attribute('ReverseMode', True)
+        elif tmp.text() == 'Off':
+            devicelist[tmp.chiave].write_attribute('ReverseMode', False)
 
 
 class LineEditRO(QLineEdit):
@@ -1403,46 +1414,7 @@ class LineEditRO(QLineEdit):
         self.setStyleSheet("background-color: rgb(200, 200, 200)")
 
 
-class DoppiaScelta(QFrame):
-    def __init__(self, testo, chi, cosa):
-        super(DoppiaScelta, self).__init__()
-        self.label = QLabel(testo)
-        self.chiave = chi
-        self.attribrutto = cosa
-        self.lettura = LineEditRO()
-        self.radiopositive = QRadioButton('on')
-        self.radionegative = QRadioButton('off')
-        self.radionegative.setChecked(1)
-        dopsce_lo = QHBoxLayout()
-        dopsce_lo.addWidget(self.label)
-        dopsce_lo.addWidget(self.lettura)
-        dopsce_lo.addWidget(self.radiopositive)
-        dopsce_lo.addWidget(self.radionegative)
-        self.setLayout(dopsce_lo)
-
-    def fallo_true(self):
-        devicelist[self.chiave].write_attribute(self.attribrutto, 1)
-
-    def fallo_false(self):
-        devicelist[self.chiave].write_attribute(self.attribrutto, 0)
-
-
-class DoppiaSceltanofun(QFrame):
-    def __init__(self, testo):
-        super(DoppiaSceltanofun, self).__init__()
-        self.label = QLabel(testo)
-        self.radiopositive = QRadioButton('on')
-        self.radionegative = QRadioButton('off')
-        self.radionegative.setChecked(1)
-        dopsce_lo = QHBoxLayout()
-        dopsce_lo.addWidget(self.label)
-        dopsce_lo.addWidget(self.radiopositive)
-        dopsce_lo.addWidget(self.radionegative)
-        self.setLayout(dopsce_lo)
-
-
-if __name__ == '__main__':
-    app = QApplication([])
-    window = Finestra()
-    window.show()
-    app.exec_()
+app = QApplication([])
+main = Finestra()
+main.show()
+app.exec_()
-- 
GitLab