Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

How do I group signal definitions per their data types in generated code?

1 vue (au cours des 30 derniers jours)
mayuresh
mayuresh le 18 Déc 2012
Clôturé : MATLAB Answer Bot le 20 Août 2021
I am generting C code from a model which contains signals with different data types like integers, characters, words etc.
When generating code, I would like to group signal definitions all signals of same type together.
Foe example:
unit8 var1; uint8 var4;
uint16 var2; uint16 var3;
uint32 var5;
How can I achieve this?

Réponses (1)

Jonathan
Jonathan le 18 Déc 2012
The class() function can reveal what type of data is being input. To sort it you could check the class of the input and store it in a vector. This code is assuming your "input" is from an outside source so this is treated like a separate function call. If the input is internal then you could also use a for-loop around the switch-case
global array8 array16 array32
input = uint8(12);
switch class(input)
case 'uint8'
array8(end+1) = input;
case 'uint16'
array16(end+1) = input;
etc.
that's just a demo, you'd have to include
array8 = []
and stuff for that to be functional. If you're more specific we could help you out a bit better, but that should get you started :)
  1 commentaire
mayuresh
mayuresh le 19 Déc 2012
Thanks for the answer Jonathan. However, I would like these variables to be grouped directly in the generated C file.
So, if my model uses 3 UByte signals, 3 Uint signals , then when RTW generates C code I would like their declarations to be grouped together.

Community Treasure Hunt

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

Start Hunting!

Translated by