Рефактор.

This commit is contained in:
sasha80
2023-09-11 14:41:06 +03:00
parent a423a95ade
commit a09ab78fb1
6 changed files with 30 additions and 23 deletions

View File

@@ -25,7 +25,7 @@ config/icon="res://data/icon.png"
signaller="*res://scripts/signaller.gd"
Log="*res://addons/godot-logger/scripts/logger.gd"
Tools="*res://scripts/tools.gd"
REPSettings="*res://scripts/repsettings.gd"
repsettings="*res://scripts/repsettings.gd"
REPNetwork="*res://scripts/repnetwork.gd"
yau07="*res://scripts/yau07.gd"
capsrpb="*res://scripts/capsrpb.gd"

View File

@@ -1,3 +1,5 @@
@tool
extends Panel
## Основной скрипт для режима "Работа"
@@ -7,6 +9,9 @@ extends Panel
@export var col_red: Color ## Первый цвет для фона
@export var drag_scale_band: float ## Масштаб изменения параметра от движения мыши для строба по радиальному размеру
@export var drag_scale_width: float ## Масштаб изменения параметра от движения мыши для строба по угловому размеру
@export var freq_high: float ## Верхняя рабочая частота, МГЦ.
@export var freq_low: float ## Нижняя рабочая частота, МГЦ.
@export var radius_center: Vector2 ## Координаты центра диаграммы пеленг-частота
@export var radius_internal: float ## Внутренний радиус диаграммы пеленг-частота
@export var radius_outter: float ## Внешний радиус диаграммы пеленг-частота
@export var strob_max_band: float ## Максимальная ширина строба по углу
@@ -68,11 +73,11 @@ func map_threat_to_bip(th: Threats.Threat, bip: Sprite2D):
bip.position = Tools.pos_calc(
th.freq,
th.aoa,
REPSettings.ThreatParams.radius_center,
REPSettings.ThreatParams.radius_inner,
REPSettings.ThreatParams.radius_outter,
REPSettings.ThreatParams.freq_low,
REPSettings.ThreatParams.freq_high)
radius_center,
radius_internal,
radius_outter,
freq_low,
freq_high)
var tick = Time.get_ticks_msec()
bip.set_tick_update(tick)
@@ -158,7 +163,7 @@ func _on_drag_begin(event) -> void:
strob_band_begin = $canvas.get_strob_band()
## Обработчик событий вввода. Вызывается godot
## Обработчик событий ввода. Вызывается godot
func _input(event) -> void:
if not is_visible_in_tree(): return
if event is InputEventMouseMotion:

View File

@@ -17,6 +17,12 @@ col_grey = Color(0.34902, 0.643137, 0.772549, 0.168627)
col_red = Color(1, 0.568627, 0.431373, 0.239216)
drag_scale_band = 0.05
drag_scale_width = 0.5
radius_center = Vector2(560, 560)
time_lost = 5000.0
freq_low = 200.0
freq_high = 6000.0
radius_internal = 200.0
radius_outter = 550.0
strob_max_band = 15.538
strob_max_width = 90.0
strob_min_band = 0.1
@@ -318,6 +324,7 @@ offset_top = 1118.0
offset_right = 205.0
offset_bottom = 1168.0
text = "Откл."
pressed = true
metadata/rfi_name = "<off>"
[node name="btn_auto_rfi" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_2sxkw")]

View File

@@ -17,10 +17,10 @@ var logger_page: Node
func create_socket(nm) -> Socket:
var addr = REPSettings.UnitProfiles[nm][1]
var port = REPSettings.UnitProfiles[nm][2]
var broad = REPSettings.UnitProfiles[nm][3]
var bind = REPSettings.UnitProfiles[nm][4]
var addr = repsettings.UnitProfiles[nm][1]
var port = repsettings.UnitProfiles[nm][2]
var broad = repsettings.UnitProfiles[nm][3]
var bind = repsettings.UnitProfiles[nm][4]
var sock: = Socket.new()
sock.set_broadcast_enabled(broad)
var rc = Error.OK if not bind else sock.bind(port, addr)
@@ -37,12 +37,12 @@ func _ready() -> void:
sock_unicast = poll_sockets[0]
for unit_name in REPSettings.UnitProfiles:
var setting = REPSettings.UnitProfiles[unit_name]
for unit_name in repsettings.UnitProfiles:
var setting = repsettings.UnitProfiles[unit_name]
var proto = setting[0]
if proto in PROTOCOL_TYPES:
var unit = PROTOCOL_TYPES[proto].new(unit_name)
var unit_key = REPSettings.get_unit_key(unit_name)
var unit_key = repsettings.get_unit_key(unit_name)
units[unit_key] = unit
unit.connect('line_changed', Callable(logger_page, 'on_line_changed').bind(unit_key))
unit.connect('command_fail', Callable(logger_page, 'on_command_fail').bind(unit_key))

View File

@@ -33,12 +33,7 @@ extends Node
## Параметры цели
@export var ThreatParams = {
'radius_center': Vector2(560, 560), ## Координаты центра диаграммы в пикселях для отображения частота-пеленг.
'time_lost': 5000, ## Время после последнего обновления в мс, через которое цель считается потерянной.
'freq_low': 200.0, ## Нижняя рабочая частота, МГЦ.
'freq_high': 6000.0, ## Верхняя рабочая частота, МГЦ.
'radius_inner': 200, ## Внутренний радиус диаграммы в пикселях для отображения частота-пеленг.
'radius_outter': 550 ## Наружний радиус диаграммы в пикселях для отображения частота-пеленг.
'time_lost': 5000 ## Время после последнего обновления в мс, через которое цель считается потерянной.
}

View File

@@ -45,13 +45,13 @@ signal threats_resized(th: Dictionary)
func _ready() -> void:
Log.info('Модуль обработки целей готов')
var threats = {} ## Список целей. Индекс - <номер цели>
var unit_key = REPSettings.get_unit_key('уарэп-капсрпб-отп')
var unit_key = repsettings.get_unit_key('уарэп-капсрпб-отп')
var unit = REPNetwork.units[unit_key]
var timer_check_lost: = Timer.new()
add_child(timer_check_lost)
unit.connect('data_received', Callable(self, 'on_data_capsrpb_received').bind(threats))
timer_check_lost.connect('timeout', Callable(self, 'on_timer_check_lost').bind(REPSettings.ThreatParams.time_lost, threats))
timer_check_lost.start(REPSettings.ThreatParams.time_lost / 1000.0)
timer_check_lost.connect('timeout', Callable(self, 'on_timer_check_lost').bind(repsettings.ThreatParams.time_lost, threats))
timer_check_lost.start(repsettings.ThreatParams.time_lost / 1000.0)
## Периодически удаляет устаревшие цели