17 Commits

Author SHA1 Message Date
Razvalyaev
da78efc988 Доработка periphConfig
Фикс обновления имени S-Function
2025-11-14 21:59:27 +03:00
Razvalyaev
9b8b5ec533 Все изменения накопившиеся с релиза 2025-11-14 21:56:39 +03:00
Razvalyaev
ac2fe4d653 pre-release 1.02? 2025-06-19 13:25:21 +03:00
Razvalyaev
5648875cd2 добавлен экспорт и импорт настроек оболочки и приложения МК
работа с конфигом (чтение запись) перенесена в отдельный файл

добавлена возможность через popup сделать define = чему-то
2025-06-17 18:34:23 +03:00
razvalyaev
e77a659710 исправлено открыти файлов app wrapper
исправлено формирвоание строки для записи source и includes
2025-06-16 16:48:07 +03:00
Razvalyaev
abdf0f1e50 установщик 2025-06-16 08:21:39 +03:00
Razvalyaev
4c78383edf чуть структурированго но надо еще
перенести работу с конфигом в отдельную папку и реализовать конфиг для всего симулятора. Чтобы можно было легко переносить настройки оболочки
2025-06-16 00:28:13 +03:00
Razvalyaev
9d5cd30bb8 исправлено авторазмещение 2025-06-15 23:59:06 +03:00
Razvalyaev
5a92e0bec0 сделано подключение сурсов по конфигу, но надо бы как-то структуризировать 2025-06-15 23:39:34 +03:00
Razvalyaev
982d29560f надо сделать подключение сурсов по чекбоксам
пока ничего не работает
2025-06-15 16:48:59 +03:00
Razvalyaev
02379d4c46 обновлен шаблон run_bat и симуликн модель 2025-06-15 16:05:30 +03:00
Razvalyaev
0145ec818e добавлено авторазмещение параметров по колву элементов в строке
сделана инициализация таблицы по необходимости (деинициализированные колонки)
2025-06-15 15:52:44 +03:00
Razvalyaev
7c2fb99908 добавлена поддержка popup в конфиге
добавлена задание src в run_bat.mex по чекбоксу
исправлены лишние абзацы в disp
2025-06-15 15:18:11 +03:00
Razvalyaev
058d3a00cf добавелно включение вкладок по конфигу 2025-06-15 12:52:53 +03:00
Razvalyaev
edb22966ff структуризировано:
выделены отдельный файл для работы с wrapper и appwrapper
2025-06-15 10:55:05 +03:00
Razvalyaev
245592a821 minor
переименованы функции для app wrapper
2025-06-15 10:33:32 +03:00
Razvalyaev
0a2fd71422 - сделан выбор папки с MCU Wrapper
- добавлен файл для работы с путями
- добавлен файл для работы с компилятором (не доделан)
2025-06-15 10:25:24 +03:00
9 changed files with 11 additions and 22 deletions

Binary file not shown.

View File

@@ -74,7 +74,7 @@ classdef appWrap
code = editCode.insertSection(code, section, newBody);
% Сохраняем изменения прямо из MATLAB без внешних редакторов
fid = fopen(filename, 'w', 'n', 'UTF-8');
fid = fopen(filename, 'w', 'n');
if fid == -1
errordlg('Не удалось сохранить файл из MATLAB', 'Ошибка записи');
return;

View File

@@ -89,7 +89,7 @@ classdef compiler
code = editCode.insertSection(code, Section, periphBat);
% Записываем обновленный BAT-файл
fid = fopen(batPath, 'w', 'n', 'UTF-8');
fid = fopen(batPath, 'w', 'n');
if fid == -1
error('Не удалось открыть файл для записи');
end

View File

@@ -105,7 +105,7 @@ classdef configJs
jsonText = jsonencode(config, 'PrettyPrint', true);
% Записываем JSON в файл
fid = fopen(config_path, 'w', 'n', 'UTF-8');
fid = fopen(config_path, 'w', 'n');
if fid == -1
error('Не удалось открыть файл periph_config.json для записи.');
end

View File

@@ -167,7 +167,7 @@ classdef mcuMask
updatedText = regexprep(fileText, pattern, newLine);
% Запись изменений обратно в файл
fid = fopen(cFilePath, 'w', 'n', 'UTF-8');
fid = fopen(cFilePath, 'w', 'n');
if fid == -1
error('Не удалось открыть файл для записи.');
end

View File

@@ -46,7 +46,7 @@ classdef mcuPorts
code = editCode.insertSection(code, '// INPUT/OUTPUTS AUTO-PARAMS', headerText.AUTO_PARAMS);
% Записываем обновленный заголовочный файл
fid = fopen(hPath, 'w', 'n', 'UTF-8');
fid = fopen(hPath, 'w', 'n');
if fid == -1
error('Не удалось открыть файл для записи');
end
@@ -57,7 +57,7 @@ classdef mcuPorts
code = editCode.insertSection(cCode, '// INPUT/OUTPUTS AUTO-PARAMS', cText);
% Записываем обновленный файл реализации
fid = fopen(cPath, 'w', 'n', 'UTF-8');
fid = fopen(cPath, 'w', 'n');
if fid == -1
error('Не удалось открыть файл для записи');
end

View File

@@ -1,19 +1,18 @@
% Компилирует S-function для блока микроконтроллера в Simulink
% compile_mode: 1 - компиляция, 0 - обновление конфигурации
function res = mexing(compile_mode)
global Ts
Ts = 0.00001; % Установка глобального времени дискретизации
if compile_mode == 1
block = gcb;
% === РЕЖИМ КОМПИЛЯЦИИ ===
setenv('VSLANG', '1033'); % Английский для Visual Studio
% Обновление параметров блока
block = gcb;
newName = get_param(block, 'sfuncName');
oldName = get_param(block, 'FunctionName');
if ~strcmp(newName, oldName)
set_param(block, 'FunctionName', newName); % Обновление имени функции
mcuMask.setSFuncName(block);
end
newParam = get_param(block, 'sfuncParam');

View File

@@ -77,6 +77,8 @@ classdef periphConfig
% В случае ошибки восстанавливаем таблицы
customtable.restore_all_tables(tableNames, columns_backup);
end
periphConfig.addUserFunctions(config.UserCode);
end
function update()

View File

@@ -100,14 +100,12 @@
</build-deliverables>
<workflow />
<matlab>
<root>C:\Program Files\MATLAB\R2023a</root>
<root>C:\Program Files\MATLAB\R2021b</root>
<toolboxes>
<toolbox name="matlabcoder" />
<toolbox name="embeddedcoder" />
<toolbox name="gpucoder" />
<toolbox name="fixedpoint" />
<toolbox name="matlabhdlcoder" />
<toolbox name="neuralnetwork" />
</toolboxes>
<toolbox>
<matlabcoder>
@@ -129,16 +127,6 @@
<enabled>true</enabled>
</fixedpoint>
</toolbox>
<toolbox>
<matlabhdlcoder>
<enabled>true</enabled>
</matlabhdlcoder>
</toolbox>
<toolbox>
<neuralnetwork>
<enabled>true</enabled>
</neuralnetwork>
</toolbox>
</matlab>
<platform>
<unix>false</unix>