import pysmu, os from session_manager import SessionManager from device_worker import DeviceWorker class MultiLogger: def __init__(self, outdir="./logs", filter_window_size=10, interval=0.1): self.outdir = outdir self.filter_window_size = filter_window_size self.interval = interval self.sess = pysmu.Session() self.sess.add_all() self.sm = SessionManager(self.sess) self.devices = list(self.sess.devices) self.workers = [DeviceWorker(self.sm, dev, outdir, filter_window_size, interval) for dev in self.devices] def set_default_modes(self): # wie gehabt: A/B-Modi setzen for w in self.workers: try: w.set_mode("A", pysmu.Mode.SIMV) w.set_mode("B", pysmu.Mode.HI_Z) except Exception as e: print(f"[{w.serial}] Mode-Set-Fehler: {e}") def start_all(self): for w in self.workers: w.start() def stop_all(self): for w in self.workers: w.stop() def shutdown(self): for w in self.workers: w.shutdown()