diff --git a/scenes/pribor-uyep/sch3-view.gd b/scenes/pribor-uyep/sch3-view.gd index 2917904..546bb3c 100644 --- a/scenes/pribor-uyep/sch3-view.gd +++ b/scenes/pribor-uyep/sch3-view.gd @@ -36,7 +36,7 @@ func on_line_changed_sch3(unit_sch3): regs_input.clear() switches_sync = false $margin/vbox/grid1/lbl_freq.text = '<нет данных>' - $margin/vbox/grid1/lbl_freq.self_modulate = Color(settings.C_BLUE) + $margin/vbox/grid1/lbl_freq.self_modulate = Color.CADET_BLUE $margin/vbox/grid1/state_freq.texture = textures[STATE_VAL.NONE] $margin/vbox/grid/state.texture = textures[STATE_VAL.NONE] diff --git a/scripts/settings.gd b/scripts/settings.gd index f1dc516..904f9c9 100644 --- a/scripts/settings.gd +++ b/scripts/settings.gd @@ -55,7 +55,7 @@ const UM_MAX: = 55.0 func _ready() -> void: if Engine.is_editor_hint(): return - var settings_file = settings.get_settings_file_path() + var settings_file = get_settings_file_path() var abs_path = ProjectSettings.globalize_path(settings_file) log.info('Путь к файлу настроек: \"%s\"' % abs_path) var file = FileAccess.open(settings_file, FileAccess.READ) diff --git a/scripts/unit.gd b/scripts/unit.gd index 0c58dd8..db8e8b3 100644 --- a/scripts/unit.gd +++ b/scripts/unit.gd @@ -24,7 +24,7 @@ class Unit extends Object: var tx_tick: int = 0 ## Тик-время отправки буфера var rx_tick: int = 0 ## Тик-время последнего приёма данных var online: bool = false ## Состояние подключения устройства - var name: String = '<без имени>' ## Уникальное имя устройства + var name: StringName = '<без имени>' ## Уникальное имя устройства func _init(nm) -> void: self.name = nm func _to_string() -> String: return String('Unit(\"%s\", %s)' % [self.name, 'на связи' if online else 'отключен']) diff --git a/scripts/yau07.gd b/scripts/yau07.gd index 7a2e0f8..c87107f 100644 --- a/scripts/yau07.gd +++ b/scripts/yau07.gd @@ -2,11 +2,11 @@ class_name yau_07 extends Node ## Протокол ячейки ЯУ-07. -const ONLINE_TIMEOUT = 5000 ## Время ожидания пакета от ячейки, милисекунды -const RESEND_TIMEOUT = 300 ## Задержка для повторной отправки команды, милисекунды -const RESEND_TIMEOUT_FLASH = 1500 ## Задержка для повторной отправки команды флеш, милисекунды -const RETRY_COUNT = 5 ## Количество повторных отправок -const BUFFER_SIZE = 2048 ## Размер буфера для приёма датаграмм +const ONLINE_TIMEOUT: = 5000 ## Время ожидания пакета от ячейки, милисекунды +const RESEND_TIMEOUT: = 300 ## Задержка для повторной отправки команды, милисекунды +const RESEND_TIMEOUT_FLASH: = 1500 ## Задержка для повторной отправки команды флеш, милисекунды +const RETRY_COUNT: = 5 ## Количество повторных отправок +const BUFFER_SIZE: = 2048 ## Размер буфера для приёма датаграмм ## Ячейка ЯУ-07. @@ -30,10 +30,10 @@ class YaU07 extends unit.Unit: var cmd_num_rx: = 0 ## Номер команды принятый var cmd_num_tx: = 0 ## Номер команды переданный var cmd_result: = 1 ## Результат выполнения команды. Устанавливается в ЯУ-07 - var cmd_data: = PackedByteArray() ## Данные команды. Устанавливается в ЯУ-07 + var cmd_data: = PackedByteArray() ## Данные команды. Устанавливается в ЯУ-07 var cmd_retry: = RETRY_COUNT ## Счётчик оставшихся попыток выполнить команду - var cmd_code_rx = 0 ## Код последней выполненой команды - var cmd_code_tx = 0 ## Код последней отправленной команды + var cmd_code_rx: = 0 ## Код последней выполненой команды + var cmd_code_tx: = 0 ## Код последней отправленной команды var cmd_tick_tx: = 0 ## Время последней отправки команды var cmd_tick_rx: = 0 ## Время последнего приёма команды var status: = PackedByteArray() ## Поле "состояние прибора" @@ -46,7 +46,7 @@ class YaU07 extends unit.Unit: func _to_string() -> String: return String('яу07: %s %s' % [self.name, ['отключен', 'на связи'][int(online)]]) - func _init(nm): + func _init(nm: StringName): self.name = nm tx_data.resize(BUFFER_SIZE) tx_data.fill(0) @@ -57,7 +57,7 @@ class YaU07 extends unit.Unit: online = false emit_signal('line_changed', self) - var rc = Error.ERR_BUSY + var rc: = Error.ERR_BUSY if cmd_state == CmdState.SEND: rc = Error.OK cmd_tick_tx = tick @@ -96,16 +96,16 @@ class YaU07 extends unit.Unit: elif cmd_code == CmdCode.WRITE_FLASH: tx_data.encode_u8(7, 1) tx_data.encode_u16(8, 0) - tx_data.encode_u16(10, len(fl_data)) - tx_len = 11 + len(fl_data) * 2 - for i in len(fl_data): + tx_data.encode_u16(10, fl_data.size()) + tx_len = 11 + fl_data.size() * 2 + for i in fl_data.size(): tx_data.encode_u16(12 + i * 2, fl_data[i]) elif cmd_code == CmdCode.WRITE_FLASH_MP550: tx_data.encode_u8(7, id_sector) tx_data.encode_u16(8, 0) - tx_data.encode_u16(10, len(fl_data) * 2) - tx_len = 12 + len(fl_data) * 2 - for i in len(fl_data): + tx_data.encode_u16(10, fl_data.size() * 2) + tx_len = 12 + fl_data.size() * 2 + for i in fl_data.size(): tx_data.encode_u16(12 + i * 2, fl_data[i]) elif cmd_code == CmdCode.READ_FLASH: tx_len = 11 @@ -130,7 +130,7 @@ class YaU07 extends unit.Unit: cmd_num_tx = (cmd_num_rx + 1) % 0xffff - var ports_count = ports_data.size() + var ports_count: = ports_data.size() tx_len = ports_count * 2 + 8 tx_data.encode_u16(0, cmd_retry) # Исправление для сетевого стека "nm-callback" процессоров STM tx_data.encode_u16(2, cmd_num_tx) @@ -191,49 +191,49 @@ class YaU07 extends unit.Unit: ## Возвращает - Код команды не найден, 0...255 - код команды. func get_cmd_code(rx_data: PackedByteArray): - var rx_data_len = rx_data.size() + var rx_data_len: = rx_data.size() if rx_data_len < 7: return null - var status_len = rx_data.decode_u16(6) # Длина массива байтового "состояние прибора" - if rx_data_len <= (status_len + 6): # Нет поля "ответ на команду", разбор пакета завершить + var status_len: = rx_data.decode_u16(6) # Длина массива байтового "состояние прибора" + if rx_data_len <= (status_len + 6): # Нет поля "ответ на команду", разбор пакета завершить return null - var cmd_code_pos = status_len + 8 # Положение в приёмном буфере "кода команды" + var cmd_code_pos: = status_len + 8 # Положение в приёмном буфере "кода команды" if rx_data_len <= cmd_code_pos: return null - return rx_data[cmd_code_pos] # "код команды" + return rx_data[cmd_code_pos] # "код команды" - func parse_isa(rx_data: PackedByteArray, status_len) -> bool: - var ports_count_pos = status_len + 10 # Положение в приёмном буфере количества портов + func parse_isa(rx_data: PackedByteArray, status_len: int) -> bool: + var ports_count_pos: = status_len + 10 # Положение в приёмном буфере количества портов if rx_data.size() < ports_count_pos: return false - var ports_count = rx_data[ports_count_pos] # Количество портов - var counted_len = status_len + (ports_count * 4) + 11 # Вычисленная длина пакета + var ports_count: = rx_data[ports_count_pos] # Количество портов + var counted_len: = status_len + (ports_count * 4) + 11 # Вычисленная длина пакета if rx_data.size() < counted_len: return false - var addr_pos = status_len + 11 # Смещение положения адреса в приёмном буфере - var data_pos = status_len + 13 # Смещение положения данных в приёмном буфере + var addr_pos: = status_len + 11 # Смещение положения адреса в приёмном буфере + var data_pos: = status_len + 13 # Смещение положения данных в приёмном буфере var i: = 0 while i < ports_count: var shift: = i * 4 if rx_data.size() < (data_pos + shift): return false - var isa_addr = rx_data.decode_u16(addr_pos + shift) # Адрес порта ISA яу-07 - var isa_data = rx_data.decode_u16(data_pos + shift) # Данные порта ISA яу-07 + var isa_addr: = rx_data.decode_u16(addr_pos + shift) # Адрес порта ISA яу-07 + var isa_data: = rx_data.decode_u16(data_pos + shift) # Данные порта ISA яу-07 isa_ports[isa_addr] = isa_data i += 1 cmd_data = rx_data.slice(addr_pos, (addr_pos + ports_count * 4) - 1) return i > 0 - func parse_block(rx_data: PackedByteArray, status_len) -> bool: - var ports_count_pos = status_len + 7 # Положение в приёмном буфере количества портов + func parse_block(rx_data: PackedByteArray, status_len: int) -> bool: + var ports_count_pos: = status_len + 7 # Положение в приёмном буфере количества портов if rx_data.size() < ports_count_pos: return false if rx_data.size() < (ports_count_pos + 5): return false - var block_len = rx_data.decode_u16(ports_count_pos + 3) - var block_adr = rx_data.decode_u16(ports_count_pos + 5) - var block_data = [] + var block_len: = rx_data.decode_u16(ports_count_pos + 3) + var block_adr: = rx_data.decode_u16(ports_count_pos + 5) + var block_data: = [] if rx_data.size() < (ports_count_pos + 7 + (block_len - 1) * 2): return false for i in block_len: @@ -242,7 +242,7 @@ class YaU07 extends unit.Unit: isa_block[block_adr] = block_data return true - func parse_flash(rx_data: PackedByteArray, status_len, cmd_code) -> bool: + func parse_flash(rx_data: PackedByteArray, status_len: int, cmd_code: CmdCode) -> bool: if cmd_code == CmdCode.READ_FLASH: if rx_data.size() < (status_len + 14): return false @@ -268,7 +268,7 @@ class YaU07 extends unit.Unit: online = true emit_signal('line_changed', self) - var rx_data_len = rx_data.size() + var rx_data_len: int = rx_data.size() if rx_data_len < 10: return false @@ -276,14 +276,14 @@ class YaU07 extends unit.Unit: if cmd_state == CmdState.UNCK: cmd_state = CmdState.DONE - var status_len = rx_data.decode_u16(6) # Длина массива байтового "состояние прибора" + var status_len: int = rx_data.decode_u16(6) # Длина массива байтового "состояние прибора" if rx_data_len < (status_len + 6): return false var i: = 0 var len_rx_data: = rx_data.size() status.resize(status_len) while i < status_len: - var byte_i = i + 8 + var byte_i: = i + 8 if byte_i < len_rx_data: status[i] = rx_data[byte_i] # Массив байтовый "состояние прибора" i += 1 @@ -292,11 +292,11 @@ class YaU07 extends unit.Unit: if rx_data_len == (status_len + 6): return true # Нет поля "ответ на команду", разбор пакета завершить - var cmd_code_pos = status_len + 8 # Положение в приёмном буфере "код команды" + var cmd_code_pos: = status_len + 8 # Положение в приёмном буфере "код команды" if rx_data_len <= cmd_code_pos: return false - var cmd_status_pos = status_len + 9 # Положение в приёмном буфере "состояния выполнения команды" + var cmd_status_pos: = status_len + 9 # Положение в приёмном буфере "состояния выполнения команды" if rx_data_len <= cmd_status_pos: return false cmd_result = rx_data[cmd_status_pos] @@ -304,7 +304,7 @@ class YaU07 extends unit.Unit: return false var cmd_code: CmdCode = rx_data[cmd_code_pos] as CmdCode # "код команды" - var rc = true + var rc: = true if (cmd_code == CmdCode.READ_ISA) or (cmd_code == CmdCode.WRITE_ISA): rc = parse_isa(rx_data, status_len)