diff --git a/McuLib/m/appWrap.m b/McuLib/m/appWrap.m index 14de84f..e0f7fe7 100644 --- a/McuLib/m/appWrap.m +++ b/McuLib/m/appWrap.m @@ -63,7 +63,7 @@ classdef appWrap block = gcb; % Получаем имя функции и путь к файлам - filename = appWrap.getAbsolutePath(mcuMask.getAppWrapperUserFile(block)); + filename = mcuPath.getAbsolutePath(appWrap.getAppWrapperUserFile(block)); if exist(filename, 'file') == 2 % Формируем команду без кавычек cmd = sprintf('rundll32.exe shell32.dll,OpenAs_RunDLL %s', filename); diff --git a/McuLib/m/mcuMask.m b/McuLib/m/mcuMask.m index 6dc61b0..0947dcf 100644 --- a/McuLib/m/mcuMask.m +++ b/McuLib/m/mcuMask.m @@ -175,10 +175,10 @@ classdef mcuMask return; end - modelName = bdroot(gcb); % получить имя верхнего уровня модели - blockName = gcb; - mgr = asynchManage(modelName, blockName); % создать объект класса - mgr.saveAndUpdateModel(); % запустить сохранение и обновление + % modelName = bdroot(gcb); % получить имя верхнего уровня модели + % blockName = gcb; + % mgr = asynchManage(modelName, blockName); % создать объект класса + % mgr.saveAndUpdateModel(); % запустить сохранение и обновление end function close(blockPath) diff --git a/McuLib/m/periphConfig.m b/McuLib/m/periphConfig.m index 528fce5..b2520f7 100644 --- a/McuLib/m/periphConfig.m +++ b/McuLib/m/periphConfig.m @@ -306,6 +306,27 @@ classdef periphConfig methods(Static, Access=private) + + + function addHiddenParam(mask, containerName, nameBase, kind, existingParams) + % Преобразуем к красивому имени + prettyName = strrep(nameBase, '_', ' '); + paramName = ['Hidden_' char(nameBase) '_' kind]; + if ismember(paramName, existingParams) + return; + end + + mask.addParameter( ... + 'Name', paramName, ... + 'Type', 'edit', ... + 'Prompt', ['Hidden ' prettyName ' ' kind], ... + 'Value', '', ... + 'Visible', 'off', ... + 'Container', containerName ... + ); + fprintf('Создан скрытый параметр: %s\n', paramName); + end + function clear_tab_params(mask, configStruct, prefix, depth) if nargin < 4 depth = 0; @@ -709,8 +730,8 @@ classdef periphConfig function clear_single_periph_code_param(mask, periph) % Очистка кода одного поля конфига paramNames = { - ['Hidden_' periph '_Sources'], - ['Hidden_' periph '_Includes'] + ['Hidden_' char(periph) '_Sources'], + ['Hidden_' char(periph) '_Includes'] }; for i = 1:numel(paramNames) @@ -739,7 +760,7 @@ classdef periphConfig % Сохраняем Includes, если они есть if isfield(code, 'Includes') - paramName = ['Hidden_' periph '_Includes']; + paramName = ['Hidden_' char(periph) '_Includes']; try param = mask.getParameter(paramName); param.Value = periphConfig.convert_code_value(code.Includes);