From d18dc1aa9f7484cc4a449dfcad93089466c3845f Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Wed, 6 Nov 2024 08:41:07 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F.=20=D0=9A=D0=90=D0=9F=D0=A1=20=D0=A0?= =?UTF-8?q?=D0=9F=D0=91=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BF=D0=B8=D1=81=D0=B0?= =?UTF-8?q?=D0=BD=20=D0=BF=D0=BE=D0=B4=20=D0=BD=D0=B0=D1=81=D0=BB=D0=B5?= =?UTF-8?q?=D0=B4=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BE=D1=82=20uni?= =?UTF-8?q?t.=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20t?= =?UTF-8?q?x=5Flen=20=D0=B4=D0=BB=D1=8F=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB?= =?UTF-8?q?=D0=B5=D0=B9,=20=D0=B3=D0=B4=D0=B5=20=D0=BD=D0=B5=20=D0=B1?= =?UTF-8?q?=D1=8B=D0=BB=D0=BE.=20=D0=AD=D0=9C=D0=A1=20=D0=BE=D1=82=D0=BB?= =?UTF-8?q?=D0=B0=D0=B6=D0=B5=D0=BD=D0=BE=20=D1=87=D1=82=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D1=81=D0=BE=D1=81=D1=82=D0=BE=D1=8F=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D1=8F=D1=87=D0=B5=D0=B5=D0=BA.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/эмс/эмс.gd | 4 +++- scripts/capsrpb.gd | 10 ++-------- scripts/sch3.gd | 3 +++ 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/scenes/эмс/эмс.gd b/scenes/эмс/эмс.gd index e319fe62..a664ff45 100644 --- a/scenes/эмс/эмс.gd +++ b/scenes/эмс/эмс.gd @@ -60,7 +60,7 @@ func init_boards(): $scrl_files/tbl_files.pin_header($scrl_files, self) unit_ems.connect('data_received', Callable(self, 'on_data_ems_received')) - unit_ems.connect('command_done', Callable(self, 'on_data_ems_received')) + unit_ems.connect('command_done', Callable(self, 'on_command_done')) $btn_connect.connect('pressed', Callable(self, 'on_btn_connect')) $btn_disconnect.connect('pressed', Callable(self, 'on_btn_disconnect')) $btn_flash_read.button_connect('pressed', Callable(self, 'on_btn_flash_read').bind($btn_flash_read)) @@ -132,6 +132,7 @@ func init_tbl_in(): var row_index : int = $scrollin/tbl_in.get_rows_count() - 1 var params : Array = item[1] var in_dev: yemsdevs.InDev = yemsdevs.InDev.new(item[0], params, row_index, g_boards[board].base_addr_isa) + g_boards[board].in_devs[in_dev.id] = in_dev in_dev.board = board for i in range(len(row_type)): if i < len(params): @@ -214,6 +215,7 @@ func init_tbl_out(): var row_index : int = $scrollout/tbl_out.get_rows_count() - 1 var params : Array = item[1] var out_dev = yemsdevs.OutDev.new(item[0], params, row_index, g_boards[board].base_addr_isa) + g_boards[board].out_devs[out_dev.id] = out_dev out_dev.set_default_mode() out_dev.board = board for i in range(len(header_text)): diff --git a/scripts/capsrpb.gd b/scripts/capsrpb.gd index 9f7b96b5..daa0cd6b 100644 --- a/scripts/capsrpb.gd +++ b/scripts/capsrpb.gd @@ -8,18 +8,11 @@ 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) ## Сигнал ошибки разбора сообщения. +class CapsRpb extends unit.Unit: static var json_conv: = JSON.new() - var online: = false ## Состояние связи с источником сообщений. - var name: String ## Имя экземпляра. var json_dic: Dictionary ## Аппарат для разбора сообщений. var tick: = 0 ## Тик время последнего обновления, мс. - var tx_data: = PackedByteArray() ## Пакет для отправки. var tx_stack: Array ## Массив пакетов для отправки. func _to_string() -> String: return String('капсрпб: "%s" %s ' % [self.name, ['отключен', 'на связи'][int(online)]]) @@ -44,6 +37,7 @@ class CapsRpb: emit_signal('line_changed', self) if len(tx_stack): tx_data = tx_stack[0] + tx_len = len(tx_data) tx_stack.remove_at(0) return Error.OK else: diff --git a/scripts/sch3.gd b/scripts/sch3.gd index b3010159..138a880a 100644 --- a/scripts/sch3.gd +++ b/scripts/sch3.gd @@ -98,6 +98,7 @@ class Sch3 extends unit.Unit: if cmd_state != CmdState.DONE: return false var json_dict = {'code': 'write', 'data': [addr] + data} tx_data = JSON.stringify(json_dict).to_utf8_buffer() + tx_len = len(tx_data) cmd_state = CmdState.SEND return true @@ -108,6 +109,7 @@ class Sch3 extends unit.Unit: if cmd_state != CmdState.DONE: return false var json_dict = {'code': 'read_holding', 'data': [addr, count]} tx_data = JSON.stringify(json_dict).to_utf8_buffer() + tx_len = len(tx_data) cmd_state = CmdState.SEND return true @@ -118,5 +120,6 @@ class Sch3 extends unit.Unit: if cmd_state != CmdState.DONE: return false var json_dict = {'code': 'read_input', 'data': [addr, count]} tx_data = JSON.stringify(json_dict).to_utf8_buffer() + tx_len = len(tx_data) cmd_state = CmdState.SEND return true