Reusable functions (embedded coder) and model reference

6 vues (au cours des 30 derniers jours)
Paolo
Paolo le 17 Jan 2014
Commenté : Vivek le 15 Mai 2024
I have a model A which contains two other models B and C through the model referencing. All this models use a block defined in a custom library. I have set "Function packaging: Reusable function" for the library block. By this way each model (A, B or C) reuse code for the block. However in the generated C code, for each model I have a different function (with different signature but the same implementation). I would create reusable code for the library block. That is I want only one implementation for the function called by all the models A, B and C. I tried to set function name and File name for the library block but I get an error
"Potential conflicting usages of identifier 'rtZCSV_GainLib': a global identifier from model B, and a global identifier from model C The conflict may be resolved by increasing the maximum identifier length on the Symbols pane of the Configuration Parameters dialog box. Otherwise the conflicting identifiers need to be renamed."
Is it possible generate only one implementation for the library block in a given c files and configure all the models A, B, C in a way that they call the same function? What are the settings I have to use?
Thanks,
Paolo

Réponses (2)

Yihe Zuo
Yihe Zuo le 25 Oct 2014
I also got the problem, still can't figure out what is wrong. The best solution is to configure function package to be 'Auto'.
  1 commentaire
Vivek
Vivek le 15 Mai 2024
Did you get the solution for this error? If yes please mention, it would be helpful.

Connectez-vous pour commenter.


Raghav Paul
Raghav Paul le 2 Oct 2019
Check out this feature:
This generates one copy of the subsystem code in slprj/ert/_sharedutils that will be reused across the model reference hierarchy. You can debug why code isn't reused using the method described here:

Catégories

En savoir plus sur Deployment, Integration, and Supported Hardware dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by