diff --git a/src/lib/helpers/timing.py b/src/lib/helpers/timing.py
index cae4c92..742b766 100644
--- a/src/lib/helpers/timing.py
+++ b/src/lib/helpers/timing.py
@@ -1,7 +1,7 @@
from time import perf_counter, time
ref = time() - perf_counter()
-
+pass
def timing():
global ref
diff --git a/src/test/rfid.py b/src/test/rfid.py
index b11665c..74fa362 100644
--- a/src/test/rfid.py
+++ b/src/test/rfid.py
@@ -4,31 +4,43 @@ import nfc
from nfc.clf import RemoteTarget
clf = nfc.ContactlessFrontend()
-assert clf.open('tty:USB0:pn532') is True # open /dev/ttyUSB0 with pn532 driver
-
+connected=False
while True:
- target = clf.sense(RemoteTarget('106A'), RemoteTarget('106B'), RemoteTarget('212F'))
- if target is not None:
- tag = nfc.tag.activate(clf, target)
- print(tag)
- if tag.ndef is not None:
- for record in tag.ndef.records:
- print(record)
- else:
- print("EMPTY TAG - WRITING...")
- if not tag.ndef.is_writeable:
- print("This Tag is not writeable.")
- break
- tag.format()
- ret = tag.wr
+ try:
+ if not connected:
+ connected=clf.open('tty:USB0:pn532')
+ if connected:
+ target = clf.sense(RemoteTarget('106A'), RemoteTarget('106B'), RemoteTarget('212F'))
+ if target is not None:
+ tag = nfc.tag.activate(clf, target)
+ if tag is not None:
+ print(tag)
+ if tag.ndef is not None:
+ if not len(tag.ndef.records):
+ print("EMPTY TAG - WRITING...")
+ if not tag.ndef.is_writeable:
+ print("This Tag is not writeable.")
+ break
+ else:
+ tag.format()
+ #tag.ndef.records = [ndef.TextRecord("Errecinque"),ndef.TextRecord("5812345678")]
+ record=ndef.TextRecord("Errecinque,fixture,5812345678")
+ tag.ndef.records = [record]
+ if tag.ndef.has_changed:
+ print("WRITE ERROR")
+ else:
+ print("WRITE OK")
- if ret:
- print("ERROR")
+ for record in tag.ndef.records:
+ print(record)
+ else:
+ print("ERROR NOT NDEF")
else:
- print("OK")
- else:
- print("NO TARGET")
- time.sleep(0.1)
+ print("NO TARGET")
+ except Exception as e:
+ print(f"EXCEPTION {e}")
+ connected=False
+ time.sleep(0.3)
print("EXITING")
clf.close()
\ No newline at end of file
diff --git a/src/ui/test/test.py b/src/ui/test/test.py
index afe75a0..9cdc511 100755
--- a/src/ui/test/test.py
+++ b/src/ui/test/test.py
@@ -461,7 +461,11 @@ class Test(Widget):
self.next()
def done(self, ok=True):
- self.log.info("cycle done")
+ self.log.info("cycle done, saving data...")
+
+ #remove useless info
+ self.data.get("spec",{}).pop("steps")
+ self.data.get("spec",{}).pop("available_steps")
if "vision" in self.data:
vision_test_1 = self.data.get("vision", {}).get("0", {})
out_paths = self.components["vision_saver"].save(
diff --git a/src/ui/test_leak/test_leak.py b/src/ui/test_leak/test_leak.py
index 722908a..548b4b5 100644
--- a/src/ui/test_leak/test_leak.py
+++ b/src/ui/test_leak/test_leak.py
@@ -150,7 +150,8 @@ class Test_Leak(Test_Test):
for k, l in {
"Running test: active phase": self.test_phase_l,
"Real time test pressure output": self.circuit_pressure_l,
- "Real time differential pressure output": self.leak_l,
+ #"Real time differential pressure output": self.leak_l,
+ "Running test: measured leak": self.leak_l,
"Real time pressure line regulator": self.regulated_pressure_l,
# "Active alarm flags": self._l,
"Running test: test type": self.test_type_l,
diff --git a/src/ui/test_leak/test_leak.ui b/src/ui/test_leak/test_leak.ui
index 08f1553..8e9403f 100644
--- a/src/ui/test_leak/test_leak.ui
+++ b/src/ui/test_leak/test_leak.ui
@@ -6,7 +6,7 @@
0
0
- 1621
+ 1628
894
@@ -26,1075 +26,6 @@
0
- -
-
-
-
- 12
- 75
- true
-
-
-
- PROVA TENUTA
-
-
-
-
-
-
-
- 16
- 50
- false
-
-
-
- Caduta minima ammessa
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 130
- 16777215
-
-
-
-
- 20
- 50
- false
-
-
-
- background-color: rgb(255, 255, 255);
-border: 1px solid black;
-
-
-
- -
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- Fase del test
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 36
- 50
- false
-
-
-
- background-color: rgb(255, 255, 255);
-border: 1px solid black;
-
-
-
- 1/1
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- -
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- Pressione regolatore
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- Caduta di pressione misurata
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- Indice di sequenza del test
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 130
- 16777215
-
-
-
-
- 20
- 50
- false
-
-
-
- background-color: rgb(255, 255, 255);
-border: 1px solid black;
-
-
-
- -
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- 0
-
-
- NUMERO TEST
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 130
- 16777215
-
-
-
-
- 20
- 50
- false
-
-
-
- background-color: rgb(255, 255, 255);
-border: 1px solid black;
-
-
-
- -
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- Caduta massima ammessa
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 130
- 16777215
-
-
-
-
- 20
- 50
- false
-
-
-
- background-color: rgb(255, 255, 255);
-border: 1px solid black;
-
-
-
- -
-
-
-
- -
-
-
-
- 130
- 16777215
-
-
-
-
- 20
- 50
- false
-
-
-
- background-color: rgb(255, 255, 255);
-border: 1px solid black;
-
-
-
- -
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- Tipo di test
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- Pressione del circuito
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 130
- 16777215
-
-
-
-
- 20
- 50
- false
-
-
-
- background-color: rgb(255, 255, 255);
-border: 1px solid black;
-
-
-
- -
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- Pressione di test da ricetta
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- mbar
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- background-color: rgb(255, 255, 255);
-border: 1px solid black;
-
-
-
- -
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- background-color: rgb(255, 255, 255);
-border: 1px solid black;
-
-
-
- -
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- mbar
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- mbar
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- mbar
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- mbar
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- mbar
-
-
-
- -
-
-
-
- 16
- 50
- false
-
-
-
- background-color: rgb(255, 255, 255);
-border: 1px solid black;
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 12
- 75
- true
-
-
-
- FORZA ACCETTAZIONE
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 100
-
-
-
-
- 16777215
- 16777215
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 85
- 255
- 127
-
-
-
-
-
-
- 127
- 255
- 127
-
-
-
-
-
-
- 63
- 255
- 63
-
-
-
-
-
-
- 0
- 127
- 0
-
-
-
-
-
-
- 0
- 170
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 85
- 255
- 127
-
-
-
-
-
-
- 85
- 255
- 127
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 127
- 255
- 127
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 85
- 255
- 127
-
-
-
-
-
-
- 127
- 255
- 127
-
-
-
-
-
-
- 63
- 255
- 63
-
-
-
-
-
-
- 0
- 127
- 0
-
-
-
-
-
-
- 0
- 170
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 85
- 255
- 127
-
-
-
-
-
-
- 85
- 255
- 127
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 127
- 255
- 127
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 127
- 0
-
-
-
-
-
-
- 85
- 255
- 127
-
-
-
-
-
-
- 127
- 255
- 127
-
-
-
-
-
-
- 63
- 255
- 63
-
-
-
-
-
-
- 0
- 127
- 0
-
-
-
-
-
-
- 0
- 170
- 0
-
-
-
-
-
-
- 0
- 127
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 127
- 0
-
-
-
-
-
-
- 85
- 255
- 127
-
-
-
-
-
-
- 85
- 255
- 127
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 255
- 0
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 20
- 75
- true
-
-
-
- background-color:rgb(85, 255, 127);
-
-
- START
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 12
- 75
- true
-
-
-
- Risultato
-
-
-
-
-
-
-
- 0
- 0
-
-
-
- %v / %m
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 32
- 32
-
-
-
- -
-
-
-
-
-
-
-
@@ -2043,6 +974,1109 @@ border: 1px solid black;
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 12
+ 75
+ true
+
+
+
+ Risultato
+
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ %v / %m
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 32
+ 32
+
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 100
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 85
+ 255
+ 127
+
+
+
+
+
+
+ 127
+ 255
+ 127
+
+
+
+
+
+
+ 63
+ 255
+ 63
+
+
+
+
+
+
+ 0
+ 127
+ 0
+
+
+
+
+
+
+ 0
+ 170
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 85
+ 255
+ 127
+
+
+
+
+
+
+ 85
+ 255
+ 127
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 127
+ 255
+ 127
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 85
+ 255
+ 127
+
+
+
+
+
+
+ 127
+ 255
+ 127
+
+
+
+
+
+
+ 63
+ 255
+ 63
+
+
+
+
+
+
+ 0
+ 127
+ 0
+
+
+
+
+
+
+ 0
+ 170
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 85
+ 255
+ 127
+
+
+
+
+
+
+ 85
+ 255
+ 127
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 127
+ 255
+ 127
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 127
+ 0
+
+
+
+
+
+
+ 85
+ 255
+ 127
+
+
+
+
+
+
+ 127
+ 255
+ 127
+
+
+
+
+
+
+ 63
+ 255
+ 63
+
+
+
+
+
+
+ 0
+ 127
+ 0
+
+
+
+
+
+
+ 0
+ 170
+ 0
+
+
+
+
+
+
+ 0
+ 127
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 127
+ 0
+
+
+
+
+
+
+ 85
+ 255
+ 127
+
+
+
+
+
+
+ 85
+ 255
+ 127
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 255
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 20
+ 75
+ true
+
+
+
+ background-color:rgb(85, 255, 127);
+
+
+ START
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 12
+ 75
+ true
+
+
+
+ FORZA ACCETTAZIONE
+
+
+
+ -
+
+
+
+ 12
+ 75
+ true
+
+
+
+ PROVA TENUTA
+
+
+
-
+
+
+
+ 16
+ 50
+ false
+
+
+
+ Caduta massima ammessa
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ background-color: rgb(255, 255, 255);
+border: 1px solid black;
+
+
+
+ -
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ Indice di sequenza del test
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ Pressione regolatore
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ mbar
+
+
+
+ -
+
+
+
+ 130
+ 16777215
+
+
+
+
+ 20
+ 50
+ false
+
+
+
+ background-color: rgb(255, 255, 255);
+border: 1px solid black;
+
+
+
+ -
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ Tipo di test
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 130
+ 16777215
+
+
+
+
+ 20
+ 50
+ false
+
+
+
+ background-color: rgb(255, 255, 255);
+border: 1px solid black;
+
+
+
+ -
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 150
+ 0
+
+
+
+
+ 150
+ 16777215
+
+
+
+
+ 48
+ 50
+ false
+
+
+
+ background-color: rgb(255, 255, 255);
+border: 1px solid black;
+
+
+
+ 1/1
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Minimum
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ mbar
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ background-color: rgb(255, 255, 255);
+border: 1px solid black;
+
+
+
+ -
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ Pressione del circuito
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ -
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 130
+ 16777215
+
+
+
+
+ 20
+ 50
+ false
+
+
+
+ background-color: rgb(255, 255, 255);
+border: 1px solid black;
+
+
+
+ -
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ mbar
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ mbar
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ mbar
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ Fase del test
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ background-color: rgb(255, 255, 255);
+border: 1px solid black;
+
+
+
+ -
+
+
+
+ -
+
+
+
+ 130
+ 16777215
+
+
+
+
+ 20
+ 50
+ false
+
+
+
+ background-color: rgb(255, 255, 255);
+border: 1px solid black;
+
+
+
+ -
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ Caduta di pressione misurata
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 130
+ 16777215
+
+
+
+
+ 20
+ 50
+ false
+
+
+
+ background-color: rgb(255, 255, 255);
+border: 1px solid black;
+
+
+
+ -
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ Pressione di test da ricetta
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ Caduta minima ammessa
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ mbar
+
+
+
+ -
+
+
+
+ 130
+ 16777215
+
+
+
+
+ 20
+ 50
+ false
+
+
+
+ background-color: rgb(255, 255, 255);
+border: 1px solid black;
+
+
+
+ -
+
+
+
+ -
+
+
+
+ 16
+ 50
+ false
+
+
+
+ 0
+
+
+ NUMERO TEST
+
+
+ Qt::AlignCenter
+
+
+
+
+
+
diff --git a/src/ui/test_test/test_test.py b/src/ui/test_test/test_test.py
index 34413bd..e241268 100644
--- a/src/ui/test_test/test_test.py
+++ b/src/ui/test_test/test_test.py
@@ -1,5 +1,7 @@
import sys
+import time
import weakref
+from datetime import datetime
from lib.helpers import timing
from PyQt5.QtCore import Qt, QTimer, pyqtSignal
@@ -119,6 +121,7 @@ class Test_Test(Widget):
self.last = None
def get(self, data=None, override=False, fail=False, preserve_counter=False, skip_delay=False):
+ cur_timing = timing()
if self.done: # avoid proccessing if completed
return
if data is None:
@@ -130,17 +133,18 @@ class Test_Test(Widget):
else:
data = data[-data_usable.index(True) - 1]
if data.get("time", None) is None:
- data["time"] = timing()
+ data["time"] = datetime.now().strftime("%H:%M:%S")
if fail:
result_ok = False
elif override:
result_ok = True
else:
result_ok = data.get("results", {}).get("ok", None)
+ duration=cur_timing - self.start_time
self.last = {
**data,
"overridden": override,
- "duration": timing() - self.start_time,
+ "duration": f"{duration:.2f}",
"ok": result_ok,
}
if fail: