1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
% Get the current data structure
Dico = getappdata(handles.fg_main,'Dico');
% Get file dictionnary
[FileName,PathName] = uigetfile({'.xml'},'Select the EMS dictionnary');
data = fullfile(PathName,FileName);
% cancel case
if ~ischar(FileName)
return
else
set(handles.ed_EMSDictionnary_path,'String',fullfile(PathName,FileName));
% Import data from dictionnary
data = xml2struct(fullfile(PathName,FileName));
[raw] = xmlread(fullfile(PathName,FileName));
line_nb = length(data.pinout.pin_usage);
Dico.data.pin_ref = [];
Dico.data.Name = [];
Dico.data.high_pin = [];
Dico.data.low_pin= [];
Dico.data.gnd_pin =[];
Dico.data.supply_pin =[];
for i= 1 : length(data.pinout.pin_usage)
if (isfield(data.pin_usage{1,i}.Attributes,'pin_reference'))
Dico.data.pin_ref{i} =data.pin_usage{1,i}.Attributes.pin_reference;
else
Dico.data.pin_ref{i}={''};
end
if (isfield(data.pin_usage{1,i}.Attributes,'signal_reference'))
Dico.data.Name{i} =data.pin_usage{1,i}.Attributes.signal_reference;
elseif (isfield(data.pin_usage{1,i}.Attributes,'injector_name'))
Dico.data.Name{i}=data.pin_usage{1,i}.Attributes.injector_name;
else
Dico.data.Name{i}= 'NC';
end
if (isfield(data.pin_usage{1,i}.Attributes,'highside_pin_reference'))
Dico.data.high_pin{i} =data.pin_usage{1,i}.Attributes.highside_pin_reference;
else
Dico.data.high_pin{i}={''};
end
if (isfield(data.pin_usage{1,i}.Attributes,'lowside_pin_reference'))
Dico.data.low_pin{i} =data.pin_usage{1,i}.Attributes.lowside_pin_reference;
else
Dico.data.low_pin{i}={''};
end
if (isfield(data.pin_usage{1,i}.Attributes, 'supply_pin_reference'))
Dico.data.gnd_pin{i} =data.pin_usage{1,i}.Attributes.supply_pin_reference;
else
Dico.data.gnd_pin{i}={''};
end
if (isfield(data.pin_usage{1,i}.Attributes, 'gnd_pin_reference'))
Dico.data.supply_pin{i} =data.pin_usage{1,i}.Attributes.gnd_pin_reference;
Dico.data.supply_pin{i}={''};
end
end |
Partager