From fb42f5bc00d641d2ce5a7391011fe58c6e7ac238 Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Thu, 6 Mar 2025 14:25:39 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0.=20=D0=9F=D0=B5=D1=80=D0=B5=D0=BF=D0=B8=D1=81?= =?UTF-8?q?=D0=B0=D0=BD=D0=BD=D1=8B=D0=B9=20=D0=BF=D0=B0=D1=80=D1=81=D0=B5?= =?UTF-8?q?=D1=80=20setting.json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/settings.gd | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/scripts/settings.gd b/scripts/settings.gd index eff466a4..d4642439 100644 --- a/scripts/settings.gd +++ b/scripts/settings.gd @@ -30,7 +30,7 @@ var settings_program: Dictionary 'уарэп-5п28': [ '5p28', '127.0.0.1', [50000], 'IP-адрес комплекса 5П-28'], # Название: [ Протокол, Адрес, Скорость, ??, ??, Комментарий - 'уарэп-щ3': ['mbcs', '/home/sasha/dev/tty1', [19200, 7, 'N', 8, 1], 'Параметры клиента Modbus Serial'], + 'уарэп-щ3': ['mbcs', '/home/sasha/dev/tty1', [7, 19200, 'N', 8, 1], 'Параметры клиента Modbus Serial'], # Название: [ Протокол, Имя порта, Скорость, Чётность, ??, Комментарий 'уарэп-спт25-1': ['uart', '/home/sasha/dev/tty0', [19200, false, false], 'Адрес прибора СПТ-25 (G1)'], @@ -58,15 +58,29 @@ func _ready() -> void: settings_program.merge(json_data) for key in UnitProfiles.keys(): if not json_data.has(key): continue - UnitProfiles[key][1] = json_data[key][0] + var temp_array = [] + var set_from_file = true + if typeof(json_data[key][0]) == typeof(UnitProfiles[key][1]): + temp_array.append(json_data[key][0]) + else: + set_from_file = false + if (len(json_data[key]) - 1) != len(UnitProfiles[key][2]): + log.info('Не удалось прочитать файл настроек %s, ошибка длинны массива' % settings_file) + continue + temp_array.append([]) for i in len(json_data[key]) - 1: - if typeof(json_data[key][i+1]) == TYPE_STRING: - if json_data[key][i+1].is_valid_int(): - UnitProfiles[key][2][i] = int(json_data[key][i+1]) - else: - UnitProfiles[key][2][i] = json_data[key][i+1] + if tools.type_is_num(json_data[key][i+1]) == tools.type_is_num(UnitProfiles[key][2][i]): + temp_array[1].append(json_data[key][i+1]) + elif typeof(json_data[key][i+1]) == typeof(UnitProfiles[key][2][i]): + temp_array[1].append(json_data[key][i+1]) else: - UnitProfiles[key][2][i] = json_data[key][i+1] + set_from_file = false + if set_from_file: + UnitProfiles[key][1] = temp_array[0] + UnitProfiles[key][2] = temp_array[1] + else: + log.info('Не удалось прочитать ключ %s из файла настроек, использованы настройики по умолчанию' % key) + log.info('Модуль настроек готов')