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()