From 62ce71cfc28bc4e80e87c9020b007d9d7ed935e6 Mon Sep 17 00:00:00 2001 From: neo-dl Date: Wed, 11 Oct 2023 15:15:42 +0200 Subject: [PATCH] fco730 dev --- src/components/__init__.py | 1 + .../furness_controls_leak_tester.py | 15 +++------ src/main.py | 4 +-- src/test/__init__.py | 0 src/test/furness_controls.py | 33 +++++++++++-------- src/ui/test_leak/test_leak.py | 29 ++++++++-------- 6 files changed, 43 insertions(+), 39 deletions(-) create mode 100644 src/test/__init__.py diff --git a/src/components/__init__.py b/src/components/__init__.py index 8292a0a..363d1ec 100644 --- a/src/components/__init__.py +++ b/src/components/__init__.py @@ -11,6 +11,7 @@ from .tecna_marposs_provaset_t3 import TecnaMarpossProvasetT3 from .tecna_screwdriver import TecnaScrewdriver from .usb_586x import USB_586x from .rfid_pn532 import RFID_PN532 +from furness_controls_leak_tester import FurnessControlsLeakTester if "--vision" in sys.argv: from .galaxy_camera import GalaxyCamera from .neo_pixels import NeoPixels diff --git a/src/components/furness_controls_leak_tester.py b/src/components/furness_controls_leak_tester.py index ffe5756..3560e54 100644 --- a/src/components/furness_controls_leak_tester.py +++ b/src/components/furness_controls_leak_tester.py @@ -1,15 +1,10 @@ import sys -from lib.db import Recipes, Steps, db -from PyQt5.QtCore import QSemaphore, pyqtSignal -from PyQt5.QtWidgets import QMessageBox - -from .component import Component -from .modbus_component import ModbusComponent -from .furness_controls_fco730_registers import registers as fco730_registers -from .furness_controls_fco780_registers import registers as fco780_registers -from .furness_controls_fco730_registers import settings as fco730_settings -from .furness_controls_fco780_registers import settings as fco780_settings +from components.component import Component +from components.furness_controls_fco730_registers import registers as fco730_registers +from components.furness_controls_fco780_registers import registers as fco780_registers +from components.furness_controls_fco730_registers import settings as fco730_settings +from components.furness_controls_fco780_registers import settings as fco780_settings if "--sim-furness-controls" in sys.argv: from components.dummies.serial import serial else: diff --git a/src/main.py b/src/main.py index b1c475c..18b3ec7 100644 --- a/src/main.py +++ b/src/main.py @@ -62,10 +62,10 @@ logging.basicConfig( ) try: - # IMPORT PROJECT ONLY AFTER SETTING UP SIGNAL, FAULTHANDLER AND LOGGHING + # IMPORT PROJECT ONLY AFTER SETTING UP SIGNAL, FAULTHANDLER AND LOGGING from components import (ArchiveSynchronizer, Multicomp730424, Os_Label_Printer, RemoteAPI, - TecnaMarpossProvasetT3, TecnaScrewdriver, USB_586x,RFID_PN532) + TecnaMarpossProvasetT3,FurnessControlsLeakTester, TecnaScrewdriver, USB_586x,RFID_PN532) from lib.db import Users from lib.helpers import ConfigReader from PyQt5.QtCore import QObject, QThread, pyqtSignal diff --git a/src/test/__init__.py b/src/test/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/test/furness_controls.py b/src/test/furness_controls.py index f2cac4c..8e691aa 100644 --- a/src/test/furness_controls.py +++ b/src/test/furness_controls.py @@ -1,8 +1,12 @@ +import os +import platform import sys -from datetime import datetime from PyQt5.QtWidgets import QApplication +if platform.system().lower() == "windows": + sys.path.append(f"{os.getcwd()}\src\components") +else: + sys.path.append(f"{os.getcwd()}/src/components") -from components import Os_Label_Printer from furness_controls_leak_tester import FurnessControlsLeakTester from lib.helpers import ConfigReader @@ -13,20 +17,23 @@ app = QApplication(sys.argv) tester_component = FurnessControlsLeakTester(name="furness_controls") -command=bytearray(['F',0,5,0]) -response=tester_component.send_command(command) - - -if response is not None: - print(f"RESPONSE:{response}") -else: - print("COMMAND ERROR") - -enquiry=bytearray(['F',0,5,0]) +# GET STATUS +enquiry=bytearray(['M',0,0,0]) response=tester_component.send_enquiry(enquiry) if response is not None: print(f"RESPONSE:{response}") else: - print("INQUIRY ERROR") \ No newline at end of file + print("INQUIRY ERROR") + +# SET PRODUCT 50 (LAST RECIPE) + +command=bytearray(['F',0,5,0]) +response=tester_component.send_command(command) + +if response is not None: + print(f"RESPONSE:{response}") +else: + print("COMMAND ERROR") + diff --git a/src/ui/test_leak/test_leak.py b/src/ui/test_leak/test_leak.py index b62bdfd..5945d3b 100644 --- a/src/ui/test_leak/test_leak.py +++ b/src/ui/test_leak/test_leak.py @@ -13,6 +13,7 @@ VALVE_TIME=0.5 class Test_Leak(Test_Test): def __init__(self, components=None, recipe=None, step=None, pieces=None, run_once=False, reset_on_start=True, enable_override=False,parent=None): + self.tester_component="tecna_t3" if "tecna_t3" in self.components.keys() else "furness_controls" super().__init__(components=components, recipe=recipe, step=step, pieces=pieces, run_once=run_once, reset_on_start=reset_on_start, enable_override=enable_override) self.get_connection = None self.io_ok = True @@ -31,11 +32,11 @@ class Test_Leak(Test_Test): dialog.show() def reset(self): - self.components["tecna_t3"].stop_test() + self.components[self.tester_component].stop_test() super().reset() def stop_test(self): - self.components["tecna_t3"].stop_test() + self.components[self.tester_component].stop_test() self.display_text(text="PROVA INTERROTTA", bg_color="yellow") time.sleep(1) self.start_b.setEnabled(True) @@ -75,7 +76,7 @@ class Test_Leak(Test_Test): self.blow_on = False if not self.simulate: - self.components["tecna_t3"].start_test() + self.components[self.tester_component].start_test() def start(self, recipe=None, step=None, pieces=None): @@ -109,11 +110,11 @@ class Test_Leak(Test_Test): self.recipe_written = False if not self.recipe_written: - self.components["tecna_t3"].write_recipe(self.recipe, self.step) + self.components[self.tester_component].write_recipe(self.recipe, self.step) self.recipe_written=True - self.get_connection = self.components["tecna_t3"].out.connect(self.get) - self.components["tecna_t3"].resume() + self.get_connection = self.components[self.tester_component].out.connect(self.get) + self.components[self.tester_component].resume() if self.parent_assembly_widget is not None: self.display_text(text="ATTENDERE") self.start_b.setEnabled(False) @@ -146,8 +147,8 @@ class Test_Leak(Test_Test): def stop(self): # disable test loop - self.components["tecna_t3"].stop_test() - self.components["tecna_t3"].pause() + self.components[self.tester_component].stop_test() + self.components[self.tester_component].pause() self.disconnect(self.get_connection) super().stop() self.start_b.setEnabled(False) @@ -164,7 +165,7 @@ class Test_Leak(Test_Test): # TESTING if self.simulate: if "--fail-leak" in sys.argv: - data["tecna_t3"] = { + data[self.tester_component] = { "Running test: active phase": "WAITING START", "Running test: result": "-----TESTING----- fail", "Running test: filling pressure":"5000", @@ -172,7 +173,7 @@ class Test_Leak(Test_Test): "Running test: pressure at the end of settling":"4999", } else: - data["tecna_t3"] = { + data[self.tester_component] = { "Running test: active phase": "WAITING START", "Running test: result": "-----TESTING----- passed", "Running test: filling pressure":"5000", @@ -180,9 +181,9 @@ class Test_Leak(Test_Test): "Running test: pressure at the end of settling":"4999", } - if "Running test: result" in data["tecna_t3"]: + if "Running test: result" in data[self.tester_component]: # TEST ENDED - result = data["tecna_t3"]["Running test: result"] + result = data[self.tester_component]["Running test: result"] step=self.step.spec.get("autotest", "") if step == "ok_check": ok = type(result) is str and "passed" in result.lower() # AUTOTEST - NO LEAK @@ -223,14 +224,14 @@ class Test_Leak(Test_Test): #"results": { #"ok": ok, #"result": result, - #"data": data["tecna_t3"], + #"data": data[self.tester_component], #}, }], override=override, fail=ok is False) def visualize(self, data=None): if data is None: data = {} - d = data.get("results", {}).get("tecna_t3", {}) + d = data.get("results", {}).get(self.tester_component, {}) for k, l in { "Running test: active phase": self.test_phase_l, "Real time test pressure output": self.circuit_pressure_l,