diff --git a/scenes/эмс/yems-devs.gd b/scenes/эмс/yems-devs.gd index cd17514f..32000d46 100644 --- a/scenes/эмс/yems-devs.gd +++ b/scenes/эмс/yems-devs.gd @@ -7,7 +7,6 @@ class InDev: var connector: String ## Номер разъёма в приборе. var delay: float ## Задержка фронта импульса. var offset: float ## Смещение фронта импульса. - var state: int ## Состояние входа. var freq: int ## Предполагаемая частота на которой работает комплекс. var ports_data: Dictionary ## Словарь состояния портов устройства. var tbl_row_id: int ## Индекс устройства в таблице. @@ -16,6 +15,14 @@ class InDev: var board: String ## Плата в которой находится устройство. var isa_addr: int ## Адрес устройства на шине isa + + @export var state: int: ## Состояние входа. + set(val): + if val != state: + state = val + signaller.call_deferred('emit_signal', 'yems_input_changed', id, val) + + func _init(dev_id : int, params : Array, row_id : int, base_addr: int): id = dev_id dev_name = String(params[0]) diff --git a/scripts/signaller.gd b/scripts/signaller.gd index 46fbe23d..10a18f85 100644 --- a/scripts/signaller.gd +++ b/scripts/signaller.gd @@ -11,6 +11,12 @@ func conn(sgnl: Signal, clbl: Callable): connect(sgnl.get_name(), clbl) func emmit(sgnl: Signal): emit_signal(sgnl.get_name()) +## Вызывается при изменении состояния входа ЭМС +## [param id] - идентификатор входа ЭМС +## [param state] - новое состояние входа ЭМС +signal yems_input_changed(id: int, state: int) + + ## Вызывается при обнаружение ошибки последовательного порта signal serial_error()