Logging state-transition from stateflow in generated code

3 vues (au cours des 30 derniers jours)
Jip Galema
Jip Galema le 26 Juil 2022
Modifié(e) : Mark McBroom le 3 Août 2022
Hello,
I've been working with stateflow for a project, where I want to create some statecharts to run. I generated the code in C. To get some extra information when the statecharts are running, but I'm not connected to them I would like to add some logging of the state changes. I've been researching this for the better part of yesterday and found one option (https://nl.mathworks.com/help/rtw/ug/use-c-api-to-access-model-signals-and-states.html)
For my logging I would like to 'print' the state changes as they happen so I also have some idea of timing while running my application, something lile LED:off -> LED:on. In an ideal world you'd don't have to change anything in stateflow itself to add the logging, having to add a signal to every state for me is already a little bit of a feature I might forget from time to time.
When I look at how the signals are generated I see the following:
{ 0, 0, TARGET_STRING("statemachine/PoC/PoC/LED/LED.Off"),
TARGET_STRING("Off"), 0, 0, 0, 0, 0 },
{ 0, 0, TARGET_STRING("statemachine/PoC/PoC/LED/LED.On"),
TARGET_STRING("On"), 0, 0, 0, 0, 0 },
{ 0, 0, TARGET_STRING("statemachine/PoC/PoC/Button/Button.Pressed"),
TARGET_STRING("Pressed"), 0, 0, 0, 0, 0 },
In the list it's not initally clear that the upper two states are together and the third one is from another statemachine. I can make an implemenation that looks at this with the target strings and paths, but to me it feels that it doesn't have to be that complicated.
I thought there might be a more intiutive/easier option to do this, but haven't been able to find it. Does anyone know if some type of magical button that automatically add this logging into C code? Or makes the information accesable there? Are the signals the best way to go, or are there better options?

Réponses (1)

Mark McBroom
Mark McBroom le 3 Août 2022
Modifié(e) : Mark McBroom le 3 Août 2022

Catégories

En savoir plus sur Complex Logic 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