diff --git a/PRD_MP550.tscn b/PRD_MP550.tscn index be16a47..0d252fe 100644 --- a/PRD_MP550.tscn +++ b/PRD_MP550.tscn @@ -294,11 +294,12 @@ theme_override_styles/tab_selected = SubResource("StyleBoxTexture_k08q3") theme_override_styles/tab_hovered = SubResource("StyleBoxTexture_dklg6") theme_override_styles/tab_unselected = SubResource("StyleBoxTexture_17le6") tab_alignment = 2 -current_tab = 0 +current_tab = 1 tab_focus_mode = 0 metadata/_edit_lock_ = true [node name="PRD" type="Panel" parent="TabContainer"] +visible = false layout_mode = 2 theme_override_styles/panel = SubResource("StyleBoxTexture_7u7p7") metadata/_tab_index = 0 @@ -442,7 +443,6 @@ script = ExtResource("2_vmbyo") node_gap = Vector2(100, 50) [node name="ControlPanel" type="Panel" parent="TabContainer"] -visible = false layout_mode = 2 theme_override_styles/panel = SubResource("StyleBoxTexture_tn8m6") script = ExtResource("9_akagi") @@ -664,29 +664,6 @@ self_size = Vector2i(50, 174) fname = "ИП9-50" rname = "А20" -[node name="ref_A28" parent="TabContainer/ControlPanel/soc_P1" instance=ExtResource("11_fg7ul")] -visible = false -offset_left = 259.0 -offset_top = 34.0 -offset_right = 309.0 -offset_bottom = 208.0 -textures = Array[Texture]([]) -self_size = Vector2i(50, 174) -fname = "ИП12-50" -rname = "A21" - -[node name="ref_A29" parent="TabContainer/ControlPanel/soc_P1" instance=ExtResource("11_fg7ul")] -visible = false -offset_left = 309.0 -offset_top = 34.0 -offset_right = 359.0 -offset_bottom = 208.0 -textures = Array[Texture]([]) -self_size = Vector2i(50, 174) -fname = "ИП9-50" -rname = "А22" -metadata/_edit_lock_ = true - [node name="IP12_50" parent="TabContainer/ControlPanel/soc_P1" instance=ExtResource("11_fg7ul")] offset_left = 16.0 offset_top = 36.0 @@ -696,6 +673,56 @@ self_size = Vector2i(50, 174) fname = "ИП12-50" rname = "А21" +[node name="soc_DKM" type="NinePatchRect" parent="TabContainer/ControlPanel"] +layout_mode = 0 +offset_left = 574.0 +offset_top = 201.0 +offset_right = 762.0 +offset_bottom = 417.0 +texture = ExtResource("9_0r2qk") +patch_margin_left = 16 +patch_margin_top = 16 +patch_margin_right = 16 +patch_margin_bottom = 16 + +[node name="Kasseta" type="Label" parent="TabContainer/ControlPanel/soc_DKM"] +self_modulate = Color(1, 1, 1, 0.62) +layout_mode = 0 +offset_left = 7.0 +offset_top = 8.0 +offset_right = 181.0 +offset_bottom = 33.0 +text = "ДКМ" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="DKM_3" parent="TabContainer/ControlPanel/soc_DKM" instance=ExtResource("11_fg7ul")] +offset_left = 129.0 +offset_top = 37.0 +offset_right = 179.0 +offset_bottom = 211.0 +self_size = Vector2i(50, 174) +fname = "ДКМ3" +rname = " " + +[node name="DKM_2" parent="TabContainer/ControlPanel/soc_DKM" instance=ExtResource("11_fg7ul")] +offset_left = 73.0 +offset_top = 37.0 +offset_right = 123.0 +offset_bottom = 211.0 +self_size = Vector2i(50, 174) +fname = "ДКМ2" +rname = " " + +[node name="DKM_1" parent="TabContainer/ControlPanel/soc_DKM" instance=ExtResource("11_fg7ul")] +offset_left = 16.0 +offset_top = 36.0 +offset_right = 66.0 +offset_bottom = 210.0 +self_size = Vector2i(50, 174) +fname = "ДКМ1" +rname = " " + [node name="soc_P2" type="NinePatchRect" parent="TabContainer/ControlPanel"] layout_mode = 0 offset_left = 278.0 diff --git a/scripts/PRD.gd b/scripts/PRD.gd index 8e3f1a1..276b34b 100644 --- a/scripts/PRD.gd +++ b/scripts/PRD.gd @@ -119,7 +119,7 @@ func _ready() -> void: get_select_device.connect('item_selected', Callable(self, 'on_btn_select')) node_select_device.get_node2(0,0).text = 'ПРИБОР' node_select_device.set_columns_min_size([100, 100]) - + # Получение выбранного прибора при загрузке if Constants.ADDRESSES.size() > 0: get_select_device.select(0) @@ -433,7 +433,7 @@ func _on_load_config(): func set_tab_and_buttons(tab_index: int, button_name: String) -> void: $TabContainer.current_tab = tab_index var side_panel = $Background/side_panel - + for button in side_panel.get_children(): if button is Button: button.button_pressed = (button.name == button_name) diff --git a/scripts/control_panel.gd b/scripts/control_panel.gd index 8bb9327..4a9bf77 100644 --- a/scripts/control_panel.gd +++ b/scripts/control_panel.gd @@ -47,6 +47,7 @@ func _on_timer(pribor_prd): func _status_cell(status): var status_board: int = status.decode_u8(Constants.DataIndices.STATUS_BOARD) var dry_contact: int = status.decode_u8(Constants.DataIndices.DRY_CONTACT) + var dkm: int = status.decode_u8(Constants.DataIndices.DRY_CONTACT+1) # status_board for i in range(1, count_cell-8): @@ -66,8 +67,20 @@ func _status_cell(status): for i in range(5, count_cell): node_cell_ind[i].state = Constants.STATE_VAL.NONE + #dkm + if Constants.CURRENT_MODE == Constants.MODE.PRD_H: + $soc_DKM/DKM_2.state = (dkm >> 1) & 0x1 + $soc_DKM/DKM_3.state = (dkm >> 2) & 0x1 + elif Constants.CURRENT_MODE == Constants.MODE.PRD_B: + $soc_DKM/DKM_2.state = (dkm >> 3) & 0x1 + $soc_DKM/DKM_3.state = (dkm >> 4) & 0x1 + elif Constants.CURRENT_MODE == Constants.MODE.PRD_K: + $soc_DKM/DKM_1.state = (dkm >> 0) & 0x1 + $soc_DKM/DKM_2.state = (dkm >> 5) & 0x1 + $soc_DKM/DKM_3.state = (dkm >> 6) & 0x1 + func _status_prd(): - var status: int + var status: int = 0 for i in range(count_cell-3): status += 1 if (node_cell_ind[i].state == Constants.STATE_VAL.GOOD) else 0 status += 1 if (node_cell_ind[count_cell-1].state == Constants.STATE_VAL.GOOD) else 0 @@ -118,6 +131,10 @@ func _draw_control_panel_prd(pribor): $soc_P1/MAA_2.rname = 'А23' # Кассета П-2 $soc_P2.visible = false + # ДКМ + $soc_DKM/DKM_1.visible = false + $soc_DKM/DKM_2.fname = 'ДКМ2' + $soc_DKM/DKM_2.fname = 'ДКМ3' elif pribor == Constants.MODE.PRD_B: # Кассета У5 @@ -147,6 +164,10 @@ func _draw_control_panel_prd(pribor): $soc_P1/MAA_2.rname = 'А23' # Кассета П-2 $soc_P2.visible = false + # ДКМ + $soc_DKM/DKM_1.visible = false + $soc_DKM/DKM_2.fname = 'ДКМ4' + $soc_DKM/DKM_2.fname = 'ДКМ5' elif pribor == Constants.MODE.PRD_K: # Кассета У5 @@ -180,3 +201,7 @@ func _draw_control_panel_prd(pribor): $soc_P1/MAA_2.rname = 'А28' # Кассета П-2 $soc_P2.visible = true + # ДКМ + $soc_DKM/DKM_1.visible = true + $soc_DKM/DKM_2.fname = 'ДКМ6' + $soc_DKM/DKM_2.fname = 'ДКМ7'