Commit 21b72ab7 authored by Martin Drechsler's avatar Martin Drechsler

kick buttons!

parent 3d916a85
...@@ -10,8 +10,8 @@ import sys ...@@ -10,8 +10,8 @@ import sys
from pyqtgraph.Qt import QtGui from pyqtgraph.Qt import QtGui
from myWidgets import anal_control_signal, digital_control_signal, activation_button, burleighWM, coherentWM from myWidgets import anal_control_signal, digital_control_signal, activation_button, burleighWM, coherentWM, kick_ions_hard, kick_ions_soft
from PyQt5.QtWidgets import QMainWindow from PyQt5.QtWidgets import QMainWindow, QPushButton
from PyQt5.QtCore import QTimer from PyQt5.QtCore import QTimer
from pyqtgraph import dockarea from pyqtgraph import dockarea
import pyqtgraph as pg import pyqtgraph as pg
...@@ -118,6 +118,7 @@ class GuiMainWindow(QMainWindow): ...@@ -118,6 +118,7 @@ class GuiMainWindow(QMainWindow):
self.trapDCA = anal_control_signal('DC A', 2) self.trapDCA = anal_control_signal('DC A', 2)
self.trapDCB = anal_control_signal('DC B', 1) self.trapDCB = anal_control_signal('DC B', 1)
self.trapCompC = anal_control_signal('Comp C', 4) self.trapCompC = anal_control_signal('Comp C', 4)
self.trapCompC.sb.setEnabled(False)
self.trapCompD = anal_control_signal('Comp D', 5) self.trapCompD = anal_control_signal('Comp D', 5)
self.trapCompOven = anal_control_signal('Comp Oven', 0) self.trapCompOven = anal_control_signal('Comp Oven', 0)
self.trapCompExYb = anal_control_signal('Comp Ex Yb', 6) self.trapCompExYb = anal_control_signal('Comp Ex Yb', 6)
...@@ -129,6 +130,11 @@ class GuiMainWindow(QMainWindow): ...@@ -129,6 +130,11 @@ class GuiMainWindow(QMainWindow):
self.shutter423 = digital_control_signal('shutter423', 1) self.shutter423 = digital_control_signal('shutter423', 1)
self.shutterLED = digital_control_signal('shutterLED', 3) self.shutterLED = digital_control_signal('shutterLED', 3)
self.soft_kick_button = QPushButton('kick!')
self.soft_kick_button.clicked.connect(lambda: kick_ions_soft(self.shutter866, self.trapDCA, self.trapDCB))
self.hard_kick_button = QPushButton('kick!!')
self.hard_kick_button.clicked.connect(lambda: kick_ions_hard(self.shutter866, self.trapDCA, self.trapDCB))
#############Toolbar and initial loading of config ############################ #############Toolbar and initial loading of config ############################
self.toolbar = myToolbarMenu(self.win, anal_control_signal._registry ) self.toolbar = myToolbarMenu(self.win, anal_control_signal._registry )
...@@ -214,6 +220,9 @@ class GuiMainWindow(QMainWindow): ...@@ -214,6 +220,9 @@ class GuiMainWindow(QMainWindow):
self.layout_trap_electrodes.addWidget(QtGui.QLabel('Trap electrodes'), 0, 0) self.layout_trap_electrodes.addWidget(QtGui.QLabel('Trap electrodes'), 0, 0)
self.layout_trap_electrodes.addWidget(QtGui.QLabel(self.trapDCA.name), 1, 1), self.layout_trap_electrodes.addWidget(self.trapDCA.sb, 1, 2) self.layout_trap_electrodes.addWidget(QtGui.QLabel(self.trapDCA.name), 1, 1), self.layout_trap_electrodes.addWidget(self.trapDCA.sb, 1, 2)
self.layout_trap_electrodes.addWidget(QtGui.QLabel(self.trapDCB.name), 2, 1), self.layout_trap_electrodes.addWidget(self.trapDCB.sb, 2, 2) self.layout_trap_electrodes.addWidget(QtGui.QLabel(self.trapDCB.name), 2, 1), self.layout_trap_electrodes.addWidget(self.trapDCB.sb, 2, 2)
self.layout_trap_electrodes.addWidget(self.soft_kick_button, 1, 0)
self.layout_trap_electrodes.addWidget(self.hard_kick_button, 2, 0)
self.layout_trap_electrodes.addWidget(QtGui.QLabel(self.trapCompC.name), 1, 3), self.layout_trap_electrodes.addWidget(self.trapCompC.sb, 1, 4) self.layout_trap_electrodes.addWidget(QtGui.QLabel(self.trapCompC.name), 1, 3), self.layout_trap_electrodes.addWidget(self.trapCompC.sb, 1, 4)
self.layout_trap_electrodes.addWidget(QtGui.QLabel(self.trapCompD.name), 2, 3), self.layout_trap_electrodes.addWidget(self.trapCompD.sb, 2, 4) self.layout_trap_electrodes.addWidget(QtGui.QLabel(self.trapCompD.name), 2, 3), self.layout_trap_electrodes.addWidget(self.trapCompD.sb, 2, 4)
self.layout_trap_electrodes.addWidget(QtGui.QLabel(self.trapCompOven.name), 1, 5), self.layout_trap_electrodes.addWidget(self.trapCompOven.sb, 1, 6) self.layout_trap_electrodes.addWidget(QtGui.QLabel(self.trapCompOven.name), 1, 5), self.layout_trap_electrodes.addWidget(self.trapCompOven.sb, 1, 6)
......
...@@ -11,13 +11,14 @@ from pyqtgraph.Qt import QtGui, QtCore ...@@ -11,13 +11,14 @@ from pyqtgraph.Qt import QtGui, QtCore
from PyQt5.QtCore import QTimer from PyQt5.QtCore import QTimer
from PyQt5.QtWidgets import (QPushButton, QWidget, QVBoxLayout, QLCDNumber, QProgressBar, QLabel, QCheckBox, QComboBox) from PyQt5.QtWidgets import (QPushButton, QWidget, QVBoxLayout, QLCDNumber, QProgressBar, QLabel, QCheckBox, QComboBox)
import telnetlib import telnetlib
import os, serial import os, serial, time
from messages import show_warning from messages import show_warning
import scanFunctions import scanFunctions
import wav_coherent import wav_coherent
#An example of a class
class anal_control_signal(QWidget): class anal_control_signal(QWidget):
_registry = [] _registry = []
...@@ -419,3 +420,47 @@ class coherentWM(QWidget): ...@@ -419,3 +420,47 @@ class coherentWM(QWidget):
self.layoutWM.addWidget(combo, 1, 0) self.layoutWM.addWidget(combo, 1, 0)
self.dockWM.addWidget(self.layoutWM) self.dockWM.addWidget(self.layoutWM)
self.dockWM.addWidget(self.reactivateButton) self.dockWM.addWidget(self.reactivateButton)
def kick_ions_soft(laser_to_shutter, *voltages_to_shake):
"""
Pone los electrodos pasados en el segundo argumento al minimo, mientras cierra uno de los laseres.
"""
if laser_to_shutter.cb.isChecked():
laser_to_shutter.DO.set_out(True)
current_sb_values = []
for signal in voltages_to_shake:
current_sb_values.append(float(signal.sb.val))
signal.AO.set_out(signal.min)
time.sleep(1)
i = 0
for signal in voltages_to_shake:
signal.AO.set_out(current_sb_values[i])
i = i + 1
if laser_to_shutter.cb.isChecked():
laser_to_shutter.DO.set_out(False)
def kick_ions_hard(laser_to_shutter, *voltages_to_shake):
"""
Pone los electrodos pasados en el segundo argumento al minimo y al maximo para sacudirlos, de a uno. Mientras cierra uno de los laseres.
"""
if laser_to_shutter.cb.isChecked():
laser_to_shutter.DO.set_out(True)
for signal in voltages_to_shake:
current_sb_value = float(signal.sb.val)
for i in range(5):
signal.AO.set_out(signal.min)
time.sleep(.05)
signal.AO.set_out(signal.max)
time.sleep(.05)
signal.AO.set_out(current_sb_value)
if laser_to_shutter.cb.isChecked():
laser_to_shutter.DO.set_out(False)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment