def run_process(target, **kwargs): """Initialization function for forked processes""" vxlogger.setup_log_queue(kwargs.get('_log_queue')) log = vxlogger.getLogger(target.name) vxlogger.write = lambda lvl, msg: log.info(msg) vxlogger.debug = log.debug vxlogger.info = log.info vxlogger.warning = log.warning vxlogger.error = log.error vxlogger.setup_log_history(kwargs.get('_log_history')) local_module = target(**kwargs)
import vxpy from vxpy import config from vxpy import definitions from vxpy.definitions import * from vxpy import modules from vxpy.api import gui_rpc from vxpy.api.dependency import register_camera_device, register_io_device, assert_device_requirements from vxpy.core import process, ipc, logger from vxpy.core import routine from vxpy.core import run_process import vxpy.core.gui as vxgui from vxpy.core.attribute import Attribute from vxpy.core.protocol import get_protocol from vxpy.addons import core_widgets log = logger.getLogger(__name__) class Controller(process.AbstractProcess): name = PROCESS_CONTROLLER configfile: str = None _processes: Dict[str, mp.Process] = dict() _registered_processes: List[Tuple[process.AbstractProcess, Dict]] = list() _active_protocols: List[str] = list() def __init__(self, _configuration_path): # Set up manager ipc.Manager = mp.Manager()
import os.path from PySide6 import QtCore, QtGui, QtWidgets from qt_material import apply_stylesheet import sys import vxpy from vxpy import config from vxpy.definitions import * import vxpy.core.ipc as vxipc import vxpy.core.gui as vxgui import vxpy.core.logger as vxlogger import vxpy.core.process as vxprocess from vxpy.addons import core_widgets import vxpy.modules as vxmodules log = vxlogger.getLogger(__name__) class Gui(vxprocess.AbstractProcess): name = PROCESS_GUI app: QtWidgets.QApplication def __init__(self, **kwargs): vxprocess.AbstractProcess.__init__(self, **kwargs) # Create application self.app = QtWidgets.QApplication.instance() if self.app is None: self.app = QtWidgets.QApplication(sys.argv) self.window = Window()