Рефакторинг Doxygen

This commit is contained in:
2025-11-07 20:26:38 +03:00
parent 0cc8f417ee
commit 3718c1eb77
363 changed files with 16172 additions and 6104 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,435 @@
\doxysection{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}\index{E:/.WORK/STM32/STM\_Libs/STM32\_ExtendedLibs/RTT/SEGGER\_RTT\_Conf.h@{E:/.WORK/STM32/STM\_Libs/STM32\_ExtendedLibs/RTT/SEGGER\_RTT\_Conf.h}}
\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}

View File

@@ -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

View File

@@ -4,14 +4,12 @@ Here are the classes, structs, unions and interfaces with brief descriptions\+:\
\item\contentsline{section}{\mbox{\hyperlink{struct_bench_time_channel__t}{Bench\+Time\+Channel\+\_\+t}} \\*Структура канала измерения }{\pageref{struct_bench_time_channel__t}}{}
\item\contentsline{section}{\mbox{\hyperlink{struct_bench_time_stats__t}{Bench\+Time\+Stats\+\_\+t}} \\*Структура статистики измерений }{\pageref{struct_bench_time_stats__t}}{}
\item\contentsline{section}{\mbox{\hyperlink{struct_gen_optimizer__t}{Gen\+Optimizer\+\_\+t}} \\*Структура эволюционного оптимизатора }{\pageref{struct_gen_optimizer__t}}{}
\item\contentsline{section}{\mbox{\hyperlink{struct_g_p_i_o___l_e_d_type_def}{GPIO\+\_\+\+LEDType\+Def}} \\*Структура светодиода }{\pageref{struct_g_p_i_o___l_e_d_type_def}}{}
\item\contentsline{section}{\mbox{\hyperlink{struct_g_p_i_o___switch_type_def}{GPIO\+\_\+\+Switch\+Type\+Def}} \\*Структура кнопки }{\pageref{struct_g_p_i_o___switch_type_def}}{}
\item\contentsline{section}{\mbox{\hyperlink{struct_h_f___stack_frame__t}{HF\+\_\+\+Stack\+Frame\+\_\+t}} \\*Контекст стек-\/фрейма процессора при Hard\+Fault }{\pageref{struct_h_f___stack_frame__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_p_i___settings_type_def}{SPI\+\_\+\+Settings\+Type\+Def}} \\*Структура настроек SPI }{\pageref{struct_s_p_i___settings_type_def}}{}
\item\contentsline{section}{\mbox{\hyperlink{struct_t_i_m___encoder_type_def}{TIM\+\_\+\+Encoder\+Type\+Def}} \\*Структура инициализации енкодера }{\pageref{struct_t_i_m___encoder_type_def}}{}
\item\contentsline{section}{\mbox{\hyperlink{struct_t_i_m___settings_type_def}{TIM\+\_\+\+Settings\+Type\+Def}} \\*Структура инициализации таймера }{\pageref{struct_t_i_m___settings_type_def}}{}
\item\contentsline{section}{\mbox{\hyperlink{struct_u_a_r_t___settings_type_def}{UART\+\_\+\+Settings\+Type\+Def}} \\*Структура настроек UART }{\pageref{struct_u_a_r_t___settings_type_def}}{}
\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}}{}

View File

@@ -1,5 +1,5 @@
\doxysection{E\+:/.WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/bench\+\_\+time.h File Reference}
\hypertarget{bench__time_8h}{}\label{bench__time_8h}\index{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibs/Inc/bench\_time.h@{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibs/Inc/bench\_time.h}}
\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}}
Заголовочный файл для измерения времени между событиями
@@ -7,12 +7,11 @@
{\ttfamily \#include "{}mylibs\+\_\+defs.\+h"{}}\newline
{\ttfamily \#include $<$stdint.\+h$>$}\newline
Include dependency graph for bench\+\_\+time.\+h\+:
\nopagebreak
Include dependency graph for bench\+\_\+time.\+h\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=230pt]{bench__time_8h__incl}
\includegraphics[width=233pt]{bench__time_8h__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}

View File

@@ -1 +1 @@
122aa7271e7507ca099dc86bd8c9c747
0973ca287455c599a939b3aa21c17abd

Binary file not shown.

View File

@@ -1,5 +1,5 @@
\doxysection{bench\+\_\+time.\+h}
\hypertarget{bench__time_8h_source}{}\label{bench__time_8h_source}\index{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibs/Inc/bench\_time.h@{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibs/Inc/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}{/**}}
@@ -8,257 +8,256 @@
\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}{*\ @ingroup\ \ \ \ MYLIBS\_DEFINES}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00008}00008\ \textcolor{comment}{*\ @brief\ \ \ \ \ \ Библиотека\ для\ измерения\ времени/тиков\ между\ событиями}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00009}00009\ \textcolor{comment}{*\ @details}}
\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}{Параметры\ для\ конфигурации:}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00018}00018\ \textcolor{comment}{-\/\ @ref\ BENCH\_TIME\_ENABLE\ -\/\ Включить\ бенч\ времени}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00019}00019\ \textcolor{comment}{-\/\ @ref\ BENCH\_TIME\_MAX\_CHANNELS\ -\/\ Максимальное\ количество\ каналов\ измерения\ (по\ умолчанию\ 8)}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00020}00020\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00021}00021\ \textcolor{comment}{@par\ Пример\ использования:}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00022}00022\ \textcolor{comment}{@code}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00023}00023\ \textcolor{comment}{\#include\ "{}bench\_time.h"{}}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00024}00024\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00025}00025\ \textcolor{comment}{//\ Инициализация}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00026}00026\ \textcolor{comment}{BenchTime\_Init();}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00027}00027\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00028}00028\ \textcolor{comment}{//\ Измерение\ с\ SysTick}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00029}00029\ \textcolor{comment}{BenchTime\_Start(0,\ HAL\_GetTick,\ 0xFFFFFFFF);}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00030}00030\ \textcolor{comment}{some\_function();}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00031}00031\ \textcolor{comment}{uint32\_t\ time\ =\ BenchTime\_End(0,\ HAL\_GetTick);}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00032}00032\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00033}00033\ \textcolor{comment}{//\ Измерение\ с\ TIM2\ (16-\/бит)}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00034}00034\ \textcolor{comment}{BenchTime\_Start(1,\ TIM2-\/>CNT,\ 0xFFFF);}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00035}00035\ \textcolor{comment}{fast\_function();\ }}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00036}00036\ \textcolor{comment}{uint32\_t\ time2\ =\ BenchTime\_End(1,\ TIM2-\/>CNT);}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00037}00037\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00038}00038\ \textcolor{comment}{//\ Измерение\ с\ DWT\ цикловым\ счетчиком}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00039}00039\ \textcolor{comment}{BenchTime\_Start(2,\ DWT-\/>CYCCNT,\ 0xFFFFFFFF);}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00040}00040\ \textcolor{comment}{critical\_function();}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00041}00041\ \textcolor{comment}{uint32\_t\ cycles\ =\ BenchTime\_End(2,\ DWT-\/>CYCCNT);}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00042}00042\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00043}00043\ \textcolor{comment}{//\ Многоканальное\ измерение}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00044}00044\ \textcolor{comment}{BenchTime\_Start(0,\ HAL\_GetTick,\ 1000);\ \ \ \ \ \ \ \ //\ общее\ время}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00045}00045\ \textcolor{comment}{BenchTime\_Start(1,\ TIM3-\/>CNT,\ 500);\ \ \ \ \ \ \ \ \ \ \ //\ часть\ 1}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00046}00046\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00047}00047\ \textcolor{comment}{//\ ...\ код\ 1}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00048}00048\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00049}00049\ \textcolor{comment}{uint32\_t\ part1\ =\ BenchTime\_End(1,\ TIM3-\/>CNT);}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00050}00050\ \textcolor{comment}{BenchTime\_Start(2,\ TIM4-\/>CNT,\ 200);\ \ \ \ \ \ \ \ \ \ \ //\ часть\ 2\ \ }}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00051}00051\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00052}00052\ \textcolor{comment}{//\ ...\ код\ 2}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00053}00053\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00054}00054\ \textcolor{comment}{uint32\_t\ part2\ =\ BenchTime\_End(2,\ TIM4-\/>CNT);}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00055}00055\ \textcolor{comment}{uint32\_t\ total\ =\ BenchTime\_End(0,\ HAL\_GetTick);\ //\ общее\ время}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00056}00056\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00057}00057\ \textcolor{comment}{//\ Статистика}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00058}00058\ \textcolor{comment}{uint32\_t\ min\_time\ =\ BenchTime\_GetMin(0);}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00059}00059\ \textcolor{comment}{uint32\_t\ max\_time\ =\ BenchTime\_GetMax(0);}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00060}00060\ \textcolor{comment}{uint32\_t\ avg\_time\ =\ BenchTime\_GetAverage(0);}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00061}00061\ \textcolor{comment}{uint32\_t\ count\ =\ BenchTime\_GetCount(0);}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00062}00062\ \textcolor{comment}{@endcode}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00063}00063\ \textcolor{comment}{*\ @\{\ \ }}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00064}00064\ \textcolor{comment}{*****************************************************************************/}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00065}00065\ \textcolor{preprocessor}{\#ifndef\ \_\_BENCH\_TIME\_H\_}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00066}00066\ \textcolor{preprocessor}{\#define\ \_\_BENCH\_TIME\_H\_}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00067}00067\ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00068}00068\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{mylibs__defs_8h}{mylibs\_defs.h}}"{}}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00069}00069\ \textcolor{preprocessor}{\#include\ <stdint.h>}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00070}00070\ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00071}00071\ \textcolor{preprocessor}{\#ifdef\ BENCH\_TIME\_ENABLE}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00072}00072\ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00073}00073\ \textcolor{comment}{//\ Конфигурация\ библиотеки}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00074}00074\ \textcolor{preprocessor}{\#ifndef\ BENCH\_TIME\_MAX\_CHANNELS}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00075}00075\ \textcolor{preprocessor}{\#define\ BENCH\_TIME\_MAX\_CHANNELS\ \ 8\ \ \ \ }\textcolor{comment}{///<\ Максимальное\ количество\ каналов\ измерения}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00076}00076\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00077}00077\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00078}00078\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00079}00079\ \textcolor{comment}{\ \ *\ @brief\ Структура\ статистики\ измерений}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00080}00080\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00081}\mbox{\hyperlink{struct_bench_time_stats__t}{00081}}\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00082}\mbox{\hyperlink{struct_bench_time_stats__t_a39b71a5d48c4a51a553a26a9fb961ac8}{00082}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_bench_time_stats__t_a39b71a5d48c4a51a553a26a9fb961ac8}{min\_ticks}};\ \ \ \ \ \ \textcolor{comment}{///<\ Минимальное\ время\ в\ тиках}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00083}\mbox{\hyperlink{struct_bench_time_stats__t_a3da36eb65b03ba995b5905b4650ea93c}{00083}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_bench_time_stats__t_a3da36eb65b03ba995b5905b4650ea93c}{max\_ticks}};\ \ \ \ \ \ \textcolor{comment}{///<\ Максимальное\ время\ в\ тиках\ \ }}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00084}\mbox{\hyperlink{struct_bench_time_stats__t_a21499b0b19d1ed27f8cea069f674e8ec}{00084}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_bench_time_stats__t_a21499b0b19d1ed27f8cea069f674e8ec}{total\_ticks}};\ \ \ \ \textcolor{comment}{///<\ Суммарное\ время\ в\ тиках}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00085}\mbox{\hyperlink{struct_bench_time_stats__t_a5e95ef31dd0daf973894ef2f034d1f71}{00085}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_bench_time_stats__t_a5e95ef31dd0daf973894ef2f034d1f71}{count}};\ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Количество\ измерений}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00086}\mbox{\hyperlink{struct_bench_time_stats__t_a2c739e1db6b26ceac5db3f2c44c177a0}{00086}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_bench_time_stats__t_a2c739e1db6b26ceac5db3f2c44c177a0}{last\_ticks}};\ \ \ \ \ \textcolor{comment}{///<\ Последнее\ измеренное\ время}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00087}00087\ \}\ \mbox{\hyperlink{struct_bench_time_stats__t}{BenchTimeStats\_t}};}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00088}00088\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00089}00089\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00090}00090\ \textcolor{comment}{\ \ *\ @brief\ Структура\ канала\ измерения}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00091}00091\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00092}\mbox{\hyperlink{struct_bench_time_channel__t}{00092}}\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00093}\mbox{\hyperlink{struct_bench_time_channel__t_a8140fe9e3d323404651f0cfeeae53928}{00093}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_bench_time_channel__t_a8140fe9e3d323404651f0cfeeae53928}{start\_tick}};\ \ \ \ \ \textcolor{comment}{///<\ Время\ старта\ в\ тиках}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00094}\mbox{\hyperlink{struct_bench_time_channel__t_a095d93e0228641f58b8661e263bc1bcd}{00094}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_bench_time_channel__t_a095d93e0228641f58b8661e263bc1bcd}{tick\_period}};\ \ \ \ \textcolor{comment}{///<\ Период\ тиков\ для\ переполнения}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00095}\mbox{\hyperlink{struct_bench_time_channel__t_a0f80bb194231df7921712d20bac603c9}{00095}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_bench_time_channel__t_a0f80bb194231df7921712d20bac603c9}{is\_running}};\ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Флаг\ активного\ измерения}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00096}\mbox{\hyperlink{struct_bench_time_channel__t_a22a3913e7925aa89cc12ec1d24a6c16c}{00096}}\ \ \ \mbox{\hyperlink{struct_bench_time_stats__t}{BenchTimeStats\_t}}\ \mbox{\hyperlink{struct_bench_time_channel__t_a22a3913e7925aa89cc12ec1d24a6c16c}{stats}};\ \ \textcolor{comment}{///<\ Статистика\ измерений}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00097}00097\ \}\ \mbox{\hyperlink{struct_bench_time_channel__t}{BenchTimeChannel\_t}};}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00098}00098\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00099}00099\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00100}00100\ \textcolor{comment}{\ \ *\ @brief\ Основная\ структура\ менеджера\ измерений}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00101}00101\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00102}\mbox{\hyperlink{struct_bench_time__t}{00102}}\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00103}\mbox{\hyperlink{struct_bench_time__t_a9ae6d45c610be9d4b7628a614ccb06d6}{00103}}\ \ \ \mbox{\hyperlink{struct_bench_time_channel__t}{BenchTimeChannel\_t}}\ \mbox{\hyperlink{struct_bench_time__t_a9ae6d45c610be9d4b7628a614ccb06d6}{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_l00104}00104\ \}\ \mbox{\hyperlink{struct_bench_time__t}{BenchTime\_t}};}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00105}00105\ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00106}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{00106}}\ \textcolor{keyword}{static}\ \mbox{\hyperlink{struct_bench_time__t}{BenchTime\_t}}\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}\ =\ \{0\};\ \textcolor{comment}{///<\ Внутренний\ экземпляр}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00107}00107\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00108}00108\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00109}00109\ \textcolor{comment}{\ \ *\ @brief\ Инициализация\ системы\ измерения\ времени}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00110}00110\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00111}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gabb7a665a9603ea2e4dbc4432e8cb6054}{00111}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gabb7a665a9603ea2e4dbc4432e8cb6054}{BenchTime\_Init}}(\textcolor{keywordtype}{void})\ \{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00112}00112\ \ \ \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_l00113}00113\ \ \ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[i].start\_tick\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00114}00114\ \ \ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[i].tick\_period\ =\ 0xFFFFFFFF;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00115}00115\ \ \ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[i].is\_running\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00116}00116\ \ \ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[i].stats.min\_ticks\ =\ 0xFFFFFFFF;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00117}00117\ \ \ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[i].stats.max\_ticks\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00118}00118\ \ \ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[i].stats.total\_ticks\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00119}00119\ \ \ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[i].stats.count\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00120}00120\ \ \ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[i].stats.last\_ticks\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00121}00121\ \ \ \}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00122}00122\ \}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00123}00123\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00124}00124\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00125}00125\ \textcolor{comment}{\ \ *\ @brief\ Начало\ измерения\ на\ указанном\ канале}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00126}00126\ \textcolor{comment}{\ \ *\ @param\ channel\ Номер\ канала\ (0..BENCH\_TIME\_MAX\_CHANNELS-\/1)}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00127}00127\ \textcolor{comment}{\ \ *\ @param\ ticks\ Источник\ тиков\ (например:\ HAL\_GetTick(),\ TIM2-\/>CNT,\ DWT-\/>CYCCNT)}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00128}00128\ \textcolor{comment}{\ \ *\ @param\ tick\_period\ Период\ тиков\ для\ переполнения}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00129}00129\ \textcolor{comment}{\ \ *\ @return\ 1\ -\/\ успех,\ 0\ -\/\ ошибка}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00130}00130\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00131}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gac65338df38129964ce3e9d9cb2fcb349}{00131}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gac65338df38129964ce3e9d9cb2fcb349}{BenchTime\_Start}}(uint8\_t\ channel,\ uint32\_t\ ticks,\ uint32\_t\ tick\_period)\ \{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00132}00132\ \ \ \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_l00133}00133\ \ \ \textcolor{keywordflow}{if}\ (\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].is\_running)\ \textcolor{keywordflow}{return}\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00134}00134\ \ \ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00135}00135\ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].start\_tick\ =\ ticks;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00136}00136\ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].tick\_period\ =\ tick\_period;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00137}00137\ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].is\_running\ =\ 1;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00138}00138\ \ \ \textcolor{keywordflow}{return}\ 1;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00139}00139\ \}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00140}00140\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00141}00141\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00142}00142\ \textcolor{comment}{\ \ *\ @brief\ Окончание\ измерения\ на\ указанном\ канале}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00143}00143\ \textcolor{comment}{\ \ *\ @param\ channel\ Номер\ канала\ (0..BENCH\_TIME\_MAX\_CHANNELS-\/1)}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00144}00144\ \textcolor{comment}{\ \ *\ @param\ ticks\ Источник\ тиков\ (должен\ быть\ тот\ же\ что\ в\ Start)}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00145}00145\ \textcolor{comment}{\ \ *\ @return\ Измеренное\ время\ в\ тиках,\ 0\ -\/\ в\ случае\ ошибки}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00146}00146\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00147}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga47a69851a2089140eac00cde18a12439}{00147}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga47a69851a2089140eac00cde18a12439}{BenchTime\_End}}(uint8\_t\ channel,\ uint32\_t\ ticks)\ \{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00148}00148\ \ \ \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_l00149}00149\ \ \ \textcolor{keywordflow}{if}\ (!\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].is\_running)\ \textcolor{keywordflow}{return}\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00150}00150\ \ \ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00151}00151\ \ \ uint32\_t\ end\_tick\ =\ ticks;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00152}00152\ \ \ uint32\_t\ start\_tick\ =\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].start\_tick;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00153}00153\ \ \ uint32\_t\ tick\_period\ =\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].tick\_period;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00154}00154\ \ \ uint32\_t\ elapsed\_ticks;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00155}00155\ \ \ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00156}00156\ \ \ \textcolor{keywordflow}{if}\ (end\_tick\ >=\ start\_tick)\ \{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00157}00157\ \ \ \ \ elapsed\_ticks\ =\ end\_tick\ -\/\ start\_tick;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00158}00158\ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00159}00159\ \ \ \ \ elapsed\_ticks\ =\ (tick\_period\ -\/\ start\_tick)\ +\ end\_tick\ +\ 1;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00160}00160\ \ \ \}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00161}00161\ \ \ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00162}00162\ \ \ \textcolor{keywordflow}{if}\ (elapsed\_ticks\ >\ tick\_period)\ \{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00163}00163\ \ \ \ \ elapsed\_ticks\ =\ tick\_period;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00164}00164\ \ \ \}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00165}00165\ \ \ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00166}00166\ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].is\_running\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00167}00167\ \ \ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00168}00168\ \ \ \textcolor{comment}{//\ Обновление\ статистики}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00169}00169\ \ \ \mbox{\hyperlink{struct_bench_time_stats__t}{BenchTimeStats\_t}}*\ stats\ =\ \&\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].stats;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00170}00170\ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a2c739e1db6b26ceac5db3f2c44c177a0}{last\_ticks}}\ =\ elapsed\_ticks;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00171}00171\ \ \ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00172}00172\ \ \ \textcolor{keywordflow}{if}\ (elapsed\_ticks\ <\ stats-\/>min\_ticks)\ \{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00173}00173\ \ \ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a39b71a5d48c4a51a553a26a9fb961ac8}{min\_ticks}}\ =\ elapsed\_ticks;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00174}00174\ \ \ \}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00175}00175\ \ \ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00176}00176\ \ \ \textcolor{keywordflow}{if}\ (elapsed\_ticks\ >\ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a3da36eb65b03ba995b5905b4650ea93c}{max\_ticks}})\ \{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00177}00177\ \ \ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a3da36eb65b03ba995b5905b4650ea93c}{max\_ticks}}\ =\ elapsed\_ticks;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00178}00178\ \ \ \}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00179}00179\ \ \ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00180}00180\ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a21499b0b19d1ed27f8cea069f674e8ec}{total\_ticks}}\ +=\ elapsed\_ticks;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00181}00181\ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a5e95ef31dd0daf973894ef2f034d1f71}{count}}++;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00182}00182\ \ \ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00183}00183\ \ \ \textcolor{keywordflow}{return}\ elapsed\_ticks;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00184}00184\ \}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00185}00185\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00186}00186\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00187}00187\ \textcolor{comment}{\ \ *\ @brief\ Получение\ минимального\ времени\ измерения}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00188}00188\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00189}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga273d45255fe4403fc25648d60cca7705}{00189}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga273d45255fe4403fc25648d60cca7705}{BenchTime\_GetMin}}(uint8\_t\ channel)\ \{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00190}00190\ \ \ \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_l00191}00191\ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].stats.min\_ticks;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00192}00192\ \}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00193}00193\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00194}00194\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00195}00195\ \textcolor{comment}{\ \ *\ @brief\ Получение\ максимального\ времени\ измерения}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00196}00196\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00197}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga07e27d7b169c9fa1abd57281bb4e374e}{00197}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga07e27d7b169c9fa1abd57281bb4e374e}{BenchTime\_GetMax}}(uint8\_t\ channel)\ \{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00198}00198\ \ \ \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_l00199}00199\ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].stats.max\_ticks;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00200}00200\ \}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00201}00201\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00202}00202\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00203}00203\ \textcolor{comment}{\ \ *\ @brief\ Получение\ среднего\ времени\ измерения}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00204}00204\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00205}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga24e2450d5ea921074ec5d7a1e4d56ba8}{00205}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga24e2450d5ea921074ec5d7a1e4d56ba8}{BenchTime\_GetAverage}}(uint8\_t\ channel)\ \{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00206}00206\ \ \ \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_l00207}00207\ \ \ \mbox{\hyperlink{struct_bench_time_stats__t}{BenchTimeStats\_t}}*\ stats\ =\ \&\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].stats;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00208}00208\ \ \ \textcolor{keywordflow}{if}\ (stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a5e95ef31dd0daf973894ef2f034d1f71}{count}}\ ==\ 0)\ \textcolor{keywordflow}{return}\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00209}00209\ \ \ \textcolor{keywordflow}{return}\ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a21499b0b19d1ed27f8cea069f674e8ec}{total\_ticks}}\ /\ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a5e95ef31dd0daf973894ef2f034d1f71}{count}};}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00210}00210\ \}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00211}00211\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00212}00212\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00213}00213\ \textcolor{comment}{\ \ *\ @brief\ Получение\ количества\ измерений}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00214}00214\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00215}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gabd1301ca79a30c782970f89fd147df3a}{00215}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gabd1301ca79a30c782970f89fd147df3a}{BenchTime\_GetCount}}(uint8\_t\ channel)\ \{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00216}00216\ \ \ \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_l00217}00217\ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].stats.count;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00218}00218\ \}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00219}00219\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00220}00220\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00221}00221\ \textcolor{comment}{\ \ *\ @brief\ Получение\ последнего\ измеренного\ времени}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00222}00222\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00223}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gacf3a738d6423d71b238058a63558a4ed}{00223}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gacf3a738d6423d71b238058a63558a4ed}{BenchTime\_GetLast}}(uint8\_t\ channel)\ \{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00224}00224\ \ \ \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_l00225}00225\ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].stats.last\_ticks;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00226}00226\ \}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00227}00227\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00228}00228\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00229}00229\ \textcolor{comment}{\ \ *\ @brief\ Сброс\ статистики\ для\ канала}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00230}00230\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00231}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga31a6b2b181b92bcb15f46758f5d57f35}{00231}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga31a6b2b181b92bcb15f46758f5d57f35}{BenchTime\_ResetStats}}(uint8\_t\ channel)\ \{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00232}00232\ \ \ \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_l00233}00233\ \ \ \mbox{\hyperlink{struct_bench_time_stats__t}{BenchTimeStats\_t}}*\ stats\ =\ \&\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].stats;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00234}00234\ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a39b71a5d48c4a51a553a26a9fb961ac8}{min\_ticks}}\ =\ 0xFFFFFFFF;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00235}00235\ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a3da36eb65b03ba995b5905b4650ea93c}{max\_ticks}}\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00236}00236\ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a21499b0b19d1ed27f8cea069f674e8ec}{total\_ticks}}\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00237}00237\ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a5e95ef31dd0daf973894ef2f034d1f71}{count}}\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00238}00238\ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a2c739e1db6b26ceac5db3f2c44c177a0}{last\_ticks}}\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00239}00239\ \}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00240}00240\ \textcolor{preprocessor}{\#else\ }\textcolor{comment}{//BENCH\_TIME\_ENABLE}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00241}00241\ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00242}00242\ \textcolor{preprocessor}{\#define\ BenchTime\_Init()}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00243}00243\ \textcolor{preprocessor}{\#define\ BenchTime\_Start(channel,\ ticks,\ tick\_period)\ \ 0}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00244}00244\ \textcolor{preprocessor}{\#define\ BenchTime\_End(channel,\ ticks)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00245}00245\ \textcolor{preprocessor}{\#define\ BenchTime\_GetMin(channel)\ \ \ \ \ \ \ 0}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00246}00246\ \textcolor{preprocessor}{\#define\ BenchTime\_GetMax(channel)\ \ \ \ \ \ \ 0}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00247}00247\ \textcolor{preprocessor}{\#define\ BenchTime\_GetAverage(channel)\ \ \ 0}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00248}00248\ \textcolor{preprocessor}{\#define\ BenchTime\_GetCount(channel)\ \ \ \ \ 0}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00249}00249\ \textcolor{preprocessor}{\#define\ BenchTime\_GetLast(channel)\ \ \ \ \ \ 0}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00250}00250\ \textcolor{preprocessor}{\#define\ BenchTime\_ResetStats(channel)}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00251}00251\ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00252}00252\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//BENCH\_TIME\_ENABLE}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00253}00253\ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00254}00254\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ \_\_BENCH\_TIME\_H\_}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00255}00255\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00256}00256\ \textcolor{comment}{/**\ BENCH\_TIME}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00257}00257\ \textcolor{comment}{\ \ *\ @\}}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00258}00258\ \textcolor{comment}{\ \ */}}
\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}\mbox{\hyperlink{struct_bench_time_stats__t}{00080}}\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00081}\mbox{\hyperlink{struct_bench_time_stats__t_a39b71a5d48c4a51a553a26a9fb961ac8}{00081}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_bench_time_stats__t_a39b71a5d48c4a51a553a26a9fb961ac8}{min\_ticks}};\ \ \ \ \ \ \textcolor{comment}{///<\ Минимальное\ время\ в\ тиках}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00082}\mbox{\hyperlink{struct_bench_time_stats__t_a3da36eb65b03ba995b5905b4650ea93c}{00082}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_bench_time_stats__t_a3da36eb65b03ba995b5905b4650ea93c}{max\_ticks}};\ \ \ \ \ \ \textcolor{comment}{///<\ Максимальное\ время\ в\ тиках\ \ }}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00083}\mbox{\hyperlink{struct_bench_time_stats__t_a21499b0b19d1ed27f8cea069f674e8ec}{00083}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_bench_time_stats__t_a21499b0b19d1ed27f8cea069f674e8ec}{total\_ticks}};\ \ \ \ \textcolor{comment}{///<\ Суммарное\ время\ в\ тиках}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00084}\mbox{\hyperlink{struct_bench_time_stats__t_a5e95ef31dd0daf973894ef2f034d1f71}{00084}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_bench_time_stats__t_a5e95ef31dd0daf973894ef2f034d1f71}{count}};\ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Количество\ измерений}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00085}\mbox{\hyperlink{struct_bench_time_stats__t_a2c739e1db6b26ceac5db3f2c44c177a0}{00085}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_bench_time_stats__t_a2c739e1db6b26ceac5db3f2c44c177a0}{last\_ticks}};\ \ \ \ \ \textcolor{comment}{///<\ Последнее\ измеренное\ время}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00086}00086\ \}\ \mbox{\hyperlink{struct_bench_time_stats__t}{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}\mbox{\hyperlink{struct_bench_time_channel__t}{00091}}\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00092}\mbox{\hyperlink{struct_bench_time_channel__t_a8140fe9e3d323404651f0cfeeae53928}{00092}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_bench_time_channel__t_a8140fe9e3d323404651f0cfeeae53928}{start\_tick}};\ \ \ \ \ \textcolor{comment}{///<\ Время\ старта\ в\ тиках}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00093}\mbox{\hyperlink{struct_bench_time_channel__t_a095d93e0228641f58b8661e263bc1bcd}{00093}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_bench_time_channel__t_a095d93e0228641f58b8661e263bc1bcd}{tick\_period}};\ \ \ \ \textcolor{comment}{///<\ Период\ тиков\ для\ переполнения}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00094}\mbox{\hyperlink{struct_bench_time_channel__t_a0f80bb194231df7921712d20bac603c9}{00094}}\ \ \ uint32\_t\ \mbox{\hyperlink{struct_bench_time_channel__t_a0f80bb194231df7921712d20bac603c9}{is\_running}};\ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Флаг\ активного\ измерения}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00095}\mbox{\hyperlink{struct_bench_time_channel__t_a22a3913e7925aa89cc12ec1d24a6c16c}{00095}}\ \ \ \mbox{\hyperlink{struct_bench_time_stats__t}{BenchTimeStats\_t}}\ \mbox{\hyperlink{struct_bench_time_channel__t_a22a3913e7925aa89cc12ec1d24a6c16c}{stats}};\ \ \textcolor{comment}{///<\ Статистика\ измерений}}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00096}00096\ \}\ \mbox{\hyperlink{struct_bench_time_channel__t}{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}\mbox{\hyperlink{struct_bench_time__t}{00101}}\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00102}\mbox{\hyperlink{struct_bench_time__t_a51376c064bdcffba23cf65d0733e3d34}{00102}}\ \ \ \mbox{\hyperlink{struct_bench_time_channel__t}{BenchTimeChannel\_t}}\ \mbox{\hyperlink{struct_bench_time__t_a51376c064bdcffba23cf65d0733e3d34}{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\ \}\ \mbox{\hyperlink{struct_bench_time__t}{BenchTime\_t}};}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00104}00104\ }
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00105}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{00105}}\ \textcolor{keyword}{static}\ \mbox{\hyperlink{struct_bench_time__t}{BenchTime\_t}}\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{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}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gabb7a665a9603ea2e4dbc4432e8cb6054}{00110}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gabb7a665a9603ea2e4dbc4432e8cb6054}{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\ \ \ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[i].start\_tick\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00113}00113\ \ \ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[i].tick\_period\ =\ 0xFFFFFFFF;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00114}00114\ \ \ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[i].is\_running\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00115}00115\ \ \ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[i].stats.min\_ticks\ =\ 0xFFFFFFFF;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00116}00116\ \ \ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[i].stats.max\_ticks\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00117}00117\ \ \ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[i].stats.total\_ticks\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00118}00118\ \ \ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[i].stats.count\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00119}00119\ \ \ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{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}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gac65338df38129964ce3e9d9cb2fcb349}{00130}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gac65338df38129964ce3e9d9cb2fcb349}{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}\ (\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{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\ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].start\_tick\ =\ ticks;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00135}00135\ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].tick\_period\ =\ tick\_period;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00136}00136\ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{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}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga47a69851a2089140eac00cde18a12439}{00146}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga47a69851a2089140eac00cde18a12439}{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}\ (!\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{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\ =\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].start\_tick;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00152}00152\ \ \ uint32\_t\ tick\_period\ =\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{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\ \ \ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{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\ \ \ \mbox{\hyperlink{struct_bench_time_stats__t}{BenchTimeStats\_t}}*\ stats\ =\ \&\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].stats;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00169}00169\ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a2c739e1db6b26ceac5db3f2c44c177a0}{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-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a39b71a5d48c4a51a553a26a9fb961ac8}{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-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a3da36eb65b03ba995b5905b4650ea93c}{max\_ticks}})\ \{}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00176}00176\ \ \ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a3da36eb65b03ba995b5905b4650ea93c}{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-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a21499b0b19d1ed27f8cea069f674e8ec}{total\_ticks}}\ +=\ elapsed\_ticks;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00180}00180\ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a5e95ef31dd0daf973894ef2f034d1f71}{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}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga273d45255fe4403fc25648d60cca7705}{00188}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga273d45255fe4403fc25648d60cca7705}{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}\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{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}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga07e27d7b169c9fa1abd57281bb4e374e}{00196}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga07e27d7b169c9fa1abd57281bb4e374e}{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}\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{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}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga24e2450d5ea921074ec5d7a1e4d56ba8}{00204}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga24e2450d5ea921074ec5d7a1e4d56ba8}{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\ \ \ \mbox{\hyperlink{struct_bench_time_stats__t}{BenchTimeStats\_t}}*\ stats\ =\ \&\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].stats;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00207}00207\ \ \ \textcolor{keywordflow}{if}\ (stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a5e95ef31dd0daf973894ef2f034d1f71}{count}}\ ==\ 0)\ \textcolor{keywordflow}{return}\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00208}00208\ \ \ \textcolor{keywordflow}{return}\ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a21499b0b19d1ed27f8cea069f674e8ec}{total\_ticks}}\ /\ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a5e95ef31dd0daf973894ef2f034d1f71}{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}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gabd1301ca79a30c782970f89fd147df3a}{00214}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gabd1301ca79a30c782970f89fd147df3a}{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}\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{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}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gacf3a738d6423d71b238058a63558a4ed}{00222}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ uint32\_t\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gacf3a738d6423d71b238058a63558a4ed}{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}\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{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}\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga31a6b2b181b92bcb15f46758f5d57f35}{00230}}\ \textcolor{keyword}{static}\ \textcolor{keyword}{inline}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga31a6b2b181b92bcb15f46758f5d57f35}{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\ \ \ \mbox{\hyperlink{struct_bench_time_stats__t}{BenchTimeStats\_t}}*\ stats\ =\ \&\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_ga8e53ef7f7df233bd4e737a87bb203d9d}{hbt}}.channels[channel].stats;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00233}00233\ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a39b71a5d48c4a51a553a26a9fb961ac8}{min\_ticks}}\ =\ 0xFFFFFFFF;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00234}00234\ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a3da36eb65b03ba995b5905b4650ea93c}{max\_ticks}}\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00235}00235\ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a21499b0b19d1ed27f8cea069f674e8ec}{total\_ticks}}\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00236}00236\ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a5e95ef31dd0daf973894ef2f034d1f71}{count}}\ =\ 0;}
\DoxyCodeLine{\Hypertarget{bench__time_8h_source_l00237}00237\ \ \ stats-\/>\mbox{\hyperlink{struct_bench_time_stats__t_a2c739e1db6b26ceac5db3f2c44c177a0}{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}

View File

@@ -1,25 +1,23 @@
\doxysection{E\+:/.WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/bit\+\_\+access.h File Reference}
\hypertarget{bit__access_8h}{}\label{bit__access_8h}\index{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibs/Inc/bit\_access.h@{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibs/Inc/bit\_access.h}}
\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
Include dependency graph for bit\+\_\+access.\+h\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=212pt]{bit__access_8h__incl}
\includegraphics[width=218pt]{bit__access_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
This graph shows which files directly or indirectly include this file\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=212pt]{bit__access_8h__dep__incl}
\includegraphics[width=223pt]{bit__access_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}

View File

@@ -1 +1 @@
4dab8ce789924da2e24a48609f62737b
f89078e44c77b1c105e61efb2f8dc2dc

View File

@@ -1 +1 @@
b0cf5f4a55e63cfdea9bf78e53ce63ec
436553fd212e6508c6668ae510bd9715

Binary file not shown.

View File

@@ -1,5 +1,5 @@
\doxysection{bit\+\_\+access.\+h}
\hypertarget{bit__access_8h_source}{}\label{bit__access_8h_source}\index{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibs/Inc/bit\_access.h@{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibs/Inc/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}{/**\ }}
@@ -8,7 +8,7 @@
\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\_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^}}

View File

@@ -1,22 +1,17 @@
\doxysection{File List}
Here is a list of all documented files with brief descriptions\+:\begin{DoxyCompactList}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\mbox{\hyperlink{mainpage_8h_source}{mainpage.\+h}} }{\pageref{mainpage_8h_source}}{}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/\mbox{\hyperlink{bench__time_8h}{bench\+\_\+time.\+h}} \\*Заголовочный файл для измерения времени между событиями }{\pageref{bench__time_8h}}{}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/\mbox{\hyperlink{bit__access_8h}{bit\+\_\+access.\+h}} \\*Заголочный файл для дефайнов битового доступа }{\pageref{bit__access_8h}}{}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/\mbox{\hyperlink{gen__optimizer_8h}{gen\+\_\+optimizer.\+h}} \\*Заголовочный файл для адаптивного подбора параметров }{\pageref{gen__optimizer_8h}}{}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/\mbox{\hyperlink{mylibs__config_8h}{mylibs\+\_\+config.\+h}} \\*Конфигурации для библиотек My\+Libs }{\pageref{mylibs__config_8h}}{}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+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/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/\mbox{\hyperlink{mylibs__include_8h}{mylibs\+\_\+include.\+h}} \\*Заголочный файл для всех библиотек }{\pageref{mylibs__include_8h}}{}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/\mbox{\hyperlink{trace_8h}{trace.\+h}} \\*Заголочный файл для работы с трассировкой }{\pageref{trace_8h}}{}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+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/\+STM32\+\_\+\+Extended\+Libs/\+STM32\+\_\+\+General/\+Inc/\mbox{\hyperlink{____general__flash_8h_source}{\+\_\+\+\_\+general\+\_\+flash.\+h}} }{\pageref{____general__flash_8h_source}}{}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+STM32\+\_\+\+General/\+Inc/\mbox{\hyperlink{general__gpio_8h}{general\+\_\+gpio.\+h}} \\*Заголовочный файл для модуля инициализации портов и работы с ними }{\pageref{general__gpio_8h}}{}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+STM32\+\_\+\+General/\+Inc/\mbox{\hyperlink{general__spi_8h}{general\+\_\+spi.\+h}} \\*Заголовочный файл для модуля инициализации SPI }{\pageref{general__spi_8h}}{}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+STM32\+\_\+\+General/\+Inc/\mbox{\hyperlink{general__tim_8h}{general\+\_\+tim.\+h}} \\*Заголовочный файл для модуля инициализации таймеров и работы с ними }{\pageref{general__tim_8h}}{}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+STM32\+\_\+\+General/\+Inc/\mbox{\hyperlink{general__uart_8h}{general\+\_\+uart.\+h}} \\*Заголовочный файл для модуля инициализации UART }{\pageref{general__uart_8h}}{}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+STM32\+\_\+\+General/\+Src/\mbox{\hyperlink{____general__flash_8c_source}{\+\_\+\+\_\+general\+\_\+flash.\+c}} }{\pageref{____general__flash_8c_source}}{}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+STM32\+\_\+\+General/\+Src/\mbox{\hyperlink{general__gpio_8c}{general\+\_\+gpio.\+c}} \\*Модуль для инициализации портов и работы с ними }{\pageref{general__gpio_8c}}{}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+STM32\+\_\+\+General/\+Src/\mbox{\hyperlink{general__spi_8c}{general\+\_\+spi.\+c}} \\*Модуль для инициализации SPI }{\pageref{general__spi_8c}}{}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+STM32\+\_\+\+General/\+Src/\mbox{\hyperlink{general__tim_8c}{general\+\_\+tim.\+c}} \\*Модуль для инициализации таймеров и работы с ними }{\pageref{general__tim_8c}}{}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+STM32\+\_\+\+General/\+Src/\mbox{\hyperlink{general__uart_8c}{general\+\_\+uart.\+c}} \\*Модуль для инициализации UART }{\pageref{general__uart_8c}}{}
\item\contentsline{section}{E\+:/.\+WORK/\+STM32/\+STM\+\_\+\+Libs/\+STM32\+\_\+\+Extended\+Libs/\mbox{\hyperlink{mainpage_8h_source}{mainpage.\+h}} }{\pageref{mainpage_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__config_8h}{mylibs\+\_\+config.\+h}} \\*Конфигурации для библиотек My\+Libs }{\pageref{mylibs__config_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{mylibs__include_8h}{mylibs\+\_\+include.\+h}} \\*Заголочный файл для всех библиотек }{\pageref{mylibs__include_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___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/\+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}

View File

@@ -1,5 +1,5 @@
\doxysection{E\+:/.WORK/\+STM32/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs/\+Inc/gen\+\_\+optimizer.h File Reference}
\hypertarget{gen__optimizer_8h}{}\label{gen__optimizer_8h}\index{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibs/Inc/gen\_optimizer.h@{E:/.WORK/STM32/STM32\_ExtendedLibs/MyLibs/Inc/gen\_optimizer.h}}
\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}}
Заголовочный файл для адаптивного подбора параметров
@@ -8,20 +8,18 @@
{\ttfamily \#include "{}mylibs\+\_\+defs.\+h"{}}\newline
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$stdlib.\+h$>$}\newline
Include dependency graph for gen\+\_\+optimizer.\+h\+:
\nopagebreak
Include dependency graph for gen\+\_\+optimizer.\+h\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=295pt]{gen__optimizer_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
This graph shows which files directly or indirectly include this file\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=212pt]{gen__optimizer_8h__dep__incl}
\includegraphics[width=223pt]{gen__optimizer_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}

View File

@@ -1 +1 @@
f620087f87f5ce223eef2578f5c74e74
0edaf92a63ea1a4519c63edb0b8e1595

View File

@@ -1 +1 @@
d8ba80e222b124652de74ea26c9b5a44
50299f96b72f01414661d3bccbaa5bc9

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
15b595630eeca30c57a018017bc540ba
6705808550d728844cfae44f809a322b

View File

@@ -5,12 +5,11 @@
Библиотека для измерения времени/тиков между событиями
Collaboration diagram for Time measurement\+:
\nopagebreak
Collaboration diagram for Time measurement\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=291pt]{group___b_e_n_c_h___t_i_m_e}
\includegraphics[width=286pt]{group___b_e_n_c_h___t_i_m_e}
\end{center}
\end{figure}
\doxysubsubsubsubsection*{Classes}
@@ -112,7 +111,7 @@ static \mbox{\hyperlink{struct_bench_time__t}{Bench\+Time\+\_\+t}} \mbox{\hyperl
\DoxyCodeLine{uint32\_t\ count\ =\ \mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e_gabd1301ca79a30c782970f89fd147df3a}{BenchTime\_GetCount}}(0);}
\end{DoxyCode}
\end{DoxyParagraph}
@@ -131,7 +130,7 @@ void Bench\+Time\+\_\+\+Init (\begin{DoxyParamCaption}\item[{void}]{}{}\end{Doxy
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00111}{111}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00110}{110}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
\Hypertarget{group___b_e_n_c_h___t_i_m_e_gac65338df38129964ce3e9d9cb2fcb349}\index{Time measurement@{Time measurement}!BenchTime\_Start@{BenchTime\_Start}}
\index{BenchTime\_Start@{BenchTime\_Start}!Time measurement@{Time measurement}}
@@ -157,7 +156,7 @@ uint32\+\_\+t Bench\+Time\+\_\+\+Start (\begin{DoxyParamCaption}\item[{uint8\+\_
\end{DoxyReturn}
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00131}{131}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00130}{130}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
\Hypertarget{group___b_e_n_c_h___t_i_m_e_ga47a69851a2089140eac00cde18a12439}\index{Time measurement@{Time measurement}!BenchTime\_End@{BenchTime\_End}}
\index{BenchTime\_End@{BenchTime\_End}!Time measurement@{Time measurement}}
@@ -181,7 +180,7 @@ uint32\+\_\+t Bench\+Time\+\_\+\+End (\begin{DoxyParamCaption}\item[{uint8\+\_\+
\end{DoxyReturn}
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00147}{147}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00146}{146}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
\Hypertarget{group___b_e_n_c_h___t_i_m_e_ga273d45255fe4403fc25648d60cca7705}\index{Time measurement@{Time measurement}!BenchTime\_GetMin@{BenchTime\_GetMin}}
\index{BenchTime\_GetMin@{BenchTime\_GetMin}!Time measurement@{Time measurement}}
@@ -195,7 +194,7 @@ uint32\+\_\+t Bench\+Time\+\_\+\+Get\+Min (\begin{DoxyParamCaption}\item[{uint8\
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00189}{189}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00188}{188}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
\Hypertarget{group___b_e_n_c_h___t_i_m_e_ga07e27d7b169c9fa1abd57281bb4e374e}\index{Time measurement@{Time measurement}!BenchTime\_GetMax@{BenchTime\_GetMax}}
\index{BenchTime\_GetMax@{BenchTime\_GetMax}!Time measurement@{Time measurement}}
@@ -209,7 +208,7 @@ uint32\+\_\+t Bench\+Time\+\_\+\+Get\+Max (\begin{DoxyParamCaption}\item[{uint8\
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00197}{197}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00196}{196}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
\Hypertarget{group___b_e_n_c_h___t_i_m_e_ga24e2450d5ea921074ec5d7a1e4d56ba8}\index{Time measurement@{Time measurement}!BenchTime\_GetAverage@{BenchTime\_GetAverage}}
\index{BenchTime\_GetAverage@{BenchTime\_GetAverage}!Time measurement@{Time measurement}}
@@ -223,7 +222,7 @@ uint32\+\_\+t Bench\+Time\+\_\+\+Get\+Average (\begin{DoxyParamCaption}\item[{ui
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00205}{205}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00204}{204}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
\Hypertarget{group___b_e_n_c_h___t_i_m_e_gabd1301ca79a30c782970f89fd147df3a}\index{Time measurement@{Time measurement}!BenchTime\_GetCount@{BenchTime\_GetCount}}
\index{BenchTime\_GetCount@{BenchTime\_GetCount}!Time measurement@{Time measurement}}
@@ -237,7 +236,7 @@ uint32\+\_\+t Bench\+Time\+\_\+\+Get\+Count (\begin{DoxyParamCaption}\item[{uint
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00215}{215}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00214}{214}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
\Hypertarget{group___b_e_n_c_h___t_i_m_e_gacf3a738d6423d71b238058a63558a4ed}\index{Time measurement@{Time measurement}!BenchTime\_GetLast@{BenchTime\_GetLast}}
\index{BenchTime\_GetLast@{BenchTime\_GetLast}!Time measurement@{Time measurement}}
@@ -251,7 +250,7 @@ uint32\+\_\+t Bench\+Time\+\_\+\+Get\+Last (\begin{DoxyParamCaption}\item[{uint8
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00223}{223}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00222}{222}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
\Hypertarget{group___b_e_n_c_h___t_i_m_e_ga31a6b2b181b92bcb15f46758f5d57f35}\index{Time measurement@{Time measurement}!BenchTime\_ResetStats@{BenchTime\_ResetStats}}
\index{BenchTime\_ResetStats@{BenchTime\_ResetStats}!Time measurement@{Time measurement}}
@@ -265,7 +264,7 @@ void Bench\+Time\+\_\+\+Reset\+Stats (\begin{DoxyParamCaption}\item[{uint8\+\_\+
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00231}{231}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00230}{230}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
@@ -284,5 +283,5 @@ Definition at line \mbox{\hyperlink{bench__time_8h_source_l00231}{231}} of file
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00106}{106}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.
Definition at line \mbox{\hyperlink{bench__time_8h_source_l00105}{105}} of file \mbox{\hyperlink{bench__time_8h_source}{bench\+\_\+time.\+h}}.

View File

@@ -1 +1 @@
56d577ae2ce4b45bacd111b61cb7554f
b15e6059b024c1bd57db4f03c04931dd

View File

@@ -1 +1 @@
c52cb47284eaa7377e976a0f04f0002e
9bb1fbf15e0d245a5219c269dfcf886b

View File

@@ -5,8 +5,7 @@
Макросы и определения для работы с задержками в миллисекундах.
Collaboration diagram for Delays defines\+:
\nopagebreak
Collaboration diagram for Delays defines\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -65,7 +64,7 @@ Collaboration diagram for Delays defines\+:
\end{DoxyNote}
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00080}{80}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00095}{95}} 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}}
@@ -91,7 +90,7 @@ Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00080}{80}} of file
Используется для реализации неблокирующих задержек.
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00098}{98}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
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}}
@@ -131,7 +130,7 @@ Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00098}{98}} of file
\end{DoxyCode}
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00115}{115}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
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}}
@@ -171,5 +170,5 @@ Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00115}{115}} of file
\end{DoxyCode}
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00132}{132}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00147}{147}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.

View File

@@ -1 +1 @@
d5db8daac36cb4cc1a3fac830c6bfd88
48759eae8e94aea68fae58ca8d91b5d1

View File

@@ -5,8 +5,7 @@
Дефайны для обработки ошибок
Collaboration diagram for Error Handler defines\+:
\nopagebreak
Collaboration diagram for Error Handler defines\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -61,7 +60,7 @@ Error\+\_\+\+Handler который будет вызыватся в библи
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00031}{31}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
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}}
@@ -80,7 +79,7 @@ Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00031}{31}} of file
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00038}{38}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
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}}
@@ -99,7 +98,7 @@ Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00038}{38}} of file
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00041}{41}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
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}}
@@ -118,7 +117,7 @@ Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00041}{41}} of file
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00044}{44}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
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}}
@@ -137,7 +136,7 @@ Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00044}{44}} of file
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00047}{47}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
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}}
@@ -156,5 +155,5 @@ Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00047}{47}} of file
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00050}{50}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.
Definition at line \mbox{\hyperlink{mylibs__defs_8h_source_l00065}{65}} of file \mbox{\hyperlink{mylibs__defs_8h_source}{mylibs\+\_\+defs.\+h}}.

View File

@@ -5,8 +5,7 @@
Конфигурация генетического алгоритма обучения
Collaboration diagram for Genetic configs\+:
\nopagebreak
Collaboration diagram for Genetic configs\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode

View File

@@ -1 +1 @@
ec124a446898cfdeeba090736e9d2802
117f38e130c123102c33539947be2ce0

View File

@@ -5,12 +5,11 @@
Библиотека для эволюционного подбора параметров
Collaboration diagram for Genetic optimizer\+:
\nopagebreak
Collaboration diagram for Genetic optimizer\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=284pt]{group___g_e_n___o_p_t_i_m_i_z_e_r}
\includegraphics[width=279pt]{group___g_e_n___o_p_t_i_m_i_z_e_r}
\end{center}
\end{figure}
\doxysubsubsubsubsection*{Classes}
@@ -96,7 +95,7 @@ static int \mbox{\hyperlink{group___g_e_n___o_p_t_i_m_i_z_e_r_gaa9a4c4f43f7beb92
\DoxyCodeLine{param\_i16\ =\ \mbox{\hyperlink{group___g_e_n___o_p_t_i_m_i_z_e_r_gaa1d5510fe5f0bd989473f3ebe324bde3}{PARAM\_UNSCALE}}(params[3],\ \ 500.0f,\ 5000.0f);}
\end{DoxyCode}
\end{DoxyParagraph}
@@ -120,7 +119,7 @@ static int \mbox{\hyperlink{group___g_e_n___o_p_t_i_m_i_z_e_r_gaa9a4c4f43f7beb92
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00073}{73}} of file \mbox{\hyperlink{gen__optimizer_8h_source}{gen\+\_\+optimizer.\+h}}.
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00072}{72}} 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}}
@@ -139,7 +138,7 @@ Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00073}{73}} of fil
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00079}{79}} of file \mbox{\hyperlink{gen__optimizer_8h_source}{gen\+\_\+optimizer.\+h}}.
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00078}{78}} 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_ga3db7bdf57549722427e1e72dcaa87068}\index{Genetic optimizer@{Genetic optimizer}!GEN\_MUTATION\_MIN\_PCT@{GEN\_MUTATION\_MIN\_PCT}}
\index{GEN\_MUTATION\_MIN\_PCT@{GEN\_MUTATION\_MIN\_PCT}!Genetic optimizer@{Genetic optimizer}}
@@ -153,7 +152,7 @@ Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00079}{79}} of fil
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00089}{89}} of file \mbox{\hyperlink{gen__optimizer_8h_source}{gen\+\_\+optimizer.\+h}}.
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00088}{88}} 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_ga48dca8f0a0c9b96d02236ef76ac827fd}\index{Genetic optimizer@{Genetic optimizer}!GEN\_MUTATION\_MAX\_PCT@{GEN\_MUTATION\_MAX\_PCT}}
\index{GEN\_MUTATION\_MAX\_PCT@{GEN\_MUTATION\_MAX\_PCT}!Genetic optimizer@{Genetic optimizer}}
@@ -167,7 +166,7 @@ Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00089}{89}} of fil
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00092}{92}} of file \mbox{\hyperlink{gen__optimizer_8h_source}{gen\+\_\+optimizer.\+h}}.
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00091}{91}} 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_ga38607e23d9234524bc7de5869b15b8eb}\index{Genetic optimizer@{Genetic optimizer}!ELOVLE\_N\_ELITE\_CANDIDATE@{ELOVLE\_N\_ELITE\_CANDIDATE}}
\index{ELOVLE\_N\_ELITE\_CANDIDATE@{ELOVLE\_N\_ELITE\_CANDIDATE}!Genetic optimizer@{Genetic optimizer}}
@@ -181,7 +180,7 @@ Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00092}{92}} of fil
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00095}{95}} of file \mbox{\hyperlink{gen__optimizer_8h_source}{gen\+\_\+optimizer.\+h}}.
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00094}{94}} of file \mbox{\hyperlink{gen__optimizer_8h_source}{gen\+\_\+optimizer.\+h}}.
@@ -218,7 +217,7 @@ int Gen\+Optimizer\+\_\+\+Init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{
\end{DoxyReturn}
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00155}{155}} of file \mbox{\hyperlink{gen__optimizer_8h_source}{gen\+\_\+optimizer.\+h}}.
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00154}{154}} 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_gaa9a4c4f43f7beb926c85bd4817ebd628}\index{Genetic optimizer@{Genetic optimizer}!GenOptimizer\_Step@{GenOptimizer\_Step}}
\index{GenOptimizer\_Step@{GenOptimizer\_Step}!Genetic optimizer@{Genetic optimizer}}
@@ -249,5 +248,5 @@ int Gen\+Optimizer\+\_\+\+Step (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{
\end{DoxyNote}
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00225}{225}} of file \mbox{\hyperlink{gen__optimizer_8h_source}{gen\+\_\+optimizer.\+h}}.
Definition at line \mbox{\hyperlink{gen__optimizer_8h_source_l00224}{224}} of file \mbox{\hyperlink{gen__optimizer_8h_source}{gen\+\_\+optimizer.\+h}}.

View File

@@ -5,8 +5,7 @@
Подключение различных модулей библиотеки
Collaboration diagram for Libraries configs\+:
\nopagebreak
Collaboration diagram for Libraries configs\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode

View File

@@ -1 +1 @@
52c11e57bdabafd5d7af3828f403f995
13c33a8645a936a94af7b6b5cac2a05a

View File

@@ -5,8 +5,7 @@
Все используемые My\+Libs библиотеки
Collaboration diagram for My Libs\+:
\nopagebreak
Collaboration diagram for My Libs\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -18,10 +17,10 @@ Collaboration diagram for My Libs\+:
\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_f_i_n_e_s}{General Tools}}
\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___p_e_r_i_p_h_e_r_a_l}{Peripheral}}
\begin{DoxyCompactList}\small\item\em Модули для управления периферией \end{DoxyCompactList}\end{DoxyCompactItemize}
\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}
@@ -33,9 +32,8 @@ Collaboration diagram for My Libs\+:
\begin{DoxyItemize}
\item Подключить заголовочный файл HAL библиотеки конкретного МК (напр. stm32f4xx\+\_\+hal.\+h)
\item Подключить другие заголовочные файлы которые общие для всего проекта и должны быть видны
\item
\end{DoxyItemize}
\item Подключить \doxylink{mylibs__include_8h}{mylibs\+\_\+include.\+h} туда, где необходим доступ к библиотекам.
\end{DoxyItemize}
\end{DoxyItemize}\input{group___m_y_l_i_b_s___c_o_n_f_i_g}
\input{group___m_y_l_i_b_s___d_e_f_i_n_e_s}
\input{group___m_y_l_i_b_s___p_e_r_i_p_h_e_r_a_l}
\input{group___m_y_l_i_b_s___t_o_o_l_s}
\input{group___m_y_l_i_b_s___d_e_b_u_g___t_o_o_l_s}

View File

@@ -5,8 +5,7 @@
Конфигурации для библиотек My\+Libs.
Collaboration diagram for Configs\+:
\nopagebreak
Collaboration diagram for Configs\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode

View File

@@ -0,0 +1 @@
e10d808e73658cbf4719fc412f2e0b91

View File

@@ -0,0 +1,34 @@
\doxysubsection{Debug Tools }
\hypertarget{group___m_y_l_i_b_s___d_e_b_u_g___t_o_o_l_s}{}\label{group___m_y_l_i_b_s___d_e_b_u_g___t_o_o_l_s}\index{Debug Tools@{Debug Tools}}
Утилиты для тестирования программы
Collaboration diagram for Debug Tools\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{group___m_y_l_i_b_s___d_e_b_u_g___t_o_o_l_s}
\end{center}
\end{figure}
\doxysubsubsubsection*{Topics}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{group___b_e_n_c_h___t_i_m_e}{Time measurement}}
\begin{DoxyCompactList}\small\item\em Библиотека для измерения времени/тиков между событиями \end{DoxyCompactList}\item
\mbox{\hyperlink{group___g_e_n___o_p_t_i_m_i_z_e_r}{Genetic optimizer}}
\begin{DoxyCompactList}\small\item\em Библиотека для эволюционного подбора параметров \end{DoxyCompactList}\item
\mbox{\hyperlink{group___t_r_a_c_e}{Trace defines}}
\begin{DoxyCompactList}\small\item\em Дефайны для работы с трассировкой \end{DoxyCompactList}\item
\mbox{\hyperlink{group___t_r_a_c_k_e_r_s}{Trackers defines}}
\begin{DoxyCompactList}\small\item\em Дефайны для работы с трекерами \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection{Detailed Description}
Утилиты для тестирования программы
\input{group___b_e_n_c_h___t_i_m_e}
\input{group___g_e_n___o_p_t_i_m_i_z_e_r}
\input{group___t_r_a_c_e}
\input{group___t_r_a_c_k_e_r_s}

View File

@@ -5,8 +5,7 @@
Общие макросы и typedef\textquotesingle{}ы, используемые по всему проекту
Collaboration diagram for General Tools\+:
\nopagebreak
Collaboration diagram for General Tools\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode

View File

@@ -1 +1 @@
1044283365b108883d0b7a448ff91792
01d6066aba098d16d320b5b455fdca4f

View File

@@ -5,31 +5,12 @@
Модули для управления периферией
Collaboration diagram for Peripheral\+:
\nopagebreak
Collaboration diagram for Peripheral\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=331pt]{group___m_y_l_i_b_s___p_e_r_i_p_h_e_r_a_l}
\includegraphics[width=226pt]{group___m_y_l_i_b_s___p_e_r_i_p_h_e_r_a_l}
\end{center}
\end{figure}
\doxysubsubsubsection*{Topics}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{group___m_y___l_i_b_s___g_p_i_o}{GPIO Tools}}
\begin{DoxyCompactList}\small\item\em Функции и макросы для удобной работы с GPIO. \end{DoxyCompactList}\item
\mbox{\hyperlink{group___m_y___l_i_b_s___s_p_i}{SPI Tools}}
\begin{DoxyCompactList}\small\item\em Функции и макросы для удобной работы с SPI. \end{DoxyCompactList}\item
\mbox{\hyperlink{group___m_y___l_i_b_s___t_i_m}{TIM Tools}}
\begin{DoxyCompactList}\small\item\em Функции и макросы для удобной работы с TIM. \end{DoxyCompactList}\item
\mbox{\hyperlink{group___m_y___l_i_b_s___u_a_r_t}{UART Tools}}
\begin{DoxyCompactList}\small\item\em Функции и макросы для удобной работы с UART. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection{Detailed Description}
Модули для управления периферией
\input{group___m_y___l_i_b_s___g_p_i_o}
\input{group___m_y___l_i_b_s___s_p_i}
\input{group___m_y___l_i_b_s___t_i_m}
\input{group___m_y___l_i_b_s___u_a_r_t}

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