# hsmcpp **Repository Path**: longbinli/hsmcpp ## Basic Information - **Project Name**: hsmcpp - **Description**: hsmcpp - **Primary Language**: C++ - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-25 - **Last Updated**: 2026-01-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # hsmcpp #### 介绍 hsmcpp is a hierarchical state machine engine implementation. #### 软件架构 软件架构说明 #### 安装教程 + Draw the statechart in EA. + Check the model using EA's model validation. Fix any issues. + Export the model to an XML file. + Run gen_hsm on the XML file. Fix any issues. + Integrate the generated code into the project. - Integrate any new events into the system's event list. - Implement any new action or guard functions. - Rename any existing action or guard functions that were renamed in the model. #### 使用说明 1. Define the statechart's elements for the statechart engine. 2. get HsmStatesDefinition object (variable) to be used by the statechart engine for the statechart by getDefinitionOf_STATECHART_NAME(). 3. Implement the guard and action functions used by the statechart. 4. create HsmEngine object and Call its start() function to initialize the hsm engine and to cause the statechart to enter its initial state. 5. Call HsmEngine object's handleMessage() when events occur that need to be handled by the statechart engine. #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)