Merge remote-tracking branch 'origin/dev_maxim' into dev_danil
# Conflicts: # scripts/PRD.gd
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ func _ready() -> void:
|
||||
if args[i] == "testsave-path" and i + 1 < args.size():
|
||||
save_path = args[i + 1]
|
||||
break
|
||||
|
||||
# Таблица УКП_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())
|
||||
@@ -82,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())
|
||||
@@ -98,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
|
||||
@@ -112,8 +119,8 @@ 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)
|
||||
status_pribor = get_select_device.get_item_text(0).strip_edges().substr(4)
|
||||
@@ -144,24 +151,27 @@ func _ready() -> void:
|
||||
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 on_device_selected(selected_index: int) -> void:
|
||||
@@ -197,15 +207,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):
|
||||
@@ -215,22 +234,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):
|
||||
@@ -240,7 +263,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')
|
||||
@@ -250,11 +273,14 @@ 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)) + ' МГц')
|
||||
|
||||
|
||||
## Рисует таблицу
|
||||
@@ -407,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)
|
||||
@@ -545,6 +571,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)
|
||||
@@ -566,3 +596,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))
|
||||
|
||||
@@ -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', ''],
|
||||
@@ -100,9 +101,9 @@ const OUT_x128: Array = [
|
||||
'Р',
|
||||
'К',
|
||||
'Откл.',
|
||||
'1',]
|
||||
'1'
|
||||
]
|
||||
const RAY_DICT: Array = [
|
||||
' Контроль',
|
||||
' -5°',
|
||||
' 5°',
|
||||
' 15°',
|
||||
@@ -110,7 +111,7 @@ const RAY_DICT: Array = [
|
||||
' 35°',
|
||||
' 45°',
|
||||
' Контроль',
|
||||
]
|
||||
]
|
||||
const ATT_DICT: Array = [
|
||||
' 0 dB',
|
||||
' 0.5 dB',
|
||||
@@ -120,20 +121,18 @@ const ATT_DICT: Array = [
|
||||
' 8.5 dB',
|
||||
' 10 dB',
|
||||
' 10.5 dB',
|
||||
]
|
||||
|
||||
]
|
||||
enum BASE_PORTS {
|
||||
UG = 0x100,
|
||||
EMS_G = 0x120,
|
||||
UKP_1 = 0x130,
|
||||
UKP_2 = 0x140,
|
||||
}
|
||||
|
||||
enum MODE {
|
||||
PRD_K,
|
||||
PRD_B,
|
||||
PRD_H,
|
||||
}
|
||||
}
|
||||
enum Frame {
|
||||
WORK, ## В работе
|
||||
CONSTANT, ## Постоянный сигнал
|
||||
@@ -152,7 +151,7 @@ enum DataIndices {
|
||||
TEMPERATURE_UKP_1 = 47,
|
||||
POWER_UKP_2 = 63,
|
||||
TEMPERATURE_UKP_2 = 79,
|
||||
}
|
||||
}
|
||||
enum STATE {
|
||||
WAIT,
|
||||
READ_ISA,
|
||||
@@ -160,13 +159,12 @@ enum STATE {
|
||||
DONE,
|
||||
IDLE,
|
||||
SEND,
|
||||
}
|
||||
|
||||
}
|
||||
enum STATE_VAL {
|
||||
NONE = 0,
|
||||
GOOD = 1,
|
||||
ERROR = 2 }
|
||||
|
||||
ERROR = 2
|
||||
}
|
||||
var EMS_G_PORT_DATA_HOLDER: Array = []
|
||||
|
||||
const PORT_FS = 1201
|
||||
@@ -175,7 +173,7 @@ enum GROUP {
|
||||
BASE = 0x00,
|
||||
GENERATOR = 0x03,
|
||||
RF = 0x06,
|
||||
}
|
||||
}
|
||||
|
||||
enum CMD {
|
||||
START_SESSION = 0x0,
|
||||
@@ -186,4 +184,5 @@ enum CMD {
|
||||
READ_GEN_STATUS = 0x05,
|
||||
SET_GEN_STATUS = 0x06,
|
||||
BASE_GET_CURRENT_TEMP = 0x36,
|
||||
BASE_CAN_MACRO_READ = 0x33,
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -291,7 +301,7 @@ func connect_fs_2():
|
||||
|
||||
|
||||
# Разорвать соединение с ФС
|
||||
func disconnect_fs_2(client_for_leave):
|
||||
func disconnect_fs_2(client_for_leave: StreamPeer):
|
||||
client_for_leave.disconnect_from_host()
|
||||
state_fs_2 = Constants.STATE.IDLE
|
||||
command_stack_2 = []
|
||||
@@ -299,39 +309,56 @@ 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
|
||||
#
|
||||
func get_fs_gen_status_2(state_gen):
|
||||
unit_fs_1.set_gen_state(state_gen, counter_fs_2, client_fs_2)
|
||||
unit_fs.get_base_can_macro(counter_fs_2, client_fs_2)
|
||||
counter_fs_2 += 1
|
||||
unit_fs_1.get_gen_state(counter_fs_2, client_fs_2)
|
||||
|
||||
|
||||
func get_fs_gen_status_2(state_gen: bool):
|
||||
unit_fs.set_gen_state(state_gen, 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_gen_state(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
|
||||
|
||||
|
||||
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
|
||||
|
||||
|
||||
func can_macro_exec_2(state_can: bool):
|
||||
unit_fs.set_state_base_can_macro(state_can, counter_fs_2, client_fs_2)
|
||||
counter_fs_2 += 1
|
||||
|
||||
Reference in New Issue
Block a user