Adalm1000_Logger/multi_logger.py
Vincent Hanewinkel b2406ed037 test
2025-08-14 22:56:00 +02:00

39 lines
1.1 KiB
Python

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()