Adalm1000_Logger/Controll.py
Vincent Hanewinkel 8ea1532650 fix
2025-08-14 22:28:30 +02:00

39 lines
1.2 KiB
Python

import sys, pysmu
from functools import partial
from PyQt5.QtWidgets import QApplication
from SessionManager import SessionManager
from DeviceController import DeviceController
from GUI import MainWindow
def main():
# 1) Session + Devices
sess = pysmu.Session()
sess.add_all()
sm = SessionManager(sess)
devices = list(sess.devices)
print("Gefundene Geräte:", [d.serial for d in devices])
controllers = [DeviceController(sm, dev) for dev in devices]
# Optional: Modi setzen (A/B)
for c in controllers:
c.set_mode("A", pysmu.Mode.SIMV)
c.set_mode("B", pysmu.Mode.HI_Z)
# 2) GUI
app = QApplication(sys.argv)
win = MainWindow()
# 3) Liste + Buttons
for i, ctrl in enumerate(controllers):
w = win.add_list_item(ctrl.serial, i)
# 'checked' wird in der Lambda abgefangen, wir übergeben nur (ctrl, w)
w.btn_start.clicked.connect(lambda checked=False, c=ctrl, ww=w: (c.start(), ww.set_running(True)))
w.btn_stop.clicked.connect (lambda checked=False, c=ctrl, ww=w: (c.stop(), ww.set_running(False)))
win.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()