add attenuathion

This commit is contained in:
2025-01-31 15:29:57 +03:00
parent 44ee7a50c8
commit 4620fc6984
4 changed files with 180 additions and 162 deletions

View File

@@ -14,14 +14,14 @@ var isa_from_yau07b: Dictionary = {}
func _ready() -> void:
# Таблица УКП_1
node_select1 = $TabContainer/PRD/table_ukp_1
node_select1 = $TabContainer/PRD/body_grid/litera_2_4_6/table_ukp_1
draw_tabl(node_select1, Constants.ROWS_REGS_DATA, Constants.ROWS_REGS_DATA.size())
node_select1.set_columns_min_size([120, 120])
node_select1.set_node_text(0, 0, 'Мощность')
node_select1.set_node_text(1, 0, 'Температура')
# Таблица УКП_2
node_select2 = $TabContainer/PRD/table_ukp_2
node_select2 = $TabContainer/PRD/body_grid/litera_3_5_7_1/table_ukp_2
draw_tabl(node_select2, Constants.ROWS_UKP2_DATA, Constants.ROWS_UKP2_DATA.size())
node_select2.set_columns_min_size([120, 120])
node_select2.set_node_text(0, 0, 'Мощность')
@@ -42,16 +42,16 @@ func _ready() -> void:
## Заполненение списка направления луча
for key in Constants.RAY_DICT:
$TabContainer/PRD/Grid/Ray_set.add_item(key)
$TabContainer/PRD/Grid/Ray_set2.add_item(key)
$TabContainer/PRD/body_grid/litera_2_4_6/yau_07b/Ray_set_1.add_item(key)
$TabContainer/PRD/body_grid/litera_3_5_7_1/yau_07b/Ray_set_2.add_item(key)
## Заполненение списка аттенюатора
for key in Constants.ATT_DICT:
$TabContainer/PRD/Grid/att_set_1.add_item(key)
$TabContainer/PRD/body_grid/litera_2_4_6/yau_07b/att_set_1.add_item(key)
$TabContainer/PRD/body_grid/litera_3_5_7_1/yau_07b/att_set_2.add_item(key)
draw_control_panel_prd(Constants.ADDRESSES[0][3])
Network.connect('yau_status_line', Callable(self, '_on_yau_status'))
Network.connect('yau_receive', Callable(self, '_on_data_received'))
Network.connect('yau_read_isa', Callable(self, '_on_read_isa'))
@@ -75,7 +75,7 @@ func _on_yau_status(yau_status: bool) -> void:
func _on_read_isa(unit_isa_ports: Dictionary) -> void:
isa_from_yau07b=unit_isa_ports
isa_from_yau07b = unit_isa_ports
var isa_data: Dictionary = {}
for key in unit_isa_ports.keys():
isa_data[key] = unit_isa_ports[key]
@@ -97,10 +97,9 @@ func _on_read_isa(unit_isa_ports: Dictionary) -> void:
$ISA.text = 'ISA: ' + str(len(Constants.EMS_G_PORT_DATA_HOLDER))
if isa_data.has(Constants.BASE_PORTS.UG+6):
$TabContainer/PRD/PSK/ray_1.material.set('shader_parameter/turn', 0.735 + 0.025 * isa_data[0x106])
$TabContainer/PRD/body_grid/litera_2_4_6/PSK/ray_1.material.set('shader_parameter/turn', 0.735 + 0.025 * (isa_data[0x106] & 0x7))
if isa_data.has(Constants.BASE_PORTS.UG+8):
$TabContainer/PRD/PSK2/ray_2.material.set('shader_parameter/turn', 0.735 + 0.025 * isa_data[0x108])
$TabContainer/PRD/body_grid/litera_3_5_7_1/PSK2/ray_2.material.set('shader_parameter/turn', 0.735 + 0.025 * (isa_data[0x108] & 0x7))
## Рисует таблицу
@@ -194,35 +193,35 @@ func fill_item(node: Node, i_column: int, i_row: int, arr: Dictionary, select: i
func _on_zapret1(toggled_on: bool) -> void:
var meta = $TabContainer/PRD/Grid/Zapret.get_meta('dev_num')
var meta = $TabContainer/PRD/body_grid/litera_2_4_6/yau_07b/Zapret.get_meta('dev_num')
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, meta)
var zapret_mode = 0x4000 if toggled_on else 0x0
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, zapret_mode)
func _on_zapret2(toggled_on: bool) -> void:
var meta = $TabContainer/PRD/Grid/Zapret2.get_meta('dev_num')
var meta = $TabContainer/PRD/body_grid/litera_3_5_7_1/yau_07b/Zapret2.get_meta('dev_num')
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, meta)
var zapret_mode = 0x4000 if toggled_on else 0x0
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, zapret_mode)
func _on_modul_um_1(toggled_on: bool):
var meta = $TabContainer/PRD/Grid/Modul_um_1.get_meta('dev_num')
var meta = $TabContainer/PRD/body_grid/litera_2_4_6/yau_07b/Modul_um_1.get_meta('dev_num')
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, meta)
var modul_um = 0x2000 if toggled_on else 0x0
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, modul_um)
func _on_modul_um_2(toggled_on: bool):
var meta = $TabContainer/PRD/Grid/Modul_um_2.get_meta('dev_num')
var meta = $TabContainer/PRD/body_grid/litera_3_5_7_1/yau_07b/Modul_um_2.get_meta('dev_num')
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, meta)
var modul_um = 0x2000 if toggled_on else 0x0
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, modul_um)
func _on_fgos_2(toggled_on: bool):
var meta = $TabContainer/PRD/Grid/fgos_2.get_meta('dev_num')
var meta = $TabContainer/PRD/body_grid/litera_3_5_7_1/yau_07b/fgos_2.get_meta('dev_num')
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, meta)
var modul_um = 0x2000 if toggled_on else 0x0
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, modul_um)
@@ -234,15 +233,26 @@ func _on_fgos_2(toggled_on: bool):
#var modul_um = 0x2000 if toggled_on else 0x0
#Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, modul_um)
## Регулировка положением луча 1
func _on_btn_ray(item_from_ray: int) -> void:
Network.write_port_isa(Constants.BASE_PORTS.UG+6, item_from_ray)
func _on_btn_ray_1(item_from_ray_1: int) -> void:
Network.write_port_isa(Constants.BASE_PORTS.UG+6, set_bits(isa_from_yau07b[Constants.BASE_PORTS.UG+6], item_from_ray_1, 7))
Network.read_port_isa([Constants.BASE_PORTS.UG+6])
## Регулировка положением луча 2
func _on_btn_ray2(item_from_ray: int) -> void:
Network.write_port_isa(Constants.BASE_PORTS.UG+8, item_from_ray)
func _on_btn_ray_2(item_from_ray_2: int) -> void:
Network.write_port_isa(Constants.BASE_PORTS.UG+8, set_bits(isa_from_yau07b[Constants.BASE_PORTS.UG+8], item_from_ray_2, 7))
Network.read_port_isa([Constants.BASE_PORTS.UG+8])
func _on_attenuator_1(item_from_att_1: int) -> void:
Network.write_port_isa(Constants.BASE_PORTS.UG+6, set_bits(isa_from_yau07b[Constants.BASE_PORTS.UG+6], item_from_att_1 << 3, 0x38))
Network.read_port_isa([Constants.BASE_PORTS.UG+6])
func _on_attenuator_2(item_from_att_1: int) -> void:
Network.write_port_isa(Constants.BASE_PORTS.UG+8, set_bits(isa_from_yau07b[Constants.BASE_PORTS.UG+8], item_from_att_1 << 3, 0x38))
Network.read_port_isa([Constants.BASE_PORTS.UG+8])
@@ -250,12 +260,6 @@ func _on_read_isa_pressed() -> void:
Network.read_port_isa([Constants.BASE_PORTS.EMS_G+2, Constants.BASE_PORTS.EMS_G+4, Constants.BASE_PORTS.EMS_G+8])
func _on_attenuator_1(item_from_att_1: int) -> void:
print(isa_from_yau07b)
Network.write_port_isa(Constants.BASE_PORTS.UG+6, item_from_att_1)
#print(item_from_att_1)
## Устанавливает биты в соответствии с маской
## [param v] - Прежние значения бит
## [param a] - Новые значения бит

View File

@@ -185,10 +185,10 @@ const SIGNS_PRD: Array = [
],
]
var NODE_MAP = {
'TabContainer/PRD/Grid/Zapret': 0,
'TabContainer/PRD/Grid/Zapret2': 1,
'TabContainer/PRD/Grid/LABEL': 3,
'TabContainer/PRD/Grid/LABEL2': 4,
'TabContainer/PRD/body_grid/litera_2_4_6/yau_07b/Zapret': 0,
'TabContainer/PRD/body_grid/litera_3_5_7_1/yau_07b/Zapret2': 1,
'TabContainer/PRD/body_grid/litera_2_4_6/yau_07b/LABEL': 3,
'TabContainer/PRD/body_grid/litera_3_5_7_1/yau_07b/LABEL2': 4,
'TabContainer/ControlPanel/Signal_EMS_G/ref_A22': 5,
'TabContainer/ControlPanel/Signal_EMS_G/ref_A23': 6,
'TabContainer/ControlPanel/Signal_EMS_G/ref_A26': 7,

View File

@@ -92,7 +92,7 @@ func _ready() -> void:
unit.connect('line_changed', Callable(self, 'on_line_changed'))
unit.connect('command_fail', Callable(self, 'on_command_fail'))
connect_fs()
read_port_isa([0x106])
read_port_isa([0x106, 0x108])
func _process(delta: float) -> void: