MATLAB Answers

Is it possible to assign arrays with different length for LUT parameters in generated code than in Simulink?

3 views (last 30 days)
Hi,
I intend to generate C-Code out of my simulink model using Simulink Coder (ert.tlc). I wish to tune certain parameters of simulink model and for this reason, i have created simulink objects with "ImportedExternPointer" storage class.
While compiling and generating the code, the length of arrays for breakpoint and table data of a particular lookup table was 15000. I wish to tune these parameters, not just by the values, but also by the length of these arrays. I hoped that defining them as pointers would allow me to do so. However in the code, the function for lookup table looks as follows
real_T look1_bftfId_binlagpw(real_T u0, const real32_T bp0[], const real32_T
table[], uint32_T maxIndex)
and correspondingly, the code snippet for the relevant lookup table is as below.
look1_bftfId_binlagpw
(InputSignal->Timing.t[0], BreakpointData,
TableData, 15000U)
Is there a way to remove this restriction and give different sized array as inputs?
Thanks and best regards,
Karthik

  0 Comments

Sign in to comment.

Accepted Answer

Nick Sarnie
Nick Sarnie on 28 Jun 2019
Edited: Nick Sarnie on 1 Jul 2019
Edit: See below response

  1 Comment

Karthik  Vemireddy
Karthik Vemireddy on 1 Jul 2019
Hi,
upon looking up the documentation again, i have found the following:
Based on it, i have chosen the following options
LUTSnapshot.PNG
and then the defined the MaxIdx as dataobject.... The generated code now has :
real_T look1_bftfId_binlagpw(real_T u0, const real32_T bp0[], const real32_T
table[], uint32_T maxIndex)
and the relevant LUT Code is as follows:
rtb_Saturation_c = look1_bftfId_binlagpw(rtb_alpha_y, BreakpointData,
TableData, *MaxIdx);
It had replaced the upperlimit with relevant variables at all the required places...
For the cases, that i have tested till now, it works :)
Best R'gds
Karthik

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!