From 0f1e164c28c38b24cb6bface1e5e947329312a5b Mon Sep 17 00:00:00 2001 From: germano laptop Date: Thu, 9 Jan 2025 10:19:41 +0100 Subject: [PATCH 1/4] dev --- .../st-ten-11/Mclaren_barcode.prn | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 config/label_templates/st-ten-11/Mclaren_barcode.prn diff --git a/config/label_templates/st-ten-11/Mclaren_barcode.prn b/config/label_templates/st-ten-11/Mclaren_barcode.prn new file mode 100644 index 0000000..4958d48 --- /dev/null +++ b/config/label_templates/st-ten-11/Mclaren_barcode.prn @@ -0,0 +1,34 @@ +CT~~CD,~CC^~CT~ +^XA +~TA000 +~JSN +^LT0 +^MNW +^MTT +^PON +^PMN +^LH0,0 +^JMA +^PR2,2 +~SD20 +^JUS +^LRN +^CI27 +^PA0,1,1,0 +^XZ +^XA +^MMT +^PW320 +^LL1039 +^LS0 +^FT9,46^A0N,24,23^FH\^CI28^FD{RECIPE}^FS^CI27 +^FT250,38^A0N,16,15^FH\^CI28^FDVEROX^FS^CI27 +^FT9,80^A0N,24,23^FH\^CI28^FDFED^FS^CI27 +^BY2,3,58^FT65,166^BCN,,Y,N +^FH\^FD>:{RECIPE}^FS +^BY2,3,54^FT131,259^BCN,,Y,N +^FH\^FD>:{SN}^FS +^FT9,316^A0N,24,23^FH\^CI28^FD{DATE}^FS^CI27 +^FT109,321^A0N,24,23^FH\^CI28^FD{SN}^FS^CI27 +^PQ1,0,1,Y +^XZ From c83125cb71e1064f7f2e76d4b2a82bec32191f01 Mon Sep 17 00:00:00 2001 From: germano laptop Date: Thu, 9 Jan 2025 10:37:49 +0100 Subject: [PATCH 2/4] dev --- .../label_designs/MCLAREN/Mclaren_barcode.nlbl | Bin 0 -> 3627 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 config/label_designs/MCLAREN/Mclaren_barcode.nlbl diff --git a/config/label_designs/MCLAREN/Mclaren_barcode.nlbl b/config/label_designs/MCLAREN/Mclaren_barcode.nlbl new file mode 100644 index 0000000000000000000000000000000000000000..3acdc683536209d6d1f702eefdb769de107a9d90 GIT binary patch literal 3627 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 Date: Mon, 13 Jan 2025 11:56:47 +0100 Subject: [PATCH 3/4] RFID connection --- config/machine_settings/st-ten-11.ini | 4 +- config/machine_settings/test-linux.ini | 7 +- src/components/rfid_pn532.py | 7 + src/ui/test/test.py | 15 + src/ui/test/test.ui | 417 ++++++++++++------------- 5 files changed, 235 insertions(+), 215 deletions(-) diff --git a/config/machine_settings/st-ten-11.ini b/config/machine_settings/st-ten-11.ini index b1e1b16..72229a0 100644 --- a/config/machine_settings/st-ten-11.ini +++ b/config/machine_settings/st-ten-11.ini @@ -26,7 +26,7 @@ port: COM4 model: t3p [label_printer] -platform: windows +platform: linux printer: zd421b [digital_io] @@ -36,7 +36,7 @@ id_fixture: USB-5862,BID#0 [fixture_rfid] -port: COM5 +port: dev/ttyUSB0 [recipe] recipe_name_field: codice_ricetta diff --git a/config/machine_settings/test-linux.ini b/config/machine_settings/test-linux.ini index d5139e7..533934d 100644 --- a/config/machine_settings/test-linux.ini +++ b/config/machine_settings/test-linux.ini @@ -15,7 +15,8 @@ tecna_t3: present vision_saver: absent vision: absent screwdriver: absent -fixture_id: absent +fixture_id: present +barcode_recipe_selection: present digital_io: present external_flush_blow: absent @@ -25,11 +26,11 @@ poll_time: 10 hold_time: 10 [tecna_t3] -port: /dev/ttyUSB0 +port: /dev/ttyUSB1 model: t3p [fixture_rfid] -port: COM5 +port: USB0 [digital_io] # OUTPUT MAP FOR VALVE CONTROL UNITS diff --git a/src/components/rfid_pn532.py b/src/components/rfid_pn532.py index 241d79e..7acb93f 100644 --- a/src/components/rfid_pn532.py +++ b/src/components/rfid_pn532.py @@ -11,6 +11,7 @@ from src.lib.nfc.clf import RemoteTarget class RFID_PN532(Component): new_id_signal = pyqtSignal(str) + rfid_error_signal = pyqtSignal(bool) def __init__(self, config=None, name=None, period=1, lazy=True, paused=False, threaded=True): super().__init__(config=config, name=name, period=period, lazy=lazy, paused=paused, threaded=threaded) @@ -49,6 +50,8 @@ class RFID_PN532(Component): try: if not self.connected: self.open_device() + if self.connected: + self.rfid_error_signal.emit(True) else: target = self.clf.sense(RemoteTarget('106A'), RemoteTarget('106B'), RemoteTarget('212F')) if target is not None: @@ -61,6 +64,7 @@ class RFID_PN532(Component): self.log.info(f"new tag detected:{tag_content}") self.current_data=tag_content self.new_id_signal.emit(self.current_data) + self.rfid_error_signal.emit(self.connected) else: self.log.error("tag is not NDEF") else: @@ -68,12 +72,15 @@ class RFID_PN532(Component): self.log.info(f"tag removed:{self.current_data}") self.current_data = None self.new_id_signal.emit(None) + self.rfid_error_signal.emit(False) self.log.debug("no target present") except Exception as e: self.log.info(f"{e}") self.connected = False finally: + if not self.connected: + self.rfid_error_signal.emit(False) self.mutex.unlock() def write_tag(self,data): diff --git a/src/ui/test/test.py b/src/ui/test/test.py index 3fff6f1..bbb35c9 100755 --- a/src/ui/test/test.py +++ b/src/ui/test/test.py @@ -6,6 +6,7 @@ import weakref from datetime import datetime, timedelta from PyQt5.QtCore import QTimer, pyqtSlot from PyQt5.QtWidgets import QMessageBox +from component import Component from lib.db import Archive, Recipes, Users from lib.helpers import get_shift from lib.helpers.step import Step @@ -27,6 +28,7 @@ from ui.test_vision import Test_Vision from ui.test_warning_img import Test_Warning_Img from ui.widget import Widget from components import ArchiveSynchronizer +from src.components.rfid_pn532 import RFID_PN532 class Test(Widget): @@ -54,6 +56,10 @@ class Test(Widget): self.auto_import = Recipe_Selection self.archive_synch = ArchiveSynchronizer(config=config) + self.rfid = RFID_PN532(config=config) + self.error_label.setText("") + self.error_label.setStyleSheet("QLabel { color: red; }") + self.rfid.rfid_error_signal.connect(self.handle_rfid_error) if self.config["hardware_config"]["barcode_recipe_selection"] == "present": self.recipe_selection_mode = "barcode" @@ -170,6 +176,7 @@ class Test(Widget): if "fixture_id" in self.components.keys(): self.components["fixture_id"].new_id_signal.connect(self.load_recipe_from_rfid) + self.components["fixture_id"].rfid_error_signal.connect(self.handle_rfid_error) self.tag_loaded_recipe = self.main_window.tag_loaded_recipe # TESTING @@ -797,3 +804,11 @@ class Test(Widget): self.tag_loaded_recipe = None self.fail_cycle() self.change_recipe() + + @pyqtSlot(bool) + def handle_rfid_error(self, connected): + if connected: + self.error_label.setText("") # Update the label from Designer + else: + self.error_label.setText("Errore RFID.") # Update the label from Designer + self.error_label.setStyleSheet("color: red;") \ No newline at end of file diff --git a/src/ui/test/test.ui b/src/ui/test/test.ui index 326e7f4..195c61a 100755 --- a/src/ui/test/test.ui +++ b/src/ui/test/test.ui @@ -6,8 +6,8 @@ 0 0 - 1252 - 125 + 1192 + 114 @@ -19,7 +19,6 @@ 12 - 75 true @@ -52,33 +51,19 @@ 3 - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - + + 12 - 75 true - OPERATORE: + - + + + Qt::AlignCenter @@ -87,7 +72,6 @@ 12 - 75 true @@ -96,26 +80,6 @@ - - - - - 0 - 0 - - - - - 12 - 75 - true - - - - N. DISEGNO: - - - @@ -139,7 +103,6 @@ 12 - 75 true @@ -148,62 +111,6 @@ - - - - - 12 - 75 - true - - - - PROSSIMO AUTOTEST: - - - Qt::AlignCenter - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 0 - 0 - - - - - 200 - 40 - - - - - 12 - 75 - true - - - - ANNULLA TEST - - - @@ -227,7 +134,6 @@ 12 - 75 true @@ -236,82 +142,16 @@ - - + + 12 - 75 true - 12345 - - - Qt::AlignCenter - - - - - - - - 16 - 75 - true - - - - - - - - Qt::AlignCenter - - - - - - - - 12 - 75 - true - - - - - - - - Qt::AlignCenter - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 12 - 75 - true - - - - 12345 -567 + ULTIMO AUTOTEST: Qt::AlignCenter @@ -331,51 +171,17 @@ - - + + 12 - 75 true - PEZZI FATTI - - - Qt::AlignCenter - - - - - - - - 12 - 75 - true - - - - ULTIMO AUTOTEST: - - - Qt::AlignCenter - - - - - - - - 12 - 75 - true - - - - - + 12345 +567 Qt::AlignCenter @@ -388,7 +194,6 @@ DejaVu Sans 11 - 75 true @@ -398,6 +203,198 @@ CONTATORE + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 12 + true + + + + OPERATORE: + + + + + + + + 0 + 0 + + + + + 12 + true + + + + N. DISEGNO: + + + + + + + + 12 + true + + + + 12345 + + + Qt::AlignCenter + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 12 + true + + + + PROSSIMO AUTOTEST: + + + Qt::AlignCenter + + + + + + + + 12 + true + + + + - + + + Qt::AlignCenter + + + + + + + + 12 + true + + + + PEZZI FATTI + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 200 + 40 + + + + + 12 + true + + + + ANNULLA TEST + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 20 + 20 + + + + + + + + + 16 + true + + + + - + + + Qt::AlignCenter + + + + + + + + 16 + true + + + + TextLabel + + + From 24e7eefda8ae43ce5b969bd1d6c16344f3dca5a8 Mon Sep 17 00:00:00 2001 From: gg Date: Tue, 14 Jan 2025 08:47:52 +0100 Subject: [PATCH 4/4] fix --- config/machine_settings/st-ten-11.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/machine_settings/st-ten-11.ini b/config/machine_settings/st-ten-11.ini index 72229a0..b1e1b16 100644 --- a/config/machine_settings/st-ten-11.ini +++ b/config/machine_settings/st-ten-11.ini @@ -26,7 +26,7 @@ port: COM4 model: t3p [label_printer] -platform: linux +platform: windows printer: zd421b [digital_io] @@ -36,7 +36,7 @@ id_fixture: USB-5862,BID#0 [fixture_rfid] -port: dev/ttyUSB0 +port: COM5 [recipe] recipe_name_field: codice_ricetta