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 # Данные