43 lines
1.1 KiB
Python
Executable File
43 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import os
|
|
import sys
|
|
|
|
from PySide6.QtCore import QThread
|
|
from PySide6.QtWidgets import QApplication
|
|
|
|
from load_controller.gui import GUI
|
|
from load_controller.load import Load
|
|
from load_controller.profile_handler import ProfileHandler
|
|
from load_controller.temperatures import Temperatures
|
|
from load_controller.bms import BMSEvalBoard
|
|
|
|
|
|
def main(argv: list[str]) -> int:
|
|
app = QApplication(sys.argv)
|
|
profile_handler = ProfileHandler()
|
|
|
|
load = Load(argv[1], profile_handler)
|
|
temps = Temperatures(argv[2])
|
|
temp_thread = QThread()
|
|
temps.moveToThread(temp_thread)
|
|
temp_thread.started.connect(temps.run)
|
|
temp_thread.start()
|
|
bms = BMSEvalBoard(argv[3], temps.temperaturesUpdated)
|
|
bms_thread = QThread()
|
|
bms.moveToThread(bms_thread)
|
|
bms_thread.started.connect(bms.do_work)
|
|
bms_thread.start()
|
|
|
|
gui = GUI(profile_handler, bms.dataUpdated)
|
|
|
|
return app.exec()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
if len(sys.argv) != 4:
|
|
print(f"Usage: {sys.argv[0]} LOAD-PORT TEMP-PORT BMS-PORT", file=sys.stderr)
|
|
sys.exit(os.EX_USAGE)
|
|
|
|
sys.exit(main(sys.argv))
|