From d5bd6c1a1e5ef8340b782cd214e22ef561ae9ee1 Mon Sep 17 00:00:00 2001 From: Maxim Date: Fri, 18 Jul 2025 20:42:50 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D1=82=D0=BB=D0=B0=D0=B4=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=BE=D0=B9=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=BD=D0=B0=20windows?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/pribor-prd-v/pribor_prd_v.gd | 48 ++++++++++++++++++++--------- scripts/settings.gd | 2 +- 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/scenes/pribor-prd-v/pribor_prd_v.gd b/scenes/pribor-prd-v/pribor_prd_v.gd index cbcc6e8b..09ba887f 100644 --- a/scenes/pribor-prd-v/pribor_prd_v.gd +++ b/scenes/pribor-prd-v/pribor_prd_v.gd @@ -16,7 +16,8 @@ const Constants = { "ADDR_UG_LITERA_2": 0x108, "TEMP_THRESHOLD": 70, "POWER_THRESHOLD": 40, - "TIMER_DELAY": 1.0 + "TIMER_DELAY": 1.4, + "POWER_UM": 70, } enum STATE_VAL { NONE = 0, GOOD = 1, ERROR = 2 } # Основные переменные @@ -170,7 +171,7 @@ func check_temperature_um(status_prd: PackedByteArray) -> void: var temperature_ukp_1: int = status_prd.decode_u16(TEMPERATURE_UKP_1 + 2 * i_temp) var tmp_1: int = round(TEMP_CONSTANTS['min_temp'] + (TEMP_CONSTANTS['max_code'] - temperature_ukp_1) * TEMP_CONSTANTS['temp_factor'] + TEMP_CONSTANTS['offset']) power_amplifier[i_temp].value0 = tmp_1 - if tmp_1 > 70: + if tmp_1 > Constants.TEMP_THRESHOLD: _control_results["temperature"] = false var ukp2_online = (status_prd[0] >> 3) & 1 @@ -179,7 +180,7 @@ func check_temperature_um(status_prd: PackedByteArray) -> void: var temperature_ukp_2: int = status_prd.decode_u16(TEMPERATURE_UKP_2 + 2 * i_temp) var tmp_2: int = round(TEMP_CONSTANTS['min_temp'] + (TEMP_CONSTANTS['max_code'] - temperature_ukp_2) * TEMP_CONSTANTS['temp_factor'] + TEMP_CONSTANTS['offset']) power_amplifier[i_temp+6].value0 = tmp_2 - if tmp_2 > 70: + if tmp_2 > Constants.TEMP_THRESHOLD: _control_results["temperature"] = false @@ -231,7 +232,7 @@ func _process_ukp_power(status: PackedByteArray) -> void: var power_amplifier: Array = get_tree().get_nodes_in_group('power_amplifier') for i in 6: power_amplifier[i].value1 = '%d' % power_array_1[i] - power_amplifier[i].state = STATE_VAL.GOOD if power_array_1[i] > 40 else STATE_VAL.ERROR + power_amplifier[i].state = STATE_VAL.GOOD if power_array_1[i] > Constants.POWER_THRESHOLD else STATE_VAL.ERROR count_packet_1 += 1 ## Мощность УМ от УКП 2 @@ -251,7 +252,7 @@ func _process_ukp_power(status: PackedByteArray) -> void: for i in 6: power_amplifier[i+6].value1 = '%d' % power_array_2[i] - power_amplifier[i+6].state = STATE_VAL.GOOD if power_array_2[i] > 40 else STATE_VAL.ERROR + power_amplifier[i+6].state = STATE_VAL.GOOD if power_array_2[i] > Constants.POWER_THRESHOLD else STATE_VAL.ERROR count_packet_2 += 1 @@ -263,19 +264,36 @@ func _process_ukp_power(status: PackedByteArray) -> void: func _on_control_fs(mode: bool) -> void: - var interfer_name: String - var fs_arr: Array - if mode: - interfer_name = 'k1' - fs_arr = [[90.0, 2450.0, 1500.0, 23]] - else: - interfer_name = 'off' - fs_arr = [[90.0, 2450.0, 1500.0, 23]] - signaller.emit_signal('interfer_init', interfer_name, fs_arr, 10.0) + var parts = currecnt_unit.split('-') + var last_part = parts[-1] + var angle: float = 0.0 # -> ПРД-В1; 90.0 -> ПРД-В2; 180.0 -> ПРД-В3; 270.0 -> ПРД-В4 + var sector_1: float = 12 # -> ПРД-В1; 15 -> ПРД-В2; 14 -> ПРД-В3; 13 -> ПРД-В4; + var sector_2: float = 16 # -> ПРД-В1; 19 -> ПРД-В2; 18 -> ПРД-В3; 17 -> ПРД-В4; + if last_part == '2в': + angle = 90.0 + sector_1 = 15 + sector_2 = 19 + elif last_part == '3в': + angle = 180.0 + sector_1 = 14 + sector_2 = 18 + elif last_part == '4в': + angle = 270.0 + sector_1 = 13 + sector_2 = 17 + + var interfer_name: String = 'k1' if mode else 'off' + var freq_1: float = 1227.0 # ФС_1 + var freq_2: float = 1575.0 # ФС_2 + var hz_1: float = 340.0 # ФС_1 + var hz_2: float = 510.0 # ФС_2 + + var fs_arr: Array = [[angle, freq_1, hz_1, sector_1], [angle, freq_2, hz_2, sector_2]] + signaller.emit_signal('interfer_init', interfer_name, fs_arr, Constants.POWER_UM) func on_stop_control() -> void: - print_debug('Отсановка контроля ПРД') + print_debug('Остановка контроля ПРД') _on_control_fs(false) on_control_result() diff --git a/scripts/settings.gd b/scripts/settings.gd index 3c7b4cb8..f5951148 100644 --- a/scripts/settings.gd +++ b/scripts/settings.gd @@ -44,7 +44,7 @@ var settings_program: Dictionary const FREQ_MAX: = 6000.0 const FREQ_MIN: = 400.0 -const WIDTH_MAX: = 120.0 +const WIDTH_MAX: = 100.0 const WIDTH_MIN: = 0.0 const DUR_MAX: = 1000000.0 const PERIOD_MAX: = 1000000.0