Merge remote-tracking branch 'refs/remotes/Cat/master'

This commit is contained in:
lepshiy
2025-07-08 15:22:21 +03:00
24 changed files with 858 additions and 422 deletions

View File

@@ -59,8 +59,8 @@ class Interfer:
if krp != INTERFER_OFF:
data_to_json['kni'] = kni
data_to_json['powp'] = powp # TODO: Необходимо добавить управление мощностью
data_to_json['get'] = []
data_to_json['params'] = params
data_to_json['get'] = get_params
var pac = JSON.stringify(data_to_json).to_utf8_buffer()
return pac

View File

@@ -53,7 +53,7 @@ const PRD_NAMES: Array = [
'уарэп-яу07-4в',
'уарэп-яу07-4к', ]
## Соответствие модулей ФС их нахождуению в приборе ПРД и номеру от КАПС РПБ
## Соответствие модулей ФС их нахождению в приборе ПРД и номеру от КАПС РПБ
const FS_PRD: Dictionary = {
0: ['уарэп-яу07-1к', 17],
1: ['уарэп-яу07-4к', 65],
@@ -79,10 +79,10 @@ const FS_PRD: Dictionary = {
21: ['уарэп-яу07-4к', 70],
22: ['уарэп-яу07-3к', 54],
23: ['уарэп-яу07-2к', 38],
24: ['уарэп-яу07-1к', 31],
25: ['уарэп-яу07-4к', 87],
26: ['уарэп-яу07-3к', 63],
27: ['уарэп-яу07-2к', 47], }
24: ['уарэп-яу07-1к', 23],
25: ['уарэп-яу07-4к', 71],
26: ['уарэп-яу07-3к', 55],
27: ['уарэп-яу07-2к', 39], }
var fs_dict: Dictionary ## Словарь с модулями ФС
var prd_dict: Dictionary ## Словарь с приборами ПРД
@@ -282,6 +282,15 @@ func _ready() -> void:
unit_caps.connect('data_received', Callable(self, 'on_data_capsrpb_received'))
func get_fs_param(index: int) -> Array:
var freq = (FS_FREQ[index / 4][2])
var sector = (FS_SECTORS[index % 4][0] + FS_SECTORS[index % 4][1])/2 - 45.0
if sector < 0:
sector += 360.0
var width = FS_FREQ[index / 4][1] - FS_FREQ[index / 4][0]
return [sector, freq, width, index]
## Функция возвращает массив с индексами модулей ФС для выбранной помехи
func get_fs_index(ecm, fs_index_arr):
var sector: int
@@ -309,19 +318,12 @@ func update_fs_state(ecms):
get_fs_index(ecm, fs_ids)
for fs_index in fs_ids:
var fs = fs_dict[fs_index]
fs.set_modulation(ecm.modulation)
fs.set_um_code(ecm.um)
for prd_module in prd_dict.values(): ## Отправка команды на исполнение в ПРД
if prd_module.state != PrdState.WORK: continue
if not prd_module.unit_yau07.online: continue
var um_data_array: Array = []
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) or (fs_state == 3):
fs.emit_signal('update_modulation')
if not prd_module.ug_online: continue
if prd_module.set_ug_state:
fs.set_um_data(um_data_array, prd_module.unit_yau07)
@@ -346,7 +348,7 @@ func on_data_capsrpb_received(unit0: capsrpb.CapsRpb):
if unit0.json_dic['ts'] != 7: return
if not unit0.json_dic.has('msfs'): return
var msfs = unit.json_dic['msfs']
var msfs = unit0.json_dic['msfs']
for fs in msfs:
if fs is Dictionary:
if not fs.has('nmfs'):

View File

@@ -70,11 +70,6 @@ class Sch3 extends unit.Unit:
mbc.request_read_input(base_input_address, regs_input_count)
cmd_state = CmdState.WAIT
tx_tick = tick
step_fsm = Sch3Fsm.READ_HOLDING
elif step_fsm == Sch3Fsm.READ_HOLDING:
mbc.request_read(base_holding_address, regs_holding_count)
cmd_state = CmdState.WAIT
tx_tick = tick
step_fsm = Sch3Fsm.WRITE
elif step_fsm == Sch3Fsm.CONNECT:
try_disconnect()