Доработка. Добавление в таблицу помех контроля выходной мощности с усилителей.
This commit is contained in:
@@ -3,6 +3,7 @@ extends Node
|
||||
enum PrdState {WORK, CONTROL}
|
||||
|
||||
const TIME_YAU07_SEND = 50
|
||||
const MIN_UM_POWER = 200 ## минимальная мощность с усилителя, что бы отобразить значёк излучения
|
||||
|
||||
## Границы секторов блоков ФС по частоте в режиме РТО.
|
||||
const FS_BAND_RTO: Dictionary = {
|
||||
@@ -86,10 +87,10 @@ const FS_PRD: Dictionary = {
|
||||
26: ['уарэп-яу07-3к', 37],
|
||||
27: ['уарэп-яу07-2к', 27], }
|
||||
|
||||
var fs_dict: Dictionary ## Словарь с модулями ФС
|
||||
var prd_dict: Dictionary ## Словарь с приборами ПРД
|
||||
var course = 0.0 ## Курс корабля
|
||||
var fs_caps_id: Dictionary ## Словарь соответствия номеров ФС от КАПС РПБ внутрипрограммной нумерации
|
||||
var fs_dict: Dictionary ## Словарь с модулями ФС
|
||||
var prd_dict: Dictionary ## Словарь с приборами ПРД
|
||||
var course = 0.0 ## Курс корабля
|
||||
var fs_caps_id: Dictionary ## Словарь соответствия номеров ФС от КАПС РПБ внутрипрограммной нумерации
|
||||
|
||||
|
||||
class Fs:
|
||||
@@ -124,14 +125,17 @@ class Fs:
|
||||
var ready: bool = false ## Готовность сектора к излучению
|
||||
var caps_online: bool = false ## Состояние связи с КАПС РПБ
|
||||
var yau_07_online: bool = false ## Состояние связи ЯУ-07
|
||||
var lit: int ## Литера ФС
|
||||
var power: bool = false ## Признак излучения усилителей
|
||||
|
||||
signal update_modulation(index)
|
||||
|
||||
func _init(i, p_name):
|
||||
prd_name = p_name
|
||||
index = i
|
||||
if UM_PORTS.has(index/4):
|
||||
um_port = UM_PORTS[index/4]
|
||||
lit = index/4
|
||||
if UM_PORTS.has(lit):
|
||||
um_port = UM_PORTS[lit]
|
||||
|
||||
func set_modulation(val):
|
||||
modulation = val
|
||||
@@ -158,6 +162,14 @@ class Fs:
|
||||
func set_ready():
|
||||
ready = isg and caps_online and yau_07_online
|
||||
|
||||
func set_power(power_arr: Array):
|
||||
power = false
|
||||
for val in power_arr:
|
||||
if val > MIN_UM_POWER:
|
||||
power = true
|
||||
break
|
||||
|
||||
|
||||
class PRD:
|
||||
enum STATE_DEVICE {
|
||||
NONE,
|
||||
@@ -502,3 +514,13 @@ func on_yau07_line_changed(unit_yau07, prd_pribor):
|
||||
fs.yau_07_online = unit_yau07.online
|
||||
fs.set_ready()
|
||||
signaller.emit_signal('fs_update_state', fs_dict)
|
||||
|
||||
|
||||
func get_fs_power(nmfs: int):
|
||||
if not fs_caps_id.has(nmfs): return false
|
||||
var fs_index: int = fs_caps_id[nmfs]
|
||||
var prd_obj: PRD = prd_dict[FS_PRD[fs_index][0]]
|
||||
var fs: Fs = prd_obj.fs_dic[fs_index]
|
||||
var power_arr: Array = prd_obj.unit_control.power_um_ukp(prd_obj.unit_yau07.status, fs.lit + 1, [], true)
|
||||
fs.set_power(power_arr)
|
||||
return fs.power
|
||||
|
||||
Reference in New Issue
Block a user