Merge remote-tracking branch 'origin/master'
# Conflicts: # src/components/tecna_marposs_provaset_t3.py
|
Before Width: | Height: | Size: 148 KiB After Width: | Height: | Size: 148 KiB |
|
|
@ -8,7 +8,7 @@
|
||||||
height="590"
|
height="590"
|
||||||
viewBox="0 0 902 590"
|
viewBox="0 0 902 590"
|
||||||
sodipodi:docname="18JA712CP.svg"
|
sodipodi:docname="18JA712CP.svg"
|
||||||
inkscape:version="1.3.2 (1:1.3.2+202311252150+091e20ef0f)"
|
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
|
@ -26,12 +26,12 @@
|
||||||
inkscape:pagecheckerboard="0"
|
inkscape:pagecheckerboard="0"
|
||||||
inkscape:deskcolor="#d1d1d1"
|
inkscape:deskcolor="#d1d1d1"
|
||||||
inkscape:zoom="1.3830508"
|
inkscape:zoom="1.3830508"
|
||||||
inkscape:cx="450.81495"
|
inkscape:cx="450.45345"
|
||||||
inkscape:cy="295"
|
inkscape:cy="294.63849"
|
||||||
inkscape:window-width="2490"
|
inkscape:window-width="1920"
|
||||||
inkscape:window-height="1016"
|
inkscape:window-height="1009"
|
||||||
inkscape:window-x="70"
|
inkscape:window-x="-8"
|
||||||
inkscape:window-y="27"
|
inkscape:window-y="-8"
|
||||||
inkscape:window-maximized="1"
|
inkscape:window-maximized="1"
|
||||||
inkscape:current-layer="g1" />
|
inkscape:current-layer="g1" />
|
||||||
<g
|
<g
|
||||||
|
|
@ -62,8 +62,8 @@
|
||||||
preserveAspectRatio="none"
|
preserveAspectRatio="none"
|
||||||
xlink:href="img/arw-yel-down.png"
|
xlink:href="img/arw-yel-down.png"
|
||||||
id="sensor_3"
|
id="sensor_3"
|
||||||
x="341.79031"
|
x="726.4472"
|
||||||
y="208.93405"
|
y="271.11542"
|
||||||
inkscape:label="sensor_3"
|
inkscape:label="sensor_3"
|
||||||
inkscape:svg-dpi="1" />
|
inkscape:svg-dpi="1" />
|
||||||
</g>
|
</g>
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 142 KiB |
|
Before Width: | Height: | Size: 217 KiB After Width: | Height: | Size: 217 KiB |
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 109 KiB |
148
config/instruction_images/st-ten-13/07N131597.svg
Normal file
|
After Width: | Height: | Size: 297 KiB |
29
config/label_templates/203/PAL.prn
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
CT~~CD,~CC^~CT~
|
||||||
|
^XA
|
||||||
|
~TA000
|
||||||
|
~JSN
|
||||||
|
^LT0
|
||||||
|
^MNW
|
||||||
|
^MTT
|
||||||
|
^PON
|
||||||
|
^PMN
|
||||||
|
^LH0,0
|
||||||
|
^JMA
|
||||||
|
^PR2,2
|
||||||
|
~SD22
|
||||||
|
^JUS
|
||||||
|
^LRN
|
||||||
|
^CI27
|
||||||
|
^PA0,1,1,0
|
||||||
|
^XZ
|
||||||
|
^XA
|
||||||
|
^MMT
|
||||||
|
^PW679
|
||||||
|
^LL200
|
||||||
|
^LS0
|
||||||
|
^FO24,83^GE96,96,48^FS
|
||||||
|
^FO184,83^GE96,96,48^FS
|
||||||
|
^FO344,83^GE96,96,48^FS
|
||||||
|
^FO504,83^GE96,96,48^FS
|
||||||
|
^PQ1,0,1,Y
|
||||||
|
^XZ
|
||||||
33
config/label_templates/st-ten-11/203/Mclaren_barcode.prn
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
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
|
||||||
|
^FT37,57^A0N,24,23^FH\^CI28^FD{RECIPE}^FS^CI27
|
||||||
|
^FT250,38^A0N,16,15^FH\^CI28^FDVEROX^FS^CI27
|
||||||
|
^FT34,92^A0N,24,23^FH\^CI28^FDFED^FS^CI27
|
||||||
|
^BY2,3,58^FT37,173^BCN,,Y,N
|
||||||
|
^FH\^FD>:{RECIPE}^FS
|
||||||
|
^BY2,3,54^FT82,282^BCN,,Y,N
|
||||||
|
^FH\^FD>:{SN}^FS
|
||||||
|
^FT34,357^A0N,24,23^FH\^CI28^FD{DATE}{SN}^FS^CI27
|
||||||
|
^PQ1,0,1,Y
|
||||||
|
^XZ
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
^LH0,0
|
^LH0,0
|
||||||
^JMA
|
^JMA
|
||||||
^PR2,2
|
^PR2,2
|
||||||
~SD15
|
~SD30
|
||||||
^JUS
|
^JUS
|
||||||
^LRN
|
^LRN
|
||||||
^CI27
|
^CI27
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
CT~~CD,~CC^~CT~
|
||||||
|
^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR2,2~SD25^JUS^LRN^CI0^XZ
|
||||||
|
^XA
|
||||||
|
^MMT
|
||||||
|
^PW325
|
||||||
|
^LL1119
|
||||||
|
^LS0
|
||||||
|
^FT293,694^A0I,25,21^FH\^FD{DD}/{MO}/{YY}^FS
|
||||||
|
^FT145,694^A0I,25,21^FH\^FD{HH}:{MI}:{SS}^FS
|
||||||
|
^FT291,1032^A0I,25,24^FH\^FDNumero Disegno^FS
|
||||||
|
^FT293,725^A0I,25,24^FH\^FDData/Ora Prova^FS
|
||||||
|
^FT293,771^A0I,25,24^FH\^FDN. Pezzo:^FS
|
||||||
|
^FT185,770^A0I,25,24^FH\^FD{SN5}^FS
|
||||||
|
^BY120,120^FT289,883^BXI,6,200,0,0,1,~
|
||||||
|
^FH\^FD{PART}{MO}{YY}{SN5}^FS
|
||||||
|
^FT291,832^A0I,25,24^FH\^FD{PART}{MO}{YY}{SN5}^FS
|
||||||
|
^LRY^FO144,863^GB168,0,163^FS^LRN
|
||||||
|
^PQ1,0,1,Y^XZ
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
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
|
|
||||||
|
|
@ -47,7 +47,7 @@
|
||||||
^FT207,888^A0N,25,25^FH\^CI28^FD{TSET} s^FS^CI27
|
^FT207,888^A0N,25,25^FH\^CI28^FD{TSET} s^FS^CI27
|
||||||
^FT145,705^A0N,25,25^FH\^CI28^FD{PTEST} mbar^FS^CI27
|
^FT145,705^A0N,25,25^FH\^CI28^FD{PTEST} mbar^FS^CI27
|
||||||
^FT31,236^BXN,6,200,0,0,1,_,1
|
^FT31,236^BXN,6,200,0,0,1,_,1
|
||||||
^FH\^FD{BCODE}^FS
|
^FH\^FD{PART}{MO}{YY}{SN5}^FS
|
||||||
^FT29,287^A0N,25,25^FH\^CI28^FD{BCODE}^FS^CI27
|
^FT29,287^A0N,25,25^FH\^CI28^FD{PART}{MO}{YY}{SN5}^FS^CI27
|
||||||
^PQ1,0,1,Y
|
^PQ1,0,1,Y
|
||||||
^XZ
|
^XZ
|
||||||
|
|
|
||||||
|
|
@ -92,8 +92,8 @@ settling_pressure_min_percent: 5
|
||||||
settling_pressure_max_percent: 5
|
settling_pressure_max_percent: 5
|
||||||
test_pressure: 7000
|
test_pressure: 7000
|
||||||
test_time: 10
|
test_time: 10
|
||||||
test_pressure_qpos: 10 #Q+ Upper test leak limit
|
test_pressure_qpos: 22 #Q+ Upper test leak limit
|
||||||
test_pressure_qneg: 30 #Q- Lower test leak limit
|
test_pressure_qneg: 32 #Q- Lower test leak limit
|
||||||
test_pressure_tt_qpos: 1 # Q+ Upper test leak limit (tube-tube)
|
test_pressure_tt_qpos: 1 # Q+ Upper test leak limit (tube-tube)
|
||||||
test_pressure_tt_qneg: 5 # Q- Lower test leak limit (tube-tube)
|
test_pressure_tt_qneg: 5 # Q- Lower test leak limit (tube-tube)
|
||||||
flush_time: 1
|
flush_time: 1
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ discard_box: absent
|
||||||
#enforce_piece_removal: yes
|
#enforce_piece_removal: yes
|
||||||
|
|
||||||
[tecna_t3]
|
[tecna_t3]
|
||||||
port: /dev/ttyUSB0
|
port: /dev/ttyUSB1
|
||||||
model: t3l
|
model: t3l
|
||||||
|
|
||||||
[label_printer]
|
[label_printer]
|
||||||
|
|
@ -34,7 +34,7 @@ risoluzione:203
|
||||||
id: USB-5862,BID#0
|
id: USB-5862,BID#0
|
||||||
|
|
||||||
[fixture_rfid]
|
[fixture_rfid]
|
||||||
port: ttyUSB1 #correct way to declare usb in linux
|
port: ttyUSB0 #correct way to declare usb in linux
|
||||||
|
|
||||||
[recipe]
|
[recipe]
|
||||||
recipe_name_field: codice_ricetta
|
recipe_name_field: codice_ricetta
|
||||||
|
|
@ -73,8 +73,8 @@ pressione_di_test_delta_massimo_2: 30
|
||||||
tempo_svuotamento_2: 0
|
tempo_svuotamento_2: 0
|
||||||
pressione_svuotamento_2: 100
|
pressione_svuotamento_2: 100
|
||||||
canale_di_prova_2: 2
|
canale_di_prova_2: 2
|
||||||
modello_etichetta: EtichettaR5_Montaggio_1prova.prn
|
modello_etichetta: Errecinque_standard.prn
|
||||||
pid_pressure_correction: 105
|
pid_pressure_correction: 98
|
||||||
barcode_format: {PART}{MO}{YY}{SN5}
|
barcode_format: {PART}{MO}{YY}{SN5}
|
||||||
|
|
||||||
[autotest_leak]
|
[autotest_leak]
|
||||||
|
|
@ -85,10 +85,10 @@ filling_time: 10
|
||||||
settling_time: 10
|
settling_time: 10
|
||||||
settling_pressure_min_percent: 5
|
settling_pressure_min_percent: 5
|
||||||
settling_pressure_max_percent: 5
|
settling_pressure_max_percent: 5
|
||||||
test_pressure: 7000
|
test_pressure: 5900
|
||||||
test_time: 10
|
test_time: 10
|
||||||
test_pressure_qpos: 5 #Q+ Upper test leak limit
|
test_pressure_qpos: 3.5 #Q+ Upper test leak limit
|
||||||
test_pressure_qneg: 17 #Q- Lower test leak limit
|
test_pressure_qneg: 6.5 #Q- Lower test leak limit
|
||||||
test_pressure_tt_qpos: 1 # Q+ Upper test leak limit (tube-tube)
|
test_pressure_tt_qpos: 1 # Q+ Upper test leak limit (tube-tube)
|
||||||
test_pressure_tt_qneg: 5 # Q- Lower test leak limit (tube-tube)
|
test_pressure_tt_qneg: 5 # Q- Lower test leak limit (tube-tube)
|
||||||
flush_time: 1
|
flush_time: 1
|
||||||
|
|
|
||||||
|
|
@ -98,7 +98,7 @@ settling_pressure_max_percent: 5
|
||||||
test_pressure: 7000
|
test_pressure: 7000
|
||||||
test_time: 10
|
test_time: 10
|
||||||
test_pressure_qpos: 8 #Q+ Upper test leak limit
|
test_pressure_qpos: 8 #Q+ Upper test leak limit
|
||||||
test_pressure_qneg: 12 #Q- Lower test leak limit
|
test_pressure_qneg: 13 #Q- Lower test leak limit
|
||||||
test_pressure_tt_qpos: 1 # Q+ Upper test leak limit (tube-tube)
|
test_pressure_tt_qpos: 1 # Q+ Upper test leak limit (tube-tube)
|
||||||
test_pressure_tt_qneg: 5 # Q- Lower test leak limit (tube-tube)
|
test_pressure_tt_qneg: 5 # Q- Lower test leak limit (tube-tube)
|
||||||
flush_time: 1
|
flush_time: 1
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ class Os_Label_Printer(Component):
|
||||||
def __init__(self, config=None, name=None):
|
def __init__(self, config=None, name=None):
|
||||||
super().__init__(config=config, name=name, threaded=False)
|
super().__init__(config=config, name=name, threaded=False)
|
||||||
self.simulate = False
|
self.simulate = False
|
||||||
if "--sim-os-label-printer" in sys.argv:
|
if "--sim-printer" in sys.argv:
|
||||||
self.simulate = True
|
self.simulate = True
|
||||||
|
|
||||||
def config_changed(self):
|
def config_changed(self):
|
||||||
|
|
|
||||||
|
|
@ -302,8 +302,7 @@ class TecnaMarpossProvasetT3(ModbusComponent):
|
||||||
recipe_barcode = f"j{recipe.part_number}"[:16].encode("ascii")
|
recipe_barcode = f"j{recipe.part_number}"[:16].encode("ascii")
|
||||||
recipe_barcode += b"\x00" * (24 - len(recipe_barcode))
|
recipe_barcode += b"\x00" * (24 - len(recipe_barcode))
|
||||||
test_flags = 0b0110100001010000 if (step.spec.get("autotest", False) in ["ko_check"]) else 0b0110000001010000
|
test_flags = 0b0110100001010000 if (step.spec.get("autotest", False) in ["ko_check"]) else 0b0110000001010000
|
||||||
pid_mode_text = "AUTO"
|
pid_mode_text = step.spec.get("pid_mod_config","AUTO") # Get the selected text from the combobox
|
||||||
#pid_mode_text = step.spec["pid_mod_config"] # Get the selected text from the combobox
|
|
||||||
pid_mode_value = { # Mapping of text to numeric values
|
pid_mode_value = { # Mapping of text to numeric values
|
||||||
"AUTO": 5,
|
"AUTO": 5,
|
||||||
"FAST": 0,
|
"FAST": 0,
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ init_db()
|
||||||
# register or reset admin
|
# register or reset admin
|
||||||
admin = Users.get_user("ADMIN")
|
admin = Users.get_user("ADMIN")
|
||||||
if admin is None or not admin.is_admin:
|
if admin is None or not admin.is_admin:
|
||||||
Users.register(username="ADMIN", password="123123", roles=["admin"])
|
Users.register(username="ADMIN", password="78900987", roles=["admin"])
|
||||||
# register or reset user
|
# register or reset user
|
||||||
Users.register(username="USER", password="user")
|
Users.register(username="USER", password="user")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -255,9 +255,11 @@ try:
|
||||||
if session is not None:
|
if session is not None:
|
||||||
if session.is_admin:
|
if session.is_admin:
|
||||||
self.main_window.admin_m.menuAction().setVisible(True)
|
self.main_window.admin_m.menuAction().setVisible(True)
|
||||||
|
self.main_window.tag_a.setVisible(True)
|
||||||
else:
|
else:
|
||||||
self.main_window.admin_m.menuAction().setVisible(False)
|
self.main_window.admin_m.menuAction().setVisible(False)
|
||||||
# open test
|
self.main_window.tag_a.setVisible(False)
|
||||||
|
# open test
|
||||||
self.main_window.open_tab(Test(self.config, self.components, self))
|
self.main_window.open_tab(Test(self.config, self.components, self))
|
||||||
self.main_window.centralWidget().request_autotest("login")
|
self.main_window.centralWidget().request_autotest("login")
|
||||||
else:
|
else:
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ class Login(Widget):
|
||||||
# TESTING
|
# TESTING
|
||||||
if "--auto-login-admin" in sys.argv:
|
if "--auto-login-admin" in sys.argv:
|
||||||
self.user_cb.setCurrentText("ADMIN")
|
self.user_cb.setCurrentText("ADMIN")
|
||||||
self.password_le.setText("123123")
|
self.password_le.setText("78900987")
|
||||||
elif "--auto-login-user" in sys.argv or "--test" in sys.argv:
|
elif "--auto-login-user" in sys.argv or "--test" in sys.argv:
|
||||||
self.user_cb.setCurrentText("USER")
|
self.user_cb.setCurrentText("USER")
|
||||||
self.password_le.setText("user")
|
self.password_le.setText("user")
|
||||||
|
|
|
||||||
|
|
@ -170,7 +170,10 @@ class Test(Widget):
|
||||||
self.autotesting_reason = None
|
self.autotesting_reason = None
|
||||||
self.autotest_cycle_steps = None
|
self.autotest_cycle_steps = None
|
||||||
if "--no-autotest" not in sys.argv:
|
if "--no-autotest" not in sys.argv:
|
||||||
self.autotest_period = int(8.5 * 60 * 60 * 1000) # 8.5 HOURS
|
if "--test-autotest" in sys.argv:
|
||||||
|
self.autotest_period = int(60 * 1000) # 1 min
|
||||||
|
else:
|
||||||
|
self.autotest_period = int(8.5 * 60 * 60 * 1000) # 8.5 HOURS
|
||||||
# self.autotest_period = 12 * 60 * 60 * 1000 # 12 HOURS
|
# self.autotest_period = 12 * 60 * 60 * 1000 # 12 HOURS
|
||||||
# if not self.config["autotest_done"]:
|
# if not self.config["autotest_done"]:
|
||||||
# self.request_autotest("init")
|
# self.request_autotest("init")
|
||||||
|
|
@ -335,6 +338,7 @@ class Test(Widget):
|
||||||
if self.autotest_request is not False and self.autotest_cycle_steps is not None and not self.autotesting and (self.cycle_index == -1 or self.cycle_index + 1 >= len(self.cycle_steps)):
|
if self.autotest_request is not False and self.autotest_cycle_steps is not None and not self.autotesting and (self.cycle_index == -1 or self.cycle_index + 1 >= len(self.cycle_steps)):
|
||||||
# if autotest was requested
|
# if autotest was requested
|
||||||
# and if cycle_steps is not started or has ended
|
# and if cycle_steps is not started or has ended
|
||||||
|
self.cycle_index = -1
|
||||||
self.autotesting = True
|
self.autotesting = True
|
||||||
self.autotesting_reason = self.autotest_request
|
self.autotesting_reason = self.autotest_request
|
||||||
self.autotest_request = False
|
self.autotest_request = False
|
||||||
|
|
@ -808,7 +812,7 @@ class Test(Widget):
|
||||||
"OPERATOR": str(archived.user.username),
|
"OPERATOR": str(archived.user.username),
|
||||||
"BADGE_NUM": str(archived.user.badge_number),
|
"BADGE_NUM": str(archived.user.badge_number),
|
||||||
#BARCODE
|
#BARCODE
|
||||||
"BCODE": str(self.step.spec["barcode"]),
|
"BCODE": str(self.step.spec.get("barcode","")),
|
||||||
|
|
||||||
# RESULT
|
# RESULT
|
||||||
"RESULT": str("CONFORME" if leak_test_1.get("ok", False) else "SCARTO") + str(" FORZATO" if self.data.get("overridden", False) else ""),
|
"RESULT": str("CONFORME" if leak_test_1.get("ok", False) else "SCARTO") + str(" FORZATO" if self.data.get("overridden", False) else ""),
|
||||||
|
|
@ -841,7 +845,7 @@ class Test(Widget):
|
||||||
|
|
||||||
def print_extra_labels(self):
|
def print_extra_labels(self):
|
||||||
# PRINT EXTRA LABELS IF NEEDED (BEFORE LEAK TEST)
|
# PRINT EXTRA LABELS IF NEEDED (BEFORE LEAK TEST)
|
||||||
if "extra_label_printer" in self.components.keys() and self.print_step is not None:
|
if "extra_label_printer" in self.components.keys() and self.print_step is not None and self.autotesting is False:
|
||||||
printer_fields = self.print_step.spec
|
printer_fields = self.print_step.spec
|
||||||
if len(printer_fields["extra_label"]) > 0:
|
if len(printer_fields["extra_label"]) > 0:
|
||||||
labels = printer_fields["extra_label"].split(",")
|
labels = printer_fields["extra_label"].split(",")
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ class Test_Admin_Permission(Widget):
|
||||||
self.cancel_b.clicked.connect(self.cancel)
|
self.cancel_b.clicked.connect(self.cancel)
|
||||||
# TESTING
|
# TESTING
|
||||||
if "--auto-accept-test-admin-permission" in sys.argv or "--test" in sys.argv:
|
if "--auto-accept-test-admin-permission" in sys.argv or "--test" in sys.argv:
|
||||||
self.password_le.setText("123123")
|
self.password_le.setText("78900987")
|
||||||
self.test_timer = QTimer()
|
self.test_timer = QTimer()
|
||||||
self.test_timer.setSingleShot(True)
|
self.test_timer.setSingleShot(True)
|
||||||
self.test_timer.timeout.connect(self.continue_b.clicked.emit)
|
self.test_timer.timeout.connect(self.continue_b.clicked.emit)
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ class Test_Instructions(Test_Test):
|
||||||
self.svg_root = etree.parse(svg_path)
|
self.svg_root = etree.parse(svg_path)
|
||||||
self.svg_str = etree.tostring(self.svg_root)
|
self.svg_str = etree.tostring(self.svg_root)
|
||||||
self.svg_str=etree.tostring(self.svg_root)
|
self.svg_str=etree.tostring(self.svg_root)
|
||||||
self.expected_input_state = True if step.step_type == "instruction" or "instruction_extra" else False
|
self.expected_input_state = True if step.step_type in ("instruction","instruction_extra") else False
|
||||||
|
|
||||||
self.monitored_ids=self.svg_root.xpath(f'''.//*[starts-with(@id, 'sensor_')]''')
|
self.monitored_ids=self.svg_root.xpath(f'''.//*[starts-with(@id, 'sensor_')]''')
|
||||||
self.warning_ids=self.svg_root.xpath(f'''.//*[starts-with(@id, 'warning_')]''')
|
self.warning_ids=self.svg_root.xpath(f'''.//*[starts-with(@id, 'warning_')]''')
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,10 @@ class Test_Leak(Test_Test):
|
||||||
self.test_num_l.setText("2/2")
|
self.test_num_l.setText("2/2")
|
||||||
else:
|
else:
|
||||||
self.test_num_l.setText("1/1")
|
self.test_num_l.setText("1/1")
|
||||||
self.template_print_l.setText(f"{self.parent.print_template}")
|
if self.step.spec.get("autotest", False):
|
||||||
|
self.template_print_l.setText(f"AUTOTEST")
|
||||||
|
else:
|
||||||
|
self.template_print_l.setText(f"{self.parent.print_template}")
|
||||||
self.recipe_pressure_l.setText(f"{self.step.spec['test_pressure']}")
|
self.recipe_pressure_l.setText(f"{self.step.spec['test_pressure']}")
|
||||||
self.leak_min_l.setText(f"{self.step.spec['test_pressure_qneg']}")
|
self.leak_min_l.setText(f"{self.step.spec['test_pressure_qneg']}")
|
||||||
self.leak_max_l.setText(f"{self.step.spec['test_pressure_qpos']}")
|
self.leak_max_l.setText(f"{self.step.spec['test_pressure_qpos']}")
|
||||||
|
|
@ -144,7 +147,8 @@ class Test_Leak(Test_Test):
|
||||||
super().visualize(None, img=self.status_imgs_full["calibrated-leak"])
|
super().visualize(None, img=self.status_imgs_full["calibrated-leak"])
|
||||||
else:
|
else:
|
||||||
self.display_text(text="COLLEGARE GLI ATTACCHI PNEUMATICI E PREMERE START PER INIZIARE LA PROVA TENUTA")
|
self.display_text(text="COLLEGARE GLI ATTACCHI PNEUMATICI E PREMERE START PER INIZIARE LA PROVA TENUTA")
|
||||||
|
self.template_print_l.setVisible(True)
|
||||||
|
self.template_label.setVisible(True)
|
||||||
if self.simulate:
|
if self.simulate:
|
||||||
QApplication.processEvents()
|
QApplication.processEvents()
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
|
|
|
||||||