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