写了一堆注释

This commit is contained in:
godcreator02 2024-05-07 16:45:57 +08:00
parent 9edb103650
commit 71eef74d41
131 changed files with 6711 additions and 1533 deletions

View File

@ -1,3 +1,14 @@
/**
* @file FSM.c
* @author (dalaoshi@stu.xjtu.edu.cn)
* @brief
* @version 2.1
* @date 2024-05-07
*
* @copyright 2024
*
*/
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
@ -8,10 +19,6 @@
#include "FSM_public.h"
/* -------------------------------------------------------------------------- */
/* private函数 */
/* -------------------------------------------------------------------------- */
@ -51,10 +58,6 @@ static inline void preload(FSM* pFSM){
}
}
/* -------------------------------------------------------------------------- */
/* protected */
/* -------------------------------------------------------------------------- */

View File

@ -2,6 +2,7 @@
* @file FSM_private.h
* @author (dalaoshi@stu.xjtu.edu.cn)
* @brief 使
* @details 访
* @version 2.1
* @date 2024-05-07
*
@ -43,22 +44,31 @@ typedef struct FSMDataLoader
*/
typedef struct FSMPrivateVars
{
int numState;
int numState; /**< 状态数量 */
int defaultState; /**< Idle状态不能停留必须指定一个初始状态 */
int curState;
int curState; /**< 当前状态 */
int nextState; /**< nextState为Idle代表状态机不发生变化 */
int index; /**< 状态转移函数表对应的标号 */
FSMHandler fcns;
FSMHandler fcns; /**< 状态函数表 */
int numChild;
FSM **childFSM;
int numChild; /**< @deprecated 和子状态机相关的暂时弃用 */
FSM **childFSM; /**< @deprecated 和子状态机相关的暂时弃用 */
FSMDataLoader preloader; /**< @deprecated 弃用 */
}FSMPrivateVars;
/**
* @brief FSM.c中调用
*
* @param numState
* @param defaultState
* @return FSMPrivateVars*
*/
FSMPrivateVars* newFMSPrivateVars(int numState, int defaultState){
typedef void (*StateFuncPtr)(void *);
typedef void (*ChildFSMStepFuncPtr)(FSM **);

View File

@ -60,33 +60,34 @@ typedef void (*Avoid_WARNING_void_fcns)(FSMHandler *fcns);
/**
* @brief
* @details FSM.protect文件便
* @details 访FSM_protect.h文件便
*
*
*/
typedef struct FSMHandler{
int (**selectNextState)(void *data, FSMSignals* signals); /**< 每个状态配置的状态选择函数 */
void (**transitionTable)(void *data);
void (*transitionGeneralAction)(void *data);
void (**transitionTable)(void *data); /**< 状态转移函数表 */
void (*transitionGeneralAction)(void *data); /**< 通用状态转移函数,不论有没有独立的状态转移函数都会执行 */
void (**enterActionTable)(void *data, FSM **cFSM);
void (**duringActionTable)(void *data, FSM **cFSM);
void (**exitActionTable)(void *data, FSM **cFSM);
void (**enterActionTable)(void *data, FSM **cFSM); /**< 进入状态时运行的函数和plecs对标 */
void (**duringActionTable)(void *data, FSM **cFSM); /**< 状态不变时运行的函数和plecs对标 */
void (**exitActionTable)(void *data, FSM **cFSM); /**< 状态退出时运行的函数和plecs对标 */
void (**childFSMStepTable)(FSM **cFSM);
void (**childFSMStepTable)(FSM **cFSM); /**< @deprecated 子状态机暂时弃用 */
}FSMHandler;
/**
* @brief protected子类可以访问
*
* @details SetSignal函数对信号进行设置
*
*/
typedef struct FSMSignals
{
Uint16 all; /**< 外部信号 */
Uint16 lastTriggeredSignal; /**< 上一次触发的外部信号 */
Uint16 lastTriggeredSignal; /**< 上一次触发的外部信号,用于信号清除 */
}FSMSignals;
#define Idle_Signal 0 /**< 啥意思? */
#define Idle_Signal 0 /**< 清空上次触发信号,占用第一个信号位 */
/* -------------------------------------------------------------------------- */
/* 纯虚函数,子类必须重新实现,父类构造函数不会初始化 */

View File

@ -1,10 +1,12 @@
/*
* @Author: godcreator02 qq974980621@gmail.com
* @Date: 2024-04-20 18:52:14
* @LastEditors: godcreator02 qq974980621@gmail.com
* @LastEditTime: 2024-04-23 21:51:55
* @FilePath: \vscode\FSM_OOP\baseFSM\FSM_public.h
* @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
/**
* @file FSM_public.h
* @author (dalaoshi@stu.xjtu.edu.cn)
* @brief
* @version 2.1
* @date 2024-05-07
*
* @copyright 2024
*
*/
#ifndef __FSM_PUBLIC_H_
#define __FSM_PUBLIC_H_
@ -25,14 +27,15 @@ typedef struct FSMPublicFcns
}FSMPublicFcns;
/* -------------------------------- 避免警告的函数定义 ------------------------------- */
#define Step(pFSM) _stepFSM((FSM *)pFSM)
#define PreloaderGetReady(pFSM) _preloaderGetReady((FSM *)pFSM);
#define GetPreloaderOverFlag(pFSM) _getPreloaderOverFlag((FSM *)pFSM)
#define ClearPreloaderOverFlag(pFSM) _clearPreloaderOverFlag((FSM *)pFSM)
#define GetData(pFSM) _getData((FSM*)pFSM)
#define SetSignal(pFSM, signal) _setSignal((FSM*)pFSM, signal)
#define Step(pFSM) _stepFSM((FSM *)pFSM) /**< 外界调用这个 */
#define GetData(pFSM) _getData((FSM*)pFSM) /**< 外界调用这个 */
#define SetSignal(pFSM, signal) _setSignal((FSM*)pFSM, signal) /**< 外界调用这个 */
#define PreloaderGetReady(pFSM) _preloaderGetReady((FSM *)pFSM); /**< @deprecated */
#define GetPreloaderOverFlag(pFSM) _getPreloaderOverFlag((FSM *)pFSM) /**< @deprecated */
#define ClearPreloaderOverFlag(pFSM) _clearPreloaderOverFlag((FSM *)pFSM) /**< @deprecated */
void _stepFSM(FSM *pFSM);
/* --------------------------------- 状态机信息获取 -------------------------------- */

View File

@ -1,3 +1,14 @@
/**
* @file templateFSM.c
* @author (dalaoshi@stu.xjtu.edu.cn)
* @brief
* @version 2.1
* @date 2024-05-07
*
* @copyright 2024
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@ -9,13 +20,24 @@
/* -------------------------------------------------------------------------- */
/* 纯虚函数允许调用privateVars */
/* -------------------------------------------------------------------------- */
/**
* @brief
* @deprecated data是否需要加锁再说
* @param data
*/
static void loadExternalData(TemplateFSMData *data){ // 必须重新实现
data->external.arrindex = arrindex;
data->external.x = x;
}
/**
* @brief
* @details notion
* @param signals
* @param data
*/
static void resetSignals(FSMSignals *signals, TemplateFSMData *data){ // 必须重新实现
switch (signals->lastTriggeredSignal)
@ -29,7 +51,11 @@ static void resetSignals(FSMSignals *signals, TemplateFSMData *data){ // 必
}
}
/**
* @brief
*
* @param pFSM
*/
static void initData(TemplateFSM *pFSM){ // 必须重新实现
TemplateFSMData *data = (TemplateFSMData *)malloc(sizeof(TemplateFSMData));
@ -50,7 +76,7 @@ static void initData(TemplateFSM *pFSM){ // 必须重新实现
/**
* @brief
* @deprecated
* @deprecated
* @param pFSM
*/
static void initDataLoader(TemplateFSM *pFSM){ // 必须重新实现
@ -58,6 +84,12 @@ static void initDataLoader(TemplateFSM *pFSM){ // 必须重新实现
// pFSM->base.privateVars->preloader.size = sizeof(TemplateFSMExternalData);
}
/**
* @brief
*
* @param fcns
*/
static void setupHandler(FSMHandler* fcns){ // 必须重新实现
/* ------------------------------- 添加下一个状态选择函数 ------------------------------ */
addSelectNextStateFcn(D);
@ -84,6 +116,11 @@ static void setupHandler(FSMHandler* fcns){ // 必须重新实现
/* -------------------------------------------------------------------------- */
/* 其他重新实现的函数,父类已有实现,实现多态 */
/* -------------------------------------------------------------------------- */
/**
* @brief step函数
*
* @param pFSM
*/
static void step(TemplateFSM* pFSM){
printFSM(pFSM);
stepBaseFSM(BASE_FSM(pFSM));
@ -97,6 +134,12 @@ static void step(TemplateFSM* pFSM){
/* -------------------------------------------------------------------------- */
/* 子类构造函数 */
/* -------------------------------------------------------------------------- */
/**
* @brief Create a Template FSM object
* @details 访
* @return TemplateFSM*
*/
TemplateFSM *createTemplateFSM(){
TemplateFSM *pFSM;
pFSM = (TemplateFSM *)newBaseFSM(Count_State, DEFAULT_STATE);

View File

@ -1,3 +1,14 @@
/**
* @file templateFSM.h
* @author (dalaoshi@stu.xjtu.edu.cn)
* @brief
* @version 2.1
* @date 2024-05-07
*
* @copyright 2024
*
*/
#ifndef __TEMPLATE_FSM_H_
#define __TEMPLATE_FSM_H_
@ -11,6 +22,7 @@
/* -------------------------------------------------------------------------- */
/**
* @brief 15
* @details Unint16存储的信号位
*
*/
enum TemplateFSMSignals{

View File

@ -1,3 +1,14 @@
/**
* @file templateFSM_private.h
* @author (dalaoshi@stu.xjtu.edu.cn)
* @brief templateFSM.c引用一次
* @version 2.1
* @date 2024-05-07
*
* @copyright 2024
*
*/
#ifdef __TEMPLATE_PRIVATE_FSM_H_
#error This file can only be included once!!!
@ -26,15 +37,20 @@ typedef struct TemplateFSM
/* -------------------------------------------------------------------------- */
/* 状态定义 */
/* -------------------------------------------------------------------------- */
/**
* @brief Idle和Count_State必须占据开头和结尾两个位置
*
*/
typedef enum _State
{
Idle,
Idle, /**< 必须在开头,并且枚举值=0 */
D,
E,
Count_State,
Count_State, /**< 必须在结尾,用来统计状态数量 */
} State;
#define DEFAULT_STATE E
#define DEFAULT_STATE E /**< 默认状态Idle状态会先跳转到默认状态 */
/* -------------------------------------------------------------------------- */
/* 下一个状态选择函数 */

View File

@ -0,0 +1,338 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.10.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>状态机框架: FSM_OOP/baseFSM/FSM.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logo_transparent.png"/></td>
<td id="projectalign">
<div id="projectname">状态机框架<span id="projectnumber">&#160;0.1alpha</span>
</div>
<div id="projectbrief">by 天神</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.10.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('_f_s_m_8c.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">FSM.c File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;stdlib.h&gt;</code><br />
<code>#include &lt;stdio.h&gt;</code><br />
<code>#include &lt;assert.h&gt;</code><br />
<code>#include &lt;string.h&gt;</code><br />
<code>#include &quot;<a class="el" href="_f_s_m__private_8h_source.html">FSM_private.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_f_s_m__protected_8h_source.html">FSM_protected.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_f_s_m__public_8h_source.html">FSM_public.h</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a6b596586b33f46c312a7088e8352d226" id="r_a6b596586b33f46c312a7088e8352d226"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6b596586b33f46c312a7088e8352d226">setNextState</a> (FSM *pFSM)</td></tr>
<tr class="memdesc:a6b596586b33f46c312a7088e8352d226"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置下一个状态,里面的子状态机暂时没用到 <br /></td></tr>
<tr class="separator:a6b596586b33f46c312a7088e8352d226"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fc6a4715e8cbd7660788fd9c59cb417" id="r_a7fc6a4715e8cbd7660788fd9c59cb417"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7fc6a4715e8cbd7660788fd9c59cb417">preload</a> (FSM *pFSM)</td></tr>
<tr class="separator:a7fc6a4715e8cbd7660788fd9c59cb417"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bab0f8eedb805136ee573eac09b6ebb" id="r_a9bab0f8eedb805136ee573eac09b6ebb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9bab0f8eedb805136ee573eac09b6ebb">stepBaseFSM</a> (FSM *pFSM)</td></tr>
<tr class="memdesc:a9bab0f8eedb805136ee573eac09b6ebb"><td class="mdescLeft">&#160;</td><td class="mdescRight">运行状态机,状态机框架的核心函数 <br /></td></tr>
<tr class="separator:a9bab0f8eedb805136ee573eac09b6ebb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c285ac5bbad90b0b04de18d393cf4ce" id="r_a9c285ac5bbad90b0b04de18d393cf4ce"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9c285ac5bbad90b0b04de18d393cf4ce">_preloadIn</a> (FSM *pFSM)</td></tr>
<tr class="separator:a9c285ac5bbad90b0b04de18d393cf4ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e2a8d16f390efeaecc8938ec8f2e728" id="r_a6e2a8d16f390efeaecc8938ec8f2e728"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6e2a8d16f390efeaecc8938ec8f2e728">_preloaderGetReady</a> (FSM *pFSM)</td></tr>
<tr class="separator:a6e2a8d16f390efeaecc8938ec8f2e728"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a704103961964dbb8582b59fd161a3348" id="r_a704103961964dbb8582b59fd161a3348"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a704103961964dbb8582b59fd161a3348">_getPreloaderOverFlag</a> (FSM *pFSM)</td></tr>
<tr class="separator:a704103961964dbb8582b59fd161a3348"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad909acd21e17b8073d5d9dfb8892ccb" id="r_aad909acd21e17b8073d5d9dfb8892ccb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aad909acd21e17b8073d5d9dfb8892ccb">_clearPreloaderOverFlag</a> (FSM *pFSM)</td></tr>
<tr class="separator:aad909acd21e17b8073d5d9dfb8892ccb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><dl class="section author"><dt>Author</dt><dd>天神 (<a href="#" onclick="location.href='mai'+'lto:'+'dal'+'ao'+'shi'+'@s'+'tu.'+'xj'+'tu.'+'ed'+'u.c'+'n'; return false;">dalao<span class="obfuscator">.nosp@m.</span>shi@<span class="obfuscator">.nosp@m.</span>stu.x<span class="obfuscator">.nosp@m.</span>jtu.<span class="obfuscator">.nosp@m.</span>edu.c<span class="obfuscator">.nosp@m.</span>n</a>) </dd></dl>
<dl class="section version"><dt>Version</dt><dd>2.1 </dd></dl>
<dl class="section date"><dt>Date</dt><dd>2024-05-07</dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>天神创意无限公司 2024 </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a6b596586b33f46c312a7088e8352d226" name="a6b596586b33f46c312a7088e8352d226"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b596586b33f46c312a7088e8352d226">&#9670;&#160;</a></span>setNextState()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void setNextState </td>
<td>(</td>
<td class="paramtype">FSM *</td> <td class="paramname"><span class="paramname"><em>pFSM</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>设置下一个状态,里面的子状态机暂时没用到 </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pFSM</td><td>状态机变量的基类指针 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7fc6a4715e8cbd7660788fd9c59cb417" name="a7fc6a4715e8cbd7660788fd9c59cb417"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fc6a4715e8cbd7660788fd9c59cb417">&#9670;&#160;</a></span>preload()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void preload </td>
<td>(</td>
<td class="paramtype">FSM *</td> <td class="paramname"><span class="paramname"><em>pFSM</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated</a></b></dt><dd>去掉了所有和预装载器相关的内容 </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pFSM</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9bab0f8eedb805136ee573eac09b6ebb" name="a9bab0f8eedb805136ee573eac09b6ebb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9bab0f8eedb805136ee573eac09b6ebb">&#9670;&#160;</a></span>stepBaseFSM()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void stepBaseFSM </td>
<td>(</td>
<td class="paramtype">FSM *</td> <td class="paramname"><span class="paramname"><em>pFSM</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>运行状态机,状态机框架的核心函数 </p>
<p>共分为三部首先判断是否有状态机切换, </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pFSM</td><td>状态机基类指针 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9c285ac5bbad90b0b04de18d393cf4ce" name="a9c285ac5bbad90b0b04de18d393cf4ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c285ac5bbad90b0b04de18d393cf4ce">&#9670;&#160;</a></span>_preloadIn()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void * _preloadIn </td>
<td>(</td>
<td class="paramtype">FSM *</td> <td class="paramname"><span class="paramname"><em>pFSM</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated</a></b></dt><dd>弃用 </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pFSM</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void* </dd></dl>
</div>
</div>
<a id="a6e2a8d16f390efeaecc8938ec8f2e728" name="a6e2a8d16f390efeaecc8938ec8f2e728"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e2a8d16f390efeaecc8938ec8f2e728">&#9670;&#160;</a></span>_preloaderGetReady()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void _preloaderGetReady </td>
<td>(</td>
<td class="paramtype">FSM *</td> <td class="paramname"><span class="paramname"><em>pFSM</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated</a></b></dt><dd>弃用 </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pFSM</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a704103961964dbb8582b59fd161a3348" name="a704103961964dbb8582b59fd161a3348"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a704103961964dbb8582b59fd161a3348">&#9670;&#160;</a></span>_getPreloaderOverFlag()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int _getPreloaderOverFlag </td>
<td>(</td>
<td class="paramtype">FSM *</td> <td class="paramname"><span class="paramname"><em>pFSM</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated</a></b></dt><dd>弃用 </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pFSM</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int </dd></dl>
</div>
</div>
<a id="aad909acd21e17b8073d5d9dfb8892ccb" name="aad909acd21e17b8073d5d9dfb8892ccb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad909acd21e17b8073d5d9dfb8892ccb">&#9670;&#160;</a></span>_clearPreloaderOverFlag()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void _clearPreloaderOverFlag </td>
<td>(</td>
<td class="paramtype">FSM *</td> <td class="paramname"><span class="paramname"><em>pFSM</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated</a></b></dt><dd>弃用 </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pFSM</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d39bfbf75725f6289f30e50b2f1305f4.html">FSM_OOP</a></li><li class="navelem"><a class="el" href="dir_80fe18a48ef62b4daee0a25030c2866c.html">baseFSM</a></li><li class="navelem"><a class="el" href="_f_s_m_8c.html">FSM.c</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.10.0 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,10 @@
var _f_s_m_8c =
[
[ "setNextState", "_f_s_m_8c.html#a6b596586b33f46c312a7088e8352d226", null ],
[ "preload", "_f_s_m_8c.html#a7fc6a4715e8cbd7660788fd9c59cb417", null ],
[ "stepBaseFSM", "_f_s_m_8c.html#a9bab0f8eedb805136ee573eac09b6ebb", null ],
[ "_preloadIn", "_f_s_m_8c.html#a9c285ac5bbad90b0b04de18d393cf4ce", null ],
[ "_preloaderGetReady", "_f_s_m_8c.html#a6e2a8d16f390efeaecc8938ec8f2e728", null ],
[ "_getPreloaderOverFlag", "_f_s_m_8c.html#a704103961964dbb8582b59fd161a3348", null ],
[ "_clearPreloaderOverFlag", "_f_s_m_8c.html#aad909acd21e17b8073d5d9dfb8892ccb", null ]
];

View File

@ -101,7 +101,8 @@ $(function(){initNavTree('_f_s_m__private_8h.html',''); initResizable(); });
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> </div>
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">FSM_private.h File Reference</div></div>
</div><!--header-->
<div class="contents">
@ -126,8 +127,7 @@ Typedefs</h2></td></tr>
<tr class="memitem:a19064d5985c08b2ebbdfe2b27c6986ba" id="r_a19064d5985c08b2ebbdfe2b27c6986ba"><td class="memItemLeft" align="right" valign="top">typedef struct FSMHandler&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a19064d5985c08b2ebbdfe2b27c6986ba">FSMHandler</a></td></tr>
<tr class="memdesc:a19064d5985c08b2ebbdfe2b27c6986ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">状态处理函数集合,全部需要子类重新填充内容 <br /></td></tr>
<tr class="separator:a19064d5985c08b2ebbdfe2b27c6986ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8470b4675b81ea69519ae6222c77e3f" id="r_aa8470b4675b81ea69519ae6222c77e3f"><td class="memItemLeft" align="right" valign="top"><a id="aa8470b4675b81ea69519ae6222c77e3f" name="aa8470b4675b81ea69519ae6222c77e3f"></a>
typedef struct FSMSignals&#160;</td><td class="memItemRight" valign="bottom"><b>FSMSignals</b></td></tr>
<tr class="memitem:aa8470b4675b81ea69519ae6222c77e3f" id="r_aa8470b4675b81ea69519ae6222c77e3f"><td class="memItemLeft" align="right" valign="top">typedef struct FSMSignals&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa8470b4675b81ea69519ae6222c77e3f">FSMSignals</a></td></tr>
<tr class="memdesc:aa8470b4675b81ea69519ae6222c77e3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">状态机用的信号protected子类可以访问 <br /></td></tr>
<tr class="separator:aa8470b4675b81ea69519ae6222c77e3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9116b0a24810b38fafae2fb986517432" id="r_a9116b0a24810b38fafae2fb986517432"><td class="memItemLeft" align="right" valign="top">typedef struct FSMDataLoader&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9116b0a24810b38fafae2fb986517432">FSMDataLoader</a></td></tr>
@ -136,11 +136,17 @@ typedef struct FSMSignals&#160;</td><td class="memItemRight" valign="bottom"><b>
typedef struct FSMPrivateVars&#160;</td><td class="memItemRight" valign="bottom"><b>FSMPrivateVars</b></td></tr>
<tr class="memdesc:a51a08a9c63b45851707caacfafca8cf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">基类状态机的私有变量和函数,子类不可直接访问 <br /></td></tr>
<tr class="separator:a51a08a9c63b45851707caacfafca8cf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ac817972fed8a0babe2356c890f960e75" id="r_ac817972fed8a0babe2356c890f960e75"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_f_s_m_private_vars.html">FSMPrivateVars</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac817972fed8a0babe2356c890f960e75">newFMSPrivateVars</a> (int numState, int defaultState)</td></tr>
<tr class="memdesc:ac817972fed8a0babe2356c890f960e75"><td class="mdescLeft">&#160;</td><td class="mdescRight">仅在FSM.c中调用新建私有变量并分配空间 <br /></td></tr>
<tr class="separator:ac817972fed8a0babe2356c890f960e75"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>状态机框架的私有变量,只能在状态机框架内使用。 </p>
<dl class="section author"><dt>Author</dt><dd>天神 (<a href="#" onclick="location.href='mai'+'lto:'+'dal'+'ao'+'shi'+'@s'+'tu.'+'xj'+'tu.'+'ed'+'u.c'+'n'; return false;">dalao<span class="obfuscator">.nosp@m.</span>shi@<span class="obfuscator">.nosp@m.</span>stu.x<span class="obfuscator">.nosp@m.</span>jtu.<span class="obfuscator">.nosp@m.</span>edu.c<span class="obfuscator">.nosp@m.</span>n</a>)</dd></dl>
<dl class="section version"><dt>Version</dt><dd>2.1 </dd></dl>
<p>基类私有变量对子类和外界隐藏实现,通过指针进行访问。 </p><dl class="section version"><dt>Version</dt><dd>2.1 </dd></dl>
<dl class="section date"><dt>Date</dt><dd>2024-05-07</dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>天神创意无限公司 2024 </dd></dl>
</div><h2 class="groupheader">Typedef Documentation</h2>
@ -157,7 +163,24 @@ typedef struct FSMPrivateVars&#160;</td><td class="memItemRight" valign="bottom"
</div><div class="memdoc">
<p>状态处理函数集合,全部需要子类重新填充内容 </p>
<p>这个结构体暴露给protect文件方便在子类中添加函数。不然添加函数得再写个函数添加 有点麻烦 </p>
<p>这个结构体是私有变量子状态机和外界都不该访问。但是写在FSM_protect.h文件这样方便在子类中添加函数。不然添加函数得再写个函数添加 有点麻烦 </p>
</div>
</div>
<a id="aa8470b4675b81ea69519ae6222c77e3f" name="aa8470b4675b81ea69519ae6222c77e3f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8470b4675b81ea69519ae6222c77e3f">&#9670;&#160;</a></span>FSMSignals</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct FSMSignals FSMSignals</td>
</tr>
</table>
</div><div class="memdoc">
<p>状态机用的信号protected子类可以访问 </p>
<p>外部只能通过SetSignal函数对信号进行设置在状态机运行时会根据信号清除函数清除信号。信号 利用位进行存储,每个位代表一个信号,通过移位操作设置和清除信号。 </p>
</div>
</div>
@ -174,6 +197,38 @@ typedef struct FSMPrivateVars&#160;</td><td class="memItemRight" valign="bottom"
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated</a></b></dt><dd>预装载器弃用</dd></dl>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ac817972fed8a0babe2356c890f960e75" name="ac817972fed8a0babe2356c890f960e75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac817972fed8a0babe2356c890f960e75">&#9670;&#160;</a></span>newFMSPrivateVars()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_f_s_m_private_vars.html">FSMPrivateVars</a> * newFMSPrivateVars </td>
<td>(</td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>numState</em>, </span></td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>defaultState</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>仅在FSM.c中调用新建私有变量并分配空间 </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">numState</td><td></td></tr>
<tr><td class="paramname">defaultState</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>FSMPrivateVars* </dd></dl>
</div>
</div>
</div><!-- contents -->

View File

@ -5,5 +5,6 @@ var _f_s_m__private_8h =
[ "FSMHandler", "_f_s_m__private_8h.html#a19064d5985c08b2ebbdfe2b27c6986ba", null ],
[ "FSMSignals", "_f_s_m__private_8h.html#aa8470b4675b81ea69519ae6222c77e3f", null ],
[ "FSMDataLoader", "_f_s_m__private_8h.html#a9116b0a24810b38fafae2fb986517432", null ],
[ "FSMPrivateVars", "_f_s_m__private_8h.html#a51a08a9c63b45851707caacfafca8cf9", null ]
[ "FSMPrivateVars", "_f_s_m__private_8h.html#a51a08a9c63b45851707caacfafca8cf9", null ],
[ "newFMSPrivateVars", "_f_s_m__private_8h.html#ac817972fed8a0babe2356c890f960e75", null ]
];

View File

@ -103,88 +103,95 @@ $(function(){initNavTree('_f_s_m__private_8h_source.html',''); initResizable();
</div><!--header-->
<div class="contents">
<a href="_f_s_m__private_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#ifndef __FSM_PRIVATE_H_</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#define __FSM_PRIVATE_H_</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;string.h&gt;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &quot;<a class="code" href="_f_s_m__protected_8h.html">FSM_protected.h</a>&quot;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"><a class="line" href="_f_s_m__private_8h.html#a19064d5985c08b2ebbdfe2b27c6986ba"> 19</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_f_s_m_handler.html">FSMHandler</a> <a class="code hl_struct" href="struct_f_s_m_handler.html">FSMHandler</a>;</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keyword">typedef</span> <span class="keyword">struct </span>FSM FSM;</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="_f_s_m__private_8h.html#aa8470b4675b81ea69519ae6222c77e3f"> 21</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a> <a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a>;</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">/* private数据类型 */</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="foldopen" id="foldopen00031" data-start="{" data-end="};">
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="struct_f_s_m_data_loader.html"> 31</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_f_s_m_data_loader.html">FSMDataLoader</a></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span>{ </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keywordtype">void</span> *shadowData;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keywordtype">int</span> isReady;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">int</span> isOverflow;</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">size_t</span> size;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="_f_s_m__private_8h.html#a9116b0a24810b38fafae2fb986517432"> 37</a></span>}<a class="code hl_typedef" href="_f_s_m__private_8h.html#a9116b0a24810b38fafae2fb986517432">FSMDataLoader</a>;</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#ifndef __FSM_PRIVATE_H_</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#define __FSM_PRIVATE_H_</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &lt;string.h&gt;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &quot;<a class="code" href="_f_s_m__protected_8h.html">FSM_protected.h</a>&quot;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"><a class="line" href="_f_s_m__private_8h.html#a19064d5985c08b2ebbdfe2b27c6986ba"> 20</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_f_s_m_handler.html">FSMHandler</a> <a class="code hl_struct" href="struct_f_s_m_handler.html">FSMHandler</a>;</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="keyword">typedef</span> <span class="keyword">struct </span>FSM FSM;</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"><a class="line" href="_f_s_m__private_8h.html#aa8470b4675b81ea69519ae6222c77e3f"> 22</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a> <a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a>;</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment">/* private数据类型 */</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="foldopen" id="foldopen00032" data-start="{" data-end="};">
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="struct_f_s_m_data_loader.html"> 32</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_f_s_m_data_loader.html">FSMDataLoader</a></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span>{ </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keywordtype">void</span> *shadowData;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordtype">int</span> isReady;</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">int</span> isOverflow;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keywordtype">size_t</span> size;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="_f_s_m__private_8h.html#a9116b0a24810b38fafae2fb986517432"> 38</a></span>}<a class="code hl_typedef" href="_f_s_m__private_8h.html#a9116b0a24810b38fafae2fb986517432">FSMDataLoader</a>;</div>
</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
<div class="foldopen" id="foldopen00044" data-start="{" data-end="};">
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="struct_f_s_m_private_vars.html"> 44</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_f_s_m_private_vars.html">FSMPrivateVars</a></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span>{</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">int</span> numState; </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="struct_f_s_m_private_vars.html#a4cc735365b8c3946ff83d1984e2565fe"> 47</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="struct_f_s_m_private_vars.html#a4cc735365b8c3946ff83d1984e2565fe">defaultState</a>; </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">int</span> curState; </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="struct_f_s_m_private_vars.html#a4312b61c7165398d2415c0794ac1fa8c"> 50</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="struct_f_s_m_private_vars.html#a4312b61c7165398d2415c0794ac1fa8c">nextState</a>; </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="struct_f_s_m_private_vars.html#ab14d89d4db1639abfab4a24f05cca6a7"> 51</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="struct_f_s_m_private_vars.html#ab14d89d4db1639abfab4a24f05cca6a7">index</a>; </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <a class="code hl_struct" href="struct_f_s_m_handler.html">FSMHandler</a> fcns; </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">int</span> numChild;</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> FSM **childFSM;</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="struct_f_s_m_private_vars.html#a71ba0d8bee3f15ed5a0dd92dda0e0ed1"> 58</a></span> <a class="code hl_struct" href="struct_f_s_m_data_loader.html">FSMDataLoader</a> <a class="code hl_variable" href="struct_f_s_m_private_vars.html#a71ba0d8bee3f15ed5a0dd92dda0e0ed1">preloader</a>; </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="_f_s_m__private_8h.html#a51a08a9c63b45851707caacfafca8cf9"> 60</a></span>}<a class="code hl_typedef" href="_f_s_m__private_8h.html#a51a08a9c63b45851707caacfafca8cf9">FSMPrivateVars</a>;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="foldopen" id="foldopen00045" data-start="{" data-end="};">
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="struct_f_s_m_private_vars.html"> 45</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_f_s_m_private_vars.html">FSMPrivateVars</a></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span>{</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="struct_f_s_m_private_vars.html#a9f8a355881f1e3e990987090e6e9e37c"> 47</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="struct_f_s_m_private_vars.html#a9f8a355881f1e3e990987090e6e9e37c">numState</a>; </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="struct_f_s_m_private_vars.html#a4cc735365b8c3946ff83d1984e2565fe"> 48</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="struct_f_s_m_private_vars.html#a4cc735365b8c3946ff83d1984e2565fe">defaultState</a>; </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="struct_f_s_m_private_vars.html#a1e013b34f3da19006fdaef781e386ba7"> 50</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="struct_f_s_m_private_vars.html#a1e013b34f3da19006fdaef781e386ba7">curState</a>; </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="struct_f_s_m_private_vars.html#a4312b61c7165398d2415c0794ac1fa8c"> 51</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="struct_f_s_m_private_vars.html#a4312b61c7165398d2415c0794ac1fa8c">nextState</a>; </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="struct_f_s_m_private_vars.html#ab14d89d4db1639abfab4a24f05cca6a7"> 52</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="struct_f_s_m_private_vars.html#ab14d89d4db1639abfab4a24f05cca6a7">index</a>; </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="struct_f_s_m_private_vars.html#a38fc9622245dd2e2272d0511a603db69"> 54</a></span> <a class="code hl_struct" href="struct_f_s_m_handler.html">FSMHandler</a> <a class="code hl_variable" href="struct_f_s_m_private_vars.html#a38fc9622245dd2e2272d0511a603db69">fcns</a>; </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="struct_f_s_m_private_vars.html#ac66fa0241dc6aa44e48e6b16811a8091"> 56</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="struct_f_s_m_private_vars.html#ac66fa0241dc6aa44e48e6b16811a8091">numChild</a>; </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="struct_f_s_m_private_vars.html#ad20548555264a67dac6b18b757e01821"> 57</a></span> FSM **<a class="code hl_variable" href="struct_f_s_m_private_vars.html#ad20548555264a67dac6b18b757e01821">childFSM</a>; </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="struct_f_s_m_private_vars.html#a71ba0d8bee3f15ed5a0dd92dda0e0ed1"> 59</a></span> <a class="code hl_struct" href="struct_f_s_m_data_loader.html">FSMDataLoader</a> <a class="code hl_variable" href="struct_f_s_m_private_vars.html#a71ba0d8bee3f15ed5a0dd92dda0e0ed1">preloader</a>; </div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="_f_s_m__private_8h.html#a51a08a9c63b45851707caacfafca8cf9"> 61</a></span>}<a class="code hl_typedef" href="_f_s_m__private_8h.html#a51a08a9c63b45851707caacfafca8cf9">FSMPrivateVars</a>;</div>
</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><a class="code hl_struct" href="struct_f_s_m_private_vars.html">FSMPrivateVars</a>* newFMSPrivateVars(<span class="keywordtype">int</span> numState, <span class="keywordtype">int</span> defaultState){</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">typedef</span> void (*StateFuncPtr)(<span class="keywordtype">void</span> *); </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">typedef</span> void (*ChildFSMStepFuncPtr)(FSM **); </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">typedef</span> int (*TransitionFuncPtr)(<span class="keywordtype">void</span> *, <span class="keywordtype">int</span> *);</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">typedef</span> int (*SelectNextStateFcnPtr)(<span class="keywordtype">void</span> *, <a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a> *);</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <a class="code hl_struct" href="struct_f_s_m_private_vars.html">FSMPrivateVars</a> *privateVars = calloc(1, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="struct_f_s_m_private_vars.html">FSMPrivateVars</a>));</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> privateVars-&gt;numState = numState;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> privateVars-&gt;defaultState = defaultState;</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> privateVars-&gt;curState = 0;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> privateVars-&gt;nextState = 0;</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> privateVars-&gt;numChild = 0;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> privateVars-&gt;preloader.isReady = 0;</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> privateVars-&gt;fcns.duringActionTable = calloc(numState, <span class="keyword">sizeof</span>(StateFuncPtr));</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> privateVars-&gt;fcns.enterActionTable = calloc(numState, <span class="keyword">sizeof</span>(StateFuncPtr));</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> privateVars-&gt;fcns.exitActionTable = calloc(numState, <span class="keyword">sizeof</span>(StateFuncPtr));</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> privateVars-&gt;fcns.selectNextState = calloc(numState, <span class="keyword">sizeof</span>(SelectNextStateFcnPtr));</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> privateVars-&gt;fcns.transitionTable = calloc(numState * numState, <span class="keyword">sizeof</span>(TransitionFuncPtr));</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> privateVars-&gt;fcns.transitionGeneralAction = calloc(1, <span class="keyword">sizeof</span>(StateFuncPtr));</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="foldopen" id="foldopen00072" data-start="{" data-end="}">
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="_f_s_m__private_8h.html#ac817972fed8a0babe2356c890f960e75"> 72</a></span><a class="code hl_struct" href="struct_f_s_m_private_vars.html">FSMPrivateVars</a>* <a class="code hl_function" href="_f_s_m__private_8h.html#ac817972fed8a0babe2356c890f960e75">newFMSPrivateVars</a>(<span class="keywordtype">int</span> numState, <span class="keywordtype">int</span> defaultState){</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">typedef</span> void (*StateFuncPtr)(<span class="keywordtype">void</span> *); </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">typedef</span> void (*ChildFSMStepFuncPtr)(FSM **); </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">typedef</span> int (*TransitionFuncPtr)(<span class="keywordtype">void</span> *, <span class="keywordtype">int</span> *);</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">typedef</span> int (*SelectNextStateFcnPtr)(<span class="keywordtype">void</span> *, <a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a> *);</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> </div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <a class="code hl_struct" href="struct_f_s_m_private_vars.html">FSMPrivateVars</a> *privateVars = calloc(1, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="struct_f_s_m_private_vars.html">FSMPrivateVars</a>));</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> privateVars-&gt;numState = numState;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> privateVars-&gt;defaultState = defaultState;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> privateVars-&gt;curState = 0;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> privateVars-&gt;nextState = 0;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> privateVars-&gt;numChild = 0;</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> privateVars-&gt;fcns.childFSMStepTable = calloc(numState * numState, <span class="keyword">sizeof</span>(ChildFSMStepFuncPtr));</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> privateVars-&gt;preloader.isReady = 0;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keywordflow">return</span> privateVars;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span>}</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> privateVars-&gt;fcns.duringActionTable = calloc(numState, <span class="keyword">sizeof</span>(StateFuncPtr));</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> privateVars-&gt;fcns.enterActionTable = calloc(numState, <span class="keyword">sizeof</span>(StateFuncPtr));</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> privateVars-&gt;fcns.exitActionTable = calloc(numState, <span class="keyword">sizeof</span>(StateFuncPtr));</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> privateVars-&gt;fcns.selectNextState = calloc(numState, <span class="keyword">sizeof</span>(SelectNextStateFcnPtr));</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> privateVars-&gt;fcns.transitionTable = calloc(numState * numState, <span class="keyword">sizeof</span>(TransitionFuncPtr));</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> privateVars-&gt;fcns.transitionGeneralAction = calloc(1, <span class="keyword">sizeof</span>(StateFuncPtr));</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> privateVars-&gt;fcns.childFSMStepTable = calloc(numState * numState, <span class="keyword">sizeof</span>(ChildFSMStepFuncPtr));</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">return</span> privateVars;</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span>}</div>
</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> </div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="a_f_s_m__private_8h_html_a51a08a9c63b45851707caacfafca8cf9"><div class="ttname"><a href="_f_s_m__private_8h.html#a51a08a9c63b45851707caacfafca8cf9">FSMPrivateVars</a></div><div class="ttdeci">struct FSMPrivateVars FSMPrivateVars</div><div class="ttdoc">基类状态机的私有变量和函数,子类不可直接访问</div></div>
<div class="ttc" id="a_f_s_m__private_8h_html_a9116b0a24810b38fafae2fb986517432"><div class="ttname"><a href="_f_s_m__private_8h.html#a9116b0a24810b38fafae2fb986517432">FSMDataLoader</a></div><div class="ttdeci">struct FSMDataLoader FSMDataLoader</div></div>
<div class="ttc" id="a_f_s_m__private_8h_html_ac817972fed8a0babe2356c890f960e75"><div class="ttname"><a href="_f_s_m__private_8h.html#ac817972fed8a0babe2356c890f960e75">newFMSPrivateVars</a></div><div class="ttdeci">FSMPrivateVars * newFMSPrivateVars(int numState, int defaultState)</div><div class="ttdoc">仅在FSM.c中调用新建私有变量并分配空间</div><div class="ttdef"><b>Definition</b> FSM_private.h:72</div></div>
<div class="ttc" id="a_f_s_m__protected_8h_html"><div class="ttname"><a href="_f_s_m__protected_8h.html">FSM_protected.h</a></div><div class="ttdoc">状态机框架的protected函数和变量在继承的子类中可使用在外界不可使用</div></div>
<div class="ttc" id="astruct_f_s_m_data_loader_html"><div class="ttname"><a href="struct_f_s_m_data_loader.html">FSMDataLoader</a></div><div class="ttdef"><b>Definition</b> FSM_private.h:32</div></div>
<div class="ttc" id="astruct_f_s_m_data_loader_html"><div class="ttname"><a href="struct_f_s_m_data_loader.html">FSMDataLoader</a></div><div class="ttdef"><b>Definition</b> FSM_private.h:33</div></div>
<div class="ttc" id="astruct_f_s_m_handler_html"><div class="ttname"><a href="struct_f_s_m_handler.html">FSMHandler</a></div><div class="ttdoc">状态处理函数集合,全部需要子类重新填充内容</div><div class="ttdef"><b>Definition</b> FSM_protected.h:67</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html"><div class="ttname"><a href="struct_f_s_m_private_vars.html">FSMPrivateVars</a></div><div class="ttdoc">基类状态机的私有变量和函数,子类不可直接访问</div><div class="ttdef"><b>Definition</b> FSM_private.h:45</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html_a4312b61c7165398d2415c0794ac1fa8c"><div class="ttname"><a href="struct_f_s_m_private_vars.html#a4312b61c7165398d2415c0794ac1fa8c">FSMPrivateVars::nextState</a></div><div class="ttdeci">int nextState</div><div class="ttdef"><b>Definition</b> FSM_private.h:50</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html_a4cc735365b8c3946ff83d1984e2565fe"><div class="ttname"><a href="struct_f_s_m_private_vars.html#a4cc735365b8c3946ff83d1984e2565fe">FSMPrivateVars::defaultState</a></div><div class="ttdeci">int defaultState</div><div class="ttdef"><b>Definition</b> FSM_private.h:47</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html_a71ba0d8bee3f15ed5a0dd92dda0e0ed1"><div class="ttname"><a href="struct_f_s_m_private_vars.html#a71ba0d8bee3f15ed5a0dd92dda0e0ed1">FSMPrivateVars::preloader</a></div><div class="ttdeci">FSMDataLoader preloader</div><div class="ttdef"><b>Definition</b> FSM_private.h:58</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html_ab14d89d4db1639abfab4a24f05cca6a7"><div class="ttname"><a href="struct_f_s_m_private_vars.html#ab14d89d4db1639abfab4a24f05cca6a7">FSMPrivateVars::index</a></div><div class="ttdeci">int index</div><div class="ttdef"><b>Definition</b> FSM_private.h:51</div></div>
<div class="ttc" id="astruct_f_s_m_signals_html"><div class="ttname"><a href="struct_f_s_m_signals.html">FSMSignals</a></div><div class="ttdoc">状态机用的信号protected子类可以访问</div><div class="ttdef"><b>Definition</b> FSM_protected.h:85</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html"><div class="ttname"><a href="struct_f_s_m_private_vars.html">FSMPrivateVars</a></div><div class="ttdoc">基类状态机的私有变量和函数,子类不可直接访问</div><div class="ttdef"><b>Definition</b> FSM_private.h:46</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html_a1e013b34f3da19006fdaef781e386ba7"><div class="ttname"><a href="struct_f_s_m_private_vars.html#a1e013b34f3da19006fdaef781e386ba7">FSMPrivateVars::curState</a></div><div class="ttdeci">int curState</div><div class="ttdef"><b>Definition</b> FSM_private.h:50</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html_a38fc9622245dd2e2272d0511a603db69"><div class="ttname"><a href="struct_f_s_m_private_vars.html#a38fc9622245dd2e2272d0511a603db69">FSMPrivateVars::fcns</a></div><div class="ttdeci">FSMHandler fcns</div><div class="ttdef"><b>Definition</b> FSM_private.h:54</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html_a4312b61c7165398d2415c0794ac1fa8c"><div class="ttname"><a href="struct_f_s_m_private_vars.html#a4312b61c7165398d2415c0794ac1fa8c">FSMPrivateVars::nextState</a></div><div class="ttdeci">int nextState</div><div class="ttdef"><b>Definition</b> FSM_private.h:51</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html_a4cc735365b8c3946ff83d1984e2565fe"><div class="ttname"><a href="struct_f_s_m_private_vars.html#a4cc735365b8c3946ff83d1984e2565fe">FSMPrivateVars::defaultState</a></div><div class="ttdeci">int defaultState</div><div class="ttdef"><b>Definition</b> FSM_private.h:48</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html_a71ba0d8bee3f15ed5a0dd92dda0e0ed1"><div class="ttname"><a href="struct_f_s_m_private_vars.html#a71ba0d8bee3f15ed5a0dd92dda0e0ed1">FSMPrivateVars::preloader</a></div><div class="ttdeci">FSMDataLoader preloader</div><div class="ttdef"><b>Definition</b> FSM_private.h:59</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html_a9f8a355881f1e3e990987090e6e9e37c"><div class="ttname"><a href="struct_f_s_m_private_vars.html#a9f8a355881f1e3e990987090e6e9e37c">FSMPrivateVars::numState</a></div><div class="ttdeci">int numState</div><div class="ttdef"><b>Definition</b> FSM_private.h:47</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html_ab14d89d4db1639abfab4a24f05cca6a7"><div class="ttname"><a href="struct_f_s_m_private_vars.html#ab14d89d4db1639abfab4a24f05cca6a7">FSMPrivateVars::index</a></div><div class="ttdeci">int index</div><div class="ttdef"><b>Definition</b> FSM_private.h:52</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html_ac66fa0241dc6aa44e48e6b16811a8091"><div class="ttname"><a href="struct_f_s_m_private_vars.html#ac66fa0241dc6aa44e48e6b16811a8091">FSMPrivateVars::numChild</a></div><div class="ttdeci">int numChild</div><div class="ttdef"><b>Definition</b> FSM_private.h:56</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html_ad20548555264a67dac6b18b757e01821"><div class="ttname"><a href="struct_f_s_m_private_vars.html#ad20548555264a67dac6b18b757e01821">FSMPrivateVars::childFSM</a></div><div class="ttdeci">FSM ** childFSM</div><div class="ttdef"><b>Definition</b> FSM_private.h:57</div></div>
<div class="ttc" id="astruct_f_s_m_signals_html"><div class="ttname"><a href="struct_f_s_m_signals.html">FSMSignals</a></div><div class="ttdoc">状态机用的信号protected子类可以访问</div><div class="ttdef"><b>Definition</b> FSM_protected.h:86</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->

View File

@ -110,7 +110,7 @@ $(function(){initNavTree('_f_s_m__protected_8h.html',''); initResizable(); });
<p>状态机框架的protected函数和变量在继承的子类中可使用在外界不可使用
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;FSM_public.h&quot;</code><br />
<div class="textblock"><code>#include &quot;<a class="el" href="_f_s_m__public_8h_source.html">FSM_public.h</a>&quot;</code><br />
</div>
<p><a href="_f_s_m__protected_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
@ -136,8 +136,7 @@ Typedefs</h2></td></tr>
<tr class="memitem:a19064d5985c08b2ebbdfe2b27c6986ba" id="r_a19064d5985c08b2ebbdfe2b27c6986ba"><td class="memItemLeft" align="right" valign="top">typedef struct FSMHandler&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a19064d5985c08b2ebbdfe2b27c6986ba">FSMHandler</a></td></tr>
<tr class="memdesc:a19064d5985c08b2ebbdfe2b27c6986ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">状态处理函数集合,全部需要子类重新填充内容 <br /></td></tr>
<tr class="separator:a19064d5985c08b2ebbdfe2b27c6986ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8470b4675b81ea69519ae6222c77e3f" id="r_aa8470b4675b81ea69519ae6222c77e3f"><td class="memItemLeft" align="right" valign="top"><a id="aa8470b4675b81ea69519ae6222c77e3f" name="aa8470b4675b81ea69519ae6222c77e3f"></a>
typedef struct FSMSignals&#160;</td><td class="memItemRight" valign="bottom"><b>FSMSignals</b></td></tr>
<tr class="memitem:aa8470b4675b81ea69519ae6222c77e3f" id="r_aa8470b4675b81ea69519ae6222c77e3f"><td class="memItemLeft" align="right" valign="top">typedef struct FSMSignals&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa8470b4675b81ea69519ae6222c77e3f">FSMSignals</a></td></tr>
<tr class="memdesc:aa8470b4675b81ea69519ae6222c77e3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">状态机用的信号protected子类可以访问 <br /></td></tr>
<tr class="separator:aa8470b4675b81ea69519ae6222c77e3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cfbf21b07540615b7ac4ea49a60b037" id="r_a5cfbf21b07540615b7ac4ea49a60b037"><td class="memItemLeft" align="right" valign="top"><a id="a5cfbf21b07540615b7ac4ea49a60b037" name="a5cfbf21b07540615b7ac4ea49a60b037"></a>
@ -169,7 +168,7 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>啥意思? </p>
<p>清空上次触发信号,占用第一个信号位 </p>
</div>
</div>
@ -187,7 +186,24 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<p>状态处理函数集合,全部需要子类重新填充内容 </p>
<p>这个结构体暴露给protect文件方便在子类中添加函数。不然添加函数得再写个函数添加 有点麻烦 </p>
<p>这个结构体是私有变量子状态机和外界都不该访问。但是写在FSM_protect.h文件这样方便在子类中添加函数。不然添加函数得再写个函数添加 有点麻烦 </p>
</div>
</div>
<a id="aa8470b4675b81ea69519ae6222c77e3f" name="aa8470b4675b81ea69519ae6222c77e3f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8470b4675b81ea69519ae6222c77e3f">&#9670;&#160;</a></span>FSMSignals</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct FSMSignals FSMSignals</td>
</tr>
</table>
</div><div class="memdoc">
<p>状态机用的信号protected子类可以访问 </p>
<p>外部只能通过SetSignal函数对信号进行设置在状态机运行时会根据信号清除函数清除信号。信号 利用位进行存储,每个位代表一个信号,通过移位操作设置和清除信号。 </p>
</div>
</div>

View File

@ -106,7 +106,7 @@ $(function(){initNavTree('_f_s_m__protected_8h_source.html',''); initResizable()
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#ifndef __FSM_PROTECTED_H_</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#define __FSM_PROTECTED_H_</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &quot;FSM_public.h&quot;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &quot;<a class="code" href="_f_s_m__public_8h.html">FSM_public.h</a>&quot;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">// #define DSP28377</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#ifdef DSP28377</span></div>
@ -142,116 +142,120 @@ $(function(){initNavTree('_f_s_m__protected_8h_source.html',''); initResizable()
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="_f_s_m__protected_8h.html#aa8470b4675b81ea69519ae6222c77e3f"> 48</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a> <a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a>;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_f_s_m_private_vars.html">FSMPrivateVars</a> <a class="code hl_struct" href="struct_f_s_m_private_vars.html">FSMPrivateVars</a>;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="keyword">typedef</span> void (*Avoid_WARNING_State_Fcns)(<span class="keywordtype">void</span> *data, FSM **childFSM);</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="keyword">typedef</span> void (*Avoid_WARNING_State_Fcns)(<span class="keywordtype">void</span> *data, FSM **<a class="code hl_variable" href="struct_f_s_m_private_vars.html#ad20548555264a67dac6b18b757e01821">childFSM</a>);</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="keyword">typedef</span> void (*Avoid_WARNING_General_Handlers)(<span class="keywordtype">void</span> *data);</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="keyword">typedef</span> void (*Avoid_WARNING_Transition_Handler)(<span class="keywordtype">void</span> *data);</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="keyword">typedef</span> void (*Avoid_WARNING_Overrider_Fcns)(FSM *pFSM);</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="keyword">typedef</span> void (*Avoid_WARNING_ResetSignals_Fcns)(<a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a>* signals, <span class="keywordtype">void</span> *);</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="keyword">typedef</span> void (*Avoid_WARNING_loadData_Fcns)(<span class="keywordtype">void</span>*);</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="keyword">typedef</span> int (*Avoid_WARNING_SelectNextState)(<span class="keywordtype">void</span> *data, <a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a>* signals);</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="keyword">typedef</span> void (*Avoid_WARNING_void_fcns)(<a class="code hl_struct" href="struct_f_s_m_handler.html">FSMHandler</a> *fcns);</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="keyword">typedef</span> void (*Avoid_WARNING_void_fcns)(<a class="code hl_struct" href="struct_f_s_m_handler.html">FSMHandler</a> *<a class="code hl_variable" href="struct_f_s_m_private_vars.html#a38fc9622245dd2e2272d0511a603db69">fcns</a>);</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div>
<div class="foldopen" id="foldopen00067" data-start="{" data-end="};">
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="struct_f_s_m_handler.html"> 67</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_f_s_m_handler.html">FSMHandler</a>{</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="struct_f_s_m_handler.html#a934ff7d1a2f7714694b8a2927b5f8451"> 68</a></span> int (**<a class="code hl_variable" href="struct_f_s_m_handler.html#a934ff7d1a2f7714694b8a2927b5f8451">selectNextState</a>)(<span class="keywordtype">void</span> *data, <a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a>* signals); </div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> void (**transitionTable)(<span class="keywordtype">void</span> *data);</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> void (*transitionGeneralAction)(<span class="keywordtype">void</span> *data);</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> void (**enterActionTable)(<span class="keywordtype">void</span> *data, FSM **cFSM);</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> void (**duringActionTable)(<span class="keywordtype">void</span> *data, FSM **cFSM);</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> void (**exitActionTable)(<span class="keywordtype">void</span> *data, FSM **cFSM);</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> void (**childFSMStepTable)(FSM **cFSM);</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="struct_f_s_m_handler.html#ac3b9fc077f8ba0368e8cba02a890aa2f"> 70</a></span> void (**<a class="code hl_variable" href="struct_f_s_m_handler.html#ac3b9fc077f8ba0368e8cba02a890aa2f">transitionTable</a>)(<span class="keywordtype">void</span> *data); </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="struct_f_s_m_handler.html#ab199071e132b4409d71883155e6b81f2"> 71</a></span> void (*<a class="code hl_variable" href="struct_f_s_m_handler.html#ab199071e132b4409d71883155e6b81f2">transitionGeneralAction</a>)(<span class="keywordtype">void</span> *data); </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="struct_f_s_m_handler.html#aa733ab89a48f8a63b4afb623b4d6be90"> 73</a></span> void (**<a class="code hl_variable" href="struct_f_s_m_handler.html#aa733ab89a48f8a63b4afb623b4d6be90">enterActionTable</a>)(<span class="keywordtype">void</span> *data, FSM **cFSM); </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="struct_f_s_m_handler.html#ad3506a53c3ee76655a117f7db0da7d3d"> 74</a></span> void (**<a class="code hl_variable" href="struct_f_s_m_handler.html#ad3506a53c3ee76655a117f7db0da7d3d">duringActionTable</a>)(<span class="keywordtype">void</span> *data, FSM **cFSM); </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="struct_f_s_m_handler.html#a04721875a9baabc8a51c54a668db9a2c"> 75</a></span> void (**<a class="code hl_variable" href="struct_f_s_m_handler.html#a04721875a9baabc8a51c54a668db9a2c">exitActionTable</a>)(<span class="keywordtype">void</span> *data, FSM **cFSM); </div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="struct_f_s_m_handler.html#a976b4147d1c0c9aeb4a61c3cc85376bf"> 77</a></span> void (**<a class="code hl_variable" href="struct_f_s_m_handler.html#a976b4147d1c0c9aeb4a61c3cc85376bf">childFSMStepTable</a>)(FSM **cFSM); </div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span>}<a class="code hl_typedef" href="_f_s_m__protected_8h.html#a19064d5985c08b2ebbdfe2b27c6986ba">FSMHandler</a>;</div>
</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
<div class="foldopen" id="foldopen00084" data-start="{" data-end="};">
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="struct_f_s_m_signals.html"> 84</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span>{</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="struct_f_s_m_signals.html#af67ec8fc1e3f46fda173b939dbe9116c"> 86</a></span> Uint16 <a class="code hl_variable" href="struct_f_s_m_signals.html#af67ec8fc1e3f46fda173b939dbe9116c">external</a>; </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="struct_f_s_m_signals.html#a0ed78b85dbee15c4928fc85546eaa10d"> 87</a></span> Uint16 <a class="code hl_variable" href="struct_f_s_m_signals.html#a0ed78b85dbee15c4928fc85546eaa10d">lastTriggeredSignal</a>; </div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span>}<a class="code hl_typedef" href="_f_s_m__protected_8h.html#aa8470b4675b81ea69519ae6222c77e3f">FSMSignals</a>;</div>
<div class="foldopen" id="foldopen00085" data-start="{" data-end="};">
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="struct_f_s_m_signals.html"> 85</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span>{</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="struct_f_s_m_signals.html#a9586b8cdc522f49e9bc62d2b67a1d79b"> 87</a></span> Uint16 <a class="code hl_variable" href="struct_f_s_m_signals.html#a9586b8cdc522f49e9bc62d2b67a1d79b">all</a>; </div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"><a class="line" href="struct_f_s_m_signals.html#a0ed78b85dbee15c4928fc85546eaa10d"> 88</a></span> Uint16 <a class="code hl_variable" href="struct_f_s_m_signals.html#a0ed78b85dbee15c4928fc85546eaa10d">lastTriggeredSignal</a>; </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span>}<a class="code hl_typedef" href="_f_s_m__protected_8h.html#aa8470b4675b81ea69519ae6222c77e3f">FSMSignals</a>;</div>
</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="_f_s_m__protected_8h.html#addd5868b6424b70247fe4c8e5b7af29e"> 89</a></span><span class="preprocessor">#define Idle_Signal 0 </span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="comment">/* 纯虚函数,子类必须重新实现,父类构造函数不会初始化 */</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div>
<div class="foldopen" id="foldopen00099" data-start="{" data-end="};">
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="struct_f_s_m_pure_vtbl.html"> 99</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_f_s_m_pure_vtbl.html">FSMPureVtbl</a> {</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="comment">// 状态机控制</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="struct_f_s_m_pure_vtbl.html#a5fe3628ecfac4830ad9f64b1439fe57d"> 101</a></span> void (*<a class="code hl_variable" href="struct_f_s_m_pure_vtbl.html#a5fe3628ecfac4830ad9f64b1439fe57d">setupHandler</a>)(<a class="code hl_struct" href="struct_f_s_m_handler.html">FSMHandler</a> *fcns); </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="struct_f_s_m_pure_vtbl.html#a24fea698707e18e2d84385bfca118db1"> 103</a></span> void (*<a class="code hl_variable" href="struct_f_s_m_pure_vtbl.html#a24fea698707e18e2d84385bfca118db1">initData</a>)(FSM *pFSM); </div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="struct_f_s_m_pure_vtbl.html#a4973df3b86e460a458c9edf4699aa68d"> 104</a></span> void (*<a class="code hl_variable" href="struct_f_s_m_pure_vtbl.html#a4973df3b86e460a458c9edf4699aa68d">loadExternalData</a>)(<span class="keywordtype">void</span> *extData); </div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="struct_f_s_m_pure_vtbl.html#aebfd1efad93210ac02249a81159d1472"> 106</a></span> void (*<a class="code hl_variable" href="struct_f_s_m_pure_vtbl.html#aebfd1efad93210ac02249a81159d1472">initDataLoader</a>)(FSM *pFSM); </div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="struct_f_s_m_pure_vtbl.html#a58c666f5941e07c4a6ef054f1250dbd8"> 108</a></span> void (*<a class="code hl_variable" href="struct_f_s_m_pure_vtbl.html#a58c666f5941e07c4a6ef054f1250dbd8">initSignals</a>)(FSM *pFSM); </div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="struct_f_s_m_pure_vtbl.html#a65489698aee35862a265b30dff280ad1"> 109</a></span> void (*<a class="code hl_variable" href="struct_f_s_m_pure_vtbl.html#a65489698aee35862a265b30dff280ad1">resetSignals</a>)(<a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a> *signalRegs, <span class="keywordtype">void</span> *data); </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="_f_s_m__protected_8h.html#a5cfbf21b07540615b7ac4ea49a60b037"> 110</a></span>}<a class="code hl_typedef" href="_f_s_m__protected_8h.html#a5cfbf21b07540615b7ac4ea49a60b037">FSMPureVtbl</a>;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="_f_s_m__protected_8h.html#addd5868b6424b70247fe4c8e5b7af29e"> 90</a></span><span class="preprocessor">#define Idle_Signal 0 </span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="comment">/* 纯虚函数,子类必须重新实现,父类构造函数不会初始化 */</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="foldopen" id="foldopen00100" data-start="{" data-end="};">
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="struct_f_s_m_pure_vtbl.html"> 100</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="struct_f_s_m_pure_vtbl.html">FSMPureVtbl</a> {</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="comment">// 状态机控制</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="struct_f_s_m_pure_vtbl.html#a5fe3628ecfac4830ad9f64b1439fe57d"> 102</a></span> void (*<a class="code hl_variable" href="struct_f_s_m_pure_vtbl.html#a5fe3628ecfac4830ad9f64b1439fe57d">setupHandler</a>)(<a class="code hl_struct" href="struct_f_s_m_handler.html">FSMHandler</a> *fcns); </div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="struct_f_s_m_pure_vtbl.html#a24fea698707e18e2d84385bfca118db1"> 104</a></span> void (*<a class="code hl_variable" href="struct_f_s_m_pure_vtbl.html#a24fea698707e18e2d84385bfca118db1">initData</a>)(FSM *pFSM); </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="struct_f_s_m_pure_vtbl.html#a4973df3b86e460a458c9edf4699aa68d"> 105</a></span> void (*<a class="code hl_variable" href="struct_f_s_m_pure_vtbl.html#a4973df3b86e460a458c9edf4699aa68d">loadExternalData</a>)(<span class="keywordtype">void</span> *extData); </div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="struct_f_s_m_pure_vtbl.html#aebfd1efad93210ac02249a81159d1472"> 107</a></span> void (*<a class="code hl_variable" href="struct_f_s_m_pure_vtbl.html#aebfd1efad93210ac02249a81159d1472">initDataLoader</a>)(FSM *pFSM); </div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="struct_f_s_m_pure_vtbl.html#a58c666f5941e07c4a6ef054f1250dbd8"> 109</a></span> void (*<a class="code hl_variable" href="struct_f_s_m_pure_vtbl.html#a58c666f5941e07c4a6ef054f1250dbd8">initSignals</a>)(FSM *pFSM); </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="struct_f_s_m_pure_vtbl.html#ae326d855d6a29d089f312d965bf032f2"> 110</a></span> void (*<a class="code hl_variable" href="struct_f_s_m_pure_vtbl.html#ae326d855d6a29d089f312d965bf032f2">resetSignals</a>)(<a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a> *signals, <span class="keywordtype">void</span> *data); </div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="_f_s_m__protected_8h.html#a5cfbf21b07540615b7ac4ea49a60b037"> 111</a></span>}<a class="code hl_typedef" href="_f_s_m__protected_8h.html#a5cfbf21b07540615b7ac4ea49a60b037">FSMPureVtbl</a>;</div>
</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> </div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> </div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="comment">/* 基类定义,纯虚类 */</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="keyword">typedef</span> <span class="keyword">struct </span>FSM</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span>{</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="comment">// public functions</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> void (*step)(FSM *pFSM); <span class="comment">// 子类重新实现可以添加一些打印信息</span></div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> void (*reset)(FSM *pFSM); <span class="comment">// 子类重新实现可以添加一些打印信息</span></div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="comment">// protected</span></div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <a class="code hl_struct" href="struct_f_s_m_pure_vtbl.html">FSMPureVtbl</a> pureVtbl;</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keywordtype">void</span> *data;</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a> signals;</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="comment">// private</span></div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <a class="code hl_struct" href="struct_f_s_m_private_vars.html">FSMPrivateVars</a>* privateVars; </div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span>} FSM;</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span><span class="comment">/* 基类定义,纯虚类 */</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="keyword">typedef</span> <span class="keyword">struct </span>FSM</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span>{</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> FSMPublicFcns publicFcns;</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="comment">// protected</span></div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <a class="code hl_struct" href="struct_f_s_m_pure_vtbl.html">FSMPureVtbl</a> pureVtbl;</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keywordtype">void</span> *data;</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a> signals;</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="comment">// private</span></div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <a class="code hl_struct" href="struct_f_s_m_private_vars.html">FSMPrivateVars</a>* privateVars; </div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span>} FSM;</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span><span class="comment">/* protected函数子类能用外界用不了 */</span></div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span><span class="comment">/* protected函数子类能用外界用不了 */</span></div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><span class="keywordtype">void</span> <a class="code hl_function" href="_f_s_m__protected_8h.html#a9bab0f8eedb805136ee573eac09b6ebb">stepBaseFSM</a>(FSM *pFSM);</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span><span class="keywordtype">void</span> constructFSM(FSM* pFSM);</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span>FSM* newBaseFSM(<span class="keywordtype">int</span> numState, <span class="keywordtype">int</span> defaultState);</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="keywordtype">void</span> resetBaseFSM(FSM *pFSM);</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> </div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span><span class="keywordtype">void</span> <a class="code hl_function" href="_f_s_m__protected_8h.html#a9bab0f8eedb805136ee573eac09b6ebb">stepBaseFSM</a>(FSM *pFSM);</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="keywordtype">void</span> constructFSM(FSM* pFSM);</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span>FSM* newBaseFSM(<span class="keywordtype">int</span> numState, <span class="keywordtype">int</span> defaultState);</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span><span class="keywordtype">void</span> resetBaseFSM(FSM *pFSM);</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> </div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="comment">/* 内联函数 */</span></div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="comment">/* 内联函数 */</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span><span class="comment">/* -------------------------------------------------------------------------- */</span></div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> clearSignal(<a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a> *signals, Uint16 signalFlag){</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> signals-&gt;<a class="code hl_variable" href="struct_f_s_m_signals.html#af67ec8fc1e3f46fda173b939dbe9116c">external</a> &amp;= ~(1 &lt;&lt; signalFlag);</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span>}</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span><span class="keyword">static</span> <span class="keyword">inline</span> Uint16 getSignal(<a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a> *signals, Uint16 signalFlag){</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">return</span> (signals-&gt;<a class="code hl_variable" href="struct_f_s_m_signals.html#af67ec8fc1e3f46fda173b939dbe9116c">external</a> &gt;&gt; signalFlag) &amp; 1;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span>}</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> clearAllSignals(<a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a> *signals){</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> signals-&gt;<a class="code hl_variable" href="struct_f_s_m_signals.html#af67ec8fc1e3f46fda173b939dbe9116c">external</a> = 0;</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span>}</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> </div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> clearSignal(<a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a> *signals, Uint16 signalFlag){</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> signals-&gt;<a class="code hl_variable" href="struct_f_s_m_signals.html#a9586b8cdc522f49e9bc62d2b67a1d79b">all</a> &amp;= ~(1 &lt;&lt; signalFlag);</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span>}</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span><span class="keyword">static</span> <span class="keyword">inline</span> Uint16 getSignal(<a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a> *signals, Uint16 signalFlag){</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">return</span> (signals-&gt;<a class="code hl_variable" href="struct_f_s_m_signals.html#a9586b8cdc522f49e9bc62d2b67a1d79b">all</a> &gt;&gt; signalFlag) &amp; 1;</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span>}</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> clearAllSignals(<a class="code hl_struct" href="struct_f_s_m_signals.html">FSMSignals</a> *signals){</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> signals-&gt;<a class="code hl_variable" href="struct_f_s_m_signals.html#a9586b8cdc522f49e9bc62d2b67a1d79b">all</a> = 0;</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span>}</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> </div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="a_f_s_m__protected_8h_html_a19064d5985c08b2ebbdfe2b27c6986ba"><div class="ttname"><a href="_f_s_m__protected_8h.html#a19064d5985c08b2ebbdfe2b27c6986ba">FSMHandler</a></div><div class="ttdeci">struct FSMHandler FSMHandler</div><div class="ttdoc">状态处理函数集合,全部需要子类重新填充内容</div><div class="ttdef"><b>Definition</b> FSM_protected.h:46</div></div>
<div class="ttc" id="a_f_s_m__protected_8h_html_a5cfbf21b07540615b7ac4ea49a60b037"><div class="ttname"><a href="_f_s_m__protected_8h.html#a5cfbf21b07540615b7ac4ea49a60b037">FSMPureVtbl</a></div><div class="ttdeci">struct FSMPureVtbl FSMPureVtbl</div><div class="ttdoc">纯虚函数,子类必须重新实现,父类构造函数不会初始化</div></div>
<div class="ttc" id="a_f_s_m__protected_8h_html_a9bab0f8eedb805136ee573eac09b6ebb"><div class="ttname"><a href="_f_s_m__protected_8h.html#a9bab0f8eedb805136ee573eac09b6ebb">stepBaseFSM</a></div><div class="ttdeci">void stepBaseFSM(FSM *pFSM)</div><div class="ttdoc">运行状态机,状态机框架的核心函数</div><div class="ttdef"><b>Definition</b> FSM.c:62</div></div>
<div class="ttc" id="a_f_s_m__protected_8h_html_a9bab0f8eedb805136ee573eac09b6ebb"><div class="ttname"><a href="_f_s_m__protected_8h.html#a9bab0f8eedb805136ee573eac09b6ebb">stepBaseFSM</a></div><div class="ttdeci">void stepBaseFSM(FSM *pFSM)</div><div class="ttdoc">运行状态机,状态机框架的核心函数</div><div class="ttdef"><b>Definition</b> FSM.c:78</div></div>
<div class="ttc" id="a_f_s_m__protected_8h_html_aa8470b4675b81ea69519ae6222c77e3f"><div class="ttname"><a href="_f_s_m__protected_8h.html#aa8470b4675b81ea69519ae6222c77e3f">FSMSignals</a></div><div class="ttdeci">struct FSMSignals FSMSignals</div><div class="ttdoc">状态机用的信号protected子类可以访问</div><div class="ttdef"><b>Definition</b> FSM_protected.h:48</div></div>
<div class="ttc" id="a_f_s_m__public_8h_html"><div class="ttname"><a href="_f_s_m__public_8h.html">FSM_public.h</a></div></div>
<div class="ttc" id="astruct_f_s_m_handler_html"><div class="ttname"><a href="struct_f_s_m_handler.html">FSMHandler</a></div><div class="ttdoc">状态处理函数集合,全部需要子类重新填充内容</div><div class="ttdef"><b>Definition</b> FSM_protected.h:67</div></div>
<div class="ttc" id="astruct_f_s_m_handler_html_a04721875a9baabc8a51c54a668db9a2c"><div class="ttname"><a href="struct_f_s_m_handler.html#a04721875a9baabc8a51c54a668db9a2c">FSMHandler::exitActionTable</a></div><div class="ttdeci">void(** exitActionTable)(void *data, FSM **cFSM)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:75</div></div>
<div class="ttc" id="astruct_f_s_m_handler_html_a934ff7d1a2f7714694b8a2927b5f8451"><div class="ttname"><a href="struct_f_s_m_handler.html#a934ff7d1a2f7714694b8a2927b5f8451">FSMHandler::selectNextState</a></div><div class="ttdeci">int(** selectNextState)(void *data, FSMSignals *signals)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:68</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html"><div class="ttname"><a href="struct_f_s_m_private_vars.html">FSMPrivateVars</a></div><div class="ttdoc">基类状态机的私有变量和函数,子类不可直接访问</div><div class="ttdef"><b>Definition</b> FSM_private.h:45</div></div>
<div class="ttc" id="astruct_f_s_m_pure_vtbl_html"><div class="ttname"><a href="struct_f_s_m_pure_vtbl.html">FSMPureVtbl</a></div><div class="ttdoc">纯虚函数,子类必须重新实现,父类构造函数不会初始化</div><div class="ttdef"><b>Definition</b> FSM_protected.h:99</div></div>
<div class="ttc" id="astruct_f_s_m_pure_vtbl_html_a24fea698707e18e2d84385bfca118db1"><div class="ttname"><a href="struct_f_s_m_pure_vtbl.html#a24fea698707e18e2d84385bfca118db1">FSMPureVtbl::initData</a></div><div class="ttdeci">void(* initData)(FSM *pFSM)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:103</div></div>
<div class="ttc" id="astruct_f_s_m_pure_vtbl_html_a4973df3b86e460a458c9edf4699aa68d"><div class="ttname"><a href="struct_f_s_m_pure_vtbl.html#a4973df3b86e460a458c9edf4699aa68d">FSMPureVtbl::loadExternalData</a></div><div class="ttdeci">void(* loadExternalData)(void *extData)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:104</div></div>
<div class="ttc" id="astruct_f_s_m_pure_vtbl_html_a58c666f5941e07c4a6ef054f1250dbd8"><div class="ttname"><a href="struct_f_s_m_pure_vtbl.html#a58c666f5941e07c4a6ef054f1250dbd8">FSMPureVtbl::initSignals</a></div><div class="ttdeci">void(* initSignals)(FSM *pFSM)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:108</div></div>
<div class="ttc" id="astruct_f_s_m_pure_vtbl_html_a5fe3628ecfac4830ad9f64b1439fe57d"><div class="ttname"><a href="struct_f_s_m_pure_vtbl.html#a5fe3628ecfac4830ad9f64b1439fe57d">FSMPureVtbl::setupHandler</a></div><div class="ttdeci">void(* setupHandler)(FSMHandler *fcns)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:101</div></div>
<div class="ttc" id="astruct_f_s_m_pure_vtbl_html_a65489698aee35862a265b30dff280ad1"><div class="ttname"><a href="struct_f_s_m_pure_vtbl.html#a65489698aee35862a265b30dff280ad1">FSMPureVtbl::resetSignals</a></div><div class="ttdeci">void(* resetSignals)(FSMSignals *signalRegs, void *data)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:109</div></div>
<div class="ttc" id="astruct_f_s_m_pure_vtbl_html_aebfd1efad93210ac02249a81159d1472"><div class="ttname"><a href="struct_f_s_m_pure_vtbl.html#aebfd1efad93210ac02249a81159d1472">FSMPureVtbl::initDataLoader</a></div><div class="ttdeci">void(* initDataLoader)(FSM *pFSM)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:106</div></div>
<div class="ttc" id="astruct_f_s_m_signals_html"><div class="ttname"><a href="struct_f_s_m_signals.html">FSMSignals</a></div><div class="ttdoc">状态机用的信号protected子类可以访问</div><div class="ttdef"><b>Definition</b> FSM_protected.h:85</div></div>
<div class="ttc" id="astruct_f_s_m_signals_html_a0ed78b85dbee15c4928fc85546eaa10d"><div class="ttname"><a href="struct_f_s_m_signals.html#a0ed78b85dbee15c4928fc85546eaa10d">FSMSignals::lastTriggeredSignal</a></div><div class="ttdeci">Uint16 lastTriggeredSignal</div><div class="ttdef"><b>Definition</b> FSM_protected.h:87</div></div>
<div class="ttc" id="astruct_f_s_m_signals_html_af67ec8fc1e3f46fda173b939dbe9116c"><div class="ttname"><a href="struct_f_s_m_signals.html#af67ec8fc1e3f46fda173b939dbe9116c">FSMSignals::external</a></div><div class="ttdeci">Uint16 external</div><div class="ttdef"><b>Definition</b> FSM_protected.h:86</div></div>
<div class="ttc" id="astruct_f_s_m_handler_html_a976b4147d1c0c9aeb4a61c3cc85376bf"><div class="ttname"><a href="struct_f_s_m_handler.html#a976b4147d1c0c9aeb4a61c3cc85376bf">FSMHandler::childFSMStepTable</a></div><div class="ttdeci">void(** childFSMStepTable)(FSM **cFSM)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:77</div></div>
<div class="ttc" id="astruct_f_s_m_handler_html_aa733ab89a48f8a63b4afb623b4d6be90"><div class="ttname"><a href="struct_f_s_m_handler.html#aa733ab89a48f8a63b4afb623b4d6be90">FSMHandler::enterActionTable</a></div><div class="ttdeci">void(** enterActionTable)(void *data, FSM **cFSM)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:73</div></div>
<div class="ttc" id="astruct_f_s_m_handler_html_ab199071e132b4409d71883155e6b81f2"><div class="ttname"><a href="struct_f_s_m_handler.html#ab199071e132b4409d71883155e6b81f2">FSMHandler::transitionGeneralAction</a></div><div class="ttdeci">void(* transitionGeneralAction)(void *data)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:71</div></div>
<div class="ttc" id="astruct_f_s_m_handler_html_ac3b9fc077f8ba0368e8cba02a890aa2f"><div class="ttname"><a href="struct_f_s_m_handler.html#ac3b9fc077f8ba0368e8cba02a890aa2f">FSMHandler::transitionTable</a></div><div class="ttdeci">void(** transitionTable)(void *data)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:70</div></div>
<div class="ttc" id="astruct_f_s_m_handler_html_ad3506a53c3ee76655a117f7db0da7d3d"><div class="ttname"><a href="struct_f_s_m_handler.html#ad3506a53c3ee76655a117f7db0da7d3d">FSMHandler::duringActionTable</a></div><div class="ttdeci">void(** duringActionTable)(void *data, FSM **cFSM)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:74</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html"><div class="ttname"><a href="struct_f_s_m_private_vars.html">FSMPrivateVars</a></div><div class="ttdoc">基类状态机的私有变量和函数,子类不可直接访问</div><div class="ttdef"><b>Definition</b> FSM_private.h:46</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html_a38fc9622245dd2e2272d0511a603db69"><div class="ttname"><a href="struct_f_s_m_private_vars.html#a38fc9622245dd2e2272d0511a603db69">FSMPrivateVars::fcns</a></div><div class="ttdeci">FSMHandler fcns</div><div class="ttdef"><b>Definition</b> FSM_private.h:54</div></div>
<div class="ttc" id="astruct_f_s_m_private_vars_html_ad20548555264a67dac6b18b757e01821"><div class="ttname"><a href="struct_f_s_m_private_vars.html#ad20548555264a67dac6b18b757e01821">FSMPrivateVars::childFSM</a></div><div class="ttdeci">FSM ** childFSM</div><div class="ttdef"><b>Definition</b> FSM_private.h:57</div></div>
<div class="ttc" id="astruct_f_s_m_pure_vtbl_html"><div class="ttname"><a href="struct_f_s_m_pure_vtbl.html">FSMPureVtbl</a></div><div class="ttdoc">纯虚函数,子类必须重新实现,父类构造函数不会初始化</div><div class="ttdef"><b>Definition</b> FSM_protected.h:100</div></div>
<div class="ttc" id="astruct_f_s_m_pure_vtbl_html_a24fea698707e18e2d84385bfca118db1"><div class="ttname"><a href="struct_f_s_m_pure_vtbl.html#a24fea698707e18e2d84385bfca118db1">FSMPureVtbl::initData</a></div><div class="ttdeci">void(* initData)(FSM *pFSM)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:104</div></div>
<div class="ttc" id="astruct_f_s_m_pure_vtbl_html_a4973df3b86e460a458c9edf4699aa68d"><div class="ttname"><a href="struct_f_s_m_pure_vtbl.html#a4973df3b86e460a458c9edf4699aa68d">FSMPureVtbl::loadExternalData</a></div><div class="ttdeci">void(* loadExternalData)(void *extData)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:105</div></div>
<div class="ttc" id="astruct_f_s_m_pure_vtbl_html_a58c666f5941e07c4a6ef054f1250dbd8"><div class="ttname"><a href="struct_f_s_m_pure_vtbl.html#a58c666f5941e07c4a6ef054f1250dbd8">FSMPureVtbl::initSignals</a></div><div class="ttdeci">void(* initSignals)(FSM *pFSM)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:109</div></div>
<div class="ttc" id="astruct_f_s_m_pure_vtbl_html_a5fe3628ecfac4830ad9f64b1439fe57d"><div class="ttname"><a href="struct_f_s_m_pure_vtbl.html#a5fe3628ecfac4830ad9f64b1439fe57d">FSMPureVtbl::setupHandler</a></div><div class="ttdeci">void(* setupHandler)(FSMHandler *fcns)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:102</div></div>
<div class="ttc" id="astruct_f_s_m_pure_vtbl_html_ae326d855d6a29d089f312d965bf032f2"><div class="ttname"><a href="struct_f_s_m_pure_vtbl.html#ae326d855d6a29d089f312d965bf032f2">FSMPureVtbl::resetSignals</a></div><div class="ttdeci">void(* resetSignals)(FSMSignals *signals, void *data)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:110</div></div>
<div class="ttc" id="astruct_f_s_m_pure_vtbl_html_aebfd1efad93210ac02249a81159d1472"><div class="ttname"><a href="struct_f_s_m_pure_vtbl.html#aebfd1efad93210ac02249a81159d1472">FSMPureVtbl::initDataLoader</a></div><div class="ttdeci">void(* initDataLoader)(FSM *pFSM)</div><div class="ttdef"><b>Definition</b> FSM_protected.h:107</div></div>
<div class="ttc" id="astruct_f_s_m_signals_html"><div class="ttname"><a href="struct_f_s_m_signals.html">FSMSignals</a></div><div class="ttdoc">状态机用的信号protected子类可以访问</div><div class="ttdef"><b>Definition</b> FSM_protected.h:86</div></div>
<div class="ttc" id="astruct_f_s_m_signals_html_a0ed78b85dbee15c4928fc85546eaa10d"><div class="ttname"><a href="struct_f_s_m_signals.html#a0ed78b85dbee15c4928fc85546eaa10d">FSMSignals::lastTriggeredSignal</a></div><div class="ttdeci">Uint16 lastTriggeredSignal</div><div class="ttdef"><b>Definition</b> FSM_protected.h:88</div></div>
<div class="ttc" id="astruct_f_s_m_signals_html_a9586b8cdc522f49e9bc62d2b67a1d79b"><div class="ttname"><a href="struct_f_s_m_signals.html#a9586b8cdc522f49e9bc62d2b67a1d79b">FSMSignals::all</a></div><div class="ttdeci">Uint16 all</div><div class="ttdef"><b>Definition</b> FSM_protected.h:87</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->

View File

@ -0,0 +1,364 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.10.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>状态机框架: FSM_OOP/baseFSM/FSM_public.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logo_transparent.png"/></td>
<td id="projectalign">
<div id="projectname">状态机框架<span id="projectnumber">&#160;0.1alpha</span>
</div>
<div id="projectbrief">by 天神</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.10.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('_f_s_m__public_8h.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">FSM_public.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p><a href="_f_s_m__public_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a6cea0d8653df195e4325754c662be6a4" id="r_a6cea0d8653df195e4325754c662be6a4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6cea0d8653df195e4325754c662be6a4">Step</a>(pFSM)&#160;&#160;&#160;_stepFSM((FSM *)pFSM)</td></tr>
<tr class="separator:a6cea0d8653df195e4325754c662be6a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a336c6a01ee8af1e00bd175553788ec63" id="r_a336c6a01ee8af1e00bd175553788ec63"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a336c6a01ee8af1e00bd175553788ec63">GetData</a>(pFSM)&#160;&#160;&#160;_getData((FSM*)pFSM)</td></tr>
<tr class="separator:a336c6a01ee8af1e00bd175553788ec63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee4d6cf9b551102cbb7cb2f3e1e65377" id="r_aee4d6cf9b551102cbb7cb2f3e1e65377"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aee4d6cf9b551102cbb7cb2f3e1e65377">SetSignal</a>(pFSM, signal)&#160;&#160;&#160;_setSignal((FSM*)pFSM, signal)</td></tr>
<tr class="separator:aee4d6cf9b551102cbb7cb2f3e1e65377"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4b1ff528d718db75faeba03a845fe46" id="r_aa4b1ff528d718db75faeba03a845fe46"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa4b1ff528d718db75faeba03a845fe46">PreloaderGetReady</a>(pFSM)&#160;&#160;&#160;<a class="el" href="_f_s_m_8c.html#a6e2a8d16f390efeaecc8938ec8f2e728">_preloaderGetReady</a>((FSM *)pFSM);</td></tr>
<tr class="separator:aa4b1ff528d718db75faeba03a845fe46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef66ec3c44c151b23fbc98c10c514d32" id="r_aef66ec3c44c151b23fbc98c10c514d32"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aef66ec3c44c151b23fbc98c10c514d32">GetPreloaderOverFlag</a>(pFSM)&#160;&#160;&#160;<a class="el" href="_f_s_m_8c.html#a704103961964dbb8582b59fd161a3348">_getPreloaderOverFlag</a>((FSM *)pFSM)</td></tr>
<tr class="separator:aef66ec3c44c151b23fbc98c10c514d32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac11e3ebda7ba02fc42ac5de33fcfd148" id="r_ac11e3ebda7ba02fc42ac5de33fcfd148"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac11e3ebda7ba02fc42ac5de33fcfd148">ClearPreloaderOverFlag</a>(pFSM)&#160;&#160;&#160;<a class="el" href="_f_s_m_8c.html#aad909acd21e17b8073d5d9dfb8892ccb">_clearPreloaderOverFlag</a>((FSM *)pFSM)</td></tr>
<tr class="separator:ac11e3ebda7ba02fc42ac5de33fcfd148"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a9c285ac5bbad90b0b04de18d393cf4ce" id="r_a9c285ac5bbad90b0b04de18d393cf4ce"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9c285ac5bbad90b0b04de18d393cf4ce">_preloadIn</a> (FSM *pFSM)</td></tr>
<tr class="separator:a9c285ac5bbad90b0b04de18d393cf4ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e2a8d16f390efeaecc8938ec8f2e728" id="r_a6e2a8d16f390efeaecc8938ec8f2e728"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6e2a8d16f390efeaecc8938ec8f2e728">_preloaderGetReady</a> (FSM *pFSM)</td></tr>
<tr class="separator:a6e2a8d16f390efeaecc8938ec8f2e728"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a704103961964dbb8582b59fd161a3348" id="r_a704103961964dbb8582b59fd161a3348"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a704103961964dbb8582b59fd161a3348">_getPreloaderOverFlag</a> (FSM *pFSM)</td></tr>
<tr class="separator:a704103961964dbb8582b59fd161a3348"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad909acd21e17b8073d5d9dfb8892ccb" id="r_aad909acd21e17b8073d5d9dfb8892ccb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aad909acd21e17b8073d5d9dfb8892ccb">_clearPreloaderOverFlag</a> (FSM *pFSM)</td></tr>
<tr class="separator:aad909acd21e17b8073d5d9dfb8892ccb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><dl class="section author"><dt>Author</dt><dd>天神 (<a href="#" onclick="location.href='mai'+'lto:'+'dal'+'ao'+'shi'+'@s'+'tu.'+'xj'+'tu.'+'ed'+'u.c'+'n'; return false;">dalao<span class="obfuscator">.nosp@m.</span>shi@<span class="obfuscator">.nosp@m.</span>stu.x<span class="obfuscator">.nosp@m.</span>jtu.<span class="obfuscator">.nosp@m.</span>edu.c<span class="obfuscator">.nosp@m.</span>n</a>) </dd></dl>
<dl class="section version"><dt>Version</dt><dd>2.1 </dd></dl>
<dl class="section date"><dt>Date</dt><dd>2024-05-07</dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>天神创意无限公司 2024 </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a6cea0d8653df195e4325754c662be6a4" name="a6cea0d8653df195e4325754c662be6a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6cea0d8653df195e4325754c662be6a4">&#9670;&#160;</a></span>Step</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define Step</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname">pFSM</span></td><td>)</td>
<td>&#160;&#160;&#160;_stepFSM((FSM *)pFSM)</td>
</tr>
</table>
</div><div class="memdoc">
<p>外界调用这个 </p>
</div>
</div>
<a id="a336c6a01ee8af1e00bd175553788ec63" name="a336c6a01ee8af1e00bd175553788ec63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a336c6a01ee8af1e00bd175553788ec63">&#9670;&#160;</a></span>GetData</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GetData</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname">pFSM</span></td><td>)</td>
<td>&#160;&#160;&#160;_getData((FSM*)pFSM)</td>
</tr>
</table>
</div><div class="memdoc">
<p>外界调用这个 </p>
</div>
</div>
<a id="aee4d6cf9b551102cbb7cb2f3e1e65377" name="aee4d6cf9b551102cbb7cb2f3e1e65377"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee4d6cf9b551102cbb7cb2f3e1e65377">&#9670;&#160;</a></span>SetSignal</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SetSignal</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname">pFSM, </span></td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname">signal</span>&#160;)&#160;&#160;&#160;_setSignal((FSM*)pFSM, signal)</td>
</tr>
</table>
</div><div class="memdoc">
<p>外界调用这个 </p>
</div>
</div>
<a id="aa4b1ff528d718db75faeba03a845fe46" name="aa4b1ff528d718db75faeba03a845fe46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4b1ff528d718db75faeba03a845fe46">&#9670;&#160;</a></span>PreloaderGetReady</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PreloaderGetReady</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname">pFSM</span></td><td>)</td>
<td>&#160;&#160;&#160;<a class="el" href="_f_s_m_8c.html#a6e2a8d16f390efeaecc8938ec8f2e728">_preloaderGetReady</a>((FSM *)pFSM);</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000013">Deprecated</a></b></dt><dd></dd></dl>
</div>
</div>
<a id="aef66ec3c44c151b23fbc98c10c514d32" name="aef66ec3c44c151b23fbc98c10c514d32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef66ec3c44c151b23fbc98c10c514d32">&#9670;&#160;</a></span>GetPreloaderOverFlag</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GetPreloaderOverFlag</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname">pFSM</span></td><td>)</td>
<td>&#160;&#160;&#160;<a class="el" href="_f_s_m_8c.html#a704103961964dbb8582b59fd161a3348">_getPreloaderOverFlag</a>((FSM *)pFSM)</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000014">Deprecated</a></b></dt><dd></dd></dl>
</div>
</div>
<a id="ac11e3ebda7ba02fc42ac5de33fcfd148" name="ac11e3ebda7ba02fc42ac5de33fcfd148"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac11e3ebda7ba02fc42ac5de33fcfd148">&#9670;&#160;</a></span>ClearPreloaderOverFlag</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ClearPreloaderOverFlag</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname">pFSM</span></td><td>)</td>
<td>&#160;&#160;&#160;<a class="el" href="_f_s_m_8c.html#aad909acd21e17b8073d5d9dfb8892ccb">_clearPreloaderOverFlag</a>((FSM *)pFSM)</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000015">Deprecated</a></b></dt><dd></dd></dl>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a9c285ac5bbad90b0b04de18d393cf4ce" name="a9c285ac5bbad90b0b04de18d393cf4ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c285ac5bbad90b0b04de18d393cf4ce">&#9670;&#160;</a></span>_preloadIn()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void * _preloadIn </td>
<td>(</td>
<td class="paramtype">FSM *</td> <td class="paramname"><span class="paramname"><em>pFSM</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated</a></b></dt><dd>弃用 </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pFSM</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void* </dd></dl>
</div>
</div>
<a id="a6e2a8d16f390efeaecc8938ec8f2e728" name="a6e2a8d16f390efeaecc8938ec8f2e728"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e2a8d16f390efeaecc8938ec8f2e728">&#9670;&#160;</a></span>_preloaderGetReady()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void _preloaderGetReady </td>
<td>(</td>
<td class="paramtype">FSM *</td> <td class="paramname"><span class="paramname"><em>pFSM</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated</a></b></dt><dd>弃用 </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pFSM</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a704103961964dbb8582b59fd161a3348" name="a704103961964dbb8582b59fd161a3348"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a704103961964dbb8582b59fd161a3348">&#9670;&#160;</a></span>_getPreloaderOverFlag()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int _getPreloaderOverFlag </td>
<td>(</td>
<td class="paramtype">FSM *</td> <td class="paramname"><span class="paramname"><em>pFSM</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated</a></b></dt><dd>弃用 </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pFSM</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int </dd></dl>
</div>
</div>
<a id="aad909acd21e17b8073d5d9dfb8892ccb" name="aad909acd21e17b8073d5d9dfb8892ccb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad909acd21e17b8073d5d9dfb8892ccb">&#9670;&#160;</a></span>_clearPreloaderOverFlag()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void _clearPreloaderOverFlag </td>
<td>(</td>
<td class="paramtype">FSM *</td> <td class="paramname"><span class="paramname"><em>pFSM</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated</a></b></dt><dd>弃用 </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pFSM</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d39bfbf75725f6289f30e50b2f1305f4.html">FSM_OOP</a></li><li class="navelem"><a class="el" href="dir_80fe18a48ef62b4daee0a25030c2866c.html">baseFSM</a></li><li class="navelem"><a class="el" href="_f_s_m__public_8h.html">FSM_public.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.10.0 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,13 @@
var _f_s_m__public_8h =
[
[ "Step", "_f_s_m__public_8h.html#a6cea0d8653df195e4325754c662be6a4", null ],
[ "GetData", "_f_s_m__public_8h.html#a336c6a01ee8af1e00bd175553788ec63", null ],
[ "SetSignal", "_f_s_m__public_8h.html#aee4d6cf9b551102cbb7cb2f3e1e65377", null ],
[ "PreloaderGetReady", "_f_s_m__public_8h.html#aa4b1ff528d718db75faeba03a845fe46", null ],
[ "GetPreloaderOverFlag", "_f_s_m__public_8h.html#aef66ec3c44c151b23fbc98c10c514d32", null ],
[ "ClearPreloaderOverFlag", "_f_s_m__public_8h.html#ac11e3ebda7ba02fc42ac5de33fcfd148", null ],
[ "_preloadIn", "_f_s_m__public_8h.html#a9c285ac5bbad90b0b04de18d393cf4ce", null ],
[ "_preloaderGetReady", "_f_s_m__public_8h.html#a6e2a8d16f390efeaecc8938ec8f2e728", null ],
[ "_getPreloaderOverFlag", "_f_s_m__public_8h.html#a704103961964dbb8582b59fd161a3348", null ],
[ "_clearPreloaderOverFlag", "_f_s_m__public_8h.html#aad909acd21e17b8073d5d9dfb8892ccb", null ]
];

View File

@ -102,61 +102,62 @@ $(function(){initNavTree('_f_s_m__public_8h_source.html',''); initResizable(); }
<div class="headertitle"><div class="title">FSM_public.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * @Author: godcreator02 qq974980621@gmail.com</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * @Date: 2024-04-20 18:52:14</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * @LastEditors: godcreator02 qq974980621@gmail.com</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * @LastEditTime: 2024-04-23 21:51:55</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * @FilePath: \vscode\FSM_OOP\baseFSM\FSM_public.h</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> */</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#ifndef __FSM_PUBLIC_H_</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#define __FSM_PUBLIC_H_</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> Uint16;</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> Uint32;</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#define BASE_FSM(ptr) ((FSM *)(ptr))</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#define BASE_PTR (FSM *)</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="keyword">typedef</span> <span class="keyword">struct </span>FSM FSM;</div>
<a href="_f_s_m__public_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#ifndef __FSM_PUBLIC_H_</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#define __FSM_PUBLIC_H_</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> Uint16;</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> Uint32;</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#define BASE_FSM(ptr) ((FSM *)(ptr))</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#define BASE_PTR (FSM *)</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">/* -------------------------------- 避免警告的函数定义 ------------------------------- */</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define Step(pFSM) _stepFSM((FSM *)pFSM)</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#define PreloaderGetReady(pFSM) _preloaderGetReady((FSM *)pFSM);</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#define GetPreloaderOverFlag(pFSM) _getPreloaderOverFlag((FSM *)pFSM)</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#define ClearPreloaderOverFlag(pFSM) _clearPreloaderOverFlag((FSM *)pFSM)</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#define GetData(pFSM) _getData((FSM*)pFSM)</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#define SetSignal(pFSM, signal) _setSignal((FSM*)pFSM, signal)</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keyword">typedef</span> <span class="keyword">struct </span>FSM FSM;</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keyword">typedef</span> <span class="keyword">struct </span>FSMPublicFcns</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span>{</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> void (*step)(FSM *pFSM); <span class="comment">// 子类重新实现可以添加一些打印信息</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> void (*reset)(FSM *pFSM); <span class="comment">// 子类重新实现可以添加一些打印信息</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span>}FSMPublicFcns;</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="keywordtype">void</span> _stepFSM(FSM *pFSM);</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment">/* --------------------------------- 状态机信息获取 -------------------------------- */</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="keywordtype">int</span> getFSMCurState(FSM *pFSM);</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="keywordtype">int</span> getFSMNextState(FSM *pFSM);</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="keywordtype">void</span> setChildNum(FSM *pFSM, <span class="keywordtype">int</span> num);</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="keywordtype">void</span> registerChildFSM(FSM *parent, FSM *child, <span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment">/* ------------------------------ Data和Signals ------------------------------ */</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="keyword">const</span> <span class="keywordtype">void</span> *_getData(FSM* pFSM);</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="keywordtype">void</span> _setSignal(FSM *pFSM, Uint16 signalFlag);</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="comment">/* ---------------------------------- 预装载器 ---------------------------------- */</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="keywordtype">void</span> *_preloadIn(FSM *pFSM);</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="keywordtype">void</span> _preloaderGetReady(FSM *pFSM);</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="keywordtype">int</span> _getPreloaderOverFlag(FSM *pFSM);</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="keywordtype">void</span> _clearPreloaderOverFlag(FSM *pFSM);</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment">/* -------------------------------- 避免警告的函数定义 ------------------------------- */</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="_f_s_m__public_8h.html#a6cea0d8653df195e4325754c662be6a4"> 30</a></span><span class="preprocessor">#define Step(pFSM) _stepFSM((FSM *)pFSM) </span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="_f_s_m__public_8h.html#a336c6a01ee8af1e00bd175553788ec63"> 31</a></span><span class="preprocessor">#define GetData(pFSM) _getData((FSM*)pFSM) </span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="_f_s_m__public_8h.html#aee4d6cf9b551102cbb7cb2f3e1e65377"> 32</a></span><span class="preprocessor">#define SetSignal(pFSM, signal) _setSignal((FSM*)pFSM, signal) </span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="_f_s_m__public_8h.html#aa4b1ff528d718db75faeba03a845fe46"> 35</a></span><span class="preprocessor">#define PreloaderGetReady(pFSM) _preloaderGetReady((FSM *)pFSM); </span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="_f_s_m__public_8h.html#aef66ec3c44c151b23fbc98c10c514d32"> 36</a></span><span class="preprocessor">#define GetPreloaderOverFlag(pFSM) _getPreloaderOverFlag((FSM *)pFSM) </span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="_f_s_m__public_8h.html#ac11e3ebda7ba02fc42ac5de33fcfd148"> 37</a></span><span class="preprocessor">#define ClearPreloaderOverFlag(pFSM) _clearPreloaderOverFlag((FSM *)pFSM) </span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="keywordtype">void</span> _stepFSM(FSM *pFSM);</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="comment">/* --------------------------------- 状态机信息获取 -------------------------------- */</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="keywordtype">int</span> getFSMCurState(FSM *pFSM);</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="keywordtype">int</span> getFSMNextState(FSM *pFSM);</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="keywordtype">void</span> setChildNum(FSM *pFSM, <span class="keywordtype">int</span> num);</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="keywordtype">void</span> registerChildFSM(FSM *parent, FSM *child, <span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="comment">/* ------------------------------ Data和Signals ------------------------------ */</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="keyword">const</span> <span class="keywordtype">void</span> *_getData(FSM* pFSM);</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="keywordtype">void</span> _setSignal(FSM *pFSM, Uint16 signalFlag);</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="comment">/* ---------------------------------- 预装载器 ---------------------------------- */</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="keywordtype">void</span> *<a class="code hl_function" href="_f_s_m__public_8h.html#a9c285ac5bbad90b0b04de18d393cf4ce">_preloadIn</a>(FSM *pFSM);</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="keywordtype">void</span> <a class="code hl_function" href="_f_s_m__public_8h.html#a6e2a8d16f390efeaecc8938ec8f2e728">_preloaderGetReady</a>(FSM *pFSM);</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="keywordtype">int</span> <a class="code hl_function" href="_f_s_m__public_8h.html#a704103961964dbb8582b59fd161a3348">_getPreloaderOverFlag</a>(FSM *pFSM);</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="keywordtype">void</span> <a class="code hl_function" href="_f_s_m__public_8h.html#aad909acd21e17b8073d5d9dfb8892ccb">_clearPreloaderOverFlag</a>(FSM *pFSM);</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="a_f_s_m__public_8h_html_a6e2a8d16f390efeaecc8938ec8f2e728"><div class="ttname"><a href="_f_s_m__public_8h.html#a6e2a8d16f390efeaecc8938ec8f2e728">_preloaderGetReady</a></div><div class="ttdeci">void _preloaderGetReady(FSM *pFSM)</div><div class="ttdef"><b>Definition</b> FSM.c:179</div></div>
<div class="ttc" id="a_f_s_m__public_8h_html_a704103961964dbb8582b59fd161a3348"><div class="ttname"><a href="_f_s_m__public_8h.html#a704103961964dbb8582b59fd161a3348">_getPreloaderOverFlag</a></div><div class="ttdeci">int _getPreloaderOverFlag(FSM *pFSM)</div><div class="ttdef"><b>Definition</b> FSM.c:192</div></div>
<div class="ttc" id="a_f_s_m__public_8h_html_a9c285ac5bbad90b0b04de18d393cf4ce"><div class="ttname"><a href="_f_s_m__public_8h.html#a9c285ac5bbad90b0b04de18d393cf4ce">_preloadIn</a></div><div class="ttdeci">void * _preloadIn(FSM *pFSM)</div><div class="ttdef"><b>Definition</b> FSM.c:170</div></div>
<div class="ttc" id="a_f_s_m__public_8h_html_aad909acd21e17b8073d5d9dfb8892ccb"><div class="ttname"><a href="_f_s_m__public_8h.html#aad909acd21e17b8073d5d9dfb8892ccb">_clearPreloaderOverFlag</a></div><div class="ttdeci">void _clearPreloaderOverFlag(FSM *pFSM)</div><div class="ttdef"><b>Definition</b> FSM.c:201</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d39bfbf75725f6289f30e50b2f1305f4.html">FSM_OOP</a></li><li class="navelem"><a class="el" href="dir_80fe18a48ef62b4daee0a25030c2866c.html">baseFSM</a></li><li class="navelem"><b>FSM_public.h</b></li>
<li class="navelem"><a class="el" href="dir_d39bfbf75725f6289f30e50b2f1305f4.html">FSM_OOP</a></li><li class="navelem"><a class="el" href="dir_80fe18a48ef62b4daee0a25030c2866c.html">baseFSM</a></li><li class="navelem"><a class="el" href="_f_s_m__public_8h.html">FSM_public.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.10.0 </li>
</ul>
</div>

View File

@ -104,13 +104,13 @@ $(function(){initNavTree('annotated.html',''); initResizable(); });
<div class="contents">
<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct__template_f_s_m_external_data.html" target="_self">_templateFSMExternalData</a></td><td class="desc">自定义外部数据 </td></tr>
<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct__template_f_s_m_inner_data.html" target="_self">_templateFSMInnerData</a></td><td class="desc">自定义内部数据 </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_f_s_m_data_loader.html" target="_self">FSMDataLoader</a></td><td class="desc"></td></tr>
<tr id="row_3_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_f_s_m_handler.html" target="_self">FSMHandler</a></td><td class="desc">状态处理函数集合,全部需要子类重新填充内容 </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_f_s_m_private_vars.html" target="_self">FSMPrivateVars</a></td><td class="desc">基类状态机的私有变量和函数,子类不可直接访问 </td></tr>
<tr id="row_5_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_f_s_m_pure_vtbl.html" target="_self">FSMPureVtbl</a></td><td class="desc">纯虚函数,子类必须重新实现,父类构造函数不会初始化 </td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_f_s_m_signals.html" target="_self">FSMSignals</a></td><td class="desc">状态机用的信号protected子类可以访问 </td></tr>
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_f_s_m_data_loader.html" target="_self">FSMDataLoader</a></td><td class="desc"></td></tr>
<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_f_s_m_handler.html" target="_self">FSMHandler</a></td><td class="desc">状态处理函数集合,全部需要子类重新填充内容 </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_f_s_m_private_vars.html" target="_self">FSMPrivateVars</a></td><td class="desc">基类状态机的私有变量和函数,子类不可直接访问 </td></tr>
<tr id="row_3_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_f_s_m_pure_vtbl.html" target="_self">FSMPureVtbl</a></td><td class="desc">纯虚函数,子类必须重新实现,父类构造函数不会初始化 </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_f_s_m_signals.html" target="_self">FSMSignals</a></td><td class="desc">状态机用的信号protected子类可以访问 </td></tr>
<tr id="row_5_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_template_f_s_m_external_data.html" target="_self">TemplateFSMExternalData</a></td><td class="desc">自定义外部数据 </td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_template_f_s_m_inner_data.html" target="_self">TemplateFSMInnerData</a></td><td class="desc">自定义内部数据 </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->

View File

@ -1,10 +1,10 @@
var annotated_dup =
[
[ "_templateFSMExternalData", "struct__template_f_s_m_external_data.html", null ],
[ "_templateFSMInnerData", "struct__template_f_s_m_inner_data.html", null ],
[ "FSMDataLoader", "struct_f_s_m_data_loader.html", null ],
[ "FSMHandler", "struct_f_s_m_handler.html", "struct_f_s_m_handler" ],
[ "FSMPrivateVars", "struct_f_s_m_private_vars.html", "struct_f_s_m_private_vars" ],
[ "FSMPureVtbl", "struct_f_s_m_pure_vtbl.html", "struct_f_s_m_pure_vtbl" ],
[ "FSMSignals", "struct_f_s_m_signals.html", "struct_f_s_m_signals" ]
[ "FSMSignals", "struct_f_s_m_signals.html", "struct_f_s_m_signals" ],
[ "TemplateFSMExternalData", "struct_template_f_s_m_external_data.html", null ],
[ "TemplateFSMInnerData", "struct_template_f_s_m_inner_data.html", null ]
];

View File

@ -102,14 +102,14 @@ $(function(){initNavTree('classes.html',''); initResizable(); });
<div class="headertitle"><div class="title">Data Structure Index</div></div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter__">_</a></div>
<div class="qindex"><a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a></div>
<div class="classindex">
<dl class="classindex even">
<dt class="alphachar"><a id="letter_F" name="letter_F">F</a></dt>
<dd><a class="el" href="struct_f_s_m_data_loader.html">FSMDataLoader</a></dd><dd><a class="el" href="struct_f_s_m_handler.html">FSMHandler</a></dd><dd><a class="el" href="struct_f_s_m_private_vars.html">FSMPrivateVars</a></dd><dd><a class="el" href="struct_f_s_m_pure_vtbl.html">FSMPureVtbl</a></dd><dd><a class="el" href="struct_f_s_m_signals.html">FSMSignals</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter__" name="letter__">_</a></dt>
<dd><a class="el" href="struct__template_f_s_m_external_data.html">_templateFSMExternalData</a></dd><dd><a class="el" href="struct__template_f_s_m_inner_data.html">_templateFSMInnerData</a></dd></dl>
<dt class="alphachar"><a id="letter_T" name="letter_T">T</a></dt>
<dd><a class="el" href="struct_template_f_s_m_external_data.html">TemplateFSMExternalData</a></dd><dd><a class="el" href="struct_template_f_s_m_inner_data.html">TemplateFSMInnerData</a></dd></dl>
</div>
</div><!-- contents -->
</div><!-- doc-content -->

View File

@ -103,14 +103,42 @@ $(function(){initNavTree('deprecated.html',''); initResizable(); });
</div><!--header-->
<div class="contents">
<div class="textblock"><dl class="reflist">
<dt>Global <a class="el" href="_f_s_m__public_8h.html#aad909acd21e17b8073d5d9dfb8892ccb">_clearPreloaderOverFlag</a> (FSM *pFSM)</dt>
<dd><a class="anchor" id="_deprecated000005"></a>弃用 </dd>
<dt>Global <a class="el" href="_f_s_m__public_8h.html#a704103961964dbb8582b59fd161a3348">_getPreloaderOverFlag</a> (FSM *pFSM)</dt>
<dd><a class="anchor" id="_deprecated000004"></a>弃用 </dd>
<dt>Global <a class="el" href="_f_s_m__public_8h.html#a6e2a8d16f390efeaecc8938ec8f2e728">_preloaderGetReady</a> (FSM *pFSM)</dt>
<dd><a class="anchor" id="_deprecated000003"></a>弃用 </dd>
<dt>Global <a class="el" href="_f_s_m__public_8h.html#a9c285ac5bbad90b0b04de18d393cf4ce">_preloadIn</a> (FSM *pFSM)</dt>
<dd><a class="anchor" id="_deprecated000002"></a>弃用 </dd>
<dt>Global <a class="el" href="_f_s_m__public_8h.html#ac11e3ebda7ba02fc42ac5de33fcfd148">ClearPreloaderOverFlag</a> (pFSM)</dt>
<dd><a class="anchor" id="_deprecated000015"></a> </dd>
<dt>Global <a class="el" href="_f_s_m__private_8h.html#a9116b0a24810b38fafae2fb986517432">FSMDataLoader</a> </dt>
<dd><a class="anchor" id="_deprecated000006"></a>预装载器弃用 </dd>
<dt>Global <a class="el" href="struct_f_s_m_handler.html#a976b4147d1c0c9aeb4a61c3cc85376bf">FSMHandler::childFSMStepTable</a> )(FSM **cFSM)</dt>
<dd><a class="anchor" id="_deprecated000010"></a>子状态机暂时弃用 </dd>
<dt>Global <a class="el" href="struct_f_s_m_private_vars.html#ad20548555264a67dac6b18b757e01821">FSMPrivateVars::childFSM</a> </dt>
<dd><a class="anchor" id="_deprecated000008"></a>和子状态机相关的暂时弃用 </dd>
<dt>Global <a class="el" href="struct_f_s_m_private_vars.html#ac66fa0241dc6aa44e48e6b16811a8091">FSMPrivateVars::numChild</a> </dt>
<dd><a class="anchor" id="_deprecated000007"></a>和子状态机相关的暂时弃用 </dd>
<dt>Global <a class="el" href="struct_f_s_m_private_vars.html#a71ba0d8bee3f15ed5a0dd92dda0e0ed1">FSMPrivateVars::preloader</a> </dt>
<dd><a class="anchor" id="_deprecated000007"></a>弃用 </dd>
<dd><a class="anchor" id="_deprecated000009"></a>弃用 </dd>
<dt>Global <a class="el" href="struct_f_s_m_pure_vtbl.html#aebfd1efad93210ac02249a81159d1472">FSMPureVtbl::initDataLoader</a> )(FSM *pFSM)</dt>
<dd><a class="anchor" id="_deprecated000009"></a>和预装载器相关 </dd>
<dd><a class="anchor" id="_deprecated000012"></a>和预装载器相关 </dd>
<dt>Global <a class="el" href="struct_f_s_m_pure_vtbl.html#a4973df3b86e460a458c9edf4699aa68d">FSMPureVtbl::loadExternalData</a> )(void *extData)</dt>
<dd><a class="anchor" id="_deprecated000008"></a>暂时没用,后续可能考虑外部数据是否允许随时修改 </dd>
<dd><a class="anchor" id="_deprecated000011"></a>暂时没用,后续可能考虑外部数据是否允许随时修改 </dd>
<dt>Global <a class="el" href="_f_s_m__public_8h.html#aef66ec3c44c151b23fbc98c10c514d32">GetPreloaderOverFlag</a> (pFSM)</dt>
<dd><a class="anchor" id="_deprecated000014"></a> </dd>
<dt>Global <a class="el" href="template_f_s_m_8c.html#a8b945e9059bb82bf66884af5133eb898">initDataLoader</a> (TemplateFSM *pFSM)</dt>
<dd><a class="anchor" id="_deprecated000017"></a>弃用 </dd>
<dt>Global <a class="el" href="template_f_s_m_8c.html#a9e6eba3b03d1ff4c504705b2da864cb3">loadExternalData</a> (TemplateFSMData *data)</dt>
<dd><a class="anchor" id="_deprecated000016"></a>暂时没用后续考虑data是否需要加锁再说 </dd>
<dt>Global <a class="el" href="_f_s_m_8c.html#a7fc6a4715e8cbd7660788fd9c59cb417">preload</a> (FSM *pFSM)</dt>
<dd><a class="anchor" id="_deprecated000001"></a>去掉了所有和预装载器相关的内容 </dd>
<dt>Global <a class="el" href="_f_s_m__public_8h.html#aa4b1ff528d718db75faeba03a845fe46">PreloaderGetReady</a> (pFSM)</dt>
<dd><a class="anchor" id="_deprecated000013"></a> </dd>
<dt>Global <a class="el" href="template_f_s_m_8h.html#ab0325ef0b5aef6334743cdd7c1d70bd9">TemplateFSM_Input</a> (pFSM)</dt>
<dd><a class="anchor" id="_deprecated000018"></a>暂时弃用 </dd>
</dl>
</div></div><!-- contents -->
</div><!-- PageDoc -->

View File

@ -105,9 +105,14 @@ $(function(){initNavTree('dir_7883619b7fc78d5d5f504b4a82c84a2d.html',''); initRe
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
Files</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="template_f_s_m_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>templateFSM.h</b></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="template_f_s_m_8c.html">templateFSM.c</a></td></tr>
<tr class="memdesc:template_f_s_m_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">重新实现几个必须实现的函数,并赋值到父类指针里 <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="template_f_s_m__private_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>templateFSM_private.h</b></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="template_f_s_m_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="template_f_s_m_8h.html">templateFSM.h</a></td></tr>
<tr class="memdesc:template_f_s_m_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">对外暴露接口,外部可以设置状态机的信号 <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="template_f_s_m__private_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="template_f_s_m__private_8h.html">templateFSM_private.h</a></td></tr>
<tr class="memdesc:template_f_s_m__private_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">用来声明状态、状态函数等。这个文件只能被templateFSM.c引用一次 <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->

View File

@ -1,5 +1,6 @@
var dir_7883619b7fc78d5d5f504b4a82c84a2d =
[
[ "templateFSM.h", "template_f_s_m_8h_source.html", null ],
[ "templateFSM_private.h", "template_f_s_m__private_8h_source.html", null ]
[ "templateFSM.c", "template_f_s_m_8c.html", "template_f_s_m_8c" ],
[ "templateFSM.h", "template_f_s_m_8h.html", "template_f_s_m_8h" ],
[ "templateFSM_private.h", "template_f_s_m__private_8h.html", "template_f_s_m__private_8h" ]
];

View File

@ -105,13 +105,15 @@ $(function(){initNavTree('dir_80fe18a48ef62b4daee0a25030c2866c.html',''); initRe
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
Files</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_f_s_m_8c.html">FSM.c</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="_f_s_m__private_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_f_s_m__private_8h.html">FSM_private.h</a></td></tr>
<tr class="memdesc:_f_s_m__private_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">状态机框架的私有变量,只能在状态机框架内使用。 <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="_f_s_m__protected_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_f_s_m__protected_8h.html">FSM_protected.h</a></td></tr>
<tr class="memdesc:_f_s_m__protected_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">状态机框架的protected函数和变量在继承的子类中可使用在外界不可使用 <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="_f_s_m__public_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>FSM_public.h</b></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="_f_s_m__public_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_f_s_m__public_8h.html">FSM_public.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->

View File

@ -1,6 +1,7 @@
var dir_80fe18a48ef62b4daee0a25030c2866c =
[
[ "FSM.c", "_f_s_m_8c.html", "_f_s_m_8c" ],
[ "FSM_private.h", "_f_s_m__private_8h.html", "_f_s_m__private_8h" ],
[ "FSM_protected.h", "_f_s_m__protected_8h.html", "_f_s_m__protected_8h" ],
[ "FSM_public.h", "_f_s_m__public_8h_source.html", null ]
[ "FSM_public.h", "_f_s_m__public_8h.html", "_f_s_m__public_8h" ]
];

View File

@ -18,16 +18,21 @@
<a href="key_f_s_m__private_8h_source.html"/>
<a href="template_f_s_m_8h_source.html"/>
<a href="template_f_s_m__private_8h_source.html"/>
<a href="_f_s_m_8c.html"/>
<a href="_f_s_m__private_8h.html"/>
<a href="_f_s_m__protected_8h.html"/>
<a href="_f_s_m__public_8h.html"/>
<a href="template_f_s_m_8c.html"/>
<a href="template_f_s_m_8h.html"/>
<a href="template_f_s_m__private_8h.html"/>
<a href="deprecated.html"/>
<a href="struct__template_f_s_m_external_data.html"/>
<a href="struct__template_f_s_m_inner_data.html"/>
<a href="struct_f_s_m_data_loader.html"/>
<a href="struct_f_s_m_handler.html"/>
<a href="struct_f_s_m_private_vars.html"/>
<a href="struct_f_s_m_pure_vtbl.html"/>
<a href="struct_f_s_m_signals.html"/>
<a href="struct_template_f_s_m_external_data.html"/>
<a href="struct_template_f_s_m_inner_data.html"/>
<a href="dir_80fe18a48ef62b4daee0a25030c2866c.html"/>
<a href="dir_b967bec748219e2f7c7f19a67051e0d6.html"/>
<a href="dir_d39bfbf75725f6289f30e50b2f1305f4.html"/>
@ -46,6 +51,14 @@
<a href="functions.html"/>
<a href="functions.html"/>
<a href="functions.html"/>
<a href="functions.html"/>
<a href="functions.html"/>
<a href="functions.html"/>
<a href="functions.html"/>
<a href="functions_vars.html"/>
<a href="functions_vars.html"/>
<a href="functions_vars.html"/>
<a href="functions_vars.html"/>
<a href="functions_vars.html"/>
<a href="functions_vars.html"/>
<a href="functions_vars.html"/>
@ -58,8 +71,37 @@
<a href="globals.html"/>
<a href="globals.html"/>
<a href="globals.html"/>
<a href="globals.html"/>
<a href="globals.html"/>
<a href="globals.html"/>
<a href="globals.html"/>
<a href="globals.html"/>
<a href="globals.html"/>
<a href="globals.html"/>
<a href="globals.html"/>
<a href="globals.html"/>
<a href="globals_func.html"/>
<a href="globals_func.html"/>
<a href="globals_func.html"/>
<a href="globals_func.html"/>
<a href="globals_func.html"/>
<a href="globals_func.html"/>
<a href="globals_func.html"/>
<a href="globals_func.html"/>
<a href="globals_type.html"/>
<a href="globals_type.html"/>
<a href="globals_type.html"/>
<a href="globals_enum.html"/>
<a href="globals_enum.html"/>
<a href="globals_eval.html"/>
<a href="globals_eval.html"/>
<a href="globals_eval.html"/>
<a href="globals_defs.html"/>
<a href="globals_defs.html"/>
<a href="globals_defs.html"/>
<a href="globals_defs.html"/>
<a href="globals_defs.html"/>
<a href="globals_defs.html"/>
<a href="globals_defs.html"/>
</body>
</html>

View File

@ -106,19 +106,21 @@ $(function(){initNavTree('files.html',''); initResizable(); });
<div class="levels">[detail level <span onclick="javascript:dynsection.toggleLevel(1);">1</span><span onclick="javascript:dynsection.toggleLevel(2);">2</span><span onclick="javascript:dynsection.toggleLevel(3);">3</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="dynsection.toggleFolder('0_')">&#9660;</span><span id="img_0_" class="iconfopen" onclick="dynsection.toggleFolder('0_')">&#160;</span><a class="el" href="dir_d39bfbf75725f6289f30e50b2f1305f4.html" target="_self">FSM_OOP</a></td><td class="desc"></td></tr>
<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="dynsection.toggleFolder('0_0_')">&#9660;</span><span id="img_0_0_" class="iconfopen" onclick="dynsection.toggleFolder('0_0_')">&#160;</span><a class="el" href="dir_80fe18a48ef62b4daee0a25030c2866c.html" target="_self">baseFSM</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="_f_s_m__private_8h_source.html"><span class="icondoc"></span></a><a class="el" href="_f_s_m__private_8h.html" target="_self">FSM_private.h</a></td><td class="desc">状态机框架的私有变量,只能在状态机框架内使用。 </td></tr>
<tr id="row_0_0_1_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="_f_s_m__protected_8h_source.html"><span class="icondoc"></span></a><a class="el" href="_f_s_m__protected_8h.html" target="_self">FSM_protected.h</a></td><td class="desc">状态机框架的protected函数和变量在继承的子类中可使用在外界不可使用 </td></tr>
<tr id="row_0_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="_f_s_m__public_8h_source.html"><span class="icondoc"></span></a><b>FSM_public.h</b></td><td class="desc"></td></tr>
<tr id="row_0_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="dynsection.toggleFolder('0_1_')">&#9660;</span><span id="img_0_1_" class="iconfopen" onclick="dynsection.toggleFolder('0_1_')">&#160;</span><a class="el" href="dir_b967bec748219e2f7c7f19a67051e0d6.html" target="_self">childtest</a></td><td class="desc"></td></tr>
<tr id="row_0_1_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="child_f_s_m_8h_source.html"><span class="icondoc"></span></a><b>childFSM.h</b></td><td class="desc"></td></tr>
<tr id="row_0_1_1_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="child_f_s_m__private_8h_source.html"><span class="icondoc"></span></a><b>childFSM_private.h</b></td><td class="desc"></td></tr>
<tr id="row_0_1_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="parent_f_s_m_8h_source.html"><span class="icondoc"></span></a><b>parentFSM.h</b></td><td class="desc"></td></tr>
<tr id="row_0_2_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_2_" class="arrow" onclick="dynsection.toggleFolder('0_2_')">&#9660;</span><span id="img_0_2_" class="iconfopen" onclick="dynsection.toggleFolder('0_2_')">&#160;</span><a class="el" href="dir_8a682e2342309b53ef6d16f9472268bd.html" target="_self">keytest</a></td><td class="desc"></td></tr>
<tr id="row_0_2_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="key_f_s_m_8h_source.html"><span class="icondoc"></span></a><b>keyFSM.h</b></td><td class="desc"></td></tr>
<tr id="row_0_2_1_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="key_f_s_m__private_8h_source.html"><span class="icondoc"></span></a><b>keyFSM_private.h</b></td><td class="desc"></td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_3_" class="arrow" onclick="dynsection.toggleFolder('0_3_')">&#9660;</span><span id="img_0_3_" class="iconfopen" onclick="dynsection.toggleFolder('0_3_')">&#160;</span><a class="el" href="dir_7883619b7fc78d5d5f504b4a82c84a2d.html" target="_self">template</a></td><td class="desc"></td></tr>
<tr id="row_0_3_0_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="template_f_s_m_8h_source.html"><span class="icondoc"></span></a><b>templateFSM.h</b></td><td class="desc"></td></tr>
<tr id="row_0_3_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="template_f_s_m__private_8h_source.html"><span class="icondoc"></span></a><b>templateFSM_private.h</b></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_f_s_m_8c.html" target="_self">FSM.c</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="_f_s_m__private_8h_source.html"><span class="icondoc"></span></a><a class="el" href="_f_s_m__private_8h.html" target="_self">FSM_private.h</a></td><td class="desc">状态机框架的私有变量,只能在状态机框架内使用。 </td></tr>
<tr id="row_0_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="_f_s_m__protected_8h_source.html"><span class="icondoc"></span></a><a class="el" href="_f_s_m__protected_8h.html" target="_self">FSM_protected.h</a></td><td class="desc">状态机框架的protected函数和变量在继承的子类中可使用在外界不可使用 </td></tr>
<tr id="row_0_0_3_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="_f_s_m__public_8h_source.html"><span class="icondoc"></span></a><a class="el" href="_f_s_m__public_8h.html" target="_self">FSM_public.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="dynsection.toggleFolder('0_1_')">&#9660;</span><span id="img_0_1_" class="iconfopen" onclick="dynsection.toggleFolder('0_1_')">&#160;</span><a class="el" href="dir_b967bec748219e2f7c7f19a67051e0d6.html" target="_self">childtest</a></td><td class="desc"></td></tr>
<tr id="row_0_1_0_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="child_f_s_m_8h_source.html"><span class="icondoc"></span></a><b>childFSM.h</b></td><td class="desc"></td></tr>
<tr id="row_0_1_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="child_f_s_m__private_8h_source.html"><span class="icondoc"></span></a><b>childFSM_private.h</b></td><td class="desc"></td></tr>
<tr id="row_0_1_2_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="parent_f_s_m_8h_source.html"><span class="icondoc"></span></a><b>parentFSM.h</b></td><td class="desc"></td></tr>
<tr id="row_0_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_2_" class="arrow" onclick="dynsection.toggleFolder('0_2_')">&#9660;</span><span id="img_0_2_" class="iconfopen" onclick="dynsection.toggleFolder('0_2_')">&#160;</span><a class="el" href="dir_8a682e2342309b53ef6d16f9472268bd.html" target="_self">keytest</a></td><td class="desc"></td></tr>
<tr id="row_0_2_0_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="key_f_s_m_8h_source.html"><span class="icondoc"></span></a><b>keyFSM.h</b></td><td class="desc"></td></tr>
<tr id="row_0_2_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="key_f_s_m__private_8h_source.html"><span class="icondoc"></span></a><b>keyFSM_private.h</b></td><td class="desc"></td></tr>
<tr id="row_0_3_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_3_" class="arrow" onclick="dynsection.toggleFolder('0_3_')">&#9660;</span><span id="img_0_3_" class="iconfopen" onclick="dynsection.toggleFolder('0_3_')">&#160;</span><a class="el" href="dir_7883619b7fc78d5d5f504b4a82c84a2d.html" target="_self">template</a></td><td class="desc"></td></tr>
<tr id="row_0_3_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="template_f_s_m_8c.html" target="_self">templateFSM.c</a></td><td class="desc">重新实现几个必须实现的函数,并赋值到父类指针里 </td></tr>
<tr id="row_0_3_1_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="template_f_s_m_8h_source.html"><span class="icondoc"></span></a><a class="el" href="template_f_s_m_8h.html" target="_self">templateFSM.h</a></td><td class="desc">对外暴露接口,外部可以设置状态机的信号 </td></tr>
<tr id="row_0_3_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="template_f_s_m__private_8h_source.html"><span class="icondoc"></span></a><a class="el" href="template_f_s_m__private_8h.html" target="_self">templateFSM_private.h</a></td><td class="desc">用来声明状态、状态函数等。这个文件只能被templateFSM.c引用一次 </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->

View File

@ -100,8 +100,15 @@ $(function(){initNavTree('functions.html',''); initResizable(); });
<div class="contents">
<div class="textblock">Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:</div><ul>
<li>all&#160;:&#160;<a class="el" href="struct_f_s_m_signals.html#a9586b8cdc522f49e9bc62d2b67a1d79b">FSMSignals</a></li>
<li>childFSM&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#ad20548555264a67dac6b18b757e01821">FSMPrivateVars</a></li>
<li>childFSMStepTable&#160;:&#160;<a class="el" href="struct_f_s_m_handler.html#a976b4147d1c0c9aeb4a61c3cc85376bf">FSMHandler</a></li>
<li>curState&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#a1e013b34f3da19006fdaef781e386ba7">FSMPrivateVars</a></li>
<li>defaultState&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#a4cc735365b8c3946ff83d1984e2565fe">FSMPrivateVars</a></li>
<li>external&#160;:&#160;<a class="el" href="struct_f_s_m_signals.html#af67ec8fc1e3f46fda173b939dbe9116c">FSMSignals</a></li>
<li>duringActionTable&#160;:&#160;<a class="el" href="struct_f_s_m_handler.html#ad3506a53c3ee76655a117f7db0da7d3d">FSMHandler</a></li>
<li>enterActionTable&#160;:&#160;<a class="el" href="struct_f_s_m_handler.html#aa733ab89a48f8a63b4afb623b4d6be90">FSMHandler</a></li>
<li>exitActionTable&#160;:&#160;<a class="el" href="struct_f_s_m_handler.html#a04721875a9baabc8a51c54a668db9a2c">FSMHandler</a></li>
<li>fcns&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#a38fc9622245dd2e2272d0511a603db69">FSMPrivateVars</a></li>
<li>index&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#ab14d89d4db1639abfab4a24f05cca6a7">FSMPrivateVars</a></li>
<li>initData&#160;:&#160;<a class="el" href="struct_f_s_m_pure_vtbl.html#a24fea698707e18e2d84385bfca118db1">FSMPureVtbl</a></li>
<li>initDataLoader&#160;:&#160;<a class="el" href="struct_f_s_m_pure_vtbl.html#aebfd1efad93210ac02249a81159d1472">FSMPureVtbl</a></li>
@ -109,10 +116,14 @@ $(function(){initNavTree('functions.html',''); initResizable(); });
<li>lastTriggeredSignal&#160;:&#160;<a class="el" href="struct_f_s_m_signals.html#a0ed78b85dbee15c4928fc85546eaa10d">FSMSignals</a></li>
<li>loadExternalData&#160;:&#160;<a class="el" href="struct_f_s_m_pure_vtbl.html#a4973df3b86e460a458c9edf4699aa68d">FSMPureVtbl</a></li>
<li>nextState&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#a4312b61c7165398d2415c0794ac1fa8c">FSMPrivateVars</a></li>
<li>numChild&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#ac66fa0241dc6aa44e48e6b16811a8091">FSMPrivateVars</a></li>
<li>numState&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#a9f8a355881f1e3e990987090e6e9e37c">FSMPrivateVars</a></li>
<li>preloader&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#a71ba0d8bee3f15ed5a0dd92dda0e0ed1">FSMPrivateVars</a></li>
<li>resetSignals&#160;:&#160;<a class="el" href="struct_f_s_m_pure_vtbl.html#a65489698aee35862a265b30dff280ad1">FSMPureVtbl</a></li>
<li>resetSignals&#160;:&#160;<a class="el" href="struct_f_s_m_pure_vtbl.html#ae326d855d6a29d089f312d965bf032f2">FSMPureVtbl</a></li>
<li>selectNextState&#160;:&#160;<a class="el" href="struct_f_s_m_handler.html#a934ff7d1a2f7714694b8a2927b5f8451">FSMHandler</a></li>
<li>setupHandler&#160;:&#160;<a class="el" href="struct_f_s_m_pure_vtbl.html#a5fe3628ecfac4830ad9f64b1439fe57d">FSMPureVtbl</a></li>
<li>transitionGeneralAction&#160;:&#160;<a class="el" href="struct_f_s_m_handler.html#ab199071e132b4409d71883155e6b81f2">FSMHandler</a></li>
<li>transitionTable&#160;:&#160;<a class="el" href="struct_f_s_m_handler.html#ac3b9fc077f8ba0368e8cba02a890aa2f">FSMHandler</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->

View File

@ -100,8 +100,15 @@ $(function(){initNavTree('functions_vars.html',''); initResizable(); });
<div class="contents">
<div class="textblock">Here is a list of all documented variables with links to the struct/union documentation for each field:</div><ul>
<li>all&#160;:&#160;<a class="el" href="struct_f_s_m_signals.html#a9586b8cdc522f49e9bc62d2b67a1d79b">FSMSignals</a></li>
<li>childFSM&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#ad20548555264a67dac6b18b757e01821">FSMPrivateVars</a></li>
<li>childFSMStepTable&#160;:&#160;<a class="el" href="struct_f_s_m_handler.html#a976b4147d1c0c9aeb4a61c3cc85376bf">FSMHandler</a></li>
<li>curState&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#a1e013b34f3da19006fdaef781e386ba7">FSMPrivateVars</a></li>
<li>defaultState&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#a4cc735365b8c3946ff83d1984e2565fe">FSMPrivateVars</a></li>
<li>external&#160;:&#160;<a class="el" href="struct_f_s_m_signals.html#af67ec8fc1e3f46fda173b939dbe9116c">FSMSignals</a></li>
<li>duringActionTable&#160;:&#160;<a class="el" href="struct_f_s_m_handler.html#ad3506a53c3ee76655a117f7db0da7d3d">FSMHandler</a></li>
<li>enterActionTable&#160;:&#160;<a class="el" href="struct_f_s_m_handler.html#aa733ab89a48f8a63b4afb623b4d6be90">FSMHandler</a></li>
<li>exitActionTable&#160;:&#160;<a class="el" href="struct_f_s_m_handler.html#a04721875a9baabc8a51c54a668db9a2c">FSMHandler</a></li>
<li>fcns&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#a38fc9622245dd2e2272d0511a603db69">FSMPrivateVars</a></li>
<li>index&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#ab14d89d4db1639abfab4a24f05cca6a7">FSMPrivateVars</a></li>
<li>initData&#160;:&#160;<a class="el" href="struct_f_s_m_pure_vtbl.html#a24fea698707e18e2d84385bfca118db1">FSMPureVtbl</a></li>
<li>initDataLoader&#160;:&#160;<a class="el" href="struct_f_s_m_pure_vtbl.html#aebfd1efad93210ac02249a81159d1472">FSMPureVtbl</a></li>
@ -109,10 +116,14 @@ $(function(){initNavTree('functions_vars.html',''); initResizable(); });
<li>lastTriggeredSignal&#160;:&#160;<a class="el" href="struct_f_s_m_signals.html#a0ed78b85dbee15c4928fc85546eaa10d">FSMSignals</a></li>
<li>loadExternalData&#160;:&#160;<a class="el" href="struct_f_s_m_pure_vtbl.html#a4973df3b86e460a458c9edf4699aa68d">FSMPureVtbl</a></li>
<li>nextState&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#a4312b61c7165398d2415c0794ac1fa8c">FSMPrivateVars</a></li>
<li>numChild&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#ac66fa0241dc6aa44e48e6b16811a8091">FSMPrivateVars</a></li>
<li>numState&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#a9f8a355881f1e3e990987090e6e9e37c">FSMPrivateVars</a></li>
<li>preloader&#160;:&#160;<a class="el" href="struct_f_s_m_private_vars.html#a71ba0d8bee3f15ed5a0dd92dda0e0ed1">FSMPrivateVars</a></li>
<li>resetSignals&#160;:&#160;<a class="el" href="struct_f_s_m_pure_vtbl.html#a65489698aee35862a265b30dff280ad1">FSMPureVtbl</a></li>
<li>resetSignals&#160;:&#160;<a class="el" href="struct_f_s_m_pure_vtbl.html#ae326d855d6a29d089f312d965bf032f2">FSMPureVtbl</a></li>
<li>selectNextState&#160;:&#160;<a class="el" href="struct_f_s_m_handler.html#a934ff7d1a2f7714694b8a2927b5f8451">FSMHandler</a></li>
<li>setupHandler&#160;:&#160;<a class="el" href="struct_f_s_m_pure_vtbl.html#a5fe3628ecfac4830ad9f64b1439fe57d">FSMPureVtbl</a></li>
<li>transitionGeneralAction&#160;:&#160;<a class="el" href="struct_f_s_m_handler.html#ab199071e132b4409d71883155e6b81f2">FSMHandler</a></li>
<li>transitionTable&#160;:&#160;<a class="el" href="struct_f_s_m_handler.html#ac3b9fc077f8ba0368e8cba02a890aa2f">FSMHandler</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->

View File

@ -99,14 +99,90 @@ $(function(){initNavTree('globals.html',''); initResizable(); });
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:</div><ul>
<div class="textblock">Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:</div>
<h3><a id="index__5F" name="index__5F"></a>- _ -</h3><ul>
<li>_clearPreloaderOverFlag()&#160;:&#160;<a class="el" href="_f_s_m_8c.html#aad909acd21e17b8073d5d9dfb8892ccb">FSM.c</a>, <a class="el" href="_f_s_m__public_8h.html#aad909acd21e17b8073d5d9dfb8892ccb">FSM_public.h</a></li>
<li>_getPreloaderOverFlag()&#160;:&#160;<a class="el" href="_f_s_m_8c.html#a704103961964dbb8582b59fd161a3348">FSM.c</a>, <a class="el" href="_f_s_m__public_8h.html#a704103961964dbb8582b59fd161a3348">FSM_public.h</a></li>
<li>_preloaderGetReady()&#160;:&#160;<a class="el" href="_f_s_m_8c.html#a6e2a8d16f390efeaecc8938ec8f2e728">FSM.c</a>, <a class="el" href="_f_s_m__public_8h.html#a6e2a8d16f390efeaecc8938ec8f2e728">FSM_public.h</a></li>
<li>_preloadIn()&#160;:&#160;<a class="el" href="_f_s_m_8c.html#a9c285ac5bbad90b0b04de18d393cf4ce">FSM.c</a>, <a class="el" href="_f_s_m__public_8h.html#a9c285ac5bbad90b0b04de18d393cf4ce">FSM_public.h</a></li>
<li>_State&#160;:&#160;<a class="el" href="template_f_s_m__private_8h.html#af5addeb46f2b4f7f88a4de82fbf5855b">templateFSM_private.h</a></li>
</ul>
<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>ClearPreloaderOverFlag&#160;:&#160;<a class="el" href="_f_s_m__public_8h.html#ac11e3ebda7ba02fc42ac5de33fcfd148">FSM_public.h</a></li>
<li>Count_State&#160;:&#160;<a class="el" href="template_f_s_m__private_8h.html#af5addeb46f2b4f7f88a4de82fbf5855ba1413c9e060de9405cf1898973fc25394">templateFSM_private.h</a></li>
<li>createTemplateFSM()&#160;:&#160;<a class="el" href="template_f_s_m_8c.html#ab0fc4d91dbcaaffccd8f14e56173d696">templateFSM.c</a>, <a class="el" href="template_f_s_m_8h.html#ab0fc4d91dbcaaffccd8f14e56173d696">templateFSM.h</a></li>
</ul>
<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>DEFAULT_STATE&#160;:&#160;<a class="el" href="template_f_s_m__private_8h.html#af93d7c80faa6ebd086460cde2d5dd27e">templateFSM_private.h</a></li>
</ul>
<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>FSMDataLoader&#160;:&#160;<a class="el" href="_f_s_m__private_8h.html#a9116b0a24810b38fafae2fb986517432">FSM_private.h</a></li>
<li>FSMHandler&#160;:&#160;<a class="el" href="_f_s_m__private_8h.html#a19064d5985c08b2ebbdfe2b27c6986ba">FSM_private.h</a>, <a class="el" href="_f_s_m__protected_8h.html#a19064d5985c08b2ebbdfe2b27c6986ba">FSM_protected.h</a></li>
<li>FSMPrivateVars&#160;:&#160;<a class="el" href="_f_s_m__private_8h.html#a51a08a9c63b45851707caacfafca8cf9">FSM_private.h</a></li>
<li>FSMPureVtbl&#160;:&#160;<a class="el" href="_f_s_m__protected_8h.html#a5cfbf21b07540615b7ac4ea49a60b037">FSM_protected.h</a></li>
<li>FSMSignals&#160;:&#160;<a class="el" href="_f_s_m__private_8h.html#aa8470b4675b81ea69519ae6222c77e3f">FSM_private.h</a>, <a class="el" href="_f_s_m__protected_8h.html#aa8470b4675b81ea69519ae6222c77e3f">FSM_protected.h</a></li>
</ul>
<h3><a id="index_g" name="index_g"></a>- g -</h3><ul>
<li>GetData&#160;:&#160;<a class="el" href="_f_s_m__public_8h.html#a336c6a01ee8af1e00bd175553788ec63">FSM_public.h</a></li>
<li>GetPreloaderOverFlag&#160;:&#160;<a class="el" href="_f_s_m__public_8h.html#aef66ec3c44c151b23fbc98c10c514d32">FSM_public.h</a></li>
</ul>
<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>Idle&#160;:&#160;<a class="el" href="template_f_s_m__private_8h.html#af5addeb46f2b4f7f88a4de82fbf5855bad3fa9ae9431d6cb1772f9d9df48cab19">templateFSM_private.h</a></li>
<li>Idle_Signal&#160;:&#160;<a class="el" href="_f_s_m__protected_8h.html#addd5868b6424b70247fe4c8e5b7af29e">FSM_protected.h</a></li>
<li>stepBaseFSM()&#160;:&#160;<a class="el" href="_f_s_m__protected_8h.html#a9bab0f8eedb805136ee573eac09b6ebb">FSM_protected.h</a></li>
<li>initData()&#160;:&#160;<a class="el" href="template_f_s_m_8c.html#a5ebc219bfad056d35b189b8e6fa94896">templateFSM.c</a></li>
<li>initDataLoader()&#160;:&#160;<a class="el" href="template_f_s_m_8c.html#a8b945e9059bb82bf66884af5133eb898">templateFSM.c</a></li>
</ul>
<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>loadExternalData()&#160;:&#160;<a class="el" href="template_f_s_m_8c.html#a9e6eba3b03d1ff4c504705b2da864cb3">templateFSM.c</a></li>
</ul>
<h3><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>newFMSPrivateVars()&#160;:&#160;<a class="el" href="_f_s_m__private_8h.html#ac817972fed8a0babe2356c890f960e75">FSM_private.h</a></li>
</ul>
<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>preload()&#160;:&#160;<a class="el" href="_f_s_m_8c.html#a7fc6a4715e8cbd7660788fd9c59cb417">FSM.c</a></li>
<li>PreloaderGetReady&#160;:&#160;<a class="el" href="_f_s_m__public_8h.html#aa4b1ff528d718db75faeba03a845fe46">FSM_public.h</a></li>
</ul>
<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>resetSignals()&#160;:&#160;<a class="el" href="template_f_s_m_8c.html#a7ae1c0974bb8e7f8b00f959a17d91f60">templateFSM.c</a></li>
</ul>
<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>setNextState()&#160;:&#160;<a class="el" href="_f_s_m_8c.html#a6b596586b33f46c312a7088e8352d226">FSM.c</a></li>
<li>SetSignal&#160;:&#160;<a class="el" href="_f_s_m__public_8h.html#aee4d6cf9b551102cbb7cb2f3e1e65377">FSM_public.h</a></li>
<li>setupHandler()&#160;:&#160;<a class="el" href="template_f_s_m_8c.html#a48fc6ebf7882fb5d4437c4d64b96255b">templateFSM.c</a></li>
<li>Signal_A&#160;:&#160;<a class="el" href="template_f_s_m_8h.html#a62dbe2e9cfc18e5dc1229d428d794aa1acfabc94ee46cf07698eaa479452c78ee">templateFSM.h</a></li>
<li>State&#160;:&#160;<a class="el" href="template_f_s_m__private_8h.html#adc4b74d6f88de7c72d2e260e836d267f">templateFSM_private.h</a></li>
<li>step()&#160;:&#160;<a class="el" href="template_f_s_m_8c.html#ac23edf7d09bf4b52ca0cfbc1224c4c0d">templateFSM.c</a></li>
<li>Step&#160;:&#160;<a class="el" href="_f_s_m__public_8h.html#a6cea0d8653df195e4325754c662be6a4">FSM_public.h</a></li>
<li>stepBaseFSM()&#160;:&#160;<a class="el" href="_f_s_m_8c.html#a9bab0f8eedb805136ee573eac09b6ebb">FSM.c</a>, <a class="el" href="_f_s_m__protected_8h.html#a9bab0f8eedb805136ee573eac09b6ebb">FSM_protected.h</a></li>
</ul>
<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>TemplateFSM_Input&#160;:&#160;<a class="el" href="template_f_s_m_8h.html#ab0325ef0b5aef6334743cdd7c1d70bd9">templateFSM.h</a></li>
<li>TemplateFSMExternalData&#160;:&#160;<a class="el" href="template_f_s_m_8h.html#ad30e63631e0a6c61ac9cc9a47e31a5a5">templateFSM.h</a></li>
<li>TemplateFSMInnerData&#160;:&#160;<a class="el" href="template_f_s_m_8h.html#adfdfb9e9cda040324f0952d1e8b80e05">templateFSM.h</a></li>
<li>TemplateFSMSignals&#160;:&#160;<a class="el" href="template_f_s_m_8h.html#a62dbe2e9cfc18e5dc1229d428d794aa1">templateFSM.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->

View File

@ -100,7 +100,15 @@ $(function(){initNavTree('globals_defs.html',''); initResizable(); });
<div class="contents">
<div class="textblock">Here is a list of all documented macros with links to the documentation:</div><ul>
<li>ClearPreloaderOverFlag&#160;:&#160;<a class="el" href="_f_s_m__public_8h.html#ac11e3ebda7ba02fc42ac5de33fcfd148">FSM_public.h</a></li>
<li>DEFAULT_STATE&#160;:&#160;<a class="el" href="template_f_s_m__private_8h.html#af93d7c80faa6ebd086460cde2d5dd27e">templateFSM_private.h</a></li>
<li>GetData&#160;:&#160;<a class="el" href="_f_s_m__public_8h.html#a336c6a01ee8af1e00bd175553788ec63">FSM_public.h</a></li>
<li>GetPreloaderOverFlag&#160;:&#160;<a class="el" href="_f_s_m__public_8h.html#aef66ec3c44c151b23fbc98c10c514d32">FSM_public.h</a></li>
<li>Idle_Signal&#160;:&#160;<a class="el" href="_f_s_m__protected_8h.html#addd5868b6424b70247fe4c8e5b7af29e">FSM_protected.h</a></li>
<li>PreloaderGetReady&#160;:&#160;<a class="el" href="_f_s_m__public_8h.html#aa4b1ff528d718db75faeba03a845fe46">FSM_public.h</a></li>
<li>SetSignal&#160;:&#160;<a class="el" href="_f_s_m__public_8h.html#aee4d6cf9b551102cbb7cb2f3e1e65377">FSM_public.h</a></li>
<li>Step&#160;:&#160;<a class="el" href="_f_s_m__public_8h.html#a6cea0d8653df195e4325754c662be6a4">FSM_public.h</a></li>
<li>TemplateFSM_Input&#160;:&#160;<a class="el" href="template_f_s_m_8h.html#ab0325ef0b5aef6334743cdd7c1d70bd9">templateFSM.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->

View File

@ -0,0 +1,115 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.10.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>状态机框架: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logo_transparent.png"/></td>
<td id="projectalign">
<div id="projectname">状态机框架<span id="projectnumber">&#160;0.1alpha</span>
</div>
<div id="projectbrief">by 天神</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.10.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('globals_enum.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented enums with links to the documentation:</div><ul>
<li>_State&#160;:&#160;<a class="el" href="template_f_s_m__private_8h.html#af5addeb46f2b4f7f88a4de82fbf5855b">templateFSM_private.h</a></li>
<li>TemplateFSMSignals&#160;:&#160;<a class="el" href="template_f_s_m_8h.html#a62dbe2e9cfc18e5dc1229d428d794aa1">templateFSM.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.10.0 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,116 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.10.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>状态机框架: Globals</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logo_transparent.png"/></td>
<td id="projectalign">
<div id="projectname">状态机框架<span id="projectnumber">&#160;0.1alpha</span>
</div>
<div id="projectbrief">by 天神</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.10.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('globals_eval.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented enum values with links to the documentation:</div><ul>
<li>Count_State&#160;:&#160;<a class="el" href="template_f_s_m__private_8h.html#af5addeb46f2b4f7f88a4de82fbf5855ba1413c9e060de9405cf1898973fc25394">templateFSM_private.h</a></li>
<li>Idle&#160;:&#160;<a class="el" href="template_f_s_m__private_8h.html#af5addeb46f2b4f7f88a4de82fbf5855bad3fa9ae9431d6cb1772f9d9df48cab19">templateFSM_private.h</a></li>
<li>Signal_A&#160;:&#160;<a class="el" href="template_f_s_m_8h.html#a62dbe2e9cfc18e5dc1229d428d794aa1acfabc94ee46cf07698eaa479452c78ee">templateFSM.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.10.0 </li>
</ul>
</div>
</body>
</html>

View File

@ -100,7 +100,21 @@ $(function(){initNavTree('globals_func.html',''); initResizable(); });
<div class="contents">
<div class="textblock">Here is a list of all documented functions with links to the documentation:</div><ul>
<li>stepBaseFSM()&#160;:&#160;<a class="el" href="_f_s_m__protected_8h.html#a9bab0f8eedb805136ee573eac09b6ebb">FSM_protected.h</a></li>
<li>_clearPreloaderOverFlag()&#160;:&#160;<a class="el" href="_f_s_m_8c.html#aad909acd21e17b8073d5d9dfb8892ccb">FSM.c</a>, <a class="el" href="_f_s_m__public_8h.html#aad909acd21e17b8073d5d9dfb8892ccb">FSM_public.h</a></li>
<li>_getPreloaderOverFlag()&#160;:&#160;<a class="el" href="_f_s_m_8c.html#a704103961964dbb8582b59fd161a3348">FSM.c</a>, <a class="el" href="_f_s_m__public_8h.html#a704103961964dbb8582b59fd161a3348">FSM_public.h</a></li>
<li>_preloaderGetReady()&#160;:&#160;<a class="el" href="_f_s_m_8c.html#a6e2a8d16f390efeaecc8938ec8f2e728">FSM.c</a>, <a class="el" href="_f_s_m__public_8h.html#a6e2a8d16f390efeaecc8938ec8f2e728">FSM_public.h</a></li>
<li>_preloadIn()&#160;:&#160;<a class="el" href="_f_s_m_8c.html#a9c285ac5bbad90b0b04de18d393cf4ce">FSM.c</a>, <a class="el" href="_f_s_m__public_8h.html#a9c285ac5bbad90b0b04de18d393cf4ce">FSM_public.h</a></li>
<li>createTemplateFSM()&#160;:&#160;<a class="el" href="template_f_s_m_8c.html#ab0fc4d91dbcaaffccd8f14e56173d696">templateFSM.c</a>, <a class="el" href="template_f_s_m_8h.html#ab0fc4d91dbcaaffccd8f14e56173d696">templateFSM.h</a></li>
<li>initData()&#160;:&#160;<a class="el" href="template_f_s_m_8c.html#a5ebc219bfad056d35b189b8e6fa94896">templateFSM.c</a></li>
<li>initDataLoader()&#160;:&#160;<a class="el" href="template_f_s_m_8c.html#a8b945e9059bb82bf66884af5133eb898">templateFSM.c</a></li>
<li>loadExternalData()&#160;:&#160;<a class="el" href="template_f_s_m_8c.html#a9e6eba3b03d1ff4c504705b2da864cb3">templateFSM.c</a></li>
<li>newFMSPrivateVars()&#160;:&#160;<a class="el" href="_f_s_m__private_8h.html#ac817972fed8a0babe2356c890f960e75">FSM_private.h</a></li>
<li>preload()&#160;:&#160;<a class="el" href="_f_s_m_8c.html#a7fc6a4715e8cbd7660788fd9c59cb417">FSM.c</a></li>
<li>resetSignals()&#160;:&#160;<a class="el" href="template_f_s_m_8c.html#a7ae1c0974bb8e7f8b00f959a17d91f60">templateFSM.c</a></li>
<li>setNextState()&#160;:&#160;<a class="el" href="_f_s_m_8c.html#a6b596586b33f46c312a7088e8352d226">FSM.c</a></li>
<li>setupHandler()&#160;:&#160;<a class="el" href="template_f_s_m_8c.html#a48fc6ebf7882fb5d4437c4d64b96255b">templateFSM.c</a></li>
<li>step()&#160;:&#160;<a class="el" href="template_f_s_m_8c.html#ac23edf7d09bf4b52ca0cfbc1224c4c0d">templateFSM.c</a></li>
<li>stepBaseFSM()&#160;:&#160;<a class="el" href="_f_s_m_8c.html#a9bab0f8eedb805136ee573eac09b6ebb">FSM.c</a>, <a class="el" href="_f_s_m__protected_8h.html#a9bab0f8eedb805136ee573eac09b6ebb">FSM_protected.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->

View File

@ -105,6 +105,9 @@ $(function(){initNavTree('globals_type.html',''); initResizable(); });
<li>FSMPrivateVars&#160;:&#160;<a class="el" href="_f_s_m__private_8h.html#a51a08a9c63b45851707caacfafca8cf9">FSM_private.h</a></li>
<li>FSMPureVtbl&#160;:&#160;<a class="el" href="_f_s_m__protected_8h.html#a5cfbf21b07540615b7ac4ea49a60b037">FSM_protected.h</a></li>
<li>FSMSignals&#160;:&#160;<a class="el" href="_f_s_m__private_8h.html#aa8470b4675b81ea69519ae6222c77e3f">FSM_private.h</a>, <a class="el" href="_f_s_m__protected_8h.html#aa8470b4675b81ea69519ae6222c77e3f">FSM_protected.h</a></li>
<li>State&#160;:&#160;<a class="el" href="template_f_s_m__private_8h.html#adc4b74d6f88de7c72d2e260e836d267f">templateFSM_private.h</a></li>
<li>TemplateFSMExternalData&#160;:&#160;<a class="el" href="template_f_s_m_8h.html#ad30e63631e0a6c61ac9cc9a47e31a5a5">templateFSM.h</a></li>
<li>TemplateFSMInnerData&#160;:&#160;<a class="el" href="template_f_s_m_8h.html#adfdfb9e9cda040324f0952d1e8b80e05">templateFSM.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->

View File

@ -40,6 +40,8 @@ var NAVTREE =
[ "All", "globals.html", null ],
[ "Functions", "globals_func.html", null ],
[ "Typedefs", "globals_type.html", null ],
[ "Enumerations", "globals_enum.html", null ],
[ "Enumerator", "globals_eval.html", null ],
[ "Macros", "globals_defs.html", null ]
] ]
] ]
@ -48,7 +50,7 @@ var NAVTREE =
var NAVTREEINDEX =
[
"_f_s_m__private_8h.html"
"_f_s_m_8c.html"
];
var SYNCONMSG = 'click to disable panel synchronisation';

View File

@ -1,19 +1,39 @@
var NAVTREEINDEX0 =
{
"_f_s_m__private_8h.html":[2,0,0,0,0],
"_f_s_m__private_8h.html#a19064d5985c08b2ebbdfe2b27c6986ba":[2,0,0,0,0,2],
"_f_s_m__private_8h.html#a51a08a9c63b45851707caacfafca8cf9":[2,0,0,0,0,5],
"_f_s_m__private_8h.html#a9116b0a24810b38fafae2fb986517432":[2,0,0,0,0,4],
"_f_s_m__private_8h.html#aa8470b4675b81ea69519ae6222c77e3f":[2,0,0,0,0,3],
"_f_s_m__private_8h_source.html":[2,0,0,0,0],
"_f_s_m__protected_8h.html":[2,0,0,0,1],
"_f_s_m__protected_8h.html#a19064d5985c08b2ebbdfe2b27c6986ba":[2,0,0,0,1,4],
"_f_s_m__protected_8h.html#a5cfbf21b07540615b7ac4ea49a60b037":[2,0,0,0,1,6],
"_f_s_m__protected_8h.html#a9bab0f8eedb805136ee573eac09b6ebb":[2,0,0,0,1,7],
"_f_s_m__protected_8h.html#aa8470b4675b81ea69519ae6222c77e3f":[2,0,0,0,1,5],
"_f_s_m__protected_8h.html#addd5868b6424b70247fe4c8e5b7af29e":[2,0,0,0,1,3],
"_f_s_m__protected_8h_source.html":[2,0,0,0,1],
"_f_s_m__public_8h_source.html":[2,0,0,0,2],
"_f_s_m_8c.html":[2,0,0,0,0],
"_f_s_m_8c.html#a6b596586b33f46c312a7088e8352d226":[2,0,0,0,0,0],
"_f_s_m_8c.html#a6e2a8d16f390efeaecc8938ec8f2e728":[2,0,0,0,0,4],
"_f_s_m_8c.html#a704103961964dbb8582b59fd161a3348":[2,0,0,0,0,5],
"_f_s_m_8c.html#a7fc6a4715e8cbd7660788fd9c59cb417":[2,0,0,0,0,1],
"_f_s_m_8c.html#a9bab0f8eedb805136ee573eac09b6ebb":[2,0,0,0,0,2],
"_f_s_m_8c.html#a9c285ac5bbad90b0b04de18d393cf4ce":[2,0,0,0,0,3],
"_f_s_m_8c.html#aad909acd21e17b8073d5d9dfb8892ccb":[2,0,0,0,0,6],
"_f_s_m__private_8h.html":[2,0,0,0,1],
"_f_s_m__private_8h.html#a19064d5985c08b2ebbdfe2b27c6986ba":[2,0,0,0,1,2],
"_f_s_m__private_8h.html#a51a08a9c63b45851707caacfafca8cf9":[2,0,0,0,1,5],
"_f_s_m__private_8h.html#a9116b0a24810b38fafae2fb986517432":[2,0,0,0,1,4],
"_f_s_m__private_8h.html#aa8470b4675b81ea69519ae6222c77e3f":[2,0,0,0,1,3],
"_f_s_m__private_8h.html#ac817972fed8a0babe2356c890f960e75":[2,0,0,0,1,6],
"_f_s_m__private_8h_source.html":[2,0,0,0,1],
"_f_s_m__protected_8h.html":[2,0,0,0,2],
"_f_s_m__protected_8h.html#a19064d5985c08b2ebbdfe2b27c6986ba":[2,0,0,0,2,4],
"_f_s_m__protected_8h.html#a5cfbf21b07540615b7ac4ea49a60b037":[2,0,0,0,2,6],
"_f_s_m__protected_8h.html#a9bab0f8eedb805136ee573eac09b6ebb":[2,0,0,0,2,7],
"_f_s_m__protected_8h.html#aa8470b4675b81ea69519ae6222c77e3f":[2,0,0,0,2,5],
"_f_s_m__protected_8h.html#addd5868b6424b70247fe4c8e5b7af29e":[2,0,0,0,2,3],
"_f_s_m__protected_8h_source.html":[2,0,0,0,2],
"_f_s_m__public_8h.html":[2,0,0,0,3],
"_f_s_m__public_8h.html#a336c6a01ee8af1e00bd175553788ec63":[2,0,0,0,3,1],
"_f_s_m__public_8h.html#a6cea0d8653df195e4325754c662be6a4":[2,0,0,0,3,0],
"_f_s_m__public_8h.html#a6e2a8d16f390efeaecc8938ec8f2e728":[2,0,0,0,3,7],
"_f_s_m__public_8h.html#a704103961964dbb8582b59fd161a3348":[2,0,0,0,3,8],
"_f_s_m__public_8h.html#a9c285ac5bbad90b0b04de18d393cf4ce":[2,0,0,0,3,6],
"_f_s_m__public_8h.html#aa4b1ff528d718db75faeba03a845fe46":[2,0,0,0,3,3],
"_f_s_m__public_8h.html#aad909acd21e17b8073d5d9dfb8892ccb":[2,0,0,0,3,9],
"_f_s_m__public_8h.html#ac11e3ebda7ba02fc42ac5de33fcfd148":[2,0,0,0,3,5],
"_f_s_m__public_8h.html#aee4d6cf9b551102cbb7cb2f3e1e65377":[2,0,0,0,3,2],
"_f_s_m__public_8h.html#aef66ec3c44c151b23fbc98c10c514d32":[2,0,0,0,3,4],
"_f_s_m__public_8h_source.html":[2,0,0,0,3],
"annotated.html":[1,0],
"child_f_s_m_8h_source.html":[2,0,0,1,0],
"child_f_s_m__private_8h_source.html":[2,0,0,1,1],
@ -28,7 +48,9 @@ var NAVTREEINDEX0 =
"functions.html":[1,2,0],
"functions_vars.html":[1,2,1],
"globals.html":[2,1,0],
"globals_defs.html":[2,1,3],
"globals_defs.html":[2,1,5],
"globals_enum.html":[2,1,3],
"globals_eval.html":[2,1,4],
"globals_func.html":[2,1,1],
"globals_type.html":[2,1,2],
"index.html":[],
@ -36,26 +58,58 @@ var NAVTREEINDEX0 =
"key_f_s_m__private_8h_source.html":[2,0,0,2,1],
"pages.html":[],
"parent_f_s_m_8h_source.html":[2,0,0,1,2],
"struct__template_f_s_m_external_data.html":[1,0,0],
"struct__template_f_s_m_inner_data.html":[1,0,1],
"struct_f_s_m_data_loader.html":[1,0,2],
"struct_f_s_m_handler.html":[1,0,3],
"struct_f_s_m_handler.html#a934ff7d1a2f7714694b8a2927b5f8451":[1,0,3,0],
"struct_f_s_m_private_vars.html":[1,0,4],
"struct_f_s_m_private_vars.html#a4312b61c7165398d2415c0794ac1fa8c":[1,0,4,1],
"struct_f_s_m_private_vars.html#a4cc735365b8c3946ff83d1984e2565fe":[1,0,4,0],
"struct_f_s_m_private_vars.html#a71ba0d8bee3f15ed5a0dd92dda0e0ed1":[1,0,4,3],
"struct_f_s_m_private_vars.html#ab14d89d4db1639abfab4a24f05cca6a7":[1,0,4,2],
"struct_f_s_m_pure_vtbl.html":[1,0,5],
"struct_f_s_m_pure_vtbl.html#a24fea698707e18e2d84385bfca118db1":[1,0,5,1],
"struct_f_s_m_pure_vtbl.html#a4973df3b86e460a458c9edf4699aa68d":[1,0,5,2],
"struct_f_s_m_pure_vtbl.html#a58c666f5941e07c4a6ef054f1250dbd8":[1,0,5,4],
"struct_f_s_m_pure_vtbl.html#a5fe3628ecfac4830ad9f64b1439fe57d":[1,0,5,0],
"struct_f_s_m_pure_vtbl.html#a65489698aee35862a265b30dff280ad1":[1,0,5,5],
"struct_f_s_m_pure_vtbl.html#aebfd1efad93210ac02249a81159d1472":[1,0,5,3],
"struct_f_s_m_signals.html":[1,0,6],
"struct_f_s_m_signals.html#a0ed78b85dbee15c4928fc85546eaa10d":[1,0,6,1],
"struct_f_s_m_signals.html#af67ec8fc1e3f46fda173b939dbe9116c":[1,0,6,0],
"template_f_s_m_8h_source.html":[2,0,0,3,0],
"template_f_s_m__private_8h_source.html":[2,0,0,3,1]
"struct_f_s_m_data_loader.html":[1,0,0],
"struct_f_s_m_handler.html":[1,0,1],
"struct_f_s_m_handler.html#a04721875a9baabc8a51c54a668db9a2c":[1,0,1,5],
"struct_f_s_m_handler.html#a934ff7d1a2f7714694b8a2927b5f8451":[1,0,1,0],
"struct_f_s_m_handler.html#a976b4147d1c0c9aeb4a61c3cc85376bf":[1,0,1,6],
"struct_f_s_m_handler.html#aa733ab89a48f8a63b4afb623b4d6be90":[1,0,1,3],
"struct_f_s_m_handler.html#ab199071e132b4409d71883155e6b81f2":[1,0,1,2],
"struct_f_s_m_handler.html#ac3b9fc077f8ba0368e8cba02a890aa2f":[1,0,1,1],
"struct_f_s_m_handler.html#ad3506a53c3ee76655a117f7db0da7d3d":[1,0,1,4],
"struct_f_s_m_private_vars.html":[1,0,2],
"struct_f_s_m_private_vars.html#a1e013b34f3da19006fdaef781e386ba7":[1,0,2,2],
"struct_f_s_m_private_vars.html#a38fc9622245dd2e2272d0511a603db69":[1,0,2,5],
"struct_f_s_m_private_vars.html#a4312b61c7165398d2415c0794ac1fa8c":[1,0,2,3],
"struct_f_s_m_private_vars.html#a4cc735365b8c3946ff83d1984e2565fe":[1,0,2,1],
"struct_f_s_m_private_vars.html#a71ba0d8bee3f15ed5a0dd92dda0e0ed1":[1,0,2,8],
"struct_f_s_m_private_vars.html#a9f8a355881f1e3e990987090e6e9e37c":[1,0,2,0],
"struct_f_s_m_private_vars.html#ab14d89d4db1639abfab4a24f05cca6a7":[1,0,2,4],
"struct_f_s_m_private_vars.html#ac66fa0241dc6aa44e48e6b16811a8091":[1,0,2,6],
"struct_f_s_m_private_vars.html#ad20548555264a67dac6b18b757e01821":[1,0,2,7],
"struct_f_s_m_pure_vtbl.html":[1,0,3],
"struct_f_s_m_pure_vtbl.html#a24fea698707e18e2d84385bfca118db1":[1,0,3,1],
"struct_f_s_m_pure_vtbl.html#a4973df3b86e460a458c9edf4699aa68d":[1,0,3,2],
"struct_f_s_m_pure_vtbl.html#a58c666f5941e07c4a6ef054f1250dbd8":[1,0,3,4],
"struct_f_s_m_pure_vtbl.html#a5fe3628ecfac4830ad9f64b1439fe57d":[1,0,3,0],
"struct_f_s_m_pure_vtbl.html#ae326d855d6a29d089f312d965bf032f2":[1,0,3,5],
"struct_f_s_m_pure_vtbl.html#aebfd1efad93210ac02249a81159d1472":[1,0,3,3],
"struct_f_s_m_signals.html":[1,0,4],
"struct_f_s_m_signals.html#a0ed78b85dbee15c4928fc85546eaa10d":[1,0,4,1],
"struct_f_s_m_signals.html#a9586b8cdc522f49e9bc62d2b67a1d79b":[1,0,4,0],
"struct_template_f_s_m_external_data.html":[1,0,5],
"struct_template_f_s_m_inner_data.html":[1,0,6],
"template_f_s_m_8c.html":[2,0,0,3,0],
"template_f_s_m_8c.html#a48fc6ebf7882fb5d4437c4d64b96255b":[2,0,0,3,0,4],
"template_f_s_m_8c.html#a5ebc219bfad056d35b189b8e6fa94896":[2,0,0,3,0,2],
"template_f_s_m_8c.html#a7ae1c0974bb8e7f8b00f959a17d91f60":[2,0,0,3,0,1],
"template_f_s_m_8c.html#a8b945e9059bb82bf66884af5133eb898":[2,0,0,3,0,3],
"template_f_s_m_8c.html#a9e6eba3b03d1ff4c504705b2da864cb3":[2,0,0,3,0,0],
"template_f_s_m_8c.html#ab0fc4d91dbcaaffccd8f14e56173d696":[2,0,0,3,0,6],
"template_f_s_m_8c.html#ac23edf7d09bf4b52ca0cfbc1224c4c0d":[2,0,0,3,0,5],
"template_f_s_m_8h.html":[2,0,0,3,1],
"template_f_s_m_8h.html#a62dbe2e9cfc18e5dc1229d428d794aa1":[2,0,0,3,1,5],
"template_f_s_m_8h.html#a62dbe2e9cfc18e5dc1229d428d794aa1acfabc94ee46cf07698eaa479452c78ee":[2,0,0,3,1,5,0],
"template_f_s_m_8h.html#ab0325ef0b5aef6334743cdd7c1d70bd9":[2,0,0,3,1,2],
"template_f_s_m_8h.html#ab0fc4d91dbcaaffccd8f14e56173d696":[2,0,0,3,1,6],
"template_f_s_m_8h.html#ad30e63631e0a6c61ac9cc9a47e31a5a5":[2,0,0,3,1,3],
"template_f_s_m_8h.html#adfdfb9e9cda040324f0952d1e8b80e05":[2,0,0,3,1,4],
"template_f_s_m_8h_source.html":[2,0,0,3,1],
"template_f_s_m__private_8h.html":[2,0,0,3,2],
"template_f_s_m__private_8h.html#adc4b74d6f88de7c72d2e260e836d267f":[2,0,0,3,2,1],
"template_f_s_m__private_8h.html#af5addeb46f2b4f7f88a4de82fbf5855b":[2,0,0,3,2,2],
"template_f_s_m__private_8h.html#af5addeb46f2b4f7f88a4de82fbf5855ba1413c9e060de9405cf1898973fc25394":[2,0,0,3,2,2,1],
"template_f_s_m__private_8h.html#af5addeb46f2b4f7f88a4de82fbf5855bad3fa9ae9431d6cb1772f9d9df48cab19":[2,0,0,3,2,2,0],
"template_f_s_m__private_8h.html#af93d7c80faa6ebd086460cde2d5dd27e":[2,0,0,3,2,0],
"template_f_s_m__private_8h_source.html":[2,0,0,3,2]
};

View File

@ -1,5 +1,8 @@
var searchData=
[
['_5ftemplatefsmexternaldata_0',['_templateFSMExternalData',['../struct__template_f_s_m_external_data.html',1,'']]],
['_5ftemplatefsminnerdata_1',['_templateFSMInnerData',['../struct__template_f_s_m_inner_data.html',1,'']]]
['_5fclearpreloaderoverflag_0',['_clearPreloaderOverFlag',['../_f_s_m_8c.html#aad909acd21e17b8073d5d9dfb8892ccb',1,'_clearPreloaderOverFlag(FSM *pFSM):&#160;FSM.c'],['../_f_s_m__public_8h.html#aad909acd21e17b8073d5d9dfb8892ccb',1,'_clearPreloaderOverFlag(FSM *pFSM):&#160;FSM.c']]],
['_5fgetpreloaderoverflag_1',['_getPreloaderOverFlag',['../_f_s_m_8c.html#a704103961964dbb8582b59fd161a3348',1,'_getPreloaderOverFlag(FSM *pFSM):&#160;FSM.c'],['../_f_s_m__public_8h.html#a704103961964dbb8582b59fd161a3348',1,'_getPreloaderOverFlag(FSM *pFSM):&#160;FSM.c']]],
['_5fpreloadergetready_2',['_preloaderGetReady',['../_f_s_m_8c.html#a6e2a8d16f390efeaecc8938ec8f2e728',1,'_preloaderGetReady(FSM *pFSM):&#160;FSM.c'],['../_f_s_m__public_8h.html#a6e2a8d16f390efeaecc8938ec8f2e728',1,'_preloaderGetReady(FSM *pFSM):&#160;FSM.c']]],
['_5fpreloadin_3',['_preloadIn',['../_f_s_m_8c.html#a9c285ac5bbad90b0b04de18d393cf4ce',1,'_preloadIn(FSM *pFSM):&#160;FSM.c'],['../_f_s_m__public_8h.html#a9c285ac5bbad90b0b04de18d393cf4ce',1,'_preloadIn(FSM *pFSM):&#160;FSM.c']]],
['_5fstate_4',['_State',['../template_f_s_m__private_8h.html#af5addeb46f2b4f7f88a4de82fbf5855b',1,'templateFSM_private.h']]]
];

View File

@ -1,5 +1,4 @@
var searchData=
[
['defaultstate_0',['defaultState',['../struct_f_s_m_private_vars.html#a4cc735365b8c3946ff83d1984e2565fe',1,'FSMPrivateVars']]],
['deprecated_20list_1',['Deprecated List',['../deprecated.html',1,'']]]
['all_0',['all',['../struct_f_s_m_signals.html#a9586b8cdc522f49e9bc62d2b67a1d79b',1,'FSMSignals']]]
];

View File

@ -1,4 +1,9 @@
var searchData=
[
['external_0',['external',['../struct_f_s_m_signals.html#af67ec8fc1e3f46fda173b939dbe9116c',1,'FSMSignals']]]
['childfsm_0',['childFSM',['../struct_f_s_m_private_vars.html#ad20548555264a67dac6b18b757e01821',1,'FSMPrivateVars']]],
['childfsmsteptable_1',['childFSMStepTable',['../struct_f_s_m_handler.html#a976b4147d1c0c9aeb4a61c3cc85376bf',1,'FSMHandler']]],
['clearpreloaderoverflag_2',['ClearPreloaderOverFlag',['../_f_s_m__public_8h.html#ac11e3ebda7ba02fc42ac5de33fcfd148',1,'FSM_public.h']]],
['count_5fstate_3',['Count_State',['../template_f_s_m__private_8h.html#af5addeb46f2b4f7f88a4de82fbf5855ba1413c9e060de9405cf1898973fc25394',1,'templateFSM_private.h']]],
['createtemplatefsm_4',['createTemplateFSM',['../template_f_s_m_8c.html#ab0fc4d91dbcaaffccd8f14e56173d696',1,'createTemplateFSM():&#160;templateFSM.c'],['../template_f_s_m_8h.html#ab0fc4d91dbcaaffccd8f14e56173d696',1,'createTemplateFSM():&#160;templateFSM.c']]],
['curstate_5',['curState',['../struct_f_s_m_private_vars.html#a1e013b34f3da19006fdaef781e386ba7',1,'FSMPrivateVars']]]
];

View File

@ -1,10 +1,7 @@
var searchData=
[
['fsm_5fprivate_2eh_0',['FSM_private.h',['../_f_s_m__private_8h.html',1,'']]],
['fsm_5fprotected_2eh_1',['FSM_protected.h',['../_f_s_m__protected_8h.html',1,'']]],
['fsmdataloader_2',['FSMDataLoader',['../struct_f_s_m_data_loader.html',1,'FSMDataLoader'],['../_f_s_m__private_8h.html#a9116b0a24810b38fafae2fb986517432',1,'FSMDataLoader:&#160;FSM_private.h']]],
['fsmhandler_3',['FSMHandler',['../struct_f_s_m_handler.html',1,'FSMHandler'],['../_f_s_m__private_8h.html#a19064d5985c08b2ebbdfe2b27c6986ba',1,'FSMHandler:&#160;FSM_private.h'],['../_f_s_m__protected_8h.html#a19064d5985c08b2ebbdfe2b27c6986ba',1,'FSMHandler:&#160;FSM_protected.h']]],
['fsmprivatevars_4',['FSMPrivateVars',['../struct_f_s_m_private_vars.html',1,'FSMPrivateVars'],['../_f_s_m__private_8h.html#a51a08a9c63b45851707caacfafca8cf9',1,'FSMPrivateVars:&#160;FSM_private.h']]],
['fsmpurevtbl_5',['FSMPureVtbl',['../struct_f_s_m_pure_vtbl.html',1,'FSMPureVtbl'],['../_f_s_m__protected_8h.html#a5cfbf21b07540615b7ac4ea49a60b037',1,'FSMPureVtbl:&#160;FSM_protected.h']]],
['fsmsignals_6',['FSMSignals',['../struct_f_s_m_signals.html',1,'FSMSignals'],['../_f_s_m__private_8h.html#aa8470b4675b81ea69519ae6222c77e3f',1,'FSMSignals:&#160;FSM_private.h'],['../_f_s_m__protected_8h.html#aa8470b4675b81ea69519ae6222c77e3f',1,'FSMSignals:&#160;FSM_protected.h']]]
['default_5fstate_0',['DEFAULT_STATE',['../template_f_s_m__private_8h.html#af93d7c80faa6ebd086460cde2d5dd27e',1,'templateFSM_private.h']]],
['defaultstate_1',['defaultState',['../struct_f_s_m_private_vars.html#a4cc735365b8c3946ff83d1984e2565fe',1,'FSMPrivateVars']]],
['deprecated_20list_2',['Deprecated List',['../deprecated.html',1,'']]],
['duringactiontable_3',['duringActionTable',['../struct_f_s_m_handler.html#ad3506a53c3ee76655a117f7db0da7d3d',1,'FSMHandler']]]
];

View File

@ -1,8 +1,5 @@
var searchData=
[
['idle_5fsignal_0',['Idle_Signal',['../_f_s_m__protected_8h.html#addd5868b6424b70247fe4c8e5b7af29e',1,'FSM_protected.h']]],
['index_1',['index',['../struct_f_s_m_private_vars.html#ab14d89d4db1639abfab4a24f05cca6a7',1,'FSMPrivateVars']]],
['initdata_2',['initData',['../struct_f_s_m_pure_vtbl.html#a24fea698707e18e2d84385bfca118db1',1,'FSMPureVtbl']]],
['initdataloader_3',['initDataLoader',['../struct_f_s_m_pure_vtbl.html#aebfd1efad93210ac02249a81159d1472',1,'FSMPureVtbl']]],
['initsignals_4',['initSignals',['../struct_f_s_m_pure_vtbl.html#a58c666f5941e07c4a6ef054f1250dbd8',1,'FSMPureVtbl']]]
['enteractiontable_0',['enterActionTable',['../struct_f_s_m_handler.html#aa733ab89a48f8a63b4afb623b4d6be90',1,'FSMHandler']]],
['exitactiontable_1',['exitActionTable',['../struct_f_s_m_handler.html#a04721875a9baabc8a51c54a668db9a2c',1,'FSMHandler']]]
];

View File

@ -1,6 +1,13 @@
var searchData=
[
['lasttriggeredsignal_0',['lastTriggeredSignal',['../struct_f_s_m_signals.html#a0ed78b85dbee15c4928fc85546eaa10d',1,'FSMSignals']]],
['list_1',['Deprecated List',['../deprecated.html',1,'']]],
['loadexternaldata_2',['loadExternalData',['../struct_f_s_m_pure_vtbl.html#a4973df3b86e460a458c9edf4699aa68d',1,'FSMPureVtbl']]]
['fcns_0',['fcns',['../struct_f_s_m_private_vars.html#a38fc9622245dd2e2272d0511a603db69',1,'FSMPrivateVars']]],
['fsm_2ec_1',['FSM.c',['../_f_s_m_8c.html',1,'']]],
['fsm_5fprivate_2eh_2',['FSM_private.h',['../_f_s_m__private_8h.html',1,'']]],
['fsm_5fprotected_2eh_3',['FSM_protected.h',['../_f_s_m__protected_8h.html',1,'']]],
['fsm_5fpublic_2eh_4',['FSM_public.h',['../_f_s_m__public_8h.html',1,'']]],
['fsmdataloader_5',['FSMDataLoader',['../struct_f_s_m_data_loader.html',1,'FSMDataLoader'],['../_f_s_m__private_8h.html#a9116b0a24810b38fafae2fb986517432',1,'FSMDataLoader:&#160;FSM_private.h']]],
['fsmhandler_6',['FSMHandler',['../struct_f_s_m_handler.html',1,'FSMHandler'],['../_f_s_m__private_8h.html#a19064d5985c08b2ebbdfe2b27c6986ba',1,'FSMHandler:&#160;FSM_private.h'],['../_f_s_m__protected_8h.html#a19064d5985c08b2ebbdfe2b27c6986ba',1,'FSMHandler:&#160;FSM_protected.h']]],
['fsmprivatevars_7',['FSMPrivateVars',['../struct_f_s_m_private_vars.html',1,'FSMPrivateVars'],['../_f_s_m__private_8h.html#a51a08a9c63b45851707caacfafca8cf9',1,'FSMPrivateVars:&#160;FSM_private.h']]],
['fsmpurevtbl_8',['FSMPureVtbl',['../struct_f_s_m_pure_vtbl.html',1,'FSMPureVtbl'],['../_f_s_m__protected_8h.html#a5cfbf21b07540615b7ac4ea49a60b037',1,'FSMPureVtbl:&#160;FSM_protected.h']]],
['fsmsignals_9',['FSMSignals',['../struct_f_s_m_signals.html',1,'FSMSignals'],['../_f_s_m__private_8h.html#aa8470b4675b81ea69519ae6222c77e3f',1,'FSMSignals:&#160;FSM_private.h'],['../_f_s_m__protected_8h.html#aa8470b4675b81ea69519ae6222c77e3f',1,'FSMSignals:&#160;FSM_protected.h']]]
];

View File

@ -1,4 +1,5 @@
var searchData=
[
['nextstate_0',['nextState',['../struct_f_s_m_private_vars.html#a4312b61c7165398d2415c0794ac1fa8c',1,'FSMPrivateVars']]]
['getdata_0',['GetData',['../_f_s_m__public_8h.html#a336c6a01ee8af1e00bd175553788ec63',1,'FSM_public.h']]],
['getpreloaderoverflag_1',['GetPreloaderOverFlag',['../_f_s_m__public_8h.html#aef66ec3c44c151b23fbc98c10c514d32',1,'FSM_public.h']]]
];

View File

@ -1,4 +1,9 @@
var searchData=
[
['preloader_0',['preloader',['../struct_f_s_m_private_vars.html#a71ba0d8bee3f15ed5a0dd92dda0e0ed1',1,'FSMPrivateVars']]]
['idle_0',['Idle',['../template_f_s_m__private_8h.html#af5addeb46f2b4f7f88a4de82fbf5855bad3fa9ae9431d6cb1772f9d9df48cab19',1,'templateFSM_private.h']]],
['idle_5fsignal_1',['Idle_Signal',['../_f_s_m__protected_8h.html#addd5868b6424b70247fe4c8e5b7af29e',1,'FSM_protected.h']]],
['index_2',['index',['../struct_f_s_m_private_vars.html#ab14d89d4db1639abfab4a24f05cca6a7',1,'FSMPrivateVars']]],
['initdata_3',['initData',['../struct_f_s_m_pure_vtbl.html#a24fea698707e18e2d84385bfca118db1',1,'FSMPureVtbl::initData'],['../template_f_s_m_8c.html#a5ebc219bfad056d35b189b8e6fa94896',1,'initData():&#160;templateFSM.c']]],
['initdataloader_4',['initDataLoader',['../struct_f_s_m_pure_vtbl.html#aebfd1efad93210ac02249a81159d1472',1,'FSMPureVtbl::initDataLoader'],['../template_f_s_m_8c.html#a8b945e9059bb82bf66884af5133eb898',1,'initDataLoader():&#160;templateFSM.c']]],
['initsignals_5',['initSignals',['../struct_f_s_m_pure_vtbl.html#a58c666f5941e07c4a6ef054f1250dbd8',1,'FSMPureVtbl']]]
];

View File

@ -1,4 +1,6 @@
var searchData=
[
['resetsignals_0',['resetSignals',['../struct_f_s_m_pure_vtbl.html#a65489698aee35862a265b30dff280ad1',1,'FSMPureVtbl']]]
['lasttriggeredsignal_0',['lastTriggeredSignal',['../struct_f_s_m_signals.html#a0ed78b85dbee15c4928fc85546eaa10d',1,'FSMSignals']]],
['list_1',['Deprecated List',['../deprecated.html',1,'']]],
['loadexternaldata_2',['loadExternalData',['../struct_f_s_m_pure_vtbl.html#a4973df3b86e460a458c9edf4699aa68d',1,'FSMPureVtbl::loadExternalData'],['../template_f_s_m_8c.html#a9e6eba3b03d1ff4c504705b2da864cb3',1,'loadExternalData():&#160;templateFSM.c']]]
];

View File

@ -1,6 +1,7 @@
var searchData=
[
['selectnextstate_0',['selectNextState',['../struct_f_s_m_handler.html#a934ff7d1a2f7714694b8a2927b5f8451',1,'FSMHandler']]],
['setuphandler_1',['setupHandler',['../struct_f_s_m_pure_vtbl.html#a5fe3628ecfac4830ad9f64b1439fe57d',1,'FSMPureVtbl']]],
['stepbasefsm_2',['stepBaseFSM',['../_f_s_m__protected_8h.html#a9bab0f8eedb805136ee573eac09b6ebb',1,'FSM.c']]]
['newfmsprivatevars_0',['newFMSPrivateVars',['../_f_s_m__private_8h.html#ac817972fed8a0babe2356c890f960e75',1,'FSM_private.h']]],
['nextstate_1',['nextState',['../struct_f_s_m_private_vars.html#a4312b61c7165398d2415c0794ac1fa8c',1,'FSMPrivateVars']]],
['numchild_2',['numChild',['../struct_f_s_m_private_vars.html#ac66fa0241dc6aa44e48e6b16811a8091',1,'FSMPrivateVars']]],
['numstate_3',['numState',['../struct_f_s_m_private_vars.html#a9f8a355881f1e3e990987090e6e9e37c',1,'FSMPrivateVars']]]
];

View File

@ -0,0 +1,6 @@
var searchData=
[
['preload_0',['preload',['../_f_s_m_8c.html#a7fc6a4715e8cbd7660788fd9c59cb417',1,'FSM.c']]],
['preloader_1',['preloader',['../struct_f_s_m_private_vars.html#a71ba0d8bee3f15ed5a0dd92dda0e0ed1',1,'FSMPrivateVars']]],
['preloadergetready_2',['PreloaderGetReady',['../_f_s_m__public_8h.html#aa4b1ff528d718db75faeba03a845fe46',1,'FSM_public.h']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['resetsignals_0',['resetSignals',['../struct_f_s_m_pure_vtbl.html#ae326d855d6a29d089f312d965bf032f2',1,'FSMPureVtbl::resetSignals'],['../template_f_s_m_8c.html#a7ae1c0974bb8e7f8b00f959a17d91f60',1,'resetSignals():&#160;templateFSM.c']]]
];

View File

@ -0,0 +1,12 @@
var searchData=
[
['selectnextstate_0',['selectNextState',['../struct_f_s_m_handler.html#a934ff7d1a2f7714694b8a2927b5f8451',1,'FSMHandler']]],
['setnextstate_1',['setNextState',['../_f_s_m_8c.html#a6b596586b33f46c312a7088e8352d226',1,'FSM.c']]],
['setsignal_2',['SetSignal',['../_f_s_m__public_8h.html#aee4d6cf9b551102cbb7cb2f3e1e65377',1,'FSM_public.h']]],
['setuphandler_3',['setupHandler',['../struct_f_s_m_pure_vtbl.html#a5fe3628ecfac4830ad9f64b1439fe57d',1,'FSMPureVtbl::setupHandler'],['../template_f_s_m_8c.html#a48fc6ebf7882fb5d4437c4d64b96255b',1,'setupHandler(FSMHandler *fcns):&#160;templateFSM.c']]],
['signal_5fa_4',['Signal_A',['../template_f_s_m_8h.html#a62dbe2e9cfc18e5dc1229d428d794aa1acfabc94ee46cf07698eaa479452c78ee',1,'templateFSM.h']]],
['state_5',['State',['../template_f_s_m__private_8h.html#adc4b74d6f88de7c72d2e260e836d267f',1,'templateFSM_private.h']]],
['step_6',['step',['../template_f_s_m_8c.html#ac23edf7d09bf4b52ca0cfbc1224c4c0d',1,'templateFSM.c']]],
['step_7',['Step',['../_f_s_m__public_8h.html#a6cea0d8653df195e4325754c662be6a4',1,'FSM_public.h']]],
['stepbasefsm_8',['stepBaseFSM',['../_f_s_m_8c.html#a9bab0f8eedb805136ee573eac09b6ebb',1,'stepBaseFSM(FSM *pFSM):&#160;FSM.c'],['../_f_s_m__protected_8h.html#a9bab0f8eedb805136ee573eac09b6ebb',1,'stepBaseFSM(FSM *pFSM):&#160;FSM.c']]]
];

View File

@ -0,0 +1,12 @@
var searchData=
[
['templatefsm_2ec_0',['templateFSM.c',['../template_f_s_m_8c.html',1,'']]],
['templatefsm_2eh_1',['templateFSM.h',['../template_f_s_m_8h.html',1,'']]],
['templatefsm_5finput_2',['TemplateFSM_Input',['../template_f_s_m_8h.html#ab0325ef0b5aef6334743cdd7c1d70bd9',1,'templateFSM.h']]],
['templatefsm_5fprivate_2eh_3',['templateFSM_private.h',['../template_f_s_m__private_8h.html',1,'']]],
['templatefsmexternaldata_4',['TemplateFSMExternalData',['../struct_template_f_s_m_external_data.html',1,'TemplateFSMExternalData'],['../template_f_s_m_8h.html#ad30e63631e0a6c61ac9cc9a47e31a5a5',1,'TemplateFSMExternalData:&#160;templateFSM.h']]],
['templatefsminnerdata_5',['TemplateFSMInnerData',['../struct_template_f_s_m_inner_data.html',1,'TemplateFSMInnerData'],['../template_f_s_m_8h.html#adfdfb9e9cda040324f0952d1e8b80e05',1,'TemplateFSMInnerData:&#160;templateFSM.h']]],
['templatefsmsignals_6',['TemplateFSMSignals',['../template_f_s_m_8h.html#a62dbe2e9cfc18e5dc1229d428d794aa1',1,'templateFSM.h']]],
['transitiongeneralaction_7',['transitionGeneralAction',['../struct_f_s_m_handler.html#ab199071e132b4409d71883155e6b81f2',1,'FSMHandler']]],
['transitiontable_8',['transitionTable',['../struct_f_s_m_handler.html#ac3b9fc077f8ba0368e8cba02a890aa2f',1,'FSMHandler']]]
];

View File

@ -1,5 +1,8 @@
var searchData=
[
['_5ftemplatefsmexternaldata_0',['_templateFSMExternalData',['../struct__template_f_s_m_external_data.html',1,'']]],
['_5ftemplatefsminnerdata_1',['_templateFSMInnerData',['../struct__template_f_s_m_inner_data.html',1,'']]]
['fsmdataloader_0',['FSMDataLoader',['../struct_f_s_m_data_loader.html',1,'']]],
['fsmhandler_1',['FSMHandler',['../struct_f_s_m_handler.html',1,'']]],
['fsmprivatevars_2',['FSMPrivateVars',['../struct_f_s_m_private_vars.html',1,'']]],
['fsmpurevtbl_3',['FSMPureVtbl',['../struct_f_s_m_pure_vtbl.html',1,'']]],
['fsmsignals_4',['FSMSignals',['../struct_f_s_m_signals.html',1,'']]]
];

View File

@ -1,8 +1,5 @@
var searchData=
[
['fsmdataloader_0',['FSMDataLoader',['../struct_f_s_m_data_loader.html',1,'']]],
['fsmhandler_1',['FSMHandler',['../struct_f_s_m_handler.html',1,'']]],
['fsmprivatevars_2',['FSMPrivateVars',['../struct_f_s_m_private_vars.html',1,'']]],
['fsmpurevtbl_3',['FSMPureVtbl',['../struct_f_s_m_pure_vtbl.html',1,'']]],
['fsmsignals_4',['FSMSignals',['../struct_f_s_m_signals.html',1,'']]]
['templatefsmexternaldata_0',['TemplateFSMExternalData',['../struct_template_f_s_m_external_data.html',1,'']]],
['templatefsminnerdata_1',['TemplateFSMInnerData',['../struct_template_f_s_m_inner_data.html',1,'']]]
];

View File

@ -1,4 +1,4 @@
var searchData=
[
['idle_5fsignal_0',['Idle_Signal',['../_f_s_m__protected_8h.html#addd5868b6424b70247fe4c8e5b7af29e',1,'FSM_protected.h']]]
['clearpreloaderoverflag_0',['ClearPreloaderOverFlag',['../_f_s_m__public_8h.html#ac11e3ebda7ba02fc42ac5de33fcfd148',1,'FSM_public.h']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['default_5fstate_0',['DEFAULT_STATE',['../template_f_s_m__private_8h.html#af93d7c80faa6ebd086460cde2d5dd27e',1,'templateFSM_private.h']]]
];

View File

@ -0,0 +1,5 @@
var searchData=
[
['getdata_0',['GetData',['../_f_s_m__public_8h.html#a336c6a01ee8af1e00bd175553788ec63',1,'FSM_public.h']]],
['getpreloaderoverflag_1',['GetPreloaderOverFlag',['../_f_s_m__public_8h.html#aef66ec3c44c151b23fbc98c10c514d32',1,'FSM_public.h']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['idle_5fsignal_0',['Idle_Signal',['../_f_s_m__protected_8h.html#addd5868b6424b70247fe4c8e5b7af29e',1,'FSM_protected.h']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['preloadergetready_0',['PreloaderGetReady',['../_f_s_m__public_8h.html#aa4b1ff528d718db75faeba03a845fe46',1,'FSM_public.h']]]
];

View File

@ -0,0 +1,5 @@
var searchData=
[
['setsignal_0',['SetSignal',['../_f_s_m__public_8h.html#aee4d6cf9b551102cbb7cb2f3e1e65377',1,'FSM_public.h']]],
['step_1',['Step',['../_f_s_m__public_8h.html#a6cea0d8653df195e4325754c662be6a4',1,'FSM_public.h']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['templatefsm_5finput_0',['TemplateFSM_Input',['../template_f_s_m_8h.html#ab0325ef0b5aef6334743cdd7c1d70bd9',1,'templateFSM.h']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['_5fstate_0',['_State',['../template_f_s_m__private_8h.html#af5addeb46f2b4f7f88a4de82fbf5855b',1,'templateFSM_private.h']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['templatefsmsignals_0',['TemplateFSMSignals',['../template_f_s_m_8h.html#a62dbe2e9cfc18e5dc1229d428d794aa1',1,'templateFSM.h']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['count_5fstate_0',['Count_State',['../template_f_s_m__private_8h.html#af5addeb46f2b4f7f88a4de82fbf5855ba1413c9e060de9405cf1898973fc25394',1,'templateFSM_private.h']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['idle_0',['Idle',['../template_f_s_m__private_8h.html#af5addeb46f2b4f7f88a4de82fbf5855bad3fa9ae9431d6cb1772f9d9df48cab19',1,'templateFSM_private.h']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['signal_5fa_0',['Signal_A',['../template_f_s_m_8h.html#a62dbe2e9cfc18e5dc1229d428d794aa1acfabc94ee46cf07698eaa479452c78ee',1,'templateFSM.h']]]
];

View File

@ -1,5 +1,7 @@
var searchData=
[
['fsm_5fprivate_2eh_0',['FSM_private.h',['../_f_s_m__private_8h.html',1,'']]],
['fsm_5fprotected_2eh_1',['FSM_protected.h',['../_f_s_m__protected_8h.html',1,'']]]
['fsm_2ec_0',['FSM.c',['../_f_s_m_8c.html',1,'']]],
['fsm_5fprivate_2eh_1',['FSM_private.h',['../_f_s_m__private_8h.html',1,'']]],
['fsm_5fprotected_2eh_2',['FSM_protected.h',['../_f_s_m__protected_8h.html',1,'']]],
['fsm_5fpublic_2eh_3',['FSM_public.h',['../_f_s_m__public_8h.html',1,'']]]
];

View File

@ -0,0 +1,6 @@
var searchData=
[
['templatefsm_2ec_0',['templateFSM.c',['../template_f_s_m_8c.html',1,'']]],
['templatefsm_2eh_1',['templateFSM.h',['../template_f_s_m_8h.html',1,'']]],
['templatefsm_5fprivate_2eh_2',['templateFSM_private.h',['../template_f_s_m__private_8h.html',1,'']]]
];

View File

@ -1,4 +1,7 @@
var searchData=
[
['stepbasefsm_0',['stepBaseFSM',['../_f_s_m__protected_8h.html#a9bab0f8eedb805136ee573eac09b6ebb',1,'FSM.c']]]
['_5fclearpreloaderoverflag_0',['_clearPreloaderOverFlag',['../_f_s_m_8c.html#aad909acd21e17b8073d5d9dfb8892ccb',1,'_clearPreloaderOverFlag(FSM *pFSM):&#160;FSM.c'],['../_f_s_m__public_8h.html#aad909acd21e17b8073d5d9dfb8892ccb',1,'_clearPreloaderOverFlag(FSM *pFSM):&#160;FSM.c']]],
['_5fgetpreloaderoverflag_1',['_getPreloaderOverFlag',['../_f_s_m_8c.html#a704103961964dbb8582b59fd161a3348',1,'_getPreloaderOverFlag(FSM *pFSM):&#160;FSM.c'],['../_f_s_m__public_8h.html#a704103961964dbb8582b59fd161a3348',1,'_getPreloaderOverFlag(FSM *pFSM):&#160;FSM.c']]],
['_5fpreloadergetready_2',['_preloaderGetReady',['../_f_s_m_8c.html#a6e2a8d16f390efeaecc8938ec8f2e728',1,'_preloaderGetReady(FSM *pFSM):&#160;FSM.c'],['../_f_s_m__public_8h.html#a6e2a8d16f390efeaecc8938ec8f2e728',1,'_preloaderGetReady(FSM *pFSM):&#160;FSM.c']]],
['_5fpreloadin_3',['_preloadIn',['../_f_s_m_8c.html#a9c285ac5bbad90b0b04de18d393cf4ce',1,'_preloadIn(FSM *pFSM):&#160;FSM.c'],['../_f_s_m__public_8h.html#a9c285ac5bbad90b0b04de18d393cf4ce',1,'_preloadIn(FSM *pFSM):&#160;FSM.c']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['createtemplatefsm_0',['createTemplateFSM',['../template_f_s_m_8c.html#ab0fc4d91dbcaaffccd8f14e56173d696',1,'createTemplateFSM():&#160;templateFSM.c'],['../template_f_s_m_8h.html#ab0fc4d91dbcaaffccd8f14e56173d696',1,'createTemplateFSM():&#160;templateFSM.c']]]
];

View File

@ -0,0 +1,5 @@
var searchData=
[
['initdata_0',['initData',['../template_f_s_m_8c.html#a5ebc219bfad056d35b189b8e6fa94896',1,'templateFSM.c']]],
['initdataloader_1',['initDataLoader',['../template_f_s_m_8c.html#a8b945e9059bb82bf66884af5133eb898',1,'templateFSM.c']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['loadexternaldata_0',['loadExternalData',['../template_f_s_m_8c.html#a9e6eba3b03d1ff4c504705b2da864cb3',1,'templateFSM.c']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['newfmsprivatevars_0',['newFMSPrivateVars',['../_f_s_m__private_8h.html#ac817972fed8a0babe2356c890f960e75',1,'FSM_private.h']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['preload_0',['preload',['../_f_s_m_8c.html#a7fc6a4715e8cbd7660788fd9c59cb417',1,'FSM.c']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['resetsignals_0',['resetSignals',['../template_f_s_m_8c.html#a7ae1c0974bb8e7f8b00f959a17d91f60',1,'templateFSM.c']]]
];

View File

@ -0,0 +1,7 @@
var searchData=
[
['setnextstate_0',['setNextState',['../_f_s_m_8c.html#a6b596586b33f46c312a7088e8352d226',1,'FSM.c']]],
['setuphandler_1',['setupHandler',['../template_f_s_m_8c.html#a48fc6ebf7882fb5d4437c4d64b96255b',1,'templateFSM.c']]],
['step_2',['step',['../template_f_s_m_8c.html#ac23edf7d09bf4b52ca0cfbc1224c4c0d',1,'templateFSM.c']]],
['stepbasefsm_3',['stepBaseFSM',['../_f_s_m_8c.html#a9bab0f8eedb805136ee573eac09b6ebb',1,'stepBaseFSM(FSM *pFSM):&#160;FSM.c'],['../_f_s_m__protected_8h.html#a9bab0f8eedb805136ee573eac09b6ebb',1,'stepBaseFSM(FSM *pFSM):&#160;FSM.c']]]
];

View File

@ -1,13 +1,15 @@
var indexSectionsWithContent =
{
0: "_defilnprs",
1: "_f",
2: "f",
3: "s",
4: "deilnprs",
5: "f",
6: "i",
7: "dl"
0: "_acdefgilnprst",
1: "ft",
2: "ft",
3: "_cilnprs",
4: "acdefilnprst",
5: "fst",
6: "_t",
7: "cis",
8: "cdgipst",
9: "dl"
};
var indexSectionNames =
@ -18,8 +20,10 @@ var indexSectionNames =
3: "functions",
4: "variables",
5: "typedefs",
6: "defines",
7: "pages"
6: "enums",
7: "enumvalues",
8: "defines",
9: "pages"
};
var indexSectionLabels =
@ -30,7 +34,9 @@ var indexSectionLabels =
3: "Functions",
4: "Variables",
5: "Typedefs",
6: "Macros",
7: "Pages"
6: "Enumerations",
7: "Enumerator",
8: "Macros",
9: "Pages"
};

View File

@ -0,0 +1,4 @@
var searchData=
[
['state_0',['State',['../template_f_s_m__private_8h.html#adc4b74d6f88de7c72d2e260e836d267f',1,'templateFSM_private.h']]]
];

View File

@ -0,0 +1,5 @@
var searchData=
[
['templatefsmexternaldata_0',['TemplateFSMExternalData',['../template_f_s_m_8h.html#ad30e63631e0a6c61ac9cc9a47e31a5a5',1,'templateFSM.h']]],
['templatefsminnerdata_1',['TemplateFSMInnerData',['../template_f_s_m_8h.html#adfdfb9e9cda040324f0952d1e8b80e05',1,'templateFSM.h']]]
];

View File

@ -1,4 +1,4 @@
var searchData=
[
['defaultstate_0',['defaultState',['../struct_f_s_m_private_vars.html#a4cc735365b8c3946ff83d1984e2565fe',1,'FSMPrivateVars']]]
['all_0',['all',['../struct_f_s_m_signals.html#a9586b8cdc522f49e9bc62d2b67a1d79b',1,'FSMSignals']]]
];

View File

@ -1,4 +1,6 @@
var searchData=
[
['external_0',['external',['../struct_f_s_m_signals.html#af67ec8fc1e3f46fda173b939dbe9116c',1,'FSMSignals']]]
['childfsm_0',['childFSM',['../struct_f_s_m_private_vars.html#ad20548555264a67dac6b18b757e01821',1,'FSMPrivateVars']]],
['childfsmsteptable_1',['childFSMStepTable',['../struct_f_s_m_handler.html#a976b4147d1c0c9aeb4a61c3cc85376bf',1,'FSMHandler']]],
['curstate_2',['curState',['../struct_f_s_m_private_vars.html#a1e013b34f3da19006fdaef781e386ba7',1,'FSMPrivateVars']]]
];

View File

@ -1,7 +1,5 @@
var searchData=
[
['index_0',['index',['../struct_f_s_m_private_vars.html#ab14d89d4db1639abfab4a24f05cca6a7',1,'FSMPrivateVars']]],
['initdata_1',['initData',['../struct_f_s_m_pure_vtbl.html#a24fea698707e18e2d84385bfca118db1',1,'FSMPureVtbl']]],
['initdataloader_2',['initDataLoader',['../struct_f_s_m_pure_vtbl.html#aebfd1efad93210ac02249a81159d1472',1,'FSMPureVtbl']]],
['initsignals_3',['initSignals',['../struct_f_s_m_pure_vtbl.html#a58c666f5941e07c4a6ef054f1250dbd8',1,'FSMPureVtbl']]]
['defaultstate_0',['defaultState',['../struct_f_s_m_private_vars.html#a4cc735365b8c3946ff83d1984e2565fe',1,'FSMPrivateVars']]],
['duringactiontable_1',['duringActionTable',['../struct_f_s_m_handler.html#ad3506a53c3ee76655a117f7db0da7d3d',1,'FSMHandler']]]
];

View File

@ -1,5 +1,5 @@
var searchData=
[
['lasttriggeredsignal_0',['lastTriggeredSignal',['../struct_f_s_m_signals.html#a0ed78b85dbee15c4928fc85546eaa10d',1,'FSMSignals']]],
['loadexternaldata_1',['loadExternalData',['../struct_f_s_m_pure_vtbl.html#a4973df3b86e460a458c9edf4699aa68d',1,'FSMPureVtbl']]]
['enteractiontable_0',['enterActionTable',['../struct_f_s_m_handler.html#aa733ab89a48f8a63b4afb623b4d6be90',1,'FSMHandler']]],
['exitactiontable_1',['exitActionTable',['../struct_f_s_m_handler.html#a04721875a9baabc8a51c54a668db9a2c',1,'FSMHandler']]]
];

View File

@ -1,4 +1,4 @@
var searchData=
[
['nextstate_0',['nextState',['../struct_f_s_m_private_vars.html#a4312b61c7165398d2415c0794ac1fa8c',1,'FSMPrivateVars']]]
['fcns_0',['fcns',['../struct_f_s_m_private_vars.html#a38fc9622245dd2e2272d0511a603db69',1,'FSMPrivateVars']]]
];

View File

@ -1,4 +1,7 @@
var searchData=
[
['preloader_0',['preloader',['../struct_f_s_m_private_vars.html#a71ba0d8bee3f15ed5a0dd92dda0e0ed1',1,'FSMPrivateVars']]]
['index_0',['index',['../struct_f_s_m_private_vars.html#ab14d89d4db1639abfab4a24f05cca6a7',1,'FSMPrivateVars']]],
['initdata_1',['initData',['../struct_f_s_m_pure_vtbl.html#a24fea698707e18e2d84385bfca118db1',1,'FSMPureVtbl']]],
['initdataloader_2',['initDataLoader',['../struct_f_s_m_pure_vtbl.html#aebfd1efad93210ac02249a81159d1472',1,'FSMPureVtbl']]],
['initsignals_3',['initSignals',['../struct_f_s_m_pure_vtbl.html#a58c666f5941e07c4a6ef054f1250dbd8',1,'FSMPureVtbl']]]
];

View File

@ -1,4 +1,5 @@
var searchData=
[
['resetsignals_0',['resetSignals',['../struct_f_s_m_pure_vtbl.html#a65489698aee35862a265b30dff280ad1',1,'FSMPureVtbl']]]
['lasttriggeredsignal_0',['lastTriggeredSignal',['../struct_f_s_m_signals.html#a0ed78b85dbee15c4928fc85546eaa10d',1,'FSMSignals']]],
['loadexternaldata_1',['loadExternalData',['../struct_f_s_m_pure_vtbl.html#a4973df3b86e460a458c9edf4699aa68d',1,'FSMPureVtbl']]]
];

View File

@ -1,5 +1,6 @@
var searchData=
[
['selectnextstate_0',['selectNextState',['../struct_f_s_m_handler.html#a934ff7d1a2f7714694b8a2927b5f8451',1,'FSMHandler']]],
['setuphandler_1',['setupHandler',['../struct_f_s_m_pure_vtbl.html#a5fe3628ecfac4830ad9f64b1439fe57d',1,'FSMPureVtbl']]]
['nextstate_0',['nextState',['../struct_f_s_m_private_vars.html#a4312b61c7165398d2415c0794ac1fa8c',1,'FSMPrivateVars']]],
['numchild_1',['numChild',['../struct_f_s_m_private_vars.html#ac66fa0241dc6aa44e48e6b16811a8091',1,'FSMPrivateVars']]],
['numstate_2',['numState',['../struct_f_s_m_private_vars.html#a9f8a355881f1e3e990987090e6e9e37c',1,'FSMPrivateVars']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['preloader_0',['preloader',['../struct_f_s_m_private_vars.html#a71ba0d8bee3f15ed5a0dd92dda0e0ed1',1,'FSMPrivateVars']]]
];

View File

@ -0,0 +1,4 @@
var searchData=
[
['resetsignals_0',['resetSignals',['../struct_f_s_m_pure_vtbl.html#ae326d855d6a29d089f312d965bf032f2',1,'FSMPureVtbl']]]
];

View File

@ -0,0 +1,5 @@
var searchData=
[
['selectnextstate_0',['selectNextState',['../struct_f_s_m_handler.html#a934ff7d1a2f7714694b8a2927b5f8451',1,'FSMHandler']]],
['setuphandler_1',['setupHandler',['../struct_f_s_m_pure_vtbl.html#a5fe3628ecfac4830ad9f64b1439fe57d',1,'FSMPureVtbl']]]
];

View File

@ -0,0 +1,5 @@
var searchData=
[
['transitiongeneralaction_0',['transitionGeneralAction',['../struct_f_s_m_handler.html#ab199071e132b4409d71883155e6b81f2',1,'FSMHandler']]],
['transitiontable_1',['transitionTable',['../struct_f_s_m_handler.html#ac3b9fc077f8ba0368e8cba02a890aa2f',1,'FSMHandler']]]
];

View File

@ -114,10 +114,22 @@ $(function(){initNavTree('struct_f_s_m_handler.html',''); initResizable(); });
Data Fields</h2></td></tr>
<tr class="memitem:a934ff7d1a2f7714694b8a2927b5f8451" id="r_a934ff7d1a2f7714694b8a2927b5f8451"><td class="memItemLeft" align="right" valign="top">int(**&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a934ff7d1a2f7714694b8a2927b5f8451">selectNextState</a> )(void *data, <a class="el" href="struct_f_s_m_signals.html">FSMSignals</a> *signals)</td></tr>
<tr class="separator:a934ff7d1a2f7714694b8a2927b5f8451"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3b9fc077f8ba0368e8cba02a890aa2f" id="r_ac3b9fc077f8ba0368e8cba02a890aa2f"><td class="memItemLeft" align="right" valign="top">void(**&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac3b9fc077f8ba0368e8cba02a890aa2f">transitionTable</a> )(void *data)</td></tr>
<tr class="separator:ac3b9fc077f8ba0368e8cba02a890aa2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab199071e132b4409d71883155e6b81f2" id="r_ab199071e132b4409d71883155e6b81f2"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab199071e132b4409d71883155e6b81f2">transitionGeneralAction</a> )(void *data)</td></tr>
<tr class="separator:ab199071e132b4409d71883155e6b81f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa733ab89a48f8a63b4afb623b4d6be90" id="r_aa733ab89a48f8a63b4afb623b4d6be90"><td class="memItemLeft" align="right" valign="top">void(**&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa733ab89a48f8a63b4afb623b4d6be90">enterActionTable</a> )(void *data, FSM **cFSM)</td></tr>
<tr class="separator:aa733ab89a48f8a63b4afb623b4d6be90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3506a53c3ee76655a117f7db0da7d3d" id="r_ad3506a53c3ee76655a117f7db0da7d3d"><td class="memItemLeft" align="right" valign="top">void(**&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad3506a53c3ee76655a117f7db0da7d3d">duringActionTable</a> )(void *data, FSM **cFSM)</td></tr>
<tr class="separator:ad3506a53c3ee76655a117f7db0da7d3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04721875a9baabc8a51c54a668db9a2c" id="r_a04721875a9baabc8a51c54a668db9a2c"><td class="memItemLeft" align="right" valign="top">void(**&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a04721875a9baabc8a51c54a668db9a2c">exitActionTable</a> )(void *data, FSM **cFSM)</td></tr>
<tr class="separator:a04721875a9baabc8a51c54a668db9a2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a976b4147d1c0c9aeb4a61c3cc85376bf" id="r_a976b4147d1c0c9aeb4a61c3cc85376bf"><td class="memItemLeft" align="right" valign="top">void(**&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a976b4147d1c0c9aeb4a61c3cc85376bf">childFSMStepTable</a> )(FSM **cFSM)</td></tr>
<tr class="separator:a976b4147d1c0c9aeb4a61c3cc85376bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>状态处理函数集合,全部需要子类重新填充内容 </p>
<p>这个结构体暴露给protect文件方便在子类中添加函数。不然添加函数得再写个函数添加 有点麻烦 </p>
<p>这个结构体是私有变量子状态机和外界都不该访问。但是写在FSM_protect.h文件这样方便在子类中添加函数。不然添加函数得再写个函数添加, 有点麻烦 </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="a934ff7d1a2f7714694b8a2927b5f8451" name="a934ff7d1a2f7714694b8a2927b5f8451"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a934ff7d1a2f7714694b8a2927b5f8451">&#9670;&#160;</a></span>selectNextState</h2>
@ -132,6 +144,96 @@ Data Fields</h2></td></tr>
</div><div class="memdoc">
<p>每个状态配置的状态选择函数 </p>
</div>
</div>
<a id="ac3b9fc077f8ba0368e8cba02a890aa2f" name="ac3b9fc077f8ba0368e8cba02a890aa2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3b9fc077f8ba0368e8cba02a890aa2f">&#9670;&#160;</a></span>transitionTable</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void(** FSMHandler::transitionTable) (void *data)</td>
</tr>
</table>
</div><div class="memdoc">
<p>状态转移函数表 </p>
</div>
</div>
<a id="ab199071e132b4409d71883155e6b81f2" name="ab199071e132b4409d71883155e6b81f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab199071e132b4409d71883155e6b81f2">&#9670;&#160;</a></span>transitionGeneralAction</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void(* FSMHandler::transitionGeneralAction) (void *data)</td>
</tr>
</table>
</div><div class="memdoc">
<p>通用状态转移函数,不论有没有独立的状态转移函数都会执行 </p>
</div>
</div>
<a id="aa733ab89a48f8a63b4afb623b4d6be90" name="aa733ab89a48f8a63b4afb623b4d6be90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa733ab89a48f8a63b4afb623b4d6be90">&#9670;&#160;</a></span>enterActionTable</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void(** FSMHandler::enterActionTable) (void *data, FSM **cFSM)</td>
</tr>
</table>
</div><div class="memdoc">
<p>进入状态时运行的函数和plecs对标 </p>
</div>
</div>
<a id="ad3506a53c3ee76655a117f7db0da7d3d" name="ad3506a53c3ee76655a117f7db0da7d3d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3506a53c3ee76655a117f7db0da7d3d">&#9670;&#160;</a></span>duringActionTable</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void(** FSMHandler::duringActionTable) (void *data, FSM **cFSM)</td>
</tr>
</table>
</div><div class="memdoc">
<p>状态不变时运行的函数和plecs对标 </p>
</div>
</div>
<a id="a04721875a9baabc8a51c54a668db9a2c" name="a04721875a9baabc8a51c54a668db9a2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04721875a9baabc8a51c54a668db9a2c">&#9670;&#160;</a></span>exitActionTable</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void(** FSMHandler::exitActionTable) (void *data, FSM **cFSM)</td>
</tr>
</table>
</div><div class="memdoc">
<p>状态退出时运行的函数和plecs对标 </p>
</div>
</div>
<a id="a976b4147d1c0c9aeb4a61c3cc85376bf" name="a976b4147d1c0c9aeb4a61c3cc85376bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a976b4147d1c0c9aeb4a61c3cc85376bf">&#9670;&#160;</a></span>childFSMStepTable</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void(** FSMHandler::childFSMStepTable) (FSM **cFSM)</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000010">Deprecated</a></b></dt><dd>子状态机暂时弃用 </dd></dl>
</div>
</div>
</div><!-- contents -->

View File

@ -1,4 +1,10 @@
var struct_f_s_m_handler =
[
[ "selectNextState", "struct_f_s_m_handler.html#a934ff7d1a2f7714694b8a2927b5f8451", null ]
[ "selectNextState", "struct_f_s_m_handler.html#a934ff7d1a2f7714694b8a2927b5f8451", null ],
[ "transitionTable", "struct_f_s_m_handler.html#ac3b9fc077f8ba0368e8cba02a890aa2f", null ],
[ "transitionGeneralAction", "struct_f_s_m_handler.html#ab199071e132b4409d71883155e6b81f2", null ],
[ "enterActionTable", "struct_f_s_m_handler.html#aa733ab89a48f8a63b4afb623b4d6be90", null ],
[ "duringActionTable", "struct_f_s_m_handler.html#ad3506a53c3ee76655a117f7db0da7d3d", null ],
[ "exitActionTable", "struct_f_s_m_handler.html#a04721875a9baabc8a51c54a668db9a2c", null ],
[ "childFSMStepTable", "struct_f_s_m_handler.html#a976b4147d1c0c9aeb4a61c3cc85376bf", null ]
];

View File

@ -112,18 +112,43 @@ $(function(){initNavTree('struct_f_s_m_private_vars.html',''); initResizable();
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a9f8a355881f1e3e990987090e6e9e37c" id="r_a9f8a355881f1e3e990987090e6e9e37c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9f8a355881f1e3e990987090e6e9e37c">numState</a></td></tr>
<tr class="separator:a9f8a355881f1e3e990987090e6e9e37c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cc735365b8c3946ff83d1984e2565fe" id="r_a4cc735365b8c3946ff83d1984e2565fe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4cc735365b8c3946ff83d1984e2565fe">defaultState</a></td></tr>
<tr class="separator:a4cc735365b8c3946ff83d1984e2565fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e013b34f3da19006fdaef781e386ba7" id="r_a1e013b34f3da19006fdaef781e386ba7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1e013b34f3da19006fdaef781e386ba7">curState</a></td></tr>
<tr class="separator:a1e013b34f3da19006fdaef781e386ba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4312b61c7165398d2415c0794ac1fa8c" id="r_a4312b61c7165398d2415c0794ac1fa8c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4312b61c7165398d2415c0794ac1fa8c">nextState</a></td></tr>
<tr class="separator:a4312b61c7165398d2415c0794ac1fa8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab14d89d4db1639abfab4a24f05cca6a7" id="r_ab14d89d4db1639abfab4a24f05cca6a7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab14d89d4db1639abfab4a24f05cca6a7">index</a></td></tr>
<tr class="separator:ab14d89d4db1639abfab4a24f05cca6a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38fc9622245dd2e2272d0511a603db69" id="r_a38fc9622245dd2e2272d0511a603db69"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_f_s_m__private_8h.html#a19064d5985c08b2ebbdfe2b27c6986ba">FSMHandler</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a38fc9622245dd2e2272d0511a603db69">fcns</a></td></tr>
<tr class="separator:a38fc9622245dd2e2272d0511a603db69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac66fa0241dc6aa44e48e6b16811a8091" id="r_ac66fa0241dc6aa44e48e6b16811a8091"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac66fa0241dc6aa44e48e6b16811a8091">numChild</a></td></tr>
<tr class="separator:ac66fa0241dc6aa44e48e6b16811a8091"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad20548555264a67dac6b18b757e01821" id="r_ad20548555264a67dac6b18b757e01821"><td class="memItemLeft" align="right" valign="top">FSM **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad20548555264a67dac6b18b757e01821">childFSM</a></td></tr>
<tr class="separator:ad20548555264a67dac6b18b757e01821"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71ba0d8bee3f15ed5a0dd92dda0e0ed1" id="r_a71ba0d8bee3f15ed5a0dd92dda0e0ed1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_f_s_m_data_loader.html">FSMDataLoader</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a71ba0d8bee3f15ed5a0dd92dda0e0ed1">preloader</a></td></tr>
<tr class="separator:a71ba0d8bee3f15ed5a0dd92dda0e0ed1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>基类状态机的私有变量和函数,子类不可直接访问 </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="a9f8a355881f1e3e990987090e6e9e37c" name="a9f8a355881f1e3e990987090e6e9e37c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f8a355881f1e3e990987090e6e9e37c">&#9670;&#160;</a></span>numState</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int FSMPrivateVars::numState</td>
</tr>
</table>
</div><div class="memdoc">
<p>状态数量 </p>
</div>
</div>
<a id="a4cc735365b8c3946ff83d1984e2565fe" name="a4cc735365b8c3946ff83d1984e2565fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4cc735365b8c3946ff83d1984e2565fe">&#9670;&#160;</a></span>defaultState</h2>
@ -137,6 +162,21 @@ Data Fields</h2></td></tr>
</div><div class="memdoc">
<p>Idle状态不能停留必须指定一个初始状态 </p>
</div>
</div>
<a id="a1e013b34f3da19006fdaef781e386ba7" name="a1e013b34f3da19006fdaef781e386ba7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e013b34f3da19006fdaef781e386ba7">&#9670;&#160;</a></span>curState</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int FSMPrivateVars::curState</td>
</tr>
</table>
</div><div class="memdoc">
<p>当前状态 </p>
</div>
</div>
<a id="a4312b61c7165398d2415c0794ac1fa8c" name="a4312b61c7165398d2415c0794ac1fa8c"></a>
@ -167,6 +207,51 @@ Data Fields</h2></td></tr>
</div><div class="memdoc">
<p>状态转移函数表对应的标号 </p>
</div>
</div>
<a id="a38fc9622245dd2e2272d0511a603db69" name="a38fc9622245dd2e2272d0511a603db69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38fc9622245dd2e2272d0511a603db69">&#9670;&#160;</a></span>fcns</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="_f_s_m__private_8h.html#a19064d5985c08b2ebbdfe2b27c6986ba">FSMHandler</a> FSMPrivateVars::fcns</td>
</tr>
</table>
</div><div class="memdoc">
<p>状态函数表 </p>
</div>
</div>
<a id="ac66fa0241dc6aa44e48e6b16811a8091" name="ac66fa0241dc6aa44e48e6b16811a8091"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac66fa0241dc6aa44e48e6b16811a8091">&#9670;&#160;</a></span>numChild</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int FSMPrivateVars::numChild</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000007">Deprecated</a></b></dt><dd>和子状态机相关的暂时弃用 </dd></dl>
</div>
</div>
<a id="ad20548555264a67dac6b18b757e01821" name="ad20548555264a67dac6b18b757e01821"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad20548555264a67dac6b18b757e01821">&#9670;&#160;</a></span>childFSM</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">FSM** FSMPrivateVars::childFSM</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000008">Deprecated</a></b></dt><dd>和子状态机相关的暂时弃用 </dd></dl>
</div>
</div>
<a id="a71ba0d8bee3f15ed5a0dd92dda0e0ed1" name="a71ba0d8bee3f15ed5a0dd92dda0e0ed1"></a>
@ -180,7 +265,7 @@ Data Fields</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000007">Deprecated</a></b></dt><dd>弃用 </dd></dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000009">Deprecated</a></b></dt><dd>弃用 </dd></dl>
</div>
</div>

View File

@ -1,7 +1,12 @@
var struct_f_s_m_private_vars =
[
[ "numState", "struct_f_s_m_private_vars.html#a9f8a355881f1e3e990987090e6e9e37c", null ],
[ "defaultState", "struct_f_s_m_private_vars.html#a4cc735365b8c3946ff83d1984e2565fe", null ],
[ "curState", "struct_f_s_m_private_vars.html#a1e013b34f3da19006fdaef781e386ba7", null ],
[ "nextState", "struct_f_s_m_private_vars.html#a4312b61c7165398d2415c0794ac1fa8c", null ],
[ "index", "struct_f_s_m_private_vars.html#ab14d89d4db1639abfab4a24f05cca6a7", null ],
[ "fcns", "struct_f_s_m_private_vars.html#a38fc9622245dd2e2272d0511a603db69", null ],
[ "numChild", "struct_f_s_m_private_vars.html#ac66fa0241dc6aa44e48e6b16811a8091", null ],
[ "childFSM", "struct_f_s_m_private_vars.html#ad20548555264a67dac6b18b757e01821", null ],
[ "preloader", "struct_f_s_m_private_vars.html#a71ba0d8bee3f15ed5a0dd92dda0e0ed1", null ]
];

View File

@ -122,8 +122,8 @@ Data Fields</h2></td></tr>
<tr class="separator:aebfd1efad93210ac02249a81159d1472"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58c666f5941e07c4a6ef054f1250dbd8" id="r_a58c666f5941e07c4a6ef054f1250dbd8"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a58c666f5941e07c4a6ef054f1250dbd8">initSignals</a> )(FSM *pFSM)</td></tr>
<tr class="separator:a58c666f5941e07c4a6ef054f1250dbd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65489698aee35862a265b30dff280ad1" id="r_a65489698aee35862a265b30dff280ad1"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a65489698aee35862a265b30dff280ad1">resetSignals</a> )(<a class="el" href="struct_f_s_m_signals.html">FSMSignals</a> *signalRegs, void *data)</td></tr>
<tr class="separator:a65489698aee35862a265b30dff280ad1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae326d855d6a29d089f312d965bf032f2" id="r_ae326d855d6a29d089f312d965bf032f2"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae326d855d6a29d089f312d965bf032f2">resetSignals</a> )(<a class="el" href="struct_f_s_m_signals.html">FSMSignals</a> *signals, void *data)</td></tr>
<tr class="separator:ae326d855d6a29d089f312d965bf032f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>纯虚函数,子类必须重新实现,父类构造函数不会初始化 </p>
@ -169,7 +169,7 @@ Data Fields</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000008">Deprecated</a></b></dt><dd>暂时没用,后续可能考虑外部数据是否允许随时修改 </dd></dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000011">Deprecated</a></b></dt><dd>暂时没用,后续可能考虑外部数据是否允许随时修改 </dd></dl>
</div>
</div>
@ -184,7 +184,7 @@ Data Fields</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000009">Deprecated</a></b></dt><dd>和预装载器相关 </dd></dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000012">Deprecated</a></b></dt><dd>和预装载器相关 </dd></dl>
</div>
</div>
@ -203,14 +203,14 @@ Data Fields</h2></td></tr>
</div>
</div>
<a id="a65489698aee35862a265b30dff280ad1" name="a65489698aee35862a265b30dff280ad1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65489698aee35862a265b30dff280ad1">&#9670;&#160;</a></span>resetSignals</h2>
<a id="ae326d855d6a29d089f312d965bf032f2" name="ae326d855d6a29d089f312d965bf032f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae326d855d6a29d089f312d965bf032f2">&#9670;&#160;</a></span>resetSignals</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void(* FSMPureVtbl::resetSignals) (<a class="el" href="struct_f_s_m_signals.html">FSMSignals</a> *signalRegs, void *data)</td>
<td class="memname">void(* FSMPureVtbl::resetSignals) (<a class="el" href="struct_f_s_m_signals.html">FSMSignals</a> *signals, void *data)</td>
</tr>
</table>
</div><div class="memdoc">

View File

@ -5,5 +5,5 @@ var struct_f_s_m_pure_vtbl =
[ "loadExternalData", "struct_f_s_m_pure_vtbl.html#a4973df3b86e460a458c9edf4699aa68d", null ],
[ "initDataLoader", "struct_f_s_m_pure_vtbl.html#aebfd1efad93210ac02249a81159d1472", null ],
[ "initSignals", "struct_f_s_m_pure_vtbl.html#a58c666f5941e07c4a6ef054f1250dbd8", null ],
[ "resetSignals", "struct_f_s_m_pure_vtbl.html#a65489698aee35862a265b30dff280ad1", null ]
[ "resetSignals", "struct_f_s_m_pure_vtbl.html#ae326d855d6a29d089f312d965bf032f2", null ]
];

View File

@ -112,22 +112,23 @@ $(function(){initNavTree('struct_f_s_m_signals.html',''); initResizable(); });
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:af67ec8fc1e3f46fda173b939dbe9116c" id="r_af67ec8fc1e3f46fda173b939dbe9116c"><td class="memItemLeft" align="right" valign="top">Uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af67ec8fc1e3f46fda173b939dbe9116c">external</a></td></tr>
<tr class="separator:af67ec8fc1e3f46fda173b939dbe9116c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9586b8cdc522f49e9bc62d2b67a1d79b" id="r_a9586b8cdc522f49e9bc62d2b67a1d79b"><td class="memItemLeft" align="right" valign="top">Uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9586b8cdc522f49e9bc62d2b67a1d79b">all</a></td></tr>
<tr class="separator:a9586b8cdc522f49e9bc62d2b67a1d79b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ed78b85dbee15c4928fc85546eaa10d" id="r_a0ed78b85dbee15c4928fc85546eaa10d"><td class="memItemLeft" align="right" valign="top">Uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0ed78b85dbee15c4928fc85546eaa10d">lastTriggeredSignal</a></td></tr>
<tr class="separator:a0ed78b85dbee15c4928fc85546eaa10d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>状态机用的信号protected子类可以访问 </p>
<p>外部只能通过SetSignal函数对信号进行设置在状态机运行时会根据信号清除函数清除信号。信号 利用位进行存储,每个位代表一个信号,通过移位操作设置和清除信号。 </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="af67ec8fc1e3f46fda173b939dbe9116c" name="af67ec8fc1e3f46fda173b939dbe9116c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af67ec8fc1e3f46fda173b939dbe9116c">&#9670;&#160;</a></span>external</h2>
<a id="a9586b8cdc522f49e9bc62d2b67a1d79b" name="a9586b8cdc522f49e9bc62d2b67a1d79b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9586b8cdc522f49e9bc62d2b67a1d79b">&#9670;&#160;</a></span>all</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Uint16 FSMSignals::external</td>
<td class="memname">Uint16 FSMSignals::all</td>
</tr>
</table>
</div><div class="memdoc">
@ -146,7 +147,7 @@ Data Fields</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>上一次触发的外部信号 </p>
<p>上一次触发的外部信号,用于信号清除 </p>
</div>
</div>

View File

@ -1,5 +1,5 @@
var struct_f_s_m_signals =
[
[ "external", "struct_f_s_m_signals.html#af67ec8fc1e3f46fda173b939dbe9116c", null ],
[ "all", "struct_f_s_m_signals.html#a9586b8cdc522f49e9bc62d2b67a1d79b", null ],
[ "lastTriggeredSignal", "struct_f_s_m_signals.html#a0ed78b85dbee15c4928fc85546eaa10d", null ]
];

View File

@ -0,0 +1,122 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.10.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>状态机框架: TemplateFSMExternalData Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logo_transparent.png"/></td>
<td id="projectalign">
<div id="projectname">状态机框架<span id="projectnumber">&#160;0.1alpha</span>
</div>
<div id="projectbrief">by 天神</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.10.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('struct_template_f_s_m_external_data.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">TemplateFSMExternalData Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>自定义外部数据
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="template_f_s_m_8h_source.html">templateFSM.h</a>&gt;</code></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>自定义外部数据 </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="struct_template_f_s_m_external_data.html">TemplateFSMExternalData</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.10.0 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,122 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.10.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>状态机框架: TemplateFSMInnerData Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logo_transparent.png"/></td>
<td id="projectalign">
<div id="projectname">状态机框架<span id="projectnumber">&#160;0.1alpha</span>
</div>
<div id="projectbrief">by 天神</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.10.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('struct_template_f_s_m_inner_data.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">TemplateFSMInnerData Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>自定义内部数据
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="template_f_s_m_8h_source.html">templateFSM.h</a>&gt;</code></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>自定义内部数据 </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="struct_template_f_s_m_inner_data.html">TemplateFSMInnerData</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.10.0 </li>
</ul>
</div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More