diff --git a/scenes/frame-ecm-list/scroll-ecm-list.gd b/scenes/frame-ecm-list/scroll-ecm-list.gd index 702e849a..495e25c1 100644 --- a/scenes/frame-ecm-list/scroll-ecm-list.gd +++ b/scenes/frame-ecm-list/scroll-ecm-list.gd @@ -129,6 +129,10 @@ func on_interfer_off(ecm, ecms, thrs, table_index): interfer.cu.erase(ecm.ispp) interfer.fs.erase(ecm.ispp) interfer.push_id(ecm.ispp) + var sel_rows: Array + $table.get_selected_rows(sel_rows) + if not len(sel_rows): + signaller.emit_signal('interfer_selected', null) ## Перестраивает индекс таблицы. Вызывать при удалении строки diff --git a/scripts/prd.gd b/scripts/prd.gd index 789e3667..ff099628 100644 --- a/scripts/prd.gd +++ b/scripts/prd.gd @@ -37,6 +37,7 @@ const fs_freq: Dictionary = { 5: [2000.0, 3500.0, 450.0, 500.0, 2450.0], 6: [3500.0, 6000.0, 500.0, 550.0, 5800.0] } +## Названия приборов ПРД const prd_names: Array = [ 'уарэп-яу07-1н', 'уарэп-яу07-1в', @@ -51,6 +52,7 @@ const prd_names: Array = [ 'уарэп-яу07-4в', 'уарэп-яу07-4к', ] +## Соответствие модулей ФС их нахождуению в приборе ПРД const fs_prd: Dictionary = { 0: ['уарэп-яу07-1к'], 1: ['уарэп-яу07-4к'], @@ -81,8 +83,8 @@ const fs_prd: Dictionary = { 26: ['уарэп-яу07-3к'], 27: ['уарэп-яу07-2к'], } -var fs_dict: Dictionary -var prd_dict: Dictionary +var fs_dict: Dictionary ## Словарь с модулями ФС +var prd_dict: Dictionary ## Словарь с приборами ПРД class Fs: var index ## Индекс блока усилителей @@ -131,6 +133,7 @@ func _ready() -> void: fs.connect('update_modulation', prd_dict[fs.prd_name].on_update_modulation.bind(fs.index)) +## Функция возвращает массив с индексами модулей ФС для выбранной помехи func get_fs_index(ecm, fs_index_arr): var sector: int var band: Array @@ -148,16 +151,17 @@ func get_fs_index(ecm, fs_index_arr): fs_index_arr.append(item * 4 + sector) +## Обновление состояния модулей формирователя сигналов func update_fs_state(ecms): - for fs in fs_dict.values(): + for fs in fs_dict.values(): ## Запрет модуляции для всех ФС fs.set_modulation(false) - for ecm in ecms.values(): + for ecm in ecms.values(): ## Выставление состояния помехи в ФС var fs_ids: Array get_fs_index(ecm, fs_ids) for fs_index in fs_ids: var fs = fs_dict[fs_index] fs.set_modulation(ecm.modulation) - for prd_module in prd_dict.values(): + for prd_module in prd_dict.values(): ## Отправка команды на исполнение в ПРД if not prd_module.unit_yau07.online: continue for fs in prd_module.fs_dic.values(): var dev_mode = prd_module.yemsg_board.get_dev_mode(fs.index)