Merge remote-tracking branch 'refs/remotes/kotik/prd-control'

This commit is contained in:
kira-a-k
2025-11-17 21:01:43 +03:00
21 changed files with 223 additions and 225 deletions

View File

@@ -65,7 +65,7 @@ layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
strips_rotation = 15.0
text = "СПРС"
text = "JTIDS"
metadata/rfi_name = "sprs"
[node name="btn_kupd" parent="grd_forced" groups=["группа-принудительно"] instance=ExtResource("4_7ys3c")]

View File

@@ -122,7 +122,8 @@ func on_interfer_new(ecm, table_index):
# Будем надеяться, что отложенные вызовы производятся в том же порядке
$table.call_deferred('clear_rows_selected')
$table.call_deferred('set_row_selected', i_row, true)
signaller.emit_signal('interfer_selected', ecm)
if not interfer.auto_enabled:
signaller.emit_signal('interfer_selected', ecm)
func on_interfer_off(ecm, table_index):

View File

@@ -147,6 +147,6 @@ layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
strips_rotation = 30.0
text = "ЕПРЛС"
text = "ЕРЛС"
disabled = true
metadata/rfi_name = "eprls"

View File

@@ -99,4 +99,4 @@ func _on_request_completed(result, _response_code, headers, body: PackedByteArra
func _on_item_pressed(block_a: Control):
var metas = block_a.get_meta_list()
for n in metas:
var v = block_a.get_meta(n)
var _v = block_a.get_meta(n)

View File

@@ -37,15 +37,15 @@ func set_frame(node_frame: Node, val: int): node_frame.set_frame(val)
func start_control() -> void:
set_default_state()
set_default_state(get_tree().get_nodes_in_group('default_reset'), get_tree().get_nodes_in_group('power_amplifier'))
find_labels(self)
func set_default_state() -> void:
for group in get_tree().get_nodes_in_group('default_reset'):
static func set_default_state(default_reset_array_node: Array, power_amplifier_arr_node: Array) -> void:
for group in default_reset_array_node:
group.state = STATE_VAL.NONE
for group in get_tree().get_nodes_in_group('power_amplifier'):
for group in power_amplifier_arr_node:
group.state = STATE_VAL.NONE
@@ -83,10 +83,16 @@ static func power_fill(pow_dic: Dictionary, fs_result: Dictionary, power_amplifi
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
i_powapm.value0 = pow_dic[powamp_meta]
for i_p in pow_dic[powamp_meta]:
if i_p < POWER_THRESHOLD:
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
@@ -95,12 +101,14 @@ func on_press_device() -> void:
var node_ip_power_arr: Array = get_tree().get_nodes_in_group('power_supply')
var fs_nodes: Array = get_tree().get_nodes_in_group('fs_group')
var power_amplifier: Array = get_tree().get_nodes_in_group('power_amplifier')
var default_reset_array_node: Array = get_tree().get_nodes_in_group('default_reset')
var module_fs_1: Node = $kasseta_fs_kd/ref_A2
var module_fs_6: Node = $kasseta_fs_kd/ref_A4
var dou_6: Node = $dou6_A7
var module_fs_7: Node = $kasseta_fs_kd/ref_A7
var dou_7: Node = $dou7_A8
var for_control_result: Dictionary = {
'control_is_over': unit_prd_k.flag_control_is_over,
'result_dic': unit_prd_k.control_results,
'power_dic': unit_prd_k.power_result,
'block_kasseta_y5_config': unit_prd_k.block_kasseta_y5_config,
@@ -110,6 +118,7 @@ func on_press_device() -> void:
'node_ip_power_arr': node_ip_power_arr,
'fs_nodes': fs_nodes,
'power_amplifier': power_amplifier,
'default_reset_array_node': default_reset_array_node,
'POWER_THRESHOLD': unit_prd_k.constants.POWER_THRESHOLD,
'name_prd': unit_prd_k.self_name,
'module_fs_1': module_fs_1,
@@ -121,7 +130,7 @@ func on_press_device() -> void:
on_control_result(for_control_result)
func on_control_result(for_result_dic: Dictionary) -> void:
static func on_control_result(for_result_dic: Dictionary) -> void:
temperature_fill(for_result_dic.power_amplifier, for_result_dic.temperature_um)
var block_kasseta_y5_prd_config_k: Dictionary = for_result_dic.block_kasseta_y5_config
@@ -134,14 +143,15 @@ func on_control_result(for_result_dic: Dictionary) -> void:
break
node_y5.state = STATE_VAL.GOOD if block_kasseta_y5_prd_config_k[meta_y5] else STATE_VAL.ERROR
var block_ip_config_k: Dictionary = unit_prd_k.block_ip_config
var node_ip_power_arr: Array = get_tree().get_nodes_in_group('power_supply')
for power_supply in node_ip_power_arr:
var block_ip_config_k: Dictionary = for_result_dic.block_ip_config
for power_supply in for_result_dic.node_ip_power_arr:
var meta_ip = power_supply.get_meta('ip')
if block_ip_config_k.has(meta_ip) and block_kasseta_y5_prd_config_k.ug:
power_supply.state = STATE_VAL.GOOD if block_ip_config_k[meta_ip][1] else STATE_VAL.ERROR
## If control is end
if not for_result_dic.control_is_over:
set_default_state(for_result_dic.default_reset_array_node, for_result_dic.power_amplifier)
return
var result_dic: Dictionary = for_result_dic.result_dic
for f in for_result_dic.fs_nodes:
var fs_meta: String = f.get_meta('fs')

View File

@@ -51,7 +51,7 @@ offset_top = 242.0
offset_right = 485.0
offset_bottom = 432.0
[node name="maa2000_A22" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("1_8dmgr")]
[node name="maa2000_A22" parent="." groups=["power_supply"] instance=ExtResource("1_8dmgr")]
layout_mode = 0
offset_left = 485.0
offset_top = 907.0
@@ -70,7 +70,7 @@ offset_bottom = 907.0
fname = "ДОУ-6"
rname = "A7"
[node name="maa2000_A23" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("1_8dmgr")]
[node name="maa2000_A23" parent="." groups=["power_supply"] instance=ExtResource("1_8dmgr")]
layout_mode = 0
offset_left = 8.0
offset_top = 907.0
@@ -122,7 +122,7 @@ offset_bottom = 337.0
value0 = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
fname = "УМ1535Б"
rname = "A10"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_1"
@@ -134,7 +134,7 @@ offset_right = 652.0
offset_bottom = 432.0
fname = "УМ1535Б"
rname = "A11"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_2"
@@ -146,7 +146,7 @@ offset_right = 652.0
offset_bottom = 527.0
fname = "УМ1535Б"
rname = "A12"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_3"
@@ -158,7 +158,7 @@ offset_right = 652.0
offset_bottom = 622.0
fname = "УМ1535Б"
rname = "A13"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_4"
@@ -170,7 +170,7 @@ offset_right = 652.0
offset_bottom = 717.0
fname = "УМ1535Б"
rname = "A14"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_5"
@@ -182,7 +182,7 @@ offset_right = 652.0
offset_bottom = 812.0
fname = "УМ1535Б"
rname = "A15"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_6"
@@ -194,6 +194,8 @@ offset_right = 652.0
offset_bottom = 907.0
fname = "УТМ80"
rname = "A9"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_8"
[node name="rm1620m_A16" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")]
@@ -204,7 +206,7 @@ offset_right = 175.0
offset_bottom = 337.0
fname = "РМ16-20М"
rname = "A16"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_9"
@@ -216,7 +218,7 @@ offset_right = 173.0
offset_bottom = 432.0
fname = "РМ16-20М"
rname = "A17"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_10"
@@ -228,7 +230,7 @@ offset_right = 175.0
offset_bottom = 527.0
fname = "РМ16-20М"
rname = "A18"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_11"
@@ -240,7 +242,7 @@ offset_right = 175.0
offset_bottom = 622.0
fname = "РМ16-20М"
rname = "A19"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_12"
@@ -252,7 +254,7 @@ offset_right = 175.0
offset_bottom = 717.0
fname = "РМ16-20М"
rname = "A20"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_13"
@@ -264,7 +266,7 @@ offset_right = 175.0
offset_bottom = 812.0
fname = "РМ16-20М"
rname = "A21"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_14"
@@ -290,7 +292,7 @@ patch_margin_bottom = 16
script = ExtResource("7_xpa2n")
fname = "Кассета П-1"
[node name="ref_A26" parent="kasseta_p_1" groups=["default_reset", "power_supply"] instance=ExtResource("8_la5yt")]
[node name="ref_A26" parent="kasseta_p_1" groups=["power_supply"] instance=ExtResource("8_la5yt")]
offset_left = 9.0
offset_top = 33.0
offset_right = 59.0
@@ -299,7 +301,7 @@ fname = "ИП9-50"
rname = "A23"
metadata/ip = "ip9_50_1"
[node name="ref_A23" parent="kasseta_p_1" groups=["default_reset", "power_supply"] instance=ExtResource("8_la5yt")]
[node name="ref_A23" parent="kasseta_p_1" groups=["power_supply"] instance=ExtResource("8_la5yt")]
offset_left = 59.0
offset_top = 33.0
offset_right = 109.0
@@ -308,7 +310,7 @@ fname = "ИП9-50"
rname = "A24"
metadata/ip = "ip9_50_2"
[node name="ref_A24" parent="kasseta_p_1" groups=["default_reset", "power_supply"] instance=ExtResource("8_la5yt")]
[node name="ref_A24" parent="kasseta_p_1" groups=["power_supply"] instance=ExtResource("8_la5yt")]
offset_left = 109.0
offset_top = 33.0
offset_right = 159.0
@@ -347,40 +349,25 @@ horizontal_alignment = 1
metadata/_edit_lock_ = true
[node name="input_0" type="AnimatedSprite2D" parent="."]
position = Vector2(234, 177)
position = Vector2(353, 618)
sprite_frames = SubResource("SpriteFrames_di0aa")
[node name="Label" type="Label" parent="input_0"]
offset_left = -38.0
offset_top = 16.0
offset_right = 30.0
offset_bottom = 35.0
text = "Вход ЕМС"
[node name="input_1" type="AnimatedSprite2D" parent="."]
position = Vector2(277, 177)
position = Vector2(405, 618)
sprite_frames = SubResource("SpriteFrames_di0aa")
[node name="input_2" type="AnimatedSprite2D" parent="."]
position = Vector2(188, 177)
position = Vector2(255, 619)
sprite_frames = SubResource("SpriteFrames_di0aa")
[node name="output_0" type="AnimatedSprite2D" parent="."]
position = Vector2(421, 177)
position = Vector2(355, 464)
sprite_frames = SubResource("SpriteFrames_di0aa")
[node name="Label" type="Label" parent="output_0"]
offset_left = -40.0
offset_top = 14.0
offset_right = 36.0
offset_bottom = 33.0
text = "Модуляция"
metadata/_edit_use_anchors_ = true
[node name="output_1" type="AnimatedSprite2D" parent="."]
position = Vector2(462, 177)
position = Vector2(405, 464)
sprite_frames = SubResource("SpriteFrames_di0aa")
[node name="output_2" type="AnimatedSprite2D" parent="."]
position = Vector2(383, 177)
position = Vector2(255, 464)
sprite_frames = SubResource("SpriteFrames_di0aa")

View File

@@ -17,10 +17,8 @@ func _ready() -> void:
var power_amplifier: Array = get_tree().get_nodes_in_group('power_amplifier')
for temp in power_amplifier:
temp.value1 = -70
temp.max_value1 = 70
temp.min_value1 = -40
unit_prd_n.connect('control_is_over', Callable(self, 'on_press_device'))
#unit_prd_n.power_amplify = power_amplifier
start_control()
on_press_device()
@@ -37,15 +35,15 @@ func set_frame(node_frame: Node, val: int): node_frame.set_frame(val)
func start_control() -> void:
set_default_state()
set_default_state(get_tree().get_nodes_in_group('default_reset'), get_tree().get_nodes_in_group('power_amplifier'))
find_labels(self)
func set_default_state() -> void:
for group in get_tree().get_nodes_in_group('default_reset'):
static func set_default_state(default_reset_array_node: Array, power_amplifier_arr_node: Array) -> void:
for group in default_reset_array_node:
group.state = STATE_VAL.NONE
for group in get_tree().get_nodes_in_group('power_amplifier'):
for group in power_amplifier_arr_node:
group.state = STATE_VAL.NONE
@@ -88,11 +86,13 @@ func on_press_device() -> void:
var node_ip_power_arr: Array = get_tree().get_nodes_in_group('power_supply')
var fs_nodes: Array = get_tree().get_nodes_in_group('fs_group')
var power_amplifier_arr_node: Array = get_tree().get_nodes_in_group('power_amplifier')
var default_reset_array_node = get_tree().get_nodes_in_group('default_reset')
var module_fs_2: Node = $kasseta_FS_ND/ref_A4
var dou_2: Node = $dou2_A5
var module_fs_3: Node = $kasseta_FS_ND/ref_A3
var dou_3: Node = $dou3_A6
var for_control_result: Dictionary = {
'control_is_over': unit_prd_n.flag_control_is_over,
'result_dic': unit_prd_n.control_results,
'power_dic': unit_prd_n.power_result,
'block_kasseta_y5_config': unit_prd_n.block_kasseta_y5_config,
@@ -102,6 +102,7 @@ func on_press_device() -> void:
'node_ip_power_arr': node_ip_power_arr,
'fs_nodes': fs_nodes,
'power_amplifier': power_amplifier_arr_node,
'default_reset_array_node': default_reset_array_node,
'POWER_THRESHOLD': unit_prd_n.constants.POWER_THRESHOLD,
'name_prd': unit_prd_n.self_name,
'module_fs_2': module_fs_2,
@@ -112,7 +113,7 @@ func on_press_device() -> void:
on_control_result(for_control_result)
func on_control_result(for_result_dic: Dictionary) -> void:
static func on_control_result(for_result_dic: Dictionary) -> void:
temperature_fill(for_result_dic.power_amplifier, for_result_dic.temperature_um)
var block_kasseta_y5_prd_config_n: Dictionary = for_result_dic.block_kasseta_y5_config
@@ -125,14 +126,15 @@ func on_control_result(for_result_dic: Dictionary) -> void:
break
node_y5.state = STATE_VAL.GOOD if block_kasseta_y5_prd_config_n[meta_y5] else STATE_VAL.ERROR
var block_ip_config_n: Dictionary = unit_prd_n.block_ip_config
var node_ip_power_arr: Array = get_tree().get_nodes_in_group('power_supply')
for power_supply in node_ip_power_arr:
var block_ip_config_n: Dictionary = for_result_dic.block_ip_config
for power_supply in for_result_dic.node_ip_power_arr:
var meta_ip = power_supply.get_meta('ip')
if block_ip_config_n.has(meta_ip) and block_kasseta_y5_prd_config_n.ug:
power_supply.state = STATE_VAL.GOOD if block_ip_config_n[meta_ip][1] else STATE_VAL.ERROR
## If control is end
if not for_result_dic.control_is_over:
set_default_state(for_result_dic.default_reset_array_node, for_result_dic.power_amplifier)
return
var result_dic: Dictionary = for_result_dic.result_dic
for f in for_result_dic.fs_nodes:
var fs_meta: String = f.get_meta('fs')

View File

@@ -40,7 +40,7 @@ offset_right = 15.0
offset_bottom = 30.0
script = ExtResource("1_bnnv3")
[node name="maa2000_A23" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("2_is25t")]
[node name="maa2000_A23" parent="." groups=["power_supply"] instance=ExtResource("2_is25t")]
layout_mode = 2
offset_left = 8.0
offset_top = 877.0
@@ -50,7 +50,7 @@ fname = "MAA2000"
rname = "A23"
metadata/ip = "maa2000_2"
[node name="maa2000_A22" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("2_is25t")]
[node name="maa2000_A22" parent="." groups=["power_supply"] instance=ExtResource("2_is25t")]
layout_mode = 2
offset_left = 485.0
offset_top = 877.0
@@ -254,7 +254,7 @@ patch_margin_bottom = 16
script = ExtResource("6_b5wvk")
fname = "Кассета П-1"
[node name="ref_A21" parent="kasseta_P_1" groups=["default_reset", "power_supply"] instance=ExtResource("7_eoqf2")]
[node name="ref_A21" parent="kasseta_P_1" groups=["power_supply"] instance=ExtResource("7_eoqf2")]
offset_left = 9.0
offset_top = 33.0
offset_right = 59.0
@@ -263,7 +263,7 @@ fname = "ИП12-50"
rname = "A21"
metadata/ip = "ip12_50_1"
[node name="ref_A20" parent="kasseta_P_1" groups=["default_reset", "power_supply"] instance=ExtResource("7_eoqf2")]
[node name="ref_A20" parent="kasseta_P_1" groups=["power_supply"] instance=ExtResource("7_eoqf2")]
offset_left = 59.0
offset_top = 33.0
offset_right = 109.0
@@ -272,7 +272,7 @@ fname = "ИП9-50"
rname = "A20"
metadata/ip = "ip9_50_1"
[node name="ref_A19" parent="kasseta_P_1" groups=["default_reset", "power_supply"] instance=ExtResource("7_eoqf2")]
[node name="ref_A19" parent="kasseta_P_1" groups=["power_supply"] instance=ExtResource("7_eoqf2")]
offset_left = 109.0
offset_top = 33.0
offset_right = 159.0
@@ -300,7 +300,7 @@ offset_right = 652.0
offset_bottom = 337.0
fname = "УМ1535А"
rname = "A7"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_1"
@@ -312,7 +312,7 @@ offset_right = 652.0
offset_bottom = 432.0
fname = "УМ1535А"
rname = "A8"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_2"
@@ -324,7 +324,7 @@ offset_right = 652.0
offset_bottom = 527.0
fname = "УМ1535А"
rname = "A9"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_3"
@@ -336,7 +336,7 @@ offset_right = 652.0
offset_bottom = 622.0
fname = "УМ1535А"
rname = "A10"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_4"
@@ -348,7 +348,7 @@ offset_right = 652.0
offset_bottom = 717.0
fname = "УМ1535А"
rname = "A11"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_5"
@@ -360,7 +360,7 @@ offset_right = 652.0
offset_bottom = 812.0
fname = "УМ1535А"
rname = "A12"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_6"
@@ -372,7 +372,7 @@ offset_right = 175.0
offset_bottom = 337.0
fname = "УМ1535А"
rname = "A13"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_9"
@@ -384,7 +384,7 @@ offset_right = 175.0
offset_bottom = 432.0
fname = "УМ1535А"
rname = "A14"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_10"
@@ -396,7 +396,7 @@ offset_right = 175.0
offset_bottom = 527.0
fname = "УМ1535А"
rname = "A15"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_11"
@@ -408,7 +408,7 @@ offset_right = 175.0
offset_bottom = 622.0
fname = "УМ1535А"
rname = "A16"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_12"
@@ -420,7 +420,7 @@ offset_right = 175.0
offset_bottom = 717.0
fname = "УМ1535А"
rname = "A17"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_13"
@@ -432,7 +432,7 @@ offset_right = 175.0
offset_bottom = 812.0
fname = "УМ1535А"
rname = "A18"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_14"
@@ -446,31 +446,17 @@ horizontal_alignment = 1
metadata/_edit_lock_ = true
[node name="input_0" type="AnimatedSprite2D" parent="."]
position = Vector2(234, 177)
position = Vector2(456, 589)
sprite_frames = SubResource("SpriteFrames_1wf07")
[node name="Label" type="Label" parent="input_0"]
offset_left = -15.0
offset_top = 15.0
offset_right = 53.0
offset_bottom = 34.0
text = "Вход ЕМС"
[node name="input_1" type="AnimatedSprite2D" parent="."]
position = Vector2(277, 177)
position = Vector2(207, 586)
sprite_frames = SubResource("SpriteFrames_1wf07")
[node name="output_0" type="AnimatedSprite2D" parent="."]
position = Vector2(381, 177)
position = Vector2(458, 476)
sprite_frames = SubResource("SpriteFrames_1wf07")
[node name="Label" type="Label" parent="output_0"]
offset_left = -19.0
offset_top = 14.0
offset_right = 57.0
offset_bottom = 33.0
text = "Модуляция"
[node name="output_1" type="AnimatedSprite2D" parent="."]
position = Vector2(422, 177)
position = Vector2(210, 477)
sprite_frames = SubResource("SpriteFrames_1wf07")

View File

@@ -34,15 +34,15 @@ func set_frame(node_frame: Node, val: int): node_frame.set_frame(val)
func start_control() -> void:
set_default_state()
set_default_state(get_tree().get_nodes_in_group('default_reset'), get_tree().get_nodes_in_group('power_amplifier'))
find_labels(self)
func set_default_state() -> void:
for group in get_tree().get_nodes_in_group('default_reset'):
static func set_default_state(default_reset_array_node: Array, power_amplifier_arr_node: Array) -> void:
for group in default_reset_array_node:
group.state = STATE_VAL.NONE
for group in get_tree().get_nodes_in_group('power_amplifier'):
for group in power_amplifier_arr_node:
group.state = STATE_VAL.NONE
@@ -83,63 +83,18 @@ static func power_fill(pow_dic: Dictionary, fs_result: Dictionary, power_amplifi
i_powapm.state = status
## Проверка температур УМ от УКП
static func check_temperature_um(status_prd: PackedByteArray, power_amplifier: Array) -> bool:
if power_amplifier.size() < 1: return false
const Constants: Dictionary = {
'CONST_MIN_TEMP': -25,
'MAXIMUM_CODE_ADC': 3796,
'MINIMUM_CODE_AD': 2660,
'TEMPERATURE_UKP_1': 47,
'TEMPERATURE_UKP_2': 79,
}
const TEMP: float = 115.0 / (Constants.MAXIMUM_CODE_ADC - Constants.MINIMUM_CODE_AD)
var ukp1_online: int = (status_prd[0] >> 2) & 1
var ukp2_online = (status_prd[0] >> 3) & 1
var all_temp_is_ok: bool = true
if ukp1_online:
var tmp_1: int
var temperature_ukp_1: int
for i_temp in 6:
temperature_ukp_1 = status_prd.decode_u16(Constants.TEMPERATURE_UKP_1 + 2 * i_temp)
tmp_1 = round(Constants.CONST_MIN_TEMP + (Constants.MAXIMUM_CODE_ADC - temperature_ukp_1) * TEMP + 3)
power_amplifier[i_temp].value1 = tmp_1
if tmp_1>70:
all_temp_is_ok = false
if power_amplifier.size() > 12: # Темпуратура от УМ литеры 1
temperature_ukp_1 = status_prd.decode_u16(Constants.TEMPERATURE_UKP_1 + 2 * 7)
tmp_1 = round(Constants.CONST_MIN_TEMP + (Constants.MAXIMUM_CODE_ADC - temperature_ukp_1) * TEMP + 3)
power_amplifier[6].value1 = tmp_1
if tmp_1>70:
all_temp_is_ok = false
if ukp2_online:
for i_temp in 6:
var temperature_ukp_2: int = status_prd.decode_u16(Constants.TEMPERATURE_UKP_2 + 2 * i_temp)
var tmp_2: int = round(Constants.CONST_MIN_TEMP + (Constants.MAXIMUM_CODE_ADC - temperature_ukp_2) * TEMP + 3)
if power_amplifier.size() > 12:
power_amplifier[i_temp+7].value1 = tmp_2
if tmp_2>70:
all_temp_is_ok = false
else:
power_amplifier[i_temp+6].value1 = tmp_2
if tmp_2>70:
all_temp_is_ok = false
return all_temp_is_ok
func on_press_device() -> void:
var nodes_y5: Array = get_tree().get_nodes_in_group('y-5')
var node_ip_power_arr: Array = get_tree().get_nodes_in_group('power_supply')
var fs_nodes: Array = get_tree().get_nodes_in_group('fs_group')
var power_amplifier: Array = get_tree().get_nodes_in_group('power_amplifier')
var default_reset_array_node: Array = get_tree().get_nodes_in_group('default_reset')
var module_fs_4: Node = $kasseta_FS_VD/ref_A6
var dou_4: Node = $dou4_A5
var module_fs_5: Node = $kasseta_FS_VD/ref_A2
var dou_5: Node = $dou5_A6
var for_control_result: Dictionary = {
'control_is_over': unit_prd_v.flag_control_is_over,
'result_dic': unit_prd_v.control_results,
'power_dic': unit_prd_v.power_result,
'block_kasseta_y5_config': unit_prd_v.block_kasseta_y5_config,
@@ -149,6 +104,7 @@ func on_press_device() -> void:
'node_ip_power_arr': node_ip_power_arr,
'fs_nodes': fs_nodes,
'power_amplifier': power_amplifier,
'default_reset_array_node': default_reset_array_node,
'POWER_THRESHOLD': unit_prd_v.constants.POWER_THRESHOLD,
'name_prd': unit_prd_v.self_name,
'module_fs_4': module_fs_4,
@@ -178,7 +134,9 @@ static func on_control_result(for_result_dic: Dictionary) -> void:
if block_ip_config_v.has(meta_ip) and block_kasseta_y5_prd_config_v.ug:
power_supply.state = STATE_VAL.GOOD if block_ip_config_v[meta_ip][1] else STATE_VAL.ERROR
## If control is end
if not for_result_dic.control_is_over:
set_default_state(for_result_dic.default_reset_array_node, for_result_dic.power_amplifier)
return
var result_dic: Dictionary = for_result_dic.result_dic
for f in for_result_dic.fs_nodes:
var fs_meta: String = f.get_meta('fs')

View File

@@ -41,7 +41,7 @@ offset_right = 15.0
offset_bottom = 30.0
script = ExtResource("1_c20s6")
[node name="maa2000_A22" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("2_xpo4b")]
[node name="maa2000_A22" parent="." groups=["power_supply"] instance=ExtResource("2_xpo4b")]
layout_mode = 2
offset_left = 485.0
offset_top = 877.0
@@ -60,7 +60,7 @@ offset_bottom = 877.0
fname = "ДОУ-4"
rname = "A5"
[node name="maa2000_A23" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("2_xpo4b")]
[node name="maa2000_A23" parent="." groups=["power_supply"] instance=ExtResource("2_xpo4b")]
layout_mode = 2
offset_left = 8.0
offset_top = 877.0
@@ -203,7 +203,7 @@ patch_margin_bottom = 16
script = ExtResource("6_os4mt")
fname = "Кассета П-1В"
[node name="ref_A19" parent="kasseta_P_1" groups=["default_reset", "power_supply"] instance=ExtResource("7_38u2b")]
[node name="ref_A19" parent="kasseta_P_1" groups=["power_supply"] instance=ExtResource("7_38u2b")]
offset_left = 9.0
offset_top = 33.0
offset_right = 59.0
@@ -212,7 +212,7 @@ fname = "ИП9-50"
rname = "A19"
metadata/ip = "ip9_50_1"
[node name="ref_A20" parent="kasseta_P_1" groups=["default_reset", "power_supply"] instance=ExtResource("7_38u2b")]
[node name="ref_A20" parent="kasseta_P_1" groups=["power_supply"] instance=ExtResource("7_38u2b")]
offset_left = 59.0
offset_top = 33.0
offset_right = 109.0
@@ -221,7 +221,7 @@ fname = "ИП9-50"
rname = "A20"
metadata/ip = "ip9_50_2"
[node name="ref_A21" parent="kasseta_P_1" groups=["default_reset", "power_supply"] instance=ExtResource("7_38u2b")]
[node name="ref_A21" parent="kasseta_P_1" groups=["power_supply"] instance=ExtResource("7_38u2b")]
offset_left = 109.0
offset_top = 33.0
offset_right = 159.0
@@ -249,7 +249,7 @@ offset_right = 652.0
offset_bottom = 337.0
fname = "УМ1535А"
rname = "A7"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_1"
@@ -261,7 +261,7 @@ offset_right = 652.0
offset_bottom = 432.0
fname = "УМ1535А"
rname = "A8"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_2"
@@ -273,7 +273,7 @@ offset_right = 652.0
offset_bottom = 527.0
fname = "УМ1535А"
rname = "A9"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_3"
@@ -285,7 +285,7 @@ offset_right = 652.0
offset_bottom = 622.0
fname = "УМ1535А"
rname = "A10"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_4"
@@ -297,7 +297,7 @@ offset_right = 652.0
offset_bottom = 717.0
fname = "УМ1535А"
rname = "A11"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_5"
@@ -309,7 +309,7 @@ offset_right = 652.0
offset_bottom = 812.0
fname = "УМ1535А"
rname = "A12"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_6"
@@ -321,7 +321,7 @@ offset_right = 175.0
offset_bottom = 337.0
fname = "УМ1535А"
rname = "A13"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_9"
@@ -333,7 +333,7 @@ offset_right = 175.0
offset_bottom = 432.0
fname = "УМ1535А"
rname = "A14"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_10"
@@ -345,7 +345,7 @@ offset_right = 175.0
offset_bottom = 527.0
fname = "УМ1535А"
rname = "A15"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_11"
@@ -357,7 +357,7 @@ offset_right = 175.0
offset_bottom = 622.0
fname = "УМ1535А"
rname = "A16"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_12"
@@ -369,7 +369,7 @@ offset_right = 175.0
offset_bottom = 717.0
fname = "УМ1535А"
rname = "A17"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_13"
@@ -381,7 +381,7 @@ offset_right = 175.0
offset_bottom = 812.0
fname = "УМ1535А"
rname = "A18"
value0_info = "Мощность, Вт"
value0_info = "Мощность"
value1_info = "Температура,°C"
metadata/um = "um_14"
@@ -395,31 +395,17 @@ horizontal_alignment = 1
metadata/_edit_lock_ = true
[node name="input_0" type="AnimatedSprite2D" parent="."]
position = Vector2(234, 177)
position = Vector2(457, 586)
sprite_frames = SubResource("SpriteFrames_s5gcy")
[node name="Label" type="Label" parent="input_0"]
offset_left = -15.0
offset_top = 15.0
offset_right = 53.0
offset_bottom = 34.0
text = "Вход ЕМС"
[node name="input_1" type="AnimatedSprite2D" parent="."]
position = Vector2(277, 177)
position = Vector2(209, 586)
sprite_frames = SubResource("SpriteFrames_s5gcy")
[node name="output_0" type="AnimatedSprite2D" parent="."]
position = Vector2(381, 177)
position = Vector2(457, 482)
sprite_frames = SubResource("SpriteFrames_s5gcy")
[node name="Label" type="Label" parent="output_0"]
offset_left = -19.0
offset_top = 14.0
offset_right = 57.0
offset_bottom = 33.0
text = "Модуляция"
[node name="output_1" type="AnimatedSprite2D" parent="."]
position = Vector2(422, 177)
position = Vector2(209, 482)
sprite_frames = SubResource("SpriteFrames_s5gcy")

View File

@@ -35,7 +35,7 @@ signal pressed(control: PanelContainer)
if not is_inside_tree():
return
$margin/vbox/grid1/level7.value = v
$margin/vbox/grid1/level7.tint_progress = Color.RED if v >= 70 else Color.GOLD if v >= 60 else Color.WHITE
$margin/vbox/grid1/level7.tint_progress = Color.RED if v >= 50 else Color.GOLD if v >= 40 else Color.WHITE
@export var min_value0: float:
@@ -273,8 +273,9 @@ theme_override_styles/panel = SubResource("StyleBoxEmpty_3nd2u")
script = SubResource("GDScript_oj3k3")
textures = [ExtResource("1_n1aqt"), ExtResource("2_rim3u"), ExtResource("3_3w8fg")]
value0 = [20.0, 30.0, 40.0, 50.0, 60.0, 70.0]
min_value1 = -40.0
max_value0 = 1400.0
max_value1 = 70.0
max_value1 = 60.0
step0 = 1.0
step1 = 1.0
value_name0 = "P,%"
@@ -475,9 +476,10 @@ size_flags_horizontal = 3
size_flags_vertical = 3
tooltip_text = "
Текущее: 0.00
Диапазон: 0.00…70.00"
Диапазон: -40.00…70.00"
mouse_filter = 0
max_value = 70.0
min_value = -40.0
max_value = 60.0
fill_mode = 3
nine_patch_stretch = true
stretch_margin_left = 8

View File

@@ -259,8 +259,10 @@ theme_override_styles/panel = SubResource("StyleBoxEmpty_3nd2u")
script = SubResource("GDScript_oj3k3")
textures = [ExtResource("1_uojqc"), ExtResource("2_a8ar3"), ExtResource("3_xwd13")]
value0 = [20.0, 30.0, 40.0, 50.0, 60.0, 70.0]
value1 = -40.0
min_value1 = -40.0
max_value0 = 1400.0
max_value1 = 70.0
max_value1 = 60.0
step0 = 1.0
step1 = 1.0
value_name0 = "P,%"
@@ -363,10 +365,12 @@ layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
tooltip_text = "
Текущее: 0.00
Диапазон: 0.00…70.00"
Текущее: -40.00
Диапазон: -40.00…70.00"
mouse_filter = 0
max_value = 70.0
min_value = -40.0
max_value = 60.0
value = -40.0
fill_mode = 3
nine_patch_stretch = true
stretch_margin_left = 8

View File

@@ -14,7 +14,7 @@ patch_margin_right = 16
patch_margin_bottom = 16
script = ExtResource("2_mdnod")
[node name="ref_A26" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("3_4a27g")]
[node name="ref_A26" parent="." groups=["power_supply"] instance=ExtResource("3_4a27g")]
offset_left = 10.0
offset_top = 30.0
offset_right = 60.0
@@ -23,7 +23,7 @@ fname = "ИП9-50"
rname = "A22"
metadata/ip = "ip9_50_3"
[node name="ref_A23" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("3_4a27g")]
[node name="ref_A23" parent="." groups=["power_supply"] instance=ExtResource("3_4a27g")]
offset_left = 60.0
offset_top = 30.0
offset_right = 110.0

View File

@@ -64,7 +64,7 @@ const SETTING_TABLE = [
['Адрес БПО правого борта', TableEdit, TableEdit, 'http-адрес для запроса состояния прибора БПО'],
['Период опроса состояния БПО, секунды', TableEdit, TableEdit, 'Время в секундах' ],
['Период опроса состояния АФСП, секунды', TableEdit, TableEdit, 'Время в секундах' ],
['уареп-трасса', TableEdit, TableEdit, 'IP-адрес для связи с Трассой [<адрес этого узла>, <адрес удалённого узла>, <порт этого узла>, <порт удалённого узла>]'],
['уарэп-трасса', TableEdit, TableEdit, 'IP-адрес для связи с Трассой [<адрес этого узла>, <адрес удалённого узла>, <порт этого узла>, <порт удалённого узла>]'],
['Включить работу по своим целям', TableEdit, TableToggle, 'Разрешает работу в секторе со своей целью'],
['Список своих протоколов', TableEdit, TableEdit, 'Список протоколов целей, по которым запрещено работать' ], ]

View File

@@ -31,7 +31,8 @@ var strob_band_begin: float ## Ширина строба в моме
var strob_dir_begin: float ## Направление антенны в момент начала перетаскивания.
var strob_width_begin: float ## Ширина строба по углу в момент начала перетаскивания.
var view_mode: MapViewMode ## Режим отображения карты
var thrs_dict: Dictionary ## Ссылка на словарь целей
var thrs_dict: Dictionary ## Ссылка на словарь целей
var gos_flag = true ## Флаг работать по своим целям
var color_ecm: Color
var color_select: Color
var color_emit: Color
@@ -92,6 +93,7 @@ func on_enter_tree() -> void: call_deferred('on_button_strobe_pressed')
func on_settings_changed():
gos_flag = ProjectSettings.get_setting('application/config/Включить работу по своим целям', true)
color_emit = ProjectSettings.get_setting('application/interfer/emit_color', Color(0.58, 0.47, 0.51, 1.0))
color_ecm = ProjectSettings.get_setting('application/interfer/interfer_color', Color(0.58, 0.47, 0.51, 1.0))
color_select = ProjectSettings.get_setting('application/interfer/select_color', Color(1.0, 1.0, 1.0, 1.0))
@@ -109,9 +111,7 @@ func on_settings_changed():
## Обработчик сигнала изменения списка целей.
func on_threats_resized(ths: Dictionary):
$count_all_pad/count_all.text = '%02d' % ths.size()
var c: int = ths.values().filter(func(th: threats.Threat): return th.proto != '').size()
$count_danger_pad/count_danger.text = '%02d' % c
count_threats(ths)
thrs_dict = ths
@@ -531,7 +531,6 @@ func update_fs_colors():
$btn_activate.self_modulate = Color.WHITE
func unsel_fs_all(need_btns_off: bool):
fs_selected.clear()
update_fs_colors()
@@ -625,6 +624,14 @@ func _on_btn_all_work_pressed() -> void:
func on_th_aoa_update(ths):
count_threats(ths)
func count_threats(ths):
$count_all_pad/count_all.text = '%02d' % ths.size()
var c: int = ths.values().filter(func(th: threats.Threat): return th.proto != '').size()
var c: int = 0
if gos_flag:
c = ths.values().filter(func(th: threats.Threat): return th.proto != '').size()
else:
c = ths.values().filter(func(th: threats.Threat): return ((th.proto != '') and th.proto not in interfer.gos_protocols)).size()
$count_danger_pad/count_danger.text = '%02d' % c