00001 /* 00002 * FSM_TEST.h 00003 * 00004 * Created on: Nov 26, 2013 00005 * Author: dan 00006 */ 00007 00008 #ifndef FSM_TEST_H_ 00009 #define FSM_TEST_H_ 00010 00011 #include "custom_decision_making.h" 00012 #include "BT_BT1.h" 00013 #include "FSM_TEST1.h" 00014 00015 FSM(TEST){ 00016 enum STATt{ 00017 A, 00018 B, 00019 STOP 00020 } 00021 FSM_START(A); 00022 FSM_BGN{ 00023 FSM_STATE( A ){ 00024 FSM_CALL_TASK(TA); 00025 //FSM_CALL_TASK(TB); 00026 FSM_CALL_BT(BT1); 00027 00028 00029 //FSM_RISE(GO_TO_STOP) 00030 FSM_TRANSITIONS{ 00031 FSM_PRINT_EVENT; 00032 FSM_ON_EVENT(TA/GO, FSM_NEXT(STOP)); 00033 //FSM_ON_EVENT(/A/SUCCESS, FSM_NEXT(B)); 00034 //FSM_ON_EVENT(/A/FAIL, FSM_NEXT(B));// 00035 //FSM_ON_EVENT(GO_TO_STOP, FSM_NEXT(STOP)); 00036 } 00037 } 00038 FSM_STATE( B ){ 00039 FSM_CALL_FSM(TEST1); 00040 FSM_TRANSITIONS{ 00041 FSM_PRINT_EVENT; 00042 FSM_ON_EVENT(TEST1/D/SUCCESS, FSM_NEXT(A)); 00043 //FSM_ON_EVENT(FAIL, FSM_NEXT(B)); 00044 } 00045 } 00046 FSM_STATE( STOP ){ 00047 00048 FSM_TRANSITIONS 00049 } 00050 } 00051 FSM_END 00052 } 00053 00054 00055 00056 #endif /* FSM_TEST_H_ */