diff --git a/PRD_MP550.tscn b/PRD_MP550.tscn index 6dbf322..12056f9 100644 --- a/PRD_MP550.tscn +++ b/PRD_MP550.tscn @@ -743,7 +743,7 @@ offset_top = 36.0 offset_right = 66.0 offset_bottom = 210.0 self_size = Vector2i(50, 174) -fname = "ДКМ1" +fname = "ДКМ-1" rname = " " [node name="soc_P2" type="NinePatchRect" parent="TabContainer/ControlPanel"] diff --git a/scripts/constants.gd b/scripts/constants.gd index d08dc97..2a8317c 100644 --- a/scripts/constants.gd +++ b/scripts/constants.gd @@ -363,3 +363,12 @@ enum META { FGOZ_3 = 56, FGOZ_5 = 56, } +enum FS_FREQ { + f1 = 430, + f2 = 932, + f3 = 1137, + f4 = 1300, + f5 = 1725, + f6 = 2750, + f7 = 4750, +} diff --git a/scripts/control_panel.gd b/scripts/control_panel.gd index 5103442..6105c2f 100644 --- a/scripts/control_panel.gd +++ b/scripts/control_panel.gd @@ -47,10 +47,11 @@ class Logger extends Node: func _ready() -> void: Network.connect('port_fs_opened_1', _on_fs_status_1.bind(Constants.STATE_VAL.GOOD)) Network.connect('port_fs_closed_1', _on_fs_status_1.bind(Constants.STATE_VAL.ERROR)) - Network.connect('data_from_fs_1', _on_data_fs_1) + Network.connect('data_from_fs_1', _on_data_fs.bind('ФС-1')) Network.connect('port_fs_opened_2', _on_fs_status_2.bind(Constants.STATE_VAL.GOOD)) Network.connect('port_fs_closed_2', _on_fs_status_2.bind(Constants.STATE_VAL.ERROR)) + Network.connect('data_from_fs_2', _on_data_fs.bind('ФС-2')) self.add_child(timer) timer.connect('timeout', Callable(self, '_on_timer')) @@ -127,15 +128,17 @@ func _status_cell(status): #dry_contact if (node_cell_ind[2].state == Constants.STATE_VAL.GOOD): for i_node in range(5, 13): + var skip = false if i_node == 10 or i_node == 11: - if Constants.CURRENT_MODE != Constants.MODE.PRD_K: - return - if ((dry_contact >> (i_node-5)) & 0x1) == 0: - node_cell_ind[i_node].state = Constants.STATE_VAL.GOOD - logger.info("%s : Есть связь ✅" % node_cell_ind[i_node].get('fname')) - else: - node_cell_ind[i_node].state = Constants.STATE_VAL.ERROR - logger.error("%s : Нет связи ❌" % node_cell_ind[i_node].get('fname')) + skip = Constants.CURRENT_MODE != Constants.MODE.PRD_K + + if not skip: + if ((dry_contact >> (i_node-5)) & 0x1) == 0: + node_cell_ind[i_node].state = Constants.STATE_VAL.GOOD + logger.info("%s : Есть связь ✅" % node_cell_ind[i_node].get('fname')) + else: + node_cell_ind[i_node].state = Constants.STATE_VAL.ERROR + logger.error("%s : Нет связи ❌" % node_cell_ind[i_node].get('fname')) else: for i_node_unknow in range(5, 13): node_cell_ind[i_node_unknow].state = Constants.STATE_VAL.NONE @@ -171,10 +174,9 @@ func _status_prd(): status += 1 if (node_cell_ind[17].state == Constants.STATE_VAL.GOOD) else 0 status += 1 if (node_cell_ind[18].state == Constants.STATE_VAL.GOOD) else 0 - if (status == count_cell-7): - #$lbl_control.text = 'Прибор исправен' - #$lbl_control.modulate = Color.AQUAMARINE - emit_signal('signal_on_start_timer_03') + if (status == count_cell-3): + $lbl_control.text = 'Прибор исправен' + $lbl_control.modulate = Color.AQUAMARINE else: $lbl_control.text = 'Прибор неисправен' $lbl_control.modulate = Color.CRIMSON @@ -212,8 +214,8 @@ func _draw_control_panel_prd(pribor): # ДКМ $soc_DKM/DKM_1.visible = false - $soc_DKM/DKM_2.fname = 'ДКМ2' - $soc_DKM/DKM_3.fname = 'ДКМ3' + $soc_DKM/DKM_2.fname = 'ДКМ-2' + $soc_DKM/DKM_3.fname = 'ДКМ-3' elif pribor == Constants.MODE.PRD_B: # Кассета У5 @@ -245,8 +247,8 @@ func _draw_control_panel_prd(pribor): $soc_P2.visible = false # ДКМ $soc_DKM/DKM_1.visible = false - $soc_DKM/DKM_2.fname = 'ДКМ4' - $soc_DKM/DKM_2.fname = 'ДКМ5' + $soc_DKM/DKM_2.fname = 'ДКМ-4' + $soc_DKM/DKM_3.fname = 'ДКМ-5' elif pribor == Constants.MODE.PRD_K: # Кассета У5 @@ -282,8 +284,8 @@ func _draw_control_panel_prd(pribor): $soc_P2.visible = true # ДКМ $soc_DKM/DKM_1.visible = true - $soc_DKM/DKM_2.fname = 'ДКМ6' - $soc_DKM/DKM_2.fname = 'ДКМ7' + $soc_DKM/DKM_2.fname = 'ДКМ-6' + $soc_DKM/DKM_3.fname = 'ДКМ-7' func _on_fs_status_1(_name_port, status_fs_1: int): @@ -292,6 +294,7 @@ func _on_fs_status_1(_name_port, status_fs_1: int): #var message: String = "Модуль ФС-1: %s" % name_port #logger.info(message) + func _on_fs_status_2(_name_port, status_fs_2): $Kasseta_FS/ref_A2.state = status_fs_2 #if logger: @@ -300,12 +303,13 @@ func _on_fs_status_2(_name_port, status_fs_2): func fs_1_setup(freq): + #Network.get_fs_gen_status(true) ## отключен пока что (поменять на false) Network.status_can_macro_1(false) Network.set_fs_ferq_carrier(freq * 1_000_000) Network.set_fs_attenuation(float(19)) Network.set_can_macro(freq) Network.status_can_macro_1(true) - Network.get_fs_gen_status(true) ## отключен пока что (поменять на false) + Network.get_fs_gen_status(false) func fs_2_setup(freq): @@ -320,32 +324,33 @@ func fs_2_setup(freq): func yau_07b_setup(): Network.write_port_isa(Constants.BASE_PORTS.UG+6, 56) Network.write_port_isa(Constants.BASE_PORTS.UG+8, 56) - Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, 51) + Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, Constants.META.MODUL_UM_2) Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 2<<13) - Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, 52) + Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, Constants.META.MODUL_UM_3) Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 2<<13) -func _on_data_fs_1(fs_1_data): +func _on_data_fs(fs_data:PackedByteArray, fs_name: String): if logger: - var GRP = fs_1_data.decode_u8(0x0) - var CMD = fs_1_data.decode_u8(0x1) + var GRP = fs_data.decode_u8(0x0) + var CMD = fs_data.decode_u8(0x1) match CMD: Constants.CMD.READ_CARRIER: if GRP == Constants.GROUP.BASE: - logger.info('В модуль ФС-1 установлена частота: %s МГц ✅' % (fs_1_data.decode_u64(0xC) / 1_000_000)) + logger.info('В модуль %s установлена частота: %s МГц ✅' % [fs_name, (fs_data.decode_u64(0xC) / 1_000_000.0)]) Constants.CMD.READ_ATT: if GRP == Constants.GROUP.RF: - logger.info('В модуль ФС-1 установлена аттенюация: %s dB ✅' % (fs_1_data.decode_float(0x18))) + logger.info('В модуль %s установлена аттенюация: %s dB ✅' % [fs_name, (fs_data.decode_float(0x18))]) Constants.CMD.READ_GEN_STATUS: if GRP == Constants.GROUP.GENERATOR: - if fs_1_data.decode_u32(0xC) == 0: - logger.info('Состояние генератора ФС-1: Включен ✅') + if fs_data.decode_u32(0xC) == 0: + logger.info('Состояние генератора %s: Включен ✅' % fs_name) + emit_signal('signal_on_start_timer_03') else: - logger.info('Состояние генератора ФС-1: Отключен ❌') + logger.info('Состояние генератора %s: Отключен ❌' % fs_name) Constants.CMD.BASE_CAN_MACRO_READ: if GRP == Constants.GROUP.BASE: - logger.info('В модуль ФС-1 установлена частота CAN: %s МГц ✅' % (fs_1_data.decode_u16(0x20))) + logger.info('В модуль %s установлена частота CAN: %s МГц ✅' % [fs_name, (fs_data.decode_u16(0x20))]) func _on_start_super_control(): @@ -367,15 +372,18 @@ func _on_start_super_control(): logger.error("ЯУ-07Б: Нет связи ❌") if Network.unit_fs.online: - logger.info('Настройка модуля ФС %s Гц' % 932) - fs_1_setup(932) # Гц - fs_2_setup(1137) # Гц + var fs_freq: Array = [0, 0, 0] + if Constants.CURRENT_MODE == Constants.MODE.PRD_H: + fs_freq[0] = Constants.FS_FREQ.f2 + fs_freq[1] = Constants.FS_FREQ.f3 + elif Constants.CURRENT_MODE == Constants.MODE.PRD_B: + fs_freq[0] = Constants.FS_FREQ.f4 + fs_freq[1] = Constants.FS_FREQ.f5 + logger.info('Настройка модулей ФС %s Гц' % str(fs_freq)) + fs_1_setup(fs_freq[0]) # Гц + fs_2_setup(fs_freq[1]) # Гц else: - logger.info('Настройка модуля ФС ❌') - - - _status_prd() - past_pribor = Constants.CURRENT_MODE + logger.info('Настройка модулей ФС ❌') func _on_timer(): @@ -392,11 +400,11 @@ func _on_timer(): logger.error("ЯУ-07Б: Нет связи ❌") if (Network.unit_fs.online): - logger.info('Настройка модуля ФС %s Гц' % 932) - fs_1_setup(932) # Гц - fs_2_setup(1137) # Гц + logger.info('Настройка модулей ФС Гц') + fs_1_setup(Constants.FS_FREQ.f2) # Гц + fs_2_setup(Constants.FS_FREQ.f3) # Гц else: - logger.info('Настройка модуля ФС ❌') + logger.error('Настройка модулей ФС ❌') func _on_start_timer_03(): @@ -418,3 +426,4 @@ func _on_timer_03(): flag_control_on = false logger.info('Количество принятых пакетов от ЯУ-07Б: %s пакета' % count_packet) logger.info('Максимальные значения по мощности от УКП-1: %s ' % str(array_pow)) + _status_prd() diff --git a/scripts/network.gd b/scripts/network.gd index 8ce9d8c..1604df3 100644 --- a/scripts/network.gd +++ b/scripts/network.gd @@ -193,9 +193,9 @@ func on_line_changed(_unit) -> void: emit_signal('yau_status_line', unit.online) -## Ессли отсутствует подключение к ячейке ЯУ-07 +## Ессли отсутствует подключение к ячейке ЯУ-07Б func on_command_fail(_unit) -> void: - print_debug('Command send fail') + print('Отсутствует подключение к ячейке ЯУ-07Б') func on_command_change_device(meta_device):