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

kick buttons!

parent 3d916a85
......@@ -10,8 +10,8 @@ import sys
from pyqtgraph.Qt import QtGui
from myWidgets import anal_control_signal, digital_control_signal, activation_button, burleighWM, coherentWM
from PyQt5.QtWidgets import QMainWindow
from myWidgets import anal_control_signal, digital_control_signal, activation_button, burleighWM, coherentWM, kick_ions_hard, kick_ions_soft
from PyQt5.QtWidgets import QMainWindow, QPushButton
from PyQt5.QtCore import QTimer
from pyqtgraph import dockarea
import pyqtgraph as pg
......@@ -118,6 +118,7 @@ class GuiMainWindow(QMainWindow):
self.trapDCA = anal_control_signal('DC A', 2)
self.trapDCB = anal_control_signal('DC B', 1)
self.trapCompC = anal_control_signal('Comp C', 4)
self.trapCompC.sb.setEnabled(False)
self.trapCompD = anal_control_signal('Comp D', 5)
self.trapCompOven = anal_control_signal('Comp Oven', 0)
self.trapCompExYb = anal_control_signal('Comp Ex Yb', 6)
......@@ -129,6 +130,11 @@ class GuiMainWindow(QMainWindow):
self.shutter423 = digital_control_signal('shutter423', 1)
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 ############################
self.toolbar = myToolbarMenu(self.win, anal_control_signal._registry )
......@@ -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(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(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.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)
......
......@@ -11,13 +11,14 @@ from pyqtgraph.Qt import QtGui, QtCore
from PyQt5.QtCore import QTimer
from PyQt5.QtWidgets import (QPushButton, QWidget, QVBoxLayout, QLCDNumber, QProgressBar, QLabel, QCheckBox, QComboBox)
import telnetlib
import os, serial
import os, serial, time
from messages import show_warning
import scanFunctions
import wav_coherent
#An example of a class
class anal_control_signal(QWidget):
_registry = []
......@@ -418,4 +419,48 @@ class coherentWM(QWidget):
self.layoutWM.addWidget(lcd, 0, 0)
self.layoutWM.addWidget(combo, 1, 0)
self.dockWM.addWidget(self.layoutWM)
self.dockWM.addWidget(self.reactivateButton)
\ No newline at end of file
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