Skip to content
Snippets Groups Projects
main.py 1.72 KiB
Newer Older
import sys
esarrey's avatar
esarrey committed
import qdarkstyle
esarrey's avatar
esarrey committed
from datetime import datetime
from pylablib.devices import Thorlabs
from PyQt5 import QtCore
from pymeasure.experiment import unique_filename
from pymeasure.experiment import Results
from pymeasure.display.Qt import QtWidgets

esarrey's avatar
esarrey committed
from src.ui.mainui import UIWindown
from src.ui.controltab import ControlTab
from src.ui.livetab import LiveTab
from src.procedures import B_Sweep, X_Sweep, Y_Sweep
class MainWindow(UIWindown):
    def __init__(self):
        super().__init__(
            procedure_class=[B_Sweep, X_Sweep, Y_Sweep],
            inputs=[
esarrey's avatar
esarrey committed
                ['acq_time', 'freq', 'b_min', 'b_max', 'b_step', 'x', 'y', 'loop'],
                ['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'],
esarrey's avatar
esarrey committed
            x_axis='Iteration',
            y_axis='Voltage',
            widget_list=(ControlTab("Manual control"), LiveTab("Live measurements")),
esarrey's avatar
esarrey committed
            directory_input=True
        )
        self.setWindowTitle('Mini MOKE')
esarrey's avatar
esarrey committed
        self.directory = 'data'

    def queue(self, procedure=None):
esarrey's avatar
esarrey committed
        direc = self.directory + '/' + datetime.now().strftime('%Y-%m')
        if procedure is None:
            procedure = self.make_procedure()
        file = unique_filename(direc, procedure.name+"_")
esarrey's avatar
esarrey committed
        results = Results(procedure, file)
        experiment = self.new_experiment(results)

        self.manager.queue(experiment)
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
esarrey's avatar
esarrey committed
    dark_stylesheet = qdarkstyle.load_stylesheet_pyqt5()
    app.setStyleSheet(dark_stylesheet)
    window = MainWindow()
    window.show()
    sys.exit(app.exec())