fco730 dev
This commit is contained in:
parent
656b56eb62
commit
62ce71cfc2
@ -11,6 +11,7 @@ from .tecna_marposs_provaset_t3 import TecnaMarpossProvasetT3
|
|||||||
from .tecna_screwdriver import TecnaScrewdriver
|
from .tecna_screwdriver import TecnaScrewdriver
|
||||||
from .usb_586x import USB_586x
|
from .usb_586x import USB_586x
|
||||||
from .rfid_pn532 import RFID_PN532
|
from .rfid_pn532 import RFID_PN532
|
||||||
|
from furness_controls_leak_tester import FurnessControlsLeakTester
|
||||||
if "--vision" in sys.argv:
|
if "--vision" in sys.argv:
|
||||||
from .galaxy_camera import GalaxyCamera
|
from .galaxy_camera import GalaxyCamera
|
||||||
from .neo_pixels import NeoPixels
|
from .neo_pixels import NeoPixels
|
||||||
|
|||||||
@ -1,15 +1,10 @@
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
from lib.db import Recipes, Steps, db
|
from components.component import Component
|
||||||
from PyQt5.QtCore import QSemaphore, pyqtSignal
|
from components.furness_controls_fco730_registers import registers as fco730_registers
|
||||||
from PyQt5.QtWidgets import QMessageBox
|
from components.furness_controls_fco780_registers import registers as fco780_registers
|
||||||
|
from components.furness_controls_fco730_registers import settings as fco730_settings
|
||||||
from .component import Component
|
from components.furness_controls_fco780_registers import settings as fco780_settings
|
||||||
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
|
|
||||||
if "--sim-furness-controls" in sys.argv:
|
if "--sim-furness-controls" in sys.argv:
|
||||||
from components.dummies.serial import serial
|
from components.dummies.serial import serial
|
||||||
else:
|
else:
|
||||||
|
|||||||
@ -62,10 +62,10 @@ logging.basicConfig(
|
|||||||
)
|
)
|
||||||
|
|
||||||
try:
|
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,
|
from components import (ArchiveSynchronizer, Multicomp730424,
|
||||||
Os_Label_Printer, RemoteAPI,
|
Os_Label_Printer, RemoteAPI,
|
||||||
TecnaMarpossProvasetT3, TecnaScrewdriver, USB_586x,RFID_PN532)
|
TecnaMarpossProvasetT3,FurnessControlsLeakTester, TecnaScrewdriver, USB_586x,RFID_PN532)
|
||||||
from lib.db import Users
|
from lib.db import Users
|
||||||
from lib.helpers import ConfigReader
|
from lib.helpers import ConfigReader
|
||||||
from PyQt5.QtCore import QObject, QThread, pyqtSignal
|
from PyQt5.QtCore import QObject, QThread, pyqtSignal
|
||||||
|
|||||||
0
src/test/__init__.py
Normal file
0
src/test/__init__.py
Normal file
@ -1,8 +1,12 @@
|
|||||||
|
import os
|
||||||
|
import platform
|
||||||
import sys
|
import sys
|
||||||
from datetime import datetime
|
|
||||||
from PyQt5.QtWidgets import QApplication
|
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 furness_controls_leak_tester import FurnessControlsLeakTester
|
||||||
from lib.helpers import ConfigReader
|
from lib.helpers import ConfigReader
|
||||||
|
|
||||||
@ -13,20 +17,23 @@ app = QApplication(sys.argv)
|
|||||||
tester_component = FurnessControlsLeakTester(name="furness_controls")
|
tester_component = FurnessControlsLeakTester(name="furness_controls")
|
||||||
|
|
||||||
|
|
||||||
command=bytearray(['F',0,5,0])
|
# GET STATUS
|
||||||
response=tester_component.send_command(command)
|
enquiry=bytearray(['M',0,0,0])
|
||||||
|
|
||||||
|
|
||||||
if response is not None:
|
|
||||||
print(f"RESPONSE:{response}")
|
|
||||||
else:
|
|
||||||
print("COMMAND ERROR")
|
|
||||||
|
|
||||||
enquiry=bytearray(['F',0,5,0])
|
|
||||||
response=tester_component.send_enquiry(enquiry)
|
response=tester_component.send_enquiry(enquiry)
|
||||||
|
|
||||||
|
|
||||||
if response is not None:
|
if response is not None:
|
||||||
print(f"RESPONSE:{response}")
|
print(f"RESPONSE:{response}")
|
||||||
else:
|
else:
|
||||||
print("INQUIRY ERROR")
|
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")
|
||||||
|
|
||||||
|
|||||||
@ -13,6 +13,7 @@ VALVE_TIME=0.5
|
|||||||
|
|
||||||
class Test_Leak(Test_Test):
|
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):
|
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)
|
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.get_connection = None
|
||||||
self.io_ok = True
|
self.io_ok = True
|
||||||
@ -31,11 +32,11 @@ class Test_Leak(Test_Test):
|
|||||||
dialog.show()
|
dialog.show()
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
self.components["tecna_t3"].stop_test()
|
self.components[self.tester_component].stop_test()
|
||||||
super().reset()
|
super().reset()
|
||||||
|
|
||||||
def stop_test(self):
|
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")
|
self.display_text(text="PROVA INTERROTTA", bg_color="yellow")
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
self.start_b.setEnabled(True)
|
self.start_b.setEnabled(True)
|
||||||
@ -75,7 +76,7 @@ class Test_Leak(Test_Test):
|
|||||||
|
|
||||||
self.blow_on = False
|
self.blow_on = False
|
||||||
if not self.simulate:
|
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):
|
def start(self, recipe=None, step=None, pieces=None):
|
||||||
@ -109,11 +110,11 @@ class Test_Leak(Test_Test):
|
|||||||
self.recipe_written = False
|
self.recipe_written = False
|
||||||
|
|
||||||
if not self.recipe_written:
|
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.recipe_written=True
|
||||||
|
|
||||||
self.get_connection = self.components["tecna_t3"].out.connect(self.get)
|
self.get_connection = self.components[self.tester_component].out.connect(self.get)
|
||||||
self.components["tecna_t3"].resume()
|
self.components[self.tester_component].resume()
|
||||||
if self.parent_assembly_widget is not None:
|
if self.parent_assembly_widget is not None:
|
||||||
self.display_text(text="ATTENDERE")
|
self.display_text(text="ATTENDERE")
|
||||||
self.start_b.setEnabled(False)
|
self.start_b.setEnabled(False)
|
||||||
@ -146,8 +147,8 @@ class Test_Leak(Test_Test):
|
|||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
# disable test loop
|
# disable test loop
|
||||||
self.components["tecna_t3"].stop_test()
|
self.components[self.tester_component].stop_test()
|
||||||
self.components["tecna_t3"].pause()
|
self.components[self.tester_component].pause()
|
||||||
self.disconnect(self.get_connection)
|
self.disconnect(self.get_connection)
|
||||||
super().stop()
|
super().stop()
|
||||||
self.start_b.setEnabled(False)
|
self.start_b.setEnabled(False)
|
||||||
@ -164,7 +165,7 @@ class Test_Leak(Test_Test):
|
|||||||
# TESTING
|
# TESTING
|
||||||
if self.simulate:
|
if self.simulate:
|
||||||
if "--fail-leak" in sys.argv:
|
if "--fail-leak" in sys.argv:
|
||||||
data["tecna_t3"] = {
|
data[self.tester_component] = {
|
||||||
"Running test: active phase": "WAITING START",
|
"Running test: active phase": "WAITING START",
|
||||||
"Running test: result": "-----TESTING----- fail",
|
"Running test: result": "-----TESTING----- fail",
|
||||||
"Running test: filling pressure":"5000",
|
"Running test: filling pressure":"5000",
|
||||||
@ -172,7 +173,7 @@ class Test_Leak(Test_Test):
|
|||||||
"Running test: pressure at the end of settling":"4999",
|
"Running test: pressure at the end of settling":"4999",
|
||||||
}
|
}
|
||||||
else:
|
else:
|
||||||
data["tecna_t3"] = {
|
data[self.tester_component] = {
|
||||||
"Running test: active phase": "WAITING START",
|
"Running test: active phase": "WAITING START",
|
||||||
"Running test: result": "-----TESTING----- passed",
|
"Running test: result": "-----TESTING----- passed",
|
||||||
"Running test: filling pressure":"5000",
|
"Running test: filling pressure":"5000",
|
||||||
@ -180,9 +181,9 @@ class Test_Leak(Test_Test):
|
|||||||
"Running test: pressure at the end of settling":"4999",
|
"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
|
# TEST ENDED
|
||||||
result = data["tecna_t3"]["Running test: result"]
|
result = data[self.tester_component]["Running test: result"]
|
||||||
step=self.step.spec.get("autotest", "")
|
step=self.step.spec.get("autotest", "")
|
||||||
if step == "ok_check":
|
if step == "ok_check":
|
||||||
ok = type(result) is str and "passed" in result.lower() # AUTOTEST - NO LEAK
|
ok = type(result) is str and "passed" in result.lower() # AUTOTEST - NO LEAK
|
||||||
@ -223,14 +224,14 @@ class Test_Leak(Test_Test):
|
|||||||
#"results": {
|
#"results": {
|
||||||
#"ok": ok,
|
#"ok": ok,
|
||||||
#"result": result,
|
#"result": result,
|
||||||
#"data": data["tecna_t3"],
|
#"data": data[self.tester_component],
|
||||||
#},
|
#},
|
||||||
}], override=override, fail=ok is False)
|
}], override=override, fail=ok is False)
|
||||||
|
|
||||||
def visualize(self, data=None):
|
def visualize(self, data=None):
|
||||||
if data is None:
|
if data is None:
|
||||||
data = {}
|
data = {}
|
||||||
d = data.get("results", {}).get("tecna_t3", {})
|
d = data.get("results", {}).get(self.tester_component, {})
|
||||||
for k, l in {
|
for k, l in {
|
||||||
"Running test: active phase": self.test_phase_l,
|
"Running test: active phase": self.test_phase_l,
|
||||||
"Real time test pressure output": self.circuit_pressure_l,
|
"Real time test pressure output": self.circuit_pressure_l,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user