How to create the designed simulink block with the desired Inline function

3 visualizzazioni (ultimi 30 giorni)
hello.
I have a question about how to create an inline function in simulink coder.
I understand that you can select Inline in the Code Generation Tab of 'Block Parameters' in Simulink.
However, this is not the way I want to generate code.
Does Mathoworks support the method of generating code in the form of an inline void function as shown below?
If so, could you tell me how?
thank you
**************************************************************************************
static inline uint16_t CTRL_Clamp(float32_t *data, float32_t Umax, float32_t Umin)
{
return ;
}
**************************************************************************************

Risposte (1)

Angelo Yeo
Angelo Yeo il 3 Mag 2024
The hard inline option within "Function Packaging" seems not to meet your needs. Unfortunately, there's currently no method to prefix functions with the C inline keyword specifier.
It would be the best if you can provide us with the reason you prepfer to add inline specifier instead of explicitly inlining the code. This would greatly assist us in prioritizing the development of this feature.
  1 Commento
WJKIM
WJKIM il 7 Mag 2024
Spostato: Angelo Yeo il 7 Mag 2024
Thank you for answer.
There are pros and cons to each method, but basically we were considering two main things.
First, when using the same (Iniline) function
> The same inline code is generated in multiple places, increasing the number of codes.
> You can use a Reuseable Function, but it is not inline.
Second, code readability
> Even if you generate inline code, when you look at the generated code, it appears that it will be easier to read when debugging if it is divided into functions.

Accedi per commentare.

Categorie

Scopri di più su Simulink Coder in Help Center e File Exchange

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by