From aca8eb7ee4e28a7588015faf5e42e340c990b529 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Thu, 11 Sep 2025 16:26:12 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A7=D0=B8=D1=81=D1=82=D0=BA=D0=B0.=20=D0=9F?= =?UTF-8?q?=D0=BE=D0=BA=D0=B0=20=D0=BD=D0=B5=20=D0=BD=D1=83=D0=B6=D0=BD?= =?UTF-8?q?=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/network.gd | 4 ++-- scripts/spt25.gd | 28 +--------------------------- 2 files changed, 3 insertions(+), 29 deletions(-) diff --git a/scripts/network.gd b/scripts/network.gd index ad04ee30..3f1f11f2 100644 --- a/scripts/network.gd +++ b/scripts/network.gd @@ -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) diff --git a/scripts/spt25.gd b/scripts/spt25.gd index 5e826f29..06639a6c 100644 --- a/scripts/spt25.gd +++ b/scripts/spt25.gd @@ -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 # Данные