Корректировка контроль панели

This commit is contained in:
2025-01-29 07:29:27 +03:00
parent e945834ea2
commit ccbf5fa368
7 changed files with 296 additions and 207 deletions

View File

@@ -45,7 +45,7 @@ func _ready() -> void:
$TabContainer/PRD/Grid/Ray_set.add_item(key)
$TabContainer/PRD/Grid/Ray_set2.add_item(key)
draw_panel_prd(Constants.ADDRESSES[0][3])
draw_control_panel_prd(Constants.ADDRESSES[0][3])
$TabContainer/PRD/Grid/Zapret.connect('toggled', Callable(self, '_on_zapret').bind($TabContainer/PRD/Grid/Zapret))
$TabContainer/PRD/Grid/Zapret2.connect('toggled', Callable(self, '_on_zapret').bind($TabContainer/PRD/Grid/Zapret2))
@@ -56,7 +56,7 @@ func _ready() -> void:
Network.connect('yau_read_isa', Callable(self, '_on_read_isa'))
func draw_panel_prd(mode) -> void:
func draw_control_panel_prd(mode) -> void:
for node_path in Constants.NODE_MAP:
var index = Constants.NODE_MAP[node_path]
var node = get_node(node_path)
@@ -71,14 +71,13 @@ func draw_panel_prd(mode) -> void:
## From Network status about yau-07
func _on_yau_status(yau_status: bool) -> void:
if yau_status:
$TabContainer/ControlPanel/sockets/ref_A26/light_ind.button_pressed = true
$TabContainer/ControlPanel/sockets/ref_A26/light_ind.disabled = false
$TabContainer/ControlPanel/soc_y5/ref_A30/light_ind.button_pressed = true
$TabContainer/ControlPanel/soc_y5/ref_A30/light_ind.disabled = false
flag_yau_control = true
else:
$TabContainer/ControlPanel/sockets/ref_A26/light_ind.button_pressed = false
$TabContainer/ControlPanel/sockets/ref_A26/light_ind.disabled = true
#for dev in (Constants.CONTROL_DEVICE.size() - 1):
$TabContainer/ControlPanel/soc_y5/ref_A30/light_ind.button_pressed = false
$TabContainer/ControlPanel/soc_y5/ref_A30/light_ind.disabled = true
flag_yau_control = false
@@ -121,6 +120,7 @@ func _process(_delta: float) -> void:
func _on_data_received(data_from_yau_07):
$TabContainer/PRD/data_from_dev.text = 'From dev: %s' % data_from_yau_07
if flag_yau_control:
var status_board = data_from_yau_07.decode_u8(Constants.DataIndices.STATUS_BOARD)
var dry_contact: int = data_from_yau_07.decode_u16(Constants.DataIndices.DRY_CONTACT) # Контроль сухих контактов (УГ)
@@ -132,10 +132,10 @@ func _on_data_received(data_from_yau_07):
## SOCKETS BOARDS
for i in 4:
var sockets_ind = [$TabContainer/ControlPanel/sockets/ref_A23/light_ind,
$TabContainer/ControlPanel/sockets/ref_A24/light_ind,
$TabContainer/ControlPanel/sockets/ref_A25/light_ind,
$TabContainer/ControlPanel/sockets/ref_A27/light_ind]
var sockets_ind = [$TabContainer/ControlPanel/soc_y5/ref_A26/light_ind,
$TabContainer/ControlPanel/soc_y5/ref_A27/light_ind,
$TabContainer/ControlPanel/soc_y5/ref_A28/light_ind,
$TabContainer/ControlPanel/soc_y5/ref_A29/light_ind]
var j = int(status_board & (1 << i) == 0 and flag_yau_control)
if j == 0:
sockets_ind[i].button_pressed = true
@@ -146,14 +146,14 @@ func _on_data_received(data_from_yau_07):
## Блок ИП
for i in 8:
var node_power_ind = [$TabContainer/ControlPanel/kasseta_p_1/ref_A23/light_ind,
$TabContainer/ControlPanel/kasseta_p_1/ref_A24/light_ind,
$TabContainer/ControlPanel/kasseta_p_1/ref_A25/light_ind,
$TabContainer/ControlPanel/kasseta_p_1/ref_A26/light_ind,
$TabContainer/ControlPanel/kasseta_p_1/ref_A27/light_ind,
$TabContainer/ControlPanel/kasseta_p_1/ref_A28/light_ind,
$TabContainer/ControlPanel/kasseta_p_1/ref_A29/light_ind,
$TabContainer/ControlPanel/kasseta_p_1/ref_A30/light_ind]
var node_power_ind = [$TabContainer/ControlPanel/soc_P1/ref_A23/light_ind,
$TabContainer/ControlPanel/soc_P1/ref_A24/light_ind,
$TabContainer/ControlPanel/soc_P1/ref_A25/light_ind,
$TabContainer/ControlPanel/soc_P1/ref_A26/light_ind,
$TabContainer/ControlPanel/soc_P1/ref_A27/light_ind,
$TabContainer/ControlPanel/soc_P1/ref_A28/light_ind,
$TabContainer/ControlPanel/soc_P1/ref_A29/light_ind,
$TabContainer/ControlPanel/soc_y5/ref_A24/light_ind]
var j = int(not(dry_contact & (1 << i) == 0 and flag_yau_control))
if j == 0:
node_power_ind[i].button_pressed = true
@@ -172,12 +172,13 @@ func _on_data_received(data_from_yau_07):
var TMP = Constants.CONST_MIN_TEMP + (Constants.MAXIMUM_CODE_ADC - temperature_ukp_1) * Constants.TEMP
node_select1.set_node_text(1, i+1, '%d' % TMP)
for i in range(8): ## Мощность от УКП_2
var power_ukp_2 = data_from_yau_07.decode_u16(Constants.DataIndices.POWER_UKP_2 + 2 * i)
node_select2.set_node_text(0, i+1, '%d' % power_ukp_2)
for i_pow in range(8): ## Мощность от УКП_2
if len(data_from_yau_07) > Constants.DataIndices.POWER_UKP_2 + 2 * i_pow:
var power_ukp_2 = data_from_yau_07.decode_u16(Constants.DataIndices.POWER_UKP_2 + 2 * i_pow)
node_select2.set_node_text(0, i_pow+1, '%d' % power_ukp_2)
for row in range(8): ## Температура от УКП_2
if len(data_from_yau_07) > 79 + 2 * row:
if len(data_from_yau_07) > Constants.DataIndices.TEMPERATURE_UKP_2 + 2 * row:
var temperature_ukp_2 = data_from_yau_07.decode_u16(Constants.DataIndices.TEMPERATURE_UKP_2 + 2 * row)
var TMP = Constants.CONST_MIN_TEMP + (Constants.MAXIMUM_CODE_ADC - temperature_ukp_2) * Constants.TEMP
node_select2.set_node_text(1, row+1, '%d' % TMP)
@@ -218,7 +219,7 @@ func on_btn_select(intem_from_sector: int) -> void:
var meta = get_select_device.get_item_metadata(intem_from_sector)
Network.on_command_change_device(meta)
flag_mode = meta[2]
draw_panel_prd(flag_mode)
draw_control_panel_prd(flag_mode)
func fill_item(node: Node, i_column: int, i_row: int, arr: Dictionary, select: int = 0) -> void: