Pārlūkot izejas kodu

timing changed according to 512 and GUI is with txtrig buttons

meghana-soleil-pc 3 gadi atpakaļ
vecāks
revīzija
6bceb26895
13 mainītis faili ar 412 papildinājumiem un 127 dzēšanām
  1. 61 21
      GUI.py
  2. 10 4
      align_clock.sh
  3. 17 2
      full_sequence.sh
  4. 16 2
      full_sequence_ex_rf.sh
  5. 250 81
      offset_value_gen.py
  6. 2 2
      pll_62_5.sh
  7. 5 5
      reset.sh
  8. 7 0
      reset_ex_rf.sh
  9. 42 8
      set_dac_voltages_25.sh
  10. 2 2
      strip_data.py
  11. BIN
      strip_data.pyc
  12. BIN
      temp.bin
  13. BIN
      temp_bg.bin

+ 61 - 21
GUI.py

@@ -214,6 +214,32 @@ class Ui_MainWindow(object):
         self.verticalLayout_2.addWidget(self.pushButton_init_board_ex_rf)
 
 ######################################################################################################
+##############################tx_trig_left##########################################################
+        self.pushButton_tx_left = QtGui.QPushButton(self.centralwidget)
+        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pushButton_tx_left.sizePolicy().hasHeightForWidth())
+        self.pushButton_tx_left.setSizePolicy(sizePolicy)
+        self.pushButton_tx_left.setMaximumSize(QtCore.QSize(800, 16777215))
+        self.pushButton_tx_left.setObjectName(_fromUtf8("pushButton_tx_left"))
+        self.verticalLayout_2.addWidget(self.pushButton_tx_left)
+
+######################################################################################################
+##############################tx_trig_adcs_right ##########################################################
+        self.pushButton_tx_right = QtGui.QPushButton(self.centralwidget)
+        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.pushButton_tx_right.sizePolicy().hasHeightForWidth())
+        self.pushButton_tx_right.setSizePolicy(sizePolicy)
+        self.pushButton_tx_right.setMaximumSize(QtCore.QSize(800, 16777215))
+        self.pushButton_tx_right.setObjectName(_fromUtf8("pushButton_tx_right"))
+        self.verticalLayout_2.addWidget(self.pushButton_tx_right)
+
+######################################################################################################
+
+
 
         self.pushButton_timescan = QtGui.QPushButton(self.centralwidget)
         sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
@@ -340,7 +366,7 @@ class Ui_MainWindow(object):
         self.spinBox_int_delay.setMaximumSize(QtCore.QSize(300, 16777215))
         self.spinBox_int_delay.setObjectName(_fromUtf8("spinBox_int_delay"))
         self.spinBox_int_delay.setRange(1,1023)
-	self.spinBox_int_delay.setSingleStep(8)
+	self.spinBox_int_delay.setSingleStep(1)
         self.gridLayout.addWidget(self.spinBox_int_delay, 3, 1, 1, 1)
 
         ## GOTT gain
@@ -639,14 +665,14 @@ class Ui_MainWindow(object):
         self.label_log.setObjectName(_fromUtf8("label_log"))
         self.verticalLayout_9.addWidget(self.label_log)
 
-        self.checkBox_cont_acq = QtGui.QCheckBox(self.centralwidget)
-        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
-        sizePolicy.setHorizontalStretch(0)
-        sizePolicy.setVerticalStretch(0)
-        sizePolicy.setHeightForWidth(self.checkBox_cont_acq.sizePolicy().hasHeightForWidth())
-        self.checkBox_cont_acq.setSizePolicy(sizePolicy)
-        self.checkBox_cont_acq.setObjectName(_fromUtf8("checkBox_cont_acq"))
-        self.verticalLayout_9.addWidget(self.checkBox_cont_acq)
+        # self.checkBox_cont_acq = QtGui.QCheckBox(self.centralwidget)
+        # sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
+        # sizePolicy.setHorizontalStretch(0)
+        # sizePolicy.setVerticalStretch(0)
+        # sizePolicy.setHeightForWidth(self.checkBox_cont_acq.sizePolicy().hasHeightForWidth())
+        # self.checkBox_cont_acq.setSizePolicy(sizePolicy)
+        # self.checkBox_cont_acq.setObjectName(_fromUtf8("checkBox_cont_acq"))
+        # self.verticalLayout_9.addWidget(self.checkBox_cont_acq)
 
  	self.pushButton_run = QtGui.QPushButton(self.centralwidget)
         sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
@@ -1112,13 +1138,13 @@ class Ui_MainWindow(object):
                 self.spinBox_gott_gain.setValue(2)
                 self.spinBox_total_samples.setValue(1024)
                 self.spinBox_skip_samples.setValue(0)
-                self.spinBox_int_trig.setValue(63)
+                self.spinBox_int_trig.setValue(126)
                 rst_slow_trigger_samples()
                 self.status_bar.showMessage('Board initialized', 1000)
                 self.textEdit.insertPlainText(subprocess.check_output(['./status.sh']))
                 check_status()
                 led_update()
-                framerate_calc()
+                #framerate_calc()
 
         def init_board_ex_rf():
             self.textEdit.clear()
@@ -1133,13 +1159,13 @@ class Ui_MainWindow(object):
                 self.spinBox_gott_gain.setValue(2)
                 self.spinBox_total_samples.setValue(1024)
                 self.spinBox_skip_samples.setValue(0)
-                self.spinBox_int_trig.setValue(63)
+                self.spinBox_int_trig.setValue(126)
                 rst_slow_trigger_samples()
                 self.status_bar.showMessage('Board initialized with external RF parameters', 1000)
                 self.textEdit.insertPlainText(subprocess.check_output(['./status.sh']))
                 check_status()
                 led_update()
-                framerate_calc()
+                #framerate_calc()
 
 
 #######################################################################################################################
@@ -1180,6 +1206,14 @@ class Ui_MainWindow(object):
             write_reg("INTEG_DELAY",integration_delay_w)
             return integration_delay_w
 
+        def tx_trig_left():
+            self.pushButton_run.setFlat(0)
+            subprocess.call(['./tx_trig_adcs_left.sh'])
+
+        def tx_trig_right():
+            self.pushButton_run.setFlat(0)
+            subprocess.call(['./tx_trig_adcs_right.sh'])
+
 ########################################################################################################################
         def timescan():
             self.textEdit.setText(timestamp())
@@ -1198,7 +1232,8 @@ class Ui_MainWindow(object):
             return str(self.lineEdit_file_path.text() + 'f' + self.lineEdit_fillnum.text() + '_' + filename_timestamp() + '_' + self.lineEdit_detector.text())
 
         def readout_modulated():
-            self.checkBox_cont_acq.setCheckState(0)
+            #self.checkBox_cont_acq.setCheckState(0)
+            self.pushButton_run.setFlat(0)
             if self.checkBox_savefile.isChecked():
 	            output_file = (get_filename() + '_m.bin')
             else:
@@ -1227,7 +1262,7 @@ class Ui_MainWindow(object):
 
         def readout_background():
             global background_data
-            self.checkBox_cont_acq.setCheckState(0)
+            #self.checkBox_cont_acq.setCheckState(0)
             if self.checkBox_savefile.isChecked():
 	            output_file = (get_filename() + '_b.bin')
             else:
@@ -1257,7 +1292,7 @@ class Ui_MainWindow(object):
 
         def readout_unmodulated():
             global unmodulated_data
-            self.checkBox_cont_acq.setCheckState(0)
+            #self.checkBox_cont_acq.setCheckState(0)
             if self.checkBox_savefile.isChecked():
 	            output_file = (get_filename() + '_u.bin')
             else:
@@ -1387,7 +1422,8 @@ class Ui_MainWindow(object):
                     self.textEdit.insertPlainText(u'\u26A0' + ' Communication failed with FPGA board... Check FPGA, the PCI-Express connection and reboot')
                 else:
                     self.spinBox_int_time.setValue(read_int_time_value())
-                    self.spinBox_int_delay.setValue(read_int_delay_value())
+                    self.spinBox_int_delay.setValue(read_register("INTEG_DELAY"))
+                    #self.spinBox_int_delay.setValue(read_int_delay_value())
                     self.spinBox_gott_gain.setValue(read_register("GOTT_GAIN"))
                     self.spinBox_total_samples.setValue(read_register("FT_TO_ACQ"))
                     self.spinBox_skip_samples.setValue(read_register("FT_SKIP"))
@@ -1488,7 +1524,8 @@ class Ui_MainWindow(object):
 
         # BUTTONS ACTIONS
         self.spinBox_int_time.valueChanged.connect(lambda: write_int_time_value())
-        self.spinBox_int_delay.valueChanged.connect(lambda: write_int_delay_value())
+        #self.spinBox_int_delay.valueChanged.connect(lambda: write_int_delay_value())
+        self.spinBox_gott_gain.valueChanged.connect(lambda: write_reg("INTEG_DELAY",self.spinBox_int_delay.text()))
         self.spinBox_gott_gain.valueChanged.connect(lambda: write_reg("GOTT_GAIN",self.spinBox_gott_gain.text()))
         self.spinBox_total_samples.valueChanged.connect(lambda: write_reg("FT_TO_ACQ",self.spinBox_total_samples.text()))
         self.spinBox_skip_samples.valueChanged.connect(lambda: write_reg("FT_SKIP",self.spinBox_skip_samples.text()))
@@ -1501,6 +1538,8 @@ class Ui_MainWindow(object):
         self.pushButton_readsettings.clicked.connect(readback_settings)
         self.pushButton_init_board.clicked.connect(init_board)
         self.pushButton_init_board_ex_rf.clicked.connect(init_board_ex_rf)
+        self.pushButton_tx_left.clicked.connect(tx_trig_left)
+        self.pushButton_tx_right.clicked.connect(tx_trig_right)
         self.pushButton_timescan.clicked.connect(timescan)
         self.pushButton_poweroff.clicked.connect(poweroff)
         self.pushButton_modulated.clicked.connect(readout_modulated)
@@ -1513,7 +1552,7 @@ class Ui_MainWindow(object):
         self.timer = pg.QtCore.QTimer()
         #self.timer.timeout.connect(plot_waveform)
         self.timer.timeout.connect(terminal_cmd_run)
-        self.timer.timeout.connect(terminal_cmd_checkbox)
+        #self.timer.timeout.connect(terminal_cmd_checkbox)
         self.timer.start(10)
 
         self.retranslateUi(MainWindow)
@@ -1559,7 +1598,8 @@ class Ui_MainWindow(object):
         self.label_controls.setFont(boldFont)
         self.pushButton_init_board.setText(_translate("MainWindow", "Init Board", None))
         self.pushButton_init_board_ex_rf.setText(_translate("MainWindow", "Init Board (EX_RF)", None))
-
+        self.pushButton_tx_left.setText(_translate("MainWindow", "ALIGN LEFT", None))
+        self.pushButton_tx_right.setText(_translate("MainWindow", "ALIGN RIGHT", None))
 
         self.pushButton_timescan.setText(_translate("MainWindow", "Timescan", None))
         self.pushButton_poweroff.setText(_translate("MainWindow", "Poweroff", None))
@@ -1571,7 +1611,7 @@ class Ui_MainWindow(object):
 
         self.label_acq.setText(_translate("MainWindow", "Acquire data", None))
         self.label_acq.setFont(boldFont)
-        self.checkBox_cont_acq.setText(_translate("MainWindow", "Live preview", None))
+        #self.checkBox_cont_acq.setText(_translate("MainWindow", "Live preview", None))
         # self.checkBox_ELOG.setText(_translate("MainWindow", "Create ELOG entry", None))
         self.checkBox_savefile.setText(_translate("MainWindow", "Save File", None))
         self.pushButton_modulated.setText(_translate("MainWindow", "Modulated", None))

+ 10 - 4
align_clock.sh

@@ -35,12 +35,18 @@ echo "*CLOCK: Alignment... 2 nsec per execution."
 #sleep 0.05
 
 
-pci -w 9040 10310f00
-sleep 0.05
-pci -w 9040 10210f00
+# pci -w 9040 10310f00
+# sleep 0.05
+# pci -w 9040 10210f00
+# sleep 0.05
+
+
+
+pci -w 9088 300
 sleep 0.05
 
-pci -w 908C 5f0
+
+pci -w 908C 300
 sleep 0.05
 
 

+ 17 - 2
full_sequence.sh

@@ -38,6 +38,18 @@ sleep 0.1
 sleep 0.1
 ./tx_trig_adcs_right.sh
 sleep 0.1
+./tx_trig_adcs_left.sh
+sleep 0.1
+./tx_trig_adcs_right.sh
+sleep 0.1
+./tx_trig_adcs_left.sh
+sleep 0.1
+./tx_trig_adcs_right.sh
+sleep 0.1
+./tx_trig_adcs_left.sh
+sleep 0.1
+./tx_trig_adcs_right.sh
+sleep 0.1
 
 
 echo "Gotthard ON ... "
@@ -77,11 +89,14 @@ sleep 0.1
 pci -w 0x910C 0
 sleep 0.1
 ./adc_offset_at_0_delay.sh
-./adc_config_2_offset.sh  # previous board
+sleep 0.1
+./offset_soleil.sh
+
+#./adc_config_2_offset.sh  # previous board
 #pci -w 0x910C e
 #sleep 0.1
 pci -w 64 1ffff
 
 
-pci -w 0x910C 2f
+pci -w 0x910C 32
 sleep 0.1

+ 16 - 2
full_sequence_ex_rf.sh

@@ -38,6 +38,18 @@ sleep 0.1
 sleep 0.1
 ./tx_trig_adcs_right.sh
 sleep 0.1
+./tx_trig_adcs_left.sh
+sleep 0.1
+./tx_trig_adcs_right.sh
+sleep 0.1
+./tx_trig_adcs_left.sh
+sleep 0.1
+./tx_trig_adcs_right.sh
+sleep 0.1
+./tx_trig_adcs_left.sh
+sleep 0.1
+./tx_trig_adcs_right.sh
+sleep 0.1
 
 
 echo "Gotthard ON ... "
@@ -77,12 +89,14 @@ sleep 0.1
 pci -w 0x910C 0
 sleep 0.1
 ./adc_offset_at_0_delay.sh
-./adc_config_2_offset.sh  # previous board
+sleep 0.1
+./offset_soleil.sh
+#./adc_config_2_offset.sh  # previous board
 
 #pci -w 0x910C e
 #sleep 0.1
 
 pci -w 64 1ffff
 
-pci -w 0x910C 2f
+pci -w 0x910C 32
 sleep 0.1

+ 250 - 81
offset_value_gen.py

@@ -153,100 +153,269 @@ def strip_data(filename, number_pixels, orbits, offset = None):
 
 
 
-strip_data('f12345_2020-09-07T16h14m21s_Si01_m.bin',1024,1)
+strip_data('/home/soleil/Desktop/soleil_GUI/config_files/soleil_offset.bin',1024,1)
 np.set_printoptions(formatter={'int':hex})
 
-pixel_num = np.arange(1,513,1)
+pixel_num = np.arange(1,1025,1)
 modulated_data = data.astype(np.uint16)
 orbits, pixels = np.shape(modulated_data)
+
+
+#modulated_data = np.average(modulated_data, axis = 0)
+
+
+
+
+
 ad = np.transpose(modulated_data)
-offset_to = ad - ad + 850
+
+max_ad = np.max(ad)
+min_ad = np.min(ad)
+avg = (min_ad + max_ad) / 2
+
+
+print(max_ad)
+print(min_ad)
+print(avg)
+#plt.plot(pixel_num,ad)
+
+offset_to = 750
 offset_value = ad - offset_to
 
 x = 16
 
-print('ADC1 0x90A0')
-###########
-print('Register 38 is',offset_value[4,:])  #D/E
-print('Register 36 is',offset_value[4+x,:])  #F/10
-print('Register 34 is',offset_value[4+2*x,:])  #11/12
-print('Register 32 is',offset_value[4+3*x,:])  #13/14
-
-print('Register 2C is',offset_value[4+4*x,:])  #19/1A
-print('Register 2A is',offset_value[4+5*x,:])  #1B/1C
-print('Register 28 is',offset_value[4+6*x,:]) #1D/1E
-print('Register 26 is',offset_value[4+7*x,:]) #1F/20
+print('pci -w 0x90A0  0x0038'+'0'+str(offset_value[4,:])[3:-1])  #D/E
+print('sleep 0.05')
+print('pci -w 0x90A0  0x0036'+'0'+str(offset_value[4+x,:])[3:-1])  #F/10
+print('sleep 0.05')
+print('pci -w 0x90A0  0x0034'+'0'+str(offset_value[4+2*x,:])[3:-1])  #11/12
+print('sleep 0.05')
+print('pci -w 0x90A0  0x0032'+'0'+str(offset_value[4+3*x,:])[3:-1])  #13/14
+print('sleep 0.05')
+
+
+print('pci -w 0x90A0  0x002C'+'0'+str(offset_value[4+4*x,:])[3:-1])  #19/1A
+print('sleep 0.05')
+print('pci -w 0x90A0  0x002A'+'0'+str(offset_value[4+5*x,:])[3:-1])  #1B/1C
+print('sleep 0.05')
+print('pci -w 0x90A0  0x0028'+'0'+str(offset_value[4+6*x,:])[3:-1]) #1D/1E
+print('sleep 0.05')
+print('pci -w 0x90A0  0x0026'+'0'+str(offset_value[4+7*x,:])[3:-1]) #1F/20
+print('sleep 0.05')
+
 ###########
-print('Register 37 is',offset_value[4+8*x,:])  #D/E
-print('Register 35 is',offset_value[4+9*x,:])  #F/10
-print('Register 33 is',offset_value[4+10*x,:])  #11/12
-print('Register 31 is',offset_value[4+11*x,:])  #13/14
-
-print('Register 2B is',offset_value[4+12*x,:])  #19/1A
-print('Register 29 is',offset_value[4+13*x,:])  #1B/1C
-print('Register 27 is',offset_value[4+14*x,:]) #1D/1E
-print('Register 25 is',offset_value[4+15*x,:]) #1F/20
-
-print('Register 1F is',offset_value[4+16*x,:]) #25/26
-print('Register 1D is',offset_value[4+17*x,:]) #27/28
-print('Register 1B is',offset_value[4+18*x,:]) #29/2A
-print('Register 19 is',offset_value[4+19*x,:]) #2B/2C
-
-print('Register 13 is',offset_value[4+20*x,:]) #31/32
-print('Register 11 is',offset_value[4+21*x,:]) #33/34
-print('Register F is' ,offset_value[4+22*x,:]) #35/36
-print('Register D is'  ,offset_value[4+23*x,:]) #37/38
+print('pci -w 0x90A0  0x0037'+'0'+str(offset_value[4+8*x,:])[3:-1])  #D/E
+print('sleep 0.05')
+print('pci -w 0x90A0  0x0035'+'0'+str(offset_value[4+9*x,:])[3:-1])  #F/10
+print('sleep 0.05')
+print('pci -w 0x90A0  0x0033'+'0'+str(offset_value[4+10*x,:])[3:-1])  #11/12
+print('sleep 0.05')
+print('pci -w 0x90A0  0x0031'+'0'+str(offset_value[4+11*x,:])[3:-1])  #13/14
+print('sleep 0.05')
+
+print('pci -w 0x90A0  0x002B'+'0'+str(offset_value[4+12*x,:])[3:-1])  #19/1A
+print('sleep 0.05')
+print('pci -w 0x90A0  0x0029'+'0'+str(offset_value[4+13*x,:])[3:-1])  #1B/1C
+print('sleep 0.05')
+print('pci -w 0x90A0  0x0027'+'0'+str(offset_value[4+14*x,:])[3:-1]) #1D/1E
+print('sleep 0.05')
+print('pci -w 0x90A0  0x0025'+'0'+str(offset_value[4+15*x,:])[3:-1]) #1F/20
+print('sleep 0.05')
+
+print('pci -w 0x90A0  0x001F'+'0'+str(offset_value[4+16*x,:])[3:-1]) #25/26
+print('sleep 0.05')
+print('pci -w 0x90A0  0x001D'+'0'+str(offset_value[4+17*x,:])[3:-1]) #27/28
+print('sleep 0.05')
+print('pci -w 0x90A0  0x001B'+'0'+str(offset_value[4+18*x,:])[3:-1]) #29/2A
+print('sleep 0.05')
+print('pci -w 0x90A0  0x0019'+'0'+str(offset_value[4+19*x,:])[3:-1]) #2B/2C
+print('sleep 0.05')
+
+print('pci -w 0x90A0  0x0013'+'0'+str(offset_value[4+20*x,:])[3:-1]) #31/32
+print('sleep 0.05')
+print('pci -w 0x90A0  0x0011'+'0'+str(offset_value[4+21*x,:])[3:-1]) #33/34
+print('sleep 0.05')
+print('pci -w 0x90A0  0x000F'+'0'+str(offset_value[4+22*x,:])[3:-1]) #35/36
+print('sleep 0.05')
+print('pci -w 0x90A0  0x000D'+'0'+str(offset_value[4+23*x,:])[3:-1]) #37/38
+print('sleep 0.05')
 ###########
-print('Register 20 is',offset_value[4+24*x,:]) #25/26
-print('Register 1E is',offset_value[4+25*x,:]) #27/28
-print('Register 1C is',offset_value[4+26*x,:]) #29/2A
-print('Register 1A is',offset_value[4+27*x,:]) #2B/2C
-
-print('Register 14 is',offset_value[4+28*x,:]) #31/32
-print('Register 12 is',offset_value[4+29*x,:]) #33/34
-print('Register 10 is' ,offset_value[4+30*x,:]) #35/36
-print('Register  E is'  ,offset_value[4+31*x,:]) #37/38
+print('pci -w 0x90A0  0x0020'+'0'+str(offset_value[4+24*x,:])[3:-1]) #25/26
+print('sleep 0.05')
+print('pci -w 0x90A0  0x001E'+'0'+str(offset_value[4+25*x,:])[3:-1]) #27/28
+print('sleep 0.05')
+print('pci -w 0x90A0  0x001C'+'0'+str(offset_value[4+26*x,:])[3:-1]) #29/2A
+print('sleep 0.05')
+print('pci -w 0x90A0  0x001A'+'0'+str(offset_value[4+27*x,:])[3:-1]) #2B/2C
+print('sleep 0.05')
+
+print('pci -w 0x90A0  0x0014'+'0'+str(offset_value[4+28*x,:])[3:-1]) #31/32
+print('sleep 0.05')
+print('pci -w 0x90A0  0x0012'+'0'+str(offset_value[4+29*x,:])[3:-1]) #33/34
+print('sleep 0.05')
+print('pci -w 0x90A0  0x0010'+'0'+str(offset_value[4+30*x,:])[3:-1]) #35/36
+print('sleep 0.05')
+print('pci -w 0x90A0  0x000E'+'0'+str(offset_value[4+31*x,:])[3:-1]) #37/38
+print('sleep 0.05')
+
 ###################################################################
 print('ADC2 0x90A4')
 
-print('Register E is'  ,offset_value[4+32*x,:]) #D/E
-print('Register 10 is' ,offset_value[4+33*x,:]) #F/10
-print('Register 12 is',offset_value[4+34*x,:]) #11/12
-print('Register 14 is',offset_value[4+35*x,:]) #13/14
-
-print('Register 1A is',offset_value[4+36*x,:]) #19/1A
-print('Register 1C is',offset_value[4+37*x,:]) #1B/1C
-print('Register 1E is',offset_value[4+38*x,:]) #1D/1E
-print('Register 20 is',offset_value[4+39*x,:]) #1F/20
-
-print('Register D is'  ,offset_value[4+40*x,:]) #D/E
-print('Register F is' ,offset_value[4+41*x,:]) #F/10
-print('Register 11 is',offset_value[4+42*x,:]) #11/12
-print('Register 13 is',offset_value[4+43*x,:]) #13/14
-
-print('Register 19 is',offset_value[4+44*x,:]) #19/1A
-print('Register 1B is',offset_value[4+45*x,:]) #1B/1C
-print('Register 1D is',offset_value[4+46*x,:]) #1D/1E
-print('Register 1F is',offset_value[4+47*x,:]) #1F/20
-
-print('Register 25 is',offset_value[4+48*x,:]) #25/26
-print('Register 27 is',offset_value[4+49*x,:]) #27/28
-print('Register 29 is',offset_value[4+50*x,:]) #29/2A
-print('Register 2B is',offset_value[4+51*x,:]) #2B/2C
-
-print('Register 31 is',offset_value[4+52*x,:]) #31/32
-print('Register 33 is',offset_value[4+53*x,:]) #33/34
-print('Register 35 is',offset_value[4+54*x,:]) #35/36
-print('Register 37 is',offset_value[4+55*x,:]) #37/38
-
-print('Register 26 is',offset_value[4+56*x,:]) #25/26
-print('Register 28 is',offset_value[4+57*x,:]) #27/28
-print('Register 2A is',offset_value[4+58*x,:]) #29/2A
-print('Register 2C is',offset_value[4+59*x,:]) #2B/2C
-
-print('Register 32 is',offset_value[4+60*x,:]) #31/32
-print('Register 34 is',offset_value[4+61*x,:]) #33/34
-print('Register 36 is',offset_value[4+62*x,:]) #35/36
-print('Register 38 is',offset_value[4+63*x,:]) #37/38
+print('pci -w 0x90A4  0x000E'+'0'+str(offset_value[4+32*x,:])[3:-1]) #D/E
+print('sleep 0.05')
+print('pci -w 0x90A4  0x0010'+'0'+str(offset_value[4+33*x,:])[3:-1]) #F/10
+print('sleep 0.05')
+print('pci -w 0x90A4  0x0012'+'0'+str(offset_value[4+34*x,:])[3:-1]) #11/12
+print('sleep 0.05')
+print('pci -w 0x90A4  0x0014'+'0'+str(offset_value[4+35*x,:])[3:-1]) #13/14
+print('sleep 0.05')
+
+
+print('pci -w 0x90A4  0x001A'+'0'+str(offset_value[4+36*x,:])[3:-1]) #19/1A
+print('sleep 0.05')
+print('pci -w 0x90A4  0x001C'+'0'+str(offset_value[4+37*x,:])[3:-1]) #1B/1C
+print('sleep 0.05')
+print('pci -w 0x90A4  0x001E'+'0'+str(offset_value[4+38*x,:])[3:-1]) #1D/1E
+print('sleep 0.05')
+print('pci -w 0x90A4  0x0020'+'0'+str(offset_value[4+39*x,:])[3:-1]) #1F/20
+print('sleep 0.05')
+
+print('pci -w 0x90A4  0x000D'+'0'+str(offset_value[4+40*x,:])[3:-1]) #D/E
+print('sleep 0.05')
+print('pci -w 0x90A4  0x000F'+'0'+str(offset_value[4+41*x,:])[3:-1]) #F/10
+print('sleep 0.05')
+print('pci -w 0x90A4  0x0011'+'0'+str(offset_value[4+42*x,:])[3:-1]) #11/12
+print('sleep 0.05')
+print('pci -w 0x90A4  0x0013'+'0'+str(offset_value[4+43*x,:])[3:-1]) #13/14
+print('sleep 0.05')
+
+print('pci -w 0x90A4  0x0019'+'0'+str(offset_value[4+44*x,:])[3:-1]) #19/1A
+print('sleep 0.05')
+print('pci -w 0x90A4  0x001B'+'0'+str(offset_value[4+45*x,:])[3:-1]) #1B/1C
+print('sleep 0.05')
+print('pci -w 0x90A4  0x001D'+'0'+str(offset_value[4+46*x,:])[3:-1]) #1D/1E
+print('sleep 0.05')
+print('pci -w 0x90A4  0x001F'+'0'+str(offset_value[4+47*x,:])[3:-1]) #1F/20
+print('sleep 0.05')
+
+print('pci -w 0x90A4  0x0025'+'0'+str(offset_value[4+48*x,:])[3:-1]) #25/26
+print('sleep 0.05')
+print('pci -w 0x90A4  0x0027'+'0'+str(offset_value[4+49*x,:])[3:-1]) #27/28
+print('sleep 0.05')
+print('pci -w 0x90A4  0x0029'+'0'+str(offset_value[4+50*x,:])[3:-1]) #29/2A
+print('sleep 0.05')
+print('pci -w 0x90A4  0x002B'+'0'+str(offset_value[4+51*x,:])[3:-1]) #2B/2C
+print('sleep 0.05')
+
+print('pci -w 0x90A4  0x0031'+'0'+str(offset_value[4+52*x,:])[3:-1]) #31/32
+print('sleep 0.05')
+print('pci -w 0x90A4  0x0033'+'0'+str(offset_value[4+53*x,:])[3:-1]) #33/34
+print('sleep 0.05')
+print('pci -w 0x90A4  0x0035'+'0'+str(offset_value[4+54*x,:])[3:-1]) #35/36
+print('sleep 0.05')
+print('pci -w 0x90A4  0x0037'+'0'+str(offset_value[4+55*x,:])[3:-1]) #37/38
+print('sleep 0.05')
+
+print('pci -w 0x90A4  0x0026'+'0'+str(offset_value[4+56*x,:])[3:-1]) #25/26
+print('sleep 0.05')
+print('pci -w 0x90A4  0x0028'+'0'+str(offset_value[4+57*x,:])[3:-1]) #27/28
+print('sleep 0.05')
+print('pci -w 0x90A4  0x002A'+'0'+str(offset_value[4+58*x,:])[3:-1]) #29/2A
+print('sleep 0.05')
+print('pci -w 0x90A4  0x002C'+'0'+str(offset_value[4+59*x,:])[3:-1]) #2B/2C
+print('sleep 0.05')
+
+print('pci -w 0x90A4  0x0032'+'0'+str(offset_value[4+60*x,:])[3:-1]) #31/32
+print('sleep 0.05')
+print('pci -w 0x90A4  0x0034'+'0'+str(offset_value[4+61*x,:])[3:-1]) #33/34
+print('sleep 0.05')
+print('pci -w 0x90A4  0x0036'+'0'+str(offset_value[4+62*x,:])[3:-1]) #35/36
+print('sleep 0.05')
+print('pci -w 0x90A4  0x0038'+'0'+str(offset_value[4+63*x,:])[3:-1]) #37/38
+print('sleep 0.05')
+
+# print('ADC1 0x90A0')
+# ###########
+# print('Register 38 is',offset_value[4,:])  #D/E
+# print('Register 36 is',offset_value[4+x,:])  #F/10
+# print('Register 34 is',offset_value[4+2*x,:])  #11/12
+# print('Register 32 is',offset_value[4+3*x,:])  #13/14
+#
+# print('Register 2C is',offset_value[4+4*x,:])  #19/1A
+# print('Register 2A is',offset_value[4+5*x,:])  #1B/1C
+# print('Register 28 is',offset_value[4+6*x,:]) #1D/1E
+# print('Register 26 is',offset_value[4+7*x,:]) #1F/20
+# ###########
+# print('Register 37 is',offset_value[4+8*x,:])  #D/E
+# print('Register 35 is',offset_value[4+9*x,:])  #F/10
+# print('Register 33 is',offset_value[4+10*x,:])  #11/12
+# print('Register 31 is',offset_value[4+11*x,:])  #13/14
+#
+# print('Register 2B is',offset_value[4+12*x,:])  #19/1A
+# print('Register 29 is',offset_value[4+13*x,:])  #1B/1C
+# print('Register 27 is',offset_value[4+14*x,:]) #1D/1E
+# print('Register 25 is',offset_value[4+15*x,:]) #1F/20
+#
+# print('Register 1F is',offset_value[4+16*x,:]) #25/26
+# print('Register 1D is',offset_value[4+17*x,:]) #27/28
+# print('Register 1B is',offset_value[4+18*x,:]) #29/2A
+# print('Register 19 is',offset_value[4+19*x,:]) #2B/2C
+#
+# print('Register 13 is',offset_value[4+20*x,:]) #31/32
+# print('Register 11 is',offset_value[4+21*x,:]) #33/34
+# print('Register F is' ,offset_value[4+22*x,:]) #35/36
+# print('Register D is'  ,offset_value[4+23*x,:]) #37/38
+# ###########
+# print('Register 20 is',offset_value[4+24*x,:]) #25/26
+# print('Register 1E is',offset_value[4+25*x,:]) #27/28
+# print('Register 1C is',offset_value[4+26*x,:]) #29/2A
+# print('Register 1A is',offset_value[4+27*x,:]) #2B/2C
+#
+# print('Register 14 is',offset_value[4+28*x,:]) #31/32
+# print('Register 12 is',offset_value[4+29*x,:]) #33/34
+# print('Register 10 is' ,offset_value[4+30*x,:]) #35/36
+# print('Register  E is'  ,offset_value[4+31*x,:]) #37/38
+# ###################################################################
+# print('ADC2 0x90A4')
+#
+# print('Register E is'  ,offset_value[4+32*x,:]) #D/E
+# print('Register 10 is' ,offset_value[4+33*x,:]) #F/10
+# print('Register 12 is',offset_value[4+34*x,:]) #11/12
+# print('Register 14 is',offset_value[4+35*x,:]) #13/14
+#
+# print('Register 1A is',offset_value[4+36*x,:]) #19/1A
+# print('Register 1C is',offset_value[4+37*x,:]) #1B/1C
+# print('Register 1E is',offset_value[4+38*x,:]) #1D/1E
+# print('Register 20 is',offset_value[4+39*x,:]) #1F/20
+#
+# print('Register D is'  ,offset_value[4+40*x,:]) #D/E
+# print('Register F is' ,offset_value[4+41*x,:]) #F/10
+# print('Register 11 is',offset_value[4+42*x,:]) #11/12
+# print('Register 13 is',offset_value[4+43*x,:]) #13/14
+#
+# print('Register 19 is',offset_value[4+44*x,:]) #19/1A
+# print('Register 1B is',offset_value[4+45*x,:]) #1B/1C
+# print('Register 1D is',offset_value[4+46*x,:]) #1D/1E
+# print('Register 1F is',offset_value[4+47*x,:]) #1F/20
+#
+# print('Register 25 is',offset_value[4+48*x,:]) #25/26
+# print('Register 27 is',offset_value[4+49*x,:]) #27/28
+# print('Register 29 is',offset_value[4+50*x,:]) #29/2A
+# print('Register 2B is',offset_value[4+51*x,:]) #2B/2C
+#
+# print('Register 31 is',offset_value[4+52*x,:]) #31/32
+# print('Register 33 is',offset_value[4+53*x,:]) #33/34
+# print('Register 35 is',offset_value[4+54*x,:]) #35/36
+# print('Register 37 is',offset_value[4+55*x,:]) #37/38
+#
+# print('Register 26 is',offset_value[4+56*x,:]) #25/26
+# print('Register 28 is',offset_value[4+57*x,:]) #27/28
+# print('Register 2A is',offset_value[4+58*x,:]) #29/2A
+# print('Register 2C is',offset_value[4+59*x,:]) #2B/2C
+#
+# print('Register 32 is',offset_value[4+60*x,:]) #31/32
+# print('Register 34 is',offset_value[4+61*x,:]) #33/34
+# print('Register 36 is',offset_value[4+62*x,:]) #35/36
+# print('Register 38 is',offset_value[4+63*x,:]) #37/38
 
 plt.show()

+ 2 - 2
pll_62_5.sh

@@ -42,11 +42,11 @@ pci -w 0x9064 0x00070600   # clock enable
 sleep 0.2
 
 #echo "*PLL: R3 "
-pci -w 0x9064 0x00070683          # clk_ADC_2    working:0x000704b3
+pci -w 0x9064 0x000706f3          # clk_ADC_2    working:0x000704b3
 sleep 0.2
 
 #echo "*PLL: R4 "
-pci -w 0x9064 0x00070684          # clk_ADC_1    working:0x000704b3
+pci -w 0x9064 0x000706f4          # clk_ADC_1    working:0x000704b3
 sleep 0.2
 
 #echo "*PLL: R5 "

+ 5 - 5
reset.sh

@@ -85,8 +85,8 @@ pci -w 9108 0x0400
 
 
 
-echo "---------->   NO -reset of the clock align stage"
-#pci -w 9040 10310f00
-#sleep 0.05
-#pci -w 9040 10210f00
-#sleep 0.05
+# echo "---------->   NO -reset of the clock align stage"
+# pci -w 9040 10310f00
+# sleep 0.05
+# pci -w 9040 10210f00
+# sleep 0.05

+ 7 - 0
reset_ex_rf.sh

@@ -82,3 +82,10 @@ sleep 0.1
 
 echo "write the number of samples to be acquired"
 pci -w 9108 0x0400
+
+
+# echo "---------->   NO -reset of the clock align stage"
+# pci -w 9040 10310f00
+# sleep 0.05
+# pci -w 9040 10210f00
+# sleep 0.05

+ 42 - 8
set_dac_voltages_25.sh

@@ -20,40 +20,74 @@ echo "***Configuring DACs***"
 
 
 
+# echo "DAC0: CH0 = VB_COLBUFFER 29uA"
+# pci -w 9068 000750
+# sleep 0.5
+#
+# echo "DAC0: CH2 = VB_COLBUFFER 29uA"
+# pci -w 9068 020750
+# sleep 0.5
+#
+# echo "DAC1: CH0 = VB_COLBUFFER 29uA"
+# pci -w 906C 000750
+# sleep 0.5
+#
+# echo "DAC1: CH2 = VB_COLBUFFER 29uA"
+# pci -w 906C 020750
+# sleep 0.5
+#
+# echo "DAC3: CH0 = VB_COLBUFFER 29uA"
+# pci -w 9074 000750
+# sleep 0.5
+#
+# echo "DAC3: CH2 = VB_COLBUFFER 29uA"
+# pci -w 9074 020750
+# sleep 0.5
+#
+# echo "DAC4: CH0 = VB_COLBUFFER 29uA"
+# pci -w 9078 000750
+# sleep 0.5
+#
+# echo "DAC4: CH2 = VB_COLBUFFER 29uA"
+# pci -w 9078 020750
+# sleep 0.5
+
+
 echo "DAC0: CH0 = VB_COLBUFFER 29uA"
-pci -w 9068 000750
+pci -w 9068 000800
 sleep 0.5
 
 echo "DAC0: CH2 = VB_COLBUFFER 29uA"
-pci -w 9068 020750
+pci -w 9068 020800
 sleep 0.5
 
 echo "DAC1: CH0 = VB_COLBUFFER 29uA"
-pci -w 906C 000750
+pci -w 906C 000800
 sleep 0.5
 
 echo "DAC1: CH2 = VB_COLBUFFER 29uA"
-pci -w 906C 020750
+pci -w 906C 020800
 sleep 0.5
 
 echo "DAC3: CH0 = VB_COLBUFFER 29uA"
-pci -w 9074 000750
+pci -w 9074 000800
 sleep 0.5
 
 echo "DAC3: CH2 = VB_COLBUFFER 29uA"
-pci -w 9074 020750
+pci -w 9074 020800
 sleep 0.5
 
 echo "DAC4: CH0 = VB_COLBUFFER 29uA"
-pci -w 9078 000750
+pci -w 9078 000800
 sleep 0.5
 
 echo "DAC4: CH2 = VB_COLBUFFER 29uA"
-pci -w 9078 020750
+pci -w 9078 020800
 sleep 0.5
 
 
 
+
 echo "DAC0: CH1 = IB_DS 28uA"
 pci -w 9068 010550
 sleep 0.5

+ 2 - 2
strip_data.py

@@ -167,9 +167,9 @@ def strip_data(filename, number_pixels, orbits, offset = None):
 
         data = np.reshape(data,(-1,pixels))
 
-        data = data[:,final_1024_index_concatenated]
+        data = data[:,final_1024_index_interleaved]
         data = data >> 2
-        #data = ss.savgol_filter(data, 11, 3) # window size 51, polynomial order 3
+        data = ss.savgol_filter(data, 15, 3) # window size 51, polynomial order 3
         orb, pix = np.shape(data)
 
         return (data, orb)

BIN
strip_data.pyc


BIN
temp.bin


BIN
temp_bg.bin