olindgre 2ece01e1d7 Make powertrain-build not overlap with pybuild in site-packages
Change-Id: I7b59f3f04f0f787d35db0b9389f295bf1ad24f56
2024-09-17 10:25:04 +02:00

38 lines
1.4 KiB
Matlab

% Copyright 2024 Volvo Car Corporation
% Licensed under Apache 2.0.
function interfaceSignals = getInterfaceSignals(rootFolder)
activeInterfaceFiles = dir([rootFolder '/Projects/*/Config/ActiveInterfaces/*Output.csv']);
disp('Reading active interface files');
signalNameColumn = 2;
signalMinColumn = 5;
signalMaxColumn = 6;
signalInitValueColumn = 9;
signals = [];
minimums = [];
maximums = [];
values = [];
for fileIndex = 1:length(activeInterfaceFiles)
interfaceFile = activeInterfaceFiles(fileIndex, :);
filePath = fullfile(interfaceFile.folder, interfaceFile.name);
disp(['Reading:' filePath])
options = detectImportOptions(filePath);
options.LineEnding = {'\r\n'};
csvContent = readtable(filePath, options);
signals = [signals; csvContent{:, signalNameColumn}];
minimums = [minimums; csvContent{:, signalMinColumn}];
maximums = [maximums; csvContent{:, signalMaxColumn}];
values = [values; csvContent{:, signalInitValueColumn}];
% Remove duplicate signals, hopefully, the initial values were the same...
[signals, indices] = unique(signals, 'stable');
minimums = minimums(indices);
maximums = maximums(indices);
values = values(indices);
end
replaceNaNs = isnan(values);
values(replaceNaNs) = 0;
interfaceSignals = horzcat(signals, num2cell(minimums), num2cell(maximums), num2cell(values));
end