#include #include "childFSM.h" #include "parentFSM.h" #include "FSM_public.h" ChildFSM *cFSM; ParentFSM *pFSM; int main(){ cFSM = createChildFSM(); pFSM = createParentFSM(); setChildNum(BASE_FSM(pFSM), 1); registerChildFSM(BASE_FSM(pFSM), BASE_FSM(cFSM), 0); for (int i = 0; i < 15; i++) { ((ChildFSMData *)getData((FSM_Ptr)(cFSM)))->arrindex = i; ((ParentFSMData *)getData((FSM_Ptr)(pFSM)))->arrindex = i; ChildFSMData* data = getData((FSM_Ptr)(cFSM)); printf(" %d ", data->arrindex); setEvent((FSM_Ptr)pFSM); vptrFSM((FSM_Ptr)pFSM)->step((FSM_Ptr)pFSM); printf("\n"); } return 0; }