FSM/vscode/manual/html/template_f_s_m_8h.html

235 lines
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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/template/templateFSM.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('template_f_s_m_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="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">templateFSM.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>对外暴露接口,外部可以设置状态机的信号
<a href="#details">More...</a></p>
<p><a href="template_f_s_m_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="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_template_f_s_m_external_data.html">TemplateFSMExternalData</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">自定义外部数据 <a href="struct_template_f_s_m_external_data.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_template_f_s_m_inner_data.html">TemplateFSMInnerData</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">自定义内部数据 <a href="struct_template_f_s_m_inner_data.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:ab0325ef0b5aef6334743cdd7c1d70bd9" id="r_ab0325ef0b5aef6334743cdd7c1d70bd9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab0325ef0b5aef6334743cdd7c1d70bd9">TemplateFSM_Input</a>(pFSM)&#160;&#160;&#160;((<a class="el" href="struct_template_f_s_m_external_data.html">TemplateFSMExternalData</a> *)<a class="el" href="_f_s_m_8c.html#a9c285ac5bbad90b0b04de18d393cf4ce">_preloadIn</a>((FSM *)pFSM))</td></tr>
<tr class="separator:ab0325ef0b5aef6334743cdd7c1d70bd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ad30e63631e0a6c61ac9cc9a47e31a5a5" id="r_ad30e63631e0a6c61ac9cc9a47e31a5a5"><td class="memItemLeft" align="right" valign="top"><a id="ad30e63631e0a6c61ac9cc9a47e31a5a5" name="ad30e63631e0a6c61ac9cc9a47e31a5a5"></a>
typedef struct TemplateFSMExternalData&#160;</td><td class="memItemRight" valign="bottom"><b>TemplateFSMExternalData</b></td></tr>
<tr class="memdesc:ad30e63631e0a6c61ac9cc9a47e31a5a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">自定义外部数据 <br /></td></tr>
<tr class="separator:ad30e63631e0a6c61ac9cc9a47e31a5a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfdfb9e9cda040324f0952d1e8b80e05" id="r_adfdfb9e9cda040324f0952d1e8b80e05"><td class="memItemLeft" align="right" valign="top"><a id="adfdfb9e9cda040324f0952d1e8b80e05" name="adfdfb9e9cda040324f0952d1e8b80e05"></a>
typedef struct TemplateFSMInnerData&#160;</td><td class="memItemRight" valign="bottom"><b>TemplateFSMInnerData</b></td></tr>
<tr class="memdesc:adfdfb9e9cda040324f0952d1e8b80e05"><td class="mdescLeft">&#160;</td><td class="mdescRight">自定义内部数据 <br /></td></tr>
<tr class="separator:adfdfb9e9cda040324f0952d1e8b80e05"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a62dbe2e9cfc18e5dc1229d428d794aa1" id="r_a62dbe2e9cfc18e5dc1229d428d794aa1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a62dbe2e9cfc18e5dc1229d428d794aa1">TemplateFSMSignals</a> { <a class="el" href="#a62dbe2e9cfc18e5dc1229d428d794aa1acfabc94ee46cf07698eaa479452c78ee">Signal_A</a> = 1
, <b>Signal_B</b>
}</td></tr>
<tr class="memdesc:a62dbe2e9cfc18e5dc1229d428d794aa1"><td class="mdescLeft">&#160;</td><td class="mdescRight">自定义外部信号目前最多15个 <a href="#a62dbe2e9cfc18e5dc1229d428d794aa1">More...</a><br /></td></tr>
<tr class="separator:a62dbe2e9cfc18e5dc1229d428d794aa1"><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:ab0fc4d91dbcaaffccd8f14e56173d696" id="r_ab0fc4d91dbcaaffccd8f14e56173d696"><td class="memItemLeft" align="right" valign="top">TemplateFSM *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab0fc4d91dbcaaffccd8f14e56173d696">createTemplateFSM</a> ()</td></tr>
<tr class="memdesc:ab0fc4d91dbcaaffccd8f14e56173d696"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a Template FSM object. <br /></td></tr>
<tr class="separator:ab0fc4d91dbcaaffccd8f14e56173d696"><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>
<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="ab0325ef0b5aef6334743cdd7c1d70bd9" name="ab0325ef0b5aef6334743cdd7c1d70bd9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0325ef0b5aef6334743cdd7c1d70bd9">&#9670;&#160;</a></span>TemplateFSM_Input</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define TemplateFSM_Input</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="struct_template_f_s_m_external_data.html">TemplateFSMExternalData</a> *)<a class="el" href="_f_s_m_8c.html#a9c285ac5bbad90b0b04de18d393cf4ce">_preloadIn</a>((FSM *)pFSM))</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000018">Deprecated</a></b></dt><dd>暂时弃用 </dd></dl>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a62dbe2e9cfc18e5dc1229d428d794aa1" name="a62dbe2e9cfc18e5dc1229d428d794aa1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62dbe2e9cfc18e5dc1229d428d794aa1">&#9670;&#160;</a></span>TemplateFSMSignals</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="#a62dbe2e9cfc18e5dc1229d428d794aa1">TemplateFSMSignals</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>自定义外部信号目前最多15个 </p>
<p>因为是Unint16存储的信号位 </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a62dbe2e9cfc18e5dc1229d428d794aa1acfabc94ee46cf07698eaa479452c78ee" name="a62dbe2e9cfc18e5dc1229d428d794aa1acfabc94ee46cf07698eaa479452c78ee"></a>Signal_A&#160;</td><td class="fielddoc"><p>必须从1开始0预留给Idle信号了 </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ab0fc4d91dbcaaffccd8f14e56173d696" name="ab0fc4d91dbcaaffccd8f14e56173d696"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0fc4d91dbcaaffccd8f14e56173d696">&#9670;&#160;</a></span>createTemplateFSM()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TemplateFSM * createTemplateFSM </td>
<td>(</td>
<td class="paramname"><span class="paramname"></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a Template FSM object. </p>
<p>子类状态机细节对外隐藏,外部只能访问基类的公有函数来操作子类变量 </p><dl class="section return"><dt>Returns</dt><dd>TemplateFSM* </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_7883619b7fc78d5d5f504b4a82c84a2d.html">template</a></li><li class="navelem"><a class="el" href="template_f_s_m_8h.html">templateFSM.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>