This commit is contained in:
2025-05-09 21:26:59 +03:00
commit 5e1364447e
2936 changed files with 2471676 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
LATEX_CMD?=pdflatex
MKIDX_CMD?=makeindex
BIBTEX_CMD?=bibtex
LATEX_COUNT?=8
MANUAL_FILE?=refman
all: $(MANUAL_FILE).pdf
pdf: $(MANUAL_FILE).pdf
$(MANUAL_FILE).pdf: clean $(MANUAL_FILE).tex
$(LATEX_CMD) $(MANUAL_FILE)
$(MKIDX_CMD) $(MANUAL_FILE).idx
$(LATEX_CMD) $(MANUAL_FILE)
latex_count=$(LATEX_COUNT) ; \
while grep -E -s 'Rerun (LaTeX|to get cross-references right|to get bibliographical references right)' $(MANUAL_FILE).log && [ $$latex_count -gt 0 ] ;\
do \
echo "Rerunning latex...." ;\
$(LATEX_CMD) $(MANUAL_FILE) ;\
latex_count=`expr $$latex_count - 1` ;\
done
$(MKIDX_CMD) $(MANUAL_FILE).idx
$(LATEX_CMD) $(MANUAL_FILE)
clean:
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl $(MANUAL_FILE).pdf

View File

@@ -0,0 +1,7 @@
\doxysection{Data Structures}
Here are the data structures with brief descriptions\+:\begin{DoxyCompactList}
\item\contentsline{section}{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \\*Handle for RS communication }{\pageref{struct_r_s___handle_type_def}}{}
\item\contentsline{section}{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} }{\pageref{struct_r_s___msg_type_def}}{}
\item\contentsline{section}{\mbox{\hyperlink{struct_t_i_m___settings_type_def}{TIM\+\_\+\+Settings\+Type\+Def}} }{\pageref{struct_t_i_m___settings_type_def}}{}
\item\contentsline{section}{\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}} }{\pageref{struct_u_a_r_t___settings_type_def}}{}
\end{DoxyCompactList}

View File

@@ -0,0 +1,14 @@
\doxysection{crc\+\_\+algs.\+h}
\hypertarget{crc__algs_8h_source}{}\label{crc__algs_8h_source}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#include\ "{}main.h"{}}}
\DoxyCodeLine{00002\ }
\DoxyCodeLine{00003\ \textcolor{comment}{//\ extern\ here\ to\ use\ in\ bootloader.c}}
\DoxyCodeLine{00004\ \textcolor{keyword}{extern}\ uint32\_t\ CRC\_calc;}
\DoxyCodeLine{00005\ \textcolor{keyword}{extern}\ uint32\_t\ CRC\_ref;}
\DoxyCodeLine{00006\ }
\DoxyCodeLine{00007\ }
\DoxyCodeLine{00008\ uint16\_t\ crc16(uint8\_t\ *data,\ uint32\_t\ data\_size);}
\DoxyCodeLine{00009\ uint32\_t\ crc32(uint8\_t\ *data,\ uint32\_t\ data\_size);}
\end{DoxyCode}

View File

@@ -0,0 +1,694 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{doxygen}
% Packages used by this style file
\RequirePackage{alltt}
%%\RequirePackage{array} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package
\RequirePackage{calc}
\RequirePackage{float}
%%\RequirePackage{ifthen} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package
\RequirePackage{verbatim}
\RequirePackage[table]{xcolor}
\RequirePackage{longtable_doxygen}
\RequirePackage{tabu_doxygen}
\RequirePackage{fancyvrb}
\RequirePackage{tabularx}
\RequirePackage{multicol}
\RequirePackage{multirow}
\RequirePackage{hanging}
\RequirePackage{ifpdf}
\RequirePackage{adjustbox}
\RequirePackage{amssymb}
\RequirePackage{stackengine}
\RequirePackage{enumitem}
\RequirePackage{alphalph}
\RequirePackage[normalem]{ulem} % for strikeout, but don't modify emphasis
%---------- Internal commands used in this style file ----------------
\newcommand{\ensurespace}[1]{%
\begingroup%
\setlength{\dimen@}{#1}%
\vskip\z@\@plus\dimen@%
\penalty -100\vskip\z@\@plus -\dimen@%
\vskip\dimen@%
\penalty 9999%
\vskip -\dimen@%
\vskip\z@skip% hide the previous |\vskip| from |\addvspace|
\endgroup%
}
\newcommand{\DoxyHorRuler}[1]{%
\setlength{\parskip}{0ex plus 0ex minus 0ex}%
\ifthenelse{#1=0}%
{%
\hrule%
}%
{%
\hrulefilll%
}%
}
\newcommand{\DoxyLabelFont}{}
\newcommand{\entrylabel}[1]{%
{%
\parbox[b]{\labelwidth-4pt}{%
\makebox[0pt][l]{\DoxyLabelFont#1}%
\vspace{1.5\baselineskip}%
}%
}%
}
\newenvironment{DoxyDesc}[1]{%
\ensurespace{4\baselineskip}%
\begin{list}{}{%
\settowidth{\labelwidth}{20pt}%
%\setlength{\parsep}{0pt}%
\setlength{\itemsep}{0pt}%
\setlength{\leftmargin}{\labelwidth+\labelsep}%
\renewcommand{\makelabel}{\entrylabel}%
}%
\item[#1]%
}{%
\end{list}%
}
\newsavebox{\xrefbox}
\newlength{\xreflength}
\newcommand{\xreflabel}[1]{%
\sbox{\xrefbox}{#1}%
\setlength{\xreflength}{\wd\xrefbox}%
\ifthenelse{\xreflength>\labelwidth}{%
\begin{minipage}{\textwidth}%
\setlength{\parindent}{0pt}%
\hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
\end{minipage}%
}{%
\parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
}%
}
%---------- Commands used by doxygen LaTeX output generator ----------
% Used by <pre> ... </pre>
\newenvironment{DoxyPre}{%
\small%
\begin{alltt}%
}{%
\end{alltt}%
\normalsize%
}
% Necessary for redefining not defined characters, i.e. "Replacement Character" in tex output.
\newlength{\CodeWidthChar}
\newlength{\CodeHeightChar}
\settowidth{\CodeWidthChar}{?}
\settoheight{\CodeHeightChar}{?}
% Necessary for hanging indent
\newlength{\DoxyCodeWidth}
\newcommand\DoxyCodeLine[1]{
\ifthenelse{\equal{\detokenize{#1}}{}}
{
\vspace*{\baselineskip}
}
{
\hangpara{\DoxyCodeWidth}{1}{#1}\par
}
}
\newcommand\NiceSpace{%
\discretionary{}{\kern\fontdimen2\font}{\kern\fontdimen2\font}%
}
% Used by @code ... @endcode
\newenvironment{DoxyCode}[1]{%
\par%
\scriptsize%
\normalfont\ttfamily%
\rightskip0pt plus 1fil%
\settowidth{\DoxyCodeWidth}{000000}%
\settowidth{\CodeWidthChar}{?}%
\settoheight{\CodeHeightChar}{?}%
\setlength{\parskip}{0ex plus 0ex minus 0ex}%
\ifthenelse{\equal{#1}{0}}
{
{\lccode`~32 \lowercase{\global\let~}\NiceSpace}\obeyspaces%
}
{
{\lccode`~32 \lowercase{\global\let~}}\obeyspaces%
}
}{%
\normalfont%
\normalsize%
\settowidth{\CodeWidthChar}{?}%
\settoheight{\CodeHeightChar}{?}%
}
% Redefining not defined characters, i.e. "Replacement Character" in tex output.
\def\ucr{\adjustbox{width=\CodeWidthChar,height=\CodeHeightChar}{\stackinset{c}{}{c}{-.2pt}{%
\textcolor{white}{\sffamily\bfseries\small ?}}{%
\rotatebox{45}{$\blacksquare$}}}}
% Used by @example, @include, @includelineno and @dontinclude
\newenvironment{DoxyCodeInclude}[1]{%
\DoxyCode{#1}%
}{%
\endDoxyCode%
}
% Used by @verbatim ... @endverbatim
\newenvironment{DoxyVerb}{%
\par%
\footnotesize%
\verbatim%
}{%
\endverbatim%
\normalsize%
}
% Used by @verbinclude
\newenvironment{DoxyVerbInclude}{%
\DoxyVerb%
}{%
\endDoxyVerb%
}
% Used by numbered lists (using '-#' or <ol> ... </ol>)
\setlistdepth{12}
\newlist{DoxyEnumerate}{enumerate}{12}
\setlist[DoxyEnumerate,1]{label=\arabic*.}
\setlist[DoxyEnumerate,2]{label=(\enumalphalphcnt*)}
\setlist[DoxyEnumerate,3]{label=\roman*.}
\setlist[DoxyEnumerate,4]{label=\enumAlphAlphcnt*.}
\setlist[DoxyEnumerate,5]{label=\arabic*.}
\setlist[DoxyEnumerate,6]{label=(\enumalphalphcnt*)}
\setlist[DoxyEnumerate,7]{label=\roman*.}
\setlist[DoxyEnumerate,8]{label=\enumAlphAlphcnt*.}
\setlist[DoxyEnumerate,9]{label=\arabic*.}
\setlist[DoxyEnumerate,10]{label=(\enumalphalphcnt*)}
\setlist[DoxyEnumerate,11]{label=\roman*.}
\setlist[DoxyEnumerate,12]{label=\enumAlphAlphcnt*.}
% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
\setlistdepth{12}
\newlist{DoxyItemize}{itemize}{12}
\setlist[DoxyItemize]{label=\textperiodcentered}
\setlist[DoxyItemize,1]{label=\textbullet}
\setlist[DoxyItemize,2]{label=\normalfont\bfseries \textendash}
\setlist[DoxyItemize,3]{label=\textasteriskcentered}
\setlist[DoxyItemize,4]{label=\textperiodcentered}
% Used by description lists (using <dl> ... </dl>)
\newenvironment{DoxyDescription}{%
\description%
}{%
\enddescription%
}
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
% (only if caption is specified)
\newenvironment{DoxyImage}{%
\begin{figure}[H]%
\centering%
}{%
\end{figure}%
}
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
% (only if no caption is specified)
\newenvironment{DoxyImageNoCaption}{%
\begin{center}%
}{%
\end{center}%
}
% Used by @image
% (only if inline is specified)
\newenvironment{DoxyInlineImage}{%
}{%
}
% Used by @attention
\newenvironment{DoxyAttention}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @author and @authors
\newenvironment{DoxyAuthor}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @date
\newenvironment{DoxyDate}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @invariant
\newenvironment{DoxyInvariant}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @note
\newenvironment{DoxyNote}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @post
\newenvironment{DoxyPostcond}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @pre
\newenvironment{DoxyPrecond}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @copyright
\newenvironment{DoxyCopyright}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @remark
\newenvironment{DoxyRemark}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @return and @returns
\newenvironment{DoxyReturn}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @since
\newenvironment{DoxySince}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @see
\newenvironment{DoxySeeAlso}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @version
\newenvironment{DoxyVersion}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @warning
\newenvironment{DoxyWarning}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @par and @paragraph
\newenvironment{DoxyParagraph}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by parameter lists
\newenvironment{DoxyParams}[2][]{%
\tabulinesep=1mm%
\par%
\ifthenelse{\equal{#1}{}}%
{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description
{\ifthenelse{\equal{#1}{1}}%
{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc
{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc
}
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu*}%
\vspace{6pt}%
}
% Used for fields of simple structs
\newenvironment{DoxyFields}[1]{%
\tabulinesep=1mm%
\par%
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}%
\multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu*}%
\vspace{6pt}%
}
% Used for fields simple class style enums
\newenvironment{DoxyEnumFields}[1]{%
\tabulinesep=1mm%
\par%
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu*}%
\vspace{6pt}%
}
% Used for parameters within a detailed function description
\newenvironment{DoxyParamCaption}{%
\renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}%
}{%
}
% Used by return value lists
\newenvironment{DoxyRetVals}[1]{%
\tabulinesep=1mm%
\par%
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu*}%
\vspace{6pt}%
}
% Used by exception lists
\newenvironment{DoxyExceptions}[1]{%
\tabulinesep=1mm%
\par%
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu*}%
\vspace{6pt}%
}
% Used by template parameter lists
\newenvironment{DoxyTemplParams}[1]{%
\tabulinesep=1mm%
\par%
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu*}%
\vspace{6pt}%
}
% Used for member lists
\newenvironment{DoxyCompactItemize}{%
\begin{itemize}%
\setlength{\itemsep}{-3pt}%
\setlength{\parsep}{0pt}%
\setlength{\topsep}{0pt}%
\setlength{\partopsep}{0pt}%
}{%
\end{itemize}%
}
% Used for member descriptions
\newenvironment{DoxyCompactList}{%
\begin{list}{}{%
\setlength{\leftmargin}{0.5cm}%
\setlength{\itemsep}{0pt}%
\setlength{\parsep}{0pt}%
\setlength{\topsep}{0pt}%
\renewcommand{\makelabel}{\hfill}%
}%
}{%
\end{list}%
}
% Used for reference lists (@bug, @deprecated, @todo, etc.)
\newenvironment{DoxyRefList}{%
\begin{list}{}{%
\setlength{\labelwidth}{10pt}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
\renewcommand{\makelabel}{\xreflabel}%
}%
}{%
\end{list}%
}
% Used by @bug, @deprecated, @todo, etc.
\newenvironment{DoxyRefDesc}[1]{%
\begin{list}{}{%
\renewcommand\makelabel[1]{\textbf{##1}}%
\settowidth\labelwidth{\makelabel{#1}}%
\setlength\leftmargin{\labelwidth+\labelsep}%
}%
}{%
\end{list}%
}
% Used by parameter lists and simple sections
\newenvironment{Desc}
{\begin{list}{}{%
\settowidth{\labelwidth}{20pt}%
\setlength{\parsep}{0pt}%
\setlength{\itemsep}{0pt}%
\setlength{\leftmargin}{\labelwidth+\labelsep}%
\renewcommand{\makelabel}{\entrylabel}%
}
}{%
\end{list}%
}
% Used by tables
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
\newenvironment{TabularC}[1]%
{\tabulinesep=1mm
\begin{longtabu*}spread 0pt [c]{*#1{|X[-1]}|}}%
{\end{longtabu*}\par}%
\newenvironment{TabularNC}[1]%
{\begin{tabu}spread 0pt [l]{*#1{|X[-1]}|}}%
{\end{tabu}\par}%
% Used for member group headers
\newenvironment{Indent}{%
\begin{list}{}{%
\setlength{\leftmargin}{0.5cm}%
}%
\item[]\ignorespaces%
}{%
\unskip%
\end{list}%
}
% Used when hyperlinks are turned on
\newcommand{\doxylink}[2]{%
\mbox{\hyperlink{#1}{#2}}%
}
% Used when hyperlinks are turned on
% Third argument is the SectionType, see the doxygen internal
% documentation for the values (relevant: Page ... Subsubsection).
\newcommand{\doxysectlink}[3]{%
\mbox{\hyperlink{#1}{#2}}%
}
% Used when hyperlinks are turned off
\newcommand{\doxyref}[3]{%
\textbf{#1} (\textnormal{#2}\,\pageref{#3})%
}
% Used when hyperlinks are turned off
% Fourth argument is the SectionType, see the doxygen internal
% documentation for the values (relevant: Page ... Subsubsection).
\newcommand{\doxysectref}[4]{%
\textbf{#1} (\textnormal{#2}\,\pageref{#3})%
}
% Used to link to a table when hyperlinks are turned on
\newcommand{\doxytablelink}[2]{%
\ref{#1}%
}
% Used to link to a table when hyperlinks are turned off
\newcommand{\doxytableref}[3]{%
\ref{#3}%
}
% Used by @addindex
\newcommand{\lcurly}{\{}
\newcommand{\rcurly}{\}}
% Colors used for syntax highlighting
\definecolor{comment}{rgb}{0.5,0.0,0.0}
\definecolor{keyword}{rgb}{0.0,0.5,0.0}
\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
\definecolor{charliteral}{rgb}{0.0,0.5,0.5}
\definecolor{xmlcdata}{rgb}{0.0,0.0,0.0}
\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
% Color used for table heading
\newcommand{\tableheadbgcolor}{lightgray}%
% Version of hypertarget with correct landing location
\newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}}
% possibility to have sections etc. be within the margins
% unfortunately had to copy part of book.cls and add \raggedright
\makeatletter
\newcounter{subsubsubsection}[subsubsection]
\newcounter{subsubsubsubsection}[subsubsubsection]
\newcounter{subsubsubsubsubsection}[subsubsubsubsection]
\newcounter{subsubsubsubsubsubsection}[subsubsubsubsubsection]
\renewcommand{\thesubsubsubsection}{\thesubsubsection.\arabic{subsubsubsection}}
\renewcommand{\thesubsubsubsubsection}{\thesubsubsubsection.\arabic{subsubsubsubsection}}
\renewcommand{\thesubsubsubsubsubsection}{\thesubsubsubsubsection.\arabic{subsubsubsubsubsection}}
\renewcommand{\thesubsubsubsubsubsubsection}{\thesubsubsubsubsubsection.\arabic{subsubsubsubsubsubsection}}
\newcommand{\subsubsubsectionmark}[1]{}
\newcommand{\subsubsubsubsectionmark}[1]{}
\newcommand{\subsubsubsubsubsectionmark}[1]{}
\newcommand{\subsubsubsubsubsubsectionmark}[1]{}
\def\toclevel@subsubsubsection{4}
\def\toclevel@subsubsubsubsection{5}
\def\toclevel@subsubsubsubsubsection{6}
\def\toclevel@subsubsubsubsubsubsection{7}
\def\toclevel@paragraph{8}
\def\toclevel@subparagraph{9}
\newcommand\doxysection{\@startsection {section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\raggedright\normalfont\Large\bfseries}}
\newcommand\doxysubsection{\@startsection{subsection}{2}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\raggedright\normalfont\large\bfseries}}
\newcommand\doxysubsubsection{\@startsection{subsubsection}{3}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\raggedright\normalfont\normalsize\bfseries}}
\newcommand\doxysubsubsubsection{\@startsection{subsubsubsection}{4}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\raggedright\normalfont\normalsize\bfseries}}
\newcommand\doxysubsubsubsubsection{\@startsection{subsubsubsubsection}{5}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\raggedright\normalfont\normalsize\bfseries}}
\newcommand\doxysubsubsubsubsubsection{\@startsection{subsubsubsubsubsection}{6}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\raggedright\normalfont\normalsize\bfseries}}
\newcommand\doxysubsubsubsubsubsubsection{\@startsection{subsubsubsubsubsubsection}{7}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\raggedright\normalfont\normalsize\bfseries}}
\newcommand\doxyparagraph{\@startsection{paragraph}{8}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\raggedright\normalfont\normalsize\bfseries}}
\newcommand\doxysubparagraph{\@startsection{subparagraph}{9}{\parindent}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\raggedright\normalfont\normalsize\bfseries}}
\newcommand\l@subsubsubsection{\@dottedtocline{4}{6.1em}{7.8em}}
\newcommand\l@subsubsubsubsection{\@dottedtocline{5}{6.1em}{9.4em}}
\newcommand\l@subsubsubsubsubsection{\@dottedtocline{6}{6.1em}{11em}}
\newcommand\l@subsubsubsubsubsubsection{\@dottedtocline{7}{6.1em}{12.6em}}
\renewcommand\l@paragraph{\@dottedtocline{8}{6.1em}{14.2em}}
\renewcommand\l@subparagraph{\@dottedtocline{9}{6.1em}{15.8em}}
\makeatother
% the sectsty doesn't look to be maintained but gives, in our case, some warning like:
% LaTeX Warning: Command \underline has changed.
% Check if current package is valid.
% unfortunately had to copy the relevant part
\newcommand*{\doxypartfont} [1]
{\gdef\SS@partnumberfont{\SS@sectid{0}\SS@nopart\SS@makeulinepartchap#1}
\gdef\SS@parttitlefont{\SS@sectid{0}\SS@titlepart\SS@makeulinepartchap#1}}
\newcommand*{\doxychapterfont} [1]
{\gdef\SS@chapnumfont{\SS@sectid{1}\SS@nopart\SS@makeulinepartchap#1}
\gdef\SS@chaptitlefont{\SS@sectid{1}\SS@titlepart\SS@makeulinepartchap#1}}
\newcommand*{\doxysectionfont} [1]
{\gdef\SS@sectfont{\SS@sectid{2}\SS@rr\SS@makeulinesect#1}}
\newcommand*{\doxysubsectionfont} [1]
{\gdef\SS@subsectfont{\SS@sectid{3}\SS@rr\SS@makeulinesect#1}}
\newcommand*{\doxysubsubsectionfont} [1]
{\gdef\SS@subsubsectfont{\SS@sectid{4}\SS@rr\SS@makeulinesect#1}}
\newcommand*{\doxyparagraphfont} [1]
{\gdef\SS@parafont{\SS@sectid{5}\SS@rr\SS@makeulinesect#1}}
\newcommand*{\doxysubparagraphfont} [1]
{\gdef\SS@subparafont{\SS@sectid{6}\SS@rr\SS@makeulinesect#1}}
\newcommand*{\doxyminisecfont} [1]
{\gdef\SS@minisecfont{\SS@sectid{7}\SS@rr\SS@makeulinepartchap#1}}
\newcommand*{\doxyallsectionsfont} [1] {\doxypartfont{#1}%
\doxychapterfont{#1}%
\doxysectionfont{#1}%
\doxysubsectionfont{#1}%
\doxysubsubsectionfont{#1}%
\doxyparagraphfont{#1}%
\doxysubparagraphfont{#1}%
\doxyminisecfont{#1}}%
% Define caption that is also suitable in a table
\makeatletter
\def\doxyfigcaption{%
\H@refstepcounter{figure}%
\@dblarg{\@caption{figure}}}
\makeatother
% Define alpha enumarative names for counters > 26
\makeatletter
\def\enumalphalphcnt#1{\expandafter\@enumalphalphcnt\csname c@#1\endcsname}
\def\@enumalphalphcnt#1{\alphalph{#1}}
\def\enumAlphAlphcnt#1{\expandafter\@enumAlphAlphcnt\csname c@#1\endcsname}
\def\@enumAlphAlphcnt#1{\AlphAlph{#1}}
\makeatother
\AddEnumerateCounter{\enumalphalphcnt}{\@enumalphalphcnt}{aa}
\AddEnumerateCounter{\enumAlphAlphcnt}{\@enumAlphAlphcnt}{AA}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
\doxysection{File List}
Here is a list of all documented files with brief descriptions\+:\begin{DoxyCompactList}
\item\contentsline{section}{\mbox{\hyperlink{crc__algs_8h_source}{crc\+\_\+algs.\+h}} }{\pageref{crc__algs_8h_source}}{}
\item\contentsline{section}{\mbox{\hyperlink{modbus_8h_source}{modbus.\+h}} }{\pageref{modbus_8h_source}}{}
\item\contentsline{section}{\mbox{\hyperlink{rs__message_8h_source}{rs\+\_\+message.\+h}} }{\pageref{rs__message_8h_source}}{}
\item\contentsline{section}{\mbox{\hyperlink{tim__general_8h_source}{tim\+\_\+general.\+h}} }{\pageref{tim__general_8h_source}}{}
\end{DoxyCompactList}

View File

@@ -0,0 +1,456 @@
%%
%% This is file `longtable.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% longtable.dtx (with options: `package')
%%
%% This is a generated file.
%%
%% The source is maintained by the LaTeX Project team and bug
%% reports for it can be opened at http://latex-project.org/bugs.html
%% (but please observe conditions on bug reports sent to that address!)
%%
%% Copyright 1993-2016
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
%% --------------------------------------------------------------------------
%%
%% It may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file may only be distributed together with a copy of the LaTeX
%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
%% without such generated files.
%%
%% The list of all files belonging to the LaTeX `Tools Bundle' is
%% given in the file `manifest.txt'.
%%
%% File: longtable.dtx Copyright (C) 1990-2001 David Carlisle
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
\ProvidesPackage{longtable_doxygen}
[2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen]
\def\LT@err{\PackageError{longtable}}
\def\LT@warn{\PackageWarning{longtable}}
\def\LT@final@warn{%
\AtEndDocument{%
\LT@warn{Table \@width s have changed. Rerun LaTeX.\@gobbletwo}}%
\global\let\LT@final@warn\relax}
\DeclareOption{errorshow}{%
\def\LT@warn{\PackageInfo{longtable}}}
\DeclareOption{pausing}{%
\def\LT@warn#1{%
\LT@err{#1}{This is not really an error}}}
\DeclareOption{set}{}
\DeclareOption{final}{}
\ProcessOptions
\newskip\LTleft \LTleft=\fill
\newskip\LTright \LTright=\fill
\newskip\LTpre \LTpre=\bigskipamount
\newskip\LTpost \LTpost=\bigskipamount
\newcount\LTchunksize \LTchunksize=20
\let\c@LTchunksize\LTchunksize
\newdimen\LTcapwidth \LTcapwidth=4in
\newbox\LT@head
\newbox\LT@firsthead
\newbox\LT@foot
\newbox\LT@lastfoot
\newcount\LT@cols
\newcount\LT@rows
\newcounter{LT@tables}
\newcounter{LT@chunks}[LT@tables]
\ifx\c@table\undefined
\newcounter{table}
\def\fnum@table{\tablename~\thetable}
\fi
\ifx\tablename\undefined
\def\tablename{Table}
\fi
\newtoks\LT@p@ftn
\mathchardef\LT@end@pen=30000
\def\longtable{%
\par
\ifx\multicols\@undefined
\else
\ifnum\col@number>\@ne
\@twocolumntrue
\fi
\fi
\if@twocolumn
\LT@err{longtable not in 1-column mode}\@ehc
\fi
\begingroup
\@ifnextchar[\LT@array{\LT@array[x]}}
\def\LT@array[#1]#2{%
\refstepcounter{table}\stepcounter{LT@tables}%
\if l#1%
\LTleft\z@ \LTright\fill
\else\if r#1%
\LTleft\fill \LTright\z@
\else\if c#1%
\LTleft\fill \LTright\fill
\fi\fi\fi
\let\LT@mcol\multicolumn
\let\LT@@tabarray\@tabarray
\let\LT@@hl\hline
\def\@tabarray{%
\let\hline\LT@@hl
\LT@@tabarray}%
\let\\\LT@tabularcr\let\tabularnewline\\%
\def\newpage{\noalign{\break}}%
\def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}%
\def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}%
\let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption
\@tempdima\ht\strutbox
\let\@endpbox\LT@endpbox
\ifx\extrarowheight\@undefined
\let\@acol\@tabacol
\let\@classz\@tabclassz \let\@classiv\@tabclassiv
\def\@startpbox{\vtop\LT@startpbox}%
\let\@@startpbox\@startpbox
\let\@@endpbox\@endpbox
\let\LT@LL@FM@cr\@tabularcr
\else
\advance\@tempdima\extrarowheight
\col@sep\tabcolsep
\let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr
\fi
\setbox\@arstrutbox\hbox{\vrule
\@height \arraystretch \@tempdima
\@depth \arraystretch \dp \strutbox
\@width \z@}%
\let\@sharp##\let\protect\relax
\begingroup
\@mkpream{#2}%
\xdef\LT@bchunk{%
\global\advance\c@LT@chunks\@ne
\global\LT@rows\z@\setbox\z@\vbox\bgroup
\LT@setprevdepth
\tabskip\LTleft \noexpand\halign to\hsize\bgroup
\tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}%
\endgroup
\expandafter\LT@nofcols\LT@bchunk&\LT@nofcols
\LT@make@row
\m@th\let\par\@empty
\everycr{}\lineskip\z@\baselineskip\z@
\LT@bchunk}
\def\LT@no@pgbk#1[#2]{\penalty #1\@getpen{#2}\ifnum`{=0\fi}}
\def\LT@start{%
\let\LT@start\endgraf
\endgraf\penalty\z@\vskip\LTpre
\dimen@\pagetotal
\advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
\advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
\advance\dimen@ \ht\LT@foot
\dimen@ii\vfuzz
\vfuzz\maxdimen
\setbox\tw@\copy\z@
\setbox\tw@\vsplit\tw@ to \ht\@arstrutbox
\setbox\tw@\vbox{\unvbox\tw@}%
\vfuzz\dimen@ii
\advance\dimen@ \ht
\ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi
\advance\dimen@\dp
\ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi
\advance\dimen@ -\pagegoal
\ifdim \dimen@>\z@\vfil\break\fi
\global\@colroom\@colht
\ifvoid\LT@foot\else
\advance\vsize-\ht\LT@foot
\global\advance\@colroom-\ht\LT@foot
\dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@
\maxdepth\z@
\fi
\ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak
\output{\LT@output}}
\def\endlongtable{%
\crcr
\noalign{%
\let\LT@entry\LT@entry@chop
\xdef\LT@save@row{\LT@save@row}}%
\LT@echunk
\LT@start
\unvbox\z@
\LT@get@widths
\if@filesw
{\let\LT@entry\LT@entry@write\immediate\write\@auxout{%
\gdef\expandafter\noexpand
\csname LT@\romannumeral\c@LT@tables\endcsname
{\LT@save@row}}}%
\fi
\ifx\LT@save@row\LT@@save@row
\else
\LT@warn{Column \@width s have changed\MessageBreak
in table \thetable}%
\LT@final@warn
\fi
\endgraf\penalty -\LT@end@pen
\endgroup
\global\@mparbottom\z@
\pagegoal\vsize
\endgraf\penalty\z@\addvspace\LTpost
\ifvoid\footins\else\insert\footins{}\fi}
\def\LT@nofcols#1&{%
\futurelet\@let@token\LT@n@fcols}
\def\LT@n@fcols{%
\advance\LT@cols\@ne
\ifx\@let@token\LT@nofcols
\expandafter\@gobble
\else
\expandafter\LT@nofcols
\fi}
\def\LT@tabularcr{%
\relax\iffalse{\fi\ifnum0=`}\fi
\@ifstar
{\def\crcr{\LT@crcr\noalign{\nobreak}}\let\cr\crcr
\LT@t@bularcr}%
{\LT@t@bularcr}}
\let\LT@crcr\crcr
\let\LT@setprevdepth\relax
\def\LT@t@bularcr{%
\global\advance\LT@rows\@ne
\ifnum\LT@rows=\LTchunksize
\gdef\LT@setprevdepth{%
\prevdepth\z@\global
\global\let\LT@setprevdepth\relax}%
\expandafter\LT@xtabularcr
\else
\ifnum0=`{}\fi
\expandafter\LT@LL@FM@cr
\fi}
\def\LT@xtabularcr{%
\@ifnextchar[\LT@argtabularcr\LT@ntabularcr}
\def\LT@ntabularcr{%
\ifnum0=`{}\fi
\LT@echunk
\LT@start
\unvbox\z@
\LT@get@widths
\LT@bchunk}
\def\LT@argtabularcr[#1]{%
\ifnum0=`{}\fi
\ifdim #1>\z@
\unskip\@xargarraycr{#1}%
\else
\@yargarraycr{#1}%
\fi
\LT@echunk
\LT@start
\unvbox\z@
\LT@get@widths
\LT@bchunk}
\def\LT@echunk{%
\crcr\LT@save@row\cr\egroup
\global\setbox\@ne\lastbox
\unskip
\egroup}
\def\LT@entry#1#2{%
\ifhmode\@firstofone{&}\fi\omit
\ifnum#1=\c@LT@chunks
\else
\kern#2\relax
\fi}
\def\LT@entry@chop#1#2{%
\noexpand\LT@entry
{\ifnum#1>\c@LT@chunks
1}{0pt%
\else
#1}{#2%
\fi}}
\def\LT@entry@write{%
\noexpand\LT@entry^^J%
\@spaces}
\def\LT@kill{%
\LT@echunk
\LT@get@widths
\expandafter\LT@rebox\LT@bchunk}
\def\LT@rebox#1\bgroup{%
#1\bgroup
\unvbox\z@
\unskip
\setbox\z@\lastbox}
\def\LT@blank@row{%
\xdef\LT@save@row{\expandafter\LT@build@blank
\romannumeral\number\LT@cols 001 }}
\def\LT@build@blank#1{%
\if#1m%
\noexpand\LT@entry{1}{0pt}%
\expandafter\LT@build@blank
\fi}
\def\LT@make@row{%
\global\expandafter\let\expandafter\LT@save@row
\csname LT@\romannumeral\c@LT@tables\endcsname
\ifx\LT@save@row\relax
\LT@blank@row
\else
{\let\LT@entry\or
\if!%
\ifcase\expandafter\expandafter\expandafter\LT@cols
\expandafter\@gobble\LT@save@row
\or
\else
\relax
\fi
!%
\else
\aftergroup\LT@blank@row
\fi}%
\fi}
\let\setlongtables\relax
\def\LT@get@widths{%
\setbox\tw@\hbox{%
\unhbox\@ne
\let\LT@old@row\LT@save@row
\global\let\LT@save@row\@empty
\count@\LT@cols
\loop
\unskip
\setbox\tw@\lastbox
\ifhbox\tw@
\LT@def@row
\advance\count@\m@ne
\repeat}%
\ifx\LT@@save@row\@undefined
\let\LT@@save@row\LT@save@row
\fi}
\def\LT@def@row{%
\let\LT@entry\or
\edef\@tempa{%
\ifcase\expandafter\count@\LT@old@row
\else
{1}{0pt}%
\fi}%
\let\LT@entry\relax
\xdef\LT@save@row{%
\LT@entry
\expandafter\LT@max@sel\@tempa
\LT@save@row}}
\def\LT@max@sel#1#2{%
{\ifdim#2=\wd\tw@
#1%
\else
\number\c@LT@chunks
\fi}%
{\the\wd\tw@}}
\def\LT@hline{%
\noalign{\ifnum0=`}\fi
\penalty\@M
\futurelet\@let@token\LT@@hline}
\def\LT@@hline{%
\ifx\@let@token\hline
\global\let\@gtempa\@gobble
\gdef\LT@sep{\penalty-\@medpenalty\vskip\doublerulesep}%
\else
\global\let\@gtempa\@empty
\gdef\LT@sep{\penalty-\@lowpenalty\vskip-\arrayrulewidth}%
\fi
\ifnum0=`{\fi}%
\multispan\LT@cols
\unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
\noalign{\LT@sep}%
\multispan\LT@cols
\unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
\noalign{\penalty\@M}%
\@gtempa}
\def\LT@caption{%
\noalign\bgroup
\@ifnextchar[{\egroup\LT@c@ption\@firstofone}\LT@capti@n}
\def\LT@c@ption#1[#2]#3{%
\LT@makecaption#1\fnum@table{#3}%
\def\@tempa{#2}%
\ifx\@tempa\@empty\else
{\let\\\space
\addcontentsline{lot}{table}{\protect\numberline{\thetable}{#2}}}%
\fi}
\def\LT@capti@n{%
\@ifstar
{\egroup\LT@c@ption\@gobble[]}%
{\egroup\@xdblarg{\LT@c@ption\@firstofone}}}
\def\LT@makecaption#1#2#3{%
\LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{%
\sbox\@tempboxa{#1{#2: }#3}%
\ifdim\wd\@tempboxa>\hsize
#1{#2: }#3%
\else
\hbox to\hsize{\hfil\box\@tempboxa\hfil}%
\fi
\endgraf\vskip\baselineskip}%
\hss}}}
\def\LT@output{%
\ifnum\outputpenalty <-\@Mi
\ifnum\outputpenalty > -\LT@end@pen
\LT@err{floats and marginpars not allowed in a longtable}\@ehc
\else
\setbox\z@\vbox{\unvbox\@cclv}%
\ifdim \ht\LT@lastfoot>\ht\LT@foot
\dimen@\pagegoal
\advance\dimen@-\ht\LT@lastfoot
\ifdim\dimen@<\ht\z@
\setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}%
\@makecol
\@outputpage
\setbox\z@\vbox{\box\LT@head}%
\fi
\fi
\global\@colroom\@colht
\global\vsize\@colht
\vbox
{\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi}%
\fi
\else
\setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}%
\@makecol
\@outputpage
\global\vsize\@colroom
\copy\LT@head\nobreak
\fi}
\def\LT@end@hd@ft#1{%
\LT@echunk
\ifx\LT@start\endgraf
\LT@err
{Longtable head or foot not at start of table}%
{Increase LTchunksize}%
\fi
\setbox#1\box\z@
\LT@get@widths
\LT@bchunk}
\def\endfirsthead{\LT@end@hd@ft\LT@firsthead}
\def\endhead{\LT@end@hd@ft\LT@head}
\def\endfoot{\LT@end@hd@ft\LT@foot}
\def\endlastfoot{\LT@end@hd@ft\LT@lastfoot}
\def\LT@startpbox#1{%
\bgroup
\let\@footnotetext\LT@p@ftntext
\setlength\hsize{#1}%
\@arrayparboxrestore
\vrule \@height \ht\@arstrutbox \@width \z@}
\def\LT@endpbox{%
\@finalstrut\@arstrutbox
\egroup
\the\LT@p@ftn
\global\LT@p@ftn{}%
\hfil}
%% added \long to prevent:
% LaTeX Warning: Command \LT@p@ftntext has changed.
%
% from the original repository (https://github.com/latex3/latex2e/blob/develop/required/tools/longtable.dtx):
% \changes{v4.15}{2021/03/28}
% {make long for gh/364}
% Inside the `p' column, just save up the footnote text in a token
% register.
\long\def\LT@p@ftntext#1{%
\edef\@tempa{\the\LT@p@ftn\noexpand\footnotetext[\the\c@footnote]}%
\global\LT@p@ftn\expandafter{\@tempa{#1}}}%
\@namedef{ver@longtable.sty}{2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen}
\endinput
%%
%% End of file `longtable.sty'.

View File

@@ -0,0 +1,172 @@
\doxysection{modbus.\+h}
\hypertarget{modbus_8h_source}{}\label{modbus_8h_source}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{/********************************MODBUS*************************************}}
\DoxyCodeLine{00002\ \textcolor{comment}{Данный\ файл\ содержит\ объявления\ базовых\ функции\ и\ дефайны\ для\ реализации\ }}
\DoxyCodeLine{00003\ \textcolor{comment}{протоколов\ \ \ \ \ \ \ \ \ \ }}
\DoxyCodeLine{00004\ \textcolor{comment}{***************************************************************************/}}
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#ifndef\ \_\_MODBUS\_H\_}}
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#define\ \_\_MODBUS\_H\_}}
\DoxyCodeLine{00007\ }
\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#include\ "{}main.h"{}}}
\DoxyCodeLine{00009\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/DEFINES\ FOR\ MODBUS\ SETTING-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#define\ MB\_UART\_NUMB\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 2\ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{//\ number\ of\ used\ uart}}
\DoxyCodeLine{00011\ \textcolor{comment}{/*\ accord\ to\ this\ define\ sets\ define\ USED\_MB\_UART\ =\ USARTx\ */}}
\DoxyCodeLine{00012\ \textcolor{preprocessor}{\#define\ MB\_TIM\_NUMB\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 7\ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{//\ number\ of\ used\ uart}}
\DoxyCodeLine{00013\ \textcolor{comment}{/*\ accord\ to\ this\ define\ sets\ define\ USED\_MB\_TIM\ =\ TIMx\ */}}
\DoxyCodeLine{00014\ }
\DoxyCodeLine{00015\ }
\DoxyCodeLine{00016\ \textcolor{preprocessor}{\#define\ COILS\_NUMB\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 16\ \ \ \ \ \ }\textcolor{comment}{//\ minimum\ 16}}
\DoxyCodeLine{00017\ \textcolor{preprocessor}{\#define\ INPUT\_REGS\_NUMB\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 100}}
\DoxyCodeLine{00018\ \textcolor{preprocessor}{\#define\ HOLD\_REGS\_NUMB\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 100\ }}
\DoxyCodeLine{00019\ \textcolor{comment}{/*\ defines\ for\ modbus\ behaviour\ */}}
\DoxyCodeLine{00020\ \textcolor{preprocessor}{\#define\ MB\_MAX\_TIMEOUT\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 5000\ \ \ \ }\textcolor{comment}{//\ is\ ms}}
\DoxyCodeLine{00021\ \textcolor{preprocessor}{\#define\ RX\_FIRST\_PART\_IND\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 6\ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{//\ up\ to\ NUMB\ of\ bytes\ if\ its\ there,\ or\ up\ to\ first\ byte\ CRC}}
\DoxyCodeLine{00022\ \textcolor{comment}{//\ custom\ define\ for\ size\ of\ receive\ message\ }}
\DoxyCodeLine{00023\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{00024\ }
\DoxyCodeLine{00025\ }
\DoxyCodeLine{00028\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/DEFINES\ FOR\ STRUCTURE-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{00029\ \textcolor{comment}{/*\ defines\ for\ structure\ of\ modbus\ message\ */}}
\DoxyCodeLine{00030\ \textcolor{preprocessor}{\#define\ DEVICE\_ID\_SIZE\ \ \ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{//\ size\ of\ (MbAddr)}}
\DoxyCodeLine{00031\ \textcolor{preprocessor}{\#define\ FUNC\_CODE\_SIZE\ \ \ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{//\ size\ of\ (Func\_Code)}}
\DoxyCodeLine{00032\ \textcolor{preprocessor}{\#define\ DATA\_SIZE\_SIZE\ \ \ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{//\ size\ of\ (ByteCnt)}}
\DoxyCodeLine{00033\ \textcolor{preprocessor}{\#define\ ADDRESS\_SIZE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 2\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{//\ size\ of\ (Qnt)}}
\DoxyCodeLine{00034\ \textcolor{preprocessor}{\#define\ NUMBorVAL\_SIZE\ \ \ \ \ \ \ \ \ \ 2\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{//\ size\ of\ (Qnt)}}
\DoxyCodeLine{00035\ \textcolor{preprocessor}{\#define\ DATA\_MAX\_SIZE\ \ \ \ \ \ \ \ \ \ \ 32\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{//\ maximum\ number\ of\ data:\ DWORD\ (NOT\ MESSAGE\ SIZE)}}
\DoxyCodeLine{00036\ \textcolor{preprocessor}{\#define\ CRC\_SIZE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 2\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{//\ size\ of\ (MB\_CRC)\ in\ bytes}}
\DoxyCodeLine{00037\ }
\DoxyCodeLine{00038\ \textcolor{preprocessor}{\#define\ ERR\_VALUES\_START\ \ \ \ \ \ \ \ 0x80U\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{//\ first\ number\ of\ (Except\_Code)}}
\DoxyCodeLine{00039\ }
\DoxyCodeLine{00040\ \textcolor{comment}{/*\ size\ of\ info\ */}}
\DoxyCodeLine{00041\ \textcolor{preprocessor}{\#define\ INFO\_SIZE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ DEVICE\_ID\_SIZE+FUNC\_CODE\_SIZE+DATA\_SIZE\_SIZE+ADDRESS\_SIZE+NUMBorVAL\_SIZE}}
\DoxyCodeLine{00042\ }
\DoxyCodeLine{00043\ \textcolor{comment}{/*\ size\ of\ buffer:\ max\ size\ of\ whole\ message\ */}}
\DoxyCodeLine{00044\ \textcolor{preprocessor}{\#define\ MSG\_SIZE\_MAX\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (DATA\_MAX\_SIZE+INFO\_SIZE+CRC\_SIZE)\ }\textcolor{comment}{//\ max\ possible\ size\ of\ message}}
\DoxyCodeLine{00045\ }
\DoxyCodeLine{00046\ \textcolor{preprocessor}{\#define\ Message\_Data(\_msg\_,\ \_ind\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_msg\_-\/>DATA[\_ind\_].DATA}}
\DoxyCodeLine{00047\ \textcolor{preprocessor}{\#define\ Message\_Data\_Byte(\_msg\_,\ \_ind\_,\ \_byte\_)\ \ \ \ \ \_msg\_-\/>DATA[\_ind\_].\_byte\_}}
\DoxyCodeLine{00048\ }
\DoxyCodeLine{00049\ \textcolor{comment}{//\ choose\ certain\ coil}}
\DoxyCodeLine{00050\ \textcolor{preprocessor}{\#define\ Set\_Coils\_Origin(\_coils\_,\ \_source\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ uint16\_t\ *(\_coils\_)\ =\ (uint16\_t\ *)(\&(\_source\_))}}
\DoxyCodeLine{00051\ \textcolor{preprocessor}{\#define\ Set\_Hold\_Regs\_Origin(\_hregs\_,\ \_source\_)\ \ \ \ \ \ \ \ \ uint16\_t\ *(\_hregs\_)\ =\ (uint16\_t\ *)(\&(\_source\_))}}
\DoxyCodeLine{00052\ \textcolor{comment}{/*\ Structure\ for\ modbus\ messsage\ */}}
\DoxyCodeLine{00053\ }
\DoxyCodeLine{00054\ }
\DoxyCodeLine{00055\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{enum}\ \textcolor{comment}{//RS\_FunctonTypeDef}}
\DoxyCodeLine{00056\ \{}
\DoxyCodeLine{00057\ \ \ \ \ \textcolor{comment}{//\ reading}}
\DoxyCodeLine{00058\ \ \ \ \ MB\_R\_COILS\ =\ \ \ \ \ \ \ \ \ \ \ \ 0x01,}
\DoxyCodeLine{00059\ \ \ \ \ MB\_R\_DISC\_IN\ =\ \ \ \ \ \ 0x02,}
\DoxyCodeLine{00060\ \ \ \ \ MB\_R\_IN\_REGS\ =\ \ \ \ \ \ 0x03,}
\DoxyCodeLine{00061\ \ \ \ \ MB\_R\_HOLD\_REGS\ =\ \ \ \ 0x04,}
\DoxyCodeLine{00062\ \ \ \ \ }
\DoxyCodeLine{00063\ \ \ \ \ \textcolor{comment}{//\ writting}}
\DoxyCodeLine{00064\ \ \ \ \ MB\_W\_COIL\ =\ \ \ \ \ \ \ \ \ \ \ \ \ 0x05,}
\DoxyCodeLine{00065\ \ \ \ \ MB\_W\_HOLD\_REG\ =\ \ \ \ \ 0x06,}
\DoxyCodeLine{00066\ \ \ \ \ MB\_W\_COILS\ =\ \ \ \ \ \ \ \ \ \ \ \ 0x0F,}
\DoxyCodeLine{00067\ \ \ \ \ MB\_W\_HOLD\_REGS\ =\ \ \ \ 0x10,}
\DoxyCodeLine{00068\ \}RS\_FunctonTypeDef;}
\DoxyCodeLine{00069\ }
\DoxyCodeLine{00070\ }
\DoxyCodeLine{00071\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ \ }\textcolor{comment}{//\ RS\_MsgTypeDef}}
\DoxyCodeLine{00072\ \{}
\DoxyCodeLine{00073\ \ \ \ \ uint8\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ MbAddr;}
\DoxyCodeLine{00074\ \ \ \ \ RS\_FunctonTypeDef\ \ \ Func\_Code;}
\DoxyCodeLine{00075\ \ \ \ \ uint8\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Except\_Code;}
\DoxyCodeLine{00076\ \ \ \ \ uint16\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Addr;}
\DoxyCodeLine{00077\ \ \ \ \ uint16\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Qnt;}
\DoxyCodeLine{00078\ }
\DoxyCodeLine{00079\ \ \ \ \ uint8\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ByteCnt;}
\DoxyCodeLine{00080\ \ \ \ \ uint16\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ DATA[DATA\_MAX\_SIZE];}
\DoxyCodeLine{00081\ \ \ \ \ }
\DoxyCodeLine{00082\ \ \ \ \ uint16\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ MB\_CRC;}
\DoxyCodeLine{00083\ \}\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}};}
\DoxyCodeLine{00084\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{00085\ }
\DoxyCodeLine{00086\ }
\DoxyCodeLine{00088\ }
\DoxyCodeLine{00089\ }
\DoxyCodeLine{00090\ \textcolor{preprocessor}{\#define\ write16\_to\_8(\_16bit\_,\ \_2\_8bit\_)}}
\DoxyCodeLine{00091\ }
\DoxyCodeLine{00092\ }
\DoxyCodeLine{00093\ }
\DoxyCodeLine{00094\ }
\DoxyCodeLine{00095\ }
\DoxyCodeLine{00098\ }
\DoxyCodeLine{00104\ uint8\_t\ Modbus\_Command\_1(\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *modbus\_msg);}
\DoxyCodeLine{00111\ uint8\_t\ Modbus\_Command\_3(\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *modbus\_msg);}
\DoxyCodeLine{00118\ uint8\_t\ Modbus\_Command\_5(\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *modbus\_msg);}
\DoxyCodeLine{00125\ uint8\_t\ Modbus\_Command\_15(\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *modbus\_msg);}
\DoxyCodeLine{00126\ }
\DoxyCodeLine{00128\ }
\DoxyCodeLine{00129\ }
\DoxyCodeLine{00132\ }
\DoxyCodeLine{00133\ \textcolor{comment}{/*\ set\ USART\_TypeDef\ for\ choosen\ numb\ of\ usart\ */}}
\DoxyCodeLine{00134\ \textcolor{preprocessor}{\#if\ (MB\_UART\_NUMB\ ==\ 1)\ }}
\DoxyCodeLine{00135\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_UART\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ USART1\ }}
\DoxyCodeLine{00136\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_USART1}}
\DoxyCodeLine{00137\ \textcolor{preprocessor}{\#elif\ (MB\_UART\_NUMB\ ==\ 2)}}
\DoxyCodeLine{00138\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_UART\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ USART2\ }}
\DoxyCodeLine{00139\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_USART2}}
\DoxyCodeLine{00140\ \textcolor{preprocessor}{\#elif\ (MB\_UART\_NUMB\ ==\ 3)}}
\DoxyCodeLine{00141\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_UART\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ USART3\ }}
\DoxyCodeLine{00142\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_USART3}}
\DoxyCodeLine{00143\ \textcolor{preprocessor}{\#elif\ (MB\_UART\_NUMB\ ==\ 4)}}
\DoxyCodeLine{00144\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_UART\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ UART4\ }}
\DoxyCodeLine{00145\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_UART4}}
\DoxyCodeLine{00146\ \textcolor{preprocessor}{\#elif\ (MB\_UART\_NUMB\ ==\ 5)}}
\DoxyCodeLine{00147\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_UART\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ UART5}}
\DoxyCodeLine{00148\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_UART6}}
\DoxyCodeLine{00149\ \textcolor{preprocessor}{\#elif\ (MB\_UART\_NUMB\ ==\ 6)}}
\DoxyCodeLine{00150\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_UART\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ USART6\ }}
\DoxyCodeLine{00151\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_USART6}}
\DoxyCodeLine{00152\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00153\ }
\DoxyCodeLine{00154\ \textcolor{preprocessor}{\#if\ (MB\_TIM\_NUMB\ ==\ 1)\ }}
\DoxyCodeLine{00155\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_TIM\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TIM1\ }}
\DoxyCodeLine{00156\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_TIM1}}
\DoxyCodeLine{00157\ \textcolor{preprocessor}{\#elif\ (MB\_TIM\_NUMB\ ==\ 2)}}
\DoxyCodeLine{00158\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_TIM\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TIM2\ }}
\DoxyCodeLine{00159\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_TIM2}}
\DoxyCodeLine{00160\ \textcolor{preprocessor}{\#elif\ (MB\_TIM\_NUMB\ ==\ 3)}}
\DoxyCodeLine{00161\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_TIM\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TIM3\ }}
\DoxyCodeLine{00162\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_TIM3}}
\DoxyCodeLine{00163\ \textcolor{preprocessor}{\#elif\ (MB\_TIM\_NUMB\ ==\ 4)}}
\DoxyCodeLine{00164\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_TIM\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TIM4\ }}
\DoxyCodeLine{00165\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_TIM4}}
\DoxyCodeLine{00166\ \textcolor{preprocessor}{\#elif\ (MB\_TIM\_NUMB\ ==\ 5)}}
\DoxyCodeLine{00167\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_TIM\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TIM5}}
\DoxyCodeLine{00168\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_TIM5}}
\DoxyCodeLine{00169\ \textcolor{preprocessor}{\#elif\ (MB\_TIM\_NUMB\ ==\ 6)}}
\DoxyCodeLine{00170\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_TIM\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TIM6\ }}
\DoxyCodeLine{00171\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_TIM6}}
\DoxyCodeLine{00172\ \textcolor{preprocessor}{\#elif\ (MB\_TIM\_NUMB\ ==\ 7)}}
\DoxyCodeLine{00173\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_TIM\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TIM7\ }}
\DoxyCodeLine{00174\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_TIM7}}
\DoxyCodeLine{00175\ \textcolor{preprocessor}{\#elif\ (MB\_TIM\_NUMB\ ==\ 8)}}
\DoxyCodeLine{00176\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_TIM\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TIM8}}
\DoxyCodeLine{00177\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_TIM8\ }}
\DoxyCodeLine{00178\ \textcolor{preprocessor}{\#elif\ (MB\_TIM\_NUMB\ ==\ 9)}}
\DoxyCodeLine{00179\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_TIM\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TIM9\ }}
\DoxyCodeLine{00180\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_TIM9}}
\DoxyCodeLine{00181\ \textcolor{preprocessor}{\#elif\ (MB\_TIM\_NUMB\ ==\ 10)}}
\DoxyCodeLine{00182\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_TIM\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TIM10\ }}
\DoxyCodeLine{00183\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_TIM10}}
\DoxyCodeLine{00184\ \textcolor{preprocessor}{\#elif\ (MB\_TIM\_NUMB\ ==\ 11)}}
\DoxyCodeLine{00185\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_TIM\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TIM11}}
\DoxyCodeLine{00186\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_TIM11}}
\DoxyCodeLine{00187\ \textcolor{preprocessor}{\#elif\ (MB\_TIM\_NUMB\ ==\ 12)}}
\DoxyCodeLine{00188\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_TIM\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TIM12\ }}
\DoxyCodeLine{00189\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_TIM12}}
\DoxyCodeLine{00190\ \textcolor{preprocessor}{\#elif\ (MB\_TIM\_NUMB\ ==\ 13)}}
\DoxyCodeLine{00191\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_TIM\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TIM13\ }}
\DoxyCodeLine{00192\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_TIM13}}
\DoxyCodeLine{00193\ \textcolor{preprocessor}{\#elif\ (MB\_TIM\_NUMB\ ==\ 14)}}
\DoxyCodeLine{00194\ \textcolor{preprocessor}{\ \ \ \ \#define\ USED\_MODBUS\_TIM\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TIM14\ }}
\DoxyCodeLine{00195\ \textcolor{preprocessor}{\ \ \ \ \#define\ USE\_TIM14}}
\DoxyCodeLine{00196\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00197\ }
\DoxyCodeLine{00198\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\_\_MODBUS\_H\_}}
\end{DoxyCode}

View File

@@ -0,0 +1,233 @@
% Handle batch mode
% to overcome problems with too many open files
\let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage}
\pdfminorversion=7
% Set document class depending on configuration
\documentclass[twoside]{book}
%% moved from doxygen.sty due to workaround for LaTex 2019 version and unmaintained tabu package
\usepackage{ifthen}
\ifx\requestedLaTeXdate\undefined
\usepackage{array}
\else
\usepackage{array}[=2016-10-06]
\fi
%%
% Packages required by doxygen
\makeatletter
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
% suppress package identification of infwarerr as it contains the word "warning"
\let\@@protected@wlog\protected@wlog
\def\protected@wlog#1{\wlog{package info suppressed}}
\RequirePackage{infwarerr}
\let\protected@wlog\@@protected@wlog
\makeatother
\IfFormatAtLeastTF{2016/01/01}{}{\usepackage{fixltx2e}} % for \textsubscript
\IfFormatAtLeastTF{2015/01/01}{\pdfsuppresswarningpagegroup=1}{}
\usepackage{doxygen}
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage{makeidx}
\PassOptionsToPackage{warn}{textcomp}
\usepackage{textcomp}
\usepackage[nointegrals]{wasysym}
\usepackage{ifxetex}
% NLS support packages
% Define default fonts
% Font selection
\usepackage[T1]{fontenc}
% set main and monospaced font
\usepackage[scaled=.90]{helvet}
\usepackage{courier}
\renewcommand{\familydefault}{\sfdefault}
\doxyallsectionsfont{%
\fontseries{bc}\selectfont%
\color{darkgray}%
}
\renewcommand{\DoxyLabelFont}{%
\fontseries{bc}\selectfont%
\color{darkgray}%
}
\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}
% Arguments of doxygenemoji:
% 1) ':<text>:' form of the emoji, already LaTeX-escaped
% 2) file with the name of the emoji without the .png extension
% in case image exist use this otherwise use the ':<text>:' form
\newcommand{\doxygenemoji}[2]{%
\IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}%
}
% Page & text layout
\usepackage{geometry}
\geometry{%
a4paper,%
top=2.5cm,%
bottom=2.5cm,%
left=2.5cm,%
right=2.5cm%
}
\usepackage{changepage}
% Allow a bit of overflow to go unnoticed by other means
\tolerance=750
\hfuzz=15pt
\hbadness=750
\setlength{\emergencystretch}{15pt}
\setlength{\parindent}{0cm}
\newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}}
\newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}}
\doxynormalparskip
% Redefine paragraph/subparagraph environments, using sectsty fonts
\makeatletter
\renewcommand{\paragraph}{%
\@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
\normalfont\normalsize\bfseries\SS@parafont%
}%
}
\renewcommand{\subparagraph}{%
\@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
\normalfont\normalsize\bfseries\SS@subparafont%
}%
}
\makeatother
\makeatletter
\newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@}
\makeatother
% Headers & footers
\usepackage{fancyhdr}
\pagestyle{fancyplain}
\renewcommand{\footrulewidth}{0.4pt}
\fancypagestyle{fancyplain}{
\fancyhf{}
\fancyhead[LE, RO]{\bfseries\thepage}
\fancyhead[LO]{\bfseries\rightmark}
\fancyhead[RE]{\bfseries\leftmark}
\fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
}
\fancypagestyle{plain}{
\fancyhf{}
\fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
\renewcommand{\headrulewidth}{0pt}
}
\pagestyle{fancyplain}
\renewcommand{\chaptermark}[1]{%
\markboth{#1}{}%
}
\renewcommand{\sectionmark}[1]{%
\markright{\thesection\ #1}%
}
% ToC, LoF, LoT, bibliography, and index
% Indices & bibliography
\usepackage{natbib}
\usepackage[titles]{tocloft}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{5}
% creating indexes
\makeindex
\usepackage{newunicodechar}
\makeatletter
\def\doxynewunicodechar#1#2{%
\@tempswafalse
\edef\nuc@tempa{\detokenize{#1}}%
\if\relax\nuc@tempa\relax
\nuc@emptyargerr
\else
\edef\@tempb{\expandafter\@car\nuc@tempa\@nil}%
\nuc@check
\if@tempswa
\@namedef{u8:\nuc@tempa}{#2}%
\fi
\fi
}
\makeatother
\doxynewunicodechar{}{${}^{-}$}% Superscript minus
\doxynewunicodechar{²}{${}^{2}$}% Superscript two
\doxynewunicodechar{³}{${}^{3}$}% Superscript three
% Hyperlinks
% Hyperlinks (required, but should be loaded last)
\ifpdf
\usepackage[pdftex,pagebackref=true]{hyperref}
\else
\ifxetex
\usepackage[pagebackref=true]{hyperref}
\else
\usepackage[ps2pdf,pagebackref=true]{hyperref}
\fi
\fi
\hypersetup{%
colorlinks=true,%
linkcolor=blue,%
citecolor=blue,%
unicode,%
pdftitle={My Project},%
pdfsubject={}%
}
% Custom commands used by the header
% Custom commands
\newcommand{\clearemptydoublepage}{%
\newpage{\pagestyle{empty}\cleardoublepage}%
}
% caption style definition
\usepackage{caption}
\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}
% in page table of contents
\IfFormatAtLeastTF{2023/05/01}{\usepackage[deeplevels]{etoc}}{\usepackage[deeplevels]{etoc_doxygen}}
\etocsettocstyle{\doxytocparskip}{\doxynormalparskip}
\etocsetlevel{subsubsubsection}{4}
\etocsetlevel{subsubsubsubsection}{5}
\etocsetlevel{subsubsubsubsubsection}{6}
\etocsetlevel{subsubsubsubsubsubsection}{7}
\etocsetlevel{paragraph}{8}
\etocsetlevel{subparagraph}{9}
% prevent numbers overlap the titles in toc
\renewcommand{\numberline}[1]{#1~}
% End of preamble, now comes the document contents
%===== C O N T E N T S =====
\begin{document}
\raggedbottom
% Titlepage & ToC
% To avoid duplicate page anchors due to reuse of same numbers for
% the index (be it as roman numbers)
\hypersetup{pageanchor=false,
bookmarksnumbered=true,
pdfencoding=unicode
}
\pagenumbering{alph}
\begin{titlepage}
\vspace*{7cm}
\begin{center}%
{\Large My Project}\\
[1ex]\large 1.\+0 \\
\vspace*{1cm}
{\large Generated by Doxygen 1.10.0}\\
\end{center}
\end{titlepage}
\clearemptydoublepage
\pagenumbering{roman}
\tableofcontents
\clearemptydoublepage
\pagenumbering{arabic}
% re-enable anchors again
\hypersetup{pageanchor=true}
%--- Begin generated contents ---
\chapter{Data Structure Index}
\input{annotated}
\chapter{File Index}
\input{files}
\chapter{Data Structure Documentation}
\input{struct_r_s___handle_type_def}
\input{struct_r_s___msg_type_def}
\input{struct_t_i_m___settings_type_def}
\input{struct_u_a_r_t___settings_type_def}
\chapter{File Documentation}
\input{crc__algs_8h_source}
\input{modbus_8h_source}
\input{rs__message_8h_source}
\input{tim__general_8h_source}
%--- End generated contents ---
% Index
\backmatter
\newpage
\phantomsection
\clearemptydoublepage
\addcontentsline{toc}{chapter}{\indexname}
\printindex
% Required for some languages (in combination with latexdocumentpre from the header)
\end{document}

View File

@@ -0,0 +1,244 @@
\doxysection{rs\+\_\+message.\+h}
\hypertarget{rs__message_8h_source}{}\label{rs__message_8h_source}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_UART\_USER\_H\_}}
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_UART\_USER\_H\_}}
\DoxyCodeLine{00003\ }
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#define\ HAL\_UART\_MODULE\_ENABLED\ \ \ \ \ }\textcolor{comment}{//\ need\ to\ uncomment\ these\ defines\ in\ stm32f4xx\_hal\_conf.h}}
\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#define\ HAL\_USART\_MODULE\_ENABLED\ \ \ \ }\textcolor{comment}{//\ also\ need\ to\ add\ hal\_uart.c\ (source\ code)}}
\DoxyCodeLine{00008\ }
\DoxyCodeLine{00009\ \textcolor{comment}{//\#define\ USE\_USART1}}
\DoxyCodeLine{00010\ \textcolor{comment}{//\#define\ USE\_USART2}}
\DoxyCodeLine{00011\ \textcolor{comment}{//\#define\ USE\_USART3}}
\DoxyCodeLine{00012\ \textcolor{comment}{//\#define\ USE\_UART4}}
\DoxyCodeLine{00013\ \textcolor{comment}{//\#define\ USE\_UART5}}
\DoxyCodeLine{00014\ \textcolor{comment}{//\#define\ USE\_USART6}}
\DoxyCodeLine{00015\ \textcolor{comment}{/*\ note:\ used\ uart\ defines\ in\ modbus.h\ */}}
\DoxyCodeLine{00016\ }
\DoxyCodeLine{00017\ \textcolor{preprocessor}{\#include\ "{}modbus.h"{}}\ }
\DoxyCodeLine{00019\ }
\DoxyCodeLine{00020\ \textcolor{preprocessor}{\#include\ "{}stm32f4xx\_hal.h"{}}}
\DoxyCodeLine{00021\ \textcolor{preprocessor}{\#include\ "{}crc\_algs.h"{}}}
\DoxyCodeLine{00022\ \textcolor{preprocessor}{\#include\ "{}tim\_general.h"{}}}
\DoxyCodeLine{00023\ }
\DoxyCodeLine{00026\ \textcolor{comment}{/*\ Clear\ message-\/uart\ buffer\ */}}
\DoxyCodeLine{00027\ \textcolor{preprocessor}{\#define\ RS\_Clear\_Buff(\_buff\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ for(int\ i=0;\ i<MSG\_SIZE\_MAX;i++)\ \ \ \ \_buff\_[i]\ =\ NULL}}
\DoxyCodeLine{00028\ }
\DoxyCodeLine{00029\ \textcolor{comment}{/*\ Set/Reset\ flags\ */}}
\DoxyCodeLine{00030\ \textcolor{preprocessor}{\#define\ RS\_Set\_Free(\_hRS\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_hRS\_-\/>fRS\_Busy\ =\ 0}}
\DoxyCodeLine{00031\ \textcolor{preprocessor}{\#define\ RS\_Set\_Busy(\_hRS\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_hRS\_-\/>fRS\_Busy\ =\ 1}}
\DoxyCodeLine{00032\ }
\DoxyCodeLine{00033\ \textcolor{preprocessor}{\#define\ RS\_Set\_RX\_Flags(\_hRS\_)\ \ \ \ \ \ \ \ \ \ \_hRS\_-\/>fRX\_Busy\ =\ 1;\ \_hRS\_-\/>fRX\_Done\ =\ 0;\ \_hRS\_-\/>fRX\_Half\ =\ 0}}
\DoxyCodeLine{00034\ \textcolor{preprocessor}{\#define\ RS\_Set\_TX\_Flags(\_hRS\_)\ \ \ \ \ \ \ \ \ \ \_hRS\_-\/>fTX\_Busy\ =\ 1;\ \_hRS\_-\/>fTX\_Done\ =\ 0}}
\DoxyCodeLine{00035\ }
\DoxyCodeLine{00036\ \textcolor{preprocessor}{\#define\ RS\_Reset\_RX\_Flags(\_hRS\_)\ \ \ \ \ \ \ \ \_hRS\_-\/>fRX\_Busy\ =\ 0;\ \_hRS\_-\/>fRX\_Done\ =\ 0;\ \_hRS\_-\/>fRX\_Half\ =\ 0}}
\DoxyCodeLine{00037\ \textcolor{preprocessor}{\#define\ RS\_Reset\_TX\_Flags(\_hRS\_)\ \ \ \ \ \ \ \ \_hRS\_-\/>fTX\_Busy\ =\ 0;\ \_hRS\_-\/>fTX\_Done\ =\ 0}}
\DoxyCodeLine{00038\ }
\DoxyCodeLine{00039\ \textcolor{preprocessor}{\#define\ RS\_Set\_RX\_End\_Flag(\_hRS\_)\ \ \ \ \ \ \ \_hRS\_-\/>fRX\_Done\ =\ 1}}
\DoxyCodeLine{00040\ \textcolor{preprocessor}{\#define\ RS\_Set\_TX\_End\_Flag(\_hRS\_)\ \ \ \ \ \ \ \_hRS\_-\/>fTX\_Done\ =\ 1}}
\DoxyCodeLine{00041\ }
\DoxyCodeLine{00042\ \textcolor{preprocessor}{\#define\ RS\_Set\_RX\_End(\_hRS\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ RS\_Reset\_RX\_Flags(\_hRS\_);\ RS\_Set\_RX\_End\_Flag(\_hRS\_)}}
\DoxyCodeLine{00043\ \textcolor{preprocessor}{\#define\ RS\_Set\_TX\_End(\_hRS\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ RS\_Reset\_TX\_Flags(\_hRS\_);\ RS\_Set\_TX\_End\_Flag(\_hRS\_)}}
\DoxyCodeLine{00044\ }
\DoxyCodeLine{00045\ \textcolor{comment}{/*\ Clear\ all\ RS\ stuff\ */}}
\DoxyCodeLine{00046\ \textcolor{preprocessor}{\#define\ RS\_Clear\_All(\_hRS\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ RS\_Clear\_Buff(\_hRS\_-\/>pBufferPtr);\ \ \ RS\_Reset\_RX\_Flags(\_hRS\_);\ \ \ RS\_Reset\_TX\_Flags(\_hRS\_);}}
\DoxyCodeLine{00047\ }
\DoxyCodeLine{00048\ \textcolor{comment}{//\#define\ MB\_Is\_RX\_Busy(\_hRS\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ ((\_hRS\_-\/>huartx-\/>gState\&HAL\_USART\_STATE\_BUSY\_RX)\ ==\ HAL\_USART\_STATE\_BUSY\_RX)}}
\DoxyCodeLine{00049\ \textcolor{comment}{//\#define\ MB\_Is\_TX\_Busy(\_hRS\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ ((\_hRS\_-\/>huartx-\/>gState\&HAL\_USART\_STATE\_BUSY\_RX)\ ==\ HAL\_USART\_STATE\_BUSY\_TX)}}
\DoxyCodeLine{00050\ \textcolor{preprocessor}{\#define\ RS\_Is\_RX\_Busy(\_hRS\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\_hRS\_-\/>fRX\_Busy\ ==\ 1)}}
\DoxyCodeLine{00051\ \textcolor{preprocessor}{\#define\ RS\_Is\_TX\_Busy(\_hRS\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\_hRS\_-\/>fTX\_Busy\ ==\ 1)}}
\DoxyCodeLine{00052\ }
\DoxyCodeLine{00053\ }
\DoxyCodeLine{00054\ \textcolor{preprocessor}{\#define\ IS\_IRQ\_MASKED()\ \ \ \ \ \ \ \ \ \ \ (\_\_get\_PRIMASK()\ !=\ 0U)}}
\DoxyCodeLine{00055\ \textcolor{preprocessor}{\#define\ IS\_IRQ\_MODE()\ \ \ \ \ \ \ \ \ \ \ \ \ (\_\_get\_IPSR()\ !=\ 0U)}}
\DoxyCodeLine{00056\ \textcolor{preprocessor}{\#define\ IS\_IRQ()\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (IS\_IRQ\_MODE()\ ||\ IS\_IRQ\_MASKED())}}
\DoxyCodeLine{00058\ }
\DoxyCodeLine{00059\ }
\DoxyCodeLine{00060\ }
\DoxyCodeLine{00063\ }
\DoxyCodeLine{00064\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\textcolor{comment}{//\ struct\ with\ settings\ for\ custom\ function}}
\DoxyCodeLine{00065\ \{}
\DoxyCodeLine{00066\ \ \ \ \ UART\_HandleTypeDef\ *huartx;}
\DoxyCodeLine{00067\ \ \ \ \ DMA\_HandleTypeDef\ *hdma\_uartx\_rx;}
\DoxyCodeLine{00068\ \ \ \ \ }
\DoxyCodeLine{00069\ \ \ \ \ GPIO\_TypeDef\ *GPIOx;}
\DoxyCodeLine{00070\ \ \ \ \ uint16\_t\ GPIO\_PIN\_RX;}
\DoxyCodeLine{00071\ \ \ \ \ uint16\_t\ GPIO\_PIN\_TX;}
\DoxyCodeLine{00072\ \ \ \ \ }
\DoxyCodeLine{00073\ \ \ \ \ DMA\_Stream\_TypeDef\ *DMAChannel;\ \textcolor{comment}{//\ DMAChannel\ =\ 0\ if\ doesnt\ need}}
\DoxyCodeLine{00074\ \ \ \ \ uint32\_t\ DMA\_CHANNEL\_X;\ \textcolor{comment}{//\ DMAChannel\ =\ 0\ if\ doesnt\ need}}
\DoxyCodeLine{00075\ \ \ \ \ }
\DoxyCodeLine{00076\ \ \ \ \ }
\DoxyCodeLine{00077\ \}\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\_SettingsTypeDef}};}
\DoxyCodeLine{00078\ }
\DoxyCodeLine{00079\ }
\DoxyCodeLine{00080\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/ENUMERATIONS-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{00081\ \textcolor{comment}{/*\ Enums\ for\ respond\ CMD\ about\ RS\ status*/}}
\DoxyCodeLine{00082\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{enum}\ \ \ \ \ \ \ \ \textcolor{comment}{//\ RS\_StatusTypeDef}}
\DoxyCodeLine{00083\ \{}
\DoxyCodeLine{00084\ \ \ \ \ \textcolor{comment}{/*\ IN-\/CODE\ STATUS\ (start\ from\ 0x01,\ and\ goes\ up)*/}}
\DoxyCodeLine{00085\ \ \ \ \ \textcolor{comment}{/*0x01*/}\ \ \ \ RS\_OK\ =\ 0x01,}
\DoxyCodeLine{00086\ \ \ \ \ \textcolor{comment}{/*0x02*/}\ \ \ \ RS\_ERR,\ }
\DoxyCodeLine{00087\ \ \ \ \ \textcolor{comment}{/*0x03*/}\ \ \ \ RS\_ABORTED,\ }
\DoxyCodeLine{00088\ \ \ \ \ \textcolor{comment}{/*0x04*/}\ \ \ \ RS\_BUSY,}
\DoxyCodeLine{00089\ \ \ \ \ }
\DoxyCodeLine{00090\ \ \ \ \ \textcolor{comment}{/*0x06*/}\ \ \ \ RS\_COLLECT\_MSG\_ERR,}
\DoxyCodeLine{00091\ \ \ \ \ \textcolor{comment}{/*0x07*/}\ \ \ \ RS\_PARSE\_MSG\_ERR,}
\DoxyCodeLine{00092\ \ \ \ \ \textcolor{comment}{/*0x01*/}\ \ \ \ RS\_NOT\_MINE\_DATA,}
\DoxyCodeLine{00093\ \ \ \ \ }
\DoxyCodeLine{00094\ \ \ \ \ \textcolor{comment}{//\ reserved\ values}}
\DoxyCodeLine{00095\ \textcolor{comment}{//\ \ /*0x00*/\ \ \ \ RS\_UNKNOWN\_ERR\ =\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0x00,\ //\ reserved\ for\ case,\ if\ no\ one\ error\ founded\ (nothing\ changed\ response\ from\ zero)}}
\DoxyCodeLine{00096\ \}RS\_StatusTypeDef;}
\DoxyCodeLine{00097\ }
\DoxyCodeLine{00098\ }
\DoxyCodeLine{00099\ \textcolor{comment}{/*\ Enums\ for\ RS\ Modes\ */}}
\DoxyCodeLine{00100\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{enum}\ \ \ \ \textcolor{comment}{//\ RS\_ModeTypeDef}}
\DoxyCodeLine{00101\ \{}
\DoxyCodeLine{00102\ \ \ \ \ SLAVE\_ALWAYS\_WAIT\ =\ \ \ \ \ \ \ \ \ \ \ \ \ 0x01,\ \ \ \ \ \ \ \textcolor{comment}{//\ Slave\ mode\ with\ infinity\ waiting}}
\DoxyCodeLine{00103\ \ \ \ \ SLAVE\_TIMEOUT\_WAIT\ =\ \ \ \ \ \ \ \ \ \ \ \ 0x02,\ \ \ \ \ \ \ \textcolor{comment}{//\ Slave\ mode\ with\ waiting\ with\ timeout}}
\DoxyCodeLine{00104\ \textcolor{comment}{//\ \ MASTER\ =\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0x03,\ \ \ \ \ \ \ //\ Master\ mode}}
\DoxyCodeLine{00105\ \}RS\_ModeTypeDef;}
\DoxyCodeLine{00106\ }
\DoxyCodeLine{00107\ \textcolor{comment}{/*\ Enums\ for\ RS\ UART\ Modes\ */}}
\DoxyCodeLine{00108\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{enum}\ \ \ \ \textcolor{comment}{//\ RS\_ITModeTypeDef}}
\DoxyCodeLine{00109\ \{}
\DoxyCodeLine{00110\ \ \ \ \ BLCK\_MODE\ =\ \ \ \ \ \ \ \ \ 0x00,\ \ \ \ \ \ \ \textcolor{comment}{//\ Blocking\ mode}}
\DoxyCodeLine{00111\ \ \ \ \ IT\_MODE\ =\ \ \ \ \ \ \ \ \ \ \ 0x01,\ \ \ \ \ \ \ \textcolor{comment}{//\ Interrupt\ mode}}
\DoxyCodeLine{00112\ \}RS\_ITModeTypeDef;}
\DoxyCodeLine{00113\ }
\DoxyCodeLine{00114\ \textcolor{comment}{/*\ Enums\ for\ Response\ modes\ */}}
\DoxyCodeLine{00115\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{enum}\ \ \ \ \textcolor{comment}{//\ RS\_RespModeTypeDef}}
\DoxyCodeLine{00116\ \{}
\DoxyCodeLine{00117\ \ \ \ \ NO\_RESPONSE\ =\ \ \ 0x00,\ \ \ \ \ \ \ \textcolor{comment}{//\ No\ response:\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ only\ receive/transmit\ without\ any\ response}}
\DoxyCodeLine{00118\ \ \ \ \ SING\_RESPONSE\ =\ 0x01,\ \ \ \ \ \ \ \textcolor{comment}{//\ Single\ response:\ \ \ \ \ \ \ \ \ respond\ once\ after\ receive\ /\ wait\ for\ one\ respond\ after\ transmit}}
\DoxyCodeLine{00119\ \ \ \ \ CIRC\_RESPONSE\ =\ 0x02,\ \ \ \ \ \ \ \textcolor{comment}{//\ Circular\ response:\ \ \ }}
\DoxyCodeLine{00120\ \textcolor{comment}{//\ IT\_MODE:\ \ \ \ \ Receive\ -\/\ permanent\ receive\ mode\ and\ after\ any\ received\ message\ send\ respond,\ Transmit\ -\/\ same\ as\ in\ Receive,\ but\ it\ start\ with\ Transmit}}
\DoxyCodeLine{00121\ \textcolor{comment}{//\ BLCK\_MODE:\ Transmit\ -\/\ transmit\ until\ response\ is\ taken,\ Receive\ -\/\ unused}}
\DoxyCodeLine{00122\ \}RS\_RespModeTypeDef;}
\DoxyCodeLine{00123\ }
\DoxyCodeLine{00124\ \textcolor{comment}{/*\ Enums\ for\ Abort\ modes\ */}}
\DoxyCodeLine{00125\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{enum}\ \ \ \ \textcolor{comment}{//\ RS\_AbortTypeDef}}
\DoxyCodeLine{00126\ \{}
\DoxyCodeLine{00127\ \ \ \ \ ABORT\_TX\ =\ \ \ \ \ \ \ \ \ \ 0x01,\ \ \ \ \ \ \ \textcolor{comment}{//\ Abort\ transmit}}
\DoxyCodeLine{00128\ \ \ \ \ ABORT\_RX\ =\ \ \ \ \ \ \ \ \ \ 0x02,\ \ \ \ \ \ \ \textcolor{comment}{//\ Abort\ receive}}
\DoxyCodeLine{00129\ \ \ \ \ ABORT\_RX\_TX\ =\ \ \ \ \ \ \ 0x03,\ \ \ \ \ \ \ \textcolor{comment}{//\ Abort\ receive\ and\ transmit}}
\DoxyCodeLine{00130\ \ \ \ \ ABORT\_RS\ =\ \ \ \ \ \ \ \ \ \ 0x04,\ \ \ \ \ \ \ \textcolor{comment}{//\ Abort\ uart\ and\ reset\ RS\ structure}}
\DoxyCodeLine{00131\ \}RS\_AbortTypeDef;}
\DoxyCodeLine{00132\ }
\DoxyCodeLine{00133\ \textcolor{comment}{/*\ Enums\ for\ RX\ Size\ modes\ */}}
\DoxyCodeLine{00134\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{enum}\ \ \ \ \textcolor{comment}{//\ RS\_RXSizeTypeDef}}
\DoxyCodeLine{00135\ \{}
\DoxyCodeLine{00136\ \ \ \ \ RS\_RX\_Size\_Const\ =\ \ \ \ \ \ 0x01,\ \ \ \ \ \ \ \textcolor{comment}{//\ size\ of\ receiving\ message\ is\ constant}}
\DoxyCodeLine{00137\ \ \ \ \ RS\_RX\_Size\_NotConst\ =\ \ \ 0x02,\ \ \ \ \ \ \ \textcolor{comment}{//\ size\ of\ receiving\ message\ isnt\ constant}}
\DoxyCodeLine{00138\ \}RS\_RXSizeTypeDef;}
\DoxyCodeLine{00139\ }
\DoxyCodeLine{00140\ }
\DoxyCodeLine{00141\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/STRUCTURE\ FOR\ HANDLE\ RS-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{00146\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ \ }\textcolor{comment}{//\ RS\_HandleTypeDef}}
\DoxyCodeLine{00147\ \{\ \ \ \ \ \ \ }
\DoxyCodeLine{00148\ \ \ \ \ \textcolor{comment}{/*\ MESSAGE\ */}}
\DoxyCodeLine{00149\ \ \ \ \ uint8\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ID;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ ID\ of\ RS\ "{}channel"{}}}
\DoxyCodeLine{00150\ \ \ \ \ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *pMessagePtr;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ pointer\ to\ message\ struct}}
\DoxyCodeLine{00151\ \ \ \ \ uint8\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *pBufferPtr;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ pointer\ to\ message\ buffer}}
\DoxyCodeLine{00152\ \ \ \ \ uint32\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ RS\_Message\_Size;\ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ size\ of\ whole\ message,\ not\ only\ data}}
\DoxyCodeLine{00153\ \ \ \ \ }
\DoxyCodeLine{00154\ \ \ \ \ \textcolor{comment}{/*\ HANDLERS\ and\ SETTINGS\ */}}
\DoxyCodeLine{00155\ \ \ \ \ UART\_HandleTypeDef\ \ \ \ \ \ \ \ \ \ \ \ \ \ *huartx;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ handler\ for\ used\ uart}}
\DoxyCodeLine{00156\ \ \ \ \ TIM\_HandleTypeDef\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *htimx;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ handler\ for\ used\ tim}}
\DoxyCodeLine{00157\ \ \ \ \ RS\_ModeTypeDef\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ sRS\_Mode;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ slave\ or\ master\ @ref\ RS\_ModeTypeDef}}
\DoxyCodeLine{00158\ \ \ \ \ RS\_ITModeTypeDef\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ sRS\_IT\_Mode;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ 1\ -\/\ IT\ mode,\ \ \ \ \ 0\ -\/\ Blocking\ mode\ }}
\DoxyCodeLine{00159\ \ \ \ \ uint32\_t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ sRS\_Timeout;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ setting:\ timeout\ in\ ms}}
\DoxyCodeLine{00160\ \ \ \ \ RS\_RXSizeTypeDef\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ sRS\_RX\_Size\_Mode;\ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ setting:\ 1\ -\/\ not\ const,\ 0\ -\/\ const\ }}
\DoxyCodeLine{00161\ \ \ \ \ }
\DoxyCodeLine{00162\ \ \ \ \ \textcolor{comment}{/*\ FLAGS\ */}\ \ \ \ \ }
\DoxyCodeLine{00163\ \ \ \ \ \textcolor{comment}{//\ These\ flags\ for\ controling\ receive/transmit}}
\DoxyCodeLine{00164\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fRX\_Half:1;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ 0\ -\/\ receiving\ msg\ before\ ByteCnt,\ \ \ \ 0\ -\/\ receiving\ msg\ after\ ByteCnt}}
\DoxyCodeLine{00165\ \ \ \ \ }
\DoxyCodeLine{00166\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fRS\_Busy:1;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ 1\ -\/\ RS\ is\ busy,\ 0\ -\/\ RS\ isnt\ busy\ \ \ \ \ }}
\DoxyCodeLine{00167\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fRX\_Busy:1;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ 1\ -\/\ receiving\ is\ active,\ \ \ \ \ 0\ -\/\ receiving\ isnt\ active}}
\DoxyCodeLine{00168\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fTX\_Busy:1;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ 1\ -\/\ transmiting\ is\ active,\ 0\ -\/\ transmiting\ isnt\ active\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }}
\DoxyCodeLine{00169\ \ \ \ \ }
\DoxyCodeLine{00170\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fRX\_Done:1;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ 1\ -\/\ receiving\ is\ done,\ 0\ -\/\ receiving\ isnt\ done\ \ \ }}
\DoxyCodeLine{00171\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fTX\_Done:1;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ 1\ -\/\ transmiting\ is\ done,\ 0\ -\/\ transmiting\ isnt\ done\ \ \ }}
\DoxyCodeLine{00172\ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00173\ \ \ \ \ \textcolor{comment}{//\ setted\ by\ user}}
\DoxyCodeLine{00174\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fMessageHandled:1;\ \ \ \ \ \ \textcolor{comment}{//\ 1\ -\/\ RS\ command\ is\ handled,\ 0\ -\/\ RS\ command\ isnt\ handled\ yet}}
\DoxyCodeLine{00175\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fEchoResponse:1;\ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ 0\ -\/\ receiving\ msg\ before\ ByteCnt,\ \ \ \ 0\ -\/\ receiving\ msg\ after\ ByteCnt}}
\DoxyCodeLine{00176\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ fDeferredResponse:1;\ \ \ \ \textcolor{comment}{//\ 0\ -\/\ receiving\ msg\ before\ ByteCnt,\ \ \ \ 0\ -\/\ receiving\ msg\ after\ ByteCnt}}
\DoxyCodeLine{00177\ \ \ \ \ }
\DoxyCodeLine{00178\ \ \ \ \ \textcolor{comment}{/*\ RS\ STATUS\ */}}
\DoxyCodeLine{00179\ \ \ \ \ RS\_StatusTypeDef\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ RS\_STATUS;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ RS\ status}}
\DoxyCodeLine{00180\ \ \ \ \ RS\_FunctonTypeDef\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ RS\_RESPONSE;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ RS\ response}}
\DoxyCodeLine{00181\ \}\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}};}
\DoxyCodeLine{00182\ }
\DoxyCodeLine{00183\ }
\DoxyCodeLine{00185\ }
\DoxyCodeLine{00186\ }
\DoxyCodeLine{00187\ }
\DoxyCodeLine{00188\ }
\DoxyCodeLine{00189\ }
\DoxyCodeLine{00190\ }
\DoxyCodeLine{00191\ }
\DoxyCodeLine{00192\ }
\DoxyCodeLine{00193\ }
\DoxyCodeLine{00194\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/FUNCTIONS\ FOR\ PROCESSING\ MESSAGE-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{00195\ \textcolor{comment}{/*-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/Defined\ by\ users\ purposes-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*/}}
\DoxyCodeLine{00203\ RS\_StatusTypeDef\ RS\_Response(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hRS,\ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *RS\_msg);}
\DoxyCodeLine{00204\ }
\DoxyCodeLine{00213\ RS\_StatusTypeDef\ Collect\_Message(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hRS,\ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *RS\_msg,\ uint8\_t\ *msg\_uart\_buff);}
\DoxyCodeLine{00214\ }
\DoxyCodeLine{00223\ RS\_StatusTypeDef\ Parse\_Message(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hRS,\ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *RS\_msg,\ uint8\_t\ *msg\_uart\_buff);}
\DoxyCodeLine{00224\ }
\DoxyCodeLine{00232\ RS\_StatusTypeDef\ RS\_Define\_Size\_of\_RX\_Message(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hRS,\ uint32\_t\ *rx\_data\_size);}
\DoxyCodeLine{00233\ }
\DoxyCodeLine{00234\ }
\DoxyCodeLine{00235\ \textcolor{comment}{/*\ MORE\ USER\ FUNCTION\ BEGIN*/}}
\DoxyCodeLine{00236\ \textcolor{comment}{/*\ MORE\ USER\ FUNCTION\ END*/}}
\DoxyCodeLine{00237\ }
\DoxyCodeLine{00238\ }
\DoxyCodeLine{00239\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/GENERAL\ FUNCTIONS-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{00240\ \textcolor{comment}{/*-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/Should\ be\ called\ from\ main\ code-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*/}}
\DoxyCodeLine{00248\ RS\_StatusTypeDef\ RS\_Receive\_IT(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hRS,\ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *RS\_msg);}
\DoxyCodeLine{00249\ }
\DoxyCodeLine{00257\ RS\_StatusTypeDef\ RS\_Transmit\_IT(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hRS,\ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *RS\_msg);}
\DoxyCodeLine{00258\ }
\DoxyCodeLine{00268\ RS\_StatusTypeDef\ RS\_Init(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hRS,\ \mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\_SettingsTypeDef}}\ *suart,\ \mbox{\hyperlink{struct_t_i_m___settings_type_def}{TIM\_SettingsTypeDef}}\ *stim,\ uint8\_t\ *pRS\_BufferPtr);}
\DoxyCodeLine{00269\ }
\DoxyCodeLine{00283\ RS\_StatusTypeDef\ RS\_Abort(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hRS,\ RS\_AbortTypeDef\ AbortMode);}
\DoxyCodeLine{00284\ }
\DoxyCodeLine{00285\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/SUPPORT\ FUNCTIONS-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{00286\ \textcolor{comment}{/*-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/Called\ from\ General\ functions-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/*/}}
\DoxyCodeLine{00294\ RS\_StatusTypeDef\ RS\_Handle\_Receive\_Start(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hRS,\ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *RS\_msg);}
\DoxyCodeLine{00302\ RS\_StatusTypeDef\ RS\_Handle\_Transmit\_Start(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hRS,\ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *RS\_msg);}
\DoxyCodeLine{00303\ \textcolor{comment}{/*\ UART\ RX\ Callback:\ define\ behaviour\ after\ receiving\ message\ */}}
\DoxyCodeLine{00304\ RS\_StatusTypeDef\ RS\_UART\_RxCpltCallback(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hRS);}
\DoxyCodeLine{00305\ \textcolor{comment}{/*\ UART\ RX\ Callback:\ define\ behaviour\ after\ transmiting\ message\ */}}
\DoxyCodeLine{00306\ RS\_StatusTypeDef\ RS\_UART\_TxCpltCallback(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hRS);}
\DoxyCodeLine{00307\ \textcolor{comment}{/*\ Handler\ for\ UART\ */}}
\DoxyCodeLine{00308\ \textcolor{keywordtype}{void}\ RS\_UART\_Handler(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hRS);}
\DoxyCodeLine{00309\ \textcolor{comment}{/*\ Handler\ for\ TIM\ */}}
\DoxyCodeLine{00310\ \textcolor{keywordtype}{void}\ RS\_TIM\_Handler(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hRS);}
\DoxyCodeLine{00311\ }
\DoxyCodeLine{00312\ }
\DoxyCodeLine{00313\ }
\DoxyCodeLine{00314\ }
\DoxyCodeLine{00315\ }
\DoxyCodeLine{00316\ }
\DoxyCodeLine{00317\ HAL\_StatusTypeDef\ RS\_UART\_Init(\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\_SettingsTypeDef}}\ *suart);}
\DoxyCodeLine{00318\ \textcolor{keywordtype}{void}\ UART\_GPIO\_Init(GPIO\_TypeDef\ *GPIOx,\ uint16\_t\ GPIO\_PIN\_RX,\ uint16\_t\ GPIO\_PIN\_TX);}
\DoxyCodeLine{00319\ \textcolor{keywordtype}{void}\ UART\_DMA\_Init(UART\_HandleTypeDef\ *huart,\ DMA\_HandleTypeDef\ *hdma\_rx,\ DMA\_Stream\_TypeDef\ *DMAChannel,\ uint32\_t\ DMA\_CHANNEL\_X);}
\DoxyCodeLine{00320\ \textcolor{keywordtype}{void}\ User\_UART\_MspInit(UART\_HandleTypeDef\ *huart);}
\DoxyCodeLine{00321\ }
\DoxyCodeLine{00322\ HAL\_StatusTypeDef\ User\_UART\_Check(\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\_SettingsTypeDef}}\ *suart);}
\DoxyCodeLine{00323\ }
\DoxyCodeLine{00324\ \textcolor{preprocessor}{\#define\ \_\_USER\_LINKDMA(\_\_HANDLE\_\_,\ \_\_PPP\_DMA\_FIELD\_\_,\ \_\_DMA\_HANDLE\_\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00325\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00326\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\_\_HANDLE\_\_)-\/>\_\_PPP\_DMA\_FIELD\_\_\ =\ (\_\_DMA\_HANDLE\_\_);\ \(\backslash\)}}
\DoxyCodeLine{00327\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (\_\_DMA\_HANDLE\_\_)-\/>Parent\ =\ (\_\_HANDLE\_\_);\}\ while(0U)}}
\DoxyCodeLine{00328\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00329\ }
\DoxyCodeLine{00330\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }
\DoxyCodeLine{00331\ }
\DoxyCodeLine{00332\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ \_\_UART\_USER\_H\_}}
\end{DoxyCode}

View File

@@ -0,0 +1,90 @@
\doxysection{RS\+\_\+\+Handle\+Type\+Def Struct Reference}
\hypertarget{struct_r_s___handle_type_def}{}\label{struct_r_s___handle_type_def}\index{RS\_HandleTypeDef@{RS\_HandleTypeDef}}
Handle for RS communication.
{\ttfamily \#include $<$rs\+\_\+message.\+h$>$}
\doxysubsubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
\Hypertarget{struct_r_s___handle_type_def_ae05e4021c05cb62085215a5b3d03c0bc}\label{struct_r_s___handle_type_def_ae05e4021c05cb62085215a5b3d03c0bc}
uint8\+\_\+t {\bfseries ID}
\item
\Hypertarget{struct_r_s___handle_type_def_a88ae0a4f03c2dcacd81b52096623d889}\label{struct_r_s___handle_type_def_a88ae0a4f03c2dcacd81b52096623d889}
\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*} {\bfseries p\+Message\+Ptr}
\item
\Hypertarget{struct_r_s___handle_type_def_a669517eccd963ae4f9d2d577e2d0934f}\label{struct_r_s___handle_type_def_a669517eccd963ae4f9d2d577e2d0934f}
uint8\+\_\+t \texorpdfstring{$\ast$}{*} {\bfseries p\+Buffer\+Ptr}
\item
\Hypertarget{struct_r_s___handle_type_def_a16caf9f00c09a4d54890da6e4fc4274b}\label{struct_r_s___handle_type_def_a16caf9f00c09a4d54890da6e4fc4274b}
uint32\+\_\+t {\bfseries RS\+\_\+\+Message\+\_\+\+Size}
\item
\Hypertarget{struct_r_s___handle_type_def_a0e36e9b1b63956cd293971aed1093181}\label{struct_r_s___handle_type_def_a0e36e9b1b63956cd293971aed1093181}
UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*} {\bfseries huartx}
\item
\Hypertarget{struct_r_s___handle_type_def_a910371de958804a12d90272976015b91}\label{struct_r_s___handle_type_def_a910371de958804a12d90272976015b91}
TIM\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*} {\bfseries htimx}
\item
\Hypertarget{struct_r_s___handle_type_def_a5a3d42cab7d7603dc8d31be5c8645e02}\label{struct_r_s___handle_type_def_a5a3d42cab7d7603dc8d31be5c8645e02}
RS\+\_\+\+Mode\+Type\+Def {\bfseries s\+RS\+\_\+\+Mode}
\item
\Hypertarget{struct_r_s___handle_type_def_a95952089da1c4c2eef20380db162bb77}\label{struct_r_s___handle_type_def_a95952089da1c4c2eef20380db162bb77}
RS\+\_\+\+ITMode\+Type\+Def {\bfseries s\+RS\+\_\+\+IT\+\_\+\+Mode}
\item
\Hypertarget{struct_r_s___handle_type_def_adc5c4a4075d22fc7cdd538d284c45158}\label{struct_r_s___handle_type_def_adc5c4a4075d22fc7cdd538d284c45158}
uint32\+\_\+t {\bfseries s\+RS\+\_\+\+Timeout}
\item
\Hypertarget{struct_r_s___handle_type_def_a08481653f3280f5486083bd696598634}\label{struct_r_s___handle_type_def_a08481653f3280f5486083bd696598634}
RS\+\_\+\+RXSize\+Type\+Def {\bfseries s\+RS\+\_\+\+RX\+\_\+\+Size\+\_\+\+Mode}
\item
\Hypertarget{struct_r_s___handle_type_def_a0ab58800ad233c8d78c3f5bd84d5dd05}\label{struct_r_s___handle_type_def_a0ab58800ad233c8d78c3f5bd84d5dd05}
unsigned {\bfseries f\+RX\+\_\+\+Half}\+:1
\item
\Hypertarget{struct_r_s___handle_type_def_a9e1f372e541cf388be0c52d47bb80cb8}\label{struct_r_s___handle_type_def_a9e1f372e541cf388be0c52d47bb80cb8}
unsigned {\bfseries f\+RS\+\_\+\+Busy}\+:1
\item
\Hypertarget{struct_r_s___handle_type_def_a947a1fe0d91ba0395187d18a14b505fb}\label{struct_r_s___handle_type_def_a947a1fe0d91ba0395187d18a14b505fb}
unsigned {\bfseries f\+RX\+\_\+\+Busy}\+:1
\item
\Hypertarget{struct_r_s___handle_type_def_a24ccf83bfa9917253d2ff36cc312df27}\label{struct_r_s___handle_type_def_a24ccf83bfa9917253d2ff36cc312df27}
unsigned {\bfseries f\+TX\+\_\+\+Busy}\+:1
\item
\Hypertarget{struct_r_s___handle_type_def_ae79c8a604d2842548e685fce1635040c}\label{struct_r_s___handle_type_def_ae79c8a604d2842548e685fce1635040c}
unsigned {\bfseries f\+RX\+\_\+\+Done}\+:1
\item
\Hypertarget{struct_r_s___handle_type_def_a5b45936c5266e15b9daa67cbd1480706}\label{struct_r_s___handle_type_def_a5b45936c5266e15b9daa67cbd1480706}
unsigned {\bfseries f\+TX\+\_\+\+Done}\+:1
\item
\Hypertarget{struct_r_s___handle_type_def_a6909a2ee1bb3513505bbd4984ff591b5}\label{struct_r_s___handle_type_def_a6909a2ee1bb3513505bbd4984ff591b5}
unsigned {\bfseries f\+Message\+Handled}\+:1
\item
\Hypertarget{struct_r_s___handle_type_def_aec772d6a0db85220c5db8634ddf16120}\label{struct_r_s___handle_type_def_aec772d6a0db85220c5db8634ddf16120}
unsigned {\bfseries f\+Echo\+Response}\+:1
\item
\Hypertarget{struct_r_s___handle_type_def_a0c3c3aee0342b80b75a782aec6d46c2e}\label{struct_r_s___handle_type_def_a0c3c3aee0342b80b75a782aec6d46c2e}
unsigned {\bfseries f\+Deferred\+Response}\+:1
\item
\Hypertarget{struct_r_s___handle_type_def_a81db00ae327dbd10d04207c3db186fbf}\label{struct_r_s___handle_type_def_a81db00ae327dbd10d04207c3db186fbf}
RS\+\_\+\+Status\+Type\+Def {\bfseries RS\+\_\+\+STATUS}
\item
\Hypertarget{struct_r_s___handle_type_def_ac5e044058c7c85e15623836e8e832057}\label{struct_r_s___handle_type_def_ac5e044058c7c85e15623836e8e832057}
RS\+\_\+\+Functon\+Type\+Def {\bfseries RS\+\_\+\+RESPONSE}
\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Handle for RS communication.
\begin{DoxyNote}{Note}
Prefixes\+: h -\/ handle, s -\/ settings, f -\/ flag
\end{DoxyNote}
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item
rs\+\_\+message.\+h\end{DoxyCompactItemize}

View File

@@ -0,0 +1,34 @@
\doxysection{RS\+\_\+\+Msg\+Type\+Def Struct Reference}
\hypertarget{struct_r_s___msg_type_def}{}\label{struct_r_s___msg_type_def}\index{RS\_MsgTypeDef@{RS\_MsgTypeDef}}
\doxysubsubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
\Hypertarget{struct_r_s___msg_type_def_a6186caa23a7d17866abb7d27cb8d9b13}\label{struct_r_s___msg_type_def_a6186caa23a7d17866abb7d27cb8d9b13}
uint8\+\_\+t {\bfseries Mb\+Addr}
\item
\Hypertarget{struct_r_s___msg_type_def_a49661162da2af9d2e939dfd8ccec633b}\label{struct_r_s___msg_type_def_a49661162da2af9d2e939dfd8ccec633b}
RS\+\_\+\+Functon\+Type\+Def {\bfseries Func\+\_\+\+Code}
\item
\Hypertarget{struct_r_s___msg_type_def_ac2fbbe9d6ed859cacb2928626be8f70d}\label{struct_r_s___msg_type_def_ac2fbbe9d6ed859cacb2928626be8f70d}
uint8\+\_\+t {\bfseries Except\+\_\+\+Code}
\item
\Hypertarget{struct_r_s___msg_type_def_aba418f23e6ab48bb7fe6ff160373d10f}\label{struct_r_s___msg_type_def_aba418f23e6ab48bb7fe6ff160373d10f}
uint16\+\_\+t {\bfseries Addr}
\item
\Hypertarget{struct_r_s___msg_type_def_aab19fca65df39b3dfc1161bf1abd2530}\label{struct_r_s___msg_type_def_aab19fca65df39b3dfc1161bf1abd2530}
uint16\+\_\+t {\bfseries Qnt}
\item
\Hypertarget{struct_r_s___msg_type_def_a98b3d756f2da2ddac397749bee665e60}\label{struct_r_s___msg_type_def_a98b3d756f2da2ddac397749bee665e60}
uint8\+\_\+t {\bfseries Byte\+Cnt}
\item
\Hypertarget{struct_r_s___msg_type_def_af808c7dd6b4ba12cf5e106f027cf324c}\label{struct_r_s___msg_type_def_af808c7dd6b4ba12cf5e106f027cf324c}
uint16\+\_\+t {\bfseries DATA} \mbox{[}DATA\+\_\+\+MAX\+\_\+\+SIZE\mbox{]}
\item
\Hypertarget{struct_r_s___msg_type_def_ab36aadc5b220463d41e442a39f3f13e8}\label{struct_r_s___msg_type_def_ab36aadc5b220463d41e442a39f3f13e8}
uint16\+\_\+t {\bfseries MB\+\_\+\+CRC}
\end{DoxyCompactItemize}
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item
modbus.\+h\end{DoxyCompactItemize}

View File

@@ -0,0 +1,16 @@
\doxysection{TIM\+\_\+\+Settings\+Type\+Def Struct Reference}
\hypertarget{struct_t_i_m___settings_type_def}{}\label{struct_t_i_m___settings_type_def}\index{TIM\_SettingsTypeDef@{TIM\_SettingsTypeDef}}
\doxysubsubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
\Hypertarget{struct_t_i_m___settings_type_def_a910371de958804a12d90272976015b91}\label{struct_t_i_m___settings_type_def_a910371de958804a12d90272976015b91}
TIM\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*} {\bfseries htimx}
\item
\Hypertarget{struct_t_i_m___settings_type_def_a8d6c153e149fb61b28a4eb94f1e6a939}\label{struct_t_i_m___settings_type_def_a8d6c153e149fb61b28a4eb94f1e6a939}
TIM\+\_\+\+ITMode\+Type\+Def {\bfseries TIM\+\_\+\+IT\+\_\+\+MODE}\+:1
\end{DoxyCompactItemize}
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item
tim\+\_\+general.\+h\end{DoxyCompactItemize}

View File

@@ -0,0 +1,31 @@
\doxysection{UART\+\_\+\+Settings\+Type\+Def Struct Reference}
\hypertarget{struct_u_a_r_t___settings_type_def}{}\label{struct_u_a_r_t___settings_type_def}\index{UART\_SettingsTypeDef@{UART\_SettingsTypeDef}}
\doxysubsubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
\Hypertarget{struct_u_a_r_t___settings_type_def_a0e36e9b1b63956cd293971aed1093181}\label{struct_u_a_r_t___settings_type_def_a0e36e9b1b63956cd293971aed1093181}
UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*} {\bfseries huartx}
\item
\Hypertarget{struct_u_a_r_t___settings_type_def_a2320e05e7b39955a916a627a7a27a332}\label{struct_u_a_r_t___settings_type_def_a2320e05e7b39955a916a627a7a27a332}
DMA\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*} {\bfseries hdma\+\_\+uartx\+\_\+rx}
\item
\Hypertarget{struct_u_a_r_t___settings_type_def_a1cb502d7339fa12f24109da591102eb2}\label{struct_u_a_r_t___settings_type_def_a1cb502d7339fa12f24109da591102eb2}
GPIO\+\_\+\+Type\+Def \texorpdfstring{$\ast$}{*} {\bfseries GPIOx}
\item
\Hypertarget{struct_u_a_r_t___settings_type_def_abaeeb4afab801fd79f4ec7d2a5dea905}\label{struct_u_a_r_t___settings_type_def_abaeeb4afab801fd79f4ec7d2a5dea905}
uint16\+\_\+t {\bfseries GPIO\+\_\+\+PIN\+\_\+\+RX}
\item
\Hypertarget{struct_u_a_r_t___settings_type_def_a94c85d6469c4e147ad9eb64c90c65361}\label{struct_u_a_r_t___settings_type_def_a94c85d6469c4e147ad9eb64c90c65361}
uint16\+\_\+t {\bfseries GPIO\+\_\+\+PIN\+\_\+\+TX}
\item
\Hypertarget{struct_u_a_r_t___settings_type_def_a33f6f0ee5f51c9743f371c9f0cd150cd}\label{struct_u_a_r_t___settings_type_def_a33f6f0ee5f51c9743f371c9f0cd150cd}
DMA\+\_\+\+Stream\+\_\+\+Type\+Def \texorpdfstring{$\ast$}{*} {\bfseries DMAChannel}
\item
\Hypertarget{struct_u_a_r_t___settings_type_def_a368dd11dde59368be144107b6027e892}\label{struct_u_a_r_t___settings_type_def_a368dd11dde59368be144107b6027e892}
uint32\+\_\+t {\bfseries DMA\+\_\+\+CHANNEL\+\_\+X}
\end{DoxyCompactItemize}
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item
rs\+\_\+message.\+h\end{DoxyCompactItemize}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,59 @@
\doxysection{tim\+\_\+general.\+h}
\hypertarget{tim__general_8h_source}{}\label{tim__general_8h_source}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_TIM\_USER\_H\_}}
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_TIM\_USER\_H\_}}
\DoxyCodeLine{00003\ }
\DoxyCodeLine{00004\ }
\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#define\ HAL\_TIM\_MODULE\_ENABLED\ }\textcolor{comment}{//\ need\ to\ uncomment\ this\ define\ in\ stm32f4xx\_hal\_conf.h}}
\DoxyCodeLine{00008\ }
\DoxyCodeLine{00009\ \textcolor{comment}{//\#define\ USE\_TIM1}}
\DoxyCodeLine{00010\ \textcolor{comment}{//\#define\ USE\_TIM2}}
\DoxyCodeLine{00011\ \textcolor{comment}{//\#define\ USE\_TIM3}}
\DoxyCodeLine{00012\ \textcolor{comment}{//\#define\ USE\_TIM4}}
\DoxyCodeLine{00013\ \textcolor{comment}{//\#define\ USE\_TIM5}}
\DoxyCodeLine{00014\ \textcolor{comment}{//\#define\ USE\_TIM6}}
\DoxyCodeLine{00015\ \textcolor{comment}{//\#define\ USE\_TIM7}}
\DoxyCodeLine{00016\ \textcolor{comment}{//\#define\ USE\_TIM8}}
\DoxyCodeLine{00017\ \textcolor{comment}{//\#define\ USE\_TIM9}}
\DoxyCodeLine{00018\ \textcolor{comment}{//\#define\ USE\_TIM10}}
\DoxyCodeLine{00019\ \textcolor{comment}{//\#define\ USE\_TIM11}}
\DoxyCodeLine{00020\ \textcolor{comment}{//\#define\ USE\_TIM12}}
\DoxyCodeLine{00021\ \textcolor{comment}{//\#define\ USE\_TIM13}}
\DoxyCodeLine{00022\ \textcolor{comment}{//\#define\ USE\_TIM14}}
\DoxyCodeLine{00023\ \textcolor{comment}{/*\ note:\ used\ uart\ defines\ in\ modbus.h\ */}}
\DoxyCodeLine{00024\ \textcolor{preprocessor}{\#include\ "{}modbus.h"{}}\ }
\DoxyCodeLine{00025\ }
\DoxyCodeLine{00027\ \textcolor{preprocessor}{\#include\ "{}stm32f4xx\_hal.h"{}}}
\DoxyCodeLine{00028\ }
\DoxyCodeLine{00029\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{enum}}
\DoxyCodeLine{00030\ \{}
\DoxyCodeLine{00031\ \ \ \ \ TIM\_IT\_DISABLE\ =\ 0x00,}
\DoxyCodeLine{00032\ \ \ \ \ TIM\_IT\_ENABLE\ =\ 0x01,}
\DoxyCodeLine{00033\ \}TIM\_ITModeTypeDef;}
\DoxyCodeLine{00034\ }
\DoxyCodeLine{00035\ }
\DoxyCodeLine{00036\ \textcolor{comment}{//typedef\ enum}}
\DoxyCodeLine{00037\ \textcolor{comment}{//\{}}
\DoxyCodeLine{00038\ \textcolor{comment}{//\ \ TIM\_1MS\_BASE\ =\ 0xFFFF,}}
\DoxyCodeLine{00039\ \textcolor{comment}{//\ \ TIM\_1US\_BASE\ =\ 0xFFFF-\/1,}}
\DoxyCodeLine{00040\ \textcolor{comment}{//\}TIM\_TickBaseTypeDef;}}
\DoxyCodeLine{00041\ }
\DoxyCodeLine{00042\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\textcolor{comment}{//\ struct\ with\ settings\ for\ custom\ function}}
\DoxyCodeLine{00043\ \{}
\DoxyCodeLine{00044\ \ \ \ \ TIM\_HandleTypeDef\ *htimx;}
\DoxyCodeLine{00045\ \ \ \ \ }
\DoxyCodeLine{00046\ \textcolor{comment}{//\ \ TIM\_TickBaseTypeDef\ TickBase;}}
\DoxyCodeLine{00047\ \textcolor{comment}{//\ \ TIM\_TickBaseTypeDef\ TimPeriod;}}
\DoxyCodeLine{00048\ \ \ \ \ }
\DoxyCodeLine{00049\ \ \ \ \ TIM\_ITModeTypeDef\ \ \ TIM\_IT\_MODE:1;}
\DoxyCodeLine{00050\ \ \ \ \ }
\DoxyCodeLine{00051\ \}\mbox{\hyperlink{struct_t_i_m___settings_type_def}{TIM\_SettingsTypeDef}};}
\DoxyCodeLine{00052\ }
\DoxyCodeLine{00053\ HAL\_StatusTypeDef\ User\_TIM\_Init(\mbox{\hyperlink{struct_t_i_m___settings_type_def}{TIM\_SettingsTypeDef}}*\ stim);}
\DoxyCodeLine{00054\ \textcolor{keywordtype}{void}\ User\_TIM\_Base\_MspInit(TIM\_HandleTypeDef*\ htim,\ TIM\_ITModeTypeDef\ it\_mode);}
\DoxyCodeLine{00055\ }
\DoxyCodeLine{00056\ }
\DoxyCodeLine{00057\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ \_\_TIM\_BOOT\_H}}
\end{DoxyCode}