Чистка. Пока не нужно

This commit is contained in:
sasha80
2025-09-11 16:26:12 +03:00
parent 9ba277a84e
commit aca8eb7ee4
2 changed files with 3 additions and 29 deletions

View File

@@ -27,7 +27,7 @@ class SocketSerial extends SerialPort:
tx_buffer.resize(256)
func send_to(data: PackedByteArray):
tx_buffer[0] = 0x7e
"""tx_buffer[0] = 0x7e
var i: = 1
for v in data:
if v != 0x7e:
@@ -42,7 +42,7 @@ class SocketSerial extends SerialPort:
tx_buffer.encode_u16(i, v_sum)
i += 2
tx_buffer[i] = FLAG
i += 1
i += 1"""
# Эта последовательность для запроса состояния, получена от разработчиков СПТ-25
const tx_tula = [0x7e, 0x01, 0x04, 0xbb, 0x50, 0x7e]
write_raw(tx_tula)

View File

@@ -13,35 +13,9 @@ class SPT25 extends unit.Unit:
func _to_string() -> String: return String('СПТ-25 %s %s' % [self.name, ['отключен', 'на связи'][int(online)]])
##Вычисление контрольной суммы
func sciCalcFCS(src: PackedByteArray) -> int:
var P_DIV = 0
var ln = src[0]
var FCS = ~((src[2]<<8) + src[1])
for i in range(3, ln):
var C = src[i]
for j in 8:
if C & 1:
if FCS & 1:
FCS = ((FCS >> 1) | 0x8000)^P_DIV
else:
FCS = ((FCS >> 1) | 0x8000)
else:
if FCS & 1:
FCS = (FCS >> 1) ^ P_DIV
else:
FCS = FCS >> 1
C >>= 1
for j in 16:
if FCS & 1:
FCS = (FCS >> 1) ^ P_DIV
else:
FCS = FCS >> 1
return ~FCS
func _init(nm) -> void:
self.name = nm
tx_data.resize(5)
tx_data.resize(6)
tx_data[0] = 0 # Адрес абонента, которому предназначен пакет
tx_data[1] = CmdCode.INFO # Тип пакета, КОД КОМАНДЫ - Получить информацию о состоянии преобразователя
tx_data[2] = 0 # Данные