?? build_fsm_ap.m
字號:
function ap = build_fsm_ap(fsmname,statename)global GLOBAL_PIHA GLOBAL_TRANSITION GLOBAL_XSYS2AUTO_MAPfound = 0;for k = 1:length(GLOBAL_PIHA.FSMBlocks) if strcmp(fsmname,GLOBAL_PIHA.FSMBlocks{k}.name) fsmidx = k; found = 1; break; endendif ~found error(['Invalid FSM block name ''' fsmname '''.'])endfound = 0;for k = 1:length(GLOBAL_PIHA.FSMBlocks{fsmidx}.states) if strcmp(statename,GLOBAL_PIHA.FSMBlocks{fsmidx}.states{k}) stateidx = k; found = 1; break; endendif ~found error(['Invalid state name ''' statename ''' for FSM block ''' fsmname '''.'])endN = length(GLOBAL_TRANSITION);ap = region(N,'false');for k = 1:N if isa(GLOBAL_XSYS2AUTO_MAP{k},'double') loc = GLOBAL_XSYS2AUTO_MAP{k}(1); q = GLOBAL_PIHA.Locations{loc}.q; else % must be special states if strcmp(GLOBAL_XSYS2AUTO_MAP{k}{1},'terminal') q = GLOBAL_XSYS2AUTO_MAP{k}{2}; if (q(fsmidx) == stateidx) ap = set_state(ap,k,1); end else loc = GLOBAL_XSYS2AUTO_MAP{k}{2}; q = GLOBAL_PIHA.Locations{loc}.q; end end if (q(fsmidx) == stateidx) ap = set_state(ap,k,1); endendreturn
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -