From af5fcfa2a6b0b1b65462ed23dcbbb3db26987227 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Tue, 15 Aug 2023 13:45:33 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/кнопка-эмс.gd | 33 ++++++++++++++++----------------- scenes/работа.gd | 2 +- scripts/capsrpb.gd | 22 +++++++++++----------- scripts/repsettings.gd | 4 ++-- scripts/threats.gd | 42 +++++++++++++++++++++--------------------- 5 files changed, 51 insertions(+), 52 deletions(-) diff --git a/scenes/кнопка-эмс.gd b/scenes/кнопка-эмс.gd index 1e63c76..37bcaf7 100644 --- a/scenes/кнопка-эмс.gd +++ b/scenes/кнопка-эмс.gd @@ -4,28 +4,28 @@ extends PanelContainer @export var texture_state0: Texture2D = preload('res://data/кнопка-эмс-1.png'): - set(val): $state.set_texture(val) + set(val): $state.set_texture(val) @export var texture_state1: Texture2D = preload('res://data/кнопка-эмс-0.png'): - set(val): $state.set_texture(val) + set(val): $state.set_texture(val) @export var text: String = '': - set(val): $button.set_text(val) - get: return $button.get_text() + set(val): $button.set_text(val) + get: return $button.get_text() @export var pressed: bool = false: - set(val): $button.set_pressed(val) - get: return $button.is_pressed() + set(val): $button.set_pressed(val) + get: return $button.is_pressed() @export var toggle_mode: bool = false: - set(val): - if is_inside_tree(): - $button.set_toggle_mode(val) - get: return $button.is_toggle_mode() + set(val): + if is_inside_tree(): + $button.set_toggle_mode(val) + get: return $button.is_toggle_mode() func set_text (val: String): $button.set_text(val) @@ -33,8 +33,8 @@ func set_pressed (val: bool): $button.set_pressed(val) func set_toggle_mode (val: bool): - if is_inside_tree(): - $button.set_toggle_mode(val) + if is_inside_tree(): + $button.set_toggle_mode(val) func get_text(): return $button.get_text() @@ -43,14 +43,13 @@ func is_toggle_mode(): return $button.is_toggle_mode() func _on_button_toggled(val: bool): - if val: $state.set_texture(texture_state1) - else: $state.set_texture(texture_state0) + if val: $state.set_texture(texture_state1) + else: $state.set_texture(texture_state0) func button_connect(button_signal: String, proc: Callable): - $button.connect(button_signal, proc) + $button.connect(button_signal, proc) func _on_button_mouse_entered(): - emit_signal("mouse_entered") - + emit_signal("mouse_entered") diff --git a/scenes/работа.gd b/scenes/работа.gd index 4cb6917..336859f 100644 --- a/scenes/работа.gd +++ b/scenes/работа.gd @@ -129,7 +129,7 @@ func get_strob_band(pos: Vector2, prev: float) -> float: ## Устанавливает центр строба по частоте и направлению func set_strob(pos: Vector2) -> void: var radp: Vector2 = Tools.map_dec_to_rad(strob_center, pos) - if radp.y < $canvas.get_radius_max(): + if radp.y < $canvas.get_radius_outter(): $canvas.set_strob_dir(radp.x) $canvas.set_strob_radius(radp.y) diff --git a/scripts/capsrpb.gd b/scripts/capsrpb.gd index 8478e7d..ac3b93a 100644 --- a/scripts/capsrpb.gd +++ b/scripts/capsrpb.gd @@ -3,22 +3,22 @@ extends Node ## Реализация "Протокол информационного сопряжения ## СПО АСУ изделия «МП‑550» с СПО «Управления КАПС РПБ»" -const ONLINE_TIMEOUT = 5.0 ## Время ожидания пакета от ячейки, секунды -const BUFFER_SIZE = 2048 ## Размер приёмного буфера для датаграмм + +const ONLINE_TIMEOUT = 3000 ## Время ожидания пакета от КАПС РПБ, мс +const BUFFER_SIZE = 2048 ## Размер приёмного буфера для датаграмм class CapsRpb: - signal line_changed(unit: CapsRpb) - signal data_received(unit: CapsRpb) - signal command_fail(unit: CapsRpb) - signal parse_error(unit: CapsRpb, msg: String) + signal line_changed(unit: CapsRpb) ## Сигнал состояние связи изменилось + signal data_received(unit: CapsRpb) ## Сигнал данные приняты + signal command_fail(unit: CapsRpb) ## Сигнал при не выполнении команды + signal parse_error(unit: CapsRpb, msg: String) ## Сигнал ошибки разбора сообщения static var json_conv: = JSON.new() - var online: = false - var name: String - var json_dic: Dictionary - var tick: = 0.0 - var tick_rx: = 0.0 + var online: = false ## Состояние на связи + var name: String ## Имя экземпляра + var json_dic: Dictionary ## Аппарат для разбора сообщений + var tick: = 0 ## Тик время последнего обновления, мс func _to_string() -> String: return String('капсрпб: "%s" %s ' % [self.name, ['отключен', 'на связи'][int(online)]]) func _init(nm): self.name = nm diff --git a/scripts/repsettings.gd b/scripts/repsettings.gd index d9261c4..c060ef8 100644 --- a/scripts/repsettings.gd +++ b/scripts/repsettings.gd @@ -31,8 +31,8 @@ extends Node 'time_lost': 5000, ## Время после последнего обновления в мс, через которое цель считается потерянной 'freq_low': 200.0, ## Нижняя рабочая частота, МГЦ 'freq_high': 6000.0, ## Нижняя рабочая частота, МГЦ - 'radius_inner': 100, ## Внутренний радиус диаграммы в пикселях для отображения частота-пеленг - 'radius_outter': 800 ## Наружний радиус диаграммы в пикселях для отображения частота-пеленг + 'radius_inner': 200, ## Внутренний радиус диаграммы в пикселях для отображения частота-пеленг + 'radius_outter': 550 ## Наружний радиус диаграммы в пикселях для отображения частота-пеленг } diff --git a/scripts/threats.gd b/scripts/threats.gd index 778b0f9..0353ebe 100644 --- a/scripts/threats.gd +++ b/scripts/threats.gd @@ -5,26 +5,26 @@ extends Node ## Цель class Threat: - var alt: float ## Текущая высота, метры. - var aoa: float ## Курсовой угол на источник сигнала, градусы. - var atick: float ## Тик обнаружения. - var baud: float ## Модуляционная скорость. - var fflags: Dictionary ## Флаги достоверности полей. - var freq: float ## Частота несущей или центральная частота, МГц. - var freqm: String ## Режим смены частоты. - var lat: float ## Текущие координаты, долгота в градусах. - var lon: float ## Текущие координаты, широта в градусах. - var power: 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 width: float ## Ширина занимаемого диапазона частот, МГц. - var id: int ## Идентификатор цели. + var alt: float ## Текущая высота, метры. + var aoa: float ## Курсовой угол на источник сигнала, градусы. + var atick: float ## Тик обнаружения. + var baud: float ## Модуляционная скорость. + var fflags: Dictionary ## Флаги достоверности полей. + var freq: float ## Частота несущей или центральная частота, МГц. + var freqm: String ## Режим смены частоты. + var lat: float ## Текущие координаты, долгота в градусах. + var lon: float ## Текущие координаты, широта в градусах. + var power: 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 width: float ## Ширина занимаемого диапазона частот, МГц. + var id: int ## Идентификатор цели. func _init(): Tools.get_members_names(self).any(func(vn): fflags[vn] = false) func _to_string() -> String: return 'номер:%d пеленг:%0.1f частота:%0.1f МГц' % [id, aoa, freq] @@ -50,7 +50,7 @@ func _ready() -> void: add_child(timer_check_lost) unit.connect('data_received', Callable(self, 'on_data_capsrpb_received')) timer_check_lost.connect('timeout', Callable(self, 'on_timer_check_lost').bind(REPSettings.ThreatParams.time_lost)) - timer_check_lost.start(REPSettings.ThreatParams.time_lost / 2.0) + timer_check_lost.start(REPSettings.ThreatParams.time_lost / 1000.0) ## Периодически проверяет приборы на связи