diff --git a/MCU Wrapper.mltbx b/MCU Wrapper.mltbx index 646b774..b92d2d8 100644 Binary files a/MCU Wrapper.mltbx and b/MCU Wrapper.mltbx differ diff --git a/McuLib/install_my_library.m b/McuLib/install_my_library.m index 5b72687..4a641e3 100644 --- a/McuLib/install_my_library.m +++ b/McuLib/install_my_library.m @@ -2,12 +2,24 @@ function install_my_library() libDir = fileparts(mfilename('fullpath')); + % Путь к файлу-флагу, указывающему, что установка уже была + flagFile = fullfile(libDir, '.library_installed.mat'); + + % Если библиотека уже установлена — просто выходим + if isfile(flagFile) + return; + end + % 1. Добавляем библиотеку и m-файлы в путь addpath(fullfile(libDir, 'lib')); addpath(fullfile(libDir, 'm')); savepath; - % 3. Обновляем Library Browser + % 2. Обновляем Library Browser rehash; sl_refresh_customizations; + + % 3. Сохраняем флаг установки + installedOn = datetime('now'); + save(flagFile, 'installedOn'); end diff --git a/McuLib/lib/McuLib.slx b/McuLib/lib/McuLib.slx index a091a4c..1432d09 100644 Binary files a/McuLib/lib/McuLib.slx and b/McuLib/lib/McuLib.slx differ diff --git a/McuLib/m/mainConfig.m b/McuLib/m/mainConfig.m index a588212..3a1aee0 100644 --- a/McuLib/m/mainConfig.m +++ b/McuLib/m/mainConfig.m @@ -6,7 +6,8 @@ classdef mainConfig blockPath = gcb; mask = Simulink.Mask.get(blockPath); wrapParamToExport = {'wrapperPath', 'enableDebug', 'mcuClk', ... - 'threadCycles', 'enableThreading', 'enableDeinit'}; + 'threadCycles', 'enableThreading', 'enableDeinit', ... + 'periphPath'}; portParamToExport = {'inNumb', ... 'in_port_1_name', 'in_port_1_width', ... 'in_port_2_name', 'in_port_2_width', ... @@ -103,6 +104,8 @@ classdef mainConfig end mcuMask.disp(0, 'Конфигурация успешно импортирована.'); + + mcuMask.periphUpdate(); end end diff --git a/McuLib/m/mcuMask.m b/McuLib/m/mcuMask.m index 0947dcf..104fd17 100644 --- a/McuLib/m/mcuMask.m +++ b/McuLib/m/mcuMask.m @@ -324,6 +324,9 @@ classdef mcuMask start(t); end + function v = getMyLibVersion() + v = 'pre-1.03'; + end end end \ No newline at end of file diff --git a/McuLib/m/mexing.m b/McuLib/m/mexing.m index 1b42f89..1e3b9e2 100644 --- a/McuLib/m/mexing.m +++ b/McuLib/m/mexing.m @@ -265,7 +265,11 @@ function definesWrapperArg = addDefineByParam(definesWrapperArg, paramName, val_ newDefine = ''; end else - newDefine = ['-D"' def_name '__EQ__' val '"']; + if strcmp(param.Alias, '') + newDefine = ['-D"' def_name '"']; + else + newDefine = ['-D"' def_name '__EQ__' val '"']; + end end diff --git a/McuLib/m/periphConfig.m b/McuLib/m/periphConfig.m index ee6d26e..a6a8b04 100644 --- a/McuLib/m/periphConfig.m +++ b/McuLib/m/periphConfig.m @@ -632,7 +632,7 @@ classdef periphConfig end end - callback = sprintf('periphConfig.periphParamCallback("%s");', paramName); + callback = sprintf('try periphConfig.periphParamCallback("%s"); catch end', paramName); param.Callback = callback; end diff --git a/mcuwrapper.prj b/mcuwrapper.prj index f556f14..9b26494 100644 --- a/mcuwrapper.prj +++ b/mcuwrapper.prj @@ -1,5 +1,5 @@ - + MCU Wrapper Razvalyaev wot890089@mail.ru @@ -7,7 +7,7 @@ Library for run MCU program in Simulink - 1.02 + 1.03 ${PROJECT_ROOT}\MCU Wrapper.mltbx @@ -84,6 +84,7 @@ ${PROJECT_ROOT}\McuLib + ${PROJECT_ROOT}\McuLib\.library_installed.mat ${PROJECT_ROOT}\McuLib\install_my_library.m ${PROJECT_ROOT}\McuLib\lib ${PROJECT_ROOT}\McuLib\m