Чет работает
This commit is contained in:
42
AllLibs/MyLibs/Doc/latex/Makefile
Normal file
42
AllLibs/MyLibs/Doc/latex/Makefile
Normal file
@@ -0,0 +1,42 @@
|
||||
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) || \
|
||||
if [ $$? != 0 ] ; then \
|
||||
\echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \
|
||||
false; \
|
||||
fi
|
||||
$(MKIDX_CMD) $(MANUAL_FILE).idx
|
||||
$(LATEX_CMD) $(MANUAL_FILE) || \
|
||||
if [ $$? != 0 ] ; then \
|
||||
\echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \
|
||||
false; \
|
||||
fi
|
||||
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) || \
|
||||
if [ $$? != 0 ] ; then \
|
||||
\echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \
|
||||
false; \
|
||||
fi; \
|
||||
latex_count=`expr $$latex_count - 1` ;\
|
||||
done
|
||||
$(MKIDX_CMD) $(MANUAL_FILE).idx
|
||||
$(LATEX_CMD) $(MANUAL_FILE) || \
|
||||
if [ $$? != 0 ] ; then \
|
||||
\echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \
|
||||
false; \
|
||||
fi
|
||||
|
||||
clean:
|
||||
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl $(MANUAL_FILE).pdf
|
||||
@@ -0,0 +1,434 @@
|
||||
\doxysection{E\+:/.WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\+\_\+\+\_\+\+SEGGER\+\_\+\+RTT\+\_\+\+Conf.h}
|
||||
\hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source}{}\label{_____s_e_g_g_e_r___r_t_t___conf_8h_source}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00001}00001\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00002}00002\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ SEGGER\ Microcontroller\ GmbH\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00003}00003\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ The\ Embedded\ Experts\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00004}00004\ \textcolor{comment}{**********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00005}00005\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00006}00006\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ (c)\ 1995\ -\/\ 2021\ SEGGER\ Microcontroller\ GmbH\ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00007}00007\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00008}00008\ \textcolor{comment}{*\ \ \ \ \ \ \ www.segger.com\ \ \ \ \ Support:\ support@segger.com\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00009}00009\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00010}00010\ \textcolor{comment}{**********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00011}00011\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00012}00012\ \textcolor{comment}{*\ \ \ \ \ \ \ SEGGER\ RTT\ *\ Real\ Time\ Transfer\ for\ embedded\ targets\ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00013}00013\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00014}00014\ \textcolor{comment}{**********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00015}00015\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00016}00016\ \textcolor{comment}{*\ All\ rights\ reserved.\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00017}00017\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00018}00018\ \textcolor{comment}{*\ SEGGER\ strongly\ recommends\ to\ not\ make\ any\ changes\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00019}00019\ \textcolor{comment}{*\ to\ or\ modify\ the\ source\ code\ of\ this\ software\ in\ order\ to\ stay\ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00020}00020\ \textcolor{comment}{*\ compatible\ with\ the\ RTT\ protocol\ and\ J-\/Link.\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00021}00021\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00022}00022\ \textcolor{comment}{*\ Redistribution\ and\ use\ in\ source\ and\ binary\ forms,\ with\ or\ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00023}00023\ \textcolor{comment}{*\ without\ modification,\ are\ permitted\ provided\ that\ the\ following\ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00024}00024\ \textcolor{comment}{*\ condition\ is\ met:\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00025}00025\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00026}00026\ \textcolor{comment}{*\ o\ Redistributions\ of\ source\ code\ must\ retain\ the\ above\ copyright\ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00027}00027\ \textcolor{comment}{*\ \ \ notice,\ this\ condition\ and\ the\ following\ disclaimer.\ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00028}00028\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00029}00029\ \textcolor{comment}{*\ THIS\ SOFTWARE\ IS\ PROVIDED\ BY\ THE\ COPYRIGHT\ HOLDERS\ AND\ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00030}00030\ \textcolor{comment}{*\ CONTRIBUTORS\ "{}AS\ IS"{}\ AND\ ANY\ EXPRESS\ OR\ IMPLIED\ WARRANTIES,\ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00031}00031\ \textcolor{comment}{*\ INCLUDING,\ BUT\ NOT\ LIMITED\ TO,\ THE\ IMPLIED\ WARRANTIES\ OF\ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00032}00032\ \textcolor{comment}{*\ MERCHANTABILITY\ AND\ FITNESS\ FOR\ A\ PARTICULAR\ PURPOSE\ ARE\ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00033}00033\ \textcolor{comment}{*\ DISCLAIMED.\ IN\ NO\ EVENT\ SHALL\ SEGGER\ Microcontroller\ BE\ LIABLE\ FOR\ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00034}00034\ \textcolor{comment}{*\ ANY\ DIRECT,\ INDIRECT,\ INCIDENTAL,\ SPECIAL,\ EXEMPLARY,\ OR\ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00035}00035\ \textcolor{comment}{*\ CONSEQUENTIAL\ DAMAGES\ (INCLUDING,\ BUT\ NOT\ LIMITED\ TO,\ PROCUREMENT\ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00036}00036\ \textcolor{comment}{*\ OF\ SUBSTITUTE\ GOODS\ OR\ SERVICES;\ LOSS\ OF\ USE,\ DATA,\ OR\ PROFITS;\ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00037}00037\ \textcolor{comment}{*\ OR\ BUSINESS\ INTERRUPTION)\ HOWEVER\ CAUSED\ AND\ ON\ ANY\ THEORY\ OF\ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00038}00038\ \textcolor{comment}{*\ LIABILITY,\ WHETHER\ IN\ CONTRACT,\ STRICT\ LIABILITY,\ OR\ TORT\ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00039}00039\ \textcolor{comment}{*\ (INCLUDING\ NEGLIGENCE\ OR\ OTHERWISE)\ ARISING\ IN\ ANY\ WAY\ OUT\ OF\ THE\ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00040}00040\ \textcolor{comment}{*\ USE\ OF\ THIS\ SOFTWARE,\ EVEN\ IF\ ADVISED\ OF\ THE\ POSSIBILITY\ OF\ SUCH\ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00041}00041\ \textcolor{comment}{*\ DAMAGE.\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00042}00042\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00043}00043\ \textcolor{comment}{**********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00044}00044\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00045}00045\ \textcolor{comment}{*\ \ \ \ \ \ \ RTT\ version:\ 8.10g\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00046}00046\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00047}00047\ \textcolor{comment}{**********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00048}00048\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00049}00049\ \textcolor{comment}{-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/END-\/OF-\/HEADER-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00050}00050\ \textcolor{comment}{File\ \ \ \ :\ SEGGER\_RTT\_Conf.h}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00051}00051\ \textcolor{comment}{Purpose\ :\ Implementation\ of\ SEGGER\ real-\/time\ transfer\ (RTT)\ which}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00052}00052\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ allows\ real-\/time\ communication\ on\ targets\ which\ support}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00053}00053\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ debugger\ memory\ accesses\ while\ the\ CPU\ is\ running.}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00054}00054\ \textcolor{comment}{Revision:\ \$Rev:\ 24316\ \$}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00055}00055\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00056}00056\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00057}00057\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00058}00058\ \textcolor{preprocessor}{\#ifndef\ SEGGER\_RTT\_CONF\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00059}00059\ \textcolor{preprocessor}{\#define\ SEGGER\_RTT\_CONF\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00060}00060\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00061}00061\ \textcolor{preprocessor}{\#ifdef\ \_\_IAR\_SYSTEMS\_ICC\_\_}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00062}00062\ \textcolor{preprocessor}{\ \ \#include\ <intrinsics.h>}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00063}00063\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00064}00064\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00065}00065\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00066}00066\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00067}00067\ \textcolor{comment}{*\ \ \ \ \ \ \ Defines,\ configurable}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00068}00068\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00069}00069\ \textcolor{comment}{**********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00070}00070\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00071}00071\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00072}00072\ \textcolor{comment}{//}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00073}00073\ \textcolor{comment}{//\ Take\ in\ and\ set\ to\ correct\ values\ for\ Cortex-\/A\ systems\ with\ CPU\ cache}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00074}00074\ \textcolor{comment}{//}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00075}00075\ \textcolor{comment}{//\#define\ SEGGER\_RTT\_CPU\_CACHE\_LINE\_SIZE\ \ \ \ \ \ \ \ \ \ \ \ (32)\ \ \ \ \ \ \ \ \ \ //\ Largest\ cache\ line\ size\ (in\ bytes)\ in\ the\ current\ system}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00076}00076\ \textcolor{comment}{//\#define\ SEGGER\_RTT\_UNCACHED\_OFF\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (0xFB000000)\ \ //\ Address\ alias\ where\ RTT\ CB\ and\ buffers\ can\ be\ accessed\ uncached}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00077}00077\ \textcolor{comment}{//}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00078}00078\ \textcolor{comment}{//\ Most\ common\ case:}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00079}00079\ \textcolor{comment}{//\ Up-\/channel\ 0:\ RTT}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00080}00080\ \textcolor{comment}{//\ Up-\/channel\ 1:\ SystemView}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00081}00081\ \textcolor{comment}{//}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00082}00082\ \textcolor{preprocessor}{\#ifndef\ \ \ SEGGER\_RTT\_MAX\_NUM\_UP\_BUFFERS}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00083}00083\ \textcolor{preprocessor}{\ \ \#define\ SEGGER\_RTT\_MAX\_NUM\_UP\_BUFFERS\ \ \ \ \ \ \ \ \ \ \ \ \ (3)\ \ \ \ \ }\textcolor{comment}{//\ Max.\ number\ of\ up-\/buffers\ (T-\/>H)\ available\ on\ this\ target\ \ \ \ (Default:\ 3)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00084}00084\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00085}00085\ \textcolor{comment}{//}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00086}00086\ \textcolor{comment}{//\ Most\ common\ case:}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00087}00087\ \textcolor{comment}{//\ Down-\/channel\ 0:\ RTT}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00088}00088\ \textcolor{comment}{//\ Down-\/channel\ 1:\ SystemView}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00089}00089\ \textcolor{comment}{//}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00090}00090\ \textcolor{preprocessor}{\#ifndef\ \ \ SEGGER\_RTT\_MAX\_NUM\_DOWN\_BUFFERS}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00091}00091\ \textcolor{preprocessor}{\ \ \#define\ SEGGER\_RTT\_MAX\_NUM\_DOWN\_BUFFERS\ \ \ \ \ \ \ \ \ \ \ (3)\ \ \ \ \ }\textcolor{comment}{//\ Max.\ number\ of\ down-\/buffers\ (H-\/>T)\ available\ on\ this\ target\ \ (Default:\ 3)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00092}00092\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00093}00093\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00094}00094\ \textcolor{preprocessor}{\#ifndef\ \ \ BUFFER\_SIZE\_UP}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00095}00095\ \textcolor{preprocessor}{\ \ \#define\ BUFFER\_SIZE\_UP\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (4096)\ \ }\textcolor{comment}{//\ Size\ of\ the\ buffer\ for\ terminal\ output\ of\ target,\ up\ to\ host\ (Default:\ 1k)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00096}00096\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00097}00097\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00098}00098\ \textcolor{preprocessor}{\#ifndef\ \ \ BUFFER\_SIZE\_DOWN}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00099}00099\ \textcolor{preprocessor}{\ \ \#define\ BUFFER\_SIZE\_DOWN\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (16)\ \ \ \ }\textcolor{comment}{//\ Size\ of\ the\ buffer\ for\ terminal\ input\ to\ target\ from\ host\ (Usually\ keyboard\ input)\ (Default:\ 16)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00100}00100\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00101}00101\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00102}00102\ \textcolor{preprocessor}{\#ifndef\ \ \ SEGGER\_RTT\_PRINTF\_BUFFER\_SIZE}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00103}00103\ \textcolor{preprocessor}{\ \ \#define\ SEGGER\_RTT\_PRINTF\_BUFFER\_SIZE\ \ \ \ \ \ \ \ \ \ \ \ \ (64u)\ \ \ \ }\textcolor{comment}{//\ Size\ of\ buffer\ for\ RTT\ printf\ to\ bulk-\/send\ chars\ via\ RTT\ \ \ \ \ (Default:\ 64)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00104}00104\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00105}00105\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00106}00106\ \textcolor{preprocessor}{\#ifndef\ \ \ SEGGER\_RTT\_MODE\_DEFAULT}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00107}00107\ \textcolor{preprocessor}{\ \ \#define\ SEGGER\_RTT\_MODE\_DEFAULT\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ SEGGER\_RTT\_MODE\_NO\_BLOCK\_TRIM\ }\textcolor{comment}{//\ Mode\ for\ pre-\/initialized\ terminal\ channel\ (buffer\ 0)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00108}00108\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00109}00109\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00110}00110\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00111}00111\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00112}00112\ \textcolor{comment}{*\ \ \ \ \ \ \ RTT\ memcpy\ configuration}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00113}00113\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00114}00114\ \textcolor{comment}{*\ \ \ \ \ \ \ memcpy()\ is\ good\ for\ large\ amounts\ of\ data,}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00115}00115\ \textcolor{comment}{*\ \ \ \ \ \ \ but\ the\ overhead\ is\ big\ for\ small\ amounts,\ which\ are\ usually\ stored\ via\ RTT.}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00116}00116\ \textcolor{comment}{*\ \ \ \ \ \ \ With\ SEGGER\_RTT\_MEMCPY\_USE\_BYTELOOP\ a\ simple\ byte\ loop\ can\ be\ used\ instead.}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00117}00117\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00118}00118\ \textcolor{comment}{*\ \ \ \ \ \ \ SEGGER\_RTT\_MEMCPY()\ can\ be\ used\ to\ replace\ standard\ memcpy()\ in\ RTT\ functions.}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00119}00119\ \textcolor{comment}{*\ \ \ \ \ \ \ This\ is\ may\ be\ required\ with\ memory\ access\ restrictions,}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00120}00120\ \textcolor{comment}{*\ \ \ \ \ \ \ such\ as\ on\ Cortex-\/A\ devices\ with\ MMU.}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00121}00121\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00122}00122\ \textcolor{preprocessor}{\#ifndef\ \ \ SEGGER\_RTT\_MEMCPY\_USE\_BYTELOOP}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00123}00123\ \textcolor{preprocessor}{\ \ \#define\ SEGGER\_RTT\_MEMCPY\_USE\_BYTELOOP\ \ \ \ \ \ \ \ \ \ \ \ \ \ 0\ }\textcolor{comment}{//\ 0:\ Use\ memcpy/SEGGER\_RTT\_MEMCPY,\ 1:\ Use\ a\ simple\ byte-\/loop}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00124}00124\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00125}00125\ \textcolor{comment}{//}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00126}00126\ \textcolor{comment}{//\ Example\ definition\ of\ SEGGER\_RTT\_MEMCPY\ to\ external\ memcpy\ with\ GCC\ toolchains\ and\ Cortex-\/A\ targets}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00127}00127\ \textcolor{comment}{//}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00128}00128\ \textcolor{comment}{//\#if\ ((defined\ \_\_SES\_ARM)\ ||\ (defined\ \_\_CROSSWORKS\_ARM)\ ||\ (defined\ \_\_GNUC\_\_))\ \&\&\ (defined\ (\_\_ARM\_ARCH\_7A\_\_))}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00129}00129\ \textcolor{comment}{//\ \ \#define\ SEGGER\_RTT\_MEMCPY(pDest,\ pSrc,\ NumBytes)\ \ \ \ \ \ SEGGER\_memcpy((pDest),\ (pSrc),\ (NumBytes))}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00130}00130\ \textcolor{comment}{//\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00131}00131\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00132}00132\ \textcolor{comment}{//}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00133}00133\ \textcolor{comment}{//\ Target\ is\ not\ allowed\ to\ perform\ other\ RTT\ operations\ while\ string\ still\ has\ not\ been\ stored\ completely.}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00134}00134\ \textcolor{comment}{//\ Otherwise\ we\ would\ probably\ end\ up\ with\ a\ mixed\ string\ in\ the\ buffer.}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00135}00135\ \textcolor{comment}{//\ If\ using\ \ RTT\ from\ within\ interrupts,\ multiple\ tasks\ or\ multi\ processors,\ define\ the\ SEGGER\_RTT\_LOCK()\ and\ SEGGER\_RTT\_UNLOCK()\ function\ here.}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00136}00136\ \textcolor{comment}{//}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00137}00137\ \textcolor{comment}{//\ SEGGER\_RTT\_MAX\_INTERRUPT\_PRIORITY\ can\ be\ used\ in\ the\ sample\ lock\ routines\ on\ Cortex-\/M3/4.}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00138}00138\ \textcolor{comment}{//\ Make\ sure\ to\ mask\ all\ interrupts\ which\ can\ send\ RTT\ data,\ i.e.\ generate\ SystemView\ events,\ or\ cause\ task\ switches.}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00139}00139\ \textcolor{comment}{//\ When\ high-\/priority\ interrupts\ must\ not\ be\ masked\ while\ sending\ RTT\ data,\ SEGGER\_RTT\_MAX\_INTERRUPT\_PRIORITY\ needs\ to\ be\ adjusted\ accordingly.}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00140}00140\ \textcolor{comment}{//\ (Higher\ priority\ =\ lower\ priority\ number)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00141}00141\ \textcolor{comment}{//\ Default\ value\ for\ embOS:\ 128u}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00142}00142\ \textcolor{comment}{//\ Default\ configuration\ in\ FreeRTOS:\ configMAX\_SYSCALL\_INTERRUPT\_PRIORITY:\ (\ configLIBRARY\_MAX\_SYSCALL\_INTERRUPT\_PRIORITY\ <<\ (8\ -\/\ configPRIO\_BITS)\ )}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00143}00143\ \textcolor{comment}{//\ In\ case\ of\ doubt\ mask\ all\ interrupts:\ 1\ <<\ (8\ -\/\ BASEPRI\_PRIO\_BITS)\ i.e.\ 1\ <<\ 5\ when\ 3\ bits\ are\ implemented\ in\ NVIC}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00144}00144\ \textcolor{comment}{//\ or\ define\ SEGGER\_RTT\_LOCK()\ to\ completely\ disable\ interrupts.}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00145}00145\ \textcolor{comment}{//}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00146}00146\ \textcolor{preprocessor}{\#ifndef\ \ \ SEGGER\_RTT\_MAX\_INTERRUPT\_PRIORITY}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00147}00147\ \textcolor{preprocessor}{\ \ \#define\ SEGGER\_RTT\_MAX\_INTERRUPT\_PRIORITY\ \ \ \ \ \ \ \ \ (0x20)\ \ \ }\textcolor{comment}{//\ Interrupt\ priority\ to\ lock\ on\ SEGGER\_RTT\_LOCK\ on\ Cortex-\/M3/4\ (Default:\ 0x20)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00148}00148\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00149}00149\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00150}00150\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00151}00151\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00152}00152\ \textcolor{comment}{*\ \ \ \ \ \ \ RTT\ lock\ configuration\ for\ SEGGER\ Embedded\ Studio,}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00153}00153\ \textcolor{comment}{*\ \ \ \ \ \ \ Rowley\ CrossStudio\ and\ GCC}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00154}00154\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00155}00155\ \textcolor{preprocessor}{\#if\ ((defined(\_\_SES\_ARM)\ ||\ defined(\_\_SES\_RISCV)\ ||\ defined(\_\_CROSSWORKS\_ARM)\ ||\ defined(\_\_GNUC\_\_)\ ||\ defined(\_\_clang\_\_))\ \&\&\ !defined\ (\_\_CC\_ARM)\ \&\&\ !defined(WIN32))}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00156}00156\ \textcolor{preprocessor}{\ \ \#if\ (defined(\_\_ARM\_ARCH\_6M\_\_)\ ||\ defined(\_\_ARM\_ARCH\_8M\_BASE\_\_))}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00157}00157\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_LOCK()\ \ \ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00158}00158\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ unsigned\ int\ \_SEGGER\_RTT\_\_LockState;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00159}00159\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_asm\ volatile\ ("{}mrs\ \ \ \%0,\ primask\ \ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00160}00160\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}movs\ \ r1,\ \#1\ \ \ \ \ \ \ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00161}00161\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}msr\ \ \ primask,\ r1\ \ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00162}00162\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}=r"{}\ (\_SEGGER\_RTT\_\_LockState)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00163}00163\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00164}00164\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}r1"{},\ "{}cc"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00165}00165\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ );}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00166}00166\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00167}00167\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_UNLOCK()\ \ \ \_\_asm\ volatile\ ("{}msr\ \ \ primask,\ \%0\ \ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00168}00168\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00169}00169\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}r"{}\ (\_SEGGER\_RTT\_\_LockState)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00170}00170\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00171}00171\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ );\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00172}00172\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00173}00173\ \textcolor{preprocessor}{\ \ \#elif\ (defined(\_\_ARM\_ARCH\_7M\_\_)\ ||\ defined(\_\_ARM\_ARCH\_7EM\_\_)\ ||\ defined(\_\_ARM\_ARCH\_8M\_MAIN\_\_)\ ||\ defined(\_\_ARM\_ARCH\_8\_1M\_MAIN\_\_))}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00174}00174\ \textcolor{preprocessor}{\ \ \ \ \#ifndef\ \ \ SEGGER\_RTT\_MAX\_INTERRUPT\_PRIORITY}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00175}00175\ \textcolor{preprocessor}{\ \ \ \ \ \ \#define\ SEGGER\_RTT\_MAX\_INTERRUPT\_PRIORITY\ \ \ (0x20)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00176}00176\ \textcolor{preprocessor}{\ \ \ \ \#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00177}00177\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_LOCK()\ \ \ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00178}00178\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ unsigned\ int\ \_SEGGER\_RTT\_\_LockState;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00179}00179\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_asm\ volatile\ ("{}mrs\ \ \ \%0,\ basepri\ \ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00180}00180\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}mov\ \ \ r1,\ \%1\ \ \ \ \ \ \ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00181}00181\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}msr\ \ \ basepri,\ r1\ \ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00182}00182\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}=r"{}\ (\_SEGGER\_RTT\_\_LockState)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00183}00183\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}i"{}(SEGGER\_RTT\_MAX\_INTERRUPT\_PRIORITY)\ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00184}00184\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}r1"{},\ "{}cc"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00185}00185\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ );}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00186}00186\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00187}00187\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_UNLOCK()\ \ \ \_\_asm\ volatile\ ("{}msr\ \ \ basepri,\ \%0\ \ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00188}00188\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00189}00189\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}r"{}\ (\_SEGGER\_RTT\_\_LockState)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00190}00190\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00191}00191\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ );\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00192}00192\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00193}00193\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00194}00194\ \textcolor{preprocessor}{\ \ \#elif\ (defined(\_\_ARM\_ARCH\_7A\_\_)\ ||\ defined(\_\_ARM\_ARCH\_7R\_\_))}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00195}00195\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_LOCK()\ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00196}00196\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ unsigned\ int\ \_SEGGER\_RTT\_\_LockState;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00197}00197\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_asm\ volatile\ ("{}mrs\ r1,\ CPSR\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00198}00198\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}mov\ \%0,\ r1\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00199}00199\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}orr\ r1,\ r1,\ \#0xC0\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00200}00200\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}msr\ CPSR\_c,\ r1\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00201}00201\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}=r"{}\ (\_SEGGER\_RTT\_\_LockState)\ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00202}00202\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00203}00203\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}r1"{},\ "{}cc"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00204}00204\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ );}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00205}00205\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00206}00206\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_UNLOCK()\ \_\_asm\ volatile\ ("{}mov\ r0,\ \%0\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00207}00207\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}mrs\ r1,\ CPSR\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00208}00208\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}bic\ r1,\ r1,\ \#0xC0\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00209}00209\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}and\ r0,\ r0,\ \#0xC0\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00210}00210\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}orr\ r1,\ r1,\ r0\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00211}00211\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}msr\ CPSR\_c,\ r1\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00212}00212\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00213}00213\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}r"{}\ (\_SEGGER\_RTT\_\_LockState)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00214}00214\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}r0"{},\ "{}r1"{},\ "{}cc"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00215}00215\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ );\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00216}00216\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00217}00217\ \textcolor{preprocessor}{\ \ \#elif\ defined(\_\_riscv)\ ||\ defined(\_\_riscv\_xlen)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00218}00218\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_LOCK()\ \ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00219}00219\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ unsigned\ int\ \_SEGGER\_RTT\_\_LockState;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00220}00220\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_asm\ volatile\ ("{}csrr\ \ \%0,\ mstatus\ \ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00221}00221\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}csrci\ mstatus,\ 8\ \ \ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00222}00222\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}andi\ \ \%0,\ \%0,\ \ 8\ \ \ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00223}00223\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}=r"{}\ (\_SEGGER\_RTT\_\_LockState)\ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00224}00224\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00225}00225\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00226}00226\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ );}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00227}00227\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00228}00228\ \textcolor{preprocessor}{\ \ \#define\ SEGGER\_RTT\_UNLOCK()\ \ \ \ \_\_asm\ volatile\ ("{}csrr\ \ a1,\ mstatus\ \ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00229}00229\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}or\ \ \ \ \%0,\ \%0,\ a1\ \ \ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00230}00230\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}csrs\ \ mstatus,\ \%0\ \ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00231}00231\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00232}00232\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}r"{}\ \ (\_SEGGER\_RTT\_\_LockState)\ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00233}00233\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}a1"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00234}00234\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ );\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00235}00235\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00236}00236\ \textcolor{preprocessor}{\ \ \#else}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00237}00237\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_LOCK()}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00238}00238\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_UNLOCK()}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00239}00239\ \textcolor{preprocessor}{\ \ \#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00240}00240\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00241}00241\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00242}00242\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00243}00243\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00244}00244\ \textcolor{comment}{*\ \ \ \ \ \ \ RTT\ lock\ configuration\ for\ IAR\ EWARM}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00245}00245\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00246}00246\ \textcolor{preprocessor}{\#ifdef\ \_\_ICCARM\_\_}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00247}00247\ \textcolor{preprocessor}{\ \ \#if\ (defined\ (\_\_ARM6M\_\_)\ \ \ \ \ \ \ \ \ \ \&\&\ (\_\_CORE\_\_\ ==\ \_\_ARM6M\_\_))\ \ \ \ \ \ \ \ \ \ \ \ \ ||\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00248}00248\ \textcolor{preprocessor}{\ \ \ \ \ \ (defined\ (\_\_ARM8M\_BASELINE\_\_)\ \&\&\ (\_\_CORE\_\_\ ==\ \_\_ARM8M\_BASELINE\_\_))}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00249}00249\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_LOCK()\ \ \ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00250}00250\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ unsigned\ int\ \_SEGGER\_RTT\_\_LockState;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00251}00251\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_SEGGER\_RTT\_\_LockState\ =\ \_\_get\_PRIMASK();\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00252}00252\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_set\_PRIMASK(1);}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00253}00253\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00254}00254\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_UNLOCK()\ \ \ \_\_set\_PRIMASK(\_SEGGER\_RTT\_\_LockState);\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00255}00255\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00256}00256\ \textcolor{preprocessor}{\ \ \#elif\ (defined\ (\_\_ARM7EM\_\_)\ \ \ \ \ \ \ \ \ \&\&\ (\_\_CORE\_\_\ ==\ \_\_ARM7EM\_\_))\ \ \ \ \ \ \ \ \ \ ||\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00257}00257\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ (defined\ (\_\_ARM7M\_\_)\ \ \ \ \ \ \ \ \ \ \&\&\ (\_\_CORE\_\_\ ==\ \_\_ARM7M\_\_))\ \ \ \ \ \ \ \ \ \ \ ||\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00258}00258\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ (defined\ (\_\_ARM8M\_MAINLINE\_\_)\ \&\&\ (\_\_CORE\_\_\ ==\ \_\_ARM8M\_MAINLINE\_\_))\ \ ||\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00259}00259\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ (defined\ (\_\_ARM8M\_MAINLINE\_\_)\ \&\&\ (\_\_CORE\_\_\ ==\ \_\_ARM8M\_MAINLINE\_\_))}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00260}00260\ \textcolor{preprocessor}{\ \ \ \ \#ifndef\ \ \ SEGGER\_RTT\_MAX\_INTERRUPT\_PRIORITY}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00261}00261\ \textcolor{preprocessor}{\ \ \ \ \ \ \#define\ SEGGER\_RTT\_MAX\_INTERRUPT\_PRIORITY\ \ \ (0x20)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00262}00262\ \textcolor{preprocessor}{\ \ \ \ \#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00263}00263\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_LOCK()\ \ \ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00264}00264\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ unsigned\ int\ \_SEGGER\_RTT\_\_LockState;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00265}00265\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_SEGGER\_RTT\_\_LockState\ =\ \_\_get\_BASEPRI();\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00266}00266\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_set\_BASEPRI(SEGGER\_RTT\_MAX\_INTERRUPT\_PRIORITY);}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00267}00267\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00268}00268\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_UNLOCK()\ \ \ \_\_set\_BASEPRI(\_SEGGER\_RTT\_\_LockState);\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00269}00269\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00270}00270\ \textcolor{preprocessor}{\ \ \#elif\ (defined\ (\_\_ARM7A\_\_)\ \&\&\ (\_\_CORE\_\_\ ==\ \_\_ARM7A\_\_))\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ||\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00271}00271\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ (defined\ (\_\_ARM7R\_\_)\ \&\&\ (\_\_CORE\_\_\ ==\ \_\_ARM7R\_\_))}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00272}00272\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_LOCK()\ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00273}00273\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ unsigned\ int\ \_SEGGER\_RTT\_\_LockState;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00274}00274\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_asm\ volatile\ ("{}mrs\ r1,\ CPSR\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00275}00275\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}mov\ \%0,\ r1\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00276}00276\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}orr\ r1,\ r1,\ \#0xC0\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00277}00277\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}msr\ CPSR\_c,\ r1\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00278}00278\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}=r"{}\ (\_SEGGER\_RTT\_\_LockState)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00279}00279\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00280}00280\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}r1"{},\ "{}cc"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00281}00281\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ );}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00282}00282\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00283}00283\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_UNLOCK()\ \_\_asm\ volatile\ ("{}mov\ r0,\ \%0\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00284}00284\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}mrs\ r1,\ CPSR\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00285}00285\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}bic\ r1,\ r1,\ \#0xC0\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00286}00286\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}and\ r0,\ r0,\ \#0xC0\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00287}00287\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}orr\ r1,\ r1,\ r0\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00288}00288\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "{}msr\ CPSR\_c,\ r1\ \(\backslash\)n\(\backslash\)t"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00289}00289\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00290}00290\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}r"{}\ (\_SEGGER\_RTT\_\_LockState)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00291}00291\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ :\ "{}r0"{},\ "{}r1"{},\ "{}cc"{}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00292}00292\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ );\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00293}00293\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00294}00294\ \textcolor{preprocessor}{\ \ \#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00295}00295\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00296}00296\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00297}00297\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00298}00298\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00299}00299\ \textcolor{comment}{*\ \ \ \ \ \ \ RTT\ lock\ configuration\ for\ IAR\ RX}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00300}00300\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00301}00301\ \textcolor{preprocessor}{\#ifdef\ \_\_ICCRX\_\_}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00302}00302\ \textcolor{preprocessor}{\ \ \#define\ SEGGER\_RTT\_LOCK()\ \ \ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00303}00303\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ unsigned\ long\ \_SEGGER\_RTT\_\_LockState;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00304}00304\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_SEGGER\_RTT\_\_LockState\ =\ \_\_get\_interrupt\_state();\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00305}00305\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_disable\_interrupt();}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00306}00306\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00307}00307\ \textcolor{preprocessor}{\ \ \#define\ SEGGER\_RTT\_UNLOCK()\ \ \ \_\_set\_interrupt\_state(\_SEGGER\_RTT\_\_LockState);\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00308}00308\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00309}00309\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00310}00310\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00311}00311\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00312}00312\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00313}00313\ \textcolor{comment}{*\ \ \ \ \ \ \ RTT\ lock\ configuration\ for\ IAR\ RL78}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00314}00314\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00315}00315\ \textcolor{preprocessor}{\#ifdef\ \_\_ICCRL78\_\_}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00316}00316\ \textcolor{preprocessor}{\ \ \#define\ SEGGER\_RTT\_LOCK()\ \ \ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00317}00317\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_istate\_t\ \_SEGGER\_RTT\_\_LockState;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00318}00318\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_SEGGER\_RTT\_\_LockState\ =\ \_\_get\_interrupt\_state();\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00319}00319\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_disable\_interrupt();}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00320}00320\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00321}00321\ \textcolor{preprocessor}{\ \ \#define\ SEGGER\_RTT\_UNLOCK()\ \ \ \_\_set\_interrupt\_state(\_SEGGER\_RTT\_\_LockState);\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00322}00322\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00323}00323\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00324}00324\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00325}00325\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00326}00326\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00327}00327\ \textcolor{comment}{*\ \ \ \ \ \ \ RTT\ lock\ configuration\ for\ KEIL\ ARM}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00328}00328\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00329}00329\ \textcolor{preprocessor}{\#ifdef\ \_\_CC\_ARM}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00330}00330\ \textcolor{preprocessor}{\ \ \#if\ (defined\ \_\_TARGET\_ARCH\_6S\_M)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00331}00331\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_LOCK()\ \ \ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00332}00332\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ unsigned\ int\ \_SEGGER\_RTT\_\_LockState;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00333}00333\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ register\ unsigned\ char\ \_SEGGER\_RTT\_\_PRIMASK\ \_\_asm(\ "{}primask"{});\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00334}00334\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_SEGGER\_RTT\_\_LockState\ =\ \_SEGGER\_RTT\_\_PRIMASK;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00335}00335\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_SEGGER\_RTT\_\_PRIMASK\ =\ 1u;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00336}00336\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_schedule\_barrier();}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00337}00337\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00338}00338\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_UNLOCK()\ \ \ \_SEGGER\_RTT\_\_PRIMASK\ =\ \_SEGGER\_RTT\_\_LockState;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00339}00339\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_schedule\_barrier();\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00340}00340\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00341}00341\ \textcolor{preprocessor}{\ \ \#elif\ (defined(\_\_TARGET\_ARCH\_7\_M)\ ||\ defined(\_\_TARGET\_ARCH\_7E\_M))}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00342}00342\ \textcolor{preprocessor}{\ \ \ \ \#ifndef\ \ \ SEGGER\_RTT\_MAX\_INTERRUPT\_PRIORITY}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00343}00343\ \textcolor{preprocessor}{\ \ \ \ \ \ \#define\ SEGGER\_RTT\_MAX\_INTERRUPT\_PRIORITY\ \ \ (0x20)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00344}00344\ \textcolor{preprocessor}{\ \ \ \ \#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00345}00345\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_LOCK()\ \ \ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00346}00346\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ unsigned\ int\ \_SEGGER\_RTT\_\_LockState;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00347}00347\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ register\ unsigned\ char\ BASEPRI\ \_\_asm(\ "{}basepri"{});\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00348}00348\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_SEGGER\_RTT\_\_LockState\ =\ BASEPRI;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00349}00349\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ BASEPRI\ =\ SEGGER\_RTT\_MAX\_INTERRUPT\_PRIORITY;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00350}00350\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_schedule\_barrier();}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00351}00351\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00352}00352\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_UNLOCK()\ \ \ BASEPRI\ =\ \_SEGGER\_RTT\_\_LockState;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00353}00353\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_schedule\_barrier();\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00354}00354\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00355}00355\ \textcolor{preprocessor}{\ \ \#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00356}00356\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00357}00357\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00358}00358\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00359}00359\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00360}00360\ \textcolor{comment}{*\ \ \ \ \ \ \ RTT\ lock\ configuration\ for\ TI\ ARM}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00361}00361\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00362}00362\ \textcolor{preprocessor}{\#ifdef\ \_\_TI\_ARM\_\_}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00363}00363\ \textcolor{preprocessor}{\ \ \#if\ defined\ (\_\_TI\_ARM\_V6M0\_\_)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00364}00364\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_LOCK()\ \ \ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00365}00365\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ unsigned\ int\ \_SEGGER\_RTT\_\_LockState;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00366}00366\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_SEGGER\_RTT\_\_LockState\ =\ \_\_get\_PRIMASK();\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00367}00367\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_\_set\_PRIMASK(1);}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00368}00368\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00369}00369\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_UNLOCK()\ \ \ \_\_set\_PRIMASK(\_SEGGER\_RTT\_\_LockState);\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00370}00370\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00371}00371\ \textcolor{preprocessor}{\ \ \#elif\ (defined\ (\_\_TI\_ARM\_V7M3\_\_)\ ||\ defined\ (\_\_TI\_ARM\_V7M4\_\_))}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00372}00372\ \textcolor{preprocessor}{\ \ \ \ \#ifndef\ \ \ SEGGER\_RTT\_MAX\_INTERRUPT\_PRIORITY}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00373}00373\ \textcolor{preprocessor}{\ \ \ \ \ \ \#define\ SEGGER\_RTT\_MAX\_INTERRUPT\_PRIORITY\ \ \ (0x20)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00374}00374\ \textcolor{preprocessor}{\ \ \ \ \#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00375}00375\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_LOCK()\ \ \ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00376}00376\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ unsigned\ int\ \_SEGGER\_RTT\_\_LockState;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00377}00377\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_SEGGER\_RTT\_\_LockState\ =\ \_set\_interrupt\_priority(SEGGER\_RTT\_MAX\_INTERRUPT\_PRIORITY);}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00378}00378\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00379}00379\ \textcolor{preprocessor}{\ \ \ \ \#define\ SEGGER\_RTT\_UNLOCK()\ \ \ \_set\_interrupt\_priority(\_SEGGER\_RTT\_\_LockState);\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00380}00380\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00381}00381\ \textcolor{preprocessor}{\ \ \#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00382}00382\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00383}00383\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00384}00384\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00385}00385\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00386}00386\ \textcolor{comment}{*\ \ \ \ \ \ \ RTT\ lock\ configuration\ for\ CCRX}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00387}00387\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00388}00388\ \textcolor{preprocessor}{\#ifdef\ \_\_RX}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00389}00389\ \textcolor{preprocessor}{\ \ \#include\ <machine.h>}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00390}00390\ \textcolor{preprocessor}{\ \ \#define\ SEGGER\_RTT\_LOCK()\ \ \ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00391}00391\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ unsigned\ long\ \_SEGGER\_RTT\_\_LockState;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00392}00392\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \_SEGGER\_RTT\_\_LockState\ =\ get\_psw()\ \&\ 0x010000;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00393}00393\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ clrpsw\_i();}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00394}00394\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00395}00395\ \textcolor{preprocessor}{\ \ \#define\ SEGGER\_RTT\_UNLOCK()\ \ \ set\_psw(get\_psw()\ |\ \_SEGGER\_RTT\_\_LockState);\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00396}00396\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00397}00397\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00398}00398\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00399}00399\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00400}00400\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00401}00401\ \textcolor{comment}{*\ \ \ \ \ \ \ RTT\ lock\ configuration\ for\ embOS\ Simulation\ on\ Windows}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00402}00402\ \textcolor{comment}{*\ \ \ \ \ \ \ (Can\ also\ be\ used\ for\ generic\ RTT\ locking\ with\ embOS)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00403}00403\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00404}00404\ \textcolor{preprocessor}{\#if\ defined(WIN32)\ ||\ defined(SEGGER\_RTT\_LOCK\_EMBOS)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00405}00405\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00406}00406\ \textcolor{keywordtype}{void}\ OS\_SIM\_EnterCriticalSection(\textcolor{keywordtype}{void});}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00407}00407\ \textcolor{keywordtype}{void}\ OS\_SIM\_LeaveCriticalSection(\textcolor{keywordtype}{void});}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00408}00408\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00409}00409\ \textcolor{preprocessor}{\#define\ SEGGER\_RTT\_LOCK()\ \ \ \ \ \ \ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00410}00410\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OS\_SIM\_EnterCriticalSection();}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00411}00411\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00412}00412\ \textcolor{preprocessor}{\#define\ SEGGER\_RTT\_UNLOCK()\ \ \ \ \ \ \ OS\_SIM\_LeaveCriticalSection();\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00413}00413\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00414}00414\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00415}00415\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00416}00416\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00417}00417\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00418}00418\ \textcolor{comment}{*\ \ \ \ \ \ \ RTT\ lock\ configuration\ fallback}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00419}00419\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00420}00420\ \textcolor{preprocessor}{\#ifndef\ \ \ SEGGER\_RTT\_LOCK}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00421}00421\ \textcolor{preprocessor}{\ \ \#define\ SEGGER\_RTT\_LOCK()\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{//\ Lock\ RTT\ (nestable)\ \ \ (i.e.\ disable\ interrupts)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00422}00422\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00423}00423\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00424}00424\ \textcolor{preprocessor}{\#ifndef\ \ \ SEGGER\_RTT\_UNLOCK}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00425}00425\ \textcolor{preprocessor}{\ \ \#define\ SEGGER\_RTT\_UNLOCK()\ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{//\ Unlock\ RTT\ (nestable)\ (i.e.\ enable\ previous\ interrupt\ lock\ state)}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00426}00426\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00427}00427\ }
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00428}00428\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_____s_e_g_g_e_r___r_t_t___conf_8h_source_l00429}00429\ \textcolor{comment}{/***************************\ End\ of\ file\ ****************************/}}
|
||||
|
||||
\end{DoxyCode}
|
||||
118
AllLibs/MyLibs/Doc/latex/____mylibs__config_8h_source.tex
Normal file
118
AllLibs/MyLibs/Doc/latex/____mylibs__config_8h_source.tex
Normal file
@@ -0,0 +1,118 @@
|
||||
\doxysection{E\+:/.WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\+\_\+\+\_\+mylibs\+\_\+config.h}
|
||||
\hypertarget{____mylibs__config_8h_source}{}\label{____mylibs__config_8h_source}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00001}00001\ \textcolor{comment}{/**\ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00002}00002\ \textcolor{comment}{**************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00003}00003\ \textcolor{comment}{*\ @file\ mylibs\_config.h}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00004}00004\ \textcolor{comment}{*\ @brief\ Конфигурации\ для\ библиотек\ MyLibs}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00005}00005\ \textcolor{comment}{**************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00006}00006\ \textcolor{comment}{*\ @defgroup\ MYLIBS\_CONFIG\ \ \ Configs}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00007}00007\ \textcolor{comment}{*\ @ingroup\ \ MYLIBS\_ALL}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00008}00008\ \textcolor{comment}{*\ @brief\ \ \ \ Конфигурации\ для\ библиотек\ MyLibs}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00009}00009\ \textcolor{comment}{*\ @\{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00010}00010\ \textcolor{comment}{*************************************************************************/}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00011}00011\ \textcolor{preprocessor}{\#ifndef\ \_\_MYLIBS\_CONFIG\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00012}00012\ \textcolor{preprocessor}{\#define\ \_\_MYLIBS\_CONFIG\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00013}00013\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00014}00014\ \textcolor{preprocessor}{\#include\ "{}stm32f4xx\_hal.h"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00015}00015\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00016}00016\ \textcolor{comment}{//\ user\ includes}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00017}00017\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00018}00018\ \textcolor{comment}{/**\ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00019}00019\ \textcolor{comment}{\ \ *\ @addtogroup\ TRACE\_CONFIG\ \ \ Trace\ configs}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00020}00020\ \textcolor{comment}{\ \ *\ @ingroup\ \ \ \ MYLIBS\_CONFIG}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00021}00021\ \textcolor{comment}{\ \ *\ @brief\ \ \ \ \ \ Конфигурация\ трекеров\ и\ трассировки}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00022}00022\ \textcolor{comment}{\ \ *\ @\{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00023}00023\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00024}00024\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00025}\mbox{\hyperlink{group___t_r_a_c_e___c_o_n_f_i_g_gac9eaedc31ab023ce7d6403999216e496}{00025}}\ \textcolor{preprocessor}{\#define\ TRACKERS\_ENABLE\ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{///<\ Включить\ трекеры}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00026}\mbox{\hyperlink{group___t_r_a_c_e___c_o_n_f_i_g_ga76936505ca200d2e61226b7ba68f27c6}{00026}}\ \textcolor{preprocessor}{\#define\ SERIAL\_TRACE\_ENABLE\ \ \ \ \ \ \ }\textcolor{comment}{///<\ Включить\ serial\ трассировку}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00027}\mbox{\hyperlink{group___t_r_a_c_e___c_o_n_f_i_g_ga00ff2175bdc1fb11c8ec970ea3010dd8}{00027}}\ \textcolor{preprocessor}{\#define\ RTT\_TRACE\_ENABLE\ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{///<\ Включить\ serial\ трассировку\ через\ RTT}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00028}\mbox{\hyperlink{group___t_r_a_c_e___c_o_n_f_i_g_gab8db9704b5d11858aa879689b9d36336}{00028}}\ \textcolor{preprocessor}{\#define\ SWO\_TRACE\_ENABLE\ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{///<\ Включить\ serial\ трассировку\ через\ SWO}\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00029}00029\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00030}00030\ \textcolor{comment}{\ \ *\ @brief\ Уровень\ log\ serial\ трассировки\ @ref\ log\_printf}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00031}00031\ \textcolor{comment}{\ \ *\ \ -\/\ LOG\_LEVEL\ ==\ 0\ -\/\ логирование\ отключено\ (макрос\ пустой)}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00032}00032\ \textcolor{comment}{\ \ *\ \ -\/\ LOG\_LEVEL\ ==\ 1\ -\/\ выводится\ время\ и\ TAG}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00033}00033\ \textcolor{comment}{\ \ *\ \ -\/\ LOG\_LEVEL\ >=\ 2\ -\/\ выводится\ время,\ TAG,\ имя\ файла\ и\ номер\ строки}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00034}00034\ \textcolor{comment}{\ \ */}\textcolor{preprocessor}{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00035}\mbox{\hyperlink{group___t_r_a_c_e___c_o_n_f_i_g_ga0b87e0d3bf5853bcbb0b66a7c48fdc05}{00035}}\ \textcolor{preprocessor}{\#define\ LOG\_LEVEL\ 1}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00036}00036\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00037}\mbox{\hyperlink{group___t_r_a_c_e___c_o_n_f_i_g_ga501312b24e322de4dd6755ad442f0ba3}{00037}}\ \textcolor{preprocessor}{\#define\ RTT\_FLASH\_BUFFER\_SIZE\ \ \ 1024\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{///<\ Размер\ буфера\ RTT\ в\ Flash}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00038}\mbox{\hyperlink{group___t_r_a_c_e___c_o_n_f_i_g_ga3bc1b76864e1d32cbdd174d4caae7724}{00038}}\ \textcolor{preprocessor}{\#define\ RTT\_FLASH\_SECTOR\ \ \ \ \ \ \ \ FLASH\_SECTOR\_11\ \ \ \ \ \ \ \ \ }\textcolor{comment}{///<\ Сектор\ FLASH\ куда\ положится\ RTT\ буфер}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00039}\mbox{\hyperlink{group___t_r_a_c_e___c_o_n_f_i_g_ga8e56f75d3ab8a89ddde1404ae23c3297}{00039}}\ \textcolor{preprocessor}{\#define\ RTT\_FLASH\_SECTOR\_START\ \ 0x080E0000\ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{///<\ Начало\ сектора\ RTT\_FLASH\_SECTOR}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00040}\mbox{\hyperlink{group___t_r_a_c_e___c_o_n_f_i_g_gafeca0be3688dea07ff443f894668003d}{00040}}\ \textcolor{preprocessor}{\#define\ RTT\_FLASH\_SECTOR\_END\ \ \ \ 0x080FFFFF\ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{///<\ Конец\ сектора\ RTT\_FLASH\_SECTOR}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00041}00041\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00042}00042\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00043}\mbox{\hyperlink{group___t_r_a_c_e___c_o_n_f_i_g_ga47f454f804b4dbc26cae079e8d8641e6}{00043}}\ \textcolor{preprocessor}{\#define\ HARDFAULT\_SERIAL\_TRACE\ \ }\textcolor{comment}{///<\ Включить\ обработку\ и\ serial\ трассировку\ Hardfault}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00044}\mbox{\hyperlink{group___t_r_a_c_e___c_o_n_f_i_g_gadc960255719c7eff4bdfaa850be9b313}{00044}}\ \textcolor{preprocessor}{\#define\ HF\_RTT\_TAG\_BASE\ \ \ \ \ \ \ \ \ 0xDEAD0000\ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{///<\ базовый\ тег\ для\ HardFault}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00045}\mbox{\hyperlink{group___t_r_a_c_e___c_o_n_f_i_g_gafcc7ea03d4df8f1909e580b519a7f3ca}{00045}}\ \textcolor{preprocessor}{\#define\ HF\_RTT\_TAIL\_SIZE\ \ \ \ \ \ \ \ RTT\_FLASH\_BUFFER\_SIZE\ \ \ }\textcolor{comment}{///<\ Размер\ буфера\ RTT,\ который\ сохранится\ при\ Hardfault}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00046}\mbox{\hyperlink{group___t_r_a_c_e___c_o_n_f_i_g_gaa31234688b333a505aaa57b8ecdedf5b}{00046}}\ \textcolor{preprocessor}{\#define\ HF\_STACK\_DUMP\_WORDS\ \ \ \ \ 32\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{///<\ Сколько\ слов\ стека\ будет\ проанализировано\ во\ время\ Hardfault}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00047}\mbox{\hyperlink{group___t_r_a_c_e___c_o_n_f_i_g_ga0c602733a4a359bf8c095d71cd4d0f63}{00047}}\ \textcolor{preprocessor}{\#define\ HF\_FLASH\_ADDR\ \ \ \ \ \ \ \ \ \ \ ((uint32\_t)0x080FF000)\ \ }\textcolor{comment}{///<\ Адрес\ FLASH\ куда\ положится\ RTT\ буфер}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00048}\mbox{\hyperlink{group___t_r_a_c_e___c_o_n_f_i_g_ga92d0d14732edb7dfa21d483304bdb051}{00048}}\ \textcolor{preprocessor}{\#define\ HF\_RAM\_END\ \ \ \ \ \ \ \ \ \ \ \ \ \ 0x20030000\ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{///<\ Конец\ RAM\ памяти\ (чтобы\ во\ время\ анализа\ стека\ не\ выйти\ за\ пределы)}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00049}00049\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00050}\mbox{\hyperlink{group___t_r_a_c_e___c_o_n_f_i_g_ga4222e0e400ad81737cefcabeb03fd23b}{00050}}\ \textcolor{preprocessor}{\#define\ GPIO\_TRACE\_ENABLE\ \ \ \ \ \ \ \ \ }\textcolor{comment}{///<\ Включить\ GPIO\ трассировку}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00051}00051\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00052}00052\ \textcolor{comment}{/**\ TRACE\_CONFIG}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00053}00053\ \textcolor{comment}{\ \ *\ @\}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00054}00054\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00055}00055\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00056}00056\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00057}00057\ \textcolor{comment}{/**\ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00058}00058\ \textcolor{comment}{\ \ *\ @addtogroup\ GEN\_CONFIG\ \ \ Genetic\ configs}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00059}00059\ \textcolor{comment}{\ \ *\ @ingroup\ \ \ \ MYLIBS\_CONFIG}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00060}00060\ \textcolor{comment}{\ \ *\ @brief\ \ \ \ \ \ Конфигурация\ генетического\ алгоритма\ обучения}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00061}00061\ \textcolor{comment}{\ \ *\ @\{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00062}00062\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00063}00063\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00064}\mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_gae6d1db3c0b21f67cb0db2673d207b62c}{00064}}\ \textcolor{preprocessor}{\#define\ GEN\_OPTIMIZATION\_ENABLE\ \ \ \ \ \ \ }\textcolor{comment}{///<\ Включить\ оптимизацию\ параметров}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00065}\mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga8daf4b266a95353d580bd7946f47c0ab}{00065}}\ \textcolor{preprocessor}{\#define\ GEN\_MAX\_PARAMS\ \ \ \ \ \ \ 20\ \ \ \ \ \ \ }\textcolor{comment}{///<\ Максимальное\ количество\ параметров}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00066}\mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga201cffde04ebc6540869c74bd1dae869}{00066}}\ \textcolor{preprocessor}{\#define\ GEN\_MAX\_CANDIDATES\ \ \ 100\ \ \ \ \ \ }\textcolor{comment}{///<\ Максимальное\ количество\ кандидатов\ для\ обучения}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00067}00067\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00068}00068\ \textcolor{comment}{/**\ GEN\_CONFIG}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00069}00069\ \textcolor{comment}{\ \ *\ @\}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00070}00070\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00071}00071\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00072}00072\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00073}00073\ \textcolor{comment}{/**\ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00074}00074\ \textcolor{comment}{\ \ *\ @addtogroup\ GEN\_CONFIG\ \ \ Genetic\ configs}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00075}00075\ \textcolor{comment}{\ \ *\ @ingroup\ \ \ \ MYLIBS\_CONFIG}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00076}00076\ \textcolor{comment}{\ \ *\ @brief\ \ \ \ \ \ Конфигурация\ генетического\ алгоритма\ обучения}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00077}00077\ \textcolor{comment}{\ \ *\ @\{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00078}00078\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00079}00079\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00080}00080\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00081}\mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga67c3c54503b9bbd5d175ac46d37866d9}{00081}}\ \textcolor{preprocessor}{\#define\ BENCH\_TIME\_ENABLE\ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{///<\ Включить\ бенч\ времени}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00082}\mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga74fdf777ceefa5e7d67120fbda4cde52}{00082}}\ \textcolor{preprocessor}{\#define\ BENCH\_TIME\_MAX\_CHANNELS\ 16\ \ \ \ }\textcolor{comment}{///<\ Максимальное\ количество\ каналов\ измерения}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00083}00083\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00084}00084\ \textcolor{comment}{/**\ GEN\_CONFIG}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00085}00085\ \textcolor{comment}{\ \ *\ @\}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00086}00086\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00087}00087\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00088}00088\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00089}00089\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00090}00090\ \textcolor{comment}{/**\ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00091}00091\ \textcolor{comment}{\ \ *\ @addtogroup\ LIBS\_CONFIG\ \ \ Libraries\ configs}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00092}00092\ \textcolor{comment}{\ \ *\ @ingroup\ \ \ \ MYLIBS\_CONFIG}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00093}00093\ \textcolor{comment}{\ \ *\ @brief\ \ \ \ \ \ Подключение\ различных\ модулей\ библиотеки}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00094}00094\ \textcolor{comment}{\ \ *\ @\{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00095}00095\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00096}00096\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00097}\mbox{\hyperlink{group___l_i_b_s___c_o_n_f_i_g_ga9c853b02c22f26023c34d1d404b6d653}{00097}}\ \textcolor{preprocessor}{\#define\ local\_time()\ \ \ \ \ \ uwTick\ \ \ \ \ \ }\textcolor{comment}{///<\ Локальное\ время}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00098}00098\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00099}\mbox{\hyperlink{group___l_i_b_s___c_o_n_f_i_g_ga3cdc9ef47fd3ff080d38481295327692}{00099}}\ \textcolor{preprocessor}{\#define\ INCLUDE\_GEN\_OPTIMIZER\ \ \ \ \ \ }\textcolor{comment}{///<\ Подключить\ библиотеку\ для\ оптимизации\ параметров}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00100}\mbox{\hyperlink{group___l_i_b_s___c_o_n_f_i_g_gaf4ddb2a71ec0d05c2480e197cd17c0be}{00100}}\ \textcolor{preprocessor}{\#define\ INCLUDE\_BIT\_ACCESS\_LIB\ \ \ \ \ \ \ \ }\textcolor{comment}{///<\ Подключить\ библиотеку\ с\ typedef\ с\ битовыми\ полями}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00101}\mbox{\hyperlink{group___l_i_b_s___c_o_n_f_i_g_ga4403055986b70bb02b8d37073a122e32}{00101}}\ \textcolor{preprocessor}{\#define\ INCLUDE\_TRACKERS\_LIB\ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{///<\ Подключить\ библиотеку\ с\ трекерами}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00102}\mbox{\hyperlink{group___l_i_b_s___c_o_n_f_i_g_ga0a3ca94b616997069dd53e2c6c2687d7}{00102}}\ \textcolor{preprocessor}{\#define\ INCLUDE\_TRACE\_LIB\ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{///<\ Подключить\ библиотеку\ с\ трейсами}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00103}\mbox{\hyperlink{group___l_i_b_s___c_o_n_f_i_g_ga181a46326e46b60afb160190832c7281}{00103}}\ \textcolor{preprocessor}{\#define\ INCLUDE\_GENERAL\_PERIPH\_LIBS\ \ \ }\textcolor{comment}{///<\ Подключить\ библиотеку\ с\ периферией}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00104}\mbox{\hyperlink{group___l_i_b_s___c_o_n_f_i_g_ga57c369737d5c0cfdb7baeecba0a4b151}{00104}}\ \textcolor{preprocessor}{\#define\ FREERTOS\_DELAY\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\textcolor{comment}{///<\ Использовать\ FreeRTOS\ задержку,\ вместо\ HAL}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00105}00105\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00106}00106\ \textcolor{comment}{/**\ LIBS\_CONFIG}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00107}00107\ \textcolor{comment}{\ \ *\ @\}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00108}00108\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00109}00109\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00110}00110\ \textcolor{comment}{/**\ MYLIBS\_CONFIG}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00111}00111\ \textcolor{comment}{\ \ *\ @\}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00112}00112\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__config_8h_source_l00113}00113\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\_\_MYLIBS\_CONFIG\_H\_}}
|
||||
|
||||
\end{DoxyCode}
|
||||
141
AllLibs/MyLibs/Doc/latex/____mylibs__include_8h_source.tex
Normal file
141
AllLibs/MyLibs/Doc/latex/____mylibs__include_8h_source.tex
Normal file
@@ -0,0 +1,141 @@
|
||||
\doxysection{E\+:/.WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\+\_\+\+\_\+mylibs\+\_\+include.h}
|
||||
\hypertarget{____mylibs__include_8h_source}{}\label{____mylibs__include_8h_source}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00001}00001\ \textcolor{comment}{/**\ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00002}00002\ \textcolor{comment}{**************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00003}00003\ \textcolor{comment}{*\ @file\ mylibs\_include.h}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00004}00004\ \textcolor{comment}{*\ @brief\ Заголочный\ файл\ для\ всех\ библиотек}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00005}00005\ \textcolor{comment}{**************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00006}00006\ \textcolor{comment}{*\ @details}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00007}00007\ \textcolor{comment}{Здесь\ нужно\ собрать\ библиотеки\ и\ дефайны,\ которые\ должны\ быть\ видны\ во\ всем\ проекте,}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00008}00008\ \textcolor{comment}{чтобы\ не\ подключать\ 100\ инклюдов\ в\ каждом\ "{}.c"{}\ файле}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00009}00009\ \textcolor{comment}{**************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00010}00010\ \textcolor{comment}{*\ @defgroup\ MYLIBS\_ALL\ \ \ \ \ \ My\ Libs}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00011}00011\ \textcolor{comment}{*\ @brief\ \ \ \ Все\ используемые\ MyLibs\ библиотеки}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00012}00012\ \textcolor{comment}{*\ @details}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00013}00013\ \textcolor{comment}{Для\ подключения\ библиотеки\ необходимо:}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00014}00014\ \textcolor{comment}{-\/\ Сконфигурировать\ mylibs\_config.h:}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00015}00015\ \textcolor{comment}{\ \ -\/\ Подключить\ заголовочный\ файл\ HAL\ библиотеки\ конкретного\ МК\ (напр.\ stm32f4xx\_hal.h)}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00016}00016\ \textcolor{comment}{\ \ -\/\ Подключить\ другие\ заголовочные\ файлы\ которые\ общие\ для\ всего\ проекта\ и\ должны\ быть\ видны}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00017}00017\ \textcolor{comment}{\ \ -\/\ Подключить\ mylibs\_include.h\ туда,\ где\ необходим\ доступ\ к\ библиотекам.}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00018}00018\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00019}00019\ \textcolor{comment}{*************************************************************************/}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00020}00020\ \textcolor{preprocessor}{\#ifndef\ \_\_MYLIBS\_INCLUDE\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00021}00021\ \textcolor{preprocessor}{\#define\ \_\_MYLIBS\_INCLUDE\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00022}00022\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00023}00023\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{mylibs__defs_8h}{mylibs\_defs.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00024}00024\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00025}00025\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00026}00026\ \textcolor{preprocessor}{\#ifdef\ ARM\_MATH\_CM4}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00027}00027\ \textcolor{preprocessor}{\ \ \#include\ "{}arm\_math.h"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00028}00028\ \textcolor{preprocessor}{\#else}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00029}00029\ \textcolor{preprocessor}{\ \ \#include\ "{}math.h"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00030}00030\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00031}00031\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00032}00032\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00033}00033\ \textcolor{preprocessor}{\#ifdef\ INCLUDE\_BIT\_ACCESS\_LIB}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00034}00034\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{bit__access_8h}{bit\_access.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00035}00035\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00036}00036\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00037}00037\ \textcolor{preprocessor}{\#ifdef\ INCLUDE\_TRACKERS\_LIB}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00038}00038\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{trackers_8h}{trackers.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00039}00039\ \textcolor{preprocessor}{\#else}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00040}00040\ \textcolor{preprocessor}{\ \ \#define\ TrackerTypeDef(num\_user\_vars)\ void\ *}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00041}00041\ \textcolor{preprocessor}{\ \ \#define\ num\_of\_usercnts(\_user\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00042}00042\ \textcolor{preprocessor}{\ \ \#define\ assert\_tracecnt(\_cntstruct\_,\ \_uservarnumb\_)\ \ \ \ \ \ \ \ \ \ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00043}00043\ \textcolor{preprocessor}{\ \ \#define\ if\_assert\_usertracker(\_cntstruct\_,\ \_uservarnumb\_)\ \ \ \ \ if(0)}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00044}00044\ \textcolor{preprocessor}{\ \ \#define\ tern\_assert\_usertracker(\_cntstruct\_,\ \_uservarnumb\_)\ \ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00045}00045\ \textcolor{preprocessor}{\ \ \#define\ TrackerGet\_Ok(\_cntstruct\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ dummy}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00046}00046\ \textcolor{preprocessor}{\ \ \#define\ TrackerGet\_Err(\_cntstruct\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ dummy}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00047}00047\ \textcolor{preprocessor}{\ \ \#define\ TrackerGet\_Warn(\_cntstruct\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ dummy\ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00048}00048\ \textcolor{preprocessor}{\ \ \#define\ TrackerGet\_User(\_cntstruct\_,\ \_uservarnumb\_)\ \ \ \ \ \ \ \ \ \ \ dummy}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00049}00049\ \textcolor{preprocessor}{\ \ \#define\ TrackerCnt\_Ok(\_cntstruct\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00050}00050\ \textcolor{preprocessor}{\ \ \#define\ TrackerCnt\_Err(\_cntstruct\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00051}00051\ \textcolor{preprocessor}{\ \ \#define\ TrackerCnt\_Warn(\_cntstruct\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00052}00052\ \textcolor{preprocessor}{\ \ \#define\ TrackerCnt\_User(\_cntstruct\_,\ \_uservarnumb\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00053}00053\ \textcolor{preprocessor}{\ \ \#define\ TrackerWrite\_User(\_cntstruct\_,\ \_uservarnumb\_,\ \_val\_)}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00054}00054\ \textcolor{preprocessor}{\ \ \#define\ TrackerClear\_All(\_cntstruct\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00055}00055\ \textcolor{preprocessor}{\ \ \#define\ TrackerClear\_Ok(\_cntstruct\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00056}00056\ \textcolor{preprocessor}{\ \ \#define\ TrackerClear\_Err(\_cntstruct\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00057}00057\ \textcolor{preprocessor}{\ \ \#define\ TrackerClear\_Warn(\_cntstruct\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00058}00058\ \textcolor{preprocessor}{\ \ \#define\ TrackerClear\_User(\_cntstruct\_)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00059}00059\ \textcolor{preprocessor}{\ \ \#define\ TrackerClear\_UserAll(\_cntstruct\_)\ \ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00060}00060\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00061}00061\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00062}00062\ \textcolor{preprocessor}{\#ifdef\ INCLUDE\_TRACE\_LIB}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00063}00063\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{trace_8h}{trace.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00064}00064\ \textcolor{preprocessor}{\#else}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00065}00065\ \textcolor{preprocessor}{\#define\ my\_printf(...)}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00066}00066\ \textcolor{preprocessor}{\#define\ log\_printf(TAG,\ fmt,\ ...)\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00067}00067\ \textcolor{preprocessor}{\#define\ TRACE\_GPIO\_SET(\_gpio\_,\_pin\_)}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00068}00068\ \textcolor{preprocessor}{\#define\ TRACE\_GPIO\_RESET(\_gpio\_,\_pin\_)}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00069}00069\ \textcolor{preprocessor}{\#define\ RTT\_FlashPrepare(...)}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00070}00070\ \textcolor{preprocessor}{\#define\ RTT\_EraseFlash(...)\ \ \ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00071}00071\ \textcolor{preprocessor}{\#define\ RTT\_SaveToFlash(...)\ \ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00072}00072\ \textcolor{preprocessor}{\#define\ RTT\_ReadFromFlash(...)\ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00073}00073\ \textcolor{preprocessor}{\#define\ HF\_CheckRecovered(...)\ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00074}00074\ \textcolor{preprocessor}{\#define\ HF\_HandleFault(...)}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00075}00075\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00076}00076\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00077}00077\ \textcolor{preprocessor}{\#ifdef\ INCLUDE\_GEN\_OPTIMIZER}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00078}00078\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{gen__optimizer_8h}{gen\_optimizer.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00079}00079\ \textcolor{preprocessor}{\#else}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00080}00080\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00081}00081\ \ \ uint16\_t\ n\_params;\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00082}00082\ \ \ uint16\_t\ n\_cand;\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00083}00083\ \ \ uint16\_t\ n\_best;\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00084}00084\ \ \ uint16\_t\ iq\_mutation;\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00085}00085\ \ \ int32\_t\ loss[0];\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00086}00086\ \ \ int32\_t\ candidates[0][0];\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00087}00087\ \}\ \mbox{\hyperlink{struct_gen_optimizer__t}{GenOptimizer\_t}};}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00088}00088\ \textcolor{preprocessor}{\#define\ GenOptimizer\_Init(opt,\ n\_params,\ n\_cand,\ n\_best,\ iq\_mutation,\ start\_params)}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00089}00089\ \textcolor{preprocessor}{\#define\ GenOptimizer\_Step(opt,\ params,\ LossFunc)}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00090}00090\ \textcolor{preprocessor}{\#define\ PARAM\_SCALE\_Q16(x,\ min\_val,\ max\_val)\ \ \ \ \ \ \ \ \ \ \ \ (x)}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00091}00091\ \textcolor{preprocessor}{\#define\ PARAM\_UNSCALE\_Q16(q16\_val,\ min\_val,\ max\_val)\ \ \ \ (q16\_val)}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00092}00092\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00093}00093\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00094}00094\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00095}00095\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00096}00096\ \textcolor{preprocessor}{\#ifdef\ INCLUDE\_BENCH\_TEST}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00097}00097\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{bench__time_8h}{bench\_time.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00098}00098\ \textcolor{preprocessor}{\#else\ }\textcolor{comment}{//BENCH\_TIME\_ENABLE}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00099}00099\ \textcolor{preprocessor}{\#define\ BenchTime\_Init()}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00100}00100\ \textcolor{preprocessor}{\#define\ BenchTime\_Start(channel,\ ticks,\ tick\_period)\ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00101}00101\ \textcolor{preprocessor}{\#define\ BenchTime\_End(channel,\ ticks)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00102}00102\ \textcolor{preprocessor}{\#define\ BenchTime\_GetMin(channel)\ \ \ \ \ \ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00103}00103\ \textcolor{preprocessor}{\#define\ BenchTime\_GetMax(channel)\ \ \ \ \ \ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00104}00104\ \textcolor{preprocessor}{\#define\ BenchTime\_GetAverage(channel)\ \ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00105}00105\ \textcolor{preprocessor}{\#define\ BenchTime\_GetCount(channel)\ \ \ \ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00106}00106\ \textcolor{preprocessor}{\#define\ BenchTime\_GetLast(channel)\ \ \ \ \ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00107}00107\ \textcolor{preprocessor}{\#define\ BenchTime\_ResetStats(channel)}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00108}00108\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//BENCH\_TIME\_ENABLE}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00109}00109\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00110}00110\ \textcolor{preprocessor}{\#ifdef\ INCLUDE\_GENERAL\_PERIPH\_LIBS}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00111}00111\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00112}00112\ \textcolor{preprocessor}{\#include\ "{}\_\_general\_flash.h"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00113}00113\ \textcolor{preprocessor}{\#include\ "{}general\_gpio.h"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00114}00114\ \textcolor{preprocessor}{\#ifdef\ HAL\_SPI\_MODULE\_ENABLED}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00115}00115\ \textcolor{preprocessor}{\#include\ "{}general\_spi.h"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00116}00116\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00117}00117\ \textcolor{preprocessor}{\#ifdef\ HAL\_UART\_MODULE\_ENABLED}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00118}00118\ \textcolor{preprocessor}{\#include\ "{}general\_uart.h"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00119}00119\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00120}00120\ \textcolor{preprocessor}{\#ifdef\ HAL\_TIM\_MODULE\_ENABLED}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00121}00121\ \textcolor{preprocessor}{\#include\ "{}general\_tim.h"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00122}00122\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00123}00123\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00124}00124\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//INCLUDE\_GENERAL\_PERIPH\_LIBS}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00125}00125\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00126}00126\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00127}00127\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00128}00128\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00129}00129\ \textcolor{comment}{/////////////////////////-\/-\/-\/USER\ SETTINGS-\/-\/-\//////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00130}00130\ \textcolor{comment}{//\ user\ includes}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00131}00131\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00132}00132\ \textcolor{comment}{//\ user\ settings}\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00133}00133\ \textcolor{comment}{/////////////////////////-\/-\/-\/USER\ SETTINGS-\/-\/-\//////////////////////////}}
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00134}00134\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00135}00135\ }
|
||||
\DoxyCodeLine{\Hypertarget{____mylibs__include_8h_source_l00136}00136\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ \_\_MYLIBS\_INCLUDE\_H\_}}
|
||||
|
||||
\end{DoxyCode}
|
||||
2105
AllLibs/MyLibs/Doc/latex/_s_e_g_g_e_r___r_t_t_8c_source.tex
Normal file
2105
AllLibs/MyLibs/Doc/latex/_s_e_g_g_e_r___r_t_t_8c_source.tex
Normal file
File diff suppressed because one or more lines are too long
519
AllLibs/MyLibs/Doc/latex/_s_e_g_g_e_r___r_t_t_8h_source.tex
Normal file
519
AllLibs/MyLibs/Doc/latex/_s_e_g_g_e_r___r_t_t_8h_source.tex
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,400 @@
|
||||
\doxysection{SEGGER\+\_\+\+RTT\+\_\+\+Syscalls\+\_\+\+KEIL.\+c}
|
||||
\hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source}{}\label{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source}\index{E:/.WORK/STM32/STM\_Libs/STM32\_ExtendedLibs/RTT/SEGGER\_RTT\_Syscalls\_KEIL.c@{E:/.WORK/STM32/STM\_Libs/STM32\_ExtendedLibs/RTT/SEGGER\_RTT\_Syscalls\_KEIL.c}}
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00001}00001\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00002}00002\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ SEGGER\ Microcontroller\ GmbH\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00003}00003\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ The\ Embedded\ Experts\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00004}00004\ \textcolor{comment}{**********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00005}00005\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00006}00006\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ (c)\ 1995\ -\/\ 2021\ SEGGER\ Microcontroller\ GmbH\ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00007}00007\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00008}00008\ \textcolor{comment}{*\ \ \ \ \ \ \ www.segger.com\ \ \ \ \ Support:\ support@segger.com\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00009}00009\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00010}00010\ \textcolor{comment}{**********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00011}00011\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00012}00012\ \textcolor{comment}{*\ \ \ \ \ \ \ SEGGER\ RTT\ *\ Real\ Time\ Transfer\ for\ embedded\ targets\ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00013}00013\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00014}00014\ \textcolor{comment}{**********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00015}00015\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00016}00016\ \textcolor{comment}{*\ All\ rights\ reserved.\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00017}00017\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00018}00018\ \textcolor{comment}{*\ SEGGER\ strongly\ recommends\ to\ not\ make\ any\ changes\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00019}00019\ \textcolor{comment}{*\ to\ or\ modify\ the\ source\ code\ of\ this\ software\ in\ order\ to\ stay\ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00020}00020\ \textcolor{comment}{*\ compatible\ with\ the\ RTT\ protocol\ and\ J-\/Link.\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00021}00021\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00022}00022\ \textcolor{comment}{*\ Redistribution\ and\ use\ in\ source\ and\ binary\ forms,\ with\ or\ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00023}00023\ \textcolor{comment}{*\ without\ modification,\ are\ permitted\ provided\ that\ the\ following\ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00024}00024\ \textcolor{comment}{*\ condition\ is\ met:\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00025}00025\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00026}00026\ \textcolor{comment}{*\ o\ Redistributions\ of\ source\ code\ must\ retain\ the\ above\ copyright\ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00027}00027\ \textcolor{comment}{*\ \ \ notice,\ this\ condition\ and\ the\ following\ disclaimer.\ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00028}00028\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00029}00029\ \textcolor{comment}{*\ THIS\ SOFTWARE\ IS\ PROVIDED\ BY\ THE\ COPYRIGHT\ HOLDERS\ AND\ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00030}00030\ \textcolor{comment}{*\ CONTRIBUTORS\ "{}AS\ IS"{}\ AND\ ANY\ EXPRESS\ OR\ IMPLIED\ WARRANTIES,\ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00031}00031\ \textcolor{comment}{*\ INCLUDING,\ BUT\ NOT\ LIMITED\ TO,\ THE\ IMPLIED\ WARRANTIES\ OF\ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00032}00032\ \textcolor{comment}{*\ MERCHANTABILITY\ AND\ FITNESS\ FOR\ A\ PARTICULAR\ PURPOSE\ ARE\ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00033}00033\ \textcolor{comment}{*\ DISCLAIMED.\ IN\ NO\ EVENT\ SHALL\ SEGGER\ Microcontroller\ BE\ LIABLE\ FOR\ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00034}00034\ \textcolor{comment}{*\ ANY\ DIRECT,\ INDIRECT,\ INCIDENTAL,\ SPECIAL,\ EXEMPLARY,\ OR\ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00035}00035\ \textcolor{comment}{*\ CONSEQUENTIAL\ DAMAGES\ (INCLUDING,\ BUT\ NOT\ LIMITED\ TO,\ PROCUREMENT\ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00036}00036\ \textcolor{comment}{*\ OF\ SUBSTITUTE\ GOODS\ OR\ SERVICES;\ LOSS\ OF\ USE,\ DATA,\ OR\ PROFITS;\ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00037}00037\ \textcolor{comment}{*\ OR\ BUSINESS\ INTERRUPTION)\ HOWEVER\ CAUSED\ AND\ ON\ ANY\ THEORY\ OF\ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00038}00038\ \textcolor{comment}{*\ LIABILITY,\ WHETHER\ IN\ CONTRACT,\ STRICT\ LIABILITY,\ OR\ TORT\ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00039}00039\ \textcolor{comment}{*\ (INCLUDING\ NEGLIGENCE\ OR\ OTHERWISE)\ ARISING\ IN\ ANY\ WAY\ OUT\ OF\ THE\ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00040}00040\ \textcolor{comment}{*\ USE\ OF\ THIS\ SOFTWARE,\ EVEN\ IF\ ADVISED\ OF\ THE\ POSSIBILITY\ OF\ SUCH\ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00041}00041\ \textcolor{comment}{*\ DAMAGE.\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00042}00042\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00043}00043\ \textcolor{comment}{**********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00044}00044\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00045}00045\ \textcolor{comment}{*\ \ \ \ \ \ \ RTT\ version:\ 7.54\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00046}00046\ \textcolor{comment}{*\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00047}00047\ \textcolor{comment}{**********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00048}00048\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00049}00049\ \textcolor{comment}{-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/END-\/OF-\/HEADER-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00050}00050\ \textcolor{comment}{File\ \ \ \ :\ RTT\_Syscalls\_KEIL.c}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00051}00051\ \textcolor{comment}{Purpose\ :\ Retargeting\ module\ for\ KEIL\ MDK-\/CM3.}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00052}00052\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ Low-\/level\ functions\ for\ using\ printf()\ via\ RTT}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00053}00053\ \textcolor{comment}{Revision:\ \$Rev:\ 24316\ \$}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00054}00054\ \textcolor{comment}{Notes\ \ \ :\ (1)\ https://wiki.segger.com/Keil\_MDK-\/ARM\#RTT\_in\_uVision}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00055}00055\ \textcolor{comment}{-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00056}00056\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00057}00057\ \textcolor{preprocessor}{\#if\ (defined\ \_\_CC\_ARM)\ ||\ (defined\ \_\_ARMCC\_VERSION)}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00058}00058\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00059}00059\ \textcolor{preprocessor}{\#include\ <stdio.h>}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00060}00060\ \textcolor{preprocessor}{\#include\ <stdlib.h>}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00061}00061\ \textcolor{preprocessor}{\#include\ <string.h>}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00062}00062\ \textcolor{preprocessor}{\#include\ <rt\_sys.h>}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00063}00063\ \textcolor{preprocessor}{\#include\ <rt\_misc.h>}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00064}00064\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00065}00065\ \textcolor{preprocessor}{\#include\ "{}SEGGER\_RTT.h"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00066}00066\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00067}00067\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00068}00068\ \textcolor{comment}{*\ \ \ \ \ \ \ \#pragmas}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00069}00069\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00070}00070\ \textcolor{comment}{**********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00071}00071\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00072}00072\ \textcolor{preprocessor}{\#if\ \_\_ARMCC\_VERSION\ <\ 6000000}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00073}00073\ \textcolor{preprocessor}{\#pragma\ import(\_\_use\_no\_semihosting)}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00074}00074\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00075}00075\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00076}00076\ \textcolor{preprocessor}{\#ifdef\ \_MICROLIB}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00077}00077\ \textcolor{preprocessor}{\ \ \#pragma\ import(\_\_use\_full\_stdio)}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00078}00078\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00079}00079\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00080}00080\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00081}00081\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00082}00082\ \textcolor{comment}{*\ \ \ \ \ \ \ Defines\ non-\/configurable}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00083}00083\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00084}00084\ \textcolor{comment}{**********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00085}00085\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00086}00086\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00087}00087\ \textcolor{comment}{/*\ Standard\ IO\ device\ handles\ -\/\ arbitrary,\ but\ any\ real\ file\ system\ handles\ must\ be}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00088}00088\ \textcolor{comment}{\ \ \ less\ than\ 0x8000.\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00089}00089\ \textcolor{preprocessor}{\#define\ STDIN\ \ \ \ \ \ \ \ \ \ \ \ \ 0x8001\ \ \ \ }\textcolor{comment}{//\ Standard\ Input\ Stream}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00090}00090\ \textcolor{preprocessor}{\#define\ STDOUT\ \ \ \ \ \ \ \ \ \ \ \ 0x8002\ \ \ \ }\textcolor{comment}{//\ Standard\ Output\ Stream}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00091}00091\ \textcolor{preprocessor}{\#define\ STDERR\ \ \ \ \ \ \ \ \ \ \ \ 0x8003\ \ \ \ }\textcolor{comment}{//\ Standard\ Error\ Stream}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00092}00092\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00093}00093\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00094}00094\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00095}00095\ \textcolor{comment}{*\ \ \ \ \ \ \ Public\ const}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00096}00096\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00097}00097\ \textcolor{comment}{**********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00098}00098\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00099}00099\ \textcolor{preprocessor}{\#if\ \_\_ARMCC\_VERSION\ <\ 5000000}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00100}00100\ \textcolor{comment}{//const\ char\ \_\_stdin\_name[]\ \ =\ "{}STDIN"{};}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00101}00101\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ \_\_stdout\_name[]\ =\ \textcolor{stringliteral}{"{}STDOUT"{}};}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00102}00102\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ \_\_stderr\_name[]\ =\ \textcolor{stringliteral}{"{}STDERR"{}};}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00103}00103\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00104}00104\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00105}00105\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00106}00106\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00107}00107\ \textcolor{comment}{*\ \ \ \ \ \ \ Public\ code}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00108}00108\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00109}00109\ \textcolor{comment}{**********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00110}00110\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00111}00111\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00112}00112\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00113}00113\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00114}00114\ \textcolor{comment}{*\ \ \ \ \ \ \ \_ttywrch}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00115}00115\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00116}00116\ \textcolor{comment}{*\ \ Function\ description:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00117}00117\ \textcolor{comment}{*\ \ \ \ Outputs\ a\ character\ to\ the\ console}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00118}00118\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00119}00119\ \textcolor{comment}{*\ \ Parameters:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00120}00120\ \textcolor{comment}{*\ \ \ \ c\ \ \ \ -\/\ character\ to\ output}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00121}00121\ \textcolor{comment}{*\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00122}00122\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00123}00123\ \textcolor{keywordtype}{void}\ \_ttywrch(\textcolor{keywordtype}{int}\ c)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00124}00124\ \ \ fputc(c,\ stdout);\ \textcolor{comment}{//\ stdout}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00125}00125\ \ \ fflush(stdout);}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00126}00126\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00127}00127\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00128}00128\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00129}00129\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00130}00130\ \textcolor{comment}{*\ \ \ \ \ \ \ \_sys\_open}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00131}00131\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00132}00132\ \textcolor{comment}{*\ \ Function\ description:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00133}00133\ \textcolor{comment}{*\ \ \ \ Opens\ the\ device/file\ in\ order\ to\ do\ read/write\ operations}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00134}00134\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00135}00135\ \textcolor{comment}{*\ \ Parameters:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00136}00136\ \textcolor{comment}{*\ \ \ \ sName\ \ \ \ \ \ \ \ -\/\ sName\ of\ the\ device/file\ to\ open}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00137}00137\ \textcolor{comment}{*\ \ \ \ OpenMode\ \ \ \ -\/\ This\ parameter\ is\ currently\ ignored}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00138}00138\ \textcolor{comment}{*\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00139}00139\ \textcolor{comment}{*\ \ Return\ value:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00140}00140\ \textcolor{comment}{*\ \ \ \ !=\ 0\ \ \ \ \ -\/\ Handle\ to\ the\ object\ to\ open,\ otherwise\ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00141}00141\ \textcolor{comment}{*\ \ \ \ ==\ 0\ \ \ \ \ -\/"{}device"{}\ is\ not\ handled\ by\ this\ module}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00142}00142\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00143}00143\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00144}00144\ FILEHANDLE\ \_sys\_open(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *\ sName,\ \textcolor{keywordtype}{int}\ OpenMode)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00145}00145\ \ \ (void)OpenMode;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00146}00146\ \ \ \textcolor{comment}{//\ Register\ standard\ Input\ Output\ devices.}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00147}00147\ \ \ \textcolor{keywordflow}{if}\ (strcmp(sName,\ \_\_stdout\_name)\ ==\ 0)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00148}00148\ \ \ \ \ \textcolor{keywordflow}{return}\ (STDOUT);}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00149}00149\ \ \ \}\ \textcolor{keywordflow}{else}\ \textcolor{keywordflow}{if}\ (strcmp(sName,\ \_\_stderr\_name)\ ==\ 0)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00150}00150\ \ \ \ \ \textcolor{keywordflow}{return}\ (STDERR);}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00151}00151\ \ \ \}\ \textcolor{keywordflow}{else}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00152}00152\ \ \ \textcolor{keywordflow}{return}\ (0);\ \ \textcolor{comment}{//\ Not\ implemented}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00153}00153\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00154}00154\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00155}00155\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00156}00156\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00157}00157\ \textcolor{comment}{*\ \ \ \ \ \ \ \_sys\_close}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00158}00158\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00159}00159\ \textcolor{comment}{*\ \ Function\ description:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00160}00160\ \textcolor{comment}{*\ \ \ \ Closes\ the\ handle\ to\ the\ open\ device/file}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00161}00161\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00162}00162\ \textcolor{comment}{*\ \ Parameters:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00163}00163\ \textcolor{comment}{*\ \ \ \ hFile\ \ \ \ -\/\ Handle\ to\ a\ file\ opened\ via\ \_sys\_open}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00164}00164\ \textcolor{comment}{*\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00165}00165\ \textcolor{comment}{*\ \ Return\ value:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00166}00166\ \textcolor{comment}{*\ \ \ \ 0\ \ \ \ \ -\/\ device/file\ closed}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00167}00167\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00168}00168\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00169}00169\ \textcolor{keywordtype}{int}\ \_sys\_close(FILEHANDLE\ hFile)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00170}00170\ \ \ (void)hFile;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00171}00171\ \ \ \textcolor{keywordflow}{return}\ 0;\ \ \textcolor{comment}{//\ Not\ implemented}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00172}00172\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00173}00173\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00174}00174\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00175}00175\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00176}00176\ \textcolor{comment}{*\ \ \ \ \ \ \ \_sys\_write}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00177}00177\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00178}00178\ \textcolor{comment}{*\ \ Function\ description:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00179}00179\ \textcolor{comment}{*\ \ \ \ Writes\ the\ data\ to\ an\ open\ handle.}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00180}00180\ \textcolor{comment}{*\ \ \ \ Currently\ this\ function\ only\ outputs\ data\ to\ the\ console}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00181}00181\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00182}00182\ \textcolor{comment}{*\ \ Parameters:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00183}00183\ \textcolor{comment}{*\ \ \ \ hFile\ \ \ \ -\/\ Handle\ to\ a\ file\ opened\ via\ \_sys\_open}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00184}00184\ \textcolor{comment}{*\ \ \ \ pBuffer\ \ -\/\ Pointer\ to\ the\ data\ that\ shall\ be\ written}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00185}00185\ \textcolor{comment}{*\ \ \ \ NumBytes\ \ \ \ \ \ -\/\ Number\ of\ bytes\ to\ write}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00186}00186\ \textcolor{comment}{*\ \ \ \ Mode\ \ \ \ \ -\/\ The\ Mode\ that\ shall\ be\ used}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00187}00187\ \textcolor{comment}{*\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00188}00188\ \textcolor{comment}{*\ \ Return\ value:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00189}00189\ \textcolor{comment}{*\ \ \ \ Number\ of\ bytes\ *not*\ written\ to\ the\ file/device}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00190}00190\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00191}00191\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00192}00192\ \textcolor{keywordtype}{int}\ \_sys\_write(FILEHANDLE\ hFile,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{char}\ *\ pBuffer,\ \textcolor{keywordtype}{unsigned}\ NumBytes,\ \textcolor{keywordtype}{int}\ Mode)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00193}00193\ \ \ \textcolor{keywordtype}{int}\ r\ =\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00194}00194\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00195}00195\ \ \ (void)Mode;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00196}00196\ \ \ \textcolor{keywordflow}{if}\ (hFile\ ==\ STDOUT)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00197}00197\ \ \ \ \ SEGGER\_RTT\_Write(0,\ (\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}*)pBuffer,\ NumBytes);}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00198}00198\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00199}00199\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00200}00200\ \ \ \textcolor{keywordflow}{return}\ r;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00201}00201\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00202}00202\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00203}00203\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00204}00204\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00205}00205\ \textcolor{comment}{*\ \ \ \ \ \ \ \_sys\_read}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00206}00206\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00207}00207\ \textcolor{comment}{*\ \ Function\ description:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00208}00208\ \textcolor{comment}{*\ \ \ \ Reads\ data\ from\ an\ open\ handle.}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00209}00209\ \textcolor{comment}{*\ \ \ \ Currently\ this\ modules\ does\ nothing.}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00210}00210\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00211}00211\ \textcolor{comment}{*\ \ Parameters:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00212}00212\ \textcolor{comment}{*\ \ \ \ hFile\ \ \ \ -\/\ Handle\ to\ a\ file\ opened\ via\ \_sys\_open}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00213}00213\ \textcolor{comment}{*\ \ \ \ pBuffer\ \ -\/\ Pointer\ to\ buffer\ to\ store\ the\ read\ data}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00214}00214\ \textcolor{comment}{*\ \ \ \ NumBytes\ \ \ \ \ \ -\/\ Number\ of\ bytes\ to\ read}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00215}00215\ \textcolor{comment}{*\ \ \ \ Mode\ \ \ \ \ -\/\ The\ Mode\ that\ shall\ be\ used}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00216}00216\ \textcolor{comment}{*\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00217}00217\ \textcolor{comment}{*\ \ Return\ value:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00218}00218\ \textcolor{comment}{*\ \ \ \ Number\ of\ bytes\ read\ from\ the\ file/device}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00219}00219\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00220}00220\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00221}00221\ \textcolor{keywordtype}{int}\ \_sys\_read(FILEHANDLE\ hFile,\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{char}\ *\ pBuffer,\ \textcolor{keywordtype}{unsigned}\ NumBytes,\ \textcolor{keywordtype}{int}\ Mode)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00222}00222\ \ \ (void)hFile;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00223}00223\ \ \ (void)pBuffer;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00224}00224\ \ \ (void)NumBytes;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00225}00225\ \ \ (void)Mode;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00226}00226\ \ \ \textcolor{keywordflow}{return}\ (0);\ \ \textcolor{comment}{//\ Not\ implemented}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00227}00227\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00228}00228\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00229}00229\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00230}00230\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00231}00231\ \textcolor{comment}{*\ \ \ \ \ \ \ \_sys\_istty}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00232}00232\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00233}00233\ \textcolor{comment}{*\ \ Function\ description:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00234}00234\ \textcolor{comment}{*\ \ \ \ This\ function\ shall\ return\ whether\ the\ opened\ file\ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00235}00235\ \textcolor{comment}{*\ \ \ \ is\ a\ console\ device\ or\ not.}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00236}00236\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00237}00237\ \textcolor{comment}{*\ \ Parameters:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00238}00238\ \textcolor{comment}{*\ \ \ \ hFile\ \ \ \ -\/\ Handle\ to\ a\ file\ opened\ via\ \_sys\_open}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00239}00239\ \textcolor{comment}{*\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00240}00240\ \textcolor{comment}{*\ \ Return\ value:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00241}00241\ \textcolor{comment}{*\ \ \ \ 1\ \ \ \ \ \ \ -\/\ Device\ is\ \ \ \ \ a\ console}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00242}00242\ \textcolor{comment}{*\ \ \ \ 0\ \ \ \ \ \ \ -\/\ Device\ is\ not\ a\ console}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00243}00243\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00244}00244\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00245}00245\ \textcolor{keywordtype}{int}\ \_sys\_istty(FILEHANDLE\ hFile)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00246}00246\ \ \ \textcolor{keywordflow}{if}\ (hFile\ >\ 0x8000)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00247}00247\ \ \ \ \ \textcolor{keywordflow}{return}\ (1);}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00248}00248\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00249}00249\ \ \ \textcolor{keywordflow}{return}\ (0);\ \ \textcolor{comment}{//\ Not\ implemented}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00250}00250\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00251}00251\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00252}00252\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00253}00253\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00254}00254\ \textcolor{comment}{*\ \ \ \ \ \ \ \_sys\_seek}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00255}00255\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00256}00256\ \textcolor{comment}{*\ \ Function\ description:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00257}00257\ \textcolor{comment}{*\ \ \ \ Seeks\ via\ the\ file\ to\ a\ specific\ position}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00258}00258\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00259}00259\ \textcolor{comment}{*\ \ Parameters:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00260}00260\ \textcolor{comment}{*\ \ \ \ hFile\ \ -\/\ Handle\ to\ a\ file\ opened\ via\ \_sys\_open}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00261}00261\ \textcolor{comment}{*\ \ \ \ Pos\ \ \ \ -\/\ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00262}00262\ \textcolor{comment}{*\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00263}00263\ \textcolor{comment}{*\ \ Return\ value:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00264}00264\ \textcolor{comment}{*\ \ \ \ int\ \ \ \ \ \ \ -\/\ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00265}00265\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00266}00266\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00267}00267\ \textcolor{keywordtype}{int}\ \_sys\_seek(FILEHANDLE\ hFile,\ \textcolor{keywordtype}{long}\ Pos)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00268}00268\ \ \ (void)hFile;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00269}00269\ \ \ (void)Pos;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00270}00270\ \ \ \textcolor{keywordflow}{return}\ (0);\ \ \textcolor{comment}{//\ Not\ implemented}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00271}00271\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00272}00272\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00273}00273\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00274}00274\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00275}00275\ \textcolor{comment}{*\ \ \ \ \ \ \ \_sys\_ensure}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00276}00276\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00277}00277\ \textcolor{comment}{*\ \ Function\ description:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00278}00278\ \textcolor{comment}{*\ \ \ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00279}00279\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00280}00280\ \textcolor{comment}{*\ \ Parameters:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00281}00281\ \textcolor{comment}{*\ \ \ \ hFile\ \ \ \ -\/\ Handle\ to\ a\ file\ opened\ via\ \_sys\_open}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00282}00282\ \textcolor{comment}{*\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00283}00283\ \textcolor{comment}{*\ \ Return\ value:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00284}00284\ \textcolor{comment}{*\ \ \ \ int\ \ \ \ \ \ \ -\/\ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00285}00285\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00286}00286\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00287}00287\ \textcolor{keywordtype}{int}\ \_sys\_ensure(FILEHANDLE\ hFile)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00288}00288\ \ \ (void)hFile;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00289}00289\ \ \ \textcolor{keywordflow}{return}\ (-\/1);\ \ \textcolor{comment}{//\ Not\ implemented}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00290}00290\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00291}00291\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00292}00292\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00293}00293\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00294}00294\ \textcolor{comment}{*\ \ \ \ \ \ \ \_sys\_flen}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00295}00295\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00296}00296\ \textcolor{comment}{*\ \ Function\ description:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00297}00297\ \textcolor{comment}{*\ \ \ \ Returns\ the\ length\ of\ the\ opened\ file\ handle}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00298}00298\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00299}00299\ \textcolor{comment}{*\ \ Parameters:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00300}00300\ \textcolor{comment}{*\ \ \ \ hFile\ \ \ \ -\/\ Handle\ to\ a\ file\ opened\ via\ \_sys\_open}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00301}00301\ \textcolor{comment}{*\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00302}00302\ \textcolor{comment}{*\ \ Return\ value:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00303}00303\ \textcolor{comment}{*\ \ \ \ Length\ of\ the\ file}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00304}00304\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00305}00305\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00306}00306\ \textcolor{keywordtype}{long}\ \_sys\_flen(FILEHANDLE\ hFile)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00307}00307\ \ \ (void)hFile;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00308}00308\ \ \ \textcolor{keywordflow}{return}\ (0);\ \ \textcolor{comment}{//\ Not\ implemented}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00309}00309\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00310}00310\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00311}00311\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00312}00312\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00313}00313\ \textcolor{comment}{*\ \ \ \ \ \ \ \_sys\_tmpnam}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00314}00314\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00315}00315\ \textcolor{comment}{*\ \ Function\ description:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00316}00316\ \textcolor{comment}{*\ \ \ \ This\ function\ converts\ the\ file\ number\ fileno\ for\ a\ temporary\ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00317}00317\ \textcolor{comment}{*\ \ \ \ file\ to\ a\ unique\ filename,\ for\ example,\ tmp0001.}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00318}00318\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00319}00319\ \textcolor{comment}{*\ \ Parameters:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00320}00320\ \textcolor{comment}{*\ \ \ \ pBuffer\ \ \ \ -\/\ Pointer\ to\ a\ buffer\ to\ store\ the\ name}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00321}00321\ \textcolor{comment}{*\ \ \ \ FileNum\ \ \ \ -\/\ file\ number\ to\ convert}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00322}00322\ \textcolor{comment}{*\ \ \ \ MaxLen\ \ \ \ \ -\/\ Size\ of\ the\ buffer}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00323}00323\ \textcolor{comment}{*\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00324}00324\ \textcolor{comment}{*\ \ Return\ value:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00325}00325\ \textcolor{comment}{*\ \ \ \ \ 1\ -\/\ Error}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00326}00326\ \textcolor{comment}{*\ \ \ \ \ 0\ -\/\ Success\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00327}00327\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00328}00328\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00329}00329\ \textcolor{keywordtype}{int}\ \_sys\_tmpnam2(\textcolor{keywordtype}{char}\ *\ pBuffer,\ \textcolor{keywordtype}{int}\ FileNum,\ \textcolor{keywordtype}{unsigned}\ MaxLen)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00330}00330\ \ \ (void)pBuffer;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00331}00331\ \ \ (void)FileNum;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00332}00332\ \ \ (void)MaxLen;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00333}00333\ \ \ \textcolor{keywordflow}{return}\ (1);\ \ \textcolor{comment}{//\ Not\ implemented}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00334}00334\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00335}00335\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00336}00336\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00337}00337\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00338}00338\ \textcolor{comment}{*\ \ \ \ \ \ \ \_sys\_command\_string}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00339}00339\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00340}00340\ \textcolor{comment}{*\ \ Function\ description:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00341}00341\ \textcolor{comment}{*\ \ \ \ This\ function\ shall\ execute\ a\ system\ command.}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00342}00342\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00343}00343\ \textcolor{comment}{*\ \ Parameters:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00344}00344\ \textcolor{comment}{*\ \ \ \ cmd\ \ \ \ -\/\ Pointer\ to\ the\ command\ string}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00345}00345\ \textcolor{comment}{*\ \ \ \ len\ \ \ \ -\/\ Length\ of\ the\ string}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00346}00346\ \textcolor{comment}{*\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00347}00347\ \textcolor{comment}{*\ \ Return\ value:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00348}00348\ \textcolor{comment}{*\ \ \ \ ==\ NULL\ -\/\ Command\ was\ not\ successfully\ executed}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00349}00349\ \textcolor{comment}{*\ \ \ \ ==\ sCmd\ -\/\ Command\ was\ passed\ successfully}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00350}00350\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00351}00351\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00352}00352\ \textcolor{keywordtype}{char}\ *\ \_sys\_command\_string(\textcolor{keywordtype}{char}\ *\ cmd,\ \textcolor{keywordtype}{int}\ len)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00353}00353\ \ \ (void)len;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00354}00354\ \ \ \textcolor{keywordflow}{return}\ cmd;\ \ \textcolor{comment}{//\ Not\ implemented}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00355}00355\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00356}00356\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00357}00357\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00358}00358\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00359}00359\ \textcolor{comment}{*\ \ \ \ \ \ \ \_sys\_exit}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00360}00360\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00361}00361\ \textcolor{comment}{*\ \ Function\ description:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00362}00362\ \textcolor{comment}{*\ \ \ \ This\ function\ is\ called\ when\ the\ application\ returns\ from\ main}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00363}00363\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00364}00364\ \textcolor{comment}{*\ \ Parameters:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00365}00365\ \textcolor{comment}{*\ \ \ \ ReturnCode\ \ \ \ -\/\ Return\ code\ from\ the\ main\ function}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00366}00366\ \textcolor{comment}{*\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00367}00367\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00368}00368\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00369}00369\ \textcolor{keywordtype}{void}\ \_sys\_exit(\textcolor{keywordtype}{int}\ ReturnCode)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00370}00370\ \ \ (void)ReturnCode;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00371}00371\ \ \ \textcolor{keywordflow}{while}\ (1);\ \ \textcolor{comment}{//\ Not\ implemented}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00372}00372\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00373}00373\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00374}00374\ \textcolor{preprocessor}{\#if\ \_\_ARMCC\_VERSION\ >=\ 5000000}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00375}00375\ \textcolor{comment}{/*********************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00376}00376\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00377}00377\ \textcolor{comment}{*\ \ \ \ \ \ \ stdout\_putchar}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00378}00378\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00379}00379\ \textcolor{comment}{*\ \ Function\ description:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00380}00380\ \textcolor{comment}{*\ \ \ \ Put\ a\ character\ to\ the\ stdout}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00381}00381\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00382}00382\ \textcolor{comment}{*\ \ Parameters:}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00383}00383\ \textcolor{comment}{*\ \ \ \ ch\ \ \ \ -\/\ Character\ to\ output}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00384}00384\ \textcolor{comment}{*\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00385}00385\ \textcolor{comment}{*}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00386}00386\ \textcolor{comment}{*/}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00387}00387\ \textcolor{keywordtype}{int}\ stdout\_putchar(\textcolor{keywordtype}{int}\ ch)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00388}00388\ \ \ (void)ch;}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00389}00389\ \ \ \textcolor{keywordflow}{return}\ ch;\ \ \textcolor{comment}{//\ Not\ implemented}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00390}00390\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00391}00391\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00392}00392\ }
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00393}00393\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source_l00394}00394\ \textcolor{comment}{/***************************\ End\ of\ file\ ****************************/}}
|
||||
|
||||
\end{DoxyCode}
|
||||
File diff suppressed because one or more lines are too long
13
AllLibs/MyLibs/Doc/latex/annotated.tex
Normal file
13
AllLibs/MyLibs/Doc/latex/annotated.tex
Normal file
@@ -0,0 +1,13 @@
|
||||
\doxysection{Class List}
|
||||
Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{struct_gen_optimizer__t}{Gen\+Optimizer\+\_\+t}} }{\pageref{struct_gen_optimizer__t}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{struct_r_t_t___flash_header__t}{RTT\+\_\+\+Flash\+Header\+\_\+t}} \\*Структура RTT, которая будет положена в Flash }{\pageref{struct_r_t_t___flash_header__t}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{struct_s_e_g_g_e_r___r_t_t___b_u_f_f_e_r___d_o_w_n}{SEGGER\+\_\+\+RTT\+\_\+\+BUFFER\+\_\+\+DOWN}} }{\pageref{struct_s_e_g_g_e_r___r_t_t___b_u_f_f_e_r___d_o_w_n}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{struct_s_e_g_g_e_r___r_t_t___b_u_f_f_e_r___u_p}{SEGGER\+\_\+\+RTT\+\_\+\+BUFFER\+\_\+\+UP}} }{\pageref{struct_s_e_g_g_e_r___r_t_t___b_u_f_f_e_r___u_p}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{struct_s_e_g_g_e_r___r_t_t___c_b}{SEGGER\+\_\+\+RTT\+\_\+\+CB}} }{\pageref{struct_s_e_g_g_e_r___r_t_t___c_b}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{struct_s_e_g_g_e_r___r_t_t___p_r_i_n_t_f___d_e_s_c}{SEGGER\+\_\+\+RTT\+\_\+\+PRINTF\+\_\+\+DESC}} }{\pageref{struct_s_e_g_g_e_r___r_t_t___p_r_i_n_t_f___d_e_s_c}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{unionuint16___bit_type_def}{uint16\+\_\+\+Bit\+Type\+Def}} }{\pageref{unionuint16___bit_type_def}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{unionuint32___bit_type_def}{uint32\+\_\+\+Bit\+Type\+Def}} }{\pageref{unionuint32___bit_type_def}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{unionuint64___bit_type_def}{uint64\+\_\+\+Bit\+Type\+Def}} }{\pageref{unionuint64___bit_type_def}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{unionuint8___bit_type_def}{uint8\+\_\+\+Bit\+Type\+Def}} }{\pageref{unionuint8___bit_type_def}}{}
|
||||
\end{DoxyCompactList}
|
||||
47
AllLibs/MyLibs/Doc/latex/bench__time_8h.tex
Normal file
47
AllLibs/MyLibs/Doc/latex/bench__time_8h.tex
Normal file
@@ -0,0 +1,47 @@
|
||||
\doxysection{E\+:/.WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/bench\+\_\+time.h File Reference}
|
||||
\hypertarget{bench__time_8h}{}\label{bench__time_8h}\index{E:/.WORK/STM32/STM\_Libs/STM32\_ExtendedLibs/MyLibs/Inc/bench\_time.h@{E:/.WORK/STM32/STM\_Libs/STM32\_ExtendedLibs/MyLibs/Inc/bench\_time.h}}
|
||||
|
||||
|
||||
Заголовочный файл для измерения времени между событиями
|
||||
|
||||
|
||||
{\ttfamily \#include "{}mylibs\+\_\+defs.\+h"{}}\newline
|
||||
{\ttfamily \#include $<$stdint.\+h$>$}\newline
|
||||
Include dependency graph for bench\+\_\+time.\+h\+:
|
||||
\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=231pt]{bench__time_8h__incl}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsection*{Macros}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga31b9f2267c562f3ceb533606daf0b789}{Bench\+Time\+\_\+\+Init}}()
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga89ff6c06fc21fb2bbfbf8cbf863316f1}{Bench\+Time\+\_\+\+Start}}(channel, ticks, tick\+\_\+period)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gadddc120d43a10fad50fbdeeab8d086b5}{Bench\+Time\+\_\+\+End}}(channel, ticks)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga91e352219014c7ea5507bbbe4b15912d}{Bench\+Time\+\_\+\+Get\+Min}}(channel)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gab8103362e89bad95d965ac668284065c}{Bench\+Time\+\_\+\+Get\+Max}}(channel)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga9f82f5ed8cfae31292dc3dca41471dd5}{Bench\+Time\+\_\+\+Get\+Average}}(channel)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gaafbca7155cfc97b68428da2b0b1200ef}{Bench\+Time\+\_\+\+Get\+Count}}(channel)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga9911aa13a8fa67c35a261d1cb3dc11e7}{Bench\+Time\+\_\+\+Get\+Last}}(channel)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga09b9a6ef9b60605fc0015f6b379d8420}{Bench\+Time\+\_\+\+Reset\+Stats}}(channel)
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Заголовочный файл для измерения времени между событиями
|
||||
|
||||
|
||||
|
||||
Definition in file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
|
||||
|
||||
1
AllLibs/MyLibs/Doc/latex/bench__time_8h__incl.md5
Normal file
1
AllLibs/MyLibs/Doc/latex/bench__time_8h__incl.md5
Normal file
@@ -0,0 +1 @@
|
||||
2c6cd31e94ef896a6c22f2dc3ac0a944
|
||||
BIN
AllLibs/MyLibs/Doc/latex/bench__time_8h__incl.pdf
Normal file
BIN
AllLibs/MyLibs/Doc/latex/bench__time_8h__incl.pdf
Normal file
Binary file not shown.
263
AllLibs/MyLibs/Doc/latex/bench__time_8h_source.tex
Normal file
263
AllLibs/MyLibs/Doc/latex/bench__time_8h_source.tex
Normal file
@@ -0,0 +1,263 @@
|
||||
\doxysection{bench\+\_\+time.\+h}
|
||||
\hypertarget{bench__time_8h_source}{}\label{bench__time_8h_source}\index{E:/.WORK/STM32/STM\_Libs/STM32\_ExtendedLibs/MyLibs/Inc/bench\_time.h@{E:/.WORK/STM32/STM\_Libs/STM32\_ExtendedLibs/MyLibs/Inc/bench\_time.h}}
|
||||
\mbox{\hyperlink{bench__time_8h}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00001}00001\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00002}00002\ \textcolor{comment}{******************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00003}00003\ \textcolor{comment}{*\ @file\ bench\_time.h}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00004}00004\ \textcolor{comment}{*\ @brief\ Заголовочный\ файл\ для\ измерения\ времени\ между\ событиями}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00005}00005\ \textcolor{comment}{******************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00006}00006\ \textcolor{comment}{*\ @addtogroup\ BENCH\_TIME\ \ \ \ Time\ measurement}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00007}00007\ \textcolor{comment}{*\ @brief\ \ \ \ \ \ Библиотека\ для\ измерения\ времени/тиков\ между\ событиями}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00008}00008\ \textcolor{comment}{*\ @details}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00009}00009\ \textcolor{comment}{Поддерживает:}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00010}00010\ \textcolor{comment}{-\/\ Многоканальные\ измерения\ (несколько\ независимых\ таймеров)}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00011}00011\ \textcolor{comment}{-\/\ Платформонезависимый\ интерфейс}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00012}00012\ \textcolor{comment}{-\/\ Измерение\ в\ тиках\ или\ временных\ единицах}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00013}00013\ \textcolor{comment}{-\/\ Статистику\ измерений\ (мин/макс/среднее)}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00014}00014\ \textcolor{comment}{-\/\ Настраиваемый\ размер\ тиков\ для\ каждого\ канала}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00015}00015\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00016}00016\ \textcolor{comment}{Параметры\ для\ конфигурации:}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00017}00017\ \textcolor{comment}{-\/\ @ref\ BENCH\_TIME\_ENABLE\ -\/\ Включить\ бенч\ времени}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00018}00018\ \textcolor{comment}{-\/\ @ref\ BENCH\_TIME\_MAX\_CHANNELS\ -\/\ Максимальное\ количество\ каналов\ измерения\ (по\ умолчанию\ 8)}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00019}00019\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00020}00020\ \textcolor{comment}{@par\ Пример\ использования:}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00021}00021\ \textcolor{comment}{@code}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00022}00022\ \textcolor{comment}{\#include\ "{}bench\_time.h"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00023}00023\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00024}00024\ \textcolor{comment}{//\ Инициализация}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00025}00025\ \textcolor{comment}{BenchTime\_Init();}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00026}00026\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00027}00027\ \textcolor{comment}{//\ Измерение\ с\ SysTick}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00028}00028\ \textcolor{comment}{BenchTime\_Start(0,\ HAL\_GetTick,\ 0xFFFFFFFF);}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00029}00029\ \textcolor{comment}{some\_function();}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00030}00030\ \textcolor{comment}{uint32\_t\ time\ =\ BenchTime\_End(0,\ HAL\_GetTick);}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00031}00031\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00032}00032\ \textcolor{comment}{//\ Измерение\ с\ TIM2\ (16-\/бит)}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00033}00033\ \textcolor{comment}{BenchTime\_Start(1,\ TIM2-\/>CNT,\ 0xFFFF);}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00034}00034\ \textcolor{comment}{fast\_function();\ }}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00035}00035\ \textcolor{comment}{uint32\_t\ time2\ =\ BenchTime\_End(1,\ TIM2-\/>CNT);}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00036}00036\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00037}00037\ \textcolor{comment}{//\ Измерение\ с\ DWT\ цикловым\ счетчиком}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00038}00038\ \textcolor{comment}{BenchTime\_Start(2,\ DWT-\/>CYCCNT,\ 0xFFFFFFFF);}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00039}00039\ \textcolor{comment}{critical\_function();}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00040}00040\ \textcolor{comment}{uint32\_t\ cycles\ =\ BenchTime\_End(2,\ DWT-\/>CYCCNT);}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00041}00041\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00042}00042\ \textcolor{comment}{//\ Многоканальное\ измерение}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00043}00043\ \textcolor{comment}{BenchTime\_Start(0,\ HAL\_GetTick,\ 1000);\ \ \ \ \ \ \ \ //\ общее\ время}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00044}00044\ \textcolor{comment}{BenchTime\_Start(1,\ TIM3-\/>CNT,\ 500);\ \ \ \ \ \ \ \ \ \ \ //\ часть\ 1}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00045}00045\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00046}00046\ \textcolor{comment}{//\ ...\ код\ 1}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00047}00047\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00048}00048\ \textcolor{comment}{uint32\_t\ part1\ =\ BenchTime\_End(1,\ TIM3-\/>CNT);}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00049}00049\ \textcolor{comment}{BenchTime\_Start(2,\ TIM4-\/>CNT,\ 200);\ \ \ \ \ \ \ \ \ \ \ //\ часть\ 2\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00050}00050\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00051}00051\ \textcolor{comment}{//\ ...\ код\ 2}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00052}00052\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00053}00053\ \textcolor{comment}{uint32\_t\ part2\ =\ BenchTime\_End(2,\ TIM4-\/>CNT);}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00054}00054\ \textcolor{comment}{uint32\_t\ total\ =\ BenchTime\_End(0,\ HAL\_GetTick);\ //\ общее\ время}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00055}00055\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00056}00056\ \textcolor{comment}{//\ Статистика}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00057}00057\ \textcolor{comment}{uint32\_t\ min\_time\ =\ BenchTime\_GetMin(0);}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00058}00058\ \textcolor{comment}{uint32\_t\ max\_time\ =\ BenchTime\_GetMax(0);}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00059}00059\ \textcolor{comment}{uint32\_t\ avg\_time\ =\ BenchTime\_GetAverage(0);}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00060}00060\ \textcolor{comment}{uint32\_t\ count\ =\ BenchTime\_GetCount(0);}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00061}00061\ \textcolor{comment}{@endcode}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00062}00062\ \textcolor{comment}{*\ @\{\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00063}00063\ \textcolor{comment}{*****************************************************************************/}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00064}00064\ \textcolor{preprocessor}{\#ifndef\ \_\_BENCH\_TIME\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00065}00065\ \textcolor{preprocessor}{\#define\ \_\_BENCH\_TIME\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00066}00066\ }
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00067}00067\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{mylibs__defs_8h}{mylibs\_defs.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00068}00068\ \textcolor{preprocessor}{\#include\ <stdint.h>}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00069}00069\ }
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00070}00070\ \textcolor{preprocessor}{\#ifdef\ BENCH\_TIME\_ENABLE}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00071}00071\ }
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00072}00072\ \textcolor{comment}{//\ Конфигурация\ библиотеки}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00073}00073\ \textcolor{preprocessor}{\#ifndef\ BENCH\_TIME\_MAX\_CHANNELS}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00074}00074\ \textcolor{preprocessor}{\#define\ BENCH\_TIME\_MAX\_CHANNELS\ \ 8\ \ \ \ }\textcolor{comment}{///<\ Максимальное\ количество\ каналов\ измерения}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00075}00075\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00076}00076\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00077}00077\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00078}00078\ \textcolor{comment}{\ \ *\ @brief\ Структура\ статистики\ измерений}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00079}00079\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00080}00080\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00081}00081\ \ \ uint32\_t\ min\_ticks;\ \ \ \ \ \ \textcolor{comment}{///<\ Минимальное\ время\ в\ тиках}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00082}00082\ \ \ uint32\_t\ max\_ticks;\ \ \ \ \ \ \textcolor{comment}{///<\ Максимальное\ время\ в\ тиках\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00083}00083\ \ \ uint32\_t\ total\_ticks;\ \ \ \ \textcolor{comment}{///<\ Суммарное\ время\ в\ тиках}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00084}00084\ \ \ uint32\_t\ count;\ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Количество\ измерений}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00085}00085\ \ \ uint32\_t\ last\_ticks;\ \ \ \ \ \textcolor{comment}{///<\ Последнее\ измеренное\ время}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00086}00086\ \}\ BenchTimeStats\_t;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00087}00087\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00088}00088\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00089}00089\ \textcolor{comment}{\ \ *\ @brief\ Структура\ канала\ измерения}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00090}00090\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00091}00091\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00092}00092\ \ \ uint32\_t\ start\_tick;\ \ \ \ \ \textcolor{comment}{///<\ Время\ старта\ в\ тиках}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00093}00093\ \ \ uint32\_t\ tick\_period;\ \ \ \ \textcolor{comment}{///<\ Период\ тиков\ для\ переполнения}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00094}00094\ \ \ uint32\_t\ is\_running;\ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Флаг\ активного\ измерения}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00095}00095\ \ \ BenchTimeStats\_t\ stats;\ \ \textcolor{comment}{///<\ Статистика\ измерений}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00096}00096\ \}\ BenchTimeChannel\_t;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00097}00097\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00098}00098\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00099}00099\ \textcolor{comment}{\ \ *\ @brief\ Основная\ структура\ менеджера\ измерений}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00100}00100\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00101}00101\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00102}00102\ \ \ BenchTimeChannel\_t\ channels[\mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga74fdf777ceefa5e7d67120fbda4cde52}{BENCH\_TIME\_MAX\_CHANNELS}}];\ \textcolor{comment}{///<\ Каналы\ измерения}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00103}00103\ \}\ BenchTime\_t;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00104}00104\ }
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00105}00105\ \textcolor{keyword}{static}\ BenchTime\_t\ hbt\ =\ \{0\};\ \textcolor{comment}{///<\ Внутренний\ экземпляр}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00106}00106\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00107}00107\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00108}00108\ \textcolor{comment}{\ \ *\ @brief\ Инициализация\ системы\ измерения\ времени}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00109}00109\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00110}00110\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{void}\ BenchTime\_Init(\textcolor{keywordtype}{void})\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00111}00111\ \ \ \textcolor{keywordflow}{for}\ (\textcolor{keywordtype}{int}\ i\ =\ 0;\ i\ <\ \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga74fdf777ceefa5e7d67120fbda4cde52}{BENCH\_TIME\_MAX\_CHANNELS}};\ i++)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00112}00112\ \ \ \ \ hbt.channels[i].start\_tick\ =\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00113}00113\ \ \ \ \ hbt.channels[i].tick\_period\ =\ 0xFFFFFFFF;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00114}00114\ \ \ \ \ hbt.channels[i].is\_running\ =\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00115}00115\ \ \ \ \ hbt.channels[i].stats.min\_ticks\ =\ 0xFFFFFFFF;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00116}00116\ \ \ \ \ hbt.channels[i].stats.max\_ticks\ =\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00117}00117\ \ \ \ \ hbt.channels[i].stats.total\_ticks\ =\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00118}00118\ \ \ \ \ hbt.channels[i].stats.count\ =\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00119}00119\ \ \ \ \ hbt.channels[i].stats.last\_ticks\ =\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00120}00120\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00121}00121\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00122}00122\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00123}00123\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00124}00124\ \textcolor{comment}{\ \ *\ @brief\ Начало\ измерения\ на\ указанном\ канале}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00125}00125\ \textcolor{comment}{\ \ *\ @param\ channel\ Номер\ канала\ (0..BENCH\_TIME\_MAX\_CHANNELS-\/1)}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00126}00126\ \textcolor{comment}{\ \ *\ @param\ ticks\ Источник\ тиков\ (например:\ HAL\_GetTick(),\ TIM2-\/>CNT,\ DWT-\/>CYCCNT)}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00127}00127\ \textcolor{comment}{\ \ *\ @param\ tick\_period\ Период\ тиков\ для\ переполнения}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00128}00128\ \textcolor{comment}{\ \ *\ @return\ 1\ -\/\ успех,\ 0\ -\/\ ошибка}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00129}00129\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00130}00130\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ BenchTime\_Start(uint8\_t\ channel,\ uint32\_t\ ticks,\ uint32\_t\ tick\_period)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00131}00131\ \ \ \textcolor{keywordflow}{if}\ (channel\ >=\ \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga74fdf777ceefa5e7d67120fbda4cde52}{BENCH\_TIME\_MAX\_CHANNELS}})\ \textcolor{keywordflow}{return}\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00132}00132\ \ \ \textcolor{keywordflow}{if}\ (hbt.channels[channel].is\_running)\ \textcolor{keywordflow}{return}\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00133}00133\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00134}00134\ \ \ hbt.channels[channel].start\_tick\ =\ ticks;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00135}00135\ \ \ hbt.channels[channel].tick\_period\ =\ tick\_period;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00136}00136\ \ \ hbt.channels[channel].is\_running\ =\ 1;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00137}00137\ \ \ \textcolor{keywordflow}{return}\ 1;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00138}00138\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00139}00139\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00140}00140\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00141}00141\ \textcolor{comment}{\ \ *\ @brief\ Окончание\ измерения\ на\ указанном\ канале}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00142}00142\ \textcolor{comment}{\ \ *\ @param\ channel\ Номер\ канала\ (0..BENCH\_TIME\_MAX\_CHANNELS-\/1)}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00143}00143\ \textcolor{comment}{\ \ *\ @param\ ticks\ Источник\ тиков\ (должен\ быть\ тот\ же\ что\ в\ Start)}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00144}00144\ \textcolor{comment}{\ \ *\ @return\ Измеренное\ время\ в\ тиках,\ 0\ -\/\ в\ случае\ ошибки}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00145}00145\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00146}00146\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ BenchTime\_End(uint8\_t\ channel,\ uint32\_t\ ticks)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00147}00147\ \ \ \textcolor{keywordflow}{if}\ (channel\ >=\ \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga74fdf777ceefa5e7d67120fbda4cde52}{BENCH\_TIME\_MAX\_CHANNELS}})\ \textcolor{keywordflow}{return}\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00148}00148\ \ \ \textcolor{keywordflow}{if}\ (!hbt.channels[channel].is\_running)\ \textcolor{keywordflow}{return}\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00149}00149\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00150}00150\ \ \ uint32\_t\ end\_tick\ =\ ticks;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00151}00151\ \ \ uint32\_t\ start\_tick\ =\ hbt.channels[channel].start\_tick;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00152}00152\ \ \ uint32\_t\ tick\_period\ =\ hbt.channels[channel].tick\_period;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00153}00153\ \ \ uint32\_t\ elapsed\_ticks;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00154}00154\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00155}00155\ \ \ \textcolor{keywordflow}{if}\ (end\_tick\ >=\ start\_tick)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00156}00156\ \ \ \ \ elapsed\_ticks\ =\ end\_tick\ -\/\ start\_tick;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00157}00157\ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00158}00158\ \ \ \ \ elapsed\_ticks\ =\ (tick\_period\ -\/\ start\_tick)\ +\ end\_tick\ +\ 1;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00159}00159\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00160}00160\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00161}00161\ \ \ \textcolor{keywordflow}{if}\ (elapsed\_ticks\ >\ tick\_period)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00162}00162\ \ \ \ \ elapsed\_ticks\ =\ tick\_period;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00163}00163\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00164}00164\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00165}00165\ \ \ hbt.channels[channel].is\_running\ =\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00166}00166\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00167}00167\ \ \ \textcolor{comment}{//\ Обновление\ статистики}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00168}00168\ \ \ BenchTimeStats\_t*\ stats\ =\ \&hbt.channels[channel].stats;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00169}00169\ \ \ stats-\/>last\_ticks\ =\ elapsed\_ticks;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00170}00170\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00171}00171\ \ \ \textcolor{keywordflow}{if}\ (elapsed\_ticks\ <\ stats-\/>min\_ticks)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00172}00172\ \ \ \ \ stats-\/>min\_ticks\ =\ elapsed\_ticks;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00173}00173\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00174}00174\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00175}00175\ \ \ \textcolor{keywordflow}{if}\ (elapsed\_ticks\ >\ stats-\/>max\_ticks)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00176}00176\ \ \ \ \ stats-\/>max\_ticks\ =\ elapsed\_ticks;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00177}00177\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00178}00178\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00179}00179\ \ \ stats-\/>total\_ticks\ +=\ elapsed\_ticks;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00180}00180\ \ \ stats-\/>count++;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00181}00181\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00182}00182\ \ \ \textcolor{keywordflow}{return}\ elapsed\_ticks;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00183}00183\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00184}00184\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00185}00185\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00186}00186\ \textcolor{comment}{\ \ *\ @brief\ Получение\ минимального\ времени\ измерения}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00187}00187\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00188}00188\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ BenchTime\_GetMin(uint8\_t\ channel)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00189}00189\ \ \ \textcolor{keywordflow}{if}\ (channel\ >=\ \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga74fdf777ceefa5e7d67120fbda4cde52}{BENCH\_TIME\_MAX\_CHANNELS}})\ \textcolor{keywordflow}{return}\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00190}00190\ \ \ \textcolor{keywordflow}{return}\ hbt.channels[channel].stats.min\_ticks;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00191}00191\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00192}00192\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00193}00193\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00194}00194\ \textcolor{comment}{\ \ *\ @brief\ Получение\ максимального\ времени\ измерения}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00195}00195\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00196}00196\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ BenchTime\_GetMax(uint8\_t\ channel)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00197}00197\ \ \ \textcolor{keywordflow}{if}\ (channel\ >=\ \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga74fdf777ceefa5e7d67120fbda4cde52}{BENCH\_TIME\_MAX\_CHANNELS}})\ \textcolor{keywordflow}{return}\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00198}00198\ \ \ \textcolor{keywordflow}{return}\ hbt.channels[channel].stats.max\_ticks;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00199}00199\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00200}00200\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00201}00201\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00202}00202\ \textcolor{comment}{\ \ *\ @brief\ Получение\ среднего\ времени\ измерения}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00203}00203\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00204}00204\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ BenchTime\_GetAverage(uint8\_t\ channel)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00205}00205\ \ \ \textcolor{keywordflow}{if}\ (channel\ >=\ \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga74fdf777ceefa5e7d67120fbda4cde52}{BENCH\_TIME\_MAX\_CHANNELS}})\ \textcolor{keywordflow}{return}\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00206}00206\ \ \ BenchTimeStats\_t*\ stats\ =\ \&hbt.channels[channel].stats;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00207}00207\ \ \ \textcolor{keywordflow}{if}\ (stats-\/>count\ ==\ 0)\ \textcolor{keywordflow}{return}\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00208}00208\ \ \ \textcolor{keywordflow}{return}\ stats-\/>total\_ticks\ /\ stats-\/>count;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00209}00209\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00210}00210\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00211}00211\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00212}00212\ \textcolor{comment}{\ \ *\ @brief\ Получение\ количества\ измерений}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00213}00213\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00214}00214\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ BenchTime\_GetCount(uint8\_t\ channel)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00215}00215\ \ \ \textcolor{keywordflow}{if}\ (channel\ >=\ \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga74fdf777ceefa5e7d67120fbda4cde52}{BENCH\_TIME\_MAX\_CHANNELS}})\ \textcolor{keywordflow}{return}\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00216}00216\ \ \ \textcolor{keywordflow}{return}\ hbt.channels[channel].stats.count;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00217}00217\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00218}00218\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00219}00219\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00220}00220\ \textcolor{comment}{\ \ *\ @brief\ Получение\ последнего\ измеренного\ времени}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00221}00221\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00222}00222\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ BenchTime\_GetLast(uint8\_t\ channel)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00223}00223\ \ \ \textcolor{keywordflow}{if}\ (channel\ >=\ \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga74fdf777ceefa5e7d67120fbda4cde52}{BENCH\_TIME\_MAX\_CHANNELS}})\ \textcolor{keywordflow}{return}\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00224}00224\ \ \ \textcolor{keywordflow}{return}\ hbt.channels[channel].stats.last\_ticks;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00225}00225\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00226}00226\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00227}00227\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00228}00228\ \textcolor{comment}{\ \ *\ @brief\ Сброс\ статистики\ для\ канала}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00229}00229\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00230}00230\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{void}\ BenchTime\_ResetStats(uint8\_t\ channel)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00231}00231\ \ \ \textcolor{keywordflow}{if}\ (channel\ >=\ \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga74fdf777ceefa5e7d67120fbda4cde52}{BENCH\_TIME\_MAX\_CHANNELS}})\ \textcolor{keywordflow}{return};}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00232}00232\ \ \ BenchTimeStats\_t*\ stats\ =\ \&hbt.channels[channel].stats;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00233}00233\ \ \ stats-\/>min\_ticks\ =\ 0xFFFFFFFF;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00234}00234\ \ \ stats-\/>max\_ticks\ =\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00235}00235\ \ \ stats-\/>total\_ticks\ =\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00236}00236\ \ \ stats-\/>count\ =\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00237}00237\ \ \ stats-\/>last\_ticks\ =\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00238}00238\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00239}00239\ \textcolor{preprocessor}{\#else\ }\textcolor{comment}{//BENCH\_TIME\_ENABLE}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00240}00240\ }
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00241}00241\ \textcolor{preprocessor}{\#define\ BenchTime\_Init()}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00242}00242\ \textcolor{preprocessor}{\#define\ BenchTime\_Start(channel,\ ticks,\ tick\_period)\ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00243}00243\ \textcolor{preprocessor}{\#define\ BenchTime\_End(channel,\ ticks)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00244}00244\ \textcolor{preprocessor}{\#define\ BenchTime\_GetMin(channel)\ \ \ \ \ \ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00245}00245\ \textcolor{preprocessor}{\#define\ BenchTime\_GetMax(channel)\ \ \ \ \ \ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00246}00246\ \textcolor{preprocessor}{\#define\ BenchTime\_GetAverage(channel)\ \ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00247}00247\ \textcolor{preprocessor}{\#define\ BenchTime\_GetCount(channel)\ \ \ \ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00248}00248\ \textcolor{preprocessor}{\#define\ BenchTime\_GetLast(channel)\ \ \ \ \ \ 0}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00249}00249\ \textcolor{preprocessor}{\#define\ BenchTime\_ResetStats(channel)}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00250}00250\ }
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00251}00251\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//BENCH\_TIME\_ENABLE}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00252}00252\ }
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00253}00253\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ \_\_BENCH\_TIME\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00254}00254\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00255}00255\ \textcolor{comment}{/**\ BENCH\_TIME}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00256}00256\ \textcolor{comment}{\ \ *\ @\}}}
|
||||
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00257}00257\ \textcolor{comment}{\ \ */}}
|
||||
|
||||
\end{DoxyCode}
|
||||
47
AllLibs/MyLibs/Doc/latex/bit__access_8h.tex
Normal file
47
AllLibs/MyLibs/Doc/latex/bit__access_8h.tex
Normal file
@@ -0,0 +1,47 @@
|
||||
\doxysection{E\+:/.WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/bit\+\_\+access.h File Reference}
|
||||
\hypertarget{bit__access_8h}{}\label{bit__access_8h}\index{E:/.WORK/STM32/STM\_Libs/STM32\_ExtendedLibs/MyLibs/Inc/bit\_access.h@{E:/.WORK/STM32/STM\_Libs/STM32\_ExtendedLibs/MyLibs/Inc/bit\_access.h}}
|
||||
|
||||
|
||||
Заголочный файл для дефайнов битового доступа.
|
||||
|
||||
|
||||
{\ttfamily \#include "{}mylibs\+\_\+defs.\+h"{}}\newline
|
||||
Include dependency graph for bit\+\_\+access.\+h\+:
|
||||
\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=218pt]{bit__access_8h__incl}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
union \mbox{\hyperlink{unionuint8___bit_type_def}{uint8\+\_\+\+Bit\+Type\+Def}}
|
||||
\item
|
||||
union \mbox{\hyperlink{unionuint16___bit_type_def}{uint16\+\_\+\+Bit\+Type\+Def}}
|
||||
\item
|
||||
union \mbox{\hyperlink{unionuint32___bit_type_def}{uint32\+\_\+\+Bit\+Type\+Def}}
|
||||
\item
|
||||
union \mbox{\hyperlink{unionuint64___bit_type_def}{uint64\+\_\+\+Bit\+Type\+Def}}
|
||||
\end{DoxyCompactItemize}
|
||||
\doxysubsubsection*{Macros}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga57dc3bb3472a66fc92312f89d42d2396}{uint8\+\_\+bit}}(\+\_\+uint8\+\_\+, \+\_\+bit\+\_\+)
|
||||
\begin{DoxyCompactList}\small\item\em Получить n-\/й бит из uint8\+\_\+t. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga6a122b536ad99ae611c8cf01437af086}{uint16\+\_\+bit}}(\+\_\+uint8\+\_\+, \+\_\+bit\+\_\+)
|
||||
\begin{DoxyCompactList}\small\item\em Получить n-\/й бит из uint16\+\_\+t. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_gafaa2080168b1b6f7281e8bfabab022d1}{uint32\+\_\+bit}}(\+\_\+uint8\+\_\+, \+\_\+bit\+\_\+)
|
||||
\begin{DoxyCompactList}\small\item\em Получить n-\/й бит из uint32\+\_\+t. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga47eb69ce9330a1c73fe8031240f02f0a}{uint64\+\_\+bit}}(\+\_\+uint8\+\_\+, \+\_\+bit\+\_\+)
|
||||
\begin{DoxyCompactList}\small\item\em Получить n-\/й бит из uint64\+\_\+t. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Заголочный файл для дефайнов битового доступа.
|
||||
|
||||
|
||||
|
||||
Definition in file \mbox{\hyperlink{bit__access_8h_source}{bit\+\_\+access.\+h}}.
|
||||
|
||||
1
AllLibs/MyLibs/Doc/latex/bit__access_8h__incl.md5
Normal file
1
AllLibs/MyLibs/Doc/latex/bit__access_8h__incl.md5
Normal file
@@ -0,0 +1 @@
|
||||
612c78aae62267607a8a4cead7a97af0
|
||||
BIN
AllLibs/MyLibs/Doc/latex/bit__access_8h__incl.pdf
Normal file
BIN
AllLibs/MyLibs/Doc/latex/bit__access_8h__incl.pdf
Normal file
Binary file not shown.
165
AllLibs/MyLibs/Doc/latex/bit__access_8h_source.tex
Normal file
165
AllLibs/MyLibs/Doc/latex/bit__access_8h_source.tex
Normal file
@@ -0,0 +1,165 @@
|
||||
\doxysection{bit\+\_\+access.\+h}
|
||||
\hypertarget{bit__access_8h_source}{}\label{bit__access_8h_source}\index{E:/.WORK/STM32/STM\_Libs/STM32\_ExtendedLibs/MyLibs/Inc/bit\_access.h@{E:/.WORK/STM32/STM\_Libs/STM32\_ExtendedLibs/MyLibs/Inc/bit\_access.h}}
|
||||
\mbox{\hyperlink{bit__access_8h}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00001}00001\ \textcolor{comment}{/**\ }}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00002}00002\ \textcolor{comment}{**************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00003}00003\ \textcolor{comment}{*\ @file\ bit\_access.h}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00004}00004\ \textcolor{comment}{*\ @brief\ Заголочный\ файл\ для\ дефайнов\ битового\ доступа.}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00005}00005\ \textcolor{comment}{**************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00006}00006\ \textcolor{comment}{*\ @defgroup\ BIT\_ACCESS\_DEFINES\ \ \ \ Bit\ access\ defines}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00007}00007\ \textcolor{comment}{*\ @ingroup\ \ MYLIBS\_TOOLS\ }}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00008}00008\ \textcolor{comment}{*\ @brief\ \ \ \ \ Макросы\ и\ typedef'ы\ для\ работы\ с\ битами\ в\ unsigned\ типах.}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00009}00009\ \textcolor{comment}{*\ @details}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00010}00010\ \textcolor{comment}{В\ этом\ файле\ определены\ макросы\ для\ получения\ значения\ конкретного\ бита\string^}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00011}00011\ \textcolor{comment}{-\/\ @ref\ uint8\_bit}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00012}00012\ \textcolor{comment}{-\/\ @ref\ uint16\_bit}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00013}00013\ \textcolor{comment}{-\/\ @ref\ uint32\_bit}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00014}00014\ \textcolor{comment}{-\/\ @ref\ uint64\_bit}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00015}00015\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00016}00016\ \textcolor{comment}{Особенности\ использования:}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00017}00017\ \textcolor{comment}{-\/\ Индекс\ бита\ должен\ быть\ **константой\ на\ этапе\ компиляции**.}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00018}00018\ \textcolor{comment}{\ \ Пример\ верного\ использования:}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00019}00019\ \textcolor{comment}{\ \ \ \ @code}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00020}00020\ \textcolor{comment}{\ \ \ \ \ \ uint8\_t\ val\ =\ 0x05;}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00021}00021\ \textcolor{comment}{\ \ \ \ \ \ uint8\_t\ b2\ =\ uint8\_bit(val,\ 2);\ //\ Получить\ бит\ 2}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00022}00022\ \textcolor{comment}{\ \ \ \ \ \ uint8\_bit(val,\ 6)\ =\ 1;\ //\ Записать\ бит\ 6}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00023}00023\ \textcolor{comment}{\ \ \ \ @endcode}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00024}00024\ \textcolor{comment}{-\/\ Нельзя\ использовать\ переменные\ в\ качестве\ индекса:}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00025}00025\ \textcolor{comment}{\ \ \ \ @code}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00026}00026\ \textcolor{comment}{\ \ \ \ \ \ uint8\_t\ i\ =\ 2;}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00027}00027\ \textcolor{comment}{\ \ \ \ \ \ uint8\_bit(val,\ i);\ //\ Не\ сработает!}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00028}00028\ \textcolor{comment}{\ \ \ \ @endcode}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00029}00029\ \textcolor{comment}{-\/\ Макросы\ возвращают\ 0\ или\ 1.}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00030}00030\ \textcolor{comment}{-\/\ Доступ\ реализован\ через\ приведение\ к\ \`{}union`\ с\ битовыми\ полями,\ поэтому\ это}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00031}00031\ \textcolor{comment}{\ \ безопасный\ способ\ работы\ с\ отдельными\ битами\ без\ ручного\ сдвига\ и\ маскирования.}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00032}00032\ \textcolor{comment}{*\ @\{}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00033}00033\ \textcolor{comment}{*************************************************************************/}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00034}00034\ \textcolor{preprocessor}{\#ifndef\ \_\_BIT\_ACCESS\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00035}00035\ \textcolor{preprocessor}{\#define\ \_\_BIT\_ACCESS\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00036}00036\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{mylibs__defs_8h}{mylibs\_defs.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00037}00037\ }
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00038}00038\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00039}\mbox{\hyperlink{unionuint8___bit_type_def}{00039}}\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{union}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00040}00040\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00041}00041\ \ \ uint8\_t\ all;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00042}00042\ \ \ \textcolor{keyword}{struct}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00043}00043\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00044}00044\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit0:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00045}00045\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit1:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00046}00046\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit2:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00047}00047\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit3:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00048}00048\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit4:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00049}00049\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit5:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00050}00050\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit6:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00051}00051\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit7:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00052}00052\ \ \ \}bit;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00053}00053\ \}\mbox{\hyperlink{unionuint8___bit_type_def}{uint8\_BitTypeDef}};}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00054}00054\ }
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00055}\mbox{\hyperlink{unionuint16___bit_type_def}{00055}}\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{union}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00056}00056\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00057}00057\ \ \ uint16\_t\ all;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00058}00058\ \ \ \textcolor{keyword}{struct}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00059}00059\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00060}00060\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit0:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00061}00061\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit1:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00062}00062\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit2:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00063}00063\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit3:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00064}00064\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit4:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00065}00065\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit5:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00066}00066\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit6:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00067}00067\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit7:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00068}00068\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit8:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00069}00069\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit9:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00070}00070\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit10:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00071}00071\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit11:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00072}00072\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit12:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00073}00073\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit13:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00074}00074\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit14:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00075}00075\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit15:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00076}00076\ \ \ \}bit;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00077}00077\ \}\mbox{\hyperlink{unionuint16___bit_type_def}{uint16\_BitTypeDef}};}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00078}00078\ }
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00079}00079\ }
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00080}\mbox{\hyperlink{unionuint32___bit_type_def}{00080}}\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{union}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00081}00081\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00082}00082\ \ \ uint32\_t\ all;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00083}00083\ \ \ \textcolor{keyword}{struct}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00084}00084\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00085}00085\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit0:1;\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit1:1;\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit2:1;\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit3:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00086}00086\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit4:1;\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit5:1;\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit6:1;\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit7:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00087}00087\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit8:1;\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit9:1;\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit10:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit11:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00088}00088\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit12:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit13:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit14:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit15:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00089}00089\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit16:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit17:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit18:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit19:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00090}00090\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit20:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit21:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit22:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit23:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00091}00091\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit24:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit25:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit26:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit27:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00092}00092\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit28:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit29:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit30:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit31:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00093}00093\ \ \ \}bit;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00094}00094\ \}\mbox{\hyperlink{unionuint32___bit_type_def}{uint32\_BitTypeDef}};}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00095}00095\ }
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00096}00096\ }
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00097}\mbox{\hyperlink{unionuint64___bit_type_def}{00097}}\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{union}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00098}00098\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00099}00099\ \ \ uint64\_t\ all;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00100}00100\ \ \ \textcolor{keyword}{struct}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00101}00101\ \ \ \{}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00102}00102\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit0:1;\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit1:1;\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit2:1;\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit3:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00103}00103\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit4:1;\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit5:1;\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit6:1;\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit7:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00104}00104\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit8:1;\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit9:1;\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit10:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit11:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00105}00105\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit12:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit13:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit14:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit15:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00106}00106\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit16:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit17:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit18:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit19:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00107}00107\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit20:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit21:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit22:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit23:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00108}00108\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit24:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit25:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit26:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit27:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00109}00109\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit28:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit29:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit30:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit31:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00110}00110\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit32:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit33:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit34:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit35:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00111}00111\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit36:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit37:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit38:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit39:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00112}00112\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit40:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit41:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit42:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit43:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00113}00113\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit44:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit45:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit46:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit47:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00114}00114\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit48:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit49:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit50:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit51:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00115}00115\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit52:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit53:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit54:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit55:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00116}00116\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit56:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit57:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit58:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit59:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00117}00117\ \ \ \ \ \textcolor{keywordtype}{unsigned}\ bit60:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit61:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit62:1;\ \ \ \ \textcolor{keywordtype}{unsigned}\ bit63:1;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00118}00118\ \ \ \}bit;}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00119}00119\ \}\mbox{\hyperlink{unionuint64___bit_type_def}{uint64\_BitTypeDef}};}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00120}00120\ }
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00121}00121\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00122}00122\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00123}00123\ \textcolor{comment}{\ \ *\ @brief\ Получить\ n-\/й\ бит\ из\ uint8\_t}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00124}00124\ \textcolor{comment}{\ \ *\ @param\ \_uint8\_\ Переменная\ типа\ uint8\_t}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00125}00125\ \textcolor{comment}{\ \ *\ @param\ \_bit\_\ \ \ Константный\ номер\ бита\ (0..7)}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00126}00126\ \textcolor{comment}{\ \ *\ @return\ Значение\ выбранного\ бита\ (0\ или\ 1)}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00127}00127\ \textcolor{comment}{\ \ *\ @note\ \ \ \ Индекс\ бита\ должен\ быть\ известен\ на\ этапе\ компиляции!}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00128}00128\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00129}\mbox{\hyperlink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga57dc3bb3472a66fc92312f89d42d2396}{00129}}\ \textcolor{preprocessor}{\#define\ uint8\_bit(\_uint8\_,\ \_bit\_)\ \ \ \ \ \ \ (*(uint8\_BitTypeDef\ *)(\&(\_uint8\_))).bit.bit\#\#\_bit\_}\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00130}00130\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00131}00131\ \textcolor{comment}{\ \ *\ @brief\ Получить\ n-\/й\ бит\ из\ uint16\_t}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00132}00132\ \textcolor{comment}{\ \ *\ @param\ \_uint16\_\ Переменная\ типа\ uint16\_t}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00133}00133\ \textcolor{comment}{\ \ *\ @param\ \_bit\_\ \ \ \ Константный\ номер\ бита\ (0..15)}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00134}00134\ \textcolor{comment}{\ \ *\ @return\ Значение\ выбранного\ бита\ (0\ или\ 1)}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00135}00135\ \textcolor{comment}{\ \ *\ @note\ \ \ \ Индекс\ бита\ должен\ быть\ известен\ на\ этапе\ компиляции!}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00136}00136\ \textcolor{comment}{\ \ */}\textcolor{preprocessor}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00137}\mbox{\hyperlink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga6a122b536ad99ae611c8cf01437af086}{00137}}\ \textcolor{preprocessor}{\#define\ uint16\_bit(\_uint8\_,\ \_bit\_)\ \ \ \ \ \ (*(uint16\_BitTypeDef\ *)(\&(\_uint8\_))).bit.bit\#\#\_bit\_}\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00138}00138\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00139}00139\ \textcolor{comment}{\ \ *\ @brief\ Получить\ n-\/й\ бит\ из\ uint32\_t}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00140}00140\ \textcolor{comment}{\ \ *\ @param\ \_uint32\_\ Переменная\ типа\ uint32\_t}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00141}00141\ \textcolor{comment}{\ \ *\ @param\ \_bit\_\ \ \ \ Константный\ номер\ бита\ (0..31)}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00142}00142\ \textcolor{comment}{\ \ *\ @return\ Значение\ выбранного\ бита\ (0\ или\ 1)}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00143}00143\ \textcolor{comment}{\ \ *\ @note\ \ \ \ Индекс\ бита\ должен\ быть\ известен\ на\ этапе\ компиляции!}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00144}00144\ \textcolor{comment}{\ \ */}\textcolor{preprocessor}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00145}\mbox{\hyperlink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_gafaa2080168b1b6f7281e8bfabab022d1}{00145}}\ \textcolor{preprocessor}{\#define\ uint32\_bit(\_uint8\_,\ \_bit\_)\ \ \ \ \ \ (*(uint32\_BitTypeDef\ *)(\&(\_uint8\_))).bit.bit\#\#\_bit\_}\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00146}00146\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00147}00147\ \textcolor{comment}{\ \ *\ @brief\ Получить\ n-\/й\ бит\ из\ uint64\_t}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00148}00148\ \textcolor{comment}{\ \ *\ @param\ \_uint64\_\ Переменная\ типа\ uint64\_t}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00149}00149\ \textcolor{comment}{\ \ *\ @param\ \_bit\_\ \ \ \ Константный\ номер\ бита\ (0..63)}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00150}00150\ \textcolor{comment}{\ \ *\ @return\ Значение\ выбранного\ бита\ (0\ или\ 1)}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00151}00151\ \textcolor{comment}{\ \ *\ @note\ \ \ \ Индекс\ бита\ должен\ быть\ известен\ на\ этапе\ компиляции!}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00152}00152\ \textcolor{comment}{\ \ */}\textcolor{preprocessor}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00153}\mbox{\hyperlink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga47eb69ce9330a1c73fe8031240f02f0a}{00153}}\ \textcolor{preprocessor}{\#define\ uint64\_bit(\_uint8\_,\ \_bit\_)\ \ \ \ \ \ (*(uint64\_BitTypeDef\ *)(\&(\_uint8\_))).bit.bit\#\#\_bit\_}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00154}00154\ }
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00155}00155\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\_\_BIT\_ACCESS\_H\_\ }}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00156}00156\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00157}00157\ \textcolor{comment}{/**\ BIT\_ACCESS\_DEFINES}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00158}00158\ \textcolor{comment}{\ \ *\ @\}}}
|
||||
\DoxyCodeLine{\Hypertarget{bit__access_8h_source_l00159}00159\ \textcolor{comment}{\ \ */}}
|
||||
|
||||
\end{DoxyCode}
|
||||
745
AllLibs/MyLibs/Doc/latex/doxygen.sty
Normal file
745
AllLibs/MyLibs/Doc/latex/doxygen.sty
Normal file
@@ -0,0 +1,745 @@
|
||||
\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%
|
||||
\vspace{2pt}%
|
||||
\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%
|
||||
}%
|
||||
\vspace{2pt}%
|
||||
}{%
|
||||
\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 for check boxes
|
||||
\newcommand{\DoxyUnchecked}{$\square$}
|
||||
\newcommand{\DoxyChecked}{\rlap{\raisebox{0.3ex}{\hspace{0.4ex}\tiny \checkmark}}$\square$}
|
||||
|
||||
% 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 @important
|
||||
\newenvironment{DoxyImportant}[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}[2][]{%
|
||||
\tabulinesep=1mm%
|
||||
\par%
|
||||
\ifthenelse{\equal{#1}{2}}%
|
||||
{\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}}%
|
||||
{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,r]|X[-1,l]|}}% with init value
|
||||
\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 parameters within a detailed function description
|
||||
\newenvironment{DoxyParamCaption}{%
|
||||
\renewcommand{\item}[3][]{\\ \hspace*{2.0cm} ##1 {\em ##2}##3}%
|
||||
}{%
|
||||
}
|
||||
|
||||
% 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 for the cite command
|
||||
\newcommand{\DoxyCite}[3]{%
|
||||
\ifthenelse{#3=1}% 1 with square parenthesis
|
||||
{
|
||||
\ifthenelse{\equal{#2}{number}}%
|
||||
{ \cite{#1} }%
|
||||
{%
|
||||
\ifthenelse{\equal{#2}{shortauthor}}%
|
||||
{ \citetext{\citeauthor{#1}} }%
|
||||
{%
|
||||
\ifthenelse{\equal{#2}{year}}%
|
||||
{ \citeyearpar{#1} }%
|
||||
{}%
|
||||
}%
|
||||
}%
|
||||
}%
|
||||
{%
|
||||
\ifthenelse{\equal{#2}{number}}%
|
||||
{ \citealp{#1} }%
|
||||
{%
|
||||
\ifthenelse{\equal{#2}{shortauthor}}%
|
||||
{ \citeauthor{#1} }%
|
||||
{%
|
||||
\ifthenelse{\equal{#2}{year}}%
|
||||
{ \citeyear{#1} }%
|
||||
{}%
|
||||
}%
|
||||
}%
|
||||
}%
|
||||
}
|
||||
|
||||
% 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}{10.0em}{7.8em}}
|
||||
\newcommand\l@subsubsubsubsection{\@dottedtocline{5}{13.0em}{9.4em}}
|
||||
\newcommand\l@subsubsubsubsubsection{\@dottedtocline{6}{15.0em}{11em}}
|
||||
\newcommand\l@subsubsubsubsubsubsection{\@dottedtocline{7}{18.0em}{12.6em}}
|
||||
\renewcommand\l@paragraph{\@dottedtocline{8}{21.0em}{14.2em}}
|
||||
\renewcommand\l@subparagraph{\@dottedtocline{9}{24.0em}{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
|
||||
% for usage with hyperlinks
|
||||
\makeatletter
|
||||
\def\doxyfigcaption{%
|
||||
\H@refstepcounter{figure}%
|
||||
\@dblarg{\@caption{figure}}}
|
||||
|
||||
% for usage without hyperlinks
|
||||
\def\doxyfigcaptionnolink{%
|
||||
\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}
|
||||
2178
AllLibs/MyLibs/Doc/latex/etoc_doxygen.sty
Normal file
2178
AllLibs/MyLibs/Doc/latex/etoc_doxygen.sty
Normal file
@@ -0,0 +1,2178 @@
|
||||
%%
|
||||
%% This is file etoc_doxygen.sty
|
||||
%%
|
||||
%% Apart from this header notice and the renaming from etoc to
|
||||
%% etoc_doxygen (also in \ProvidesPackage) it is an identical
|
||||
%% copy of
|
||||
%%
|
||||
%% etoc.sty
|
||||
%%
|
||||
%% at version 1.2b of 2023/07/01.
|
||||
%%
|
||||
%% This file has been provided to Doxygen team courtesy of the
|
||||
%% author for benefit of users having a LaTeX installation not
|
||||
%% yet providing version 1.2a or later of etoc, whose
|
||||
%% deeplevels feature is required.
|
||||
%%
|
||||
%% The original source etoc.dtx (only of the latest version at
|
||||
%% any given time) is available at
|
||||
%%
|
||||
%% https://ctan.org/pkg/etoc
|
||||
%%
|
||||
%% and contains the terms for copying and modification as well
|
||||
%% as author contact information.
|
||||
%%
|
||||
%% In brief any modified versions of this file must be renamed
|
||||
%% with new filenames distinct from etoc.sty.
|
||||
%%
|
||||
%% Package: etoc
|
||||
%% Version: 1.2b
|
||||
%% License: LPPL 1.3c
|
||||
%% Copyright (C) 2012-2023 Jean-Francois B. <user jfbu at github>
|
||||
\NeedsTeXFormat{LaTeX2e}[2003/12/01]
|
||||
\ProvidesPackage{etoc_doxygen}[2023/07/01 v1.2b Completely customisable TOCs (JFB)]
|
||||
\newif\ifEtoc@oldLaTeX
|
||||
\@ifl@t@r\fmtversion{2020/10/01}
|
||||
{}
|
||||
{\Etoc@oldLaTeXtrue
|
||||
\PackageInfo{etoc}{Old LaTeX (\fmtversion) detected!\MessageBreak
|
||||
Since 1.1a (2023/01/14), etoc prefers LaTeX at least\MessageBreak
|
||||
as recent as 2020-10-01, for reasons of the .toc file,\MessageBreak
|
||||
and used to require it (from 1.1a to 1.2).\MessageBreak
|
||||
This etoc (1.2b) does not *require* it, but has not been\MessageBreak
|
||||
tested thoroughly on old LaTeX (especially if document\MessageBreak
|
||||
does not use hyperref) and retrofitting was done only\MessageBreak
|
||||
on basis of author partial remembrances of old context.\MessageBreak
|
||||
Reported}}
|
||||
\RequirePackage{kvoptions}
|
||||
\SetupKeyvalOptions{prefix=Etoc@}
|
||||
\newif\ifEtoc@lof
|
||||
\DeclareVoidOption{lof}{\Etoc@loftrue
|
||||
\PackageInfo{etoc}{Experimental support for \string\locallistoffigures.\MessageBreak
|
||||
Barely tested, use at own risk}%
|
||||
}
|
||||
\newif\ifEtoc@lot
|
||||
\DeclareVoidOption{lot}{\Etoc@lottrue
|
||||
\PackageInfo{etoc}{Experimental support for \string\locallistoftables.\MessageBreak
|
||||
Barely tested, use at own risk}%
|
||||
}
|
||||
\@ifclassloaded{memoir}{
|
||||
\PackageInfo{etoc}
|
||||
{As this is with memoir class, all `...totoc' options\MessageBreak
|
||||
are set true by default. Reported}
|
||||
\DeclareBoolOption[true]{maintoctotoc}
|
||||
\DeclareBoolOption[true]{localtoctotoc}
|
||||
\DeclareBoolOption[true]{localloftotoc}
|
||||
\DeclareBoolOption[true]{locallottotoc}
|
||||
}{
|
||||
\DeclareBoolOption[false]{maintoctotoc}
|
||||
\DeclareBoolOption[false]{localtoctotoc}
|
||||
\DeclareBoolOption[false]{localloftotoc}
|
||||
\DeclareBoolOption[false]{locallottotoc}
|
||||
}
|
||||
\DeclareBoolOption[true]{ouroboros}
|
||||
\DeclareBoolOption[false]{deeplevels}
|
||||
\DeclareDefaultOption{\PackageWarning{etoc}{Option `\CurrentOption' is unknown.}}
|
||||
\ProcessKeyvalOptions*
|
||||
\DisableKeyvalOption[action=error,package=etoc]{etoc}{lof}
|
||||
\DisableKeyvalOption[action=error,package=etoc]{etoc}{lot}
|
||||
\DisableKeyvalOption[action=error,package=etoc]{etoc}{deeplevels}
|
||||
\def\etocsetup#1{\setkeys{etoc}{#1}}
|
||||
\def\etocifmaintoctotoc{\ifEtoc@maintoctotoc
|
||||
\expandafter\@firstoftwo
|
||||
\else
|
||||
\expandafter\@secondoftwo
|
||||
\fi}
|
||||
\def\etociflocaltoctotoc{\ifEtoc@localtoctotoc
|
||||
\expandafter\@firstoftwo
|
||||
\else
|
||||
\expandafter\@secondoftwo
|
||||
\fi}
|
||||
\def\etociflocalloftotoc{\ifEtoc@localloftotoc
|
||||
\expandafter\@firstoftwo
|
||||
\else
|
||||
\expandafter\@secondoftwo
|
||||
\fi}
|
||||
\def\etociflocallottotoc{\ifEtoc@locallottotoc
|
||||
\expandafter\@firstoftwo
|
||||
\else
|
||||
\expandafter\@secondoftwo
|
||||
\fi}
|
||||
\RequirePackage{multicol}
|
||||
\def\etoc@{\etoc@}
|
||||
\long\def\Etoc@gobtoetoc@ #1\etoc@{}
|
||||
\newtoks\Etoc@toctoks
|
||||
\def\Etoc@par{\par}
|
||||
\def\etocinline{\def\Etoc@par{}}
|
||||
\let\etocnopar\etocinline
|
||||
\def\etocdisplay{\def\Etoc@par{\par}}
|
||||
\let\Etoc@global\@empty
|
||||
\def\etocglobaldefs{\let\Etoc@global\global\let\tof@global\global}
|
||||
\def\etoclocaldefs {\let\Etoc@global\@empty\let\tof@global\@empty}
|
||||
\newif\ifEtoc@numbered
|
||||
\newif\ifEtoc@hyperref
|
||||
\newif\ifEtoc@parskip
|
||||
\newif\ifEtoc@tocwithid
|
||||
\newif\ifEtoc@standardlines
|
||||
\newif\ifEtoc@etocstyle
|
||||
\newif\ifEtoc@classstyle
|
||||
\newif\ifEtoc@keeporiginaltoc
|
||||
\newif\ifEtoc@skipprefix
|
||||
\newif\ifEtoc@isfirst
|
||||
\newif\ifEtoc@localtoc
|
||||
\newif\ifEtoc@skipthisone
|
||||
\newif\ifEtoc@stoptoc
|
||||
\newif\ifEtoc@notactive
|
||||
\newif\ifEtoc@mustclosegroup
|
||||
\newif\ifEtoc@isemptytoc
|
||||
\newif\ifEtoc@checksemptiness
|
||||
\def\etocchecksemptiness {\Etoc@checksemptinesstrue }
|
||||
\def\etocdoesnotcheckemptiness {\Etoc@checksemptinessfalse }
|
||||
\newif\ifEtoc@notocifnotoc
|
||||
\def\etocnotocifnotoc {\Etoc@checksemptinesstrue\Etoc@notocifnotoctrue }
|
||||
\newcounter{etoc@tocid}
|
||||
\def\Etoc@tocext{toc}
|
||||
\def\Etoc@lofext{lof}
|
||||
\def\Etoc@lotext{lot}
|
||||
\let\Etoc@currext\Etoc@tocext
|
||||
\def\etocifislocal{\ifEtoc@localtoc\expandafter\@firstoftwo\else
|
||||
\expandafter\@secondoftwo\fi
|
||||
}
|
||||
\def\etocifislocaltoc{\etocifislocal{\ifx\Etoc@currext\Etoc@tocext
|
||||
\expandafter\@firstoftwo\else
|
||||
\expandafter\@secondoftwo\fi}%
|
||||
{\@secondoftwo}%
|
||||
}
|
||||
\def\etocifislocallof{\etocifislocal{\ifx\Etoc@currext\Etoc@lofext
|
||||
\expandafter\@firstoftwo\else
|
||||
\expandafter\@secondoftwo\fi}%
|
||||
{\@secondoftwo}%
|
||||
}
|
||||
\def\etocifislocallot{\etocifislocal{\ifx\Etoc@currext\Etoc@lotext
|
||||
\expandafter\@firstoftwo\else
|
||||
\expandafter\@secondoftwo\fi}%
|
||||
{\@secondoftwo}%
|
||||
}
|
||||
\expandafter\def\csname Etoc@-3@@\endcsname {-\thr@@}
|
||||
\expandafter\def\csname Etoc@-2@@\endcsname {-\tw@}
|
||||
\expandafter\let\csname Etoc@-1@@\endcsname \m@ne
|
||||
\expandafter\let\csname Etoc@0@@\endcsname \z@
|
||||
\expandafter\let\csname Etoc@1@@\endcsname \@ne
|
||||
\expandafter\let\csname Etoc@2@@\endcsname \tw@
|
||||
\expandafter\let\csname Etoc@3@@\endcsname \thr@@
|
||||
\expandafter\chardef\csname Etoc@4@@\endcsname 4
|
||||
\expandafter\chardef\csname Etoc@5@@\endcsname 5
|
||||
\expandafter\chardef\csname Etoc@6@@\endcsname 6
|
||||
\ifEtoc@deeplevels
|
||||
\expandafter\chardef\csname Etoc@7@@\endcsname 7
|
||||
\expandafter\chardef\csname Etoc@8@@\endcsname 8
|
||||
\expandafter\chardef\csname Etoc@9@@\endcsname 9
|
||||
\expandafter\chardef\csname Etoc@10@@\endcsname 10
|
||||
\expandafter\chardef\csname Etoc@11@@\endcsname 11
|
||||
\expandafter\chardef\csname Etoc@12@@\endcsname 12
|
||||
\fi
|
||||
\expandafter\let\expandafter\Etoc@maxlevel
|
||||
\csname Etoc@\ifEtoc@deeplevels12\else6\fi @@\endcsname
|
||||
\edef\etocthemaxlevel{\number\Etoc@maxlevel}
|
||||
\@ifclassloaded{memoir}{\def\Etoc@minf{-\thr@@}}{\def\Etoc@minf{-\tw@}}
|
||||
\let\Etoc@none@@ \Etoc@minf
|
||||
\expandafter\let\expandafter\Etoc@all@@
|
||||
\csname Etoc@\ifEtoc@deeplevels11\else5\fi @@\endcsname
|
||||
\let\Etoc@dolevels\@empty
|
||||
\def\Etoc@newlevel #1{\expandafter\def\expandafter\Etoc@dolevels\expandafter
|
||||
{\Etoc@dolevels\Etoc@do{#1}}}
|
||||
\ifdefined\expanded
|
||||
\def\etocsetlevel#1#2{\expanded{\noexpand\etoc@setlevel{#1}{#2}}}%
|
||||
\else
|
||||
\def\etocsetlevel#1#2{{\edef\Etoc@tmp{\noexpand\etoc@setlevel{#1}{#2}}\expandafter}\Etoc@tmp}%
|
||||
\fi
|
||||
\def\etoc@setlevel#1#2{%
|
||||
\edef\Etoc@tmp{\the\numexpr#2}%
|
||||
\if1\ifnum\Etoc@tmp>\Etoc@maxlevel0\fi\unless\ifnum\Etoc@minf<\Etoc@tmp;\fi1%
|
||||
\ifEtoc@deeplevels
|
||||
\in@{.#1,}{.none,.all,.figure,.table,.-3,.-2,.-1,.0,.1,.2,.3,.4,.5,.6,%
|
||||
.7,.8,.9,.10,.11,.12,}%
|
||||
\else
|
||||
\in@{.#1,}{.none,.all,.figure,.table,.-3,.-2,.-1,.0,.1,.2,.3,.4,.5,.6,}%
|
||||
\fi
|
||||
\ifin@\else\if\@car#1\@nil @\in@true\fi\fi
|
||||
\ifin@
|
||||
\PackageWarning{etoc}
|
||||
{Sorry, but `#1' is forbidden as level name.\MessageBreak
|
||||
\if\@car#1\@nil @%
|
||||
(because of the @ as first character)\MessageBreak\fi
|
||||
Reported}%
|
||||
\else
|
||||
\etocifunknownlevelTF{#1}{\Etoc@newlevel{#1}}{}%
|
||||
\expandafter\let\csname Etoc@#1@@\expandafter\endcsname
|
||||
\csname Etoc@\Etoc@tmp @@\endcsname
|
||||
\expandafter\edef\csname Etoc@@#1@@\endcsname
|
||||
{\expandafter\noexpand\csname Etoc@#1@@\endcsname}%
|
||||
\expandafter\edef\csname toclevel@@#1\endcsname
|
||||
{\expandafter\noexpand\csname toclevel@#1\endcsname}%
|
||||
\fi
|
||||
\else
|
||||
\PackageWarning{etoc}
|
||||
{Argument `\detokenize{#2}' of \string\etocsetlevel\space should
|
||||
represent one of\MessageBreak
|
||||
\ifnum\Etoc@minf=-\thr@@-2, \fi-1, 0, 1, 2, \ifEtoc@deeplevels ...\else3, 4\fi,
|
||||
\the\numexpr\Etoc@maxlevel-1, or \number\Etoc@maxlevel\space
|
||||
but evaluates to \Etoc@tmp.\MessageBreak
|
||||
The level of `#1' will be set to \number\Etoc@maxlevel.\MessageBreak
|
||||
Tables of contents will ignore `#1' as long\MessageBreak
|
||||
as its level is \number\Etoc@maxlevel\space (=\string\etocthemaxlevel).%
|
||||
\MessageBreak
|
||||
Reported}%
|
||||
\etocifunknownlevelTF{#1}{\Etoc@newlevel{#1}}{}%
|
||||
\expandafter\let\csname Etoc@#1@@\endcsname\Etoc@maxlevel
|
||||
\fi
|
||||
}
|
||||
\def\etoclevel#1{\csname Etoc@#1@@\endcsname}
|
||||
\def\etocthelevel#1{\number\csname Etoc@#1@@\endcsname}
|
||||
\def\etocifunknownlevelTF#1{\@ifundefined{Etoc@#1@@}}
|
||||
\@ifclassloaded{memoir}{\etocsetlevel{book}{-2}}{}
|
||||
\etocsetlevel{part}{-1}
|
||||
\etocsetlevel{chapter}{0}
|
||||
\etocsetlevel{section}{1}
|
||||
\etocsetlevel{subsection}{2}
|
||||
\etocsetlevel{subsubsection}{3}
|
||||
\etocsetlevel{paragraph}{4}
|
||||
\etocsetlevel{subparagraph}{5}
|
||||
\ifdefined\c@chapter
|
||||
\etocsetlevel{appendix}{0}
|
||||
\else
|
||||
\etocsetlevel{appendix}{1}
|
||||
\fi
|
||||
\def\Etoc@do#1{\@namedef{l@@#1}{\csname l@#1\endcsname}}
|
||||
\Etoc@dolevels
|
||||
\let\Etoc@figure@@\Etoc@maxlevel
|
||||
\let\Etoc@table@@ \Etoc@maxlevel
|
||||
\let\Etoc@gobblethreeorfour\@gobblefour
|
||||
\ifdefined\@gobblethree
|
||||
\let\Etoc@gobblethree\@gobblethree
|
||||
\else
|
||||
\long\def\Etoc@gobblethree#1#2#3{}%
|
||||
\fi
|
||||
\AtBeginDocument{%
|
||||
\@ifpackageloaded{parskip}{\Etoc@parskiptrue}{}%
|
||||
\@ifpackageloaded{hyperref}
|
||||
{\Etoc@hyperreftrue}
|
||||
{\ifEtoc@oldLaTeX
|
||||
\let\Etoc@gobblethreeorfour\Etoc@gobblethree
|
||||
\let\Etoc@etoccontentsline@fourargs\Etoc@etoccontentsline@
|
||||
\long\def\Etoc@etoccontentsline@#1#2#3{%
|
||||
\Etoc@etoccontentsline@fourargs{#1}{#2}{#3}{}%
|
||||
}%
|
||||
\fi
|
||||
}%
|
||||
}
|
||||
\def\etocskipfirstprefix {\global\Etoc@skipprefixtrue }
|
||||
\def\Etoc@updatestackofends#1\etoc@{\gdef\Etoc@stackofends{#1}}
|
||||
\def\Etoc@stackofends{{-3}{}}
|
||||
\def\Etoc@doendsandbegin{%
|
||||
\expandafter\Etoc@traversestackofends\Etoc@stackofends\etoc@
|
||||
}
|
||||
\def\Etoc@traversestackofends#1{%
|
||||
\ifnum#1>\Etoc@level
|
||||
\csname Etoc@end@#1\endcsname
|
||||
\expandafter\Etoc@traversestackofends
|
||||
\else
|
||||
\Etoc@traversestackofends@done{#1}%
|
||||
\fi
|
||||
}
|
||||
\def\Etoc@traversestackofends@done#1#2{#2%
|
||||
\ifnum#1<\Etoc@level
|
||||
\csname Etoc@begin@\the\numexpr\Etoc@level\endcsname
|
||||
\Etoc@global\Etoc@isfirsttrue
|
||||
\edef\Etoc@tmp{{\the\numexpr\Etoc@level}}%
|
||||
\else
|
||||
\Etoc@global\Etoc@isfirstfalse
|
||||
\let\Etoc@tmp\@empty
|
||||
\fi
|
||||
\expandafter\Etoc@updatestackofends\Etoc@tmp{#1}%
|
||||
}
|
||||
\def\Etoc@etoccontentsline #1{%
|
||||
\let\Etoc@next\Etoc@gobblethreeorfour
|
||||
\ifnum\csname Etoc@#1@@\endcsname=\Etoc@maxlevel
|
||||
\else
|
||||
\Etoc@skipthisonefalse
|
||||
\global\expandafter\let\expandafter\Etoc@level\csname Etoc@#1@@\endcsname
|
||||
\if @\@car#1\@nil\else\global\let\Etoc@virtualtop\Etoc@level\fi
|
||||
\ifEtoc@localtoc
|
||||
\ifEtoc@stoptoc
|
||||
\Etoc@skipthisonetrue
|
||||
\else
|
||||
\ifEtoc@notactive
|
||||
\Etoc@skipthisonetrue
|
||||
\else
|
||||
\unless\ifnum\Etoc@level>\etoclocaltop
|
||||
\Etoc@skipthisonetrue
|
||||
\global\Etoc@stoptoctrue
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\ifEtoc@skipthisone
|
||||
\else
|
||||
\unless\ifnum\Etoc@level>\c@tocdepth
|
||||
\ifEtoc@standardlines
|
||||
\let\Etoc@next\Etoc@savedcontentsline
|
||||
\else
|
||||
\let\Etoc@next\Etoc@etoccontentsline@
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\Etoc@next{#1}%
|
||||
}
|
||||
\def\Etoc@etoccontentsline@ #1#2#3#4{%
|
||||
\Etoc@doendsandbegin
|
||||
\Etoc@global\edef\Etoc@prefix {\expandafter\noexpand
|
||||
\csname Etoc@prefix@\the\numexpr\Etoc@level\endcsname }%
|
||||
\Etoc@global\edef\Etoc@contents{\expandafter\noexpand
|
||||
\csname Etoc@contents@\the\numexpr\Etoc@level\endcsname }%
|
||||
\ifEtoc@skipprefix \Etoc@global\def\Etoc@prefix{\@empty}\fi
|
||||
\global\Etoc@skipprefixfalse
|
||||
\Etoc@lxyz{#2}{#3}{#4}%
|
||||
\Etoc@prefix
|
||||
\Etoc@contents
|
||||
}
|
||||
\def\Etoc@lxyz #1#2#3{%
|
||||
\ifEtoc@hyperref
|
||||
\Etoc@global\def\etocthelink##1{\hyperlink{#3}{##1}}%
|
||||
\else
|
||||
\Etoc@global\let\etocthelink\@firstofone
|
||||
\fi
|
||||
\Etoc@global\def\etocthepage {#2}%
|
||||
\ifEtoc@hyperref
|
||||
\ifx\etocthepage\@empty
|
||||
\Etoc@global\let\etocthelinkedpage\@empty
|
||||
\else
|
||||
\Etoc@global\def\etocthelinkedpage{\hyperlink {#3}{#2}}%
|
||||
\fi
|
||||
\else
|
||||
\Etoc@global\let\etocthelinkedpage\etocthepage
|
||||
\fi
|
||||
\Etoc@global\def\etocthename{#1}%
|
||||
\futurelet\Etoc@getnb@token\Etoc@@getnb #1\hspace\etoc@
|
||||
\ifEtoc@hyperref
|
||||
\def\Etoc@tmp##1##2{\Etoc@global\def##2{\hyperlink{#3}{##1}}}%
|
||||
\expandafter\Etoc@tmp\expandafter{\etocthename}\etocthelinkedname
|
||||
\ifEtoc@numbered
|
||||
\expandafter\Etoc@tmp\expandafter{\etocthenumber}\etocthelinkednumber
|
||||
\else
|
||||
\Etoc@global\let\etocthelinkednumber\@empty
|
||||
\fi
|
||||
\else
|
||||
\Etoc@global\let\etocthelinkedname \etocthename
|
||||
\Etoc@global\let\etocthelinkednumber\etocthenumber
|
||||
\fi
|
||||
\Etoc@global\expandafter\let\csname etoclink \endcsname \etocthelink
|
||||
\Etoc@global\expandafter\let\csname etocname \endcsname \etocthename
|
||||
\Etoc@global\expandafter\let\csname etocnumber \endcsname\etocthenumber
|
||||
\Etoc@global\expandafter\let\csname etocpage \endcsname \etocthepage
|
||||
\ifEtoc@hyperref
|
||||
\Etoc@lxyz@linktoc
|
||||
\fi
|
||||
}
|
||||
\def\Etoc@lxyz@linktoc{%
|
||||
\ifcase\Hy@linktoc
|
||||
\or
|
||||
\Etoc@global\expandafter\let\csname etocname \endcsname\etocthelinkedname
|
||||
\Etoc@global\expandafter\let\csname etocnumber \endcsname\etocthelinkednumber
|
||||
\or % page
|
||||
\Etoc@global\expandafter\let\csname etocpage \endcsname\etocthelinkedpage
|
||||
\else % all
|
||||
\Etoc@global\expandafter\let\csname etocname \endcsname\etocthelinkedname
|
||||
\Etoc@global\expandafter\let\csname etocnumber \endcsname\etocthelinkednumber
|
||||
\Etoc@global\expandafter\let\csname etocpage \endcsname\etocthelinkedpage
|
||||
\fi
|
||||
}
|
||||
\def\Etoc@@getnb {%
|
||||
\let\Etoc@next\Etoc@getnb
|
||||
\ifx\Etoc@getnb@token\@sptoken\let\Etoc@next\Etoc@getnb@nonbr\fi
|
||||
\ifx\Etoc@getnb@token\bgroup \let\Etoc@next\Etoc@getnb@nonbr\fi
|
||||
\Etoc@next
|
||||
}
|
||||
\def\Etoc@getnb #1{%
|
||||
\in@{#1}{\numberline\chapternumberline\partnumberline\booknumberline}%
|
||||
\ifin@
|
||||
\let\Etoc@next\Etoc@getnb@nmbrd
|
||||
\else
|
||||
\ifnum\Etoc@level=\m@ne
|
||||
\let\Etoc@next\Etoc@@getit
|
||||
\else
|
||||
\let\Etoc@next\Etoc@getnb@nonbr
|
||||
\fi
|
||||
\in@{#1}{\nonumberline}%
|
||||
\ifin@
|
||||
\let\Etoc@next\Etoc@getnb@nonumberline
|
||||
\fi
|
||||
\fi
|
||||
\Etoc@next #1%
|
||||
}
|
||||
\def\Etoc@getnb@nmbrd #1#2{%
|
||||
\Etoc@global\Etoc@numberedtrue
|
||||
\Etoc@global\def\etocthenumber {#2}%
|
||||
\Etoc@getnb@nmbrd@getname\@empty
|
||||
}%
|
||||
\def\Etoc@getnb@nmbrd@getname #1\hspace\etoc@ {%
|
||||
\Etoc@global\expandafter\def\expandafter\etocthename\expandafter{#1}%
|
||||
}
|
||||
\def\Etoc@getnb@nonbr #1\etoc@ {%
|
||||
\Etoc@global\Etoc@numberedfalse
|
||||
\Etoc@global\let\etocthenumber \@empty
|
||||
}
|
||||
\def\Etoc@getnb@nonumberline #1\hspace\etoc@ {%
|
||||
\Etoc@global\Etoc@numberedfalse
|
||||
\Etoc@global\let\etocthenumber \@empty
|
||||
\Etoc@global\expandafter\def\expandafter\etocthename\expandafter{\@gobble#1}%
|
||||
}
|
||||
\def\Etoc@@getit #1\hspace#2{%
|
||||
\ifx\etoc@#2%
|
||||
\Etoc@global\Etoc@numberedfalse
|
||||
\Etoc@global\let\etocthenumber \@empty
|
||||
\else
|
||||
\Etoc@global\Etoc@numberedtrue
|
||||
\Etoc@global\def\etocthenumber {#1}%
|
||||
\expandafter\Etoc@getit@getname \expandafter\@empty
|
||||
\fi
|
||||
}
|
||||
\def\Etoc@getit@getname #1\hspace\etoc@ {%
|
||||
\Etoc@global\expandafter\def\expandafter\etocthename\expandafter{#1}%
|
||||
}
|
||||
\let\etocthename \@empty
|
||||
\let\etocthenumber \@empty
|
||||
\let\etocthepage \@empty
|
||||
\let\etocthelinkedname \@empty
|
||||
\let\etocthelinkednumber \@empty
|
||||
\let\etocthelinkedpage \@empty
|
||||
\let\etocthelink \@firstofone
|
||||
\DeclareRobustCommand*{\etocname} {}
|
||||
\DeclareRobustCommand*{\etocnumber}{}
|
||||
\DeclareRobustCommand*{\etocpage} {}
|
||||
\DeclareRobustCommand*{\etoclink} {\@firstofone}
|
||||
\DeclareRobustCommand*{\etocifnumbered}
|
||||
{\ifEtoc@numbered\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
|
||||
\expandafter\let\expandafter\etocxifnumbered\csname etocifnumbered \endcsname
|
||||
\DeclareRobustCommand*{\etociffirst}
|
||||
{\ifEtoc@isfirst\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
|
||||
\expandafter\let\expandafter\etocxiffirst\csname etociffirst \endcsname
|
||||
\def\Etoc@readtoc {%
|
||||
\ifeof \Etoc@tf
|
||||
\else
|
||||
\read \Etoc@tf to \Etoc@buffer
|
||||
\Etoc@toctoks=\expandafter\expandafter\expandafter
|
||||
{\expandafter\the\expandafter\Etoc@toctoks\Etoc@buffer}%
|
||||
\expandafter\Etoc@readtoc
|
||||
\fi
|
||||
}
|
||||
\Etoc@toctoks {}% (superfluous, but for clarity)
|
||||
\AtBeginDocument{\IfFileExists{\jobname.toc}
|
||||
{{\endlinechar=\m@ne
|
||||
\makeatletter
|
||||
\newread\Etoc@tf
|
||||
\openin\Etoc@tf\@filef@und
|
||||
\Etoc@readtoc
|
||||
\global\Etoc@toctoks=\expandafter{\the\Etoc@toctoks}%
|
||||
\closein\Etoc@tf}}
|
||||
{\typeout{No file \jobname.toc.}}}
|
||||
\def\Etoc@openouttoc{%
|
||||
\ifEtoc@hyperref
|
||||
\ifx\hyper@last\@undefined
|
||||
\IfFileExists{\jobname .toc}
|
||||
{\Hy@WarningNoLine
|
||||
{old toc file detected; run LaTeX again (cheers from `etoc')}%
|
||||
\global\Etoc@toctoks={}%
|
||||
}
|
||||
{}%
|
||||
\fi
|
||||
\fi
|
||||
\if@filesw
|
||||
\newwrite \tf@toc
|
||||
\immediate \openout \tf@toc \jobname .toc\relax
|
||||
\fi
|
||||
\global\let\Etoc@openouttoc\empty
|
||||
}
|
||||
\def\Etoc@toctoc{%
|
||||
\gdef\Etoc@stackofends{{-3}{}}%
|
||||
\global\let\Etoc@level\Etoc@minf
|
||||
\global\let\Etoc@virtualtop\Etoc@minf
|
||||
\the\Etoc@toctoks
|
||||
\ifEtoc@notactive
|
||||
\else
|
||||
\gdef\Etoc@level{-\thr@@}%
|
||||
\Etoc@doendsandbegin
|
||||
\fi
|
||||
}
|
||||
\def\Etoc@@startlocaltoc#1#2{%
|
||||
\ifEtoc@localtoc
|
||||
\ifnum #1=#2\relax
|
||||
\global\let\etoclocaltop\Etoc@virtualtop
|
||||
\Etoc@@startlocaltochook
|
||||
\etoclocaltableofcontentshook
|
||||
\ifEtoc@etocstyle
|
||||
\etocetoclocaltocmaketitle
|
||||
\fi
|
||||
\ifx\Etoc@aftertitlehook\@empty
|
||||
\else
|
||||
\ifEtoc@localtoctotoc
|
||||
\ifEtoc@ouroboros
|
||||
\else
|
||||
\let\Etoc@tmp\contentsline
|
||||
\def\contentsline{\let\contentsline\Etoc@tmp\Etoc@gobblethreeorfour}%
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\global\Etoc@notactivefalse
|
||||
\fi
|
||||
\fi
|
||||
}
|
||||
\let\etoc@startlocaltoc\@gobble
|
||||
\let\Etoc@@startlocaltoc@toc\Etoc@@startlocaltoc
|
||||
\let\Etoc@@startlocaltochook\@empty
|
||||
\unless\ifEtoc@deeplevels
|
||||
\def\etocdivisionnameatlevel#1{%
|
||||
\ifcase\numexpr#1\relax
|
||||
\ifdefined\c@chapter chapter\else section\fi%
|
||||
\or section%
|
||||
\or subsection%
|
||||
\or subsubsection%
|
||||
\or paragraph%
|
||||
\or subparagraph%
|
||||
\or empty%
|
||||
\else\ifnum\numexpr#1<\m@ne
|
||||
book%
|
||||
\else
|
||||
part%
|
||||
\fi
|
||||
\fi
|
||||
}
|
||||
\else
|
||||
\def\etocdivisionnameatlevel#1{%
|
||||
\ifcase\numexpr#1\relax
|
||||
\ifdefined\c@chapter chapter\else section\fi%
|
||||
\or section%
|
||||
\or subsection%
|
||||
\or subsubsection%
|
||||
\or subsubsubsection%
|
||||
\or subsubsubsubsection%
|
||||
\or subsubsubsubsubsection%
|
||||
\or subsubsubsubsubsubsection%
|
||||
\or paragraph%
|
||||
\or subparagraph%
|
||||
\else\ifnum\numexpr#1>\z@
|
||||
empty%
|
||||
\else\ifnum\numexpr#1=\m@ne
|
||||
part%
|
||||
\else
|
||||
book%
|
||||
\fi\fi
|
||||
\fi
|
||||
}
|
||||
\fi
|
||||
\def\etoclocalheadtotoc#1#2{\addcontentsline{toc}{@#1}{#2}}
|
||||
\def\etocglobalheadtotoc{\addcontentsline{toc}}
|
||||
\providecommand*\UseName{\@nameuse}
|
||||
\def\etocetoclocaltocmaketitle{%
|
||||
\UseName{\etocdivisionnameatlevel{\etoclocaltop+1}}*{\localcontentsname}%
|
||||
\if@noskipsec\leavevmode\par\fi
|
||||
\etociflocaltoctotoc
|
||||
{\etocifisstarred
|
||||
{}% star variant, do not add to toc
|
||||
{\etoclocalheadtotoc
|
||||
{\etocdivisionnameatlevel{\etoclocaltop+1}}%
|
||||
{\localcontentsname}%
|
||||
}%
|
||||
}%
|
||||
{}%
|
||||
}%
|
||||
\def\localcontentsname {\contentsname}%
|
||||
\let\etoclocaltableofcontentshook\@empty
|
||||
\if1\ifEtoc@lof0\fi\ifEtoc@lot0\fi1%
|
||||
\else
|
||||
\AtBeginDocument{%
|
||||
\let\Etoc@originaladdcontentsline\addcontentsline
|
||||
\def\addcontentsline{\Etoc@hackedaddcontentsline}%
|
||||
}%
|
||||
\fi
|
||||
\ifEtoc@lof
|
||||
\ifEtoc@lot
|
||||
\def\Etoc@hackedaddcontentsline#1{%
|
||||
\expanded{\noexpand\in@{.#1,}}{.lof,.lot,}%
|
||||
\ifin@\expandafter\Etoc@hackedaddcontentsline@i
|
||||
\else\expandafter\Etoc@originaladdcontentsline
|
||||
\fi {#1}}
|
||||
\else
|
||||
\def\Etoc@hackedaddcontentsline#1{%
|
||||
\expanded{\noexpand\in@{.#1,}}{.lof,}%
|
||||
\ifin@\expandafter\Etoc@hackedaddcontentsline@i
|
||||
\else\expandafter\Etoc@originaladdcontentsline
|
||||
\fi {#1}}
|
||||
\fi
|
||||
\else
|
||||
\def\Etoc@hackedaddcontentsline#1{%
|
||||
\expanded{\noexpand\in@{.#1,}}{.lot,}%
|
||||
\ifin@\expandafter\Etoc@hackedaddcontentsline@i
|
||||
\else\expandafter\Etoc@originaladdcontentsline
|
||||
\fi {#1}}
|
||||
\fi
|
||||
\def\Etoc@hackedaddcontentsline@i#1#2#3{%
|
||||
\expanded{\noexpand\in@{.#1;#2,}}{.lof;figure,.lot;table,}%
|
||||
\ifin@
|
||||
\addtocontents {toc}{%
|
||||
\protect\contentsline{#2}{#3}{\thepage}{\ifEtoc@hyperref\@currentHref\fi}%
|
||||
\ifdefined\protected@file@percent\protected@file@percent\fi
|
||||
}%
|
||||
\fi
|
||||
\Etoc@originaladdcontentsline{#1}{#2}{#3}%
|
||||
}
|
||||
\unless\ifdefined\expanded
|
||||
\def\Etoc@hackedaddcontentsline#1{%
|
||||
{\edef\Etoc@tmp{\noexpand\in@{.#1,}{\ifEtoc@lof.lof,\fi\ifEtoc@lot.lot,\fi}}\expandafter}%
|
||||
\Etoc@tmp
|
||||
\ifin@\expandafter\Etoc@hackedaddcontentsline@i
|
||||
\else\expandafter\Etoc@originaladdcontentsline
|
||||
\fi {#1}%
|
||||
}
|
||||
\def\Etoc@hackedaddcontentsline@i#1#2#3{%
|
||||
{\edef\Etoc@tmp{\noexpand\in@{.#1;#2,}}\expandafter}%
|
||||
\Etoc@tmp{.lof;figure,.lot;table,}%
|
||||
\ifin@
|
||||
\addtocontents {toc}{%
|
||||
\protect\contentsline{#2}{#3}{\thepage}{\ifEtoc@hyperref\@currentHref\fi}%
|
||||
\ifdefined\protected@file@percent\protected@file@percent\fi
|
||||
}%
|
||||
\fi
|
||||
\Etoc@originaladdcontentsline{#1}{#2}{#3}%
|
||||
}
|
||||
\fi
|
||||
\def\Etoc@@startlocallistof#1#2#3{%
|
||||
\ifEtoc@localtoc
|
||||
\ifnum #2=#3\relax
|
||||
\global\let\etoclocaltop\Etoc@virtualtop
|
||||
\global\Etoc@notactivefalse
|
||||
\Etoc@@startlocaltochook
|
||||
\csname etoclocallistof#1shook\endcsname
|
||||
\ifEtoc@etocstyle
|
||||
\csname etocetoclistof#1smaketitle\endcsname
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
}
|
||||
\def\Etoc@@startlocallistof@setlevels#1{%
|
||||
\ifnum\etoclocaltop<\z@
|
||||
\expandafter\let\csname Etoc@#1@@\endcsname\@ne
|
||||
\else
|
||||
\expandafter\let\csname Etoc@#1@@\expandafter\endcsname
|
||||
\csname Etoc@\the\numexpr\etoclocaltop+\@ne @@\endcsname
|
||||
\fi
|
||||
\def\Etoc@do##1{%
|
||||
\ifnum\etoclevel{##1}>\etoclocaltop
|
||||
\expandafter\let\csname Etoc@##1@@\endcsname\Etoc@maxlevel
|
||||
\fi}%
|
||||
\Etoc@dolevels
|
||||
}
|
||||
\def\etoclocallistoffigureshook{\etocstandardlines}
|
||||
\def\etoclocallistoftableshook {\etocstandardlines}
|
||||
\def\locallistfigurename{\listfigurename}
|
||||
\def\locallisttablename {\listtablename}
|
||||
\def\etocetoclistoffiguresmaketitle{%
|
||||
\UseName{\etocdivisionnameatlevel{\etoclocaltop+1}}*{\locallistfigurename}%
|
||||
\ifnum\etoclocaltop>\tw@\mbox{}\par\fi
|
||||
\etociflocalloftotoc
|
||||
{\etocifisstarred
|
||||
{}% star variant, do not add to toc
|
||||
{\etoclocalheadtotoc
|
||||
{\etocdivisionnameatlevel{\etoclocaltop+1}}%
|
||||
{\locallistfigurename}%
|
||||
}%
|
||||
}%
|
||||
{}%
|
||||
}%
|
||||
\def\etocetoclistoftablesmaketitle{%
|
||||
\UseName{\etocdivisionnameatlevel{\etoclocaltop+1}}*{\locallisttablename}%
|
||||
\ifnum\etoclocaltop>\tw@\mbox{}\par\fi
|
||||
\etociflocallottotoc
|
||||
{\etocifisstarred
|
||||
{}% star variant, do not add to toc
|
||||
{\etoclocalheadtotoc
|
||||
{\etocdivisionnameatlevel{\etoclocaltop+1}}%
|
||||
{\locallisttablename}%
|
||||
}%
|
||||
}%
|
||||
{}%
|
||||
}%
|
||||
\let\Etoc@listofreset\@empty
|
||||
\ifEtoc@lof
|
||||
\def\locallistoffigures{%
|
||||
\def\Etoc@listofreset{%
|
||||
\let\Etoc@currext\Etoc@tocext
|
||||
\let\Etoc@@startlocaltoc\Etoc@@startlocaltoc@toc
|
||||
\let\Etoc@@startlocaltochook\@empty
|
||||
\let\Etoc@listofreset\@empty
|
||||
\let\Etoc@listofhook\@empty
|
||||
}%
|
||||
\let\Etoc@currext\Etoc@lofext
|
||||
\def\Etoc@@startlocaltoc{\Etoc@@startlocallistof{figure}}%
|
||||
\def\Etoc@@startlocaltochook{\Etoc@@startlocallistof@setlevels{figure}}%
|
||||
\def\Etoc@listofhook{%
|
||||
\def\Etoc@do####1{%
|
||||
\expandafter\let\csname Etoc@@####1@@\endcsname\Etoc@maxlevel
|
||||
}%
|
||||
\Etoc@dolevels
|
||||
}%
|
||||
\localtableofcontents
|
||||
}
|
||||
\else
|
||||
\def\locallistoffigures{%
|
||||
\PackageError{etoc}{%
|
||||
\string\locallistoffigures \on@line\space but\MessageBreak
|
||||
package was loaded without `lof' option}%
|
||||
{Try again with \string\usepackage[lof]{etoc}}%
|
||||
}
|
||||
\fi
|
||||
\ifEtoc@lot
|
||||
\def\locallistoftables{%
|
||||
\def\Etoc@listofreset{%
|
||||
\let\Etoc@currext\Etoc@tocext
|
||||
\let\Etoc@@startlocaltoc\Etoc@@startlocaltoc@toc
|
||||
\let\Etoc@@startlocaltochook\@empty
|
||||
\let\Etoc@listofreset\@empty
|
||||
\let\Etoc@listofhook\@empty
|
||||
}%
|
||||
\let\Etoc@currext\Etoc@lotext
|
||||
\def\Etoc@@startlocaltoc{\Etoc@@startlocallistof{table}}%
|
||||
\def\Etoc@@startlocaltochook{\Etoc@@startlocallistof@setlevels{table}}%
|
||||
\def\Etoc@listofhook{%
|
||||
\def\Etoc@do####1{%
|
||||
\expandafter\let\csname Etoc@@####1@@\endcsname\Etoc@maxlevel
|
||||
}%
|
||||
\Etoc@dolevels
|
||||
}%
|
||||
\localtableofcontents
|
||||
}
|
||||
\else
|
||||
\def\locallistoftables{%
|
||||
\PackageError{etoc}{%
|
||||
\string\locallistoftable \on@line\space but\MessageBreak
|
||||
package was loaded without `lot' option}%
|
||||
{Try again with \string\usepackage[lot]{etoc}}%
|
||||
}
|
||||
\fi
|
||||
\def\Etoc@checkifempty {%
|
||||
\global\Etoc@isemptytoctrue
|
||||
\global\Etoc@stoptocfalse
|
||||
\global\let\Etoc@level\Etoc@minf
|
||||
\global\let\Etoc@virtualtop\Etoc@minf
|
||||
\gdef\Etoc@stackofends{{-3}{}}%
|
||||
\begingroup
|
||||
\ifEtoc@localtoc
|
||||
\def\etoc@startlocaltoc##1{%
|
||||
\ifnum##1=\Etoc@tocid\relax
|
||||
\global\let\etoclocaltop\Etoc@virtualtop
|
||||
\Etoc@@startlocaltochook
|
||||
\global\Etoc@notactivefalse
|
||||
\fi
|
||||
}%
|
||||
\let\contentsline\Etoc@testingcontentslinelocal
|
||||
\else
|
||||
\let\contentsline\Etoc@testingcontentsline
|
||||
\fi
|
||||
\Etoc@storetocdepth
|
||||
\let\Etoc@setlocaltop@doendsandbegin\@empty
|
||||
\the\Etoc@toctoks
|
||||
\Etoc@restoretocdepth
|
||||
\endgroup
|
||||
}
|
||||
\DeclareRobustCommand*\etocifwasempty
|
||||
{\ifEtoc@isemptytoc\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi }
|
||||
\expandafter\let\expandafter\etocxifwasempty\csname etocifwasempty \endcsname
|
||||
\def\Etoc@testingcontentslinelocal #1{%
|
||||
\ifEtoc@stoptoc
|
||||
\else
|
||||
\ifnum\csname Etoc@#1@@\endcsname=\Etoc@maxlevel
|
||||
\else
|
||||
\global\expandafter\let\expandafter\Etoc@level\csname Etoc@#1@@\endcsname
|
||||
\if @\@car#1\@nil\else\global\let\Etoc@virtualtop\Etoc@level\fi
|
||||
\ifEtoc@notactive
|
||||
\else
|
||||
\ifnum\Etoc@level>\etoclocaltop
|
||||
\unless\ifnum\Etoc@level>\c@tocdepth
|
||||
\global\Etoc@isemptytocfalse
|
||||
\global\Etoc@stoptoctrue
|
||||
\fi
|
||||
\else
|
||||
\global\Etoc@stoptoctrue
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\Etoc@gobblethreeorfour{}%
|
||||
}
|
||||
\def\Etoc@testingcontentsline #1{%
|
||||
\ifEtoc@stoptoc
|
||||
\else
|
||||
\ifnum\csname Etoc@#1@@\endcsname=\Etoc@maxlevel
|
||||
\else
|
||||
\unless\ifnum\csname Etoc@#1@@\endcsname>\c@tocdepth
|
||||
\global\Etoc@isemptytocfalse
|
||||
\global\Etoc@stoptoctrue
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\Etoc@gobblethreeorfour{}%
|
||||
}
|
||||
\def\Etoc@localtableofcontents#1{%
|
||||
\gdef\etoclocaltop{-\@m}%
|
||||
\Etoc@localtoctrue
|
||||
\global\Etoc@isemptytocfalse
|
||||
\edef\Etoc@tocid{#1}%
|
||||
\ifnum\Etoc@tocid<\@ne
|
||||
\setbox0\hbox{\ref{Unknown toc ref \@secondoftwo#1. \space Rerun LaTeX}}%
|
||||
\global\Etoc@stoptoctrue
|
||||
\gdef\etoclocaltop{-\thr@@}%
|
||||
\Etoc@tableofcontents
|
||||
\expandafter\Etoc@gobtoetoc@
|
||||
\fi
|
||||
\global\Etoc@notactivetrue
|
||||
\ifEtoc@checksemptiness
|
||||
\Etoc@checkifempty
|
||||
\fi
|
||||
\ifEtoc@isemptytoc
|
||||
\ifEtoc@notactive
|
||||
\setbox0\hbox{\ref{Unknown toc ID \number\Etoc@tocid. \space Rerun LaTeX}}%
|
||||
\global\Etoc@isemptytocfalse
|
||||
\global\Etoc@stoptoctrue
|
||||
\gdef\etoclocaltop{-\thr@@}%
|
||||
\Etoc@tableofcontents
|
||||
\expandafter\expandafter\expandafter\Etoc@gobtoetoc@
|
||||
\fi
|
||||
\else
|
||||
\global\Etoc@stoptocfalse
|
||||
\global\Etoc@notactivetrue
|
||||
\edef\etoc@startlocaltoc##1%
|
||||
{\noexpand\Etoc@@startlocaltoc{##1}{\Etoc@tocid}}%
|
||||
\Etoc@tableofcontents
|
||||
\fi
|
||||
\@gobble\etoc@
|
||||
\endgroup\ifEtoc@mustclosegroup\endgroup\fi
|
||||
\Etoc@tocdepthreset
|
||||
\Etoc@listofreset
|
||||
\etocaftertochook
|
||||
}% \Etoc@localtableofcontents
|
||||
\def\Etoc@getref #1{%
|
||||
\@ifundefined{r@#1}
|
||||
{0}
|
||||
{\expandafter\Etoc@getref@i\romannumeral-`0%
|
||||
\expandafter\expandafter\expandafter
|
||||
\@car\csname r@#1\endcsname0\@nil\@etoc
|
||||
}%
|
||||
}
|
||||
\def\Etoc@getref@i#1#2\@etoc{\ifnum9<1\string#1 #1#2\else 0\fi}
|
||||
\def\Etoc@ref#1{\Etoc@localtableofcontents{\Etoc@getref{#1}}}
|
||||
\def\Etoc@label#1{\label{#1}\futurelet\Etoc@nexttoken\Etoc@t@bleofcontents}
|
||||
\@firstofone{\def\Etoc@again} {\futurelet\Etoc@nexttoken\Etoc@t@bleofcontents}
|
||||
\def\Etoc@dothis #1#2\etoc@ {\fi #1}
|
||||
\def\Etoc@t@bleofcontents{%
|
||||
\gdef\etoclocaltop{-\@M}%
|
||||
\ifx\Etoc@nexttoken\label\Etoc@dothis{\expandafter\Etoc@label\@gobble}\fi
|
||||
\ifx\Etoc@nexttoken\@sptoken\Etoc@dothis{\Etoc@again}\fi
|
||||
\ifx\Etoc@nexttoken\ref\Etoc@dothis{\expandafter\Etoc@ref\@gobble}\fi
|
||||
\ifEtoc@tocwithid\Etoc@dothis{\Etoc@localtableofcontents{\c@etoc@tocid}}\fi
|
||||
\global\Etoc@isemptytocfalse
|
||||
\ifEtoc@checksemptiness\Etoc@checkifempty\fi
|
||||
\ifEtoc@isemptytoc
|
||||
\ifEtoc@notocifnotoc
|
||||
\expandafter\expandafter\expandafter\@gobble
|
||||
\fi
|
||||
\fi
|
||||
\Etoc@tableofcontents
|
||||
\endgroup
|
||||
\ifEtoc@mustclosegroup\endgroup\fi
|
||||
\Etoc@tocdepthreset
|
||||
\Etoc@listofreset
|
||||
\etocaftertochook
|
||||
\@gobble\etoc@
|
||||
}% \Etoc@t@bleofcontents
|
||||
\def\Etoc@table@fcontents{%
|
||||
\refstepcounter{etoc@tocid}%
|
||||
\Etoc@tocwithidfalse
|
||||
\futurelet\Etoc@nexttoken\Etoc@t@bleofcontents
|
||||
}
|
||||
\def\Etoc@localtable@fcontents{%
|
||||
\refstepcounter{etoc@tocid}%
|
||||
\addtocontents{toc}{\string\etoc@startlocaltoc{\the\c@etoc@tocid}}%
|
||||
\Etoc@tocwithidtrue
|
||||
\futurelet\Etoc@nexttoken\Etoc@t@bleofcontents
|
||||
}
|
||||
\def\etoctableofcontents{%
|
||||
\Etoc@openouttoc
|
||||
\Etoc@tocdepthset
|
||||
\begingroup
|
||||
\@ifstar
|
||||
{\let\Etoc@aftertitlehook\@empty\Etoc@table@fcontents}
|
||||
{\def\Etoc@aftertitlehook{\etocaftertitlehook}\Etoc@table@fcontents}%
|
||||
}% \etoctableofcontents
|
||||
\def\etocifisstarred{\ifx\Etoc@aftertitlehook\@empty
|
||||
\expandafter\@firstoftwo\else
|
||||
\expandafter\@secondoftwo
|
||||
\fi}
|
||||
\let\etocoriginaltableofcontents\tableofcontents
|
||||
\let\tableofcontents\etoctableofcontents
|
||||
\let\Etoc@listofhook\@empty
|
||||
\newcommand*\localtableofcontents{%
|
||||
\Etoc@openouttoc
|
||||
\Etoc@tocdepthset
|
||||
\begingroup
|
||||
\Etoc@listofhook
|
||||
\@ifstar
|
||||
{\let\Etoc@aftertitlehook\@empty\Etoc@localtable@fcontents}
|
||||
{\def\Etoc@aftertitlehook{\etocaftertitlehook}\Etoc@localtable@fcontents}%
|
||||
}% \localtableofcontents
|
||||
\newcommand*\localtableofcontentswithrelativedepth[1]{%
|
||||
\def\Etoc@@startlocaltochook{%
|
||||
\global\c@tocdepth\numexpr\etoclocaltop+#1\relax
|
||||
}%
|
||||
\def\Etoc@listofreset{\let\Etoc@@startlocaltochook\@empty
|
||||
\let\Etoc@listofreset\@empty}%
|
||||
\localtableofcontents
|
||||
}% \localtableofcontentswithrelativedepth
|
||||
\newcommand\etocsettocstyle[2]{%
|
||||
\Etoc@etocstylefalse
|
||||
\Etoc@classstylefalse
|
||||
\def\Etoc@tableofcontents@user@before{#1}%
|
||||
\def\Etoc@tableofcontents@user@after {#2}%
|
||||
}%
|
||||
\def\etocstoretocstyleinto#1{%
|
||||
%% \@ifdefinable#1{%
|
||||
\edef#1{\noexpand\Etoc@etocstylefalse\noexpand\Etoc@classstylefalse
|
||||
\def\noexpand\Etoc@tableofcontents@user@before{%
|
||||
\unexpanded\expandafter{\Etoc@tableofcontents@user@before}%
|
||||
}%
|
||||
\def\noexpand\Etoc@tableofcontents@user@after{%
|
||||
\unexpanded\expandafter{\Etoc@tableofcontents@user@after}%
|
||||
}%
|
||||
}%
|
||||
%% }%
|
||||
}%
|
||||
\def\Etoc@tableofcontents {%
|
||||
\Etoc@tableofcontents@etoc@before
|
||||
\ifEtoc@localtoc\ifEtoc@etocstyle\expandafter\expandafter\expandafter\@gobble\fi\fi
|
||||
\Etoc@tableofcontents@user@before
|
||||
\Etoc@tableofcontents@contents
|
||||
\ifEtoc@localtoc\ifEtoc@etocstyle\expandafter\expandafter\expandafter\@gobble\fi\fi
|
||||
\Etoc@tableofcontents@user@after
|
||||
\Etoc@tableofcontents@etoc@after
|
||||
\@gobble\etoc@
|
||||
}
|
||||
\def\Etoc@tableofcontents@etoc@before{%
|
||||
\ifnum\c@tocdepth>\Etoc@minf
|
||||
\else
|
||||
\expandafter\Etoc@gobtoetoc@
|
||||
\fi
|
||||
\Etoc@par
|
||||
\Etoc@beforetitlehook
|
||||
\etocbeforetitlehook
|
||||
\Etoc@storetocdepth
|
||||
\let\Etoc@savedcontentsline\contentsline
|
||||
\let\contentsline\Etoc@etoccontentsline
|
||||
\ifEtoc@standardlines
|
||||
\else
|
||||
\def\Etoc@do##1{%
|
||||
\expandafter\def\csname etocsaved##1tocline\endcsname
|
||||
{\PackageError{etoc}{%
|
||||
\expandafter\string\csname etocsaved##1tocline\endcsname\space
|
||||
has been deprecated\MessageBreak
|
||||
at 1.1a and is removed at 1.2.\MessageBreak
|
||||
Use \expandafter\string\csname l@##1\endcsname\space directly.\MessageBreak
|
||||
Reported \on@line}%
|
||||
{I will use \expandafter\string
|
||||
\csname l@##1\endcsname\space myself for this time.%
|
||||
}%
|
||||
\csname l@##1\endcsname
|
||||
}%
|
||||
}%
|
||||
\Etoc@dolevels
|
||||
\fi
|
||||
}%
|
||||
\def\Etoc@tableofcontents@contents{%
|
||||
\Etoc@tocdepthset
|
||||
\ifEtoc@parskip\parskip\z@skip\fi
|
||||
\Etoc@aftertitlehook
|
||||
\gdef\etoclocaltop{-\thr@@}%
|
||||
\Etoc@toctoc
|
||||
\etocaftercontentshook
|
||||
}%
|
||||
\def\Etoc@tableofcontents@etoc@after{%
|
||||
\@nobreakfalse
|
||||
\Etoc@restoretocdepth
|
||||
\ifx\Etoc@global\global
|
||||
\@ifundefined{tof@finish}
|
||||
{}
|
||||
{\ifx\tof@finish\@empty
|
||||
\else
|
||||
\global\let\contentsline\Etoc@savedcontentsline
|
||||
\fi
|
||||
}%
|
||||
\fi
|
||||
}
|
||||
\def\etocsetstyle#1{\ifcsname Etoc@#1@@\endcsname
|
||||
\expandafter\Etoc@setstyle@a
|
||||
\else
|
||||
\expandafter\Etoc@setstyle@error
|
||||
\fi {#1}%
|
||||
}
|
||||
\def\Etoc@setstyle@error #1{%
|
||||
\PackageWarning{etoc}{`#1' is unknown to etoc. \space Did you\MessageBreak
|
||||
forget some \string\etocsetlevel{#1}{<level>}?\MessageBreak
|
||||
Reported}%
|
||||
\@gobblefour
|
||||
}
|
||||
\def\Etoc@setstyle@a #1{%
|
||||
\edef\Etoc@tmp{\the\numexpr\csname Etoc@#1@@\endcsname}%
|
||||
\if1\unless\ifnum\Etoc@tmp<\Etoc@maxlevel 0\fi
|
||||
\unless\ifnum\Etoc@tmp>\Etoc@minf 0\fi1%
|
||||
\Etoc@standardlinesfalse
|
||||
\expandafter\Etoc@setstyle@b\expandafter\Etoc@tmp
|
||||
\else
|
||||
\ifnum\Etoc@tmp=\Etoc@maxlevel
|
||||
\in@{.#1,}{.figure,.table,}%
|
||||
\ifin@
|
||||
\PackageWarning{etoc}
|
||||
{You can not use \string\etocsetstyle\space with `#1'.\MessageBreak
|
||||
Check the package documentation (in particular about\MessageBreak
|
||||
\string\etoclocallistoffigureshook/\string\etoclocallistoftableshook)%
|
||||
\MessageBreak on how to customize
|
||||
figure and table entries in local\MessageBreak lists. Reported}%
|
||||
\else
|
||||
\PackageInfo{etoc}
|
||||
{Attempt to set the style of `#1',\MessageBreak
|
||||
whose level is currently the maximal one \etocthemaxlevel,\MessageBreak
|
||||
which is never displayed. \space This will be ignored\MessageBreak
|
||||
but note that we do quit compatibility mode.\MessageBreak
|
||||
Reported}%
|
||||
\Etoc@standardlinesfalse
|
||||
\fi
|
||||
\else
|
||||
\PackageWarning{etoc}{This should not happen. Reported}%
|
||||
\fi
|
||||
\expandafter\@gobblefour
|
||||
\fi
|
||||
}
|
||||
\long\def\Etoc@setstyle@b#1#2#3#4#5{%
|
||||
\expandafter\def\csname Etoc@begin@#1\endcsname {#2}%
|
||||
\expandafter\def\csname Etoc@prefix@#1\endcsname {#3}%
|
||||
\expandafter\def\csname Etoc@contents@#1\endcsname {#4}%
|
||||
\expandafter\def\csname Etoc@end@#1\endcsname {#5}%
|
||||
}
|
||||
\def\Etoc@setstyle@e#1{%
|
||||
\expandafter\let\csname Etoc@begin@#1\endcsname \@empty
|
||||
\expandafter\let\csname Etoc@prefix@#1\endcsname \@empty
|
||||
\expandafter\let\csname Etoc@contents@#1\endcsname \@empty
|
||||
\expandafter\let\csname Etoc@end@#1\endcsname \@empty
|
||||
}
|
||||
\def\Etoc@storelines@a#1{%
|
||||
\noexpand\Etoc@setstyle@b{#1}%
|
||||
{\expandafter\Etoc@expandonce\csname Etoc@begin@#1\endcsname}%
|
||||
{\expandafter\Etoc@expandonce\csname Etoc@prefix@#1\endcsname}%
|
||||
{\expandafter\Etoc@expandonce\csname Etoc@contents@#1\endcsname}%
|
||||
{\expandafter\Etoc@expandonce\csname Etoc@end@#1\endcsname}%
|
||||
}
|
||||
\def\Etoc@expandonce#1{\unexpanded\expandafter{#1}}
|
||||
\def\etocstorelinestylesinto#1{%
|
||||
\edef#1{\Etoc@storelines@a{-2}\Etoc@storelines@a{-1}\Etoc@storelines@a{0}%
|
||||
\Etoc@storelines@a {1}\Etoc@storelines@a {2}\Etoc@storelines@a{3}%
|
||||
\Etoc@storelines@a {4}\Etoc@storelines@a {5}%
|
||||
\ifEtoc@deeplevels
|
||||
\Etoc@storelines@a{6}\Etoc@storelines@a{7}\Etoc@storelines@a{8}%
|
||||
\Etoc@storelines@a{9}\Etoc@storelines@a{10}\Etoc@storelines@a{11}%
|
||||
\fi
|
||||
}%
|
||||
}
|
||||
\def\etocstorethislinestyleinto#1#2{%
|
||||
\edef#2{\expandafter\Etoc@storelines@a\expandafter{\number\etoclevel{#1}}}%
|
||||
}%
|
||||
\def\etocfontminustwo {\normalfont \LARGE \bfseries}
|
||||
\def\etocfontminusone {\normalfont \large \bfseries}
|
||||
\def\etocfontzero {\normalfont \large \bfseries}
|
||||
\def\etocfontone {\normalfont \normalsize \bfseries}
|
||||
\def\etocfonttwo {\normalfont \normalsize}
|
||||
\def\etocfontthree {\normalfont \footnotesize}
|
||||
\def\etocsepminustwo {4ex \@plus .5ex \@minus .5ex}
|
||||
\def\etocsepminusone {4ex \@plus .5ex \@minus .5ex}
|
||||
\def\etocsepzero {2.5ex \@plus .4ex \@minus .4ex}
|
||||
\def\etocsepone {1.5ex \@plus .3ex \@minus .3ex}
|
||||
\def\etocseptwo {.5ex \@plus .1ex \@minus .1ex}
|
||||
\def\etocsepthree {.25ex \@plus .05ex \@minus .05ex}
|
||||
\def\etocbaselinespreadminustwo {1}
|
||||
\def\etocbaselinespreadminusone {1}
|
||||
\def\etocbaselinespreadzero {1}
|
||||
\def\etocbaselinespreadone {1}
|
||||
\def\etocbaselinespreadtwo {1}
|
||||
\def\etocbaselinespreadthree {.9}
|
||||
\def\etocminustwoleftmargin {1.5em plus 0.5fil}
|
||||
\def\etocminustworightmargin {1.5em plus -0.5fil}
|
||||
\def\etocminusoneleftmargin {1em}
|
||||
\def\etocminusonerightmargin {1em}
|
||||
\def\etoctoclineleaders
|
||||
{\hbox{\normalfont\normalsize\hb@xt@2ex {\hss.\hss}}}
|
||||
\def\etocabbrevpagename {p.~}
|
||||
\def\etocpartname {Part}
|
||||
\def\etocbookname {Book}
|
||||
\def\etocdefaultlines{%
|
||||
\Etoc@standardlinesfalse
|
||||
\etocdefaultlines@setbook
|
||||
\etocdefaultlines@setpart
|
||||
\etocdefaultlines@setchapter
|
||||
\etocdefaultlines@setsection
|
||||
\etocdefaultlines@setsubsection
|
||||
\etocdefaultlines@setsubsubsection
|
||||
\etocdefaultlines@setdeeperones
|
||||
}
|
||||
\def\etocnoprotrusion{\leavevmode\kern-\p@\kern\p@}
|
||||
\@ifclassloaded{memoir}{%
|
||||
\def\etocdefaultlines@setbook{%
|
||||
\Etoc@setstyle@b
|
||||
{-2}%
|
||||
{\addpenalty\@M\etocskipfirstprefix}
|
||||
{\addpenalty\@secpenalty}
|
||||
{\begingroup
|
||||
\etocfontminustwo
|
||||
\addvspace{\etocsepminustwo}%
|
||||
\parindent \z@
|
||||
\leftskip \etocminustwoleftmargin
|
||||
\rightskip \etocminustworightmargin
|
||||
\parfillskip \@flushglue
|
||||
\vbox{\etocifnumbered{\etoclink{\etocbookname\enspace\etocthenumber:\quad}}{}%
|
||||
\etocname
|
||||
\baselineskip\etocbaselinespreadminustwo\baselineskip
|
||||
\par}%
|
||||
\addpenalty\@M\addvspace{\etocsepminusone}%
|
||||
\endgroup}
|
||||
{}%
|
||||
}
|
||||
}{\let\etocdefaultlines@setbook\@empty}
|
||||
\def\etocdefaultlines@setpart{%
|
||||
\Etoc@setstyle@b
|
||||
{-1}%
|
||||
{\addpenalty\@M\etocskipfirstprefix}
|
||||
{\addpenalty\@secpenalty}
|
||||
{\begingroup
|
||||
\etocfontminusone
|
||||
\addvspace{\etocsepminusone}%
|
||||
\parindent \z@
|
||||
\leftskip \etocminusoneleftmargin
|
||||
\rightskip \etocminusonerightmargin
|
||||
\parfillskip \@flushglue
|
||||
\vbox{\etocifnumbered{\etoclink{\etocpartname\enspace\etocthenumber.\quad}}{}%
|
||||
\etocname
|
||||
\baselineskip\etocbaselinespreadminusone\baselineskip
|
||||
\par}%
|
||||
\addpenalty\@M\addvspace{\etocsepzero}%
|
||||
\endgroup}
|
||||
{}%
|
||||
}
|
||||
\def\etocdefaultlines@setchapter{%
|
||||
\Etoc@setstyle@b
|
||||
{0}%
|
||||
{\addpenalty\@M\etocskipfirstprefix}
|
||||
{\addpenalty\@itempenalty}
|
||||
{\begingroup
|
||||
\etocfontzero
|
||||
\addvspace{\etocsepzero}%
|
||||
\parindent \z@ \parfillskip \@flushglue
|
||||
\vbox{\etocifnumbered{\etocnumber.\enspace}{}\etocname
|
||||
\baselineskip\etocbaselinespreadzero\baselineskip
|
||||
\par}%
|
||||
\endgroup}
|
||||
{\addpenalty{-\@highpenalty}\addvspace{\etocsepminusone}}%
|
||||
}
|
||||
\def\etocdefaultlines@setsection{%
|
||||
\Etoc@setstyle@b
|
||||
{1}%
|
||||
{\addpenalty\@M\etocskipfirstprefix}
|
||||
{\addpenalty\@itempenalty}
|
||||
{\begingroup
|
||||
\etocfontone
|
||||
\addvspace{\etocsepone}%
|
||||
\parindent \z@ \parfillskip \z@
|
||||
\setbox\z@\vbox{\parfillskip\@flushglue
|
||||
\etocname\par
|
||||
\setbox\tw@\lastbox
|
||||
\global\setbox\@ne\hbox{\unhbox\tw@\ }}%
|
||||
\dimen\z@=\wd\@ne
|
||||
\setbox\z@=\etoctoclineleaders
|
||||
\advance\dimen\z@\wd\z@
|
||||
\etocifnumbered
|
||||
{\setbox\tw@\hbox{\etocnumber, \etocabbrevpagename\etocpage\etocnoprotrusion}}
|
||||
{\setbox\tw@\hbox{\etocabbrevpagename\etocpage\etocnoprotrusion}}%
|
||||
\advance\dimen\z@\wd\tw@
|
||||
\ifdim\dimen\z@ < \linewidth
|
||||
\vbox{\etocname~%
|
||||
\leaders\box\z@\hfil\box\tw@
|
||||
\baselineskip\etocbaselinespreadone\baselineskip
|
||||
\par}%
|
||||
\else
|
||||
\vbox{\etocname~%
|
||||
\leaders\copy\z@\hfil\break
|
||||
\hbox{}\leaders\box\z@\hfil\box\tw@
|
||||
\baselineskip\etocbaselinespreadone\baselineskip
|
||||
\par}%
|
||||
\fi
|
||||
\endgroup}
|
||||
{\addpenalty\@secpenalty\addvspace{\etocsepzero}}%
|
||||
}
|
||||
\def\etocdefaultlines@setsubsection{%
|
||||
\Etoc@setstyle@b
|
||||
{2}%
|
||||
{\addpenalty\@medpenalty\etocskipfirstprefix}
|
||||
{\addpenalty\@itempenalty}
|
||||
{\begingroup
|
||||
\etocfonttwo
|
||||
\addvspace{\etocseptwo}%
|
||||
\parindent \z@ \parfillskip \z@
|
||||
\setbox\z@\vbox{\parfillskip\@flushglue
|
||||
\etocname\par\setbox\tw@\lastbox
|
||||
\global\setbox\@ne\hbox{\unhbox\tw@}}%
|
||||
\dimen\z@=\wd\@ne
|
||||
\setbox\z@=\etoctoclineleaders
|
||||
\advance\dimen\z@\wd\z@
|
||||
\etocifnumbered
|
||||
{\setbox\tw@\hbox{\etocnumber, \etocabbrevpagename\etocpage\etocnoprotrusion}}
|
||||
{\setbox\tw@\hbox{\etocabbrevpagename\etocpage\etocnoprotrusion}}%
|
||||
\advance\dimen\z@\wd\tw@
|
||||
\ifdim\dimen\z@ < \linewidth
|
||||
\vbox{\etocname~%
|
||||
\leaders\box\z@\hfil\box\tw@
|
||||
\baselineskip\etocbaselinespreadtwo\baselineskip
|
||||
\par}%
|
||||
\else
|
||||
\vbox{\etocname~%
|
||||
\leaders\copy\z@\hfil\break
|
||||
\hbox{}\leaders\box\z@\hfil\box\tw@
|
||||
\baselineskip\etocbaselinespreadtwo\baselineskip
|
||||
\par}%
|
||||
\fi
|
||||
\endgroup}
|
||||
{\addpenalty\@secpenalty\addvspace{\etocsepone}}%
|
||||
}
|
||||
\def\etocdefaultlines@setsubsubsection{%
|
||||
\Etoc@setstyle@b
|
||||
{3}%
|
||||
{\addpenalty\@M
|
||||
\etocfontthree
|
||||
\vspace{\etocsepthree}%
|
||||
\noindent
|
||||
\etocskipfirstprefix}
|
||||
{\allowbreak\,--\,}
|
||||
{\etocname}
|
||||
{.\hfil
|
||||
\begingroup
|
||||
\baselineskip\etocbaselinespreadthree\baselineskip
|
||||
\par
|
||||
\endgroup
|
||||
\addpenalty{-\@highpenalty}}
|
||||
}
|
||||
\def\etocdefaultlines@setdeeperones{%
|
||||
\Etoc@setstyle@e{4}%
|
||||
\Etoc@setstyle@e{5}%
|
||||
\ifEtoc@deeplevels
|
||||
\Etoc@setstyle@e{6}%
|
||||
\Etoc@setstyle@e{7}%
|
||||
\Etoc@setstyle@e{8}%
|
||||
\Etoc@setstyle@e{9}%
|
||||
\Etoc@setstyle@e{10}%
|
||||
\Etoc@setstyle@e{11}%
|
||||
\fi
|
||||
}
|
||||
\def\etocabovetocskip{3.5ex \@plus 1ex \@minus .2ex}
|
||||
\def\etocbelowtocskip{3.5ex \@plus 1ex \@minus .2ex}
|
||||
\def\etoccolumnsep{2em}
|
||||
\def\etocmulticolsep{0ex}
|
||||
\def\etocmulticolpretolerance{-1}
|
||||
\def\etocmulticoltolerance{200}
|
||||
\def\etocdefaultnbcol{2}
|
||||
\def\etocinnertopsep{2ex}
|
||||
\newcommand\etocmulticolstyle[2][\etocdefaultnbcol]{%
|
||||
\etocsettocstyle
|
||||
{\let\etocoldpar\par
|
||||
\addvspace{\etocabovetocskip}%
|
||||
\ifnum #1>\@ne
|
||||
\expandafter\@firstoftwo
|
||||
\else \expandafter\@secondoftwo
|
||||
\fi
|
||||
{\multicolpretolerance\etocmulticolpretolerance
|
||||
\multicoltolerance\etocmulticoltolerance
|
||||
\setlength{\columnsep}{\etoccolumnsep}%
|
||||
\setlength{\multicolsep}{\etocmulticolsep}%
|
||||
\begin{multicols}{#1}[#2\etocoldpar\addvspace{\etocinnertopsep}]}
|
||||
{#2\ifvmode\else\begingroup\interlinepenalty\@M\parskip\z@skip
|
||||
\@@par\endgroup
|
||||
\fi
|
||||
\nobreak\addvspace{\etocinnertopsep}%
|
||||
\pretolerance\etocmulticolpretolerance
|
||||
\tolerance\etocmulticoltolerance}%
|
||||
}%
|
||||
{\ifnum #1>\@ne
|
||||
\expandafter\@firstofone
|
||||
\else \expandafter\@gobble
|
||||
\fi
|
||||
{\end{multicols}}%
|
||||
\addvspace{\etocbelowtocskip}}%
|
||||
}
|
||||
\def\etocinnerbottomsep{3.5ex}
|
||||
\def\etocinnerleftsep{2em}
|
||||
\def\etocinnerrightsep{2em}
|
||||
\def\etoctoprule{\hrule}
|
||||
\def\etocleftrule{\vrule}
|
||||
\def\etocrightrule{\vrule}
|
||||
\def\etocbottomrule{\hrule}
|
||||
\def\etoctoprulecolorcmd{\relax}
|
||||
\def\etocbottomrulecolorcmd{\relax}
|
||||
\def\etocleftrulecolorcmd{\relax}
|
||||
\def\etocrightrulecolorcmd{\relax}
|
||||
\def\etoc@ruledheading #1{%
|
||||
\hb@xt@\linewidth{\color@begingroup
|
||||
\hss #1\hss\hskip-\linewidth
|
||||
\etoctoprulecolorcmd\leaders\etoctoprule\hss
|
||||
\phantom{#1}%
|
||||
\leaders\etoctoprule\hss\color@endgroup}%
|
||||
\nointerlineskip\nobreak\vskip\etocinnertopsep}
|
||||
\newcommand*\etocruledstyle[2][\etocdefaultnbcol]{%
|
||||
\etocsettocstyle
|
||||
{\addvspace{\etocabovetocskip}%
|
||||
\ifnum #1>\@ne
|
||||
\expandafter\@firstoftwo
|
||||
\else \expandafter\@secondoftwo
|
||||
\fi
|
||||
{\multicolpretolerance\etocmulticolpretolerance
|
||||
\multicoltolerance\etocmulticoltolerance
|
||||
\setlength{\columnsep}{\etoccolumnsep}%
|
||||
\setlength{\multicolsep}{\etocmulticolsep}%
|
||||
\begin{multicols}{#1}[\etoc@ruledheading{#2}]}
|
||||
{\etoc@ruledheading{#2}%
|
||||
\pretolerance\etocmulticolpretolerance
|
||||
\tolerance\etocmulticoltolerance}}
|
||||
{\ifnum #1>\@ne\expandafter\@firstofone
|
||||
\else \expandafter\@gobble
|
||||
\fi
|
||||
{\end{multicols}}%
|
||||
\addvspace{\etocbelowtocskip}}}
|
||||
\def\etocframedmphook{\relax}
|
||||
\long\def\etocbkgcolorcmd{\relax}
|
||||
\long\def\Etoc@relax{\relax}
|
||||
\newbox\etoc@framed@titlebox
|
||||
\newbox\etoc@framed@contentsbox
|
||||
\newcommand*\etocframedstyle[2][\etocdefaultnbcol]{%
|
||||
\etocsettocstyle{%
|
||||
\addvspace{\etocabovetocskip}%
|
||||
\sbox\z@{#2}%
|
||||
\dimen\z@\dp\z@
|
||||
\ifdim\wd\z@<\linewidth \dp\z@\z@ \else \dimen\z@\z@ \fi
|
||||
\setbox\etoc@framed@titlebox=\hb@xt@\linewidth{\color@begingroup
|
||||
\hss
|
||||
\ifx\etocbkgcolorcmd\Etoc@relax
|
||||
\else
|
||||
\sbox\tw@{\color{white}%
|
||||
\vrule\@width\wd\z@\@height\ht\z@\@depth\dimen\z@}%
|
||||
\ifdim\wd\z@<\linewidth \dp\tw@\z@\fi
|
||||
\box\tw@
|
||||
\hskip-\wd\z@
|
||||
\fi
|
||||
\copy\z@
|
||||
\hss
|
||||
\hskip-\linewidth
|
||||
\etoctoprulecolorcmd\leaders\etoctoprule\hss
|
||||
\hskip\wd\z@
|
||||
\etoctoprulecolorcmd\leaders\etoctoprule\hss\color@endgroup}%
|
||||
\setbox\z@\hbox{\etocleftrule\etocrightrule}%
|
||||
\dimen\tw@\linewidth\advance\dimen\tw@-\wd\z@
|
||||
\advance\dimen\tw@-\etocinnerleftsep
|
||||
\advance\dimen\tw@-\etocinnerrightsep
|
||||
\setbox\etoc@framed@contentsbox=\vbox\bgroup
|
||||
\hsize\dimen\tw@
|
||||
\kern\dimen\z@
|
||||
\vskip\etocinnertopsep
|
||||
\hbox\bgroup
|
||||
\begin{minipage}{\hsize}%
|
||||
\etocframedmphook
|
||||
\ifnum #1>\@ne
|
||||
\expandafter\@firstoftwo
|
||||
\else \expandafter\@secondoftwo
|
||||
\fi
|
||||
{\multicolpretolerance\etocmulticolpretolerance
|
||||
\multicoltolerance\etocmulticoltolerance
|
||||
\setlength{\columnsep}{\etoccolumnsep}%
|
||||
\setlength{\multicolsep}{\etocmulticolsep}%
|
||||
\begin{multicols}{#1}}
|
||||
{\pretolerance\etocmulticolpretolerance
|
||||
\tolerance\etocmulticoltolerance}}
|
||||
{\ifnum #1>\@ne\expandafter\@firstofone
|
||||
\else \expandafter\@gobble
|
||||
\fi
|
||||
{\end{multicols}\unskip }%
|
||||
\end{minipage}%
|
||||
\egroup
|
||||
\vskip\etocinnerbottomsep
|
||||
\egroup
|
||||
\vbox{\hsize\linewidth
|
||||
\ifx\etocbkgcolorcmd\Etoc@relax
|
||||
\else
|
||||
\kern\ht\etoc@framed@titlebox
|
||||
\kern\dp\etoc@framed@titlebox
|
||||
\hb@xt@\linewidth{\color@begingroup
|
||||
\etocleftrulecolorcmd\etocleftrule
|
||||
\etocbkgcolorcmd
|
||||
\leaders\vrule
|
||||
\@height\ht\etoc@framed@contentsbox
|
||||
\@depth\dp\etoc@framed@contentsbox
|
||||
\hss
|
||||
\etocrightrulecolorcmd\etocrightrule
|
||||
\color@endgroup}\nointerlineskip
|
||||
\vskip-\dp\etoc@framed@contentsbox
|
||||
\vskip-\ht\etoc@framed@contentsbox
|
||||
\vskip-\dp\etoc@framed@titlebox
|
||||
\vskip-\ht\etoc@framed@titlebox
|
||||
\fi
|
||||
\box\etoc@framed@titlebox\nointerlineskip
|
||||
\hb@xt@\linewidth{\color@begingroup
|
||||
{\etocleftrulecolorcmd\etocleftrule}%
|
||||
\hss\box\etoc@framed@contentsbox\hss
|
||||
\etocrightrulecolorcmd\etocrightrule\color@endgroup}
|
||||
\nointerlineskip
|
||||
\vskip\ht\etoc@framed@contentsbox
|
||||
\vskip\dp\etoc@framed@contentsbox
|
||||
\hb@xt@\linewidth{\color@begingroup\etocbottomrulecolorcmd
|
||||
\leaders\etocbottomrule\hss\color@endgroup}}
|
||||
\addvspace{\etocbelowtocskip}}}
|
||||
\newcommand\etoc@multicoltoc[2][\etocdefaultnbcol]{%
|
||||
\etocmulticolstyle[#1]{#2}%
|
||||
\tableofcontents}
|
||||
\newcommand\etoc@multicoltoci[2][\etocdefaultnbcol]{%
|
||||
\etocmulticolstyle[#1]{#2}%
|
||||
\tableofcontents*}
|
||||
\newcommand\etoc@local@multicoltoc[2][\etocdefaultnbcol]{%
|
||||
\etocmulticolstyle[#1]{#2}%
|
||||
\localtableofcontents}
|
||||
\newcommand\etoc@local@multicoltoci[2][\etocdefaultnbcol]{%
|
||||
\etocmulticolstyle[#1]{#2}%
|
||||
\localtableofcontents*}
|
||||
\newcommand*\etoc@ruledtoc[2][\etocdefaultnbcol]{%
|
||||
\etocruledstyle[#1]{#2}%
|
||||
\tableofcontents}
|
||||
\newcommand*\etoc@ruledtoci[2][\etocdefaultnbcol]{%
|
||||
\etocruledstyle[#1]{#2}%
|
||||
\tableofcontents*}
|
||||
\newcommand*\etoc@local@ruledtoc[2][\etocdefaultnbcol]{%
|
||||
\etocruledstyle[#1]{#2}%
|
||||
\localtableofcontents}
|
||||
\newcommand*\etoc@local@ruledtoci[2][\etocdefaultnbcol]{%
|
||||
\etocruledstyle[#1]{#2}%
|
||||
\localtableofcontents*}
|
||||
\newcommand*\etoc@framedtoc[2][\etocdefaultnbcol]{%
|
||||
\etocframedstyle[#1]{#2}%
|
||||
\tableofcontents}
|
||||
\newcommand*\etoc@framedtoci[2][\etocdefaultnbcol]{%
|
||||
\etocframedstyle[#1]{#2}%
|
||||
\tableofcontents*}
|
||||
\newcommand*\etoc@local@framedtoc[2][\etocdefaultnbcol]{%
|
||||
\etocframedstyle[#1]{#2}%
|
||||
\localtableofcontents}
|
||||
\newcommand*\etoc@local@framedtoci[2][\etocdefaultnbcol]{%
|
||||
\etocframedstyle[#1]{#2}%
|
||||
\localtableofcontents*}
|
||||
\def\etocmulticol{\begingroup
|
||||
\Etoc@mustclosegrouptrue
|
||||
\@ifstar
|
||||
{\etoc@multicoltoci}
|
||||
{\etoc@multicoltoc}}
|
||||
\def\etocruled{\begingroup
|
||||
\Etoc@mustclosegrouptrue
|
||||
\@ifstar
|
||||
{\etoc@ruledtoci}
|
||||
{\etoc@ruledtoc}}
|
||||
\def\etocframed{\begingroup
|
||||
\Etoc@mustclosegrouptrue
|
||||
\@ifstar
|
||||
{\etoc@framedtoci}
|
||||
{\etoc@framedtoc}}
|
||||
\def\etoclocalmulticol{\begingroup
|
||||
\Etoc@mustclosegrouptrue
|
||||
\@ifstar
|
||||
{\etoc@local@multicoltoci}
|
||||
{\etoc@local@multicoltoc}}
|
||||
\def\etoclocalruled{\begingroup
|
||||
\Etoc@mustclosegrouptrue
|
||||
\@ifstar
|
||||
{\etoc@local@ruledtoci}
|
||||
{\etoc@local@ruledtoc}}
|
||||
\def\etoclocalframed{\begingroup
|
||||
\Etoc@mustclosegrouptrue
|
||||
\@ifstar
|
||||
{\etoc@local@framedtoci}
|
||||
{\etoc@local@framedtoc}}
|
||||
\def\etocmemoirtoctotocfmt #1#2{%
|
||||
\PackageWarning{etoc}
|
||||
{\string\etocmemoirtoctotocfmt\space is deprecated.\MessageBreak
|
||||
Use in its place \string\etocsettoclineforclasstoc,\MessageBreak
|
||||
and \string\etocsettoclineforclasslistof{toc} (or {lof}, {lot}).
|
||||
I will do this now.\MessageBreak
|
||||
Reported}%
|
||||
\etocsettoclineforclasstoc{#1}{#2}%
|
||||
\etocsettoclineforclasslistof{toc}{#1}{#2}%
|
||||
}
|
||||
\def\etocsettoclineforclasstoc #1#2{%
|
||||
\def\etocclassmaintocaddtotoc{\etocglobalheadtotoc{#1}{#2}}%
|
||||
}
|
||||
\def\etocsettoclineforclasslistof #1#2#3{%
|
||||
\@namedef{etocclasslocal#1addtotoc}{\etoclocalheadtotoc{#2}{#3}}%
|
||||
}
|
||||
\let\etocclasslocaltocaddtotoc\@empty
|
||||
\let\etocclasslocallofaddtotoc\@empty
|
||||
\let\etocclasslocallotaddtotoc\@empty
|
||||
\ifdefined\c@chapter
|
||||
\def\etocclasslocaltocmaketitle{\section*{\localcontentsname}}
|
||||
\def\etocclasslocallofmaketitle{\section*{\locallistfigurename}}
|
||||
\def\etocclasslocallotmaketitle{\section*{\locallisttablename}}
|
||||
\etocsettoclineforclasstoc {chapter}{\contentsname}
|
||||
\etocsettoclineforclasslistof{toc}{section}{\localcontentsname}
|
||||
\etocsettoclineforclasslistof{lof}{section}{\locallistfigurename}
|
||||
\etocsettoclineforclasslistof{lot}{section}{\locallisttablename}
|
||||
\else
|
||||
\def\etocclasslocaltocmaketitle{\subsection*{\localcontentsname}}%
|
||||
\def\etocclasslocallofmaketitle{\subsection*{\locallistfigurename}}%
|
||||
\def\etocclasslocallotmaketitle{\subsection*{\locallisttablename}}%
|
||||
\etocsettoclineforclasstoc {section}{\contentsname}
|
||||
\etocsettoclineforclasslistof{toc}{subsection}{\localcontentsname}
|
||||
\etocsettoclineforclasslistof{lof}{subsection}{\locallistfigurename}
|
||||
\etocsettoclineforclasslistof{lot}{subsection}{\locallisttablename}
|
||||
\fi
|
||||
\def\etocclasslocalperhapsaddtotoc #1{%
|
||||
\etocifisstarred
|
||||
{}
|
||||
{\csname ifEtoc@local#1totoc\endcsname
|
||||
\csname etocclasslocal#1addtotoc\endcsname
|
||||
\fi
|
||||
}%
|
||||
}
|
||||
\def\etocarticlestyle{%
|
||||
\etocsettocstyle
|
||||
{\ifEtoc@localtoc
|
||||
\@nameuse{etocclasslocal\Etoc@currext maketitle}%
|
||||
\etocclasslocalperhapsaddtotoc\Etoc@currext
|
||||
\else
|
||||
\section *{\contentsname
|
||||
\@mkboth {\MakeUppercase \contentsname}
|
||||
{\MakeUppercase \contentsname}}%
|
||||
\etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}%
|
||||
\fi
|
||||
}
|
||||
{}%
|
||||
}
|
||||
\def\etocarticlestylenomarks{%
|
||||
\etocsettocstyle
|
||||
{\ifEtoc@localtoc
|
||||
\@nameuse{etocclasslocal\Etoc@currext maketitle}%
|
||||
\etocclasslocalperhapsaddtotoc\Etoc@currext
|
||||
\else
|
||||
\section *{\contentsname}%
|
||||
\etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}%
|
||||
\fi
|
||||
}
|
||||
{}%
|
||||
}
|
||||
\def\etocbookstyle{%
|
||||
\etocsettocstyle
|
||||
{\if@twocolumn \@restonecoltrue \onecolumn \else \@restonecolfalse \fi
|
||||
\ifEtoc@localtoc
|
||||
\@nameuse{etocclasslocal\Etoc@currext maketitle}%
|
||||
\etocclasslocalperhapsaddtotoc\Etoc@currext
|
||||
\else
|
||||
\chapter *{\contentsname
|
||||
\@mkboth {\MakeUppercase \contentsname}
|
||||
{\MakeUppercase \contentsname}}%
|
||||
\etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}%
|
||||
\fi
|
||||
}%
|
||||
{\if@restonecol \twocolumn \fi}%
|
||||
}
|
||||
\def\etocbookstylenomarks{%
|
||||
\etocsettocstyle
|
||||
{\if@twocolumn \@restonecoltrue \onecolumn \else \@restonecolfalse \fi
|
||||
\ifEtoc@localtoc
|
||||
\@nameuse{etocclasslocal\Etoc@currext maketitle}%
|
||||
\etocclasslocalperhapsaddtotoc\Etoc@currext
|
||||
\else
|
||||
\chapter *{\contentsname}%
|
||||
\etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}%
|
||||
\fi
|
||||
}%
|
||||
{\if@restonecol \twocolumn \fi}%
|
||||
}
|
||||
\let\etocreportstyle\etocbookstyle
|
||||
\let\etocreportstylenomarks\etocbookstylenomarks
|
||||
\def\etocmemoirstyle{%
|
||||
\etocsettocstyle
|
||||
{\ensureonecol \par \begingroup \phantomsection
|
||||
\ifx\Etoc@aftertitlehook\@empty
|
||||
\else
|
||||
\ifmem@em@starred@listof
|
||||
\else
|
||||
\ifEtoc@localtoc
|
||||
\etocclasslocalperhapsaddtotoc\Etoc@currext
|
||||
\else
|
||||
\ifEtoc@maintoctotoc
|
||||
\etocclassmaintocaddtotoc
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\ifEtoc@localtoc
|
||||
\@namedef{@\Etoc@currext maketitle}{%
|
||||
\@nameuse{etocclasslocal\Etoc@currext maketitle}%
|
||||
}%
|
||||
\fi
|
||||
\@nameuse {@\Etoc@currext maketitle} %<< space token here from memoir code
|
||||
\ifx\Etoc@aftertitlehook\@empty
|
||||
\else
|
||||
\Etoc@aftertitlehook \let \Etoc@aftertitlehook \relax
|
||||
\fi
|
||||
\parskip \cftparskip \@nameuse {cft\Etoc@currext beforelisthook}%
|
||||
}%
|
||||
{\@nameuse {cft\Etoc@currext afterlisthook}%
|
||||
\endgroup\restorefromonecol
|
||||
}%
|
||||
}
|
||||
\let\Etoc@beforetitlehook\@empty
|
||||
\if1\@ifclassloaded{scrartcl}0{\@ifclassloaded{scrbook}0{\@ifclassloaded{scrreprt}01}}%
|
||||
\expandafter\@gobble
|
||||
\else
|
||||
\ifdefined\setuptoc
|
||||
\def\Etoc@beforetitlehook{%
|
||||
\ifEtoc@localtoc
|
||||
\etocclasslocalperhapsaddtotoc\Etoc@currext
|
||||
\setuptoc{\Etoc@currext}{leveldown}%
|
||||
\else
|
||||
\etocifisstarred{}{\etocifmaintoctotoc{\setuptoc{toc}{totoc}}}%
|
||||
\fi
|
||||
}%
|
||||
\fi
|
||||
\expandafter\@firstofone
|
||||
\fi
|
||||
{\def\etocclasslocalperhapsaddtotoc #1{%
|
||||
\etocifisstarred
|
||||
{}%
|
||||
{\csname ifEtoc@local#1totoc\endcsname
|
||||
\setuptoc{\Etoc@currext}{totoc}%
|
||||
\fi
|
||||
}%
|
||||
}%
|
||||
}
|
||||
\ifdefined\Iftocfeature
|
||||
\def\etoc@Iftocfeature{\Iftocfeature}%
|
||||
\else
|
||||
\def\etoc@Iftocfeature{\iftocfeature}%
|
||||
\fi
|
||||
\def\etocscrartclstyle{%
|
||||
\etocsettocstyle
|
||||
{\ifx\Etoc@currext\Etoc@tocext
|
||||
\expandafter\@firstofone
|
||||
\else
|
||||
\expandafter\@gobble
|
||||
\fi
|
||||
{\let\if@dynlist\if@tocleft}%
|
||||
\edef\@currext{\Etoc@currext}%
|
||||
\@ifundefined{listof\@currext name}%
|
||||
{\def\list@fname{\listofname~\@currext}}%
|
||||
{\expandafter\let\expandafter\list@fname
|
||||
\csname listof\@currext name\endcsname}%
|
||||
\etoc@Iftocfeature {\@currext}{onecolumn}
|
||||
{\etoc@Iftocfeature {\@currext}{leveldown}
|
||||
{}
|
||||
{\if@twocolumn \aftergroup \twocolumn \onecolumn \fi }}
|
||||
{}%
|
||||
\etoc@Iftocfeature {\@currext}{numberline}%
|
||||
{\def \nonumberline {\numberline {}}}{}%
|
||||
\expandafter\tocbasic@listhead\expandafter {\list@fname}%
|
||||
\begingroup \expandafter \expandafter \expandafter
|
||||
\endgroup \expandafter
|
||||
\ifx
|
||||
\csname microtypesetup\endcsname \relax
|
||||
\else
|
||||
\etoc@Iftocfeature {\@currext}{noprotrusion}{}
|
||||
{\microtypesetup {protrusion=false}%
|
||||
\PackageInfo {tocbasic}%
|
||||
{character protrusion at \@currext\space deactivated}}%
|
||||
\fi
|
||||
\etoc@Iftocfeature{\@currext}{noparskipfake}{}{%
|
||||
\ifvmode \@tempskipa\lastskip \vskip-\lastskip
|
||||
\addtolength{\@tempskipa}{\parskip}\vskip\@tempskipa\fi
|
||||
}%
|
||||
\setlength {\parskip }{\z@ }%
|
||||
\setlength {\parindent }{\z@ }%
|
||||
\setlength {\parfillskip }{\z@ \@plus 1fil}%
|
||||
\csname tocbasic@@before@hook\endcsname
|
||||
\csname tb@\@currext @before@hook\endcsname
|
||||
}% end of before_toc
|
||||
{% start of after_toc
|
||||
\providecommand\tocbasic@end@toc@file{}\tocbasic@end@toc@file
|
||||
\edef\@currext{\Etoc@currext}%
|
||||
\csname tb@\@currext @after@hook\endcsname
|
||||
\csname tocbasic@@after@hook\endcsname
|
||||
}% end of after_toc
|
||||
}
|
||||
\let\etocscrbookstyle\etocscrartclstyle
|
||||
\let\etocscrreprtstyle\etocscrartclstyle
|
||||
\def\etocclasstocstyle{\etocarticlestyle}
|
||||
\newcommand*\etocmarkboth[1]{%
|
||||
\@mkboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}}
|
||||
\newcommand*\etocmarkbothnouc[1]{\@mkboth{#1}{#1}}
|
||||
\newcommand\etoctocstyle[3][section]{\etocmulticolstyle[#2]%
|
||||
{\csname #1\endcsname *{#3}}}
|
||||
\newcommand\etoctocstylewithmarks[4][section]{\etocmulticolstyle[#2]%
|
||||
{\csname #1\endcsname *{#3\etocmarkboth{#4}}}}
|
||||
\newcommand\etoctocstylewithmarksnouc[4][section]{\etocmulticolstyle[#2]%
|
||||
{\csname #1\endcsname *{#3\etocmarkbothnouc{#4}}}}
|
||||
\def\Etoc@redefetocstylesforchapters{%
|
||||
\renewcommand\etoctocstylewithmarks[4][chapter]{%
|
||||
\etocmulticolstyle[##2]{\csname ##1\endcsname *{##3\etocmarkboth{##4}}}%
|
||||
}
|
||||
\renewcommand\etoctocstylewithmarksnouc[4][chapter]{%
|
||||
\etocmulticolstyle[##2]{\csname ##1\endcsname *{##3\etocmarkbothnouc{##4}}}%
|
||||
}
|
||||
\renewcommand\etoctocstyle[3][chapter]{%
|
||||
\etocmulticolstyle[##2]{\csname ##1\endcsname *{##3}}
|
||||
}
|
||||
}
|
||||
\@ifclassloaded{scrartcl}
|
||||
{\renewcommand*\etocclasstocstyle{\etocscrartclstyle}}{}
|
||||
\@ifclassloaded{book}
|
||||
{\renewcommand*\etocfontone{\normalfont\normalsize}
|
||||
\renewcommand*\etocclasstocstyle{\etocbookstyle}
|
||||
\Etoc@redefetocstylesforchapters}{}
|
||||
\@ifclassloaded{report}
|
||||
{\renewcommand*\etocfontone{\normalfont\normalsize}
|
||||
\renewcommand*\etocclasstocstyle{\etocreportstyle}
|
||||
\Etoc@redefetocstylesforchapters}{}
|
||||
\@ifclassloaded{scrbook}
|
||||
{\renewcommand*\etocfontone{\normalfont\normalsize}
|
||||
\renewcommand*\etocclasstocstyle{\etocscrbookstyle}
|
||||
\Etoc@redefetocstylesforchapters}{}
|
||||
\@ifclassloaded{scrreprt}
|
||||
{\renewcommand*\etocfontone{\normalfont\normalsize}
|
||||
\renewcommand*\etocclasstocstyle{\etocscrreprtstyle}
|
||||
\Etoc@redefetocstylesforchapters}{}
|
||||
\@ifclassloaded{memoir}
|
||||
{\renewcommand*\etocfontone{\normalfont\normalsize}
|
||||
\renewcommand*\etocclasstocstyle{\etocmemoirstyle}
|
||||
\Etoc@redefetocstylesforchapters}{}
|
||||
\def\etoctocloftstyle {%
|
||||
\etocsettocstyle{%
|
||||
\@cfttocstart
|
||||
\par
|
||||
\begingroup
|
||||
\parindent\z@ \parskip\cftparskip
|
||||
\@nameuse{@cftmake\Etoc@currext title}%
|
||||
\ifEtoc@localtoc
|
||||
\etoctocloftlocalperhapsaddtotoc\Etoc@currext
|
||||
\else
|
||||
\etocifisstarred {}{\ifEtoc@maintoctotoc\@cftdobibtoc\fi}%
|
||||
\fi
|
||||
}%
|
||||
{%
|
||||
\endgroup
|
||||
\@cfttocfinish
|
||||
}%
|
||||
}
|
||||
\def\etoctocloftlocalperhapsaddtotoc#1{%
|
||||
\etocifisstarred
|
||||
{}%
|
||||
{\csname ifEtoc@local#1totoc\endcsname
|
||||
\ifdefined\c@chapter\def\@tocextra{@section}\else\def\@tocextra{@subsection}\fi
|
||||
\csname @cftdobib#1\endcsname
|
||||
\fi
|
||||
}%
|
||||
}
|
||||
\def\etoctocbibindstyle {%
|
||||
\etocsettocstyle {%
|
||||
\toc@start
|
||||
\ifEtoc@localtoc
|
||||
\@nameuse{etocclasslocal\Etoc@currext maketitle}%
|
||||
\etocclasslocalperhapsaddtotoc\Etoc@currext
|
||||
\else
|
||||
\etoc@tocbibind@dotoctitle
|
||||
\fi
|
||||
}%
|
||||
{\toc@finish}%
|
||||
}
|
||||
\def\etoc@tocbibind@dotoctitle {%
|
||||
\if@bibchapter
|
||||
\etocifisstarred
|
||||
{\chapter*{\contentsname}\prw@mkboth{\contentsname} % id.
|
||||
}%
|
||||
{\ifEtoc@maintoctotoc
|
||||
\toc@chapter{\contentsname} %<-space from original
|
||||
\else
|
||||
\chapter*{\contentsname}\prw@mkboth{\contentsname} % id.
|
||||
\fi
|
||||
}%
|
||||
\else
|
||||
\etocifisstarred
|
||||
{\@nameuse{\@tocextra}*{\contentsname\prw@mkboth{\contentsname}} %<-space
|
||||
}
|
||||
{\ifEtoc@maintoctotoc
|
||||
\toc@section{\@tocextra}{\contentsname} %<-space from original
|
||||
\else
|
||||
\@nameuse{\@tocextra}*{\contentsname\prw@mkboth{\contentsname}} % id.
|
||||
\fi
|
||||
}%
|
||||
\fi
|
||||
}%
|
||||
\@ifclassloaded{memoir}
|
||||
{}
|
||||
{% memoir not loaded
|
||||
\@ifpackageloaded{tocloft}
|
||||
{\if@cftnctoc\else
|
||||
\ifEtoc@keeporiginaltoc
|
||||
\else
|
||||
\AtBeginDocument{\let\tableofcontents\etoctableofcontents}%
|
||||
\fi
|
||||
\fi }
|
||||
{\AtBeginDocument
|
||||
{\@ifpackageloaded{tocloft}
|
||||
{\if@cftnctoc\else
|
||||
\PackageWarningNoLine {etoc}
|
||||
{Package `tocloft' was loaded after `etoc'.\MessageBreak
|
||||
To prevent it from overwriting \protect\tableofcontents, it will\MessageBreak
|
||||
be tricked into believing to have been loaded with its\MessageBreak
|
||||
option `titles'. \space But this will cause the `tocloft'\MessageBreak
|
||||
customization of the titles of the main list of figures\MessageBreak
|
||||
and list of tables to not apply either.\MessageBreak
|
||||
You should load `tocloft' before `etoc'.}%
|
||||
\AtEndDocument{\PackageWarning{etoc}
|
||||
{Please load `tocloft' before `etoc'!\@gobbletwo}}%
|
||||
\fi
|
||||
\@cftnctoctrue }%
|
||||
{}%
|
||||
}%
|
||||
}%
|
||||
}
|
||||
\@ifclassloaded{memoir}
|
||||
{}
|
||||
{% memoir not loaded
|
||||
\AtBeginDocument{%
|
||||
\@ifpackageloaded{tocloft}
|
||||
{%
|
||||
\def\etocclasstocstyle{%
|
||||
\etoctocloftstyle
|
||||
\Etoc@classstyletrue
|
||||
}%
|
||||
\ifEtoc@etocstyle
|
||||
\ifEtoc@classstyle
|
||||
\etocclasstocstyle
|
||||
\Etoc@etocstyletrue
|
||||
\fi
|
||||
\else
|
||||
\ifEtoc@classstyle
|
||||
\etocclasstocstyle
|
||||
\fi
|
||||
\fi
|
||||
}%
|
||||
{% no tocloft
|
||||
\@ifpackageloaded {tocbibind}
|
||||
{\if@dotoctoc
|
||||
\def\etocclasstocstyle{%
|
||||
\etoctocbibindstyle
|
||||
\Etoc@classstyletrue
|
||||
}%
|
||||
\ifEtoc@etocstyle
|
||||
\ifEtoc@classstyle
|
||||
\etocclasstocstyle
|
||||
\Etoc@etocstyletrue
|
||||
\fi
|
||||
\else
|
||||
\ifEtoc@classstyle
|
||||
\etocclasstocstyle
|
||||
\fi
|
||||
\fi
|
||||
\ifEtoc@keeporiginaltoc
|
||||
\else
|
||||
\let\tableofcontents\etoctableofcontents
|
||||
\fi
|
||||
}%
|
||||
{}%
|
||||
}%
|
||||
\@ifpackageloaded{tocbibind}
|
||||
{% tocbibind, perhaps with tocloft
|
||||
\if@dotoctoc
|
||||
\ifEtoc@keeporiginaltoc
|
||||
\else
|
||||
\let\tableofcontents\etoctableofcontents
|
||||
\fi
|
||||
\etocsetup{maintoctotoc,localtoctotoc}%
|
||||
\PackageInfo{etoc}{%
|
||||
Setting (or re-setting) the options `maintoctotoc' and\MessageBreak
|
||||
`localtoctotoc' to true as tocbibind was detected and\MessageBreak
|
||||
found to be configured for `TOC to toc'.\MessageBreak
|
||||
Reported at begin document}%
|
||||
\fi
|
||||
\if@dotoclof
|
||||
\ifEtoc@lof
|
||||
\etocsetup{localloftotoc}%
|
||||
\PackageInfo{etoc}{%
|
||||
Setting (or re-setting) `localloftotoc=true' as the\MessageBreak
|
||||
package tocbibind was detected and is configured for\MessageBreak
|
||||
`LOF to toc'. Reported at begin document}%
|
||||
\fi
|
||||
\fi
|
||||
\if@dotoclot
|
||||
\ifEtoc@lot
|
||||
\etocsetup{locallottotoc}%
|
||||
\PackageInfo{etoc}{%
|
||||
Setting (or re-setting) `locallottotoc=true' as the\MessageBreak
|
||||
package tocbibind was detected and is configured for\MessageBreak
|
||||
`LOT to toc'. Reported at begin document}%
|
||||
\fi
|
||||
\fi
|
||||
}% end of tocbibind branch
|
||||
{}%
|
||||
}% end of at begin document
|
||||
}% end of not with memoir branch
|
||||
\def\Etoc@addtocontents #1#2{%
|
||||
\addtocontents {toc}{%
|
||||
\protect\contentsline{#1}{#2}{\thepage}{\ifEtoc@hyperref\@currentHref\fi}%
|
||||
\ifdefined\protected@file@percent\protected@file@percent\fi
|
||||
}%
|
||||
}
|
||||
\def\Etoc@addcontentsline@ #1#2#3{%
|
||||
\@namedef{toclevel@#1}{#3}\addcontentsline {toc}{#1}{#2}%
|
||||
}
|
||||
\DeclareRobustCommand*{\etoctoccontentsline}
|
||||
{\@ifstar{\Etoc@addcontentsline@}{\Etoc@addtocontents}}
|
||||
\def\Etoc@addtocontents@immediately#1#2{%
|
||||
\begingroup
|
||||
\let\Etoc@originalwrite\write
|
||||
\def\write{\immediate\Etoc@originalwrite}%
|
||||
\Etoc@addtocontents{#1}{#2}%
|
||||
\endgroup
|
||||
}
|
||||
\def\Etoc@addcontentsline@@immediately#1#2#3{%
|
||||
\begingroup
|
||||
\let\Etoc@originalwrite\write
|
||||
\def\write{\immediate\Etoc@originalwrite}%
|
||||
\Etoc@addcontentsline@{#1}{#2}{#3}%
|
||||
\endgoroup
|
||||
}
|
||||
\DeclareRobustCommand*{\etocimmediatetoccontentsline}
|
||||
{\@ifstar{\Etoc@addcontentsline@@immediately}{\Etoc@addtocontents@immediately}}
|
||||
\def\Etoc@storetocdepth {\xdef\Etoc@savedtocdepth{\number\c@tocdepth}}
|
||||
\def\Etoc@restoretocdepth {\global\c@tocdepth\Etoc@savedtocdepth\relax}
|
||||
\def\etocobeytoctocdepth {\def\etoc@settocdepth
|
||||
{\afterassignment\Etoc@@nottoodeep \global\c@tocdepth}}
|
||||
\def\Etoc@@nottoodeep {\ifnum\Etoc@savedtocdepth<\c@tocdepth
|
||||
\global\c@tocdepth\Etoc@savedtocdepth\relax\fi }
|
||||
\def\etocignoretoctocdepth {\let\etoc@settocdepth\@gobble }
|
||||
\def\etocsettocdepth {\futurelet\Etoc@nexttoken\Etoc@set@tocdepth }
|
||||
\def\Etoc@set@tocdepth {\ifx\Etoc@nexttoken\bgroup
|
||||
\expandafter\Etoc@set@tocdepth@
|
||||
\else\expandafter\Etoc@set@toctocdepth
|
||||
\fi }
|
||||
\def\Etoc@set@tocdepth@ #1{\@ifundefined {Etoc@#1@@}
|
||||
{\PackageWarning{etoc}
|
||||
{Unknown sectioning unit #1, \protect\etocsettocdepth\space ignored}}
|
||||
{\global\c@tocdepth\csname Etoc@#1@@\endcsname}%
|
||||
}
|
||||
\def\Etoc@set@toctocdepth #1#{\Etoc@set@toctocdepth@ }
|
||||
\def\Etoc@set@toctocdepth@ #1{%
|
||||
\@ifundefined{Etoc@#1@@}%
|
||||
{\PackageWarning{etoc}
|
||||
{Unknown sectioning depth #1, \protect\etocsettocdepth.toc ignored}}%
|
||||
{\addtocontents {toc}
|
||||
{\protect\etoc@settocdepth\expandafter\protect\csname Etoc@#1@@\endcsname}}%
|
||||
}
|
||||
\def\etocimmediatesettocdepth #1#{\Etoc@set@toctocdepth@immediately}
|
||||
\def\Etoc@set@toctocdepth@immediately #1{%
|
||||
\@ifundefined{Etoc@#1@@}%
|
||||
{\PackageWarning{etoc}
|
||||
{Unknown sectioning depth #1, \protect\etocimmediatesettocdepth.toc ignored}}%
|
||||
{\begingroup
|
||||
\let\Etoc@originalwrite\write
|
||||
\def\write{\immediate\Etoc@originalwrite}%
|
||||
\addtocontents {toc}
|
||||
{\protect\etoc@settocdepth\expandafter\protect
|
||||
\csname Etoc@#1@@\endcsname}%
|
||||
\endgroup
|
||||
}%
|
||||
}
|
||||
\def\etocdepthtag #1#{\Etoc@depthtag }
|
||||
\def\Etoc@depthtag #1{\addtocontents {toc}{\protect\etoc@depthtag {#1}}}
|
||||
\def\etocimmediatedepthtag #1#{\Etoc@depthtag@immediately }
|
||||
\def\Etoc@depthtag@immediately #1{%
|
||||
\begingroup
|
||||
\let\Etoc@originalwrite\write
|
||||
\def\write{\immediate\Etoc@originalwrite}%
|
||||
\addtocontents {toc}{\protect\etoc@depthtag {#1}}%
|
||||
\endgroup
|
||||
}
|
||||
\def\etocignoredepthtags {\let\etoc@depthtag \@gobble }
|
||||
\def\etocobeydepthtags {\let\etoc@depthtag \Etoc@depthtag@ }
|
||||
\def\Etoc@depthtag@ #1{\@ifundefined{Etoc@depthof@#1}%
|
||||
{}% ignore in silence if tag has no associated depth
|
||||
{\afterassignment\Etoc@@nottoodeep
|
||||
\global\c@tocdepth\csname Etoc@depthof@#1\endcsname}%
|
||||
}
|
||||
\def\etocsettagdepth #1#2{\@ifundefined{Etoc@#2@@}%
|
||||
{\PackageWarning{etoc}
|
||||
{Unknown sectioning depth #2, \protect\etocsettagdepth\space ignored}}%
|
||||
{\@namedef{Etoc@depthof@#1}{\@nameuse{Etoc@#2@@}}}%
|
||||
}
|
||||
\def\Etoc@tocvsec@err #1{\PackageError {etoc}
|
||||
{The command \protect#1\space is incompatible with `etoc'}
|
||||
{Use \protect\etocsettocdepth.toc as replacement}%
|
||||
}%
|
||||
\AtBeginDocument {%
|
||||
\@ifclassloaded{memoir}
|
||||
{\PackageInfo {etoc}
|
||||
{Regarding `memoir' class command \protect\settocdepth, consider\MessageBreak
|
||||
\protect\etocsettocdepth.toc as a drop-in replacement with more\MessageBreak
|
||||
capabilities (see `etoc' manual). \space
|
||||
Also, \protect\etocsettocdepth\MessageBreak
|
||||
and \protect\etocsetnexttocdepth\space should be used in place of\MessageBreak
|
||||
`memoir' command \protect\maxtocdepth\@gobble}%
|
||||
}%
|
||||
{\@ifpackageloaded {tocvsec2}{%
|
||||
\def\maxtocdepth #1{\Etoc@tocvsec@err \maxtocdepth }%
|
||||
\def\settocdepth #1{\Etoc@tocvsec@err \settocdepth }%
|
||||
\def\resettocdepth {\@ifstar {\Etoc@tocvsec@err \resettocdepth }%
|
||||
{\Etoc@tocvsec@err \resettocdepth }%
|
||||
}%
|
||||
\def\save@tocdepth #1#2#3{}%
|
||||
\let\reset@tocdepth\relax
|
||||
\let\remax@tocdepth\relax
|
||||
\let\tableofcontents\etoctableofcontents
|
||||
\PackageWarningNoLine {etoc}
|
||||
{Package `tocvsec2' detected and its modification of\MessageBreak
|
||||
\protect\tableofcontents\space reverted. \space Use
|
||||
\protect\etocsettocdepth.toc\MessageBreak as a replacement
|
||||
for `tocvsec2' toc-related commands}%
|
||||
}% tocvsec2 loaded
|
||||
{}% tocvsec2 not loaded
|
||||
}%
|
||||
}%
|
||||
\def\invisibletableofcontents {\etocsetnexttocdepth {-3}\tableofcontents }%
|
||||
\def\invisiblelocaltableofcontents
|
||||
{\etocsetnexttocdepth {-3}\localtableofcontents }%
|
||||
\def\etocsetnexttocdepth #1{%
|
||||
\@ifundefined{Etoc@#1@@}
|
||||
{\PackageWarning{etoc}
|
||||
{Unknown sectioning unit #1, \protect\etocsetnextocdepth\space ignored}}
|
||||
{\Etoc@setnexttocdepth{\csname Etoc@#1@@\endcsname}}%
|
||||
}%
|
||||
\def\Etoc@setnexttocdepth#1{%
|
||||
\def\Etoc@tocdepthset{%
|
||||
\Etoc@tocdepthreset
|
||||
\edef\Etoc@tocdepthreset {%
|
||||
\global\c@tocdepth\the\c@tocdepth\space
|
||||
\global\let\noexpand\Etoc@tocdepthreset\noexpand\@empty
|
||||
}%
|
||||
\global\c@tocdepth#1%
|
||||
\global\let\Etoc@tocdepthset\@empty
|
||||
}%
|
||||
}%
|
||||
\let\Etoc@tocdepthreset\@empty
|
||||
\let\Etoc@tocdepthset \@empty
|
||||
\def\etocsetlocaltop #1#{\Etoc@set@localtop}%
|
||||
\def\Etoc@set@localtop #1{%
|
||||
\@ifundefined{Etoc@#1@@}%
|
||||
{\PackageWarning{etoc}
|
||||
{Unknown sectioning depth #1, \protect\etocsetlocaltop.toc ignored}}%
|
||||
{\addtocontents {toc}
|
||||
{\protect\etoc@setlocaltop\expandafter\protect\csname Etoc@#1@@\endcsname}}%
|
||||
}%
|
||||
\def\etocimmediatesetlocaltop #1#{\Etoc@set@localtop@immediately}%
|
||||
\def\Etoc@set@localtop@immediately #1{%
|
||||
\@ifundefined{Etoc@#1@@}%
|
||||
{\PackageWarning{etoc}
|
||||
{Unknown sectioning depth #1, \protect\etocimmediatesetlocaltop.toc ignored}}%
|
||||
{\begingroup
|
||||
\let\Etoc@originalwrite\write
|
||||
\def\write{\immediate\Etoc@originalwrite}%
|
||||
\addtocontents {toc}
|
||||
{\protect\etoc@setlocaltop\expandafter\protect
|
||||
\csname Etoc@#1@@\endcsname}%
|
||||
\endgroup
|
||||
}%
|
||||
}%
|
||||
\def\etoc@setlocaltop #1{%
|
||||
\ifnum#1=\Etoc@maxlevel
|
||||
\Etoc@skipthisonetrue
|
||||
\else
|
||||
\Etoc@skipthisonefalse
|
||||
\global\let\Etoc@level #1%
|
||||
\global\let\Etoc@virtualtop #1%
|
||||
\ifEtoc@localtoc
|
||||
\ifEtoc@stoptoc
|
||||
\Etoc@skipthisonetrue
|
||||
\else
|
||||
\ifEtoc@notactive
|
||||
\Etoc@skipthisonetrue
|
||||
\else
|
||||
\unless\ifnum\Etoc@level>\etoclocaltop
|
||||
\Etoc@skipthisonetrue
|
||||
\global\Etoc@stoptoctrue
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\let\Etoc@next\@empty
|
||||
\ifEtoc@skipthisone
|
||||
\else
|
||||
\ifnum\Etoc@level>\c@tocdepth
|
||||
\else
|
||||
\ifEtoc@standardlines
|
||||
\else
|
||||
\let\Etoc@next\Etoc@setlocaltop@doendsandbegin
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
||||
\Etoc@next
|
||||
}%
|
||||
\def\Etoc@setlocaltop@doendsandbegin{%
|
||||
\Etoc@doendsandbegin
|
||||
\global\Etoc@skipprefixfalse
|
||||
}
|
||||
\addtocontents {toc}{\protect\@ifundefined{etoctocstyle}%
|
||||
{\let\protect\etoc@startlocaltoc\protect\@gobble
|
||||
\let\protect\etoc@settocdepth\protect\@gobble
|
||||
\let\protect\etoc@depthtag\protect\@gobble
|
||||
\let\protect\etoc@setlocaltop\protect\@gobble}{}}%
|
||||
\def\etocstandardlines {\Etoc@standardlinestrue}
|
||||
\def\etoctoclines {\Etoc@standardlinesfalse}
|
||||
\etocdefaultlines
|
||||
\etocstandardlines
|
||||
\def\etocstandarddisplaystyle{%
|
||||
\PackageWarningNoLine{etoc}{%
|
||||
\string\etocstandarddisplaystyle \on@line\MessageBreak
|
||||
is deprecated. \space Please use \string\etocclasstocstyle}%
|
||||
}
|
||||
\expandafter\def\expandafter\etocclasstocstyle\expandafter{%
|
||||
\etocclasstocstyle
|
||||
\Etoc@classstyletrue
|
||||
}
|
||||
\def\etocetoclocaltocstyle{\Etoc@etocstyletrue}
|
||||
\def\etocusertocstyle{\Etoc@etocstylefalse}
|
||||
\etocclasstocstyle
|
||||
\etocetoclocaltocstyle
|
||||
\etocobeytoctocdepth
|
||||
\etocobeydepthtags
|
||||
\let\etocbeforetitlehook \@empty
|
||||
\let\etocaftertitlehook \@empty
|
||||
\let\etocaftercontentshook \@empty
|
||||
\let\etocaftertochook \@empty
|
||||
\def\etockeeporiginaltableofcontents
|
||||
{\Etoc@keeporiginaltoctrue\let\tableofcontents\etocoriginaltableofcontents}%
|
||||
\endinput
|
||||
%%
|
||||
%% End of file `etoc.sty'.
|
||||
16
AllLibs/MyLibs/Doc/latex/files.tex
Normal file
16
AllLibs/MyLibs/Doc/latex/files.tex
Normal file
@@ -0,0 +1,16 @@
|
||||
\doxysection{File List}
|
||||
Here is a list of all documented files with brief descriptions\+:\begin{DoxyCompactList}
|
||||
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\mbox{\hyperlink{____mylibs__config_8h_source}{\+\_\+\+\_\+mylibs\+\_\+config.\+h}} }{\pageref{____mylibs__config_8h_source}}{}
|
||||
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\mbox{\hyperlink{____mylibs__include_8h_source}{\+\_\+\+\_\+mylibs\+\_\+include.\+h}} }{\pageref{____mylibs__include_8h_source}}{}
|
||||
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\mbox{\hyperlink{_____s_e_g_g_e_r___r_t_t___conf_8h_source}{\+\_\+\+\_\+\+SEGGER\+\_\+\+RTT\+\_\+\+Conf.\+h}} }{\pageref{_____s_e_g_g_e_r___r_t_t___conf_8h_source}}{}
|
||||
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/\mbox{\hyperlink{bench__time_8h}{bench\+\_\+time.\+h}} \\*Заголовочный файл для измерения времени между событиями }{\pageref{bench__time_8h}}{}
|
||||
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/\mbox{\hyperlink{bit__access_8h}{bit\+\_\+access.\+h}} \\*Заголочный файл для дефайнов битового доступа }{\pageref{bit__access_8h}}{}
|
||||
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/\mbox{\hyperlink{gen__optimizer_8h}{gen\+\_\+optimizer.\+h}} \\*Заголовочный файл для адаптивного подбора параметров }{\pageref{gen__optimizer_8h}}{}
|
||||
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/\mbox{\hyperlink{mylibs__defs_8h}{mylibs\+\_\+defs.\+h}} \\*Заголочный файл для дефайнов библиотеки My\+Libs\+General }{\pageref{mylibs__defs_8h}}{}
|
||||
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/\mbox{\hyperlink{trace_8h}{trace.\+h}} \\*Заголочный файл для работы с трассировкой }{\pageref{trace_8h}}{}
|
||||
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/\mbox{\hyperlink{trackers_8h}{trackers.\+h}} \\*Заголочный файл для работы с трекерами \doxylink{group___t_r_a_c_k_e_r_s}{Trackers defines} }{\pageref{trackers_8h}}{}
|
||||
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\+RTT/\mbox{\hyperlink{_s_e_g_g_e_r___r_t_t_8c_source}{SEGGER\+\_\+\+RTT.\+c}} }{\pageref{_s_e_g_g_e_r___r_t_t_8c_source}}{}
|
||||
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\+RTT/\mbox{\hyperlink{_s_e_g_g_e_r___r_t_t_8h_source}{SEGGER\+\_\+\+RTT.\+h}} }{\pageref{_s_e_g_g_e_r___r_t_t_8h_source}}{}
|
||||
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\+RTT/\mbox{\hyperlink{_s_e_g_g_e_r___r_t_t__printf_8c_source}{SEGGER\+\_\+\+RTT\+\_\+printf.\+c}} }{\pageref{_s_e_g_g_e_r___r_t_t__printf_8c_source}}{}
|
||||
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\+RTT/\mbox{\hyperlink{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source}{SEGGER\+\_\+\+RTT\+\_\+\+Syscalls\+\_\+\+KEIL.\+c}} }{\pageref{_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source}}{}
|
||||
\end{DoxyCompactList}
|
||||
43
AllLibs/MyLibs/Doc/latex/gen__optimizer_8h.tex
Normal file
43
AllLibs/MyLibs/Doc/latex/gen__optimizer_8h.tex
Normal file
@@ -0,0 +1,43 @@
|
||||
\doxysection{E\+:/.WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/gen\+\_\+optimizer.h File Reference}
|
||||
\hypertarget{gen__optimizer_8h}{}\label{gen__optimizer_8h}\index{E:/.WORK/STM32/STM\_Libs/STM32\_ExtendedLibs/MyLibs/Inc/gen\_optimizer.h@{E:/.WORK/STM32/STM\_Libs/STM32\_ExtendedLibs/MyLibs/Inc/gen\_optimizer.h}}
|
||||
|
||||
|
||||
Заголовочный файл для адаптивного подбора параметров
|
||||
|
||||
|
||||
{\ttfamily \#include "{}mylibs\+\_\+defs.\+h"{}}\newline
|
||||
{\ttfamily \#include $<$stdint.\+h$>$}\newline
|
||||
{\ttfamily \#include $<$stdlib.\+h$>$}\newline
|
||||
Include dependency graph for gen\+\_\+optimizer.\+h\+:
|
||||
\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=293pt]{gen__optimizer_8h__incl}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
struct \mbox{\hyperlink{struct_gen_optimizer__t}{Gen\+Optimizer\+\_\+t}}
|
||||
\end{DoxyCompactItemize}
|
||||
\doxysubsubsection*{Macros}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___g_e_n___o_p_t_i_m_i_z_e_r_ga3e654886869ea8182effbfcb99278670}{Gen\+Optimizer\+\_\+\+Init}}(opt, n\+\_\+params, n\+\_\+cand, n\+\_\+best, mutation\+\_\+amp, start\+\_\+params)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___g_e_n___o_p_t_i_m_i_z_e_r_ga33bbb9131ac7f94c3731dd4130321885}{Gen\+Optimizer\+\_\+\+Step}}(opt, params, Loss\+Func)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___g_e_n___o_p_t_i_m_i_z_e_r_ga83abbcabaff9111c03ae2475ee72ea3e}{PARAM\+\_\+\+SCALE}}(x, min\+\_\+val, max\+\_\+val)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___g_e_n___o_p_t_i_m_i_z_e_r_gaa1d5510fe5f0bd989473f3ebe324bde3}{PARAM\+\_\+\+UNSCALE}}(val, min\+\_\+val, max\+\_\+val)
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Заголовочный файл для адаптивного подбора параметров
|
||||
|
||||
|
||||
|
||||
Definition in file \mbox{\hyperlink{gen__optimizer_8h_source}{gen\+\_\+optimizer.\+h}}.
|
||||
|
||||
1
AllLibs/MyLibs/Doc/latex/gen__optimizer_8h__incl.md5
Normal file
1
AllLibs/MyLibs/Doc/latex/gen__optimizer_8h__incl.md5
Normal file
@@ -0,0 +1 @@
|
||||
0a0ba23d15b760cc1639d73ae907a331
|
||||
BIN
AllLibs/MyLibs/Doc/latex/gen__optimizer_8h__incl.pdf
Normal file
BIN
AllLibs/MyLibs/Doc/latex/gen__optimizer_8h__incl.pdf
Normal file
Binary file not shown.
343
AllLibs/MyLibs/Doc/latex/gen__optimizer_8h_source.tex
Normal file
343
AllLibs/MyLibs/Doc/latex/gen__optimizer_8h_source.tex
Normal file
@@ -0,0 +1,343 @@
|
||||
\doxysection{gen\+\_\+optimizer.\+h}
|
||||
\hypertarget{gen__optimizer_8h_source}{}\label{gen__optimizer_8h_source}\index{E:/.WORK/STM32/STM\_Libs/STM32\_ExtendedLibs/MyLibs/Inc/gen\_optimizer.h@{E:/.WORK/STM32/STM\_Libs/STM32\_ExtendedLibs/MyLibs/Inc/gen\_optimizer.h}}
|
||||
\mbox{\hyperlink{gen__optimizer_8h}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00001}00001\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00002}00002\ \textcolor{comment}{******************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00003}00003\ \textcolor{comment}{*\ @file\ gen\_optimizer.h}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00004}00004\ \textcolor{comment}{*\ @brief\ Заголовочный\ файл\ для\ адаптивного\ подбора\ параметров}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00005}00005\ \textcolor{comment}{******************************************************************************}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00006}00006\ \textcolor{comment}{*\ @addtogroup\ GEN\_OPTIMIZER\ \ \ \ Genetic\ optimizer}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00007}00007\ \textcolor{comment}{*\ @brief\ \ \ \ \ \ Библиотека\ для\ эволюционного\ подбора\ параметров}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00008}00008\ \textcolor{comment}{*\ @details}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00009}00009\ \textcolor{comment}{Поддерживает:}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00010}00010\ \textcolor{comment}{-\/\ Любое\ количество\ параметров}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00011}00011\ \textcolor{comment}{-\/\ Генерацию\ новых\ параметров\ на\ основе\ лучших\ кандидатов}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00012}00012\ \textcolor{comment}{-\/\ Мутацию\ для\ поиска\ оптимальных\ параметров}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00013}00013\ \textcolor{comment}{-\/\ Несколько\ независимых\ оптимизаторов\ в\ одной\ программе}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00014}00014\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00015}00015\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00016}00016\ \textcolor{comment}{Параметры\ для\ конфигурации:}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00017}00017\ \textcolor{comment}{-\/\ @ref\ GEN\_OPTIMIZATION\_ENABLE\ -\/\ Включить\ оптимизацию\ параметров}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00018}00018\ \textcolor{comment}{\ \ Если\ библиотека\ отключена\ @ref\ GEN\_OPTIMIZATION\_ENABLE,\ то\ вставляются\ }}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00019}00019\ \textcolor{comment}{\ \ заглушки,\ никак\ не\ влияющие\ на\ параметры\ и\ остальную\ программу}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00020}00020\ \textcolor{comment}{-\/\ @ref\ GEN\_MAX\_PARAMS\ \ \ \ \ \ \ \ \ \ -\/\ Максимальное\ количество\ параметров}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00021}00021\ \textcolor{comment}{-\/\ @ref\ GEN\_MAX\_CANDIDATES\ \ \ \ \ \ -\/\ Максимальное\ количество\ кандидатов\ для\ обучения}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00022}00022\ \textcolor{comment}{-\/\ (опционально)\ @ref\ GEN\_MUTATION\_MIN\_PCT\ \ \ \ \ \ \ -\/\ Минимальная\ мутация\ в\ процентах\ от\ Loss\ (по\ умолчанию\ 10\%)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00023}00023\ \textcolor{comment}{-\/\ (опционально)\ @ref\ GEN\_MUTATION\_MAX\_PCT\ \ \ \ \ \ \ -\/\ Максимальная\ мутация\ в\ процентах\ от\ Loss\ (по\ умолчанию\ 100\%)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00024}00024\ \textcolor{comment}{-\/\ (опционально)\ @ref\ ELOVLE\_N\_ELITE\_CANDIDATE\ \ \ -\/\ Количество\ кандидатов,\ которые\ проходят\ в\ поколение\ без\ изменений}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00025}00025\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00026}00026\ \textcolor{comment}{@par\ Пример\ использования:}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00027}00027\ \textcolor{comment}{@code}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00028}00028\ \textcolor{comment}{\#include\ "{}gen\_optimizer.h"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00029}00029\ \textcolor{comment}{\#define\ N\_PARAMS\ \ \ \ \ \ \ \ 4}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00030}00030\ \textcolor{comment}{\#define\ N\_CANDIDATES\ \ \ \ 100}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00031}00031\ \textcolor{comment}{\#define\ N\_BEST\ \ \ \ \ \ \ \ \ \ 10}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00032}00032\ \textcolor{comment}{\#define\ MUTATION\ \ \ \ \ \ \ \ 0.1f}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00033}00033\ \textcolor{comment}{float\ params[N\_PARAMS];}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00034}00034\ \textcolor{comment}{GenOptimizer\_t\ optimizer;}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00035}00035\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00036}00036\ \textcolor{comment}{//\ Формирование\ параметров}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00037}00037\ \textcolor{comment}{uint16\_t\ \ param\_u16\ =\ 800;}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00038}00038\ \textcolor{comment}{float\ \ \ \ \ param\_f\ \ \ =\ 0.01f;}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00039}00039\ \textcolor{comment}{uint8\_t\ \ \ param\_u8\ \ =\ 40;}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00040}00040\ \textcolor{comment}{int16\_t\ \ \ param\_i16\ =\ 1600;}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00041}00041\ \textcolor{comment}{params[0]\ =\ PARAM\_SCALE(param\_u16,\ \ 0.0f,\ \ \ 1000.0f);}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00042}00042\ \textcolor{comment}{params[1]\ =\ PARAM\_SCALE(param\_f,\ \ \ \ 0.001f,\ 0.1f);}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00043}00043\ \textcolor{comment}{params[2]\ =\ PARAM\_SCALE(param\_u8,\ \ \ 10.0f,\ \ 100.0f);}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00044}00044\ \textcolor{comment}{params[3]\ =\ PARAM\_SCALE(param\_i16,\ \ 500.0f,\ 5000.0f);}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00045}00045\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00046}00046\ \textcolor{comment}{//\ Инициалиазция}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00047}00047\ \textcolor{comment}{GenOptimizer\_Init(\&optimizer,\ N\_PARAMS,\ N\_CANDIDATES,\ N\_BEST,\ MUTATION,\ params);}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00048}00048\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00049}00049\ \textcolor{comment}{//\ Шаг\ эволюции}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00050}00050\ \textcolor{comment}{float\ loss\ =\ calc\_loss();\ //\ расчет\ эффективности\ параметров\ (от\ 0\ до\ 1)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00051}00051\ \textcolor{comment}{GenOptimizer\_Step(\&optimizer,\ params,\ loss);}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00052}00052\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00053}00053\ \textcolor{comment}{//\ Взятие\ следующих\ для\ эволюции\ параметров}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00054}00054\ \textcolor{comment}{param\_u16\ =\ PARAM\_UNSCALE(params[0],\ \ 0.0f,\ \ \ 1000.0f);}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00055}00055\ \textcolor{comment}{param\_f\ \ \ =\ PARAM\_UNSCALE(params[1],\ \ 0.001f,\ 0.1f);}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00056}00056\ \textcolor{comment}{param\_u8\ \ =\ PARAM\_UNSCALE(params[2],\ \ 10.0f,\ \ 100.0f);}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00057}00057\ \textcolor{comment}{param\_i16\ =\ PARAM\_UNSCALE(params[3],\ \ 500.0f,\ 5000.0f);}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00058}00058\ \textcolor{comment}{@endcode}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00059}00059\ \textcolor{comment}{*\ @\{\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00060}00060\ \textcolor{comment}{*****************************************************************************/}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00061}00061\ \textcolor{preprocessor}{\#ifndef\ \_\_GEN\_OPTIMIZER\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00062}00062\ \textcolor{preprocessor}{\#define\ \_\_GEN\_OPTIMIZER\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00063}00063\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00064}00064\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{mylibs__defs_8h}{mylibs\_defs.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00065}00065\ \textcolor{preprocessor}{\#include\ <stdint.h>}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00066}00066\ \textcolor{preprocessor}{\#include\ <stdlib.h>}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00067}00067\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00068}00068\ \textcolor{preprocessor}{\#ifdef\ GEN\_OPTIMIZATION\_ENABLE}\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00069}00069\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00070}00070\ \textcolor{comment}{\ \ *\ @brief\ Линейное\ масштабирование\ x\ из\ диапазона\ [min\_val,\ max\_val]\ в\ диапазон\ [0,\ 1)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00071}00071\ \textcolor{comment}{\ \ */}\textcolor{preprocessor}{}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00072}00072\ \textcolor{preprocessor}{\#define\ PARAM\_SCALE(x,\ min\_val,\ max\_val)\ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00073}00073\ \textcolor{preprocessor}{(((float)(x)\ -\/\ (float)(min\_val))\ /\ ((float)(max\_val)\ -\/\ (float)(min\_val)))}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00074}00074\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00075}00075\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00076}00076\ \textcolor{comment}{\ \ *\ @brief\ Обратное\ линейное\ масштабирование\ значения\ из\ [0,\ 1)\ в\ диапазон\ [min\_val,\ max\_val]}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00077}00077\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00078}00078\ \textcolor{preprocessor}{\#define\ PARAM\_UNSCALE(val,\ min\_val,\ max\_val)\ \(\backslash\)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00079}00079\ \textcolor{preprocessor}{(((float)(val))\ *\ ((float)(max\_val)\ -\/\ (float)(min\_val))\ +\ (float)(min\_val))}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00080}00080\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00081}00081\ \textcolor{preprocessor}{\#ifndef\ local\_time}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00082}00082\ \textcolor{preprocessor}{\#define\ local\_time()\ \ HAL\_GetTick()\ }\textcolor{comment}{///<\ Локальное\ время}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00083}00083\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00084}00084\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00085}00085\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00086}00086\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00087}00087\ \textcolor{preprocessor}{\#ifndef\ GEN\_MUTATION\_MIN\_PCT}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00088}00088\ \textcolor{preprocessor}{\#define\ GEN\_MUTATION\_MIN\_PCT\ \ \ 10\ \ \ \ }\textcolor{comment}{///<\ Минимальная\ мутация\ (в\ процентах\ от\ Loss)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00089}00089\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00090}00090\ \textcolor{preprocessor}{\#ifndef\ GEN\_MUTATION\_MAX\_PCT}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00091}00091\ \textcolor{preprocessor}{\#define\ GEN\_MUTATION\_MAX\_PCT\ \ \ 100\ \ \ }\textcolor{comment}{///<\ Максимальная\ мутация\ (в\ процентах\ от\ Loss)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00092}00092\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00093}00093\ \textcolor{preprocessor}{\#ifndef\ ELOVLE\_N\_ELITE\_CANDIDATE}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00094}00094\ \textcolor{preprocessor}{\#define\ ELOVLE\_N\_ELITE\_CANDIDATE\ \ 2\ \ \ \ \ }\textcolor{comment}{///<\ Количество\ кандидатов,\ которые\ проходят\ в\ поколение\ без\ изменений\ (по\ умолчанию\ 2)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00095}00095\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00096}00096\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00097}00097\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00098}00098\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00099}00099\ \textcolor{comment}{\ \ *\ @brief\ Структура\ эволюционного\ оптимизатора}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00100}00100\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00101}00101\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00102}00102\ \ \ \textcolor{keywordtype}{float}\ \ \ \ \ stability;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Коэффициент\ насколько\ стабильная\ популяция\ (0..1)(@ref\ n\_cand)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00103}00103\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00104}00104\ \ \ uint16\_t\ \ n\_params;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Количество\ параметров}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00105}00105\ \ \ uint16\_t\ \ n\_cand;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Количество\ кандидатов\ в\ популяции}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00106}00106\ \ \ uint16\_t\ \ n\_best;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Количество\ лучших,\ усредняемых}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00107}00107\ \ \ \textcolor{keywordtype}{float}\ \ \ \ \ mutation\_amp;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Амплитуда\ мутации\ (0..1)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00108}00108\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00109}00109\ \ \ uint16\_t\ \ cand\_index;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Индекс\ текущего\ кандидата}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00110}00110\ \ \ uint16\_t\ \ gen\_index;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Индекс\ популяции\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00111}00111\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00112}00112\ \ \ \textcolor{comment}{//INTERNAL}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00113}00113\ \ \ \textcolor{keywordtype}{float}\ \ \ \ \ gen\_mut;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Амплитуда\ мутации\ у\ текущей\ популяции\ \ }}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00114}00114\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00115}00115\ \ \ \textcolor{keywordtype}{float}\ \ \ \ \ loss[\mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga201cffde04ebc6540869c74bd1dae869}{GEN\_MAX\_CANDIDATES}}];\ \ \ \ \textcolor{comment}{///<\ Loss\ для\ каждого\ кандидата}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00116}00116\ \ \ \textcolor{keywordtype}{float}\ \ \ \ \ candidates[\mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga201cffde04ebc6540869c74bd1dae869}{GEN\_MAX\_CANDIDATES}}][\mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga8daf4b266a95353d580bd7946f47c0ab}{GEN\_MAX\_PARAMS}}];\ \textcolor{comment}{///<\ Параметры\ кандидатов}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00117}00117\ \ \ uint16\_t\ \ sorted\_idx[\mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga201cffde04ebc6540869c74bd1dae869}{GEN\_MAX\_CANDIDATES}}];\ \textcolor{comment}{///<\ Индексы\ отсортированных\ кандидатов}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00118}00118\ \}\ \mbox{\hyperlink{struct_gen_optimizer__t}{GenOptimizer\_t}};}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00119}00119\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00120}00120\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00121}00121\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00122}00122\ \textcolor{comment}{/**\ }}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00123}00123\ \textcolor{comment}{\ *\ @cond\ GEN\_INTERNAL}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00124}00124\ \textcolor{comment}{\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00125}00125\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00126}00126\ \textcolor{comment}{//\ Вспомогательный\ указатель\ для\ сортировки}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00127}00127\ \textcolor{keyword}{static}\ \mbox{\hyperlink{struct_gen_optimizer__t}{GenOptimizer\_t}}\ *g\_sort\_opt;\ \textcolor{comment}{//\ глобальный\ указатель\ на\ текущий\ оптимизатор}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00128}00128\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00129}00129\ \textcolor{comment}{//\ функция\ условия\ сортировки}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00130}00130\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{int}\ cmp\_idx(\textcolor{keyword}{const}\ \textcolor{keywordtype}{void}\ *a,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{void}\ *b)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00131}00131\ \ \ \textcolor{keywordflow}{if}\ (g\_sort\_opt-\/>loss[*(\textcolor{keyword}{const}\ uint16\_t*)a]\ <\ g\_sort\_opt-\/>loss[*(\textcolor{keyword}{const}\ uint16\_t*)b])\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00132}00132\ \ \ \ \ \textcolor{keywordflow}{return}\ -\/1;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00133}00133\ \ \ \textcolor{keywordflow}{if}\ (g\_sort\_opt-\/>loss[*(\textcolor{keyword}{const}\ uint16\_t*)a]\ >\ g\_sort\_opt-\/>loss[*(\textcolor{keyword}{const}\ uint16\_t*)b])\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00134}00134\ \ \ \ \ \textcolor{keywordflow}{return}\ 1;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00135}00135\ \ \ \textcolor{keywordflow}{return}\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00136}00136\ \}\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00137}00137\ \textcolor{comment}{/**\ @endcond\ */}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00138}00138\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00139}00139\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00140}00140\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00141}00141\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00142}00142\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00143}00143\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00144}00144\ \textcolor{comment}{\ \ *\ @brief\ Инициализация\ эволюционного\ оптимизатора.}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00145}00145\ \textcolor{comment}{\ \ *\ @param\ opt\ \ \ \ \ \ \ \ \ \ Указатель\ на\ структуру\ оптимизатора}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00146}00146\ \textcolor{comment}{\ \ *\ @param\ n\_params\ \ \ \ \ Количество\ параметров\ в\ одном\ кандидате}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00147}00147\ \textcolor{comment}{\ \ *\ @param\ n\_cand\ \ \ \ \ \ \ Количество\ кандидатов}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00148}00148\ \textcolor{comment}{\ \ *\ @param\ n\_best\ \ \ \ \ \ \ Количество\ лучших,\ усредняемых}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00149}00149\ \textcolor{comment}{\ \ *\ @param\ mutation\_amp\ Амплитуда\ мутации\ (в\ диапазоне\ 0.0–1.0)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00150}00150\ \textcolor{comment}{\ \ *\ @param\ start\_params\ Начальные\ параметры\ (в\ диапазоне\ 0.0–1.0)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00151}00151\ \textcolor{comment}{\ \ *\ @return\ 0\ \ \ —\ если\ окей,\ }}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00152}00152\ \textcolor{comment}{\ \ *\ \ \ \ \ \ \ \ \ -\/1\ \ —\ если\ ошибка}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00153}00153\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00154}00154\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{int}\ GenOptimizer\_Init(\mbox{\hyperlink{struct_gen_optimizer__t}{GenOptimizer\_t}}*\ opt,}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00155}00155\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ uint16\_t\ n\_params,}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00156}00156\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ uint16\_t\ n\_cand,}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00157}00157\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ uint16\_t\ n\_best,}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00158}00158\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{float}\ mutation\_amp,}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00159}00159\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{float}*\ start\_params)}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00160}00160\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00161}00161\ \ \ \textcolor{keywordflow}{if}((opt\ ==\ NULL)\ ||\ (start\_params\ ==\ NULL))}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00162}00162\ \ \ \ \ \textcolor{keywordflow}{return}\ -\/1;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00163}00163\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00164}00164\ \ \ \textcolor{keywordflow}{if}(n\_params\ >\ \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga8daf4b266a95353d580bd7946f47c0ab}{GEN\_MAX\_PARAMS}})}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00165}00165\ \ \ \ \ \textcolor{keywordflow}{return}\ -\/1;\ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00166}00166\ \ \ opt-\/>n\_params\ \ \ \ \ =\ n\_params;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00167}00167\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00168}00168\ \ \ \textcolor{keywordflow}{if}(n\_cand\ >\ \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga201cffde04ebc6540869c74bd1dae869}{GEN\_MAX\_CANDIDATES}})}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00169}00169\ \ \ \ \ \textcolor{keywordflow}{return}\ -\/1;\ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00170}00170\ \ \ opt-\/>n\_cand\ \ \ \ \ \ \ =\ n\_cand;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00171}00171\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00172}00172\ \ \ \textcolor{keywordflow}{if}(n\_best\ >\ \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga201cffde04ebc6540869c74bd1dae869}{GEN\_MAX\_CANDIDATES}}/2)}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00173}00173\ \ \ \ \ \textcolor{keywordflow}{return}\ -\/1;\ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00174}00174\ \ \ opt-\/>n\_best\ \ \ \ \ \ \ =\ n\_best;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00175}00175\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00176}00176\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00177}00177\ \ \ \textcolor{keywordflow}{if}((mutation\_amp\ >\ 1)\ ||\ (mutation\_amp\ <\ 0))}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00178}00178\ \ \ \ \ \textcolor{keywordflow}{return}\ -\/1;\ \ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00179}00179\ \ \ \textcolor{keywordflow}{if}(mutation\_amp\ <=\ 0.001f)}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00180}00180\ \ \ \ \ mutation\_amp\ =\ 0.001f;\ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00181}00181\ \ \ opt-\/>mutation\_amp\ \ =\ mutation\_amp;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00182}00182\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00183}00183\ \ \ uint32\_t\ seed\ =\ \mbox{\hyperlink{group___t_r_a_c_e___s_e_r_i_a_l_ga9c853b02c22f26023c34d1d404b6d653}{local\_time}}();}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00184}00184\ \textcolor{preprocessor}{\#ifdef\ ADC1}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00185}00185\ \ \ seed\ +=\ (ADC1-\/>DR\ \&\ 0xFF);}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00186}00186\ \textcolor{preprocessor}{\#endif}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00187}00187\ \ \ srand(seed);}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00188}00188\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00189}00189\ \ \ \textcolor{keywordflow}{for}\ (uint16\_t\ i\ =\ 0;\ i\ <\ n\_cand;\ i++)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00190}00190\ \ \ \ \ \textcolor{keywordflow}{for}\ (uint16\_t\ j\ =\ 0;\ j\ <\ n\_params;\ j++)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00191}00191\ \ \ \ \ \ \ \textcolor{comment}{//\ Добавляем\ случайную\ мутацию\ вокруг\ стартового\ параметра}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00192}00192\ \ \ \ \ \ \ \textcolor{keywordtype}{float}\ base\ =\ start\_params[j];}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00193}00193\ \ \ \ \ \ \ \textcolor{keywordtype}{float}\ inv\_randmax\ =\ 1.0f\ /\ (float)RAND\_MAX;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00194}00194\ \ \ \ \ \ \ \textcolor{keywordtype}{float}\ noise\ =\ ((float)rand()\ *\ inv\_randmax\ *\ 2.0f\ -\/\ 1.0f)\ *\ mutation\_amp;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00195}00195\ \ \ \ \ \ \ opt-\/>candidates[i][j]\ =\ base\ +\ noise;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00196}00196\ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (opt-\/>candidates[i][j]\ <\ 0.0f)\ opt-\/>candidates[i][j]\ =\ 0.0f;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00197}00197\ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (opt-\/>candidates[i][j]\ >\ 1.0f)\ opt-\/>candidates[i][j]\ =\ 1.0f;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00198}00198\ \ \ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00199}00199\ \ \ \ \ opt-\/>loss[i]\ =\ 0.0f;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00200}00200\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00201}00201\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00202}00202\ \ \ opt-\/>cand\_index\ =\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00203}00203\ \ \ opt-\/>gen\_index\ =\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00204}00204\ \ \ \textcolor{keywordflow}{return}\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00205}00205\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00206}00206\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00207}00207\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00208}00208\ \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00209}00209\ \textcolor{comment}{\ \ *\ @brief\ Один\ шаг\ эволюционного\ оптимизатора.}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00210}00210\ \textcolor{comment}{\ \ *\ @param\ opt\ \ \ \ Указатель\ на\ структуру\ оптимизатора}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00211}00211\ \textcolor{comment}{\ \ *\ @param\ params\ Массив\ параметров,\ которые\ будут\ обновлены\ (на\ выходе\ —\ новые\ параметры)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00212}00212\ \textcolor{comment}{\ \ *\ @param\ loss\ \ \ Loss\ текущего\ кандидата}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00213}00213\ \textcolor{comment}{\ \ *\ @return\ 0\ \ \ —\ если\ окей,\ }}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00214}00214\ \textcolor{comment}{\ \ *\ \ \ \ \ \ \ \ \ -\/1\ \ —\ если\ ошибка}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00215}00215\ \textcolor{comment}{\ \ *\ @details}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00216}00216\ \textcolor{comment}{\ \ *\ Сохраняет\ loss\ текущего\ кандидата\ и\ формирует\ параметры\ следующего\ кандидата.}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00217}00217\ \textcolor{comment}{\ \ *\ Если\ накоплено\ n\_cand\ кандидатов,\ генерируется\ новое\ поколение.}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00218}00218\ \textcolor{comment}{\ \ *\ Новое\ поколение\ формируется\ случайным\ выбором\ из\ n\_best\ лучших\ с\ добавлением\ мутации.}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00219}00219\ \textcolor{comment}{\ \ *}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00220}00220\ \textcolor{comment}{\ \ *\ На\ выходе\ params\ содержит\ параметры\ следующего\ кандидата\ для\ измерений.}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00221}00221\ \textcolor{comment}{\ \ *\ @note\ Функция\ использует\ глобальную\ внутреннюю\ переменную\ для\ сортировки.}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00222}00222\ \textcolor{comment}{\ \ *\ Надо\ убедится\ что\ только\ один\ экземпляр\ функции\ запущен\ в\ момент\ времени}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00223}00223\ \textcolor{comment}{\ \ */}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00224}00224\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{int}\ GenOptimizer\_Step(\mbox{\hyperlink{struct_gen_optimizer__t}{GenOptimizer\_t}}*\ opt,}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00225}00225\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{float}*\ params,}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00226}00226\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{float}\ loss)}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00227}00227\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00228}00228\ \ \ \textcolor{keywordflow}{if}((opt\ ==\ NULL)\ ||\ (params\ ==\ NULL))}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00229}00229\ \ \ \ \ \textcolor{keywordflow}{return}\ -\/1;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00230}00230\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00231}00231\ \ \ uint16\_t\ n\_params\ =\ opt-\/>n\_params;\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00232}00232\ \ \ \textcolor{keywordflow}{if}(n\_params\ >\ \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga8daf4b266a95353d580bd7946f47c0ab}{GEN\_MAX\_PARAMS}})}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00233}00233\ \ \ \ \ \textcolor{keywordflow}{return}\ -\/1;\ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00234}00234\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00235}00235\ \ \ uint16\_t\ n\_cand\ =\ opt-\/>n\_cand;\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00236}00236\ \ \ \textcolor{keywordflow}{if}(n\_cand\ >\ \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga201cffde04ebc6540869c74bd1dae869}{GEN\_MAX\_CANDIDATES}})}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00237}00237\ \ \ \ \ \textcolor{keywordflow}{return}\ -\/1;\ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00238}00238\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00239}00239\ \ \ uint16\_t\ n\_best\ =\ opt-\/>n\_best;\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00240}00240\ \ \ \textcolor{keywordflow}{if}(n\_best\ >\ \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga201cffde04ebc6540869c74bd1dae869}{GEN\_MAX\_CANDIDATES}}/2)}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00241}00241\ \ \ \ \ \textcolor{keywordflow}{return}\ -\/1;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00242}00242\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00243}00243\ \ \ \textcolor{keywordtype}{float}\ \ \ \ mut\ \ \ \ \ \ =\ opt-\/>mutation\_amp;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00244}00244\ \ \ \textcolor{keywordflow}{if}((mut\ >\ 1)\ ||(mut\ <\ 0))}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00245}00245\ \ \ \ \ \textcolor{keywordflow}{return}\ -\/1;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00246}00246\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00247}00247\ \ \ \textcolor{comment}{//\ 1.\ Сохраняем\ loss\ текущего\ кандидата}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00248}00248\ \ \ opt-\/>loss[opt-\/>cand\_index]\ =\ loss;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00249}00249\ \ \ opt-\/>cand\_index++;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00250}00250\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00251}00251\ \ \ \textcolor{keywordflow}{if}\ (opt-\/>cand\_index\ >=\ n\_cand)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00252}00252\ \ \ \ \ \textcolor{comment}{//\ 2.\ Сортируем\ текущее\ поколение\ по\ loss}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00253}00253\ \ \ \ \ \textcolor{keywordflow}{for}(uint16\_t\ i\ =\ 0;\ i\ <\ opt-\/>n\_cand;\ i++)}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00254}00254\ \ \ \ \ \ \ opt-\/>sorted\_idx[i]\ =\ i;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00255}00255\ \ \ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00256}00256\ \ \ \ \ g\_sort\_opt\ =\ opt;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00257}00257\ \ \ \ \ qsort(opt-\/>sorted\_idx,\ opt-\/>n\_cand,\ \textcolor{keyword}{sizeof}(uint16\_t),\ cmp\_idx);}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00258}00258\ \ \ \ \ g\_sort\_opt\ =\ NULL;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00259}00259\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00260}00260\ \ \ \ \ \textcolor{comment}{//\ -\/-\/-\/\ Адаптивная\ мутация\ в\ зависимости\ от\ Loss\ -\/-\/-\/}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00261}00261\ \ \ \ \ \textcolor{keywordtype}{float}\ best\_loss\ =\ opt-\/>loss[opt-\/>sorted\_idx[0]];}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00262}00262\ \ \ \ \ \textcolor{keywordtype}{float}\ worst\_loss\ =\ opt-\/>loss[opt-\/>sorted\_idx[opt-\/>n\_cand\ -\/\ 1]];}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00263}00263\ \ \ \ \ \textcolor{keywordtype}{float}\ diff\ =\ worst\_loss\ -\/\ best\_loss;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00264}00264\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00265}00265\ \ \ \ \ \textcolor{keywordtype}{float}\ sum\_loss\ =\ 0.0f;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00266}00266\ \ \ \ \ \textcolor{keywordflow}{for}\ (uint16\_t\ i\ =\ 0;\ i\ <\ n\_cand;\ i++)}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00267}00267\ \ \ \ \ \ \ sum\_loss\ +=\ opt-\/>loss[i];}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00268}00268\ \ \ \ \ \textcolor{keywordtype}{float}\ avg\_loss\ =\ sum\_loss\ /\ (float)n\_cand;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00269}00269\ \ \ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00270}00270\ \ \ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00271}00271\ \ \ \ \ \textcolor{keywordtype}{float}\ loss\_ratio\ =\ (diff\ >\ 0.0f)\ ?\ ((avg\_loss\ -\/\ best\_loss)\ /\ diff)\ :\ 0.5f;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00272}00272\ \ \ \ \ \textcolor{keywordflow}{if}\ (loss\_ratio\ <\ 0.0f)\ loss\_ratio\ =\ 0.0f;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00273}00273\ \ \ \ \ \textcolor{keywordflow}{if}\ (loss\_ratio\ >\ 1.0f)\ loss\_ratio\ =\ 1.0f;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00274}00274\ \ \ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00275}00275\ \ \ \ \ \textcolor{comment}{//\ Записываем\ стабильность\ популяции\ в\ структуру}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00276}00276\ \ \ \ \ \textcolor{keywordflow}{if}(diff\ <\ 0.0f)\ diff\ =\ 0.0f;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00277}00277\ \ \ \ \ \textcolor{keywordflow}{if}(diff\ >\ 1.0f)\ diff\ =\ 1.0f;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00278}00278\ \ \ \ \ opt-\/>stability\ =\ (1.0f\ -\/\ worst\_loss)\ *\ (1.0f\ -\/\ (worst\_loss\ -\/\ best\_loss));}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00279}00279\ \ \ \ \ \textcolor{keywordflow}{if}(opt-\/>stability\ <\ 0.0f)\ opt-\/>stability\ =\ 0.0f;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00280}00280\ \ \ \ \ \textcolor{keywordflow}{if}(opt-\/>stability\ >\ 1.0f)\ opt-\/>stability\ =\ 1.0f;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00281}00281\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00282}00282\ \ \ \ \ \textcolor{keywordtype}{float}\ mut\_pct\ =\ GEN\_MUTATION\_MIN\_PCT\ +}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00283}00283\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (GEN\_MUTATION\_MAX\_PCT\ -\/\ GEN\_MUTATION\_MIN\_PCT)\ *\ loss\_ratio;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00284}00284\ \ \ \ \ \textcolor{keywordtype}{float}\ adaptive\_mut\ =\ mut\ *\ (mut\_pct\ /\ 100.0f);}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00285}00285\ \ \ \ \ \textcolor{keywordflow}{if}\ (adaptive\_mut\ <\ 0.0001f)\ adaptive\_mut\ =\ 0.0001f;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00286}00286\ \ \ \ \ opt-\/>gen\_mut\ =\ adaptive\_mut;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00287}00287\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00288}00288\ \ \ \ \ \textcolor{comment}{//\ 3.\ Генерируем\ новое\ поколение}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00289}00289\ \ \ \ \ uint16\_t\ n\_elite\ =\ ELOVLE\_N\_ELITE\_CANDIDATE;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00290}00290\ \ \ \ \ \textcolor{keywordflow}{for}\ (uint16\_t\ c\ =\ 0;\ c\ <\ n\_cand;\ c++)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00291}00291\ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (c\ <\ n\_elite)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00292}00292\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (uint16\_t\ i\ =\ 0;\ i\ <\ n\_params;\ i++)}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00293}00293\ \ \ \ \ \ \ \ \ \ \ opt-\/>candidates[c][i]\ =\ opt-\/>candidates[opt-\/>sorted\_idx[c]][i];}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00294}00294\ \ \ \ \ \ \ \ \ opt-\/>loss[c]\ =\ 0.0f;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00295}00295\ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00296}00296\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{for}\ (uint16\_t\ i\ =\ 0;\ i\ <\ n\_params;\ i++)\ \{}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00297}00297\ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{float}\ inv\_randmax\ =\ 1.0f\ /\ (float)RAND\_MAX;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00298}00298\ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{float}\ noise\ =\ ((float)rand()\ *\ inv\_randmax\ *\ 2.0f\ -\/\ 1.0f)\ *\ adaptive\_mut;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00299}00299\ \ \ \ \ \ \ \ \ \ \ uint16\_t\ parent\ =\ opt-\/>sorted\_idx[rand()\ \%\ opt-\/>n\_best];}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00300}00300\ \ \ \ \ \ \ \ \ \ \ opt-\/>candidates[c][i]\ =\ opt-\/>candidates[parent][i]\ +\ noise;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00301}00301\ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (opt-\/>candidates[c][i]\ <\ 0.0f)\ opt-\/>candidates[c][i]\ =\ 0.0f;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00302}00302\ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (opt-\/>candidates[c][i]\ >\ 1.0f)\ opt-\/>candidates[c][i]\ =\ 1.0f;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00303}00303\ \ \ \ \ \ \ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00304}00304\ \ \ \ \ \ \ \ \ opt-\/>loss[c]\ =\ 0.0f;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00305}00305\ \ \ \ \ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00306}00306\ \ \ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00307}00307\ \ \ \ \ opt-\/>cand\_index\ =\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00308}00308\ \ \ \ \ opt-\/>gen\_index++;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00309}00309\ \ \ \}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00310}00310\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00311}00311\ \ \ \textcolor{comment}{//\ 4.\ Возвращаем\ параметры\ следующего\ кандидата}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00312}00312\ \ \ \textcolor{keywordflow}{for}\ (uint16\_t\ i\ =\ 0;\ i\ <\ opt-\/>n\_params;\ i++)}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00313}00313\ \ \ \ \ params[i]\ =\ opt-\/>candidates[opt-\/>cand\_index][i];}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00314}00314\ \ \ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00315}00315\ \ \ \textcolor{keywordflow}{return}\ 0;}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00316}00316\ \}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00317}00317\ \textcolor{preprocessor}{\#else\ }\textcolor{comment}{//\ GEN\_OPTIMIZATION\_ENABLE}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00318}00318\ \textcolor{comment}{//заглушки}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00319}\mbox{\hyperlink{struct_gen_optimizer__t}{00319}}\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00320}00320\ \ \ uint16\_t\ n\_params;\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00321}00321\ \ \ uint16\_t\ n\_cand;\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00322}00322\ \ \ uint16\_t\ n\_best;\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00323}00323\ \ \ \textcolor{keywordtype}{float}\ mutation\_amp;\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00324}00324\ \ \ \textcolor{keywordtype}{float}\ loss[0];\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00325}00325\ \ \ \textcolor{keywordtype}{float}\ candidates[0][0];\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00326}00326\ \}\ \mbox{\hyperlink{struct_gen_optimizer__t}{GenOptimizer\_t}};}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00327}00327\ \textcolor{preprocessor}{\#define\ GenOptimizer\_Init(opt,\ n\_params,\ n\_cand,\ n\_best,\ mutation\_amp,\ start\_params)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00328}00328\ \textcolor{preprocessor}{\#define\ GenOptimizer\_Step(opt,\ params,\ LossFunc)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00329}00329\ \textcolor{preprocessor}{\#define\ PARAM\_SCALE(x,\ min\_val,\ max\_val)\ \ \ \ \ \ \ \ \ (x)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00330}00330\ \textcolor{preprocessor}{\#define\ PARAM\_UNSCALE(val,\ min\_val,\ max\_val)\ \ \ \ \ (val)}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00331}00331\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ GEN\_OPTIMIZATION\_ENABLE}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00332}00332\ }
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00333}00333\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ \_\_GEN\_OPTIMIZER\_H\_}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00334}00334\ \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00335}00335\ \textcolor{comment}{/**\ GEN\_OPTIMIZER}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00336}00336\ \textcolor{comment}{\ \ *\ @\}}}
|
||||
\DoxyCodeLine{\Hypertarget{gen__optimizer_8h_source_l00337}00337\ \textcolor{comment}{\ \ */}}
|
||||
|
||||
\end{DoxyCode}
|
||||
1
AllLibs/MyLibs/Doc/latex/group___b_e_n_c_h___t_i_m_e.md5
Normal file
1
AllLibs/MyLibs/Doc/latex/group___b_e_n_c_h___t_i_m_e.md5
Normal file
@@ -0,0 +1 @@
|
||||
6705808550d728844cfae44f809a322b
|
||||
BIN
AllLibs/MyLibs/Doc/latex/group___b_e_n_c_h___t_i_m_e.pdf
Normal file
BIN
AllLibs/MyLibs/Doc/latex/group___b_e_n_c_h___t_i_m_e.pdf
Normal file
Binary file not shown.
232
AllLibs/MyLibs/Doc/latex/group___b_e_n_c_h___t_i_m_e.tex
Normal file
232
AllLibs/MyLibs/Doc/latex/group___b_e_n_c_h___t_i_m_e.tex
Normal file
@@ -0,0 +1,232 @@
|
||||
\doxysubsubsection{Time measurement }
|
||||
\hypertarget{group___b_e_n_c_h___t_i_m_e}{}\label{group___b_e_n_c_h___t_i_m_e}\index{Time measurement@{Time measurement}}
|
||||
|
||||
|
||||
Библиотека для измерения времени/тиков между событиями
|
||||
|
||||
|
||||
Collaboration diagram for Time measurement\+:
|
||||
\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=286pt]{group___b_e_n_c_h___t_i_m_e}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsubsubsection*{Macros}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga31b9f2267c562f3ceb533606daf0b789}{Bench\+Time\+\_\+\+Init}}()
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga89ff6c06fc21fb2bbfbf8cbf863316f1}{Bench\+Time\+\_\+\+Start}}(channel, ticks, tick\+\_\+period)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gadddc120d43a10fad50fbdeeab8d086b5}{Bench\+Time\+\_\+\+End}}(channel, ticks)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga91e352219014c7ea5507bbbe4b15912d}{Bench\+Time\+\_\+\+Get\+Min}}(channel)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gab8103362e89bad95d965ac668284065c}{Bench\+Time\+\_\+\+Get\+Max}}(channel)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga9f82f5ed8cfae31292dc3dca41471dd5}{Bench\+Time\+\_\+\+Get\+Average}}(channel)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gaafbca7155cfc97b68428da2b0b1200ef}{Bench\+Time\+\_\+\+Get\+Count}}(channel)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga9911aa13a8fa67c35a261d1cb3dc11e7}{Bench\+Time\+\_\+\+Get\+Last}}(channel)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga09b9a6ef9b60605fc0015f6b379d8420}{Bench\+Time\+\_\+\+Reset\+Stats}}(channel)
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsubsubsection{Detailed Description}
|
||||
Библиотека для измерения времени/тиков между событиями
|
||||
|
||||
Поддерживает\+:
|
||||
\begin{DoxyItemize}
|
||||
\item Многоканальные измерения (несколько независимых таймеров)
|
||||
\item Платформонезависимый интерфейс
|
||||
\item Измерение в тиках или временных единицах
|
||||
\item Статистику измерений (мин/макс/среднее)
|
||||
\item Настраиваемый размер тиков для каждого канала
|
||||
\end{DoxyItemize}
|
||||
|
||||
Параметры для конфигурации\+:
|
||||
\begin{DoxyItemize}
|
||||
\item \doxylink{group___g_e_n___c_o_n_f_i_g_ga67c3c54503b9bbd5d175ac46d37866d9}{BENCH\+\_\+\+TIME\+\_\+\+ENABLE} -\/ Включить бенч времени
|
||||
\item \doxylink{group___g_e_n___c_o_n_f_i_g_ga74fdf777ceefa5e7d67120fbda4cde52}{BENCH\+\_\+\+TIME\+\_\+\+MAX\+\_\+\+CHANNELS} -\/ Максимальное количество каналов измерения (по умолчанию 8)
|
||||
\end{DoxyItemize}
|
||||
|
||||
\begin{DoxyParagraph}{Пример использования\+:}
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{bench__time_8h}{bench\_time.h}}"{}}}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{comment}{//\ Инициализация}}
|
||||
\DoxyCodeLine{BenchTime\_Init();}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{comment}{//\ Измерение\ с\ SysTick}}
|
||||
\DoxyCodeLine{BenchTime\_Start(0,\ HAL\_GetTick,\ 0xFFFFFFFF);}
|
||||
\DoxyCodeLine{some\_function();}
|
||||
\DoxyCodeLine{uint32\_t\ time\ =\ BenchTime\_End(0,\ HAL\_GetTick);}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{comment}{//\ Измерение\ с\ TIM2\ (16-\/бит)}}
|
||||
\DoxyCodeLine{BenchTime\_Start(1,\ TIM2-\/>CNT,\ 0xFFFF);}
|
||||
\DoxyCodeLine{fast\_function();\ }
|
||||
\DoxyCodeLine{uint32\_t\ time2\ =\ BenchTime\_End(1,\ TIM2-\/>CNT);}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{comment}{//\ Измерение\ с\ DWT\ цикловым\ счетчиком}}
|
||||
\DoxyCodeLine{BenchTime\_Start(2,\ DWT-\/>CYCCNT,\ 0xFFFFFFFF);}
|
||||
\DoxyCodeLine{critical\_function();}
|
||||
\DoxyCodeLine{uint32\_t\ cycles\ =\ BenchTime\_End(2,\ DWT-\/>CYCCNT);}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{comment}{//\ Многоканальное\ измерение}}
|
||||
\DoxyCodeLine{BenchTime\_Start(0,\ HAL\_GetTick,\ 1000);\ \ \ \ \ \ \ \ \textcolor{comment}{//\ общее\ время}}
|
||||
\DoxyCodeLine{BenchTime\_Start(1,\ TIM3-\/>CNT,\ 500);\ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ часть\ 1}}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{comment}{//\ ...\ код\ 1}}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{uint32\_t\ part1\ =\ BenchTime\_End(1,\ TIM3-\/>CNT);}
|
||||
\DoxyCodeLine{BenchTime\_Start(2,\ TIM4-\/>CNT,\ 200);\ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{//\ часть\ 2\ \ }}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{comment}{//\ ...\ код\ 2}}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{uint32\_t\ part2\ =\ BenchTime\_End(2,\ TIM4-\/>CNT);}
|
||||
\DoxyCodeLine{uint32\_t\ total\ =\ BenchTime\_End(0,\ HAL\_GetTick);\ \textcolor{comment}{//\ общее\ время}}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{comment}{//\ Статистика}}
|
||||
\DoxyCodeLine{uint32\_t\ min\_time\ =\ BenchTime\_GetMin(0);}
|
||||
\DoxyCodeLine{uint32\_t\ max\_time\ =\ BenchTime\_GetMax(0);}
|
||||
\DoxyCodeLine{uint32\_t\ avg\_time\ =\ BenchTime\_GetAverage(0);}
|
||||
\DoxyCodeLine{uint32\_t\ count\ =\ BenchTime\_GetCount(0);}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
\end{DoxyParagraph}
|
||||
|
||||
|
||||
\label{doc-define-members}
|
||||
\Hypertarget{group___b_e_n_c_h___t_i_m_e_doc-define-members}
|
||||
\doxysubsubsubsection{Macro Definition Documentation}
|
||||
\Hypertarget{group___b_e_n_c_h___t_i_m_e_ga31b9f2267c562f3ceb533606daf0b789}\index{Time measurement@{Time measurement}!BenchTime\_Init@{BenchTime\_Init}}
|
||||
\index{BenchTime\_Init@{BenchTime\_Init}!Time measurement@{Time measurement}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{BenchTime\_Init}{BenchTime\_Init}}
|
||||
{\footnotesize\ttfamily \label{group___b_e_n_c_h___t_i_m_e_ga31b9f2267c562f3ceb533606daf0b789}
|
||||
\#define Bench\+Time\+\_\+\+Init(\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00241}{241}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
|
||||
|
||||
\Hypertarget{group___b_e_n_c_h___t_i_m_e_ga89ff6c06fc21fb2bbfbf8cbf863316f1}\index{Time measurement@{Time measurement}!BenchTime\_Start@{BenchTime\_Start}}
|
||||
\index{BenchTime\_Start@{BenchTime\_Start}!Time measurement@{Time measurement}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{BenchTime\_Start}{BenchTime\_Start}}
|
||||
{\footnotesize\ttfamily \label{group___b_e_n_c_h___t_i_m_e_ga89ff6c06fc21fb2bbfbf8cbf863316f1}
|
||||
\#define Bench\+Time\+\_\+\+Start(\begin{DoxyParamCaption}\item[{}]{channel}{, }\item[{}]{ticks}{, }\item[{}]{tick\+\_\+period}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{0}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00242}{242}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
|
||||
|
||||
\Hypertarget{group___b_e_n_c_h___t_i_m_e_gadddc120d43a10fad50fbdeeab8d086b5}\index{Time measurement@{Time measurement}!BenchTime\_End@{BenchTime\_End}}
|
||||
\index{BenchTime\_End@{BenchTime\_End}!Time measurement@{Time measurement}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{BenchTime\_End}{BenchTime\_End}}
|
||||
{\footnotesize\ttfamily \label{group___b_e_n_c_h___t_i_m_e_gadddc120d43a10fad50fbdeeab8d086b5}
|
||||
\#define Bench\+Time\+\_\+\+End(\begin{DoxyParamCaption}\item[{}]{channel}{, }\item[{}]{ticks}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{0}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00243}{243}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
|
||||
|
||||
\Hypertarget{group___b_e_n_c_h___t_i_m_e_ga91e352219014c7ea5507bbbe4b15912d}\index{Time measurement@{Time measurement}!BenchTime\_GetMin@{BenchTime\_GetMin}}
|
||||
\index{BenchTime\_GetMin@{BenchTime\_GetMin}!Time measurement@{Time measurement}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{BenchTime\_GetMin}{BenchTime\_GetMin}}
|
||||
{\footnotesize\ttfamily \label{group___b_e_n_c_h___t_i_m_e_ga91e352219014c7ea5507bbbe4b15912d}
|
||||
\#define Bench\+Time\+\_\+\+Get\+Min(\begin{DoxyParamCaption}\item[{}]{channel}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{0}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00244}{244}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
|
||||
|
||||
\Hypertarget{group___b_e_n_c_h___t_i_m_e_gab8103362e89bad95d965ac668284065c}\index{Time measurement@{Time measurement}!BenchTime\_GetMax@{BenchTime\_GetMax}}
|
||||
\index{BenchTime\_GetMax@{BenchTime\_GetMax}!Time measurement@{Time measurement}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{BenchTime\_GetMax}{BenchTime\_GetMax}}
|
||||
{\footnotesize\ttfamily \label{group___b_e_n_c_h___t_i_m_e_gab8103362e89bad95d965ac668284065c}
|
||||
\#define Bench\+Time\+\_\+\+Get\+Max(\begin{DoxyParamCaption}\item[{}]{channel}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{0}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00245}{245}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
|
||||
|
||||
\Hypertarget{group___b_e_n_c_h___t_i_m_e_ga9f82f5ed8cfae31292dc3dca41471dd5}\index{Time measurement@{Time measurement}!BenchTime\_GetAverage@{BenchTime\_GetAverage}}
|
||||
\index{BenchTime\_GetAverage@{BenchTime\_GetAverage}!Time measurement@{Time measurement}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{BenchTime\_GetAverage}{BenchTime\_GetAverage}}
|
||||
{\footnotesize\ttfamily \label{group___b_e_n_c_h___t_i_m_e_ga9f82f5ed8cfae31292dc3dca41471dd5}
|
||||
\#define Bench\+Time\+\_\+\+Get\+Average(\begin{DoxyParamCaption}\item[{}]{channel}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{0}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00246}{246}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
|
||||
|
||||
\Hypertarget{group___b_e_n_c_h___t_i_m_e_gaafbca7155cfc97b68428da2b0b1200ef}\index{Time measurement@{Time measurement}!BenchTime\_GetCount@{BenchTime\_GetCount}}
|
||||
\index{BenchTime\_GetCount@{BenchTime\_GetCount}!Time measurement@{Time measurement}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{BenchTime\_GetCount}{BenchTime\_GetCount}}
|
||||
{\footnotesize\ttfamily \label{group___b_e_n_c_h___t_i_m_e_gaafbca7155cfc97b68428da2b0b1200ef}
|
||||
\#define Bench\+Time\+\_\+\+Get\+Count(\begin{DoxyParamCaption}\item[{}]{channel}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{0}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00247}{247}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
|
||||
|
||||
\Hypertarget{group___b_e_n_c_h___t_i_m_e_ga9911aa13a8fa67c35a261d1cb3dc11e7}\index{Time measurement@{Time measurement}!BenchTime\_GetLast@{BenchTime\_GetLast}}
|
||||
\index{BenchTime\_GetLast@{BenchTime\_GetLast}!Time measurement@{Time measurement}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{BenchTime\_GetLast}{BenchTime\_GetLast}}
|
||||
{\footnotesize\ttfamily \label{group___b_e_n_c_h___t_i_m_e_ga9911aa13a8fa67c35a261d1cb3dc11e7}
|
||||
\#define Bench\+Time\+\_\+\+Get\+Last(\begin{DoxyParamCaption}\item[{}]{channel}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{0}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00248}{248}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
|
||||
|
||||
\Hypertarget{group___b_e_n_c_h___t_i_m_e_ga09b9a6ef9b60605fc0015f6b379d8420}\index{Time measurement@{Time measurement}!BenchTime\_ResetStats@{BenchTime\_ResetStats}}
|
||||
\index{BenchTime\_ResetStats@{BenchTime\_ResetStats}!Time measurement@{Time measurement}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{BenchTime\_ResetStats}{BenchTime\_ResetStats}}
|
||||
{\footnotesize\ttfamily \label{group___b_e_n_c_h___t_i_m_e_ga09b9a6ef9b60605fc0015f6b379d8420}
|
||||
\#define Bench\+Time\+\_\+\+Reset\+Stats(\begin{DoxyParamCaption}\item[{}]{channel}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00249}{249}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
b15e6059b024c1bd57db4f03c04931dd
|
||||
Binary file not shown.
@@ -0,0 +1,202 @@
|
||||
\doxysubsubsection{Bit access defines }
|
||||
\hypertarget{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s}{}\label{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s}\index{Bit access defines@{Bit access defines}}
|
||||
|
||||
|
||||
Макросы и typedef\textquotesingle{}ы для работы с битами в unsigned типах.
|
||||
|
||||
|
||||
Collaboration diagram for Bit access defines\+:
|
||||
\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=288pt]{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsubsubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
union \mbox{\hyperlink{unionuint8___bit_type_def}{uint8\+\_\+\+Bit\+Type\+Def}}
|
||||
\item
|
||||
union \mbox{\hyperlink{unionuint16___bit_type_def}{uint16\+\_\+\+Bit\+Type\+Def}}
|
||||
\item
|
||||
union \mbox{\hyperlink{unionuint32___bit_type_def}{uint32\+\_\+\+Bit\+Type\+Def}}
|
||||
\item
|
||||
union \mbox{\hyperlink{unionuint64___bit_type_def}{uint64\+\_\+\+Bit\+Type\+Def}}
|
||||
\end{DoxyCompactItemize}
|
||||
\doxysubsubsubsubsection*{Macros}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga57dc3bb3472a66fc92312f89d42d2396}{uint8\+\_\+bit}}(\+\_\+uint8\+\_\+, \+\_\+bit\+\_\+)
|
||||
\begin{DoxyCompactList}\small\item\em Получить n-\/й бит из uint8\+\_\+t. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga6a122b536ad99ae611c8cf01437af086}{uint16\+\_\+bit}}(\+\_\+uint8\+\_\+, \+\_\+bit\+\_\+)
|
||||
\begin{DoxyCompactList}\small\item\em Получить n-\/й бит из uint16\+\_\+t. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_gafaa2080168b1b6f7281e8bfabab022d1}{uint32\+\_\+bit}}(\+\_\+uint8\+\_\+, \+\_\+bit\+\_\+)
|
||||
\begin{DoxyCompactList}\small\item\em Получить n-\/й бит из uint32\+\_\+t. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga47eb69ce9330a1c73fe8031240f02f0a}{uint64\+\_\+bit}}(\+\_\+uint8\+\_\+, \+\_\+bit\+\_\+)
|
||||
\begin{DoxyCompactList}\small\item\em Получить n-\/й бит из uint64\+\_\+t. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsubsubsection{Detailed Description}
|
||||
Макросы и typedef\textquotesingle{}ы для работы с битами в unsigned типах.
|
||||
|
||||
В этом файле определены макросы для получения значения конкретного бита\texorpdfstring{$^\wedge$}{\string^}
|
||||
\begin{DoxyItemize}
|
||||
\item \doxylink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga57dc3bb3472a66fc92312f89d42d2396}{uint8\+\_\+bit}
|
||||
\item \doxylink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga6a122b536ad99ae611c8cf01437af086}{uint16\+\_\+bit}
|
||||
\item \doxylink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_gafaa2080168b1b6f7281e8bfabab022d1}{uint32\+\_\+bit}
|
||||
\item \doxylink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga47eb69ce9330a1c73fe8031240f02f0a}{uint64\+\_\+bit}
|
||||
\end{DoxyItemize}
|
||||
|
||||
Особенности использования\+:
|
||||
\begin{DoxyItemize}
|
||||
\item Индекс бита должен быть {\bfseries{константой на этапе компиляции}}. Пример верного использования\+:
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{uint8\_t\ val\ =\ 0x05;}
|
||||
\DoxyCodeLine{uint8\_t\ b2\ =\ \mbox{\hyperlink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga57dc3bb3472a66fc92312f89d42d2396}{uint8\_bit}}(val,\ 2);\ \textcolor{comment}{//\ Получить\ бит\ 2}}
|
||||
\DoxyCodeLine{\mbox{\hyperlink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga57dc3bb3472a66fc92312f89d42d2396}{uint8\_bit}}(val,\ 6)\ =\ 1;\ \textcolor{comment}{//\ Записать\ бит\ 6}}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
\item Нельзя использовать переменные в качестве индекса\+:
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{uint8\_t\ i\ =\ 2;}
|
||||
\DoxyCodeLine{\mbox{\hyperlink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga57dc3bb3472a66fc92312f89d42d2396}{uint8\_bit}}(val,\ i);\ \textcolor{comment}{//\ Не\ сработает!}}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
\item Макросы возвращают 0 или 1.
|
||||
\item Доступ реализован через приведение к {\ttfamily union} с битовыми полями, поэтому это безопасный способ работы с отдельными битами без ручного сдвига и маскирования.
|
||||
\end{DoxyItemize}
|
||||
|
||||
\label{doc-define-members}
|
||||
\Hypertarget{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_doc-define-members}
|
||||
\doxysubsubsubsection{Macro Definition Documentation}
|
||||
\Hypertarget{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga57dc3bb3472a66fc92312f89d42d2396}\index{Bit access defines@{Bit access defines}!uint8\_bit@{uint8\_bit}}
|
||||
\index{uint8\_bit@{uint8\_bit}!Bit access defines@{Bit access defines}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{uint8\_bit}{uint8\_bit}}
|
||||
{\footnotesize\ttfamily \label{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga57dc3bb3472a66fc92312f89d42d2396}
|
||||
\#define uint8\+\_\+bit(\begin{DoxyParamCaption}\item[{}]{\+\_\+uint8\+\_\+}{, }\item[{}]{\+\_\+bit\+\_\+}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{(*(\mbox{\hyperlink{unionuint8___bit_type_def}{uint8\_BitTypeDef}}\ *)(\&(\_uint8\_))).bit.bit\#\#\_bit\_}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Получить n-\/й бит из uint8\+\_\+t.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em \+\_\+uint8\+\_\+} & Переменная типа uint8\+\_\+t \\
|
||||
\hline
|
||||
{\em \+\_\+bit\+\_\+} & Константный номер бита (0..7) \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Значение выбранного бита (0 или 1)
|
||||
\end{DoxyReturn}
|
||||
\begin{DoxyNote}{Note}
|
||||
Индекс бита должен быть известен на этапе компиляции!
|
||||
\end{DoxyNote}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{bit__access_8h_source_l00129}{129}} of file \mbox{\hyperlink{bit__access_8h_source}{bit\+\_\+access.\+h}}.
|
||||
|
||||
\Hypertarget{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga6a122b536ad99ae611c8cf01437af086}\index{Bit access defines@{Bit access defines}!uint16\_bit@{uint16\_bit}}
|
||||
\index{uint16\_bit@{uint16\_bit}!Bit access defines@{Bit access defines}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{uint16\_bit}{uint16\_bit}}
|
||||
{\footnotesize\ttfamily \label{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga6a122b536ad99ae611c8cf01437af086}
|
||||
\#define uint16\+\_\+bit(\begin{DoxyParamCaption}\item[{}]{\+\_\+uint8\+\_\+}{, }\item[{}]{\+\_\+bit\+\_\+}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{(*(\mbox{\hyperlink{unionuint16___bit_type_def}{uint16\_BitTypeDef}}\ *)(\&(\_uint8\_))).bit.bit\#\#\_bit\_}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Получить n-\/й бит из uint16\+\_\+t.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em \+\_\+uint16\+\_\+} & Переменная типа uint16\+\_\+t \\
|
||||
\hline
|
||||
{\em \+\_\+bit\+\_\+} & Константный номер бита (0..15) \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Значение выбранного бита (0 или 1)
|
||||
\end{DoxyReturn}
|
||||
\begin{DoxyNote}{Note}
|
||||
Индекс бита должен быть известен на этапе компиляции!
|
||||
\end{DoxyNote}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{bit__access_8h_source_l00137}{137}} of file \mbox{\hyperlink{bit__access_8h_source}{bit\+\_\+access.\+h}}.
|
||||
|
||||
\Hypertarget{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_gafaa2080168b1b6f7281e8bfabab022d1}\index{Bit access defines@{Bit access defines}!uint32\_bit@{uint32\_bit}}
|
||||
\index{uint32\_bit@{uint32\_bit}!Bit access defines@{Bit access defines}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{uint32\_bit}{uint32\_bit}}
|
||||
{\footnotesize\ttfamily \label{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_gafaa2080168b1b6f7281e8bfabab022d1}
|
||||
\#define uint32\+\_\+bit(\begin{DoxyParamCaption}\item[{}]{\+\_\+uint8\+\_\+}{, }\item[{}]{\+\_\+bit\+\_\+}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{(*(\mbox{\hyperlink{unionuint32___bit_type_def}{uint32\_BitTypeDef}}\ *)(\&(\_uint8\_))).bit.bit\#\#\_bit\_}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Получить n-\/й бит из uint32\+\_\+t.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em \+\_\+uint32\+\_\+} & Переменная типа uint32\+\_\+t \\
|
||||
\hline
|
||||
{\em \+\_\+bit\+\_\+} & Константный номер бита (0..31) \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Значение выбранного бита (0 или 1)
|
||||
\end{DoxyReturn}
|
||||
\begin{DoxyNote}{Note}
|
||||
Индекс бита должен быть известен на этапе компиляции!
|
||||
\end{DoxyNote}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{bit__access_8h_source_l00145}{145}} of file \mbox{\hyperlink{bit__access_8h_source}{bit\+\_\+access.\+h}}.
|
||||
|
||||
\Hypertarget{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga47eb69ce9330a1c73fe8031240f02f0a}\index{Bit access defines@{Bit access defines}!uint64\_bit@{uint64\_bit}}
|
||||
\index{uint64\_bit@{uint64\_bit}!Bit access defines@{Bit access defines}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{uint64\_bit}{uint64\_bit}}
|
||||
{\footnotesize\ttfamily \label{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s_ga47eb69ce9330a1c73fe8031240f02f0a}
|
||||
\#define uint64\+\_\+bit(\begin{DoxyParamCaption}\item[{}]{\+\_\+uint8\+\_\+}{, }\item[{}]{\+\_\+bit\+\_\+}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{(*(\mbox{\hyperlink{unionuint64___bit_type_def}{uint64\_BitTypeDef}}\ *)(\&(\_uint8\_))).bit.bit\#\#\_bit\_}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Получить n-\/й бит из uint64\+\_\+t.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em \+\_\+uint64\+\_\+} & Переменная типа uint64\+\_\+t \\
|
||||
\hline
|
||||
{\em \+\_\+bit\+\_\+} & Константный номер бита (0..63) \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Значение выбранного бита (0 или 1)
|
||||
\end{DoxyReturn}
|
||||
\begin{DoxyNote}{Note}
|
||||
Индекс бита должен быть известен на этапе компиляции!
|
||||
\end{DoxyNote}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{bit__access_8h_source_l00153}{153}} of file \mbox{\hyperlink{bit__access_8h_source}{bit\+\_\+access.\+h}}.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
9bb1fbf15e0d245a5219c269dfcf886b
|
||||
BIN
AllLibs/MyLibs/Doc/latex/group___d_e_l_a_y_s___d_e_f_i_n_e_s.pdf
Normal file
BIN
AllLibs/MyLibs/Doc/latex/group___d_e_l_a_y_s___d_e_f_i_n_e_s.pdf
Normal file
Binary file not shown.
178
AllLibs/MyLibs/Doc/latex/group___d_e_l_a_y_s___d_e_f_i_n_e_s.tex
Normal file
178
AllLibs/MyLibs/Doc/latex/group___d_e_l_a_y_s___d_e_f_i_n_e_s.tex
Normal file
@@ -0,0 +1,178 @@
|
||||
\doxysubsubsection{Delays defines }
|
||||
\hypertarget{group___d_e_l_a_y_s___d_e_f_i_n_e_s}{}\label{group___d_e_l_a_y_s___d_e_f_i_n_e_s}\index{Delays defines@{Delays defines}}
|
||||
|
||||
|
||||
Макросы и определения для работы с задержками в миллисекундах.
|
||||
|
||||
|
||||
Collaboration diagram for Delays defines\+:
|
||||
\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=273pt]{group___d_e_l_a_y_s___d_e_f_i_n_e_s}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsubsubsection*{Macros}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___d_e_l_a_y_s___d_e_f_i_n_e_s_gabeb97579daeb622c6651ed03c4a27479}{ms\+Delay}}(\+\_\+ms\+\_\+)
|
||||
\begin{DoxyCompactList}\small\item\em Блокирующая задержка на указанное количество миллисекунд. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___d_e_l_a_y_s___d_e_f_i_n_e_s_ga8a5051b1292d1019fe8dd3fc5521ab25}{ms\+Delay\+Start}}(\+\_\+pvar\+\_\+)
|
||||
\begin{DoxyCompactList}\small\item\em Начать отсчет задержки. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___d_e_l_a_y_s___d_e_f_i_n_e_s_ga0b97e172659a59ee4fa56f851643ae85}{ms\+Delay\+While\+Active}}(\+\_\+ms\+\_\+, \+\_\+pvar\+\_\+)
|
||||
\begin{DoxyCompactList}\small\item\em Проверяет, активна ли задержка. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___d_e_l_a_y_s___d_e_f_i_n_e_s_gaed082c07b9fc4d1894330d885b9b5518}{ms\+Delay\+Wait\+Done}}(\+\_\+ms\+\_\+, \+\_\+pvar\+\_\+)
|
||||
\begin{DoxyCompactList}\small\item\em Проверяет, завершилась ли задержка. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsubsubsection{Detailed Description}
|
||||
Макросы и определения для работы с задержками в миллисекундах.
|
||||
|
||||
Этот блок содержит макросы для реализации задержек с использованием HAL или Free\+RTOS\+:
|
||||
\begin{DoxyItemize}
|
||||
\item \doxylink{group___d_e_l_a_y_s___d_e_f_i_n_e_s_gabeb97579daeb622c6651ed03c4a27479}{ms\+Delay} — простая задержка заданной длительности;
|
||||
\item \doxylink{group___d_e_l_a_y_s___d_e_f_i_n_e_s_ga8a5051b1292d1019fe8dd3fc5521ab25}{ms\+Delay\+Start} — сохранение текущего времени начала задержки;
|
||||
\item \doxylink{group___d_e_l_a_y_s___d_e_f_i_n_e_s_ga0b97e172659a59ee4fa56f851643ae85}{ms\+Delay\+While\+Active} — проверка, активна ли задержка;
|
||||
\item \doxylink{group___d_e_l_a_y_s___d_e_f_i_n_e_s_gaed082c07b9fc4d1894330d885b9b5518}{ms\+Delay\+Wait\+Done} — проверка, завершена ли задержка. Эти макросы удобны для реализации неблокирующих задержек.
|
||||
\end{DoxyItemize}
|
||||
|
||||
\label{doc-define-members}
|
||||
\Hypertarget{group___d_e_l_a_y_s___d_e_f_i_n_e_s_doc-define-members}
|
||||
\doxysubsubsubsection{Macro Definition Documentation}
|
||||
\Hypertarget{group___d_e_l_a_y_s___d_e_f_i_n_e_s_gabeb97579daeb622c6651ed03c4a27479}\index{Delays defines@{Delays defines}!msDelay@{msDelay}}
|
||||
\index{msDelay@{msDelay}!Delays defines@{Delays defines}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{msDelay}{msDelay}}
|
||||
{\footnotesize\ttfamily \label{group___d_e_l_a_y_s___d_e_f_i_n_e_s_gabeb97579daeb622c6651ed03c4a27479}
|
||||
\#define ms\+Delay(\begin{DoxyParamCaption}\item[{}]{\+\_\+ms\+\_\+}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{keywordflow}{do}\ \{\ \(\backslash\)}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ uint32\_t\ \_start\_\ =\ \mbox{\hyperlink{group___t_r_a_c_e___s_e_r_i_a_l_ga9c853b02c22f26023c34d1d404b6d653}{local\_time}}();\ \(\backslash\)}
|
||||
\DoxyCodeLine{\ \ \ \ \ \ \ \ while\ (\mbox{\hyperlink{group___t_r_a_c_e___s_e_r_i_a_l_ga9c853b02c22f26023c34d1d404b6d653}{local\_time}}()\ -\/\ \_start\_\ <\ (\_ms\_))\ \{\}\ \(\backslash\)}
|
||||
\DoxyCodeLine{\ \ \ \ \}\ \textcolor{keywordflow}{while}(0)}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Блокирующая задержка на указанное количество миллисекунд.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em \+\_\+ms\+\_\+} & Время задержки в миллисекундах. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyNote}{Note}
|
||||
Использует задержку через \doxylink{group___t_r_a_c_e___s_e_r_i_a_l_ga9c853b02c22f26023c34d1d404b6d653}{local\+\_\+time} или os\+Delay в зависимости от \doxylink{group___l_i_b_s___c_o_n_f_i_g_ga57c369737d5c0cfdb7baeecba0a4b151}{FREERTOS\+\_\+\+DELAY}.
|
||||
\end{DoxyNote}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00097}{97}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
|
||||
|
||||
\Hypertarget{group___d_e_l_a_y_s___d_e_f_i_n_e_s_ga8a5051b1292d1019fe8dd3fc5521ab25}\index{Delays defines@{Delays defines}!msDelayStart@{msDelayStart}}
|
||||
\index{msDelayStart@{msDelayStart}!Delays defines@{Delays defines}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{msDelayStart}{msDelayStart}}
|
||||
{\footnotesize\ttfamily \label{group___d_e_l_a_y_s___d_e_f_i_n_e_s_ga8a5051b1292d1019fe8dd3fc5521ab25}
|
||||
\#define ms\+Delay\+Start(\begin{DoxyParamCaption}\item[{}]{\+\_\+pvar\+\_\+}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{*(\_pvar\_)\ =\ \mbox{\hyperlink{group___t_r_a_c_e___s_e_r_i_a_l_ga9c853b02c22f26023c34d1d404b6d653}{local\_time}}()}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Начать отсчет задержки.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em \+\_\+pvar\+\_\+} & Указатель на переменную типа uint32\+\_\+t для хранения времени старта.\\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
После вызова этого макроса переменная {\itshape pvar} содержит текущее количество миллисекунд с момента запуска системы (\doxylink{group___t_r_a_c_e___s_e_r_i_a_l_ga9c853b02c22f26023c34d1d404b6d653}{local\+\_\+time}).
|
||||
|
||||
Используется для реализации неблокирующих задержек.
|
||||
|
||||
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00113}{113}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
|
||||
|
||||
\Hypertarget{group___d_e_l_a_y_s___d_e_f_i_n_e_s_ga0b97e172659a59ee4fa56f851643ae85}\index{Delays defines@{Delays defines}!msDelayWhileActive@{msDelayWhileActive}}
|
||||
\index{msDelayWhileActive@{msDelayWhileActive}!Delays defines@{Delays defines}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{msDelayWhileActive}{msDelayWhileActive}}
|
||||
{\footnotesize\ttfamily \label{group___d_e_l_a_y_s___d_e_f_i_n_e_s_ga0b97e172659a59ee4fa56f851643ae85}
|
||||
\#define ms\+Delay\+While\+Active(\begin{DoxyParamCaption}\item[{}]{\+\_\+ms\+\_\+}{, }\item[{}]{\+\_\+pvar\+\_\+}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{(\mbox{\hyperlink{group___t_r_a_c_e___s_e_r_i_a_l_ga9c853b02c22f26023c34d1d404b6d653}{local\_time}}()\ -\/\ *(\_pvar\_)\ <\ \_ms\_)}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Проверяет, активна ли задержка.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em \+\_\+ms\+\_\+} & Длительность задержки в миллисекундах. \\
|
||||
\hline
|
||||
{\em \+\_\+pvar\+\_\+} & Указатель на переменную, в которой сохранено время начала (\doxylink{group___d_e_l_a_y_s___d_e_f_i_n_e_s_ga8a5051b1292d1019fe8dd3fc5521ab25}{ms\+Delay\+Start}). \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
|
||||
\begin{DoxyRetVals}{Return values}
|
||||
{\em 1} & Задержка еще активна. \\
|
||||
\hline
|
||||
{\em 0} & Задержка завершена.\\
|
||||
\hline
|
||||
\end{DoxyRetVals}
|
||||
Возвращает true, пока время задержки не истекло. Используется в проверках, когда нужно {\bfseries{действовать, пока задержка выполняется}}. Пример\+:
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\textcolor{keywordflow}{while}(\mbox{\hyperlink{group___d_e_l_a_y_s___d_e_f_i_n_e_s_ga0b97e172659a59ee4fa56f851643ae85}{msDelayWhileActive}}(1000,\ \&tick))\ \{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ выполняем\ другие\ задачи,\ задержка\ не\ блокирует\ поток}}
|
||||
\DoxyCodeLine{\}}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00130}{130}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
|
||||
|
||||
\Hypertarget{group___d_e_l_a_y_s___d_e_f_i_n_e_s_gaed082c07b9fc4d1894330d885b9b5518}\index{Delays defines@{Delays defines}!msDelayWaitDone@{msDelayWaitDone}}
|
||||
\index{msDelayWaitDone@{msDelayWaitDone}!Delays defines@{Delays defines}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{msDelayWaitDone}{msDelayWaitDone}}
|
||||
{\footnotesize\ttfamily \label{group___d_e_l_a_y_s___d_e_f_i_n_e_s_gaed082c07b9fc4d1894330d885b9b5518}
|
||||
\#define ms\+Delay\+Wait\+Done(\begin{DoxyParamCaption}\item[{}]{\+\_\+ms\+\_\+}{, }\item[{}]{\+\_\+pvar\+\_\+}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{(\mbox{\hyperlink{group___t_r_a_c_e___s_e_r_i_a_l_ga9c853b02c22f26023c34d1d404b6d653}{local\_time}}()\ -\/\ *(\_pvar\_)\ >=\ \_ms\_)}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Проверяет, завершилась ли задержка.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em \+\_\+ms\+\_\+} & Длительность задержки в миллисекундах. \\
|
||||
\hline
|
||||
{\em \+\_\+pvar\+\_\+} & Указатель на переменную, в которой сохранено время начала (ms\+Delay\+Start). \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
|
||||
\begin{DoxyRetVals}{Return values}
|
||||
{\em 1} & Задержка завершена. \\
|
||||
\hline
|
||||
{\em 0} & Задержка еще активна.\\
|
||||
\hline
|
||||
\end{DoxyRetVals}
|
||||
Возвращает true, когда задержка уже завершена. Используется в проверках, когда нужно {\bfseries{выполнить действие только после окончания задержки}}. Пример\+:
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\textcolor{keywordflow}{if}(\mbox{\hyperlink{group___d_e_l_a_y_s___d_e_f_i_n_e_s_gaed082c07b9fc4d1894330d885b9b5518}{msDelayWaitDone}}(1000,\ \&tick))\ \{}
|
||||
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ выполняем\ действие\ после\ завершения\ задержки}}
|
||||
\DoxyCodeLine{\}}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00147}{147}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
48759eae8e94aea68fae58ca8d91b5d1
|
||||
Binary file not shown.
@@ -0,0 +1,160 @@
|
||||
\doxysubsubsection{Error Handler defines }
|
||||
\hypertarget{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s}{}\label{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s}\index{Error Handler defines@{Error Handler defines}}
|
||||
|
||||
|
||||
Дефайны для обработки ошибок
|
||||
|
||||
|
||||
Collaboration diagram for Error Handler defines\+:
|
||||
\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=300pt]{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsubsubsection*{Macros}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_gae110df81afd885a390bbeb152d7b709f}{My\+Libs\+\_\+\+Error\+\_\+\+Handler}}(params)
|
||||
\begin{DoxyCompactList}\small\item\em Error\+\_\+\+Handler который будет вызыватся в библиотеке \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_ga5d066a5b9781f9437e75d98677489eb9}{check\+\_\+null\+\_\+ptr\+\_\+1}}(p1)
|
||||
\begin{DoxyCompactList}\small\item\em Проверить один указатель на NULL. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_ga27b363f333cacdccc15f5174e096b5b3}{check\+\_\+null\+\_\+ptr\+\_\+2}}(p1, p2)
|
||||
\begin{DoxyCompactList}\small\item\em Проверить два указателя на NULL. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_ga838b40542faa9aa273d18f921b21fda2}{check\+\_\+null\+\_\+ptr\+\_\+3}}(p1, p2, p3)
|
||||
\begin{DoxyCompactList}\small\item\em Проверить три указателя на NULL. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_ga590973be111afc3f9ba15e6939530254}{check\+\_\+null\+\_\+ptr\+\_\+4}}(p1, p2, p3, p4)
|
||||
\begin{DoxyCompactList}\small\item\em Проверить четыре указателя на NULL. \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_gaab0aafd7a4a21ec4f338b19269f65490}{check\+\_\+null\+\_\+ptr\+\_\+5}}(p1, p2, p3, p4, p5)
|
||||
\begin{DoxyCompactList}\small\item\em Проверить пять указателей на NULL. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
\doxysubsubsubsubsection*{Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\Hypertarget{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_ga1730ffe1e560465665eb47d9264826f9}\label{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_ga1730ffe1e560465665eb47d9264826f9}
|
||||
void {\bfseries Error\+\_\+\+Handler} (void)
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsubsubsection{Detailed Description}
|
||||
Дефайны для обработки ошибок
|
||||
|
||||
|
||||
|
||||
\label{doc-define-members}
|
||||
\Hypertarget{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_doc-define-members}
|
||||
\doxysubsubsubsection{Macro Definition Documentation}
|
||||
\Hypertarget{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_gae110df81afd885a390bbeb152d7b709f}\index{Error Handler defines@{Error Handler defines}!MyLibs\_Error\_Handler@{MyLibs\_Error\_Handler}}
|
||||
\index{MyLibs\_Error\_Handler@{MyLibs\_Error\_Handler}!Error Handler defines@{Error Handler defines}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{MyLibs\_Error\_Handler}{MyLibs\_Error\_Handler}}
|
||||
{\footnotesize\ttfamily \label{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_gae110df81afd885a390bbeb152d7b709f}
|
||||
\#define My\+Libs\+\_\+\+Error\+\_\+\+Handler(\begin{DoxyParamCaption}\item[{}]{params}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{Error\_Handler(params)}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Error\+\_\+\+Handler который будет вызыватся в библиотеке
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00046}{46}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
|
||||
|
||||
\Hypertarget{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_ga5d066a5b9781f9437e75d98677489eb9}\index{Error Handler defines@{Error Handler defines}!check\_null\_ptr\_1@{check\_null\_ptr\_1}}
|
||||
\index{check\_null\_ptr\_1@{check\_null\_ptr\_1}!Error Handler defines@{Error Handler defines}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{check\_null\_ptr\_1}{check\_null\_ptr\_1}}
|
||||
{\footnotesize\ttfamily \label{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_ga5d066a5b9781f9437e75d98677489eb9}
|
||||
\#define check\+\_\+null\+\_\+ptr\+\_\+1(\begin{DoxyParamCaption}\item[{}]{p1}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{(p1\ ==\ NULL)}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Проверить один указатель на NULL.
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00053}{53}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
|
||||
|
||||
\Hypertarget{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_ga27b363f333cacdccc15f5174e096b5b3}\index{Error Handler defines@{Error Handler defines}!check\_null\_ptr\_2@{check\_null\_ptr\_2}}
|
||||
\index{check\_null\_ptr\_2@{check\_null\_ptr\_2}!Error Handler defines@{Error Handler defines}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{check\_null\_ptr\_2}{check\_null\_ptr\_2}}
|
||||
{\footnotesize\ttfamily \label{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_ga27b363f333cacdccc15f5174e096b5b3}
|
||||
\#define check\+\_\+null\+\_\+ptr\+\_\+2(\begin{DoxyParamCaption}\item[{}]{p1}{, }\item[{}]{p2}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{((p1\ ==\ NULL)\ ||\ (p1\ !=\ NULL\ \&\&\ p2\ ==\ NULL))}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Проверить два указателя на NULL.
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00056}{56}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
|
||||
|
||||
\Hypertarget{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_ga838b40542faa9aa273d18f921b21fda2}\index{Error Handler defines@{Error Handler defines}!check\_null\_ptr\_3@{check\_null\_ptr\_3}}
|
||||
\index{check\_null\_ptr\_3@{check\_null\_ptr\_3}!Error Handler defines@{Error Handler defines}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{check\_null\_ptr\_3}{check\_null\_ptr\_3}}
|
||||
{\footnotesize\ttfamily \label{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_ga838b40542faa9aa273d18f921b21fda2}
|
||||
\#define check\+\_\+null\+\_\+ptr\+\_\+3(\begin{DoxyParamCaption}\item[{}]{p1}{, }\item[{}]{p2}{, }\item[{}]{p3}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{((p1\ ==\ NULL)\ ||\ (p1\ !=\ NULL\ \&\&\ ((p2\ ==\ NULL)\ ||\ (p2\ !=\ NULL\ \&\&\ p3\ ==\ NULL))))}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Проверить три указателя на NULL.
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00059}{59}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
|
||||
|
||||
\Hypertarget{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_ga590973be111afc3f9ba15e6939530254}\index{Error Handler defines@{Error Handler defines}!check\_null\_ptr\_4@{check\_null\_ptr\_4}}
|
||||
\index{check\_null\_ptr\_4@{check\_null\_ptr\_4}!Error Handler defines@{Error Handler defines}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{check\_null\_ptr\_4}{check\_null\_ptr\_4}}
|
||||
{\footnotesize\ttfamily \label{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_ga590973be111afc3f9ba15e6939530254}
|
||||
\#define check\+\_\+null\+\_\+ptr\+\_\+4(\begin{DoxyParamCaption}\item[{}]{p1}{, }\item[{}]{p2}{, }\item[{}]{p3}{, }\item[{}]{p4}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{((p1\ ==\ NULL)\ ||\ (p1\ !=\ NULL\ \&\&\ ((p2\ ==\ NULL)\ ||\ (p2\ !=\ NULL\ \&\&\ ((p3\ ==\ NULL)\ ||\ (p3\ !=\ NULL\ \&\&\ p4\ ==\ NULL))))))}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Проверить четыре указателя на NULL.
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00062}{62}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
|
||||
|
||||
\Hypertarget{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_gaab0aafd7a4a21ec4f338b19269f65490}\index{Error Handler defines@{Error Handler defines}!check\_null\_ptr\_5@{check\_null\_ptr\_5}}
|
||||
\index{check\_null\_ptr\_5@{check\_null\_ptr\_5}!Error Handler defines@{Error Handler defines}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{check\_null\_ptr\_5}{check\_null\_ptr\_5}}
|
||||
{\footnotesize\ttfamily \label{group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_gaab0aafd7a4a21ec4f338b19269f65490}
|
||||
\#define check\+\_\+null\+\_\+ptr\+\_\+5(\begin{DoxyParamCaption}\item[{}]{p1}{, }\item[{}]{p2}{, }\item[{}]{p3}{, }\item[{}]{p4}{, }\item[{}]{p5}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{((p1\ ==\ NULL)\ ||\ (p1\ !=\ NULL\ \&\&\ ((p2\ ==\ NULL)\ ||\ (p2\ !=\ NULL\ \&\&\ ((p3\ ==\ NULL)\ ||\ (p3\ !=\ NULL\ \&\&\ ((p4\ ==\ NULL)\ ||\ (p4\ !=\ NULL\ \&\&\ p5\ ==\ NULL))))))))}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Проверить пять указателей на NULL.
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00065}{65}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
|
||||
|
||||
1
AllLibs/MyLibs/Doc/latex/group___g_e_n___c_o_n_f_i_g.md5
Normal file
1
AllLibs/MyLibs/Doc/latex/group___g_e_n___c_o_n_f_i_g.md5
Normal file
@@ -0,0 +1 @@
|
||||
5f0295c96943053471a3de806e4b1afd
|
||||
BIN
AllLibs/MyLibs/Doc/latex/group___g_e_n___c_o_n_f_i_g.pdf
Normal file
BIN
AllLibs/MyLibs/Doc/latex/group___g_e_n___c_o_n_f_i_g.pdf
Normal file
Binary file not shown.
108
AllLibs/MyLibs/Doc/latex/group___g_e_n___c_o_n_f_i_g.tex
Normal file
108
AllLibs/MyLibs/Doc/latex/group___g_e_n___c_o_n_f_i_g.tex
Normal file
@@ -0,0 +1,108 @@
|
||||
\doxysubsubsection{Genetic configs }
|
||||
\hypertarget{group___g_e_n___c_o_n_f_i_g}{}\label{group___g_e_n___c_o_n_f_i_g}\index{Genetic configs@{Genetic configs}}
|
||||
|
||||
|
||||
Конфигурация генетического алгоритма обучения
|
||||
|
||||
|
||||
Collaboration diagram for Genetic configs\+:
|
||||
\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=250pt]{group___g_e_n___c_o_n_f_i_g}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsubsubsection*{Macros}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_gae6d1db3c0b21f67cb0db2673d207b62c}{GEN\+\_\+\+OPTIMIZATION\+\_\+\+ENABLE}}
|
||||
\begin{DoxyCompactList}\small\item\em Включить оптимизацию параметров \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga8daf4b266a95353d580bd7946f47c0ab}{GEN\+\_\+\+MAX\+\_\+\+PARAMS}}~20
|
||||
\begin{DoxyCompactList}\small\item\em Максимальное количество параметров \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga201cffde04ebc6540869c74bd1dae869}{GEN\+\_\+\+MAX\+\_\+\+CANDIDATES}}~100
|
||||
\begin{DoxyCompactList}\small\item\em Максимальное количество кандидатов для обучения \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga67c3c54503b9bbd5d175ac46d37866d9}{BENCH\+\_\+\+TIME\+\_\+\+ENABLE}}
|
||||
\begin{DoxyCompactList}\small\item\em Включить бенч времени \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___g_e_n___c_o_n_f_i_g_ga74fdf777ceefa5e7d67120fbda4cde52}{BENCH\+\_\+\+TIME\+\_\+\+MAX\+\_\+\+CHANNELS}}~16
|
||||
\begin{DoxyCompactList}\small\item\em Максимальное количество каналов измерения \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsubsubsection{Detailed Description}
|
||||
Конфигурация генетического алгоритма обучения
|
||||
|
||||
|
||||
|
||||
\label{doc-define-members}
|
||||
\Hypertarget{group___g_e_n___c_o_n_f_i_g_doc-define-members}
|
||||
\doxysubsubsubsection{Macro Definition Documentation}
|
||||
\Hypertarget{group___g_e_n___c_o_n_f_i_g_gae6d1db3c0b21f67cb0db2673d207b62c}\index{Genetic configs@{Genetic configs}!GEN\_OPTIMIZATION\_ENABLE@{GEN\_OPTIMIZATION\_ENABLE}}
|
||||
\index{GEN\_OPTIMIZATION\_ENABLE@{GEN\_OPTIMIZATION\_ENABLE}!Genetic configs@{Genetic configs}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{GEN\_OPTIMIZATION\_ENABLE}{GEN\_OPTIMIZATION\_ENABLE}}
|
||||
{\footnotesize\ttfamily \label{group___g_e_n___c_o_n_f_i_g_gae6d1db3c0b21f67cb0db2673d207b62c}
|
||||
\#define GEN\+\_\+\+OPTIMIZATION\+\_\+\+ENABLE}
|
||||
|
||||
|
||||
|
||||
Включить оптимизацию параметров
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{____mylibs__config_8h_source_l00064}{64}} of file \mbox{\hyperlink{____mylibs__config_8h_source}{\+\_\+\+\_\+mylibs\+\_\+config.\+h}}.
|
||||
|
||||
\Hypertarget{group___g_e_n___c_o_n_f_i_g_ga8daf4b266a95353d580bd7946f47c0ab}\index{Genetic configs@{Genetic configs}!GEN\_MAX\_PARAMS@{GEN\_MAX\_PARAMS}}
|
||||
\index{GEN\_MAX\_PARAMS@{GEN\_MAX\_PARAMS}!Genetic configs@{Genetic configs}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{GEN\_MAX\_PARAMS}{GEN\_MAX\_PARAMS}}
|
||||
{\footnotesize\ttfamily \label{group___g_e_n___c_o_n_f_i_g_ga8daf4b266a95353d580bd7946f47c0ab}
|
||||
\#define GEN\+\_\+\+MAX\+\_\+\+PARAMS~20}
|
||||
|
||||
|
||||
|
||||
Максимальное количество параметров
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{____mylibs__config_8h_source_l00065}{65}} of file \mbox{\hyperlink{____mylibs__config_8h_source}{\+\_\+\+\_\+mylibs\+\_\+config.\+h}}.
|
||||
|
||||
\Hypertarget{group___g_e_n___c_o_n_f_i_g_ga201cffde04ebc6540869c74bd1dae869}\index{Genetic configs@{Genetic configs}!GEN\_MAX\_CANDIDATES@{GEN\_MAX\_CANDIDATES}}
|
||||
\index{GEN\_MAX\_CANDIDATES@{GEN\_MAX\_CANDIDATES}!Genetic configs@{Genetic configs}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{GEN\_MAX\_CANDIDATES}{GEN\_MAX\_CANDIDATES}}
|
||||
{\footnotesize\ttfamily \label{group___g_e_n___c_o_n_f_i_g_ga201cffde04ebc6540869c74bd1dae869}
|
||||
\#define GEN\+\_\+\+MAX\+\_\+\+CANDIDATES~100}
|
||||
|
||||
|
||||
|
||||
Максимальное количество кандидатов для обучения
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{____mylibs__config_8h_source_l00066}{66}} of file \mbox{\hyperlink{____mylibs__config_8h_source}{\+\_\+\+\_\+mylibs\+\_\+config.\+h}}.
|
||||
|
||||
\Hypertarget{group___g_e_n___c_o_n_f_i_g_ga67c3c54503b9bbd5d175ac46d37866d9}\index{Genetic configs@{Genetic configs}!BENCH\_TIME\_ENABLE@{BENCH\_TIME\_ENABLE}}
|
||||
\index{BENCH\_TIME\_ENABLE@{BENCH\_TIME\_ENABLE}!Genetic configs@{Genetic configs}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{BENCH\_TIME\_ENABLE}{BENCH\_TIME\_ENABLE}}
|
||||
{\footnotesize\ttfamily \label{group___g_e_n___c_o_n_f_i_g_ga67c3c54503b9bbd5d175ac46d37866d9}
|
||||
\#define BENCH\+\_\+\+TIME\+\_\+\+ENABLE}
|
||||
|
||||
|
||||
|
||||
Включить бенч времени
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{____mylibs__config_8h_source_l00081}{81}} of file \mbox{\hyperlink{____mylibs__config_8h_source}{\+\_\+\+\_\+mylibs\+\_\+config.\+h}}.
|
||||
|
||||
\Hypertarget{group___g_e_n___c_o_n_f_i_g_ga74fdf777ceefa5e7d67120fbda4cde52}\index{Genetic configs@{Genetic configs}!BENCH\_TIME\_MAX\_CHANNELS@{BENCH\_TIME\_MAX\_CHANNELS}}
|
||||
\index{BENCH\_TIME\_MAX\_CHANNELS@{BENCH\_TIME\_MAX\_CHANNELS}!Genetic configs@{Genetic configs}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{BENCH\_TIME\_MAX\_CHANNELS}{BENCH\_TIME\_MAX\_CHANNELS}}
|
||||
{\footnotesize\ttfamily \label{group___g_e_n___c_o_n_f_i_g_ga74fdf777ceefa5e7d67120fbda4cde52}
|
||||
\#define BENCH\+\_\+\+TIME\+\_\+\+MAX\+\_\+\+CHANNELS~16}
|
||||
|
||||
|
||||
|
||||
Максимальное количество каналов измерения
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{____mylibs__config_8h_source_l00082}{82}} of file \mbox{\hyperlink{____mylibs__config_8h_source}{\+\_\+\+\_\+mylibs\+\_\+config.\+h}}.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
117f38e130c123102c33539947be2ce0
|
||||
BIN
AllLibs/MyLibs/Doc/latex/group___g_e_n___o_p_t_i_m_i_z_e_r.pdf
Normal file
BIN
AllLibs/MyLibs/Doc/latex/group___g_e_n___o_p_t_i_m_i_z_e_r.pdf
Normal file
Binary file not shown.
146
AllLibs/MyLibs/Doc/latex/group___g_e_n___o_p_t_i_m_i_z_e_r.tex
Normal file
146
AllLibs/MyLibs/Doc/latex/group___g_e_n___o_p_t_i_m_i_z_e_r.tex
Normal file
@@ -0,0 +1,146 @@
|
||||
\doxysubsubsection{Genetic optimizer }
|
||||
\hypertarget{group___g_e_n___o_p_t_i_m_i_z_e_r}{}\label{group___g_e_n___o_p_t_i_m_i_z_e_r}\index{Genetic optimizer@{Genetic optimizer}}
|
||||
|
||||
|
||||
Библиотека для эволюционного подбора параметров
|
||||
|
||||
|
||||
Collaboration diagram for Genetic optimizer\+:
|
||||
\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=279pt]{group___g_e_n___o_p_t_i_m_i_z_e_r}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsubsubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
struct \mbox{\hyperlink{struct_gen_optimizer__t}{Gen\+Optimizer\+\_\+t}}
|
||||
\end{DoxyCompactItemize}
|
||||
\doxysubsubsubsubsection*{Macros}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___g_e_n___o_p_t_i_m_i_z_e_r_ga3e654886869ea8182effbfcb99278670}{Gen\+Optimizer\+\_\+\+Init}}(opt, n\+\_\+params, n\+\_\+cand, n\+\_\+best, mutation\+\_\+amp, start\+\_\+params)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___g_e_n___o_p_t_i_m_i_z_e_r_ga33bbb9131ac7f94c3731dd4130321885}{Gen\+Optimizer\+\_\+\+Step}}(opt, params, Loss\+Func)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___g_e_n___o_p_t_i_m_i_z_e_r_ga83abbcabaff9111c03ae2475ee72ea3e}{PARAM\+\_\+\+SCALE}}(x, min\+\_\+val, max\+\_\+val)
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___g_e_n___o_p_t_i_m_i_z_e_r_gaa1d5510fe5f0bd989473f3ebe324bde3}{PARAM\+\_\+\+UNSCALE}}(val, min\+\_\+val, max\+\_\+val)
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsubsubsection{Detailed Description}
|
||||
Библиотека для эволюционного подбора параметров
|
||||
|
||||
Поддерживает\+:
|
||||
\begin{DoxyItemize}
|
||||
\item Любое количество параметров
|
||||
\item Генерацию новых параметров на основе лучших кандидатов
|
||||
\item Мутацию для поиска оптимальных параметров
|
||||
\item Несколько независимых оптимизаторов в одной программе
|
||||
\end{DoxyItemize}
|
||||
|
||||
Параметры для конфигурации\+:
|
||||
\begin{DoxyItemize}
|
||||
\item \doxylink{group___g_e_n___c_o_n_f_i_g_gae6d1db3c0b21f67cb0db2673d207b62c}{GEN\+\_\+\+OPTIMIZATION\+\_\+\+ENABLE} -\/ Включить оптимизацию параметров Если библиотека отключена \doxylink{group___g_e_n___c_o_n_f_i_g_gae6d1db3c0b21f67cb0db2673d207b62c}{GEN\+\_\+\+OPTIMIZATION\+\_\+\+ENABLE}, то вставляются заглушки, никак не влияющие на параметры и остальную программу
|
||||
\item \doxylink{group___g_e_n___c_o_n_f_i_g_ga8daf4b266a95353d580bd7946f47c0ab}{GEN\+\_\+\+MAX\+\_\+\+PARAMS} -\/ Максимальное количество параметров
|
||||
\item \doxylink{group___g_e_n___c_o_n_f_i_g_ga201cffde04ebc6540869c74bd1dae869}{GEN\+\_\+\+MAX\+\_\+\+CANDIDATES} -\/ Максимальное количество кандидатов для обучения
|
||||
\item (опционально) GEN\+\_\+\+MUTATION\+\_\+\+MIN\+\_\+\+PCT -\/ Минимальная мутация в процентах от Loss (по умолчанию 10\%)
|
||||
\item (опционально) GEN\+\_\+\+MUTATION\+\_\+\+MAX\+\_\+\+PCT -\/ Максимальная мутация в процентах от Loss (по умолчанию 100\%)
|
||||
\item (опционально) ELOVLE\+\_\+\+N\+\_\+\+ELITE\+\_\+\+CANDIDATE -\/ Количество кандидатов, которые проходят в поколение без изменений
|
||||
\end{DoxyItemize}
|
||||
|
||||
\begin{DoxyParagraph}{Пример использования\+:}
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{gen__optimizer_8h}{gen\_optimizer.h}}"{}}}
|
||||
\DoxyCodeLine{\textcolor{preprocessor}{\#define\ N\_PARAMS\ \ \ \ \ \ \ \ 4}}
|
||||
\DoxyCodeLine{\textcolor{preprocessor}{\#define\ N\_CANDIDATES\ \ \ \ 100}}
|
||||
\DoxyCodeLine{\textcolor{preprocessor}{\#define\ N\_BEST\ \ \ \ \ \ \ \ \ \ 10}}
|
||||
\DoxyCodeLine{\textcolor{preprocessor}{\#define\ MUTATION\ \ \ \ \ \ \ \ 0.1f}}
|
||||
\DoxyCodeLine{\textcolor{keywordtype}{float}\ params[N\_PARAMS];}
|
||||
\DoxyCodeLine{\mbox{\hyperlink{struct_gen_optimizer__t}{GenOptimizer\_t}}\ optimizer;}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{comment}{//\ Формирование\ параметров}}
|
||||
\DoxyCodeLine{uint16\_t\ \ param\_u16\ =\ 800;}
|
||||
\DoxyCodeLine{\textcolor{keywordtype}{float}\ \ \ \ \ param\_f\ \ \ =\ 0.01f;}
|
||||
\DoxyCodeLine{uint8\_t\ \ \ param\_u8\ \ =\ 40;}
|
||||
\DoxyCodeLine{int16\_t\ \ \ param\_i16\ =\ 1600;}
|
||||
\DoxyCodeLine{params[0]\ =\ PARAM\_SCALE(param\_u16,\ \ 0.0f,\ \ \ 1000.0f);}
|
||||
\DoxyCodeLine{params[1]\ =\ PARAM\_SCALE(param\_f,\ \ \ \ 0.001f,\ 0.1f);}
|
||||
\DoxyCodeLine{params[2]\ =\ PARAM\_SCALE(param\_u8,\ \ \ 10.0f,\ \ 100.0f);}
|
||||
\DoxyCodeLine{params[3]\ =\ PARAM\_SCALE(param\_i16,\ \ 500.0f,\ 5000.0f);}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{comment}{//\ Инициалиазция}}
|
||||
\DoxyCodeLine{GenOptimizer\_Init(\&optimizer,\ N\_PARAMS,\ N\_CANDIDATES,\ N\_BEST,\ MUTATION,\ params);}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{comment}{//\ Шаг\ эволюции}}
|
||||
\DoxyCodeLine{\textcolor{keywordtype}{float}\ loss\ =\ calc\_loss();\ \textcolor{comment}{//\ расчет\ эффективности\ параметров\ (от\ 0\ до\ 1)}}
|
||||
\DoxyCodeLine{GenOptimizer\_Step(\&optimizer,\ params,\ loss);}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{comment}{//\ Взятие\ следующих\ для\ эволюции\ параметров}}
|
||||
\DoxyCodeLine{param\_u16\ =\ PARAM\_UNSCALE(params[0],\ \ 0.0f,\ \ \ 1000.0f);}
|
||||
\DoxyCodeLine{param\_f\ \ \ =\ PARAM\_UNSCALE(params[1],\ \ 0.001f,\ 0.1f);}
|
||||
\DoxyCodeLine{param\_u8\ \ =\ PARAM\_UNSCALE(params[2],\ \ 10.0f,\ \ 100.0f);}
|
||||
\DoxyCodeLine{param\_i16\ =\ PARAM\_UNSCALE(params[3],\ \ 500.0f,\ 5000.0f);}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
\end{DoxyParagraph}
|
||||
|
||||
|
||||
\label{doc-define-members}
|
||||
\Hypertarget{group___g_e_n___o_p_t_i_m_i_z_e_r_doc-define-members}
|
||||
\doxysubsubsubsection{Macro Definition Documentation}
|
||||
\Hypertarget{group___g_e_n___o_p_t_i_m_i_z_e_r_ga3e654886869ea8182effbfcb99278670}\index{Genetic optimizer@{Genetic optimizer}!GenOptimizer\_Init@{GenOptimizer\_Init}}
|
||||
\index{GenOptimizer\_Init@{GenOptimizer\_Init}!Genetic optimizer@{Genetic optimizer}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{GenOptimizer\_Init}{GenOptimizer\_Init}}
|
||||
{\footnotesize\ttfamily \label{group___g_e_n___o_p_t_i_m_i_z_e_r_ga3e654886869ea8182effbfcb99278670}
|
||||
\#define Gen\+Optimizer\+\_\+\+Init(\begin{DoxyParamCaption}\item[{}]{opt}{, }\item[{}]{n\+\_\+params}{, }\item[{}]{n\+\_\+cand}{, }\item[{}]{n\+\_\+best}{, }\item[{}]{mutation\+\_\+amp}{, }\item[{}]{start\+\_\+params}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00327}{327}} of file \mbox{\hyperlink{gen__optimizer_8h_source}{gen\+\_\+optimizer.\+h}}.
|
||||
|
||||
\Hypertarget{group___g_e_n___o_p_t_i_m_i_z_e_r_ga33bbb9131ac7f94c3731dd4130321885}\index{Genetic optimizer@{Genetic optimizer}!GenOptimizer\_Step@{GenOptimizer\_Step}}
|
||||
\index{GenOptimizer\_Step@{GenOptimizer\_Step}!Genetic optimizer@{Genetic optimizer}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{GenOptimizer\_Step}{GenOptimizer\_Step}}
|
||||
{\footnotesize\ttfamily \label{group___g_e_n___o_p_t_i_m_i_z_e_r_ga33bbb9131ac7f94c3731dd4130321885}
|
||||
\#define Gen\+Optimizer\+\_\+\+Step(\begin{DoxyParamCaption}\item[{}]{opt}{, }\item[{}]{params}{, }\item[{}]{Loss\+Func}{}\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00328}{328}} of file \mbox{\hyperlink{gen__optimizer_8h_source}{gen\+\_\+optimizer.\+h}}.
|
||||
|
||||
\Hypertarget{group___g_e_n___o_p_t_i_m_i_z_e_r_ga83abbcabaff9111c03ae2475ee72ea3e}\index{Genetic optimizer@{Genetic optimizer}!PARAM\_SCALE@{PARAM\_SCALE}}
|
||||
\index{PARAM\_SCALE@{PARAM\_SCALE}!Genetic optimizer@{Genetic optimizer}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{PARAM\_SCALE}{PARAM\_SCALE}}
|
||||
{\footnotesize\ttfamily \label{group___g_e_n___o_p_t_i_m_i_z_e_r_ga83abbcabaff9111c03ae2475ee72ea3e}
|
||||
\#define PARAM\+\_\+\+SCALE(\begin{DoxyParamCaption}\item[{}]{x}{, }\item[{}]{min\+\_\+val}{, }\item[{}]{max\+\_\+val}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{(x)}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00329}{329}} of file \mbox{\hyperlink{gen__optimizer_8h_source}{gen\+\_\+optimizer.\+h}}.
|
||||
|
||||
\Hypertarget{group___g_e_n___o_p_t_i_m_i_z_e_r_gaa1d5510fe5f0bd989473f3ebe324bde3}\index{Genetic optimizer@{Genetic optimizer}!PARAM\_UNSCALE@{PARAM\_UNSCALE}}
|
||||
\index{PARAM\_UNSCALE@{PARAM\_UNSCALE}!Genetic optimizer@{Genetic optimizer}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{PARAM\_UNSCALE}{PARAM\_UNSCALE}}
|
||||
{\footnotesize\ttfamily \label{group___g_e_n___o_p_t_i_m_i_z_e_r_gaa1d5510fe5f0bd989473f3ebe324bde3}
|
||||
\#define PARAM\+\_\+\+UNSCALE(\begin{DoxyParamCaption}\item[{}]{val}{, }\item[{}]{min\+\_\+val}{, }\item[{}]{max\+\_\+val}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{(val)}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00330}{330}} of file \mbox{\hyperlink{gen__optimizer_8h_source}{gen\+\_\+optimizer.\+h}}.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
808022049140e07e55939aab8e99f2c8
|
||||
BIN
AllLibs/MyLibs/Doc/latex/group___l_i_b_s___c_o_n_f_i_g.pdf
Normal file
BIN
AllLibs/MyLibs/Doc/latex/group___l_i_b_s___c_o_n_f_i_g.pdf
Normal file
Binary file not shown.
145
AllLibs/MyLibs/Doc/latex/group___l_i_b_s___c_o_n_f_i_g.tex
Normal file
145
AllLibs/MyLibs/Doc/latex/group___l_i_b_s___c_o_n_f_i_g.tex
Normal file
@@ -0,0 +1,145 @@
|
||||
\doxysubsubsection{Libraries configs }
|
||||
\hypertarget{group___l_i_b_s___c_o_n_f_i_g}{}\label{group___l_i_b_s___c_o_n_f_i_g}\index{Libraries configs@{Libraries configs}}
|
||||
|
||||
|
||||
Подключение различных модулей библиотеки
|
||||
|
||||
|
||||
Collaboration diagram for Libraries configs\+:
|
||||
\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=253pt]{group___l_i_b_s___c_o_n_f_i_g}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsubsubsection*{Macros}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\#define \mbox{\hyperlink{group___l_i_b_s___c_o_n_f_i_g_ga9c853b02c22f26023c34d1d404b6d653}{local\+\_\+time}}()
|
||||
\begin{DoxyCompactList}\small\item\em Локальное время \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___l_i_b_s___c_o_n_f_i_g_ga3cdc9ef47fd3ff080d38481295327692}{INCLUDE\+\_\+\+GEN\+\_\+\+OPTIMIZER}}
|
||||
\begin{DoxyCompactList}\small\item\em Подключить библиотеку для оптимизации параметров \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___l_i_b_s___c_o_n_f_i_g_gaf4ddb2a71ec0d05c2480e197cd17c0be}{INCLUDE\+\_\+\+BIT\+\_\+\+ACCESS\+\_\+\+LIB}}
|
||||
\begin{DoxyCompactList}\small\item\em Подключить библиотеку с typedef с битовыми полями \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___l_i_b_s___c_o_n_f_i_g_ga4403055986b70bb02b8d37073a122e32}{INCLUDE\+\_\+\+TRACKERS\+\_\+\+LIB}}
|
||||
\begin{DoxyCompactList}\small\item\em Подключить библиотеку с трекерами \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___l_i_b_s___c_o_n_f_i_g_ga0a3ca94b616997069dd53e2c6c2687d7}{INCLUDE\+\_\+\+TRACE\+\_\+\+LIB}}
|
||||
\begin{DoxyCompactList}\small\item\em Подключить библиотеку с трейсами \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___l_i_b_s___c_o_n_f_i_g_ga181a46326e46b60afb160190832c7281}{INCLUDE\+\_\+\+GENERAL\+\_\+\+PERIPH\+\_\+\+LIBS}}
|
||||
\begin{DoxyCompactList}\small\item\em Подключить библиотеку с периферией \end{DoxyCompactList}\item
|
||||
\#define \mbox{\hyperlink{group___l_i_b_s___c_o_n_f_i_g_ga57c369737d5c0cfdb7baeecba0a4b151}{FREERTOS\+\_\+\+DELAY}}
|
||||
\begin{DoxyCompactList}\small\item\em Использовать Free\+RTOS задержку, вместо HAL. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsubsubsection{Detailed Description}
|
||||
Подключение различных модулей библиотеки
|
||||
|
||||
|
||||
|
||||
\label{doc-define-members}
|
||||
\Hypertarget{group___l_i_b_s___c_o_n_f_i_g_doc-define-members}
|
||||
\doxysubsubsubsection{Macro Definition Documentation}
|
||||
\Hypertarget{group___l_i_b_s___c_o_n_f_i_g_ga9c853b02c22f26023c34d1d404b6d653}\index{Libraries configs@{Libraries configs}!local\_time@{local\_time}}
|
||||
\index{local\_time@{local\_time}!Libraries configs@{Libraries configs}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{local\_time}{local\_time}}
|
||||
{\footnotesize\ttfamily \label{group___l_i_b_s___c_o_n_f_i_g_ga9c853b02c22f26023c34d1d404b6d653}
|
||||
\#define local\+\_\+time(\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}
|
||||
|
||||
{\bfseries Value\+:}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{uwTick}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Локальное время
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{____mylibs__config_8h_source_l00097}{97}} of file \mbox{\hyperlink{____mylibs__config_8h_source}{\+\_\+\+\_\+mylibs\+\_\+config.\+h}}.
|
||||
|
||||
\Hypertarget{group___l_i_b_s___c_o_n_f_i_g_ga3cdc9ef47fd3ff080d38481295327692}\index{Libraries configs@{Libraries configs}!INCLUDE\_GEN\_OPTIMIZER@{INCLUDE\_GEN\_OPTIMIZER}}
|
||||
\index{INCLUDE\_GEN\_OPTIMIZER@{INCLUDE\_GEN\_OPTIMIZER}!Libraries configs@{Libraries configs}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{INCLUDE\_GEN\_OPTIMIZER}{INCLUDE\_GEN\_OPTIMIZER}}
|
||||
{\footnotesize\ttfamily \label{group___l_i_b_s___c_o_n_f_i_g_ga3cdc9ef47fd3ff080d38481295327692}
|
||||
\#define INCLUDE\+\_\+\+GEN\+\_\+\+OPTIMIZER}
|
||||
|
||||
|
||||
|
||||
Подключить библиотеку для оптимизации параметров
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{____mylibs__config_8h_source_l00099}{99}} of file \mbox{\hyperlink{____mylibs__config_8h_source}{\+\_\+\+\_\+mylibs\+\_\+config.\+h}}.
|
||||
|
||||
\Hypertarget{group___l_i_b_s___c_o_n_f_i_g_gaf4ddb2a71ec0d05c2480e197cd17c0be}\index{Libraries configs@{Libraries configs}!INCLUDE\_BIT\_ACCESS\_LIB@{INCLUDE\_BIT\_ACCESS\_LIB}}
|
||||
\index{INCLUDE\_BIT\_ACCESS\_LIB@{INCLUDE\_BIT\_ACCESS\_LIB}!Libraries configs@{Libraries configs}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{INCLUDE\_BIT\_ACCESS\_LIB}{INCLUDE\_BIT\_ACCESS\_LIB}}
|
||||
{\footnotesize\ttfamily \label{group___l_i_b_s___c_o_n_f_i_g_gaf4ddb2a71ec0d05c2480e197cd17c0be}
|
||||
\#define INCLUDE\+\_\+\+BIT\+\_\+\+ACCESS\+\_\+\+LIB}
|
||||
|
||||
|
||||
|
||||
Подключить библиотеку с typedef с битовыми полями
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{____mylibs__config_8h_source_l00100}{100}} of file \mbox{\hyperlink{____mylibs__config_8h_source}{\+\_\+\+\_\+mylibs\+\_\+config.\+h}}.
|
||||
|
||||
\Hypertarget{group___l_i_b_s___c_o_n_f_i_g_ga4403055986b70bb02b8d37073a122e32}\index{Libraries configs@{Libraries configs}!INCLUDE\_TRACKERS\_LIB@{INCLUDE\_TRACKERS\_LIB}}
|
||||
\index{INCLUDE\_TRACKERS\_LIB@{INCLUDE\_TRACKERS\_LIB}!Libraries configs@{Libraries configs}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{INCLUDE\_TRACKERS\_LIB}{INCLUDE\_TRACKERS\_LIB}}
|
||||
{\footnotesize\ttfamily \label{group___l_i_b_s___c_o_n_f_i_g_ga4403055986b70bb02b8d37073a122e32}
|
||||
\#define INCLUDE\+\_\+\+TRACKERS\+\_\+\+LIB}
|
||||
|
||||
|
||||
|
||||
Подключить библиотеку с трекерами
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{____mylibs__config_8h_source_l00101}{101}} of file \mbox{\hyperlink{____mylibs__config_8h_source}{\+\_\+\+\_\+mylibs\+\_\+config.\+h}}.
|
||||
|
||||
\Hypertarget{group___l_i_b_s___c_o_n_f_i_g_ga0a3ca94b616997069dd53e2c6c2687d7}\index{Libraries configs@{Libraries configs}!INCLUDE\_TRACE\_LIB@{INCLUDE\_TRACE\_LIB}}
|
||||
\index{INCLUDE\_TRACE\_LIB@{INCLUDE\_TRACE\_LIB}!Libraries configs@{Libraries configs}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{INCLUDE\_TRACE\_LIB}{INCLUDE\_TRACE\_LIB}}
|
||||
{\footnotesize\ttfamily \label{group___l_i_b_s___c_o_n_f_i_g_ga0a3ca94b616997069dd53e2c6c2687d7}
|
||||
\#define INCLUDE\+\_\+\+TRACE\+\_\+\+LIB}
|
||||
|
||||
|
||||
|
||||
Подключить библиотеку с трейсами
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{____mylibs__config_8h_source_l00102}{102}} of file \mbox{\hyperlink{____mylibs__config_8h_source}{\+\_\+\+\_\+mylibs\+\_\+config.\+h}}.
|
||||
|
||||
\Hypertarget{group___l_i_b_s___c_o_n_f_i_g_ga181a46326e46b60afb160190832c7281}\index{Libraries configs@{Libraries configs}!INCLUDE\_GENERAL\_PERIPH\_LIBS@{INCLUDE\_GENERAL\_PERIPH\_LIBS}}
|
||||
\index{INCLUDE\_GENERAL\_PERIPH\_LIBS@{INCLUDE\_GENERAL\_PERIPH\_LIBS}!Libraries configs@{Libraries configs}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{INCLUDE\_GENERAL\_PERIPH\_LIBS}{INCLUDE\_GENERAL\_PERIPH\_LIBS}}
|
||||
{\footnotesize\ttfamily \label{group___l_i_b_s___c_o_n_f_i_g_ga181a46326e46b60afb160190832c7281}
|
||||
\#define INCLUDE\+\_\+\+GENERAL\+\_\+\+PERIPH\+\_\+\+LIBS}
|
||||
|
||||
|
||||
|
||||
Подключить библиотеку с периферией
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{____mylibs__config_8h_source_l00103}{103}} of file \mbox{\hyperlink{____mylibs__config_8h_source}{\+\_\+\+\_\+mylibs\+\_\+config.\+h}}.
|
||||
|
||||
\Hypertarget{group___l_i_b_s___c_o_n_f_i_g_ga57c369737d5c0cfdb7baeecba0a4b151}\index{Libraries configs@{Libraries configs}!FREERTOS\_DELAY@{FREERTOS\_DELAY}}
|
||||
\index{FREERTOS\_DELAY@{FREERTOS\_DELAY}!Libraries configs@{Libraries configs}}
|
||||
\doxysubsubsubsubsection{\texorpdfstring{FREERTOS\_DELAY}{FREERTOS\_DELAY}}
|
||||
{\footnotesize\ttfamily \label{group___l_i_b_s___c_o_n_f_i_g_ga57c369737d5c0cfdb7baeecba0a4b151}
|
||||
\#define FREERTOS\+\_\+\+DELAY}
|
||||
|
||||
|
||||
|
||||
Использовать Free\+RTOS задержку, вместо HAL.
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{____mylibs__config_8h_source_l00104}{104}} of file \mbox{\hyperlink{____mylibs__config_8h_source}{\+\_\+\+\_\+mylibs\+\_\+config.\+h}}.
|
||||
|
||||
1
AllLibs/MyLibs/Doc/latex/group___m_y_l_i_b_s___a_l_l.md5
Normal file
1
AllLibs/MyLibs/Doc/latex/group___m_y_l_i_b_s___a_l_l.md5
Normal file
@@ -0,0 +1 @@
|
||||
d31053abadc8e893fbaf954352b04bd8
|
||||
BIN
AllLibs/MyLibs/Doc/latex/group___m_y_l_i_b_s___a_l_l.pdf
Normal file
BIN
AllLibs/MyLibs/Doc/latex/group___m_y_l_i_b_s___a_l_l.pdf
Normal file
Binary file not shown.
40
AllLibs/MyLibs/Doc/latex/group___m_y_l_i_b_s___a_l_l.tex
Normal file
40
AllLibs/MyLibs/Doc/latex/group___m_y_l_i_b_s___a_l_l.tex
Normal file
@@ -0,0 +1,40 @@
|
||||
\doxysection{My Libs }
|
||||
\hypertarget{group___m_y_l_i_b_s___a_l_l}{}\label{group___m_y_l_i_b_s___a_l_l}\index{My Libs@{My Libs}}
|
||||
|
||||
|
||||
Все используемые My\+Libs библиотеки
|
||||
|
||||
|
||||
Collaboration diagram for My Libs\+:
|
||||
\nopagebreak
|
||||
\begin{figure}[H]
|
||||
\begin{center}
|
||||
\leavevmode
|
||||
\includegraphics[width=242pt]{group___m_y_l_i_b_s___a_l_l}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\doxysubsubsection*{Topics}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{group___m_y_l_i_b_s___t_o_o_l_s}{General Tools}}
|
||||
\begin{DoxyCompactList}\small\item\em Общие макросы и typedef\textquotesingle{}ы, используемые по всему проекту \end{DoxyCompactList}\item
|
||||
\mbox{\hyperlink{group___m_y_l_i_b_s___c_o_n_f_i_g}{Configs}}
|
||||
\begin{DoxyCompactList}\small\item\em Конфигурации для библиотек My\+Libs. \end{DoxyCompactList}\item
|
||||
\mbox{\hyperlink{group___m_y_l_i_b_s___d_e_b_u_g___t_o_o_l_s}{Debug Tools}}
|
||||
\begin{DoxyCompactList}\small\item\em Утилиты для тестирования программы \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Все используемые My\+Libs библиотеки
|
||||
|
||||
Для подключения библиотеки необходимо\+:
|
||||
\begin{DoxyItemize}
|
||||
\item Сконфигурировать mylibs\+\_\+config.\+h\+:
|
||||
\begin{DoxyItemize}
|
||||
\item Подключить заголовочный файл HAL библиотеки конкретного МК (напр. stm32f4xx\+\_\+hal.\+h)
|
||||
\item Подключить другие заголовочные файлы которые общие для всего проекта и должны быть видны
|
||||
\item Подключить mylibs\+\_\+include.\+h туда, где необходим доступ к библиотекам.
|
||||
\end{DoxyItemize}
|
||||
\end{DoxyItemize}\input{group___m_y_l_i_b_s___t_o_o_l_s}
|
||||
\input{group___m_y_l_i_b_s___c_o_n_f_i_g}
|
||||
\input{group___m_y_l_i_b_s___d_e_b_u_g___t_o_o_l_s}
|
||||
@@ -0,0 +1 @@
|
||||
d391fab11da478dd495954b9be42bbb6
|
||||
BIN
AllLibs/MyLibs/Doc/latex/group___m_y_l_i_b_s___c_o_n_f_i_g.pdf
Normal file
BIN
AllLibs/MyLibs/Doc/latex/group___m_y_l_i_b_s___c_o_n_f_i_g.pdf
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user