Merge remote-tracking branch 'MaD_CaT/master'
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
## Перестраивает индекс таблицы. Вызывать при удалении строки
|
||||
|
||||
@@ -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,25 +83,39 @@ 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:
|
||||
const um_ports: Dictionary = {
|
||||
1 : 0x6,
|
||||
2 : 0xA,
|
||||
3 : 0x6,
|
||||
4 : 0xA,
|
||||
5 : 0x6,
|
||||
6 : 0xA }
|
||||
|
||||
var index ## Индекс блока усилителей
|
||||
var modulation: bool ## Состояние модуляции
|
||||
var prd_name: String ## Ипя прибора ПРД в котором стоит модуль
|
||||
var um_port: int = 0 ## Порт для угла места
|
||||
var um: int = 0 ## Код угла места
|
||||
|
||||
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]
|
||||
|
||||
func set_modulation(val):
|
||||
modulation = val
|
||||
|
||||
|
||||
class PRD:
|
||||
const ug_addr: int = 0x100 ## адрес ячейки УГ
|
||||
|
||||
var prd_name: String ## Имя прибора
|
||||
var unit_yau07 ## Юнит эмс
|
||||
var fs_dic: Dictionary ## Массив блоков ФС
|
||||
@@ -131,6 +147,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,21 +165,22 @@ 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)
|
||||
var fs_state = 2
|
||||
if fs.modulation:
|
||||
fs_state = 3
|
||||
if dev_mode != fs_state:
|
||||
if (dev_mode != fs_state) or (fs_state == 3):
|
||||
fs.emit_signal('update_modulation')
|
||||
|
||||
@@ -70,7 +70,12 @@ func _ready() -> void:
|
||||
temp_array.append([])
|
||||
for i in len(json_data[key]) - 1:
|
||||
if tools.type_is_num(json_data[key][i+1]) == tools.type_is_num(UnitProfiles[key][2][i]):
|
||||
temp_array[1].append(json_data[key][i+1])
|
||||
if typeof(UnitProfiles[key][2][i]) == TYPE_INT:
|
||||
temp_array[1].append(int(json_data[key][i+1]))
|
||||
elif typeof(UnitProfiles[key][2][i]) == TYPE_FLOAT:
|
||||
temp_array[1].append(float(json_data[key][i+1]))
|
||||
else:
|
||||
set_from_file = false
|
||||
elif typeof(json_data[key][i+1]) == typeof(UnitProfiles[key][2][i]):
|
||||
temp_array[1].append(json_data[key][i+1])
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user