FSM/vscode/FSM_OOP/childtest/childFSM.h

60 lines
1.6 KiB
C
Raw Normal View History

2024-01-30 15:50:34 +08:00
#ifndef __CHILD_FSM_H_
#define __CHILD_FSM_H_
2024-06-26 20:21:14 +08:00
/* -------------------------------------------------------------------------- */
/* 提前做类型声明 */
/* -------------------------------------------------------------------------- */
2024-01-30 15:50:34 +08:00
2024-06-26 20:21:14 +08:00
/* -------------------------------------------------------------------------- */
/* 自定义数据和信号 */
/* -------------------------------------------------------------------------- */
/**
* @brief 15
* @details Unint16存储的信号位
*
*/
enum ChildFSMSignals{
Signal_toD = 1, /**< 必须从1开始0预留给Idle信号了*/
Signal_toE,
};
/**
* @brief
*
*/
typedef struct ChildFSMExternalData
2024-01-30 15:50:34 +08:00
{
int arrindex;
2024-06-26 20:21:14 +08:00
int x;
}ChildFSMExternalData;
/**
* @brief
*
*/
typedef struct ChildFSMInnerData
{
int y1;
int inner1;
}ChildFSMInnerData;
2024-01-30 15:50:34 +08:00
2024-06-26 20:21:14 +08:00
/* -------------------------------------------------------------------------- */
/* 下面的改个名字就行了 */
/* -------------------------------------------------------------------------- */
#define ChildFSM_Input(pFSM) ((ChildFSMExternalData *)_preloadIn((FSM *)pFSM)) /**< @deprecated 暂时弃用 */
2024-01-30 15:50:34 +08:00
2024-06-26 20:21:14 +08:00
typedef struct ChildFSMData
{
ChildFSMExternalData external;
ChildFSMInnerData internal;
}ChildFSMData;
typedef struct ChildFSM ChildFSM;
2024-01-30 15:50:34 +08:00
ChildFSM *createChildFSM();
2024-06-26 20:21:14 +08:00
2024-01-30 15:50:34 +08:00
#endif