Доработка. Режим Тренаж

This commit is contained in:
sasha80
2025-10-08 15:50:51 +03:00
parent 7677fe4332
commit 7fc9b96ec4
6 changed files with 36 additions and 4 deletions

View File

@@ -90,6 +90,7 @@ var cu: Dictionary ## Словарь воздействий для 5
var thrs_dict: Dictionary ## Ссылка на словарь целей
var auto_enabled: bool = false ## Режим автомата
var emit_enable: bool = true ## Разрешить излучение
var trenazh_mode: bool = false ## Переключение режима Тренаж
## Сеанс помехи.
class Interfer:
@@ -189,6 +190,7 @@ func _ready() -> void:
signaller.connect('full_auto', Callable(self, 'on_full_auto'))
signaller.connect('interfer_prinuditelno', Callable(self, 'on_interfer_prinuditelno'))
signaller.connect('emit_changed', Callable(self, 'on_emit_changed').bind(ecms))
signaller.connect('режим_тренаж', on_trenazh_mode)
threats.connect('threat_lost', Callable(self, 'on_threats_lost').bind(ecms, unit_caps))
threats.connect('threats_resized', Callable(self, 'on_threats_resized'))
threats.connect('threat_update', Callable(self, 'on_threats_update').bind(ecms, unit_caps))
@@ -196,6 +198,9 @@ func _ready() -> void:
unit_nav.connect('data_received', on_nav_data_received.bind(unit_caps))
func on_trenazh_mode(val: bool): trenazh_mode = val
func on_nav_data_received(coords: Dictionary, unit_caps):
var ship_time = Time.get_datetime_dict_from_system()
var data_to_json = {
@@ -238,7 +243,7 @@ func on_th_aoa_update(threats: Dictionary, ecms: Dictionary, unit_instance) -> v
ecm.kni = thr.aoa
send_ecm(ecm, unit_instance)
signaller.emit_signal('fs_update_color', ecms)
prd.update_fs_state(ecms)
prd.update_fs_state(ecms, trenazh_mode)
if not auto_enabled:
return

View File

@@ -318,7 +318,7 @@ func find_fs_index(aoa: float, freq: int, fs_index_arr: Array):
## Обновление состояния модулей формирователя сигналов
func update_fs_state(ecms):
func update_fs_state(ecms, trenaz_mode: bool):
for fs in fs_dict.values(): ## Запрет модуляции для всех ФС
fs.set_modulation(false)
for ecm in ecms.values(): ## Выставление состояния помехи в ФС
@@ -330,7 +330,8 @@ func update_fs_state(ecms):
for prd_module in prd_dict.values(): ## Отправка команды на исполнение в ПРД
if prd_module.state != PrdState.WORK: continue
if not prd_module.unit_yau07.online: continue
prd_module.cmd_array.append([prd_module.unit_yau07.CmdCode.WRITE_ISA, [prd_module.yemsg_board.base_addr_isa, 6666]])
if not trenaz_mode:
prd_module.cmd_array.append([prd_module.unit_yau07.CmdCode.WRITE_ISA, [prd_module.yemsg_board.base_addr_isa, 6666]])
var um_data_array: Array = []
for fs in prd_module.fs_dic.values():
if not prd_module.ug_online: continue

View File

@@ -34,6 +34,9 @@ signal режим_эмс()
## Вызывается при переходе в режим [b]Настройка[/b].
signal режимастройки()
## Вызывается при включении/отключении режима [b]Тренаж[/b].[br]
## [param val] - [b]true[/b] тренаж включён.
signal режимренаж(val: bool)
## Вызывается, когда оператор переводит программу в режим [b]Автомат выбора цели и помехи[/b].
signal full_auto()