\doxysection{FSM\+\_\+\+OOP/template/template\+FSM.h File Reference}
\hypertarget{template_f_s_m_8h}{}\label{template_f_s_m_8h}\index{FSM\_OOP/template/templateFSM.h@{FSM\_OOP/template/templateFSM.h}}


对外暴露接口，外部可以设置状态机的信号  


\doxysubsubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct_template_f_s_m_external_data}{Template\+FSMExternal\+Data}}
\begin{DoxyCompactList}\small\item\em 自定义外部数据 \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct_template_f_s_m_inner_data}{Template\+FSMInner\+Data}}
\begin{DoxyCompactList}\small\item\em 自定义内部数据 \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{template_f_s_m_8h_ab0325ef0b5aef6334743cdd7c1d70bd9}{Template\+FSM\+\_\+\+Input}}(p\+FSM)~((\mbox{\hyperlink{struct_template_f_s_m_external_data}{Template\+FSMExternal\+Data}} \texorpdfstring{$\ast$}{*})\mbox{\hyperlink{_f_s_m_8c_a9c285ac5bbad90b0b04de18d393cf4ce}{\+\_\+preload\+In}}((FSM \texorpdfstring{$\ast$}{*})p\+FSM))
\end{DoxyCompactItemize}
\doxysubsubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{template_f_s_m_8h_ad30e63631e0a6c61ac9cc9a47e31a5a5}\label{template_f_s_m_8h_ad30e63631e0a6c61ac9cc9a47e31a5a5} 
typedef struct Template\+FSMExternal\+Data {\bfseries Template\+FSMExternal\+Data}
\begin{DoxyCompactList}\small\item\em 自定义外部数据 \end{DoxyCompactList}\item 
\Hypertarget{template_f_s_m_8h_adfdfb9e9cda040324f0952d1e8b80e05}\label{template_f_s_m_8h_adfdfb9e9cda040324f0952d1e8b80e05} 
typedef struct Template\+FSMInner\+Data {\bfseries Template\+FSMInner\+Data}
\begin{DoxyCompactList}\small\item\em 自定义内部数据 \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{template_f_s_m_8h_a62dbe2e9cfc18e5dc1229d428d794aa1}{Template\+FSMSignals}} \{ \mbox{\hyperlink{template_f_s_m_8h_a62dbe2e9cfc18e5dc1229d428d794aa1acfabc94ee46cf07698eaa479452c78ee}{Signal\+\_\+A}} = 1
, {\bfseries Signal\+\_\+B}
 \}
\begin{DoxyCompactList}\small\item\em 自定义外部信号，目前最多15个 \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
Template\+FSM \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{template_f_s_m_8h_ab0fc4d91dbcaaffccd8f14e56173d696}{create\+Template\+FSM}} ()
\begin{DoxyCompactList}\small\item\em Create a Template FSM object. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
对外暴露接口，外部可以设置状态机的信号 

\begin{DoxyAuthor}{Author}
天神 (\href{mailto:dalaoshi@stu.xjtu.edu.cn}{\texttt{ dalaoshi@stu.\+xjtu.\+edu.\+cn}}) 
\end{DoxyAuthor}
\begin{DoxyVersion}{Version}
2.\+1 
\end{DoxyVersion}
\begin{DoxyDate}{Date}
2024-\/05-\/07
\end{DoxyDate}
\begin{DoxyCopyright}{Copyright}
天神创意无限公司 2024 
\end{DoxyCopyright}


\doxysubsection{Macro Definition Documentation}
\Hypertarget{template_f_s_m_8h_ab0325ef0b5aef6334743cdd7c1d70bd9}\label{template_f_s_m_8h_ab0325ef0b5aef6334743cdd7c1d70bd9} 
\index{templateFSM.h@{templateFSM.h}!TemplateFSM\_Input@{TemplateFSM\_Input}}
\index{TemplateFSM\_Input@{TemplateFSM\_Input}!templateFSM.h@{templateFSM.h}}
\doxysubsubsection{\texorpdfstring{TemplateFSM\_Input}{TemplateFSM\_Input}}
{\footnotesize\ttfamily \#define Template\+FSM\+\_\+\+Input(\begin{DoxyParamCaption}\item[{}]{p\+FSM }\end{DoxyParamCaption})~((\mbox{\hyperlink{struct_template_f_s_m_external_data}{Template\+FSMExternal\+Data}} \texorpdfstring{$\ast$}{*})\mbox{\hyperlink{_f_s_m_8c_a9c285ac5bbad90b0b04de18d393cf4ce}{\+\_\+preload\+In}}((FSM \texorpdfstring{$\ast$}{*})p\+FSM))}

\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000018}{Deprecated}}]暂时弃用 \end{DoxyRefDesc}


\doxysubsection{Enumeration Type Documentation}
\Hypertarget{template_f_s_m_8h_a62dbe2e9cfc18e5dc1229d428d794aa1}\label{template_f_s_m_8h_a62dbe2e9cfc18e5dc1229d428d794aa1} 
\index{templateFSM.h@{templateFSM.h}!TemplateFSMSignals@{TemplateFSMSignals}}
\index{TemplateFSMSignals@{TemplateFSMSignals}!templateFSM.h@{templateFSM.h}}
\doxysubsubsection{\texorpdfstring{TemplateFSMSignals}{TemplateFSMSignals}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{template_f_s_m_8h_a62dbe2e9cfc18e5dc1229d428d794aa1}{Template\+FSMSignals}}}



自定义外部信号，目前最多15个 

因为是\+Unint16存储的信号位 \begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{Signal\_A@{Signal\_A}!templateFSM.h@{templateFSM.h}}\index{templateFSM.h@{templateFSM.h}!Signal\_A@{Signal\_A}}}\Hypertarget{template_f_s_m_8h_a62dbe2e9cfc18e5dc1229d428d794aa1acfabc94ee46cf07698eaa479452c78ee}\label{template_f_s_m_8h_a62dbe2e9cfc18e5dc1229d428d794aa1acfabc94ee46cf07698eaa479452c78ee} 
Signal\+\_\+A&必须从1开始，0预留给\+Idle信号了 \\
\hline

\end{DoxyEnumFields}


\doxysubsection{Function Documentation}
\Hypertarget{template_f_s_m_8h_ab0fc4d91dbcaaffccd8f14e56173d696}\label{template_f_s_m_8h_ab0fc4d91dbcaaffccd8f14e56173d696} 
\index{templateFSM.h@{templateFSM.h}!createTemplateFSM@{createTemplateFSM}}
\index{createTemplateFSM@{createTemplateFSM}!templateFSM.h@{templateFSM.h}}
\doxysubsubsection{\texorpdfstring{createTemplateFSM()}{createTemplateFSM()}}
{\footnotesize\ttfamily Template\+FSM \texorpdfstring{$\ast$}{*} create\+Template\+FSM (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Create a Template FSM object. 

子类状态机细节对外隐藏，外部只能访问基类的公有函数来操作子类变量 \begin{DoxyReturn}{Returns}
Template\+FSM\texorpdfstring{$\ast$}{*} 
\end{DoxyReturn}
