diff --git a/scripts/FS.gd b/scripts/FS.gd index 11e45f5..a1f4219 100644 --- a/scripts/FS.gd +++ b/scripts/FS.gd @@ -129,31 +129,6 @@ class FGOS: i += 1 emit_signal('data_received', self) - - #var GRP = data.decode_u8(0x0) - #var CMD = data.decode_u8(0x1) - #match CMD: - #Constants.CMD.READ_CARRIER: - #if GRP == Constants.GROUP.BASE: - #$manage_panel/get_freq/freq_ind.text = str(data.decode_u64(0xC)) + ' Гц' - #Constants.CMD.READ_ATT: - #if GRP == Constants.GROUP.RF: - #$manage_panel/get_att/att_ind.text = '-' + str(data.decode_float(0x18)) + ' dB' - #Constants.CMD.READ_GEN_STATUS: - #if GRP == Constants.GROUP.GENERATOR: - #if data.decode_u32(0xC) == 0: - #$manage_panel/get_gen_status/status_ind.text = 'Включен' - #$manage_panel/get_gen_status/status_ind.modulate = Color.GREEN - #else: - #$manage_panel/get_gen_status/status_ind.text = 'Выключен' - #$manage_panel/get_gen_status/status_ind.modulate = Color.RED - #Constants.CMD.BASE_GET_CURRENT_TEMP: - #if GRP == Constants.GROUP.BASE: - #$temp_1.text = '%.2f' % data.decode_float(0xC) + ' °C' - #$temp_2.text = str(data.decode_float(0x10)) + ' °C' - #$temp_3.text = str(data.decode_float(0x14)) + ' °C' - #$read.text = str(data.hex_encode()) - func start_session(): counter = 0 diff --git a/scripts/PRD.gd b/scripts/PRD.gd index adfe5f7..e4a7d03 100644 --- a/scripts/PRD.gd +++ b/scripts/PRD.gd @@ -2,7 +2,7 @@ extends Node2D signal read_ems_g_start() signal read_ems_g_finish() -var unit_fs = Fs.FGOS.new() +var unit_fs_1 = Fs.FGOS.new() var flag_mode = Constants.ADDRESSES[0][3] var broadcast_packet: PackedByteArray var node_select1: Node @@ -74,9 +74,9 @@ func _ready() -> void: node_select_fs_1.set_node_text(1, 0, 'Литера_2') node_select_fs_1.set_node_text(0, 1, 'Состояние') node_select_fs_1.set_node_text(0, 2, 'Частота') - node_select_fs_1.get_node2(1, 2).placeholder_text = '500' + #node_select_fs_1.get_node2(1, 2).placeholder_text = '500' node_select_fs_1.set_node_text(0, 3, 'Аттенюатор') - node_select_fs_1.get_node2(1, 3).editable = true + #node_select_fs_1.get_node2(1, 3).editable = true node_select_fs_1.set_node_text(0, 4, 'Генератор') node_select_fs_1.set_node_text(0, 5, 'fpga') node_select_fs_1.set_node_text(0, 6, 'СИ 2 от ФС') @@ -88,9 +88,10 @@ func _ready() -> void: node_select_fs_2.set_node_text(1, 0, 'Литера_3') node_select_fs_2.set_node_text(0, 1, 'Состояние') node_select_fs_2.set_node_text(0, 2, 'Частота') - node_select_fs_2.get_node2(1, 2).placeholder_text = '500' + #node_select_fs_2.get_node2(1, 2).placeholder_text = '500' node_select_fs_2.set_node_text(0, 3, 'Аттенюатор') - node_select_fs_2.get_node2(1, 3).editable = true + #node_select_fs_2.get_node2(1, 3).placeholder_text = '38.7' + #node_select_fs_2.get_node2(1, 3).d = true node_select_fs_2.set_node_text(0, 4, 'Генератор') node_select_fs_2.set_node_text(0, 5, 'fpga') node_select_fs_2.set_node_text(0, 6, 'СИ 3 от ФС') @@ -134,7 +135,6 @@ func _ready() -> void: Network.connect('yau_receive', Callable(self, '_on_data_received')) Network.connect('yau_read_isa', Callable(self, '_on_read_isa')) Network.connect('data_from_fs_1', Callable(self, '_on_data_fs_1')) - Network.connect('data_from_fs_2', Callable(self, '_on_data_fs_2')) node_select_yau_07b.get_node2(1, 1).get_child(1, false).connect('toggled', Callable(self, '_on_zapret1')) node_select_yau_07b.get_node2(1, 2).connect('item_selected', Callable(self, '_on_modul_um_1')) @@ -148,7 +148,6 @@ func _ready() -> void: node_select_yau_07b_2.get_node2(1, 5).get_child(1, false).connect('toggled', Callable(self, '_on_fgos_2')) node_select_fs_1.get_node2(1, 4).get_child(1, false).connect('toggled', Callable(self, '_on_get_status_1')) - node_select_fs_2.get_node2(1, 4).get_child(1, false).connect('toggled', Callable(self, '_on_get_status_2')) func draw_control_panel_prd(mode) -> void: @@ -411,7 +410,6 @@ func on_btn_select(intem_from_sector: int) -> void: flag_mode = meta[2] draw_control_panel_prd(flag_mode) _on_start_fs_1() - _on_start_fs_2() func _on_zapret1(toggled_on: bool) -> void: @@ -514,32 +512,21 @@ func set_bits(v, a, m): func _on_start_fs_1(): - unit_fs.start_session() - unit_fs.base_get_current_temp() - - -func _on_start_fs_2(): - unit_fs.start_session() - unit_fs.base_get_current_temp() + unit_fs_1.start_session() + unit_fs_1.base_get_current_temp() func _on_get_status_1(toggled_btn): var inverted_state = not toggled_btn - unit_fs.set_gen_state(inverted_state) - unit_fs.get_gen_state() - - -func _on_get_status_2(toggled_btn): - var inverted_state = not toggled_btn - unit_fs.set_gen_state(inverted_state) - unit_fs.get_gen_state() + unit_fs_1.set_gen_state(inverted_state) + unit_fs_1.get_gen_state() func _on_set_ferq(): var freq = int($set_space/write_to_set_freq.get_text()) * 1_000_000 - unit_fs.set_carrier(freq) + unit_fs_1.set_carrier(freq) func _on_set_att(): var att = float($set_space/write_to_set_att.get_text()) - unit_fs.set_att_batch(att) + unit_fs_1.set_att_batch(att) diff --git a/scripts/constants.gd b/scripts/constants.gd index 11fe86a..8705ffd 100644 --- a/scripts/constants.gd +++ b/scripts/constants.gd @@ -12,9 +12,10 @@ const TableNode = preload("res://table/node.tscn") const TableList = preload("res://table/node_list.tscn") const Switch = preload("res://table/switch.tscn") const SocketStatus = preload("res://table/socket_status.tscn") +const Header = preload("res://table/header.tscn") const SELECT_DEVICE: Array = [[TableNode, TableList]] const ROWS_REGS_DATA: Array = [ - [TableNode, TableNode], + [Header, Header], [TableNode, TableNode], [TableNode, TableNode], [TableNode, TableNode], @@ -22,7 +23,7 @@ const ROWS_REGS_DATA: Array = [ [TableNode, TableNode], [TableNode, TableNode]] const ROWS_YAU_07B_1: Array = [ - [TableNode, TableNode], + [Header, Header], [TableNode, Switch], [TableNode, TableList], [TableNode, TableList], @@ -30,7 +31,7 @@ const ROWS_YAU_07B_1: Array = [ [TableNode, TableNode], [TableNode, SocketStatus]] const ROWS_YAU_07B_2: Array = [ - [TableNode, TableNode], + [Header, Header], [TableNode, Switch], [TableNode, TableList], [TableNode, TableList], @@ -38,7 +39,7 @@ const ROWS_YAU_07B_2: Array = [ [TableNode, Switch], [TableNode, SocketStatus]] const ROWS_FS: Array = [ - [TableNode, TableNode, TableNode], + [Header, Header, Header], [TableNode, TableNode, TableNode], [TableNode, TableNode, TableNode], [TableNode, TableNode, TableNode], @@ -95,7 +96,7 @@ const OUT_EMS_G: Array = [ const OUT_x128: Array = [ 'Р', 'К', - '0', + 'Откл.', '1',] const RAY_DICT: Array = [ ' -5°', diff --git a/scripts/network.gd b/scripts/network.gd index ed952d6..cf8ad61 100644 --- a/scripts/network.gd +++ b/scripts/network.gd @@ -20,26 +20,19 @@ var state_fs = Constants.STATE.IDLE var client_fs_1: StreamPeer var peerstream_fs_1: PacketPeer -var ip_fs_2: String = Constants.ADDRESSES[0][5] -var command_stack_fs_2: Array -var state_fs_2 = Constants.STATE.IDLE -var client_fs_2: StreamPeer -var peerstream_fs_2: PacketPeer signal yau_status_line(_status) ## Вызывается когда меняется состояние связи с ячейкой signal yau_receive(_data_from_yau) signal yau_read_isa(_unit_isa_ports) signal data_send() -signal data_send_2() signal data_from_fs_1(data:PackedByteArray) -signal data_from_fs_2(data:PackedByteArray) signal port_opened(port_name: String) -signal port_opened_2(port_name: String) signal port_closed(port_name: String) signal port_error(error_str: String) + ## Класс для отправки данных в сокет class Socket extends PacketPeerUDP: func send_to(addr: String, port: int, data: PackedByteArray): @@ -86,27 +79,6 @@ func poll_receive_fs(client: StreamPeerTCP): state_fs = Constants.STATE.DONE -func poll_receive_fs_2(client: StreamPeerTCP): - client.poll() - var peer = peerstream_fs_2.get_stream_peer() - # Проверяем, существует ли соединение - if not peer: - emit_signal("port_fs_2_error", ip_fs_2) - return - # Проверяем состояние подключения - if client.get_status() != StreamPeerTCP.STATUS_CONNECTED: - emit_signal("port_closed_fs_2", ip_fs_2) - return - - if peer.get_available_bytes() > 0: - var rx_data: PackedByteArray - rx_data.append_array(peer.get_data(peer.get_available_bytes())[1]) - emit_signal("data_from_fs_2", rx_data) - emit_signal("port_opened_fs_2", ip_fs_2) - if state_fs_2 == Constants.STATE.SEND: - state_fs_2 = Constants.STATE.DONE - - func _ready() -> void: # Привязка для принятия широковещательного канала soc_brodcast = Socket.new() @@ -132,8 +104,6 @@ func _process(delta: float) -> void: if client_fs_1: poll_receive_fs(client_fs_1) - #if client_fs_2: - #poll_receive_fs_2(client_fs_2) poll_receive_yau07(soc_brodcast) poll_receive_yau07(soc_unicast) @@ -196,10 +166,9 @@ func on_command_change_device(meta_device): ip_address_yau = meta_device[0] ip_port_yau = meta_device[1] ip_fs_1 = meta_device[3] - ip_fs_2 = meta_device[4] + #ip_fs_2 = meta_device[4] #ip_fs_3 = meta_device[5] connect_fs() - connect_fs_2() func state_machine_fs(): @@ -240,44 +209,3 @@ func disconnect_fs(client_for_leave): client_for_leave.disconnect_from_host() state_fs = Constants.STATE.IDLE command_stack = [] - - - -func state_machine_fs_2(): - if client_fs_2: - ## State fs machine - if (state_fs_2 == Constants.STATE.IDLE) or (state_fs_2 == Constants.STATE.DONE): - if command_stack_fs_2: - var pack: Array = command_stack_fs_2.pop_front() - send_data_fs_2(pack) - state_fs_2 = Constants.STATE.SEND - - -# Подключится к модулю ФС -func connect_fs_2(): - if client_fs_2: - disconnect_fs_2(client_fs_2) - - client_fs_2 = StreamPeerTCP.new() - peerstream_fs_2 = PacketPeerStream.new() - var rc = client_fs_2.connect_to_host(ip_fs_2, Constants.PORT_FS) - if rc!= Error.OK: - emit_signal("port_error", ip_fs_2) - else: - peerstream_fs_2.set_stream_peer(client_fs_2) - - -# Отправить команду для ФС -func send_data_fs_2(data_to_sand: PackedByteArray): - if client_fs_2.get_status() == 2: - var peer = peerstream_fs_2.get_stream_peer() - if peer: - peer.put_data(data_to_sand) - emit_signal("data_send_2") - - -# Разорвать соединение с ФС -func disconnect_fs_2(client_for_leave): - client_for_leave.disconnect_from_host() - state_fs_2 = Constants.STATE.IDLE - command_stack = [] diff --git a/table/header.tscn b/table/header.tscn index 76a059d..881917e 100644 --- a/table/header.tscn +++ b/table/header.tscn @@ -1,9 +1,16 @@ [gd_scene load_steps=2 format=3 uid="uid://ch14g46swx74h"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2thpi"] -bg_color = Color(0.8, 0.403922, 0.27451, 1) +bg_color = Color(0.611765, 0.109804, 0.262745, 0.615686) +corner_radius_top_left = 2 +corner_radius_top_right = 2 +corner_radius_bottom_right = 2 +corner_radius_bottom_left = 2 +shadow_size = 2 +shadow_offset = Vector2(2, 2) [node name="heder" type="Label"] +custom_minimum_size = Vector2(0, 30) offset_right = 128.0 offset_bottom = 23.0 theme_override_colors/font_color = Color(0, 0, 0, 1) diff --git a/table/node.tscn b/table/node.tscn index a417ee8..01c02b1 100644 --- a/table/node.tscn +++ b/table/node.tscn @@ -10,28 +10,13 @@ corner_radius_bottom_right = 3 corner_radius_bottom_left = 3 [node name="Label" type="LineEdit"] -texture_filter = 2 -texture_repeat = 2 -clip_contents = true -layout_direction = 2 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -offset_top = -103.0 -offset_right = 75.0 -offset_bottom = 137.0 -grow_horizontal = 2 -grow_vertical = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 +offset_right = 70.75 +offset_bottom = 32.0 focus_mode = 0 -mouse_default_cursor_shape = 0 theme_override_colors/font_uneditable_color = Color(1, 1, 1, 1) theme_override_font_sizes/font_size = 17 -theme_override_styles/read_only = SubResource("StyleBoxFlat_q1ixs") theme_override_styles/normal = SubResource("StyleBoxFlat_q1ixs") alignment = 1 -caret_blink = true caret_blink_interval = 0.5 [node name="ColorRect" type="ColorRect" parent="."]