hi mantas here is the explanation for those terms
- main_start_wrapper: it is a function which is responsible for initializing the necessary resources and setting up the environment for your real-time application. it performs tasks such as initializing variables, setting up communication interfaces, and configuring the real-time target. it is called once at the start of the application.
- main_outputs_wrapper: this function is the main computation loop of your real-time application. it is responsible for performing the calculations, control algorithms, or simulations in a real-time context. it is executed repeatedly, typically at a fixed frequency determined by your real-time target and system requirements. this function computes the outputs of your application based on the inputs and the current state of the system.
- main_terminate_wrapper: this function is called at the end of the real-time application's execution. it is responsible for cleaning up resources, releasing memory, and shutting down any necessary components or interfaces. it allows for a proper termination of the real-time application.
yes this means they are run one after the another
if you need to have a constant main() loop that runs continuously without freezing the simulation, you may need to modify the generated code or use different mechanisms. keep in mind that real-time simulation and hil testing often require specific timing and synchronization with external systems or hardware, so a continuous loop might not be suitable for those scenarios.
here is the documentation for wrappers