From 6a26e2561998124fc4b29ef27ac16aa610d0af24 Mon Sep 17 00:00:00 2001 From: Maxim Name Date: Thu, 3 Jul 2025 19:35:09 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BE=D1=82=D0=BB=D0=B0=D0=B6=D0=B5=D0=BD=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D1=8C=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B4-=D0=B2=20=D1=81=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=D0=BC/=D0=BE=D1=82=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC=20=D1=84=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/pribor-prd-v/pribor_prd_v.gd | 36 +++++++++++------------------ scripts/interfer.gd | 4 +--- 2 files changed, 14 insertions(+), 26 deletions(-) diff --git a/scenes/pribor-prd-v/pribor_prd_v.gd b/scenes/pribor-prd-v/pribor_prd_v.gd index 36ea912..51fd951 100644 --- a/scenes/pribor-prd-v/pribor_prd_v.gd +++ b/scenes/pribor-prd-v/pribor_prd_v.gd @@ -23,9 +23,8 @@ enum STATE_VAL { GOOD = 1, ERROR = 2 } -var timer_03: Timer = Timer.new() -var fl_fs_1: bool = false -var fl_fs_2: bool = false +var control_timer: Timer = Timer.new() +var flag_control: bool = false func _ready() -> void: @@ -36,8 +35,12 @@ func _ready() -> void: unit_prd.connect('data_received', Callable(self, 'on_data_received')) unit_prd.connect('line_changed', Callable(self, 'on_line_changed')) set_default_state() - self.add_child(timer_03) - timer_03.connect('timeout', Callable(self, 'on_timer_03')) + self.add_child(control_timer) + control_timer.connect('timeout', Callable(self, 'on_stop_control')) + _on_control_fs(true) + control_timer.one_shot = true + control_timer.wait_time = 2.0 + control_timer.start() func set_default_state() -> void: @@ -153,7 +156,7 @@ func _process_ems_data(status: PackedByteArray) -> void: func _process_ukp_power(status: PackedByteArray) -> void: #var in_blank: int = status.decode_u16(IN_BLANK_PRD) ## Мощность УМ от УКП 1 - if fl_fs_1: + if flag_control: check_dkm(status, bit_dkm_3) ## Мощность УМ от УКП 1 @@ -177,8 +180,7 @@ func _process_ukp_power(status: PackedByteArray) -> void: power_amplifier[i].state = STATE_VAL.GOOD if power_array_1[i] > 40 else STATE_VAL.ERROR count_packet_1 += 1 - ## Мощность УМ от УКП 2 - if fl_fs_2: + ## Мощность УМ от УКП 2 check_dkm(status, bit_dkm_4) ## Мощность УМ от УКП 2 @@ -199,7 +201,6 @@ func _process_ukp_power(status: PackedByteArray) -> void: if arr_power_ukp_2[i] > power_array_2[i]: power_array_2[i] = arr_power_ukp_2[i] - var power_amplifier: Array = get_tree().get_nodes_in_group('power_amplifier') 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 @@ -211,19 +212,19 @@ func _on_control_fs(mode: bool) -> void: var interfer_name: String var fs_arr: Array if mode: + flag_control = true interfer_name = 'srnm2' fs_arr = [[90.0, 2450.0, 1500.0, 23]] else: + flag_control = false interfer_name = 'off' fs_arr = [[90.0, 2450.0, 1500.0, 23]] print('interfer_init: ', interfer_name, fs_arr) signaller.emit_signal('interfer_init', interfer_name, fs_arr) -func on_timer_03() -> void: +func on_stop_control() -> void: _on_control_fs(false) - fl_fs_1 = false - fl_fs_2 = false print('stop timer') @@ -233,17 +234,8 @@ func on_fs_update_state(packet_type_7: Dictionary): for fs in packet_type_7: if fs == 12 and last_part == '1в': $kasseta_FS_VD/ref_A3.state = STATE_VAL.GOOD if packet_type_7[fs].isg == 1 else STATE_VAL.ERROR if packet_type_7[fs].isg == 0 else STATE_VAL.NONE - if packet_type_7[fs].isg == 1: - if not fl_fs_1: - timer_03.one_shot = true - timer_03.wait_time = 0.5 - _on_control_fs(true) - timer_03.start() - fl_fs_1 = true if fs == 13 and last_part == '4в': $kasseta_FS_VD/ref_A3.state = STATE_VAL.GOOD if packet_type_7[fs].isg == 1 else STATE_VAL.ERROR if packet_type_7[fs].isg == 0 else STATE_VAL.NONE - if packet_type_7[fs].isg == 1: - fl_fs_1 = true if fs == 14 and last_part == '3в': $kasseta_FS_VD/ref_A3.state = STATE_VAL.GOOD if packet_type_7[fs].isg == 1 else STATE_VAL.ERROR if packet_type_7[fs].isg == 0 else STATE_VAL.NONE if fs == 15 and last_part == '2в': @@ -251,8 +243,6 @@ func on_fs_update_state(packet_type_7: Dictionary): if fs == 16 and last_part == '1в': $kasseta_FS_VD/ref_A4.state = STATE_VAL.GOOD if packet_type_7[fs].isg == 1 else STATE_VAL.ERROR if packet_type_7[fs].isg == 0 else STATE_VAL.NONE - if packet_type_7[fs].isg == 1: - fl_fs_2 = true if fs == 17 and last_part == '4в': $kasseta_FS_VD/ref_A4.state = STATE_VAL.GOOD if packet_type_7[fs].isg == 1 else STATE_VAL.ERROR if packet_type_7[fs].isg == 0 else STATE_VAL.NONE if fs == 18 and last_part == '3в': diff --git a/scripts/interfer.gd b/scripts/interfer.gd index 5366e90..f69836d 100644 --- a/scripts/interfer.gd +++ b/scripts/interfer.gd @@ -56,13 +56,11 @@ class Interfer: data_to_json['ss'] = msg_num data_to_json['ispp'] = ispp data_to_json['krp'] = krp - if get_params.size() < 1: - get_params.append('soc_temp') - data_to_json['get'] = get_params if krp != INTERFER_OFF: data_to_json['kni'] = kni data_to_json['powp'] = powp # TODO: Необходимо добавить управление мощностью data_to_json['params'] = params + data_to_json['get'] = get_params var pac = JSON.stringify(data_to_json).to_utf8_buffer() return pac