From 077bdb40f4816149f55eac95974148eb28f2a1b1 Mon Sep 17 00:00:00 2001 From: Maxim Date: Fri, 7 Feb 2025 15:31:16 +0300 Subject: [PATCH] add command --- PRD_MP550.tscn | 13 +++++++ scripts/FS.gd | 43 +++++++++++++++------ scripts/PRD.gd | 74 +++++++++++++++++++++++++----------- scripts/constants.gd | 4 +- scripts/network.gd | 90 +++++++++++++++++++++++++++----------------- 5 files changed, 157 insertions(+), 67 deletions(-) diff --git a/PRD_MP550.tscn b/PRD_MP550.tscn index 3c6c464..37c7fd0 100644 --- a/PRD_MP550.tscn +++ b/PRD_MP550.tscn @@ -770,6 +770,7 @@ metadata/_edit_lock_ = true [node name="win_load" type="TextureButton" parent="TabContainer/EMS_G/load_boadr"] material = SubResource("ShaderMaterial_cm644") +layout_mode = 0 offset_left = 730.0 offset_top = 311.0 offset_right = 830.0 @@ -947,6 +948,18 @@ offset_bottom = 827.0 theme = SubResource("Theme_yblys") text = "Сохранить все настройки" +[node name="can_macro" type="Label" parent="."] +offset_left = 226.0 +offset_top = 876.0 +offset_right = 1055.0 +offset_bottom = 916.0 + +[node name="can" type="Label" parent="."] +offset_left = 224.0 +offset_top = 844.0 +offset_right = 959.0 +offset_bottom = 889.0 + [connection signal="pressed" from="Background/side_panel/select_prd" to="." method="_on_prd_select"] [connection signal="pressed" from="Background/side_panel/select_control" to="." method="_on_control_button"] [connection signal="pressed" from="Background/side_panel/select_ems_g" to="." method="_on_emsg_select"] diff --git a/scripts/FS.gd b/scripts/FS.gd index dddf9a2..a8e32c6 100644 --- a/scripts/FS.gd +++ b/scripts/FS.gd @@ -8,14 +8,16 @@ const RETRY_COUNT = 5 ## Количество повторных отпр class FGOS: ## Коды выполняемых команд enum CmdCode { - START_SESSION = 0x0, - READ_CARRIER = 0x1F, - SET_CARRIER = 0x1E, - READ_ATT = 0x1A, - SET_ATT = 0x1B, - READ_GEN_STATUS = 0x05, - SET_GEN_STATUS = 0x06, - BASE_GET_CURRENT_TEMP = 0x36, + START_SESSION = 0x0, ## Команда начала сессии + READ_CARRIER = 0x1F, ## Команда получение несущей частоты + SET_CARRIER = 0x1E, ## Команда установки несущей частоты + READ_ATT = 0x1A, ## Команда чтения аттенюации + SET_ATT = 0x1B, ## Команда установки аттенюации + READ_GEN_STATUS = 0x05, ## Команда получения статуса генератора + SET_GEN_STATUS = 0x06, ## Команда установки статуса генератора + BASE_GET_CURRENT_TEMP = 0x36, ## Команда получения температуры + BASE_CAN_MACRO_WRITE = 0x30, ## Команда для записи последовательности CAN-команд + BASE_CAN_MACRO_READ = 0x33, ## Команда для чтения последовательности CAN-команд } enum GROUP { @@ -164,10 +166,23 @@ class FGOS: var index_size = 0x1C var packet = _form_packet(GROUP.RF, CmdCode.SET_ATT, index_size, counter) packet.encode_u16(0x8, 0x10) - packet.encode_float(0x18, attenuation) + packet.encode_float(0x14, attenuation) send_packet_to(packet, client) - + + func set_base_can_macro(installation_can_frequency: int, counter: int, client: StreamPeer): + var index_size = 0x34 + var packet = _form_packet(GROUP.BASE, CmdCode.BASE_CAN_MACRO_WRITE, index_size, counter) + packet.encode_u16(0x08, 0x28) + packet.encode_u8(0x1C, 0x01) + packet.encode_u8(0x1D, 0x42) + packet.encode_u8(0x1F, 0x04) + packet.encode_u16(0x20, installation_can_frequency) + packet.encode_u16(0x28, 0x2aff) + packet.encode_u8(0x2B, 0x04) + send_packet_to(packet, client) + + func get_carrier(counter: int, client: StreamPeer): var packet = _form_packet(GROUP.BASE, CmdCode.READ_CARRIER, INDEX_SIZE, counter) send_packet_to(packet, client) @@ -183,6 +198,12 @@ class FGOS: send_packet_to(packet, client) - func base_get_current_temp(counter: int, client: StreamPeer): + func get_base_current_temp(counter: int, client: StreamPeer): var packet = _form_packet(GROUP.BASE, CmdCode.BASE_GET_CURRENT_TEMP, INDEX_SIZE, counter) send_packet_to(packet, client) + + + func get_base_can_macro(counter: int, client: StreamPeer): + var packet = _form_packet(GROUP.BASE, CmdCode.BASE_CAN_MACRO_READ, INDEX_SIZE, counter) + send_packet_to(packet, client) + diff --git a/scripts/PRD.gd b/scripts/PRD.gd index 67f0e26..5108417 100644 --- a/scripts/PRD.gd +++ b/scripts/PRD.gd @@ -83,6 +83,9 @@ func _ready() -> void: 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 от ФС') + node_select_fs_1.set_node_text(0, 7, 'Фильтр CAN') + node_select_fs_1.get_node2(1, 7).placeholder_text = 'в МГц' + node_select_fs_1.get_node2(1, 7).editable = true var node_select_fs_2 = $TabContainer/PRD/body_grid/litera_3_5_7/fs_control draw_tabl(node_select_fs_2, Constants.ROWS_FS, Constants.ROWS_FS.size()) @@ -99,6 +102,9 @@ func _ready() -> void: 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 от ФС') + node_select_fs_2.set_node_text(0, 7, 'Фильтр CAN') + node_select_fs_2.get_node2(1, 7).placeholder_text = 'в МГц' + node_select_fs_2.get_node2(1, 7).editable = true # Выбор прибора для подключения var node_select_device = $TabContainer/PRD/select_dev @@ -144,25 +150,27 @@ func _ready() -> void: Network.connect('port_fs_closed_2', _on_port_changed_fs_2.bind(Color.CRIMSON)) Network.connect('data_from_fs_1', _on_data_fs_1) Network.connect('data_from_fs_2', _on_data_fs_2) - + ## Yau-07b 1 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')) node_select_yau_07b.get_node2(1, 3).connect('item_selected', Callable(self, '_on_btn_ray_1')) node_select_yau_07b.get_node2(1, 4).connect('item_selected', Callable(self, '_on_attenuator_1')) - + ## Yau-07b 2 node_select_yau_07b_2.get_node2(1, 1).get_child(1, false).connect('toggled', Callable(self, '_on_zapret2')) node_select_yau_07b_2.get_node2(1, 2).connect('item_selected', Callable(self, '_on_modul_um_2')) node_select_yau_07b_2.get_node2(1, 3).connect('item_selected', Callable(self, '_on_btn_ray_2')) node_select_yau_07b_2.get_node2(1, 4).connect('item_selected', Callable(self, '_on_attenuator_2')) node_select_yau_07b_2.get_node2(1, 5).get_child(1, false).connect('toggled', Callable(self, '_on_fgos_2')) - + ## FS 1 node_select_fs_1.get_node2(1, 4).get_child(1, false).connect('toggled', Callable(self, '_on_get_status_1')) - node_select_fs_1.get_node2(1, 3).connect('text_submitted', Callable(self, '_on_set_att_1')) node_select_fs_1.get_node2(1, 2).connect('text_submitted', Callable(self, '_on_set_ferq_1')) - + node_select_fs_1.get_node2(1, 3).connect('text_submitted', Callable(self, '_on_set_att_1')) + node_select_fs_1.get_node2(1, 7).connect('text_submitted', Callable(self, '_on_set_base_can_macro')) + ## FS 2 node_select_fs_2.get_node2(1, 4).get_child(1, false).connect('toggled', Callable(self, '_on_get_status_2')) - node_select_fs_2.get_node2(1, 3).connect('text_submitted', Callable(self, '_on_set_att_2')) node_select_fs_2.get_node2(1, 2).connect('text_submitted', Callable(self, '_on_set_ferq_2')) + node_select_fs_2.get_node2(1, 3).connect('text_submitted', Callable(self, '_on_set_att_2')) + node_select_fs_2.get_node2(1, 7).connect('text_submitted', Callable(self, '_on_set_base_can_macro_2')) func draw_control_panel_prd(pribor) -> void: @@ -286,15 +294,24 @@ 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/body_grid/litera_2_4_6/yau07b_control.get_node2(1, 3).select(isa_data[0x106] & 0x7) - $TabContainer/PRD/body_grid/litera_2_4_6/yau07b_control.get_node2(1, 4).select((isa_data[0x106] & 0x38)>> 3) - $TabContainer/PRD/body_grid/litera_2_4_6/PSK/ray_1.material.set('shader_parameter/turn', 0.735 + 0.025 * (isa_data[0x106] & 0x7)) - $TabContainer/PRD/body_grid/litera_2_4_6/PSK/ray_1.material.set('shader_parameter/inner_radius', 0.8 - 0.01 * (isa_data[0x106] & 0x38)) + $TabContainer/PRD/body_grid/litera_2_4_6/yau07b_control.get_node2(1, 3).select(isa_data[Constants.BASE_PORTS.UG+6] & 0x7) + $TabContainer/PRD/body_grid/litera_2_4_6/yau07b_control.get_node2(1, 4).select((isa_data[Constants.BASE_PORTS.UG+6] & 0x38)>> 3) + $TabContainer/PRD/body_grid/litera_2_4_6/PSK/ray_1.material.set('shader_parameter/turn', 0.735 + 0.025 * (isa_data[Constants.BASE_PORTS.UG+6] & 0x7)) + $TabContainer/PRD/body_grid/litera_2_4_6/PSK/ray_1.material.set('shader_parameter/inner_radius', 0.8 - 0.01 * (isa_data[Constants.BASE_PORTS.UG+6] & 0x38)) if isa_data.has(Constants.BASE_PORTS.UG+8): - $TabContainer/PRD/body_grid/litera_3_5_7/yau07b_control.get_node2(1, 3).select(isa_data[0x108] & 0x7) - $TabContainer/PRD/body_grid/litera_3_5_7/yau07b_control.get_node2(1, 4).select((isa_data[0x108] & 0x38)>>3) - $TabContainer/PRD/body_grid/litera_3_5_7/PSK2/ray_2.material.set('shader_parameter/turn', 0.735 + 0.025 * (isa_data[0x108] & 0x7)) - $TabContainer/PRD/body_grid/litera_3_5_7/PSK2/ray_2.material.set('shader_parameter/inner_radius', 0.8 - 0.01 * (isa_data[0x108] & 0x38)) + $TabContainer/PRD/body_grid/litera_3_5_7/yau07b_control.get_node2(1, 3).select(isa_data[Constants.BASE_PORTS.UG+8] & 0x7) + $TabContainer/PRD/body_grid/litera_3_5_7/yau07b_control.get_node2(1, 4).select((isa_data[Constants.BASE_PORTS.UG+8] & 0x38)>>3) + $TabContainer/PRD/body_grid/litera_3_5_7/PSK2/ray_2.material.set('shader_parameter/turn', 0.735 + 0.025 * (isa_data[Constants.BASE_PORTS.UG+8] & 0x7)) + $TabContainer/PRD/body_grid/litera_3_5_7/PSK2/ray_2.material.set('shader_parameter/inner_radius', 0.8 - 0.01 * (isa_data[Constants.BASE_PORTS.UG+8] & 0x38)) + + if isa_data.has(Constants.BASE_PORTS.EMS_G+2): + print(isa_data[Constants.BASE_PORTS.EMS_G+2]) + if (isa_data[Constants.BASE_PORTS.EMS_G+2]== 48): + if (isa_data[Constants.BASE_PORTS.EMS_G+8]>>14): + print(isa_data) + $TabContainer/PRD/body_grid/litera_2_4_6/yau07b_control.get_node2(1,1).get_child(1).button_pressed = true + else: + $TabContainer/PRD/body_grid/litera_2_4_6/yau07b_control.get_node2(1,1).get_child(1).button_pressed = false func _on_data_fs_1(fs_1_data): @@ -304,22 +321,26 @@ func _on_data_fs_1(fs_1_data): match CMD: Constants.CMD.READ_CARRIER: if GRP == Constants.GROUP.BASE: - node_select_fs_1.set_node_text(2, 2, str(fs_1_data.decode_u64(0xC)) + ' Гц') + node_select_fs_1.set_node_text(2, 2, str(fs_1_data.decode_u64(0xC) / 1_000_000) + ' МГц') Constants.CMD.READ_ATT: if GRP == Constants.GROUP.RF: - node_select_fs_1.set_node_text(2, 3, '-' + str(fs_1_data.decode_float(0x18)) + ' dB') + node_select_fs_1.set_node_text(2, 3, '-' + str(fs_1_data.decode_float(0x14)) + ' dB') Constants.CMD.READ_GEN_STATUS: if GRP == Constants.GROUP.GENERATOR: if fs_1_data.decode_u32(0xC) == 0: node_select_fs_1.set_node_text(2, 4, 'Включен') node_select_fs_1.get_node2(2, 4).modulate = Color.AQUAMARINE else: - node_select_fs_1.set_node_text(2, 4, 'Выключен') + node_select_fs_1.set_node_text(2, 4, 'Отключен') node_select_fs_1.get_node2(2, 4).modulate = Color.CRIMSON Constants.CMD.BASE_GET_CURRENT_TEMP: if GRP == Constants.GROUP.BASE: node_select_fs_1.set_node_text(1, 5, '%.2f' % fs_1_data.decode_float(0xC) + ' °C') - #$read.text = str(fs_1_data.hex_encode()) + Constants.CMD.BASE_CAN_MACRO_READ: + if GRP == Constants.GROUP.BASE: + node_select_fs_1.set_node_text(2, 7, str(fs_1_data.decode_u16(0x20)) + ' МГц') + $can.text = str(fs_1_data) + $can_macro.text = str(fs_1_data.decode_u32(0x04)) func _on_data_fs_2(fs_2_data): @@ -329,7 +350,7 @@ func _on_data_fs_2(fs_2_data): match CMD: Constants.CMD.READ_CARRIER: if GRP == Constants.GROUP.BASE: - node_select_fs_2.set_node_text(2, 2, str(fs_2_data.decode_u64(0xC)) + ' Гц') + node_select_fs_2.set_node_text(2, 2, str(fs_2_data.decode_u64(0xC) / 1_000_000) + ' МГц') Constants.CMD.READ_ATT: if GRP == Constants.GROUP.RF: node_select_fs_2.set_node_text(2, 3, '-' + str(fs_2_data.decode_float(0x18)) + ' dB') @@ -339,12 +360,15 @@ func _on_data_fs_2(fs_2_data): node_select_fs_2.set_node_text(2, 4, 'Включен') node_select_fs_2.get_node2(2, 4).modulate = Color.AQUAMARINE else: - node_select_fs_2.set_node_text(2, 4, 'Выключен') + node_select_fs_2.set_node_text(2, 4, 'Отключен') node_select_fs_2.get_node2(2, 4).modulate = Color.CRIMSON Constants.CMD.BASE_GET_CURRENT_TEMP: if GRP == Constants.GROUP.BASE: node_select_fs_2.set_node_text(1, 5, '%.2f' % fs_2_data.decode_float(0xC) + ' °C') - + Constants.CMD.BASE_CAN_MACRO_READ: + if GRP == Constants.GROUP.BASE: + node_select_fs_2.set_node_text(2, 7, str(fs_2_data.decode_u16(0x20)) + ' МГц') + ## Рисует таблицу func draw_tabl(tbl: Node, row: Array, count_row: int): @@ -635,6 +659,10 @@ func _on_set_att_1(att: String): Network.set_fs_attenuation(float(att)) +func _on_set_base_can_macro(can_freq: String): + Network.set_can_macro(int(can_freq)) + + ## 2 ФС func _on_port_changed_fs_2(port_name: String, color: Color) -> void: $TabContainer/PRD/body_grid/litera_3_5_7/fs_control.set_node_text(1, 1, port_name) @@ -656,3 +684,7 @@ func _on_set_ferq_2(freq: String): func _on_set_att_2(att: String): Network.set_fs_attenuation_2(float(att)) + + +func _on_set_base_can_macro_2(can_freq: String): + Network.set_can_macro_2(int(can_freq)) diff --git a/scripts/constants.gd b/scripts/constants.gd index bd33954..9913ca5 100644 --- a/scripts/constants.gd +++ b/scripts/constants.gd @@ -45,7 +45,8 @@ const ROWS_FS: Array = [ [TableNode, TableNode, TableNode], [TableNode, Switch, TableNode], [TableNode, TableNode, TableNode], - [TableNode, SocketStatus, TableNode]] + [TableNode, SocketStatus, TableNode], + [TableNode, TableNode, TableNode],] const ADDRESSES: Array = [ ['ПРД-Н1', '10.1.1.11', 50011, MODE.PRD_H, '10.1.2.18', '10.1.2.19', ''], ['ПРД-Н2', '10.1.1.21', 50021, MODE.PRD_H, '10.1.2.34', '10.1.2.35', ''], @@ -183,4 +184,5 @@ enum CMD { READ_GEN_STATUS = 0x05, SET_GEN_STATUS = 0x06, BASE_GET_CURRENT_TEMP = 0x36, + BASE_CAN_MACRO_READ = 0x33, } diff --git a/scripts/network.gd b/scripts/network.gd index 3f84ba0..37f7c8c 100644 --- a/scripts/network.gd +++ b/scripts/network.gd @@ -2,8 +2,7 @@ extends Node # ЯУ-07 Блок var unit = Yau07.YaU07.new('ЯУ-07Б') -var unit_fs_1 = Fs.FGOS.new() -#var unit_fs_2 = Fs.FGOS.new() +var unit_fs = Fs.FGOS.new() var soc_unicast: Socket var soc_brodcast: Socket var ip_address_yau: String = Constants.ADDRESSES[0][1] @@ -116,7 +115,7 @@ func _ready() -> void: unit.connect('command_fail', Callable(self, 'on_command_fail')) connect_fs_1() connect_fs_2() - read_port_isa([0x106, 0x108]) + read_port_isa([Constants.BASE_PORTS.UG+6, Constants.BASE_PORTS.UG+8, Constants.BASE_PORTS.EMS_G+8]) func _process(delta: float) -> void: @@ -203,13 +202,13 @@ func state_machine_fs(client_fs): if (state_fs == Constants.STATE.IDLE) or (state_fs == Constants.STATE.DONE): if command_stack: var pack: Array = command_stack.pop_front() - unit_fs_1.send_fs_data(pack, client_fs_1, peerstream_fs_1) + unit_fs.send_fs_data(pack, client_fs_1, peerstream_fs_1) state_fs = Constants.STATE.SEND if client_fs == client_fs_2: if (state_fs_2 == Constants.STATE.IDLE) or (state_fs_2 == Constants.STATE.DONE): if command_stack_2: var pack: Array = command_stack_2.pop_front() - unit_fs_1.send_fs_data(pack, client_fs_2, peerstream_fs_2) + unit_fs.send_fs_data(pack, client_fs_2, peerstream_fs_2) state_fs_2 = Constants.STATE.SEND @@ -236,42 +235,53 @@ func disconnect_fs(client_for_leave): func start_work_fs(): counter_fs_1 = 0 - unit_fs_1.start_session(counter_fs_1, client_fs_1) + unit_fs.start_session(counter_fs_1, client_fs_1) counter_fs_1 += 1 - unit_fs_1.get_gen_state(counter_fs_1, client_fs_1) + unit_fs.get_gen_state(counter_fs_1, client_fs_1) counter_fs_1 += 1 - unit_fs_1.get_att_batch(counter_fs_1, client_fs_1) + unit_fs.get_att_batch(counter_fs_1, client_fs_1) counter_fs_1 += 1 - unit_fs_1.get_carrier(counter_fs_1, client_fs_1) + unit_fs.get_carrier(counter_fs_1, client_fs_1) counter_fs_1 += 1 - unit_fs_1.base_get_current_temp(counter_fs_1, client_fs_1) + unit_fs.get_base_current_temp(counter_fs_1, client_fs_1) + counter_fs_1 += 1 + unit_fs.get_base_can_macro(counter_fs_1, client_fs_1) counter_fs_1 += 1 func get_fs_gen_status(state_gen): - unit_fs_1.set_gen_state(state_gen, counter_fs_1, client_fs_1) + unit_fs.set_gen_state(state_gen, counter_fs_1, client_fs_1) counter_fs_1 += 1 - unit_fs_1.get_gen_state(counter_fs_1, client_fs_1) + unit_fs.get_gen_state(counter_fs_1, client_fs_1) counter_fs_1 += 1 - unit_fs_1.base_get_current_temp(counter_fs_1, client_fs_1) + unit_fs.get_base_current_temp(counter_fs_1, client_fs_1) counter_fs_1 += 1 func set_fs_ferq_carrier(freq: int): - unit_fs_1.set_carrier(freq, counter_fs_1, client_fs_1) + unit_fs.set_carrier(freq, counter_fs_1, client_fs_1) counter_fs_1 += 1 - unit_fs_1.base_get_current_temp(counter_fs_1, client_fs_1) + unit_fs.get_base_current_temp(counter_fs_1, client_fs_1) counter_fs_1 += 1 - unit_fs_1.get_carrier(counter_fs_1, client_fs_1) + unit_fs.get_carrier(counter_fs_1, client_fs_1) counter_fs_1 += 1 func set_fs_attenuation(attenuation: float): - unit_fs_1.set_att_batch(attenuation, counter_fs_1, client_fs_1) + unit_fs.set_att_batch(attenuation, counter_fs_1, client_fs_1) counter_fs_1 += 1 - unit_fs_1.get_att_batch(counter_fs_1, client_fs_1) + unit_fs.get_att_batch(counter_fs_1, client_fs_1) counter_fs_1 += 1 - unit_fs_1.base_get_current_temp(counter_fs_1, client_fs_1) + unit_fs.get_base_current_temp(counter_fs_1, client_fs_1) + counter_fs_1 += 1 + + +func set_can_macro(can_frequency: int): + unit_fs.set_base_can_macro(can_frequency, counter_fs_1, client_fs_1) + counter_fs_1 += 1 + unit_fs.get_base_current_temp(counter_fs_1, client_fs_1) + counter_fs_1 += 1 + unit_fs.get_base_can_macro(counter_fs_1, client_fs_1) counter_fs_1 += 1 @@ -299,39 +309,51 @@ func disconnect_fs_2(client_for_leave): func start_work_fs_2(): counter_fs_2 = 0 - unit_fs_1.start_session(counter_fs_2, client_fs_2) + unit_fs.start_session(counter_fs_2, client_fs_2) counter_fs_2 += 1 - unit_fs_1.get_gen_state(counter_fs_2, client_fs_2) + unit_fs.get_gen_state(counter_fs_2, client_fs_2) counter_fs_2 += 1 - unit_fs_1.get_att_batch(counter_fs_2, client_fs_2) + unit_fs.get_att_batch(counter_fs_2, client_fs_2) counter_fs_2 += 1 - unit_fs_1.get_carrier(counter_fs_2, client_fs_2) + unit_fs.get_carrier(counter_fs_2, client_fs_2) counter_fs_2 += 1 - unit_fs_1.base_get_current_temp(counter_fs_2, client_fs_2) + unit_fs.get_base_current_temp(counter_fs_2, client_fs_2) counter_fs_2 += 1 -# + unit_fs.get_base_can_macro(counter_fs_2, client_fs_2) + counter_fs_2 += 1 + + func get_fs_gen_status_2(state_gen): - unit_fs_1.set_gen_state(state_gen, counter_fs_2, client_fs_2) + unit_fs.set_gen_state(state_gen, counter_fs_2, client_fs_2) counter_fs_2 += 1 - unit_fs_1.get_gen_state(counter_fs_2, client_fs_2) + unit_fs.get_gen_state(counter_fs_2, client_fs_2) counter_fs_2 += 1 - unit_fs_1.base_get_current_temp(counter_fs_2, client_fs_2) + unit_fs.get_base_current_temp(counter_fs_2, client_fs_2) counter_fs_2 += 1 func set_fs_ferq_carrier_2(freq: int): - unit_fs_1.set_carrier(freq, counter_fs_2, client_fs_2) + unit_fs.set_carrier(freq, counter_fs_2, client_fs_2) counter_fs_2 += 1 - unit_fs_1.base_get_current_temp(counter_fs_2, client_fs_2) + unit_fs.get_base_current_temp(counter_fs_2, client_fs_2) counter_fs_2 += 1 - unit_fs_1.get_carrier(counter_fs_2, client_fs_2) + unit_fs.get_carrier(counter_fs_2, client_fs_2) counter_fs_2 += 1 func set_fs_attenuation_2(attenuation: float): - unit_fs_1.set_att_batch(attenuation, counter_fs_2, client_fs_2) + unit_fs.set_att_batch(attenuation, counter_fs_2, client_fs_2) counter_fs_2 += 1 - unit_fs_1.get_att_batch(counter_fs_2, client_fs_2) + unit_fs.get_att_batch(counter_fs_2, client_fs_2) counter_fs_2 += 1 - unit_fs_1.base_get_current_temp(counter_fs_2, client_fs_2) + unit_fs.get_base_current_temp(counter_fs_2, client_fs_2) + counter_fs_2 += 1 + + +func set_can_macro_2(can_frequency: int): + unit_fs.set_base_can_macro(can_frequency, counter_fs_2, client_fs_2) + counter_fs_2 += 1 + unit_fs.get_base_current_temp(counter_fs_2, client_fs_2) + counter_fs_2 += 1 + unit_fs.get_base_can_macro(counter_fs_2, client_fs_2) counter_fs_2 += 1