try fix
This commit is contained in:
parent
4d66ea6650
commit
6d09c7bc0b
50
Controll.py
50
Controll.py
@ -1,25 +1,51 @@
|
||||
import sys
|
||||
import pysmu
|
||||
from PyQt5.QtWidgets import QApplication
|
||||
from GUI import MainWindow
|
||||
from DeviceController import DeviceController
|
||||
from GUI import MainWindow, startGUI
|
||||
import os
|
||||
|
||||
|
||||
# --- Setup ---
|
||||
def main():
|
||||
# 1) Geräte einsammeln (pysmu nur hier benutzen)
|
||||
sess = pysmu.Session()
|
||||
sess.add_all()
|
||||
|
||||
controllers = {dev.serial: DeviceController(dev) for dev in sess.devices}
|
||||
serials = list(controllers.keys())
|
||||
print(serials)
|
||||
print("Gefundene Geräte:", serials)
|
||||
|
||||
startGUI()
|
||||
|
||||
for i, serial in enumerate(serials):
|
||||
# Optional: Modi setzen
|
||||
for serial in serials:
|
||||
c = controllers[serial]
|
||||
print(c)
|
||||
c.set_mode(0, pysmu.Mode.SIMV) # CH A Hi-Z
|
||||
c.set_mode(1, pysmu.Mode.HI_Z) # CH B Hi-Z
|
||||
MainWindow.add_list_item(MainWindow, serials[i], i, c.start, c.stop)
|
||||
c.set_mode(0, pysmu.Mode.SIMV) # CH A z. B.
|
||||
c.set_mode(1, pysmu.Mode.HI_Z) # CH B z. B.
|
||||
|
||||
# 2) GUI erstellen
|
||||
app = QApplication(sys.argv)
|
||||
win = MainWindow()
|
||||
|
||||
# Kleine Helfer, damit die ListItem-Buttons nur Controller.start/stop aufrufen
|
||||
def make_on_start(ctrl):
|
||||
return lambda _idx: ctrl.start()
|
||||
|
||||
def make_on_stop(ctrl):
|
||||
return lambda _idx: ctrl.stop()
|
||||
|
||||
# 3) Liste befüllen (auf der INSTANZ, nicht auf der Klasse!)
|
||||
for i, serial in enumerate(serials):
|
||||
ctrl = controllers[serial]
|
||||
win.add_list_item(
|
||||
text=serial,
|
||||
index=i,
|
||||
on_start=make_on_start(ctrl),
|
||||
on_stop=make_on_stop(ctrl),
|
||||
)
|
||||
|
||||
# 4) Start
|
||||
win.show()
|
||||
sys.exit(app.exec_())
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
|
||||
# # Beispiel: Gerät 1 starten, Gerät 2 später starten/stoppen
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user