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

2 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

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)

Categories

Find more on Simulink Coder in Help Center and File Exchange

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!