diff --git a/scenes/pribor-prd-n/pribor-prd-n.tscn b/scenes/pribor-prd-n/pribor-prd-n.tscn index f97936e4..1e23a7ec 100644 --- a/scenes/pribor-prd-n/pribor-prd-n.tscn +++ b/scenes/pribor-prd-n/pribor-prd-n.tscn @@ -376,7 +376,6 @@ fname = "УМ1535А" rname = "A18" [node name="Monitoring_panel" type="Panel" parent="."] -visible = false layout_mode = 0 theme_override_styles/panel = SubResource("StyleBoxTexture_bnnv3") diff --git a/scenes/pribor-prd-v/pribor_prd_v.gd b/scenes/pribor-prd-v/pribor_prd_v.gd index 7a947355..22753d57 100644 --- a/scenes/pribor-prd-v/pribor_prd_v.gd +++ b/scenes/pribor-prd-v/pribor_prd_v.gd @@ -29,6 +29,7 @@ func _ready() -> void: unit_prd.connect('data_received', Callable(self, 'on_data_received')) unit_prd.connect('line_changed', Callable(self, 'on_line_changed')) set_default_state() + _on_control_fs(true) func set_default_state() -> void: @@ -62,10 +63,55 @@ func on_data_received(unit_prd: Object) -> void: if (in_blank >> CI_4_OT_FS) & 1: check_dkm(unit_prd.status, bit_dkm_3) + ## Мощность УМ от УКП 1 + var arr_power_ukp_1: Array = [] + + if (unit_prd.status[0] >> 2) & 1: + for i_power in range(6): + var power_ukp_1 = unit_prd.status.decode_u16(POWER_UKP_1 + 2 * i_power) + arr_power_ukp_1.append(power_ukp_1) + + if count_packet_1 == 0: + power_array_1 = arr_power_ukp_1 + else: + for i in arr_power_ukp_1.size(): + if arr_power_ukp_1[i] > power_array_1[i]: + power_array_1[i] = arr_power_ukp_1[i] + + var power_amplifier: Array = get_tree().get_nodes_in_group('power_amplifier') + for i in 6: + power_amplifier[i].value1 = '%d' % power_array_1[i] + count_packet_1 += 1 + ## Мощность УМ от УКП 2 if (in_blank >> CI_5_OT_FS) & 1: check_dkm(unit_prd.status, bit_dkm_4) + ## Мощность УМ от УКП 2 + const bit_dkm_2: int = 2 + check_dkm(unit_prd.status, bit_dkm_2) + + var arr_power_ukp_2: Array = [] + + if (unit_prd.status[0] >> 2) & 1: + for i_power in range(6): + var power_ukp_2 = unit_prd.status.decode_u16(POWER_UKP_2 + 2 * i_power) + arr_power_ukp_2.append(power_ukp_2) + + if count_packet_2 == 0: + power_array_2 = arr_power_ukp_2 + else: + for i in arr_power_ukp_2.size(): + if arr_power_ukp_2[i] > power_array_2[i]: + power_array_2[i] = arr_power_ukp_2[i] + + var power_amplifier: Array = get_tree().get_nodes_in_group('power_amplifier') + for i in 6: + power_amplifier[i+6].value1 = '%d' % power_array_2[i] + + count_packet_2 += 1 + #_on_control_fs(false) + ## Проверка касет П1 и ИП МА2000 func check_block_ip(status_prd: PackedByteArray) -> void : @@ -132,3 +178,16 @@ func check_dkm(status_prd: PackedByteArray, bit_dkm: int) -> void: elif bit_dkm == bit_dkm_4: $dou5_A6.state = STATE_VAL.GOOD if status_dkm else STATE_VAL.ERROR $kasseta_FS_VD/ref_A2.state = STATE_VAL.GOOD if status_dkm else STATE_VAL.ERROR + + +func _on_control_fs(mode: bool): + var interfer_name: String + var fs_arr: Array + if mode: + interfer_name = 'srnm2' + fs_arr = [[90.0, 2450.0, 1500.0, 23]] + else: + interfer_name = 'off' + fs_arr = [[90.0, 2450.0, 1500.0, 23]] + print('interfer_init: ', interfer_name, fs_arr) + signaller.emit_signal('interfer_init', interfer_name, fs_arr) diff --git a/scenes/pribor-uyep/sch3.tscn b/scenes/pribor-uyep/sch3.tscn index a175a03f..2905b587 100644 --- a/scenes/pribor-uyep/sch3.tscn +++ b/scenes/pribor-uyep/sch3.tscn @@ -136,17 +136,6 @@ theme_override_font_sizes/font_size = 17 text = "УФ" vertical_alignment = 1 -[node name="switch0" type="CheckButton" parent="margin/vbox/table" groups=["bits_items_switch", "c111"]] -editor_description = "Питание УФ" -material = SubResource("ShaderMaterial_c1mqk") -layout_mode = 2 -size_flags_horizontal = 2 -tooltip_text = "Выключатель питания УФ" -button_pressed = true -action_mode = 0 -script = ExtResource("7_l6esm") -metadata/bits = [0, 0, 2, 0] - [node name="state1" type="TextureRect" parent="margin/vbox/table" groups=["bits_items_good"]] custom_minimum_size = Vector2(24, 24) layout_mode = 2 diff --git a/scripts/prd.gd b/scripts/prd.gd index 733fee09..8d4e3261 100644 --- a/scripts/prd.gd +++ b/scripts/prd.gd @@ -348,7 +348,7 @@ func on_data_capsrpb_received(unit0: capsrpb.CapsRpb): if unit0.json_dic['ts'] != 7: return if not unit0.json_dic.has('msfs'): return - var msfs = unit.json_dic['msfs'] + var msfs = unit0.json_dic['msfs'] for fs in msfs: if fs is Dictionary: if not fs.has('nmfs'):