/** * @file templateFSM.h * @author 天神 (dalaoshi@stu.xjtu.edu.cn) * @brief 对外暴露接口,外部可以设置状态机的信号 * @version 2.1 * @date 2024-05-07 * * @copyright 天神创意无限公司 2024 * */ #ifndef __TEMPLATE_FSM_H_ #define __TEMPLATE_FSM_H_ /* -------------------------------------------------------------------------- */ /* 提前做类型声明 */ /* -------------------------------------------------------------------------- */ /* -------------------------------------------------------------------------- */ /* 自定义数据和信号 */ /* -------------------------------------------------------------------------- */ /** * @brief 自定义外部信号,目前最多15个 * @details 因为是Unint16存储的信号位 * */ enum TemplateFSMSignals{ Signal_A = 1, /**< 必须从1开始,0预留给Idle信号了*/ Signal_B, }; /** * @brief 自定义外部数据 * */ typedef struct TemplateFSMExternalData { int arrindex; int x; }TemplateFSMExternalData; /** * @brief 自定义内部数据 * */ typedef struct TemplateFSMInnerData { int y1; int inner1; }TemplateFSMInnerData; /* -------------------------------------------------------------------------- */ /* 下面的改个名字就行了 */ /* -------------------------------------------------------------------------- */ typedef struct TemplateFSMData { TemplateFSMExternalData external; TemplateFSMInnerData internal; }TemplateFSMData; typedef struct TemplateFSM TemplateFSM; TemplateFSM *createTemplateFSM(); const char * curState2ASCII_TemplateFSM(TemplateFSM *pFSM); #endif