diff --git a/scenes/pribor-uyep/pribor-uyep.tscn b/scenes/pribor-uyep/pribor-uyep.tscn index 769ff93b..ffa096e3 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 6616f059..b515288e 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