How can I generate code that uses C++ namespaces on the input/output data types?

22 visualizaciones (últimos 30 días)
I want to generate C++ code for a Simulink model which has several non-virtual busses as inputs and outputs. The input and output data types are defined in an external header that uses namespaces. Now if I just define a Simulink.Bus that matches the C++ structure definition, give it the same name as in C++ (but without the namespace) and set the "Header file" to the C++ Header which actually defines the structure, code generation works, BUT the generated code ignores the namespace. The name of the structure types in the generated code is solely based on the names of the Simulink.Bus objects and I obviously cannot use the namespace separator :: in the name of a Simulink.Bus. So, is there any way to have C++ namespaces in the types of input/output data? I already tried to add the namespace via a custom storage class and corresponding .tlc without any luck. As far as I understand Custom Storage Classes can only be defined for Signals(and Parameters) but not directly for Busses and when I create a Signal I have to set its data type to the respective Bus which will then again end up as struct type in the generated code.

Respuestas (1)

Pierre Harouimi
Pierre Harouimi el 11 de Mayo de 2021
  1 comentario
Ian Colwell
Ian Colwell el 21 de Nov. de 2022
Hi Pierre, the link you provided does not seem to apply to exporting code from simulink, it only seems to apply to exporting code from m files.
Does anyone know how to namespace simulink exported C++ code?

Iniciar sesión para comentar.

Categorías

Más información sobre Simulink Coder en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by