76 lines
2.7 KiB
GDScript
76 lines
2.7 KiB
GDScript
extends Node
|
|
|
|
enum ThreatSrc {
|
|
MP405,
|
|
RLKS,
|
|
RPB,
|
|
SIGMA }
|
|
|
|
|
|
class Threat:
|
|
|
|
enum FFlags { # Допустимые значения для Threat.fflags
|
|
ALT = 1 << 1,
|
|
AOA = 1 << 2,
|
|
ATIME = 1 << 3,
|
|
BAUD = 1 << 4,
|
|
FFLAGS = 1 << 5,
|
|
FREQ = 1 << 6,
|
|
FREQM = 1 << 7,
|
|
LAT = 1 << 8,
|
|
LON = 1 << 9,
|
|
POW_RX = 1 << 10,
|
|
PROTO = 1 << 11,
|
|
RKRP = 1 << 12,
|
|
RPARAMS = 1 << 13,
|
|
SALT = 1 << 14,
|
|
SLAT = 1 << 15,
|
|
SLON = 1 << 16,
|
|
TICK = 1 << 17,
|
|
TMOD = 1 << 18,
|
|
UTIME = 1 << 19,
|
|
WIDTH = 1 << 20 }
|
|
|
|
var alt: float # Текущая высота, метры.
|
|
var aoa: float # Курсовой угол на источник сигнала, градусы.
|
|
var atime: Dictionary # Время обнаружения.
|
|
var baud: float # Модуляционная скорость.
|
|
var fflags: FFlags # Флаги достоверности полей.
|
|
var freq: float # Частота несущей или центральная частота, МГц.
|
|
var freqm: String # Режим смены частоты.
|
|
var lat: float # Текущие координаты, долгота в градусах.
|
|
var lon: float # Текущие координаты, широта в градусах.
|
|
var pow_rx: float # Уровень принимаемого сигнала, дБм.
|
|
var proto: String # Тип протокола источника сигнала.
|
|
var rkrp: String # Рекомендуемый режим помехи.
|
|
var rparams: String # Рекомендуемые параметры помехи.
|
|
var salt: float # Координаты старта, высота от уровня моря, м.
|
|
var slat: float # Координаты старта, широта в градусах.
|
|
var slon: float # Координаты старта, долгота в градусах.
|
|
var tick: int # Время приёма сигнала, мс.
|
|
var tmod: String # Тип модуляции.
|
|
var utime: Dictionary # Время крайнего обновления.
|
|
var width: float # Ширина занимаемого диапазона частот, МГц.
|
|
|
|
|
|
var _threats = {}
|
|
"""
|
|
Список целей. Индекс - <источник цели>:<номер цели>
|
|
Источник цели может быть: 'RPB', 'SIGMA', 'RLKS', 'MP405'
|
|
"""
|
|
|
|
func on_parse_threads(unit: capsrpb.CapsRpb):
|
|
print_debug(unit)
|
|
|
|
|
|
func _ready() -> void:
|
|
Log.info('Модуль обработки целей готов')
|
|
#var unit = REPSettings.addrs[]
|
|
#unit.connect('data_received', Callable(self, 'on_data_capsrpb_received'))
|
|
|
|
|
|
|
|
func on_data_capsrpb_received(unit: capsrpb.CapsRpb):
|
|
pass
|
|
|