27 lines
1.3 KiB
Matlab
27 lines
1.3 KiB
Matlab
% Copyright 2024 Volvo Car Corporation
|
|
% Licensed under Apache 2.0.
|
|
|
|
function classSortedBlocks = sortSystemByClass(system)
|
|
classes={'CVC_DISP'; 'CVC_CAL'};
|
|
classSortedBlocks=struct;
|
|
for i=1:length(classes)
|
|
classSortedBlocks.(classes{i}) = [];
|
|
end
|
|
|
|
%TODO: this parsing is not that nice, as it will find combinations of class
|
|
%suffixes, which does not exist.
|
|
blksWithType = find_system(system, 'FindAll', 'on', 'lookundermasks', 'on', 'regexp', 'on', ...
|
|
'masktype', 'TL(?!_PreProcessorIf|_MilHandler|_Enable|_SimFrame|_MainDialog|_Function|_StateflowLogger|_StateflowLoggingMain|_ToolSelector|_AddFile|_DummyTrigger|_DataStoreRead|_DataStoreWrite|_CustomCode|SAMPLES_BW_LOGICAL_OPERATOR|SAMPLES_ROUNDING_FUNCTION|SAMPLES_16BIT_DECODER|SAMPLES_16BIT_ENCODER).*', 'data', '.*?''output''\,.*?');
|
|
classWithType= tl_get(blksWithType, 'output.class');
|
|
if ~isempty(classWithType)
|
|
for i=1:length(classes)
|
|
class = classes{i};
|
|
filter_tmp = regexp(classWithType,['(?:ASIL_[ABCD]/){0,1}' class '(?:_MERGEABLE|_BURAM)?' '(?:_ASIL_[ABCD]){0,1}' '$']);
|
|
if ~isempty(filter_tmp)
|
|
filter = cellfun(@(c)~isempty(c), filter_tmp);
|
|
classSortedBlocks.(classes{i}) = blksWithType(filter);
|
|
end
|
|
end
|
|
end
|
|
end
|