From 4d36f646427d6c145f583c6ece306906a1749885 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Thu, 24 Oct 2024 14:52:36 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0.=20=D0=A4=D0=BE=D1=80=D0=BC=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D1=81=D0=B0=20=D0=B4=D0=BB=D1=8F=20=D0=A1=D0=9F=D0=A2-25?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/pribor-uyep/pribor-uyep.tscn | 2 -- scripts/spt25.gd | 21 +++++++++++++++++---- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/scenes/pribor-uyep/pribor-uyep.tscn b/scenes/pribor-uyep/pribor-uyep.tscn index 769ff93..ffa096e 100644 --- a/scenes/pribor-uyep/pribor-uyep.tscn +++ b/scenes/pribor-uyep/pribor-uyep.tscn @@ -80,7 +80,6 @@ offset_left = 15.0 offset_top = 275.0 offset_right = 225.0 offset_bottom = 367.0 -state2 = 0 [node name="spt25_A2" parent="." instance=ExtResource("6_60xs3")] layout_mode = 0 @@ -115,4 +114,3 @@ offset_left = 15.0 offset_top = 275.0 offset_right = 225.0 offset_bottom = 367.0 -state2 = 0 diff --git a/scripts/spt25.gd b/scripts/spt25.gd index 6616f05..b515288 100644 --- a/scripts/spt25.gd +++ b/scripts/spt25.gd @@ -4,16 +4,29 @@ class_name spt25_unit extends Node class SPT25 extends unit.Unit: var tx_tick: int = 0 - - func _init(nm) -> void: self.name = nm + var req_period = 3000 func _to_string() -> String: return String('СПТ-25: %s %s' % [self.name, ['отключен', 'на связи'][int(online)]]) + func _init(nm) -> void: + self.name = nm + tx_data.resize(8) + tx_data[0] = 0x7e # Флаги синхронизации пакета + tx_data[1] = 0 # Адрес абонента, которому предназначен пакет + tx_data[2] = 4 # Тип пакета, КОД КОМАНДЫ - Получить информацию о состоянии преобразователя + tx_data[3] = 0 # Данные + tx_data[4] = 0 # Данные + tx_data[5] = 0 # Данные + tx_data[6] = 0 # Контрольная сумма + tx_data[7] = 0x7e # Флаги синхронизации пакета + func parse(rx_data: PackedByteArray): if not self.online: self.online = true emit_signal('line_changed', self) emit_signal('data_received', rx_data) - func process(delta: float): - pass + tick += delta + if (tick - tx_tick) > req_period: + return Error.OK + return Error.ERR_BUSY