Рефактор.

This commit is contained in:
sasha80
2023-09-05 14:15:21 +03:00
parent 7444109bf1
commit 8de59e41b5
2 changed files with 18 additions and 18 deletions

View File

@@ -43,7 +43,7 @@ class YaU07:
var online = false ## Состояние связи с ячейкой
var status: = PackedByteArray() ## Поле "состояние прибора"
var tick = 0.0 ## Текущее тик-время в мс
var tx_data: = [] ## Буфер отправленный
var tx_data: = PackedByteArray() ## Буфер отправленный
var tx_len = 0 ## Длина последнего отправленного пакета
func _to_string() -> String: return String('яу07: %s %s' % [self.name, ['отключен', 'на связи'][int(online)]])
@@ -81,7 +81,7 @@ class YaU07:
return rc
func send_isa(cmd_code: int, ports_data: PackedByteArray) -> bool:
func send_isa(cmd_code: int, ports_data: Array) -> bool:
if (cmd_state == CmdState.WAIT) \
or (cmd_state == CmdState.SEND) \
or (cmd_state == CmdState.UNCK):
@@ -102,7 +102,7 @@ class YaU07:
var i: = 0
for word in ports_data:
Tools.set_wordi(tx_data, 8 + i, word)
tx_data.encode_u16(8 + i, word)
i += 2
cmd_state = CmdState.SEND
return true
@@ -126,7 +126,7 @@ class YaU07:
return rx_data[cmd_code_pos] # "код команды"
func parse_isa(rx_data, status_len) -> bool:
func parse_isa(rx_data: PackedByteArray, status_len) -> bool:
var ports_count_pos = status_len + 10 # Положение в приёмном буфере количества портов
if rx_data.size() < ports_count_pos:
return false
@@ -139,11 +139,11 @@ class YaU07:
var i: = 0
while i < ports_count:
var shift: = i * 4
var isa_addr = Tools.ibytes_to_word(rx_data, addr_pos + shift) # Адрес порта ISA яу-07
var isa_data = Tools.ibytes_to_word(rx_data, data_pos + shift) # Данные порта ISA яу-07
var isa_addr = rx_data.decode_u16(addr_pos + shift) # Адрес порта ISA яу-07
var isa_data = rx_data.decode_u16(data_pos + shift) # Данные порта ISA яу-07
isa_ports[isa_addr] = isa_data
i += 1
cmd_data = rx_data.subarray(addr_pos, (addr_pos + ports_count * 4) - 1)
cmd_data = rx_data.slice(addr_pos, (addr_pos + ports_count * 4) - 1)
return i > 0
@@ -162,11 +162,11 @@ class YaU07:
if rx_data_len < 11:
return false
cmd_num_rx = Tools.ibytes_to_word(rx_data, 2)
cmd_num_rx = rx_data.decode_u16(2)
if cmd_state == CmdState.UNCK:
cmd_state = CmdState.DONE
var status_len = Tools.ibytes_to_word(rx_data, 6) # Длина массива байтового "состояние прибора"
var status_len = rx_data.decode_u16(6) # Длина массива байтового "состояние прибора"
if rx_data_len < (status_len + 6):
return false
var i: = 0