Обновленная версия фс
This commit is contained in:
@@ -96,6 +96,8 @@ class ClientFs extends Node:
|
||||
var send_count: int = 0
|
||||
var missed_packets: int = 0
|
||||
var online: bool = false ## Состояние связи с ФС
|
||||
var command_done: bool = true
|
||||
var currecnt_command: Array = [GROUP.BASE, CmdCode.START_SESSION]
|
||||
|
||||
func _init(nm):
|
||||
self.self_name = nm
|
||||
@@ -133,9 +135,10 @@ class ClientFs extends Node:
|
||||
print_debug("Error getting data from stream: ", data[0])
|
||||
emit_signal("error_connect")
|
||||
else:
|
||||
#parse_data(data[1])
|
||||
parse_data(data[1])
|
||||
emit_signal("data_fs", data[1])
|
||||
if not command_stack.is_empty():
|
||||
|
||||
if not command_stack.is_empty() and command_done:
|
||||
send_fs_data()
|
||||
|
||||
func connect_to_host(host: String, port: int) -> void:
|
||||
@@ -148,6 +151,7 @@ class ClientFs extends Node:
|
||||
command_stack = []
|
||||
counter = 0
|
||||
send_count = 0
|
||||
command_done = true
|
||||
if _stream.connect_to_host(host, port) != OK:
|
||||
print_debug("Error connecting to host.")
|
||||
emit_signal("error_connect")
|
||||
@@ -163,15 +167,6 @@ class ClientFs extends Node:
|
||||
return final_crc
|
||||
|
||||
func _form_packet(group: int, cmd: int, index_size: int, data = null) -> PackedByteArray:
|
||||
var previous_count = send_count
|
||||
send_count = counter
|
||||
print([self_name, previous_count, counter])
|
||||
if previous_count != 0 && (counter - previous_count) != 1:
|
||||
var skipped = counter - previous_count - 1
|
||||
missed_packets += skipped
|
||||
print_debug("ALARM: Пропущено %d пакетов (было: %d, стало: %d)" % [skipped, previous_count, counter])
|
||||
print_debug("Группа: %d, Команда: %d" % [group, cmd])
|
||||
|
||||
# Формируем пакет
|
||||
var packet = PackedByteArray()
|
||||
packet.resize(index_size)
|
||||
@@ -194,8 +189,11 @@ class ClientFs extends Node:
|
||||
if _status != _stream.STATUS_CONNECTED:
|
||||
print("Send_fs_data Error: Stream is not currently connected.")
|
||||
return false
|
||||
|
||||
var error: int = _stream.put_data(command_stack.pop_front())
|
||||
var send_packet = command_stack.pop_front()
|
||||
currecnt_command[0] = send_packet.decode_u8(GROUP_OFFSET)
|
||||
currecnt_command[1] = send_packet.decode_u8(CMD_OFFSET)
|
||||
command_done = false
|
||||
var error: int = _stream.put_data(send_packet)
|
||||
if error != OK:
|
||||
print("Error writing to stream: ", error)
|
||||
return false
|
||||
@@ -203,9 +201,10 @@ class ClientFs extends Node:
|
||||
|
||||
# Приемник данных от ФС
|
||||
func parse_data(data_from_fs: PackedByteArray) -> void:
|
||||
print_debug('Принял пакет от ФС: %s' % data_from_fs)
|
||||
var _GRP = data_from_fs.decode_u8(0x0)
|
||||
var _CMD = data_from_fs.decode_u8(0x1)
|
||||
var GRP = data_from_fs.decode_u8(0x0)
|
||||
var CMD = data_from_fs.decode_u8(0x1)
|
||||
if GRP == currecnt_command[0] and CMD == currecnt_command[1]:
|
||||
command_done = true
|
||||
|
||||
func start_session():
|
||||
command_stack = []
|
||||
|
||||
1
scripts/FS.gd.uid
Normal file
1
scripts/FS.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://c71cpdbr0mai8
|
||||
1
scripts/PRD.gd.uid
Normal file
1
scripts/PRD.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://ba6evmqccy62x
|
||||
@@ -54,18 +54,18 @@ const ROWS_FS: Array = [
|
||||
[TableNode, TableNode, TableNode],
|
||||
[TableNode, Switch, 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', ''],
|
||||
['ПРД-Н3', '10.1.1.31', 50031, MODE.PRD_H, '10.1.2.50', '10.1.2.51', ''],
|
||||
['ПРД-Н4', '10.1.1.41', 50041, MODE.PRD_H, '10.1.2.66', '10.1.2.67', ''],
|
||||
['ПРД-В1', '10.1.1.12', 50012, MODE.PRD_B, '10.1.2.20', '10.1.2.21', ''],
|
||||
['ПРД-В2', '10.1.1.22', 50022, MODE.PRD_B, '10.1.2.36', '10.1.2.37', ''],
|
||||
['ПРД-В3', '10.1.1.32', 50032, MODE.PRD_B, '10.1.2.52', '10.1.2.53', ''],
|
||||
['ПРД-В4', '10.1.1.42', 50042, MODE.PRD_B, '10.1.2.68', '10.1.2.69', ''],
|
||||
['ПРД-К1', '10.1.1.13', 50013, MODE.PRD_K, '10.1.2.22', '10.1.2.23', '10.1.2.17'],
|
||||
['ПРД-К2', '10.1.1.23', 50023, MODE.PRD_K, '10.1.2.38', '10.1.2.39', '10.1.2.33'],
|
||||
['ПРД-К3', '10.1.1.33', 50033, MODE.PRD_K, '10.1.2.54', '10.1.2.55', '10.1.2.49'],
|
||||
['ПРД-К4', '10.1.1.43', 50043, MODE.PRD_K, '10.1.2.70', '10.1.2.71', '10.1.2.65']]
|
||||
['ПРД-Н1', '10.1.1.11', 50011, MODE.PRD_H, '10.1.2.12', '10.1.2.13', ''],
|
||||
['ПРД-Н2', '10.1.1.21', 50021, MODE.PRD_H, '10.1.2.22', '10.1.2.23', ''],
|
||||
['ПРД-Н3', '10.1.1.31', 50031, MODE.PRD_H, '10.1.2.32', '10.1.2.33', ''],
|
||||
['ПРД-Н4', '10.1.1.41', 50041, MODE.PRD_H, '10.1.2.42', '10.1.2.43', ''],
|
||||
['ПРД-В1', '10.1.1.12', 50012, MODE.PRD_B, '10.1.2.14', '10.1.2.15', ''],
|
||||
['ПРД-В2', '10.1.1.22', 50022, MODE.PRD_B, '10.1.2.24', '10.1.2.25', ''],
|
||||
['ПРД-В3', '10.1.1.32', 50032, MODE.PRD_B, '10.1.2.34', '10.1.2.35', ''],
|
||||
['ПРД-В4', '10.1.1.42', 50042, MODE.PRD_B, '10.1.2.44', '10.1.2.45', ''],
|
||||
['ПРД-К1', '10.1.1.13', 50013, MODE.PRD_K, '10.1.2.26', '10.1.2.17', '10.1.2.11'],
|
||||
['ПРД-К2', '10.1.1.23', 50023, MODE.PRD_K, '10.1.2.36', '10.1.2.27', '10.1.2.21'],
|
||||
['ПРД-К3', '10.1.1.33', 50033, MODE.PRD_K, '10.1.2.56', '10.1.2.37', '10.1.2.31'],
|
||||
['ПРД-К4', '10.1.1.43', 50043, MODE.PRD_K, '10.1.2.76', '10.1.2.47', '10.1.2.41']]
|
||||
const INPUT_EMS_G: Array = [
|
||||
'01 :34',
|
||||
'02 :35',
|
||||
|
||||
1
scripts/constants.gd.uid
Normal file
1
scripts/constants.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://7jms4dbunfm3
|
||||
1
scripts/control_panel.gd.uid
Normal file
1
scripts/control_panel.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cfqdq0o4203w6
|
||||
1
scripts/ems_g.gd.uid
Normal file
1
scripts/ems_g.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://vt613axjqlht
|
||||
@@ -193,7 +193,7 @@ func setup_fs(unit_fs: Node, meta_device: Array) -> void:
|
||||
if not unit_fs.online:
|
||||
return
|
||||
|
||||
await _setup_fs_device(unit_fs, freq, att)
|
||||
_setup_fs_device(unit_fs, freq, att)
|
||||
|
||||
|
||||
func _find_device_address(address: String, start_idx: int, end_idx: int) -> String:
|
||||
@@ -210,14 +210,13 @@ func _get_att_value(device: String, is_unit_fs1: bool) -> float:
|
||||
# Асинхронная настройка модуля
|
||||
func _setup_fs_device(unit_fs: Node, freq: int, att: float) -> void:
|
||||
unit_fs.set_gen_state(false)
|
||||
await get_tree().create_timer(0.3).timeout
|
||||
unit_fs.get_gen_state()
|
||||
unit_fs.set_gen_state(true)
|
||||
await get_tree().create_timer(0.3).timeout
|
||||
unit_fs.set_carrier(freq * 1_000_000)
|
||||
unit_fs.set_att_batch(att)
|
||||
unit_fs.get_carrier()
|
||||
unit_fs.get_att_batch()
|
||||
unit_fs.get_base_current_temp()
|
||||
unit_fs.get_base_can_macro()
|
||||
unit_fs.status_can_macro_exec(true)
|
||||
unit_fs.get_gen_state()
|
||||
|
||||
1
scripts/network.gd.uid
Normal file
1
scripts/network.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dfqlaahd5qrmg
|
||||
1
scripts/nine-patch-button.gd.uid
Normal file
1
scripts/nine-patch-button.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://d1ouumqv510su
|
||||
1
scripts/switch.gd.uid
Normal file
1
scripts/switch.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bgkbufd7o7ayy
|
||||
1
scripts/yau07.gd.uid
Normal file
1
scripts/yau07.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://w3mde4pxhufu
|
||||
1
scripts/кассета.gd.uid
Normal file
1
scripts/кассета.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://djwdj3fmhrxxg
|
||||
1
scripts/прибор.gd.uid
Normal file
1
scripts/прибор.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dp33khafq6hgu
|
||||
Reference in New Issue
Block a user