From 9856e300e94d3664b41074a6b95f128d094c7679 Mon Sep 17 00:00:00 2001
From: TotMaxim
Date: Wed, 12 Nov 2025 21:40:57 +0300
Subject: [PATCH] =?UTF-8?q?=D0=9E=D1=82=D0=BB=D0=B0=D0=B4=D0=B8=D0=BB=20?=
=?UTF-8?q?=D0=BE=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8?=
=?UTF-8?q?=D0=B5=20=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D1=8F=20?=
=?UTF-8?q?=D1=84=D1=81=20=D0=B8=20=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B8?=
=?UTF-8?q?=D0=BC=D0=BE=D1=81=D1=82=D0=B8=20=D0=BE=D1=82=20=D1=80=D0=B5?=
=?UTF-8?q?=D0=B7=D0=B0=D0=BB=D1=8C=D1=82=D0=B0=D1=82=D0=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
scenes/pribor-prd-k/pribor-prd-k.gd | 30 +++++++++++++----------------
scenes/pribor-prd-n/pribor-prd-n.gd | 24 +++++++++++------------
scenes/pribor-prd-v/pribor-prd-v.gd | 18 +++++++----------
scripts/pribor-prd.gd | 17 ++++++++--------
4 files changed, 39 insertions(+), 50 deletions(-)
diff --git a/scenes/pribor-prd-k/pribor-prd-k.gd b/scenes/pribor-prd-k/pribor-prd-k.gd
index 651fd03..3cb2020 100644
--- a/scenes/pribor-prd-k/pribor-prd-k.gd
+++ b/scenes/pribor-prd-k/pribor-prd-k.gd
@@ -22,7 +22,9 @@ func _ready() -> void:
on_press_device()
-func _process(delta: float) -> void:
+func _process(_delta: float) -> void:
+ if Engine.is_editor_hint():
+ return
set_frame($input_0, unit_prd_k.ems_input_1)
set_frame($input_1, unit_prd_k.ems_input_2)
set_frame($input_2, unit_prd_k.ems_input_lit_1)
@@ -31,7 +33,6 @@ func _process(delta: float) -> void:
set_frame($output_2, unit_prd_k.ems_output_lit_1)
-
func set_frame(node_frame: Node, val: int): node_frame.set_frame(val)
@@ -119,7 +120,7 @@ func on_control_result(for_result_dic: Dictionary) -> void:
for node_y5 in nodes_y5:
var meta_y5 = node_y5.get_meta('y5')
if block_kasseta_y5_prd_config_k.has(meta_y5):
- if block_kasseta_y5_prd_config_k['yau07'] == false:
+ if not block_kasseta_y5_prd_config_k['yau07']:
node_y5.state = STATE_VAL.ERROR if meta_y5 == 'yau07' else STATE_VAL.NONE
break
node_y5.state = STATE_VAL.GOOD if block_kasseta_y5_prd_config_k[meta_y5] else STATE_VAL.ERROR
@@ -135,26 +136,21 @@ func on_control_result(for_result_dic: Dictionary) -> void:
for f in for_result_dic.fs_nodes:
var fs_meta: String = f.get_meta('fs')
if result_dic.has(fs_meta):
- var new_state = result_dic[fs_meta]
- f.state = new_state
- result_dic[fs_meta] = new_state
+ f.state = result_dic[fs_meta]
- if result_dic.fs_1 == 1:
+ if result_dic.fs_1 == 1 and block_kasseta_y5_prd_config_k['yau07']:
for_result_dic.module_fs_1.state = STATE_VAL.GOOD if result_dic.dkm_1 else STATE_VAL.ERROR
- else:
- result_dic.fs_1 = 0
- if result_dic.fs_6 == 1:
+
+ if result_dic.fs_6 == 1 and block_kasseta_y5_prd_config_k['yau07']:
for_result_dic.module_fs_6.state = STATE_VAL.GOOD if result_dic.dkm_6 else STATE_VAL.ERROR
for_result_dic.dou_6.state = STATE_VAL.GOOD if result_dic.dou_6 else STATE_VAL.ERROR
- else:
- result_dic.fs_6 = 0
- if result_dic.fs_7 == 1:
+
+ if result_dic.fs_7 == 1 and block_kasseta_y5_prd_config_k['yau07']:
for_result_dic.module_fs_7.state = STATE_VAL.GOOD if result_dic.dkm_7 else STATE_VAL.ERROR
for_result_dic.dou_7.state = STATE_VAL.GOOD if result_dic.dou_7 else STATE_VAL.ERROR
- else:
- result_dic.fs_7 = 0
-
- power_fill(for_result_dic.power_dic, for_result_dic.result_dic, for_result_dic.power_amplifier, for_result_dic.POWER_THRESHOLD)
+
+ if block_kasseta_y5_prd_config_k['yau07']:
+ power_fill(for_result_dic.power_dic, for_result_dic.result_dic, for_result_dic.power_amplifier, for_result_dic.POWER_THRESHOLD)
var result: bool = true
for device in result_dic.values():
diff --git a/scenes/pribor-prd-n/pribor-prd-n.gd b/scenes/pribor-prd-n/pribor-prd-n.gd
index 84b2b56..fb0046c 100644
--- a/scenes/pribor-prd-n/pribor-prd-n.gd
+++ b/scenes/pribor-prd-n/pribor-prd-n.gd
@@ -22,7 +22,9 @@ func _ready() -> void:
on_press_device()
-func _process(delta: float) -> void:
+func _process(_delta: float) -> void:
+ if Engine.is_editor_hint():
+ return
set_frame($input_0, unit_prd_n.ems_input_1)
set_frame($input_1, unit_prd_n.ems_input_2)
set_frame($output_0, unit_prd_n.ems_output_1)
@@ -110,7 +112,7 @@ func on_control_result(for_result_dic: Dictionary) -> void:
for node_y5 in nodes_y5:
var meta_y5 = node_y5.get_meta('y5')
if block_kasseta_y5_prd_config_n.has(meta_y5):
- if block_kasseta_y5_prd_config_n['yau07'] == false:
+ if not block_kasseta_y5_prd_config_n['yau07']:
node_y5.state = STATE_VAL.ERROR if meta_y5 == 'yau07' else STATE_VAL.NONE
break
node_y5.state = STATE_VAL.GOOD if block_kasseta_y5_prd_config_n[meta_y5] else STATE_VAL.ERROR
@@ -126,22 +128,18 @@ func on_control_result(for_result_dic: Dictionary) -> void:
for f in for_result_dic.fs_nodes:
var fs_meta: String = f.get_meta('fs')
if result_dic.has(fs_meta):
- var new_state = result_dic[fs_meta]
- f.state = new_state
- result_dic[fs_meta] = new_state
+ f.state = result_dic[fs_meta]
- if result_dic.fs_2 == 1:
+ if result_dic.fs_2 == 1 and block_kasseta_y5_prd_config_n['yau07']:
for_result_dic.module_fs_2.state = STATE_VAL.GOOD if result_dic.dkm_2 else STATE_VAL.ERROR
for_result_dic.dou_2.state = STATE_VAL.GOOD if result_dic.dou_2 else STATE_VAL.ERROR
- else:
- result_dic.fs_2 = 0
- if result_dic.fs_3 == 1:
+
+ if result_dic.fs_3 == 1 and block_kasseta_y5_prd_config_n['yau07']:
for_result_dic.module_fs_3.state = STATE_VAL.GOOD if result_dic.dkm_3 else STATE_VAL.ERROR
for_result_dic.dou_3.state = STATE_VAL.GOOD if result_dic.dou_3 else STATE_VAL.ERROR
- else:
- result_dic.fs_3 = 0
-
- power_fill(for_result_dic.power_dic, for_result_dic.result_dic, for_result_dic.power_amplifier, for_result_dic.POWER_THRESHOLD)
+
+ if block_kasseta_y5_prd_config_n['yau07']:
+ power_fill(for_result_dic.power_dic, for_result_dic.result_dic, for_result_dic.power_amplifier, for_result_dic.POWER_THRESHOLD)
var result: bool = true
for device in result_dic.values():
diff --git a/scenes/pribor-prd-v/pribor-prd-v.gd b/scenes/pribor-prd-v/pribor-prd-v.gd
index 081214b..b01521e 100644
--- a/scenes/pribor-prd-v/pribor-prd-v.gd
+++ b/scenes/pribor-prd-v/pribor-prd-v.gd
@@ -173,22 +173,18 @@ static func on_control_result(for_result_dic: Dictionary) -> void:
for f in for_result_dic.fs_nodes:
var fs_meta: String = f.get_meta('fs')
if result_dic.has(fs_meta):
- var new_state = result_dic[fs_meta]
- f.state = new_state
- result_dic[fs_meta] = new_state
+ f.state = result_dic[fs_meta]
- if result_dic.fs_5 == 1:
+ if result_dic.fs_5 == 1 and block_kasseta_y5_prd_config_v['yau07']:
for_result_dic.module_fs_5.state = STATE_VAL.GOOD if result_dic.dkm_5 else STATE_VAL.ERROR
for_result_dic.dou_5.state = STATE_VAL.GOOD if result_dic.dou_5 else STATE_VAL.ERROR
- else:
- result_dic.fs_5 = 0
- if result_dic.fs_4 == 1:
+
+ if result_dic.fs_4 == 1 and block_kasseta_y5_prd_config_v['yau07']:
for_result_dic.module_fs_4.state = STATE_VAL.GOOD if result_dic.dkm_4 else STATE_VAL.ERROR
for_result_dic.dou_4.state = STATE_VAL.GOOD if result_dic.dou_4 else STATE_VAL.ERROR
- else:
- result_dic.fs_4 = 0
-
- power_fill(for_result_dic.power_dic, for_result_dic.result_dic, for_result_dic.power_amplifier, for_result_dic.POWER_THRESHOLD)
+
+ if block_kasseta_y5_prd_config_v['yau07']:
+ power_fill(for_result_dic.power_dic, for_result_dic.result_dic, for_result_dic.power_amplifier, for_result_dic.POWER_THRESHOLD)
var result: bool = true
for device in result_dic.values():
diff --git a/scripts/pribor-prd.gd b/scripts/pribor-prd.gd
index a5a7d3d..3ba55b9 100644
--- a/scripts/pribor-prd.gd
+++ b/scripts/pribor-prd.gd
@@ -122,8 +122,8 @@ class TestPRD extends Node:
'dkm_3': false,
'dou_2': false,
'dou_3': false,
- 'fs_2': 2,
- 'fs_3': 2,
+ 'fs_2': 0,
+ 'fs_3': 0,
}
####
var block_ip_config_v := {
@@ -148,8 +148,8 @@ class TestPRD extends Node:
'dkm_5': false,
'dou_4': false,
'dou_5': false,
- 'fs_4': 2,
- 'fs_5': 2,
+ 'fs_4': 0,
+ 'fs_5': 0,
}
####
var block_kasseta_y5_prd_config_k: = {
@@ -167,9 +167,9 @@ class TestPRD extends Node:
'dkm_7': false,
'dou_6': false,
'dou_7': false,
- 'fs_1': 2,
- 'fs_6': 2,
- 'fs_7': 2,
+ 'fs_1': 0,
+ 'fs_6': 0,
+ 'fs_7': 0,
}
var block_ip_config_k := {
'maa2000_1': [0, false],
@@ -347,8 +347,6 @@ class TestPRD extends Node:
var in_blank: int = packet_form_yau_07.decode_u16(DataIndices.IN_BLANK_PRD)
flag_si_fs_input = (in_blank & (1 << number_socket_input)) != 0 ## Флаг СИ от ФС входа в ЭМС-Г для текущей литеры
-
-
var number_socket_output: int
number_socket_output = 4 if current_litera in [2, 4, 6] else 3 if current_litera == 1 else 5
@@ -371,6 +369,7 @@ class TestPRD extends Node:
func state_control_machine() -> void:
match state:
STATE_MACHINE.INIT:
+ print("Start control for %s device %s litera" % [self_name, current_litera])
_handle_init_state()
STATE_MACHINE.FS_TURN_ON:
_handle_fs_turn_on_state()