Доработка, обновления под новый протокол сопряжения.
This commit is contained in:
122
fs.gd
122
fs.gd
@@ -33,34 +33,34 @@ const LBLS_PARAM: Array = [
|
||||
const OPT_BTN_TEXT: Array = ['не исправно', 'исправно', 'не определено']
|
||||
# [номер сектора, номер литеры, номер ФС, координата x, координата y]
|
||||
const FS_PARAM = [
|
||||
[1, 1, 17, 0, 0],
|
||||
[1, 2, 19, 50, 0],
|
||||
[1, 3, 18, 100, 0],
|
||||
[1, 4, 20, 150, 0],
|
||||
[1, 5, 21, 200, 0],
|
||||
[1, 6, 22, 250, 0],
|
||||
[1, 7, 23, 300, 0],
|
||||
[2, 1, 33, 0, 50],
|
||||
[2, 2, 34, 50, 50],
|
||||
[2, 3, 35, 100, 50],
|
||||
[2, 4, 36, 150, 50],
|
||||
[2, 5, 37, 200, 50],
|
||||
[2, 6, 38, 250, 50],
|
||||
[2, 7, 39, 300, 50],
|
||||
[3, 1, 49, 0, 100],
|
||||
[3, 2, 51, 50, 100],
|
||||
[3, 3, 50, 100, 100],
|
||||
[3, 4, 52, 150, 100],
|
||||
[3, 5, 53, 200, 100],
|
||||
[3, 6, 54, 250, 100],
|
||||
[3, 7, 55, 300, 100],
|
||||
[4, 1, 65, 0, 150],
|
||||
[4, 2, 66, 50, 150],
|
||||
[4, 3, 67, 100, 150],
|
||||
[4, 4, 68, 150, 150],
|
||||
[4, 5, 69, 200, 150],
|
||||
[4, 6, 70, 250, 150],
|
||||
[4, 7, 71, 300, 150],
|
||||
[1, 1, 11, 0, 0],
|
||||
[1, 2, 12, 50, 0],
|
||||
[1, 3, 13, 100, 0],
|
||||
[1, 4, 14, 150, 0],
|
||||
[1, 5, 15, 200, 0],
|
||||
[1, 6, 16, 250, 0],
|
||||
[1, 7, 17, 300, 0],
|
||||
[2, 1, 21, 0, 50],
|
||||
[2, 2, 22, 50, 50],
|
||||
[2, 3, 23, 100, 50],
|
||||
[2, 4, 24, 150, 50],
|
||||
[2, 5, 25, 200, 50],
|
||||
[2, 6, 26, 250, 50],
|
||||
[2, 7, 27, 300, 50],
|
||||
[3, 1, 31, 0, 100],
|
||||
[3, 2, 32, 50, 100],
|
||||
[3, 3, 33, 100, 100],
|
||||
[3, 4, 34, 150, 100],
|
||||
[3, 5, 35, 200, 100],
|
||||
[3, 6, 36, 250, 100],
|
||||
[3, 7, 37, 300, 100],
|
||||
[4, 1, 41, 0, 150],
|
||||
[4, 2, 42, 50, 150],
|
||||
[4, 3, 43, 100, 150],
|
||||
[4, 4, 44, 150, 150],
|
||||
[4, 5, 45, 200, 150],
|
||||
[4, 6, 46, 250, 150],
|
||||
[4, 7, 47, 300, 150],
|
||||
]
|
||||
const MSG8_DATA = [
|
||||
['roll','Крен корабля, градусы:'],
|
||||
@@ -222,45 +222,42 @@ func set_fs(interfer: Interfers.Interfer):
|
||||
var lit: int
|
||||
var freq = interfer.get_val('freq')
|
||||
var width = interfer.get_val('width')
|
||||
if (freq == '') or (width == ''):
|
||||
var fs_item = null
|
||||
var ecm_name = interfer.options.krp
|
||||
if Interfers.INTERFER_NAMES.has(ecm_name):
|
||||
if ecm_name == Interfers.IQ_FL_NAME:
|
||||
var iq_fl_name = interfer.get_val('filename')
|
||||
if not iq_fl_name in Interfers.INTERFER_NAMES[Interfers.IQ_FL_NAME]:
|
||||
fs_of_old(interfer)
|
||||
return 2
|
||||
for i in range(len(BANDS)):
|
||||
if (float(freq) >= BANDS[i][0]) and (float(freq) <= BANDS[i][1]):
|
||||
lit = i+1
|
||||
|
||||
if (float(interfer.options['kni']) < 0) or (float(interfer.options['kni'] > 360)):
|
||||
fs_of_old(interfer)
|
||||
return 2
|
||||
for i in range(len(SECTORS)):
|
||||
if i < 1:
|
||||
if (float(interfer.options['kni']) >= SECTORS[i][0]) or (float(interfer.options['kni']) <= SECTORS[i][1]):
|
||||
sec = i+1
|
||||
else:
|
||||
if (float(interfer.options['kni']) >= SECTORS[i][0]) and (float(interfer.options['kni']) <= SECTORS[i][1]):
|
||||
sec = i+1
|
||||
var fs_arr: Array
|
||||
fs_arr = FS_PARAM.filter(func(item): return item[0] == sec)
|
||||
fs_arr = fs_arr.filter(func(item): return item[1] == lit)
|
||||
if len(fs_arr) > 0:
|
||||
var fs_num = fs_arr[0][2]
|
||||
if g_fs_dict[fs_num].isg == 1:
|
||||
if g_fs_dict[fs_num].interfer == null:
|
||||
g_fs_dict[fs_num].interfer = interfer
|
||||
if (interfer.active_fs != g_fs_dict[fs_num]) and (interfer.active_fs != null):
|
||||
fs_of_old(interfer)
|
||||
return 2
|
||||
if (freq == ''):
|
||||
fs_of_old(interfer)
|
||||
return 2
|
||||
if g_fs_dict.has(interfer.options['nmfs']):
|
||||
fs_item = g_fs_dict[interfer.options['nmfs']]
|
||||
else:
|
||||
fs_of_old(interfer)
|
||||
return 2
|
||||
if fs_item.isg == 1:
|
||||
if fs_item.interfer == null:
|
||||
fs_item.interfer = interfer
|
||||
if (interfer.active_fs != fs_item) and (interfer.active_fs != null):
|
||||
fs_off(interfer.active_fs)
|
||||
interfer.active_fs = g_fs_dict[fs_num]
|
||||
g_fs_dict[fs_num].pow = float(interfer.options['powp'])
|
||||
g_fs_dict[fs_num].freq = float(freq)
|
||||
g_fs_dict[fs_num].width = float(width)
|
||||
update_fs(g_fs_dict[fs_num], float(interfer.options['powp']), float(freq), float(width))
|
||||
g_fs_dict[fs_num].btn.set_texture_normal(btn_txr2)
|
||||
if g_active_fs == g_fs_dict[fs_num]:
|
||||
interfer.active_fs = fs_item
|
||||
fs_item.pow = float(interfer.options['powp'])
|
||||
fs_item.freq = float(freq)
|
||||
fs_item.width = float(width)
|
||||
update_fs(fs_item, float(interfer.options['powp']), float(freq), float(width))
|
||||
fs_item.btn.set_texture_normal(btn_txr2)
|
||||
if g_active_fs == fs_item:
|
||||
on_btn_fs(g_active_fs)
|
||||
return 1
|
||||
elif g_fs_dict[fs_num].interfer == interfer:
|
||||
update_fs(g_fs_dict[fs_num], float(interfer.options['powp']), float(freq), float(width))
|
||||
if g_active_fs == g_fs_dict[fs_num]:
|
||||
elif fs_item.interfer == interfer:
|
||||
update_fs(fs_item, float(interfer.options['powp']), float(freq), float(width))
|
||||
if g_active_fs == fs_item:
|
||||
on_btn_fs(g_active_fs)
|
||||
return 1
|
||||
else:
|
||||
@@ -269,9 +266,6 @@ func set_fs(interfer: Interfers.Interfer):
|
||||
else:
|
||||
fs_of_old(interfer)
|
||||
return 4
|
||||
else:
|
||||
fs_of_old(interfer)
|
||||
return 2
|
||||
|
||||
|
||||
func fs_of_old(interfer):
|
||||
|
||||
42
interfers.gd
42
interfers.gd
@@ -14,13 +14,13 @@ const TableCellType5 = preload('res://ячейка-2.tscn')
|
||||
const TableCellType6 = preload('res://кнопка-5.tscn')
|
||||
const TableHeader = preload('res://table/header.tscn')
|
||||
|
||||
# Индекс колонки: 0 1 2 3 4 5 6
|
||||
const TABLE_HEADERS = [ 'Индекс', 'Состояние', 'Помеха', 'Мощность', 'Кур. уг.', 'Частота', 'Ш. диап.']
|
||||
const TABLE_HEADER_TYPES = [ TableHeader, TableHeader, TableHeader, TableHeader, TableHeader, TableHeader, TableHeader]
|
||||
const TABLE_HEADER_ALIGNMENTS = [ HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER]
|
||||
const TABLE_ROW_TYPES = [ TableCellType1, TableCellType6, TableCellType1, TableCellType1, TableCellType1, TableCellType1, TableCellType1]
|
||||
const TABLE_ROW_ALIGNMENTS = [ HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER]
|
||||
const TABLE_COLUMN_SIZES = [ 82, 150, 82, 100, 82, 90, 150]
|
||||
# Индекс колонки: 0 1 2 3 4 5 6 7
|
||||
const TABLE_HEADERS = [ 'Индекс', 'Состояние', 'Помеха', 'Мощность', 'Кур. уг.', 'Частота', 'Ш. диап.', 'Номер ФС']
|
||||
const TABLE_HEADER_TYPES = [ TableHeader, TableHeader, TableHeader, TableHeader, TableHeader, TableHeader, TableHeader, TableHeader]
|
||||
const TABLE_HEADER_ALIGNMENTS = [ HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER]
|
||||
const TABLE_ROW_TYPES = [ TableCellType1, TableCellType6, TableCellType1, TableCellType1, TableCellType1, TableCellType1, TableCellType1, TableCellType1]
|
||||
const TABLE_ROW_ALIGNMENTS = [ HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER]
|
||||
const TABLE_COLUMN_SIZES = [ 82, 130, 100, 82, 82, 82, 82, 82]
|
||||
|
||||
const COLUMN_ISPP = 0 # Индекс сейанса постановки помехи
|
||||
const COLUMN_SVK = 1 # Состояние выполнения помехи
|
||||
@@ -29,7 +29,7 @@ const COLUMN_POWP = 3 # Мощность излучения
|
||||
const COLUMN_KNI = 4 # Курсовой угол
|
||||
const COLUMN_FREQ = 5 # Частота
|
||||
const COLUMN_WIDTH = 6 # Ширина диапазона
|
||||
|
||||
const COLUMN_NUM_FS = 7 # Номер модуля фс
|
||||
|
||||
# Индексы колонок, которым можно задавать выравнивание текста
|
||||
const TABLE_ALLIGNED_COLUMNS = [
|
||||
@@ -38,7 +38,8 @@ const TABLE_ALLIGNED_COLUMNS = [
|
||||
COLUMN_POWP,
|
||||
COLUMN_KNI,
|
||||
COLUMN_FREQ,
|
||||
COLUMN_WIDTH, ]
|
||||
COLUMN_WIDTH,
|
||||
COLUMN_NUM_FS]
|
||||
|
||||
# Состояние выполнения команды поставновки помехи
|
||||
const SVK = ['Подготовка', 'Выполнено', 'Ошибка', 'Занято', 'Неисправно']
|
||||
@@ -46,10 +47,27 @@ const SVK = ['Подготовка', 'Выполнено', 'Ошибка', 'За
|
||||
# Номера колонок
|
||||
const COLUMN_OPT = [[COLUMN_SVK, SVK]]
|
||||
const COLUMN_OPT_BTN = [COLUMN_SVK]
|
||||
const IQ_FL_NAME = 'IQ-файл'
|
||||
|
||||
const INTERFER_NAMES: Dictionary = {
|
||||
'off' : null,
|
||||
'ПСП + ФМ-2' : null,
|
||||
'Линейная ЧМ' : null,
|
||||
IQ_FL_NAME : ['SRNGPS.pcm',
|
||||
'MCHM1.pcm',
|
||||
'PDM2_20.pcm',
|
||||
'PDM4_20.pcm',
|
||||
'PDM4S_5.pcm',
|
||||
'FM_5.pcm',
|
||||
'K1.pcm',
|
||||
'OZP1.pcm',
|
||||
'SVI1_LIT2.pcm',
|
||||
'SVI1_LIT3.pcm',
|
||||
'SVM2_LIT2.pcm',
|
||||
'SVM2_LIT3.pcm',] }
|
||||
|
||||
# Помеха
|
||||
class Interfer:
|
||||
# параметры цели, второе значение, разрешение отправки.
|
||||
var get_data: Dictionary = {
|
||||
'fpga_ver ': '',
|
||||
'brd_ver': '',
|
||||
@@ -63,6 +81,7 @@ class Interfer:
|
||||
'krp': '',
|
||||
'powp': 0.0,
|
||||
'kni': 0.0,
|
||||
'nmfs': 0,
|
||||
'params': {},
|
||||
'get': [],
|
||||
}
|
||||
@@ -82,6 +101,7 @@ class Interfer:
|
||||
new_row.append(str(options['kni']))
|
||||
new_row.append(get_val('freq'))
|
||||
new_row.append(get_val('width'))
|
||||
new_row.append(str(options['nmfs']))
|
||||
return new_row
|
||||
|
||||
func get_val(val):
|
||||
@@ -92,7 +112,7 @@ class Interfer:
|
||||
|
||||
func update_interfer(data: Dictionary):
|
||||
options.merge(data, true)
|
||||
|
||||
options['nmfs'] = int(options['nmfs'])
|
||||
|
||||
func set_interfer(data):
|
||||
if interfers.has(data['ispp']):
|
||||
|
||||
@@ -25,9 +25,10 @@ self_modulate = Color(0, 0, 0, 1)
|
||||
layout_mode = 0
|
||||
offset_right = 1594.0
|
||||
offset_bottom = 897.0
|
||||
current_tab = 0
|
||||
current_tab = 1
|
||||
|
||||
[node name="threats" type="Panel" parent="ColorRect/tabs"]
|
||||
visible = false
|
||||
self_modulate = Color(0, 0, 0, 1)
|
||||
light_mask = 2
|
||||
layout_mode = 2
|
||||
@@ -136,7 +137,6 @@ offset_bottom = 50.0
|
||||
text = "100 целей"
|
||||
|
||||
[node name="pomehi" type="Panel" parent="ColorRect/tabs"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
metadata/_tab_index = 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user