class_name base_unit extends Node ## Базовый класс для управления подключаемыми устройствами class Unit: signal line_changed(unit) ## Вызывается при изменении состояния связи signal command_done(unit) ## Вызывается после успешного выполнения команды. signal command_fail(unit) ## Вызывается если возникла ошибка при выполнении команды и команда не выполнена. signal parse_failed(unit) ## Вызывается при обнаружении ошибки во входных данных signal data_received(data: PackedByteArray) ## Вызывается по приёму данных var tx_data: = PackedByteArray() ## Буфер отправленный. var tx_len: int = 0 ## Длина последнего отправленного пакета. var tx_tick: int = 0 var rx_tick: int = 0 var online: bool = false var name: String = '<устройство>' func _init(nm) -> void: self.name = nm func _to_string() -> String: return String('устройство: %s %s' % [self.name, ['отключен', 'на связи'][int(online)]])