creating a structure from a bus object in matlab

I have a busobject which has elements and then each element either has a datatype of primitive (uint8 single, uint16) or has a datatype which is another bus object. i wanted to parse this but i get the error 'Function cannot be indexed using {} or .indexing' when i use a nested function since i need to use the bsu objects from the workspace. this is my code:
function s_func_parse(component_name,counter)
length_bus=length(component_name.Elements);
for i=1:length_bus
primitive_component{1,counter}=strcat(component_name.Elements(i).Datatype,'.');
if(strcmp(component_name.Elements(i).Datatype,'uint8')~=1 || strcmp(component_name.Elements(i).Datatype,'single')~=1 || strcmp(component_name.Elements(i).Datatype,'uint16')~=1 || strcmp(component_name.Elements(i).Datatype,'uint32')~=1)
new_component=char(busobject.Elements(i).Datatype);
s_func_parse(new_component,counter);
else
primitive_component{1,counter}=strcat(primitive_component,busobject.Element(i));
end;
end;
assignin('base', 'primitive_component', primitive_component);
end
where component_name is the main bus object and counter determines the total number of primitives i am having and this value i already know.
for now am not able to solve this problem so I thought of converting the bus object to a structure which has all the data inside it. Is it possible?

1 commentaire

Jan
Jan le 20 Mar 2015
Please post the complete error message. Most of all the line, which causes the error cannot be guessed by the readers.

Connectez-vous pour commenter.

 Réponse acceptée

Sebastian Castro
Sebastian Castro le 20 Mar 2015

0 votes

You can convert buses to structures using this function:
- Sebastian

1 commentaire

I solved the problem by creating a custom struct with data i needed but i think your solution will work as well. have not yet tried it but saw the example and looks like it works so i will accept it for now.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by