-
Eliott Sarrey authored
# Conflicts: # main.py # src/classes/ui.py
Eliott Sarrey authored# Conflicts: # main.py # src/classes/ui.py
main.py 2.15 KiB
import sys
from datetime import datetime
from pylablib.devices import Thorlabs
from pymeasure.experiment import unique_filename
from pymeasure.experiment import Results
from pymeasure.display.Qt import QtWidgets
import logging
from time import sleep
from PyQt5 import QtCore, QtWidgets
from pymeasure.log import console_log
from pymeasure.experiment import Results, Worker
from src.classes.ui import UIWindown
from src.classes.controltab import ControlTab
from src.procedures import B_Sweep, X_Sweep, Y_Sweep
log = logging.getLogger(__name__)
log.addHandler(logging.NullHandler())
class MainWindow(UIWindown):
def __init__(self):
super().__init__(
procedure_class=[B_Sweep, X_Sweep, Y_Sweep],
inputs=[
['acq_time', 'freq', 'b_min', 'b_max', 'b_step', 'x', 'y'],
['acq_time', 'freq', 'x_min', 'x_max', 'x_step', 'y', 'field'],
['acq_time', 'freq', 'y_min', 'y_max', 'y_step', 'x', 'field']
],
displays=['acq_time', 'freq'],
x_axis='X Position',
y_axis='Voltage',
widget_list=tuple([ControlTab("Manual control")]),
directory_input=True
)
self.setWindowTitle('Mini MOKE')
self.directory = 'data'
try:
for device in Thorlabs.list_kinesis_devices():
log.info(f"Thorlab device connected: {device[1]} with serial number: {device[0]}")
except:
pass
def queue(self, procedure=None):
direc = self.directory + '/' + datetime.now().strftime('%Y-%m')
data_filename = 'random.csv'
log.info("Constructing the Results with a data file: %s" % data_filename)
results = Results(procedure, data_filename)
file = unique_filename(direc, procedure.name+"_")
results = Results(procedure, file)
experiment = self.new_experiment(results)
# log.info("Constructing the Worker")
# worker = Worker(results)
# worker.start()
# log.info("Started the Worker")
# log.info("Joining with the worker in at most 10 hours")
# worker.join(timeout=36000)
# log.info("Finished the measurement")
sys.exit(app.exec())