FSM/vscode/FSM_OOP/template/templateFSM.h

49 lines
1.4 KiB
C

#ifndef __TEMPLATE_FSM_H_
#define __TEMPLATE_FSM_H_
/* -------------------------------------------------------------------------- */
/* 提前做类型声明 */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/* 自定义数据和信号 */
/* -------------------------------------------------------------------------- */
enum TemplateFSMSignals{
Signal_A = 0,
Signal_B,
};
typedef struct _templateFSMExternalData
{
int arrindex;
int x;
}TemplateFSMExternalData;
typedef struct _templateFSMInnerData
{
int y1;
int inner1;
}TemplateFSMInnerData;
/* -------------------------------------------------------------------------- */
/* 下面的改个名字就行了 */
/* -------------------------------------------------------------------------- */
#define TemplateFSM_Input(pFSM) ((TemplateFSMExternalData *)_preloadIn((FSM *)pFSM))
typedef struct _templateFSMData
{
TemplateFSMExternalData external;
TemplateFSMInnerData internal;
}TemplateFSMData;
typedef struct _TemplateFSM TemplateFSM;
TemplateFSM *createTemplateFSM();
void setTemplateFSMSignals(TemplateFSM *pFSM, enum TemplateFSMSignals Signal);
#endif