From f39212232ae1c2eb50ce0c00a0bbfcd4f2226de4 Mon Sep 17 00:00:00 2001
From: TotMaxim
Date: Mon, 17 Nov 2025 21:16:48 +0300
Subject: [PATCH] =?UTF-8?q?=D0=9C=D0=BE=D0=B4=D0=B8=D1=84=D0=B8=D0=BA?=
=?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D0=BA?=
=?UTF-8?q?=D1=80=D0=B8=20=D0=B8=20=D1=80=D0=B5=D0=B7=D1=83=D0=BB=D1=8C?=
=?UTF-8?q?=D1=82=D0=B0=D1=82=D0=B0=20=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE?=
=?UTF-8?q?=D0=BB=D1=8F=20=D1=83=D0=BC,=20=D0=B5=D1=81=D0=BB=D0=B8=203=20?=
=?UTF-8?q?=D0=BB=D1=83=D1=87=D0=B0=20=D0=BF=D1=80=D0=BE=D1=85=D0=BE=D0=B4?=
=?UTF-8?q?=D1=8F=D1=82=20=D0=BF=D0=BE=20=D0=BC=D0=BE=D1=89=D0=BD=D0=BE?=
=?UTF-8?q?=D1=81=D1=82=D0=B8,=20=D1=82=D0=BE=20=D1=83=D0=BC=20=D1=81?=
=?UTF-8?q?=D1=87=D0=B8=D1=82=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20=D0=B8=D1=81?=
=?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BD=D1=8B=D0=BC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
scenes/pribor-prd-k/pribor-prd-k.gd | 43 ++++++++++++++---------------
scenes/pribor-prd-n/pribor-prd-n.gd | 7 +++--
scenes/pribor-prd-v/pribor-prd-v.gd | 26 ++++++++---------
3 files changed, 38 insertions(+), 38 deletions(-)
diff --git a/scenes/pribor-prd-k/pribor-prd-k.gd b/scenes/pribor-prd-k/pribor-prd-k.gd
index e56f21bb..e9942ede 100644
--- a/scenes/pribor-prd-k/pribor-prd-k.gd
+++ b/scenes/pribor-prd-k/pribor-prd-k.gd
@@ -69,31 +69,28 @@ static func temperature_fill(temperature_arr_node: Array, temperature_dic: Dicti
i_node_temperature.value1 = temperature_dic[temperature_meta]
-static func power_fill(pow_dic: Dictionary, fs_result: Dictionary, power_amplifier: Array, POWER_THRESHOLD: int) -> void:
- for i_powapm in power_amplifier:
- var powamp_meta: String = i_powapm.get_meta('um')
+static func power_fill(pow_dic: Dictionary, fs_result: Dictionary, power_amplifier_arr_node: Array, POWER_THRESHOLD: int) -> void:
+ for i_node_temperature in power_amplifier_arr_node:
+ var powamp_meta: String = i_node_temperature.get_meta('um')
var status = STATE_VAL.GOOD if pow_dic else STATE_VAL.NONE
if not pow_dic.has(powamp_meta): return
- if pow_dic:
- if not pow_dic.has(powamp_meta):
- break
- if pow_dic[powamp_meta].size() < 6:
- status = STATE_VAL.ERROR
- else:
- if powamp_meta == 'um_8' and not fs_result.fs_1: return
- if powamp_meta in ['um_1', 'um_2', 'um_3', 'um_4', 'um_5', 'um_6'] and not fs_result.fs_6: return
- if powamp_meta in ['um_9', 'um_10', 'um_11', 'um_12', 'um_13', 'um_14'] and not fs_result.fs_7: return
-
- if powamp_meta == 'um_8':
- i_powapm.value0 = [pow_dic[powamp_meta][5]]
- if pow_dic[powamp_meta][5] < POWER_THRESHOLD:
- status = STATE_VAL.ERROR
- else:
- i_powapm.value0 = pow_dic[powamp_meta]
- for i_p in pow_dic[powamp_meta]:
- if i_p < POWER_THRESHOLD:
- status = STATE_VAL.ERROR
- i_powapm.state = status
+ # Проверки fs_result
+ if powamp_meta == 'um_8' and not fs_result.fs_1: return
+ if powamp_meta in ['um_1', 'um_2', 'um_3', 'um_4', 'um_5', 'um_6'] and not fs_result.fs_6: return
+ if powamp_meta in ['um_9', 'um_10', 'um_11', 'um_12', 'um_13', 'um_14'] and not fs_result.fs_7: return
+
+ if powamp_meta == 'um_8':
+ i_node_temperature.value0 = [pow_dic[powamp_meta][5]]
+ status = STATE_VAL.ERROR if pow_dic[powamp_meta][5] < POWER_THRESHOLD else STATE_VAL.GOOD
+ else:
+ i_node_temperature.value0 = pow_dic[powamp_meta]
+ # Проверки 3 значения = исправен
+ var count_above_threshold = 0
+ for i_p in pow_dic[powamp_meta]:
+ if i_p >= POWER_THRESHOLD:
+ count_above_threshold += 1
+ status = STATE_VAL.GOOD if count_above_threshold >= 3 else STATE_VAL.ERROR
+ i_node_temperature.state = status
func on_press_device() -> void:
diff --git a/scenes/pribor-prd-n/pribor-prd-n.gd b/scenes/pribor-prd-n/pribor-prd-n.gd
index 7562d1e5..826ac6f8 100644
--- a/scenes/pribor-prd-n/pribor-prd-n.gd
+++ b/scenes/pribor-prd-n/pribor-prd-n.gd
@@ -75,9 +75,12 @@ static func power_fill(pow_dic: Dictionary, fs_result: Dictionary, power_amplifi
if powamp_meta in ['um_1', 'um_2', 'um_3', 'um_4', 'um_5', 'um_6'] and not fs_result.fs_2: return
if powamp_meta in ['um_9', 'um_10', 'um_11', 'um_12', 'um_13', 'um_14'] and not fs_result.fs_3: return
i_node_powapm.value0 = pow_dic[powamp_meta]
+ var count_above_threshold = 0
for i_p in pow_dic[powamp_meta]:
- if i_p < POWER_THRESHOLD:
- status = STATE_VAL.ERROR
+ if i_p >= POWER_THRESHOLD:
+ count_above_threshold += 1
+
+ status = STATE_VAL.GOOD if count_above_threshold >= 3 else STATE_VAL.ERROR
i_node_powapm.state = status
diff --git a/scenes/pribor-prd-v/pribor-prd-v.gd b/scenes/pribor-prd-v/pribor-prd-v.gd
index 7ad3b6d7..9bae5d69 100644
--- a/scenes/pribor-prd-v/pribor-prd-v.gd
+++ b/scenes/pribor-prd-v/pribor-prd-v.gd
@@ -66,21 +66,21 @@ static func temperature_fill(temperature_arr_node: Array, temperature_dic: Dicti
i_node_temperature.value1 = temperature_dic[temperature_meta]
-static func power_fill(pow_dic: Dictionary, fs_result: Dictionary, power_amplifier: Array, POWER_THRESHOLD: int) -> void:
- for i_powapm in power_amplifier:
- var powamp_meta: String = i_powapm.get_meta('um')
+static func power_fill(pow_dic: Dictionary, fs_result: Dictionary, power_amplifier_arr_node: Array, POWER_THRESHOLD: int) -> void:
+ for i_node_powapm in power_amplifier_arr_node:
+ var powamp_meta: String = i_node_powapm.get_meta('um')
var status = STATE_VAL.GOOD if pow_dic else STATE_VAL.NONE
if not pow_dic.has(powamp_meta): return
- if pow_dic[powamp_meta].size() < 6:
- status = STATE_VAL.ERROR
- else:
- if powamp_meta in ['um_1', 'um_2', 'um_3', 'um_4', 'um_5', 'um_6'] and not fs_result.fs_4: return
- if powamp_meta in ['um_9', 'um_10', 'um_11', 'um_12', 'um_13', 'um_14'] and not fs_result.fs_5: return
- i_powapm.value0 = pow_dic[powamp_meta]
- for i_p in pow_dic[powamp_meta]:
- if i_p < POWER_THRESHOLD:
- status = STATE_VAL.ERROR
- i_powapm.state = status
+ if powamp_meta in ['um_1', 'um_2', 'um_3', 'um_4', 'um_5', 'um_6'] and not fs_result.fs_4: return
+ if powamp_meta in ['um_9', 'um_10', 'um_11', 'um_12', 'um_13', 'um_14'] and not fs_result.fs_5: return
+ i_node_powapm.value0 = pow_dic[powamp_meta]
+ var count_above_threshold = 0
+ for i_p in pow_dic[powamp_meta]:
+ if i_p >= POWER_THRESHOLD:
+ count_above_threshold += 1
+
+ status = STATE_VAL.GOOD if count_above_threshold >= 3 else STATE_VAL.ERROR
+ i_node_powapm.state = status
func on_press_device() -> void: