Доработка УГ 0х10А порта
This commit is contained in:
@@ -78,11 +78,6 @@ func _initialize_timers() -> void:
|
||||
_timer = Timer.new()
|
||||
_timer.wait_time = 1.0 / 5.0
|
||||
_timer.timeout.connect(_on_broadcast_timeout)
|
||||
|
||||
# Таймер для частого опроса сокета (100 раз в секунду)
|
||||
#_poll_timer = Timer.new()
|
||||
#_poll_timer.wait_time = 0.05
|
||||
#_poll_timer.timeout.connect(_on_poll_timeout)
|
||||
|
||||
|
||||
func _initialize_ukp_data() -> void:
|
||||
@@ -138,17 +133,11 @@ func add_timers_to_scene(parent: Node) -> void:
|
||||
parent.add_child(_timer)
|
||||
elif _timer.get_parent() != parent:
|
||||
push_warning("Таймер broadcast уже добавлен в другую сцену")
|
||||
|
||||
#if not _poll_timer.get_parent():
|
||||
#parent.add_child(_poll_timer)
|
||||
#elif _poll_timer.get_parent() != parent:
|
||||
#push_warning("Таймер poll уже добавлен в другую сцену")
|
||||
|
||||
|
||||
func start_broadcast() -> void:
|
||||
"""Запуск широковещательной рассылки и опроса сокета"""
|
||||
_timer.start()
|
||||
#_poll_timer.start()
|
||||
print("Широковещательная рассылка запущена")
|
||||
|
||||
|
||||
@@ -453,7 +442,7 @@ func _handle_write_isa_command(data: PackedByteArray, address: String, port: int
|
||||
"""Обработка команды записи ISA портов"""
|
||||
var ports = _parse_command_ports(data)
|
||||
var data_to_write = _parse_command_ports_data(data)
|
||||
|
||||
print_debug('data_to_write: ', data_to_write)
|
||||
if ports.size() != data_to_write.size():
|
||||
push_warning("Несоответствие размеров портов и данных от %s:%d" % [address, port])
|
||||
return
|
||||
@@ -500,10 +489,16 @@ func _parse_command_ports(data: PackedByteArray) -> Array:
|
||||
return []
|
||||
|
||||
var ports = []
|
||||
for i in range(ports_count):
|
||||
var port_address = data.decode_u16(8 + i * 2)
|
||||
ports.append(port_address)
|
||||
print("Порт %d: 0x%03X" % [i, port_address])
|
||||
if data.decode_u8(6) == 0:
|
||||
for i in range(ports_count):
|
||||
var port_address = data.decode_u16(8 + i * 2)
|
||||
ports.append(port_address)
|
||||
print("Порт %d: 0x%03X" % [i, port_address])
|
||||
elif data.decode_u8(6) == 1:
|
||||
for i in range(ports_count):
|
||||
var port_address = data.decode_u16(8 + i * 4)
|
||||
ports.append(port_address)
|
||||
print("Порт %d: 0x%03X" % [i, port_address])
|
||||
|
||||
return ports
|
||||
|
||||
@@ -524,8 +519,7 @@ func _parse_command_ports_data(data: PackedByteArray) -> Array:
|
||||
if data_offset + i * 2 < data.size():
|
||||
var port_data = data.decode_u16(data_offset + i * 2)
|
||||
ports_data.append(port_data)
|
||||
print("Данные порта %d: 0x%04X" % [i, port_data])
|
||||
|
||||
print("Данные порта %d: 0x%03X" % [i, port_data])
|
||||
return ports_data
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user