2024-01-23 20:05:30 +08:00
|
|
|
|
#ifndef __TEMPLATE_FSM_H_
|
|
|
|
|
#define __TEMPLATE_FSM_H_
|
|
|
|
|
|
2024-04-23 19:35:16 +08:00
|
|
|
|
/* -------------------------------------------------------------------------- */
|
|
|
|
|
/* 提前做类型声明 */
|
|
|
|
|
/* -------------------------------------------------------------------------- */
|
2024-01-30 23:00:38 +08:00
|
|
|
|
|
|
|
|
|
|
2024-04-23 19:35:16 +08:00
|
|
|
|
/* -------------------------------------------------------------------------- */
|
|
|
|
|
/* 自定义数据和信号 */
|
|
|
|
|
/* -------------------------------------------------------------------------- */
|
2024-05-07 15:46:51 +08:00
|
|
|
|
/**
|
|
|
|
|
* @brief 自定义外部信号,目前最多15个
|
|
|
|
|
*
|
|
|
|
|
*/
|
2024-04-23 21:18:30 +08:00
|
|
|
|
enum TemplateFSMSignals{
|
2024-05-07 15:46:51 +08:00
|
|
|
|
Signal_A = 1, /**< 必须从1开始,0预留给Idle信号了*/
|
2024-04-23 21:18:30 +08:00
|
|
|
|
Signal_B,
|
|
|
|
|
};
|
|
|
|
|
|
2024-05-07 15:46:51 +08:00
|
|
|
|
/**
|
|
|
|
|
* @brief 自定义外部数据
|
|
|
|
|
*
|
|
|
|
|
*/
|
2024-05-07 15:58:38 +08:00
|
|
|
|
typedef struct TemplateFSMExternalData
|
2024-04-23 17:37:25 +08:00
|
|
|
|
{
|
|
|
|
|
int arrindex;
|
|
|
|
|
int x;
|
|
|
|
|
}TemplateFSMExternalData;
|
|
|
|
|
|
2024-05-07 15:46:51 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 自定义内部数据
|
|
|
|
|
*
|
|
|
|
|
*/
|
2024-05-07 15:58:38 +08:00
|
|
|
|
typedef struct TemplateFSMInnerData
|
2024-01-30 23:00:38 +08:00
|
|
|
|
{
|
|
|
|
|
int y1;
|
|
|
|
|
int inner1;
|
2024-04-23 17:37:25 +08:00
|
|
|
|
}TemplateFSMInnerData;
|
|
|
|
|
|
2024-04-23 19:35:16 +08:00
|
|
|
|
/* -------------------------------------------------------------------------- */
|
|
|
|
|
/* 下面的改个名字就行了 */
|
|
|
|
|
/* -------------------------------------------------------------------------- */
|
2024-05-07 15:58:38 +08:00
|
|
|
|
#define TemplateFSM_Input(pFSM) ((TemplateFSMExternalData *)_preloadIn((FSM *)pFSM)) /**< @deprecated 暂时弃用 */
|
2024-04-23 17:37:25 +08:00
|
|
|
|
|
2024-05-07 15:58:38 +08:00
|
|
|
|
typedef struct TemplateFSMData
|
2024-04-23 17:37:25 +08:00
|
|
|
|
{
|
|
|
|
|
TemplateFSMExternalData external;
|
2024-04-24 13:18:59 +08:00
|
|
|
|
TemplateFSMInnerData internal;
|
2024-01-23 20:05:30 +08:00
|
|
|
|
}TemplateFSMData;
|
|
|
|
|
|
2024-05-07 15:58:38 +08:00
|
|
|
|
typedef struct TemplateFSM TemplateFSM;
|
2024-01-23 20:05:30 +08:00
|
|
|
|
TemplateFSM *createTemplateFSM();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|