Esempio n. 1
0
def main(qtbot):
    from qtpy import QtWidgets
    from pymodaq.dashboard import DashBoard
    from pymodaq.daq_scan import DAQ_Scan
    from pymodaq.daq_utils import gui_utils as gutils

    win = QtWidgets.QMainWindow()
    area = pymodaq.daq_utils.gui_utils.dock.DockArea()
    win.setCentralWidget(area)
    win.resize(1000, 500)
    win.setWindowTitle('PyMoDAQ Dashboard')

    dashboard = DashBoard(area)
    file = Path(get_set_preset_path()).joinpath(
        f"{config('presets', 'default_preset_for_scan')}.xml")
    dashboard.set_preset_mode(file)

    winscan = QtWidgets.QMainWindow()
    areascan = pymodaq.daq_utils.gui_utils.dock.DockArea()
    win.setCentralWidget(area)
    daq_scan = DAQ_Scan(dockarea=areascan,
                        dashboard=dashboard,
                        show_popup=False)
    daq_scan.status_signal.connect(dashboard.add_status)
    winscan.show()
    qtbot.addWidget(win)
    qtbot.addWidget(winscan)
    yield dashboard, daq_scan, win
    win.close()
    winscan.close()
Esempio n. 2
0
def main(xmlfile):
    from pymodaq.dashboard import DashBoard
    from pymodaq.daq_utils.config import get_set_preset_path
    from pymodaq.daq_utils import gui_utils as gutils
    from pathlib import Path
    from qtpy import QtWidgets
    from pymodaq.pid.pid_controller import DAQ_PID

    import sys
    app = QtWidgets.QApplication(sys.argv)
    win = QtWidgets.QMainWindow()
    area = DockArea()
    win.setCentralWidget(area)
    win.resize(1000, 500)
    win.setWindowTitle('PyMoDAQ Dashboard')

    dashboard = DashBoard(area)
    file = Path(get_set_preset_path()).joinpath(xmlfile)
    if file.exists():
        dashboard.set_preset_mode(file)
        # prog.load_scan_module()
        pid_area = DockArea()
        pid_window = QtWidgets.QMainWindow()
        pid_window.setCentralWidget(pid_area)

        prog = DAQ_PID(pid_area)
        pid_window.show()
        pid_window.setWindowTitle('PidController')
        prog.set_module_manager(dashboard.detector_modules,
                                dashboard.actuators_modules)
        QtWidgets.QApplication.processEvents()

    else:
        msgBox = QtWidgets.QMessageBox()
        msgBox.setText(
            f"The default file specified in the configuration file does not exists!\n"
            f"{file}\n"
            f"Impossible to load the DAQ_PID Module")
        msgBox.setStandardButtons(msgBox.Ok)
        ret = msgBox.exec()

    sys.exit(app.exec_())
Esempio n. 3
0
def main():
    import sys
    from pathlib import Path
    app = QtWidgets.QApplication(sys.argv)

    from pymodaq.dashboard import DashBoard

    win = QtWidgets.QMainWindow()
    area = DockArea()
    win.setCentralWidget(area)
    win.resize(1000, 500)
    win.setWindowTitle('PyMoDAQ Dashboard')

    dash = DashBoard(area)
    file = Path(get_set_preset_path()).joinpath(
        f"{config('presets', 'default_preset_for_scan')}.xml")
    if file.exists():
        dash.set_preset_mode(file)
        dash.load_scan_module()

    mainwindow = QtWidgets.QMainWindow()
    dockarea = DockArea()
    mainwindow.setCentralWidget(dockarea)

    prog = NonLinearScanner(dockarea)

    QtWidgets.QApplication.processEvents()
    prog.positions_signal.connect(
        dash.scan_module.scanner.update_tabular_positions)

    mainwindow.show()
    sys.exit(app.exec_())
Esempio n. 4
0
def main():
    from pymodaq.dashboard import DashBoard
    from pymodaq.daq_utils.daq_utils import load_config, get_set_preset_path
    from pathlib import Path

    config = load_config()
    app = QtWidgets.QApplication(sys.argv)
    win = QtWidgets.QMainWindow()
    area = gutils.DockArea()
    win.setCentralWidget(area)
    win.resize(1000, 500)
    win.setWindowTitle('PyMoDAQ Dashboard')

    # win.setVisible(False)
    prog = DashBoard(area)
    file = Path(get_set_preset_path()).joinpath(f"{config['presets']['default_preset_for_logger']}.xml")
    if file.exists():
        prog.set_preset_mode(file)
        prog.load_log_module()
    else:
        msgBox = QtWidgets.QMessageBox()
        msgBox.setText(f"The default file specified in the configuration file does not exists!\n"
                       f"{file}\n"
                       f"Impossible to load the Logger Module")
        msgBox.setStandardButtons(msgBox.Ok)
        ret = msgBox.exec()

    sys.exit(app.exec_())
Esempio n. 5
0
def main():
    from pymodaq.daq_utils.daq_utils import get_set_preset_path
    from pymodaq.daq_utils.gui_utils import DockArea
    from pathlib import Path
    from pymodaq.dashboard import DashBoard

    app = QtWidgets.QApplication(sys.argv)
    win = QtWidgets.QMainWindow()
    area = DockArea()
    win.setCentralWidget(area)
    win.resize(1000, 500)
    win.setWindowTitle('PyMoDAQ Dashboard')

    dashboard = DashBoard(area)
    file = Path(get_set_preset_path()).joinpath("microMOKE.xml")
    if not file.exists():
        file = Path(get_set_preset_path()).joinpath("MokeMicro_Mock.xml")
    if file.exists():
        dashboard.set_preset_mode(file)
        mm_area = DockArea()
        mm_window = QtWidgets.QMainWindow()
        mm_window.setCentralWidget(mm_area)
        micromoke = MicroMOKE(mm_area, dashboard)
        mm_window.show()
        mm_window.setWindowTitle('MicroMOKE')
        QtWidgets.QApplication.processEvents()

    else:
        messagebox(
            severity='warning',
            title=f"Impossible to load the DAQ_Scan Module",
            text=
            f"The default file specified in the configuration file does not exists!\n"
            f"{file}\n")

    sys.exit(app.exec_())
Esempio n. 6
0
    def test_main_setfilepreset_quit(self, init_qt):
        qtbot = init_qt
        from qtpy import QtWidgets
        from pymodaq.dashboard import DashBoard
        from pymodaq.daq_utils import gui_utils as gutils

        win = QtWidgets.QMainWindow()
        qtbot.addWidget(win)
        area = pymodaq.daq_utils.gui_utils.dock.DockArea()
        win.setCentralWidget(area)
        win.resize(1000, 500)
        win.setWindowTitle('PyMoDAQ Dashboard')

        dashboard = DashBoard(area)
        file = preset_path.joinpath(
            f"{config('presets', 'default_preset_for_scan')}.xml")

        dashboard.set_preset_mode(file)

        dashboard.quit_fun()
Esempio n. 7
0
    def set_dashboard(self):
        params = [
            {
                'title':
                'Spectro Settings:',
                'name':
                'spectro_settings',
                'type':
                'group',
                'children': [
                    {
                        'title':
                        'Is calibrated?',
                        'name':
                        'iscalibrated',
                        'type':
                        'bool',
                        'value':
                        False,
                        'tooltip':
                        'Whether the selected plugin has internal frequency calibration or not.'
                    },
                    {
                        'title':
                        'Movable?',
                        'name':
                        'ismovable',
                        'type':
                        'bool',
                        'value':
                        False,
                        'tooltip':
                        'Whether the selected plugin has a functionality to change its central frequency: as a movable grating'
                        ' for instance.'
                    },
                    {
                        'title':
                        'Laser selectable?',
                        'name':
                        'laser_selectable',
                        'type':
                        'bool',
                        'value':
                        False,
                        'tooltip':
                        'Whether the selected plugin has a functionality to change its excitation ray'
                    },
                    {
                        'title': 'Laser ray:',
                        'name': 'laser_ray',
                        'type': 'list',
                        'value': '',
                        'show_pb': True,
                        'tooltip':
                        'List of settable laser rays (not manual ones)'
                    },
                ]
            },
        ]
        dashboard = DashBoard(self.dockarea.addTempArea())
        dashboard.set_preset_path(spectro_path)
        options = [
            dict(path='saving_options', options_dict=dict(visible=False)),
            dict(path='use_pid', options_dict=dict(visible=False)),
            dict(path='Moves', options_dict=dict(visible=False))
        ]
        dashboard.set_extra_preset_params(params, options)

        dashboard.dockarea.window().setVisible(False)
        return dashboard
Esempio n. 8
0
            self.logger.flush()

    def start_logging(self):
        try:
            self.modules_manager.connect_detectors(
                slot=self.do_save_continuous)
            self.stop_logging_flag = False
            self.status_sig.emit(["Update_Status", "Acquisition has started"])

        except Exception as e:
            logger.exception(str(e))


if __name__ == '__main__':
    from pymodaq.dashboard import DashBoard

    app = QtWidgets.QApplication(sys.argv)
    win = QtWidgets.QMainWindow()
    area = gutils.DockArea()
    win.setCentralWidget(area)
    win.resize(1000, 500)
    win.setWindowTitle('PyMoDAQ Dashboard')

    # win.setVisible(False)
    prog = DashBoard(area)
    prog.set_preset_mode(
        'C:\\Users\\weber\\pymodaq_local\\preset_configs\\preset_default.xml')
    # QThread.msleep(4000)

    prog.load_log_module()
    sys.exit(app.exec_())