mcu_matlab/McuLib/m/mainWrap.m
2025-06-19 13:29:33 +03:00

72 lines
2.5 KiB
Matlab

classdef mainWrap
methods(Static)
function enableThreading()
block = gcb;
maskNames = get_param(block, 'MaskNames');
maskValues = get_param(block, 'MaskValues');
maskEnables = get_param(block, 'MaskEnables');
idxEnable = find(strcmp(maskNames, 'enableThreading'));
idxEdit = find(strcmp(maskNames, 'threadCycles'));
if isempty(idxEnable) || isempty(idxEdit)
error('Параметры enableThreading или threadCycles не найдены в маске');
end
val = maskValues{idxEnable};
if strcmp(val, 'on')
maskEnables{idxEdit} = 'on';
else
maskEnables{idxEdit} = 'off';
end
set_param(block, 'MaskEnables', maskEnables);
end
function enableDeinit()
block = gcb;
maskNames = get_param(block, 'MaskNames');
maskValues = get_param(block, 'MaskValues');
maskEnables = get_param(block, 'MaskEnables');
idxEnable = find(strcmp(maskNames, 'enableThreading'));
idxEdit = find(strcmp(maskNames, 'threadCycles'));
if isempty(idxEnable) || isempty(idxEdit)
error('Параметры enableThreading или threadCycles не найдены в маске');
end
val = maskValues{idxEnable};
if strcmp(val, 'on')
maskEnables{idxEdit} = 'on';
else
maskEnables{idxEdit} = 'off';
end
set_param(block, 'MaskEnables', maskEnables);
end
function extConsol()
block = gcb;
mask = Simulink.Mask.get(block);
fullOut = mask.getParameter('fullOutput');
extCons = mask.getParameter('extConsol');
if isempty(extCons) || isempty(fullOut)
error('Параметры fullOutput или extConsol не найдены в маске');
end
if(strcmp(extCons.Enabled, 'on'))
if strcmp(extCons.Value, 'on')
fullOut.Enabled = 'off';
fullOut.Value = 'on';
else
fullOut.Enabled = 'on';
end
else
fullOut.Enabled = 'on';
end
end
end
%% SPECIFIC TOOLS
methods(Static, Access = private)
end
end