diff --git a/.gitignore b/.gitignore index d3a72f2..0de428e 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ __pycache__/ /src/lib/db/*imports*/ /tmp/ /venv*/ +runme_custom.sh diff --git a/config/label_designs/STANDARD/EtichettaR5.nlbl b/config/label_designs/STANDARD/EtichettaR5.nlbl new file mode 100644 index 0000000..0769605 Binary files /dev/null and b/config/label_designs/STANDARD/EtichettaR5.nlbl differ diff --git a/config/label_templates/EtichettaR5.prn b/config/label_templates/EtichettaR5.prn index 3924cc2..cf1999f 100644 --- a/config/label_templates/EtichettaR5.prn +++ b/config/label_templates/EtichettaR5.prn @@ -1,42 +1,42 @@ CT~~CD,~CC^~CT~ -^LR -^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR4,4~SD15^JUS^LRN^CI0^XZ +^XA +~TA000 +~JSN +^LT0 +^MNW +^MTT +^PON +^PMN +^LH0,0 +^JMA +^PR2,2 +~SD20 +^JUS +^LRN +^CI27 +^PA0,1,1,0 +^XZ ^XA ^MMT -^PW352 -^LL1071 +^PW320 +^LL1119 ^LS0 -^FT32,94^A0N,23,24^FH\^FDNumero Disegno^FS -^FT39,240^A0N,20,19^FH\^FD{PART}{MO}{YY}{SN5}^FS -^FT39,291^A0N,20,19^FH\^FDN. Pezzo:^FS -^FT36,318^A0N,20,19^FH\^FD{DATETIME}^FS -^FT42,359^A0N,20,19^FH\^FDTurno:^FS -^FT44,386^A0N,20,19^FH\^FDStazione^FS -^FT41,413^A0N,20,19^FH\^FDOperatore:^FS -^FT32,520^A0N,20,19^FH\^FDPress Max (bar)^FS -^FT32,547^A0N,20,19^FH\^FDPress Min (bar)^FS -^FT32,574^A0N,20,19^FH\^FDCaduta (bar)^FS -^FT34,628^A0N,20,19^FH\^FDT Riempimento (sec)^FS -^FT34,655^A0N,20,19^FH\^FDT Stabilizzazione (sec)^FS -^FT34,682^A0N,20,19^FH\^FDT Prova (sec)^FS -^FT34,709^A0N,20,19^FH\^FDCaduta Tollerata^FS -^FT34,736^A0N,20,19^FH\^FDmax (Bar)^FS -^FT34,763^A0N,20,19^FH\^FDPress Min Prova (Bar)^FS -^FT136,291^A0N,20,19^FH\^FD{SN}^FS -^FT145,359^A0N,20,19^FH\^FD{SHIFT}^FS -^FT138,413^A0N,20,19^FH\^FD{OPERATOR}^FS -^FT184,520^A0N,20,19^FH\^FD{PMAX}^FS -^FT184,547^A0N,20,19^FH\^FD{PMIN}^FS -^FT185,574^A0N,20,19^FH\^FD{RESLEAK}^FS -^FT257,628^A0N,20,19^FH\^FD{TFILL}^FS -^FT257,655^A0N,20,19^FH\^FD{TSET}^FS -^FT257,682^A0N,20,19^FH\^FD{TTEST}^FS -^FT257,736^A0N,20,19^FH\^FD{PMAX}^FS -^FT257,763^A0N,20,19^FH\^FD{PMIN}^FS -^FT138,386^A0N,20,19^FH\^FD{STATION}^FS -^BY80,80^FT42,196^BXN,5,200,0,0,1,~ -^FH\^FD{PART}{MO}{YY}{SN5}^FS -^FT56,906^A0N,36,36^FH\^FD{RESULT_L2}^FS -^FT56,868^A0N,36,36^FH\^FD{RESULT_L1}^FS -^FO32,454^GB292,0,8^FS -^PQ1,0,1,Y^XZ +^FT33,86^A0N,45,46^FH\^CI28^FDERRECINQUE^FS^CI27 +^BY2,3,56^FT44,310^BCN,,N,N +^FH\^FD>:{PART}^FS +^FT15,347^A0N,31,30^FH\^CI28^FDPart number:^FS^CI27 +^FT15,427^A0N,31,30^FH\^CI28^FD{PART}^FS^CI27 +^FT17,136^A0N,17,18^FH\^CI28^FDVia Meucci 31/A - 10079 Mappano(TO)^FS^CI27 +^FT53,193^A0N,39,38^FH\^CI28^FDFPT^FS^CI27 +^FT53,235^A0N,39,38^FH\^CI28^FDLEAK TEST^FS^CI27 +^FT15,387^A0N,31,30^FH\^CI28^FD{DESCRIPTION}^FS^CI27 +^FT15,740^A0N,31,30^FH\^CI28^FDSequential number:^FS^CI27 +^FT15,779^A0N,31,30^FH\^CI28^FD{SN5}^FS^CI27 +^FT15,856^A0N,17,18^FH\^CI28^FD{DD}/{MM}/{YY}^FS^CI27 +^FT161,856^A0N,17,18^FH\^CI28^FD{HH}:{MI}:{SS}^FS^CI27 +^FT17,1081^A0N,31,30^FH\^CI28^FDESITO:^FS^CI27 +^FT143,1081^A0N,31,30^FH\^CI28^FDCONFORME^FS^CI27 +^FT15,934^A0N,25,25^FH\^CI28^FDOperatore^FS^CI27 +^FT15,967^A0N,25,25^FH\^CI28^FD{OPERATOR}^FS^CI27 +^PQ1,0,1,Y +^XZ diff --git a/runme_custom.sh b/runme_custom.sh new file mode 100755 index 0000000..bd9a5cb --- /dev/null +++ b/runme_custom.sh @@ -0,0 +1,4 @@ +#!/bin/bash -e +cd "$(dirname "$0")" +source "./venv/bin/activate" || source "./venv/Scripts/activate" || : +python -O "./src/main.py" --no-edgetpu --no-tflite $* diff --git a/src/components/__init__.py b/src/components/__init__.py index b19b0f1..16f3aa6 100644 --- a/src/components/__init__.py +++ b/src/components/__init__.py @@ -1,3 +1,5 @@ +import sys + from .archive_synchronizer import ArchiveSynchronizer from .consumer import Consumer from .galaxy_camera import GalaxyCamera @@ -11,5 +13,6 @@ from .tecna_marposs_provaset_t3 import TecnaMarpossProvasetT3 from .tecna_screwdriver import TecnaScrewdriver from .test_component import TestComponent from .uvc_camera import UVCCamera -from .vision import Vision +if "--vision" in sys.argv: + from .vision import Vision from .vision_saver import VisionSaver diff --git a/src/main.py b/src/main.py index c23e80a..9cb7b16 100644 --- a/src/main.py +++ b/src/main.py @@ -55,13 +55,16 @@ try: from components import (ArchiveSynchronizer, GalaxyCamera, Multicomp730424, NeoPixels, Os_Label_Printer, RemoteAPI, TecnaMarpossProvasetT3, TecnaScrewdriver, - UVCCamera, Vision, VisionSaver) + UVCCamera, VisionSaver) from lib.db import Users from lib.helpers import ConfigReader from PyQt5.QtCore import QObject, QThread, pyqtSignal from PyQt5.QtWidgets import QApplication, QMessageBox from ui import About, Archive, Login, Main_Window, Test, Users_Management + if "--vision" in sys.argv: + from components import Vision + class Main(QObject): do = pyqtSignal(dict) @@ -87,9 +90,11 @@ try: "screwdriver": {"c": TecnaScrewdriver, "k": {"paused": True}}, "tecna_t3": {"c": TecnaMarpossProvasetT3, "k": {"paused": True}}, "uvc_camera": {"c": UVCCamera, "k": {"paused": True}}, - "vision_saver": {"c": VisionSaver, "t": False}, - "vision": {"c": Vision, "k": {"paused": True}}, + "vision_saver": {"c": VisionSaver, "t": False} } + if "--vision" in sys.argv: + self.components_specs["vision"] = {"c": Vision, "k": {"paused": True}} + for component_name in list(self.components_specs): if self.config.get("hardware_config", {}).get(component_name, None) != "present": self.components_specs.pop(component_name, None) diff --git a/src/scripts/csv_extract_resistance.py b/src/scripts/csv_extract_resistance.py new file mode 100644 index 0000000..3323b01 --- /dev/null +++ b/src/scripts/csv_extract_resistance.py @@ -0,0 +1,34 @@ +import csv +import json + +file="data" +with open(f"tmp/{file}.csv",) as csv_file: + csv_reader = csv.reader(csv_file, delimiter=',') + + with open(f'tmp/{file}_out.csv', 'w') as csv_out: + + # create the csv writer + writer = csv.writer(csv_out, lineterminator="\n") + + line_count = 0 + for row in csv_reader: + if line_count == 0: + print(f'Column names are {", ".join(row)}') + row.append("res misurata") + row.append("res attesa") + line_count += 1 + writer.writerow(row) + else: + data=json.loads(row[1]) + if "resistance" in data.keys(): + res=data["resistance"]["0"]["results"]["result"] + exp=data["resistance"]["0"]["step"]["spec"]["expected"] + resstr=f'{res:.3f}' + expstr = f'{exp:.3f}' + print(f'res={resstr} exp={expstr}') + line_count += 1 + row.append(resstr) + row.append(expstr) + writer.writerow(row) + + print(f'Processed {line_count} lines.') \ No newline at end of file