release 1.01
чуть доработано: - добавлен перенос шаблонов в проект - убрана линковка с библиотекой для изменения маски из конфига - исправлено изменение названия бинарника S-Function - исправлено некорректная запись из буфера в входы/выходы и обратно
This commit is contained in:
@@ -8,6 +8,8 @@ classdef mcuMask
|
||||
function MaskInitialization(maskInitContext)
|
||||
% Получаем хэндл текущего блока
|
||||
blk = gcbh;
|
||||
set_param(blk,"MaskSelfModifiable","on")
|
||||
set_param(blk, 'LinkStatus', 'none');
|
||||
% Получаем объект маски текущего блока
|
||||
mask = Simulink.Mask.get(gcb);
|
||||
% mcuMask.disp(1,'');
|
||||
@@ -143,11 +145,14 @@ classdef mcuMask
|
||||
|
||||
% Загружаем содержимое файла
|
||||
set_param(block, 'wrapperCode', '');
|
||||
code = fileread(filename);
|
||||
code = regexprep(code, '\r\n?', '\n'); % нормализуем окончания строк
|
||||
try
|
||||
code = fileread(filename);
|
||||
code = regexprep(code, '\r\n?', '\n'); % нормализуем окончания строк
|
||||
|
||||
includesText = editCode.extractSection(code, section);
|
||||
set_param(block, 'wrapperCode', includesText);
|
||||
includesText = editCode.extractSection(code, section);
|
||||
set_param(block, 'wrapperCode', includesText);
|
||||
catch
|
||||
end
|
||||
% % Поиск тела обычной функции
|
||||
% expr = sprintf('void %s()', sel);
|
||||
% funcBody = editCode.extractSection(code, expr);
|
||||
@@ -312,13 +317,17 @@ classdef mcuMask
|
||||
function set_name()
|
||||
block = gcb;
|
||||
% Получаем параметр имени S-Function из маски блока
|
||||
newName = get_param(block, 'sfuncName');
|
||||
newName = mcuMask.get_name();
|
||||
|
||||
% Путь к файлу, в котором надо заменить строку
|
||||
cFilePath = fullfile(pwd, './MCU_Wrapper/MCU.c'); % <-- укажи правильный путь
|
||||
|
||||
% Считаем файл в память
|
||||
fileText = fileread(cFilePath);
|
||||
try
|
||||
fileText = fileread(cFilePath);
|
||||
catch
|
||||
return;
|
||||
end
|
||||
|
||||
% Регулярное выражение для поиска строки с define
|
||||
% Заменим строку вида: #define S_FUNCTION_NAME old_name
|
||||
@@ -336,10 +345,14 @@ classdef mcuMask
|
||||
error('Не удалось открыть файл для записи.');
|
||||
end
|
||||
fwrite(fid, updatedText);
|
||||
fclose(fid);
|
||||
|
||||
fclose(fid);
|
||||
end
|
||||
|
||||
function name = get_name()
|
||||
block = gcb;
|
||||
% Получаем параметр имени S-Function из маски блока
|
||||
name = get_param(block, 'sfuncName');
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user