Skip to content

Using C/C++ code in statecharts

The itemis CREATE, formerly known as YAKINDU Statechart Tools, comes with a Deep C/C++ Integration feature, which allows for using C/C++ types, variables, and operations directly within the statechart model. C/C++ header files located in your workspace are automatically recognized by the tool, and all contained type and operation declarations are made accessible in the statechart editor with all its editing features like code completion and validation. In addition to your custom C/C++ types, the C99 standard primitive types, like int16_t, are also available out of the box.

Making your self-defined C/C++ types, structs, and unions available in your itemis CREATE statecharts saves you a lot of time and hassle that would otherwise be needed to map data from your C-type variables to statechart variables and vice versa.

The following screencast gives an overview of the Deep C/C++ Integration feature:

Another feature that comes with the Deep C/C++ Integration is the @ShortCIdentifiers annotation. It changes the naming scheme used by the code generator and activates more checks in the statechart validation to ensure that no identifiers produced by the code generator are longer than 31 characters.

Please be aware that the Deep C/C++ Integration requires a Professional Edition License.