добавление bench_time и рефакторинг генетического алгоритма

This commit is contained in:
Razvalyaev 2025-10-27 09:39:57 +03:00
parent 5c4c815961
commit 15c0e3755d
294 changed files with 9147 additions and 2935 deletions

View File

@ -558,7 +558,7 @@ EXTRACT_PACKAGE = NO
# included in the documentation.
# The default value is: NO.
EXTRACT_STATIC = NO
EXTRACT_STATIC = YES
# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
# locally in source files will be included in the documentation. If set to NO,

View File

@ -102,19 +102,22 @@ $(function(){initNavTree('annotated.html','',''); });
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_evolve_optimizer__t.html" target="_self">EvolveOptimizer_t</a></td><td class="desc">Структура эволюционного оптимизатора </td></tr>
<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_g_p_i_o___l_e_d_type_def.html" target="_self">GPIO_LEDTypeDef</a></td><td class="desc">Структура светодиода </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_g_p_i_o___switch_type_def.html" target="_self">GPIO_SwitchTypeDef</a></td><td class="desc">Структура кнопки </td></tr>
<tr id="row_3_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_h_f___stack_frame__t.html" target="_self">HF_StackFrame_t</a></td><td class="desc">Контекст стек-фрейма процессора при HardFault </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_r_t_t___flash_header__t.html" target="_self">RTT_FlashHeader_t</a></td><td class="desc">Структура RTT, которая будет положена в Flash </td></tr>
<tr id="row_5_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_s_p_i___settings_type_def.html" target="_self">SPI_SettingsTypeDef</a></td><td class="desc">Структура настроек SPI </td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_t_i_m___encoder_type_def.html" target="_self">TIM_EncoderTypeDef</a></td><td class="desc">Структура инициализации енкодера </td></tr>
<tr id="row_7_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_t_i_m___settings_type_def.html" target="_self">TIM_SettingsTypeDef</a></td><td class="desc">Структура инициализации таймера </td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_u_a_r_t___settings_type_def.html" target="_self">UART_SettingsTypeDef</a></td><td class="desc">Структура настроек UART </td></tr>
<tr id="row_9_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionuint16___bit_type_def.html" target="_self">uint16_BitTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionuint32___bit_type_def.html" target="_self">uint32_BitTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_11_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionuint64___bit_type_def.html" target="_self">uint64_BitTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionuint8___bit_type_def.html" target="_self">uint8_BitTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_bench_time__t.html" target="_self">BenchTime_t</a></td><td class="desc">Основная структура менеджера измерений </td></tr>
<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_bench_time_channel__t.html" target="_self">BenchTimeChannel_t</a></td><td class="desc">Структура канала измерения </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_bench_time_stats__t.html" target="_self">BenchTimeStats_t</a></td><td class="desc">Структура статистики измерений </td></tr>
<tr id="row_3_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_gen_optimizer__t.html" target="_self">GenOptimizer_t</a></td><td class="desc">Структура эволюционного оптимизатора </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_g_p_i_o___l_e_d_type_def.html" target="_self">GPIO_LEDTypeDef</a></td><td class="desc">Структура светодиода </td></tr>
<tr id="row_5_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_g_p_i_o___switch_type_def.html" target="_self">GPIO_SwitchTypeDef</a></td><td class="desc">Структура кнопки </td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_h_f___stack_frame__t.html" target="_self">HF_StackFrame_t</a></td><td class="desc">Контекст стек-фрейма процессора при HardFault </td></tr>
<tr id="row_7_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_r_t_t___flash_header__t.html" target="_self">RTT_FlashHeader_t</a></td><td class="desc">Структура RTT, которая будет положена в Flash </td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_s_p_i___settings_type_def.html" target="_self">SPI_SettingsTypeDef</a></td><td class="desc">Структура настроек SPI </td></tr>
<tr id="row_9_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_t_i_m___encoder_type_def.html" target="_self">TIM_EncoderTypeDef</a></td><td class="desc">Структура инициализации енкодера </td></tr>
<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_t_i_m___settings_type_def.html" target="_self">TIM_SettingsTypeDef</a></td><td class="desc">Структура инициализации таймера </td></tr>
<tr id="row_11_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_u_a_r_t___settings_type_def.html" target="_self">UART_SettingsTypeDef</a></td><td class="desc">Структура настроек UART </td></tr>
<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionuint16___bit_type_def.html" target="_self">uint16_BitTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_13_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionuint32___bit_type_def.html" target="_self">uint32_BitTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionuint64___bit_type_def.html" target="_self">uint64_BitTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_15_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionuint8___bit_type_def.html" target="_self">uint8_BitTypeDef</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->

View File

@ -1,6 +1,9 @@
var annotated_dup =
[
[ "EvolveOptimizer_t", "struct_evolve_optimizer__t.html", "struct_evolve_optimizer__t" ],
[ "BenchTime_t", "struct_bench_time__t.html", "struct_bench_time__t" ],
[ "BenchTimeChannel_t", "struct_bench_time_channel__t.html", "struct_bench_time_channel__t" ],
[ "BenchTimeStats_t", "struct_bench_time_stats__t.html", "struct_bench_time_stats__t" ],
[ "GenOptimizer_t", "struct_gen_optimizer__t.html", "struct_gen_optimizer__t" ],
[ "GPIO_LEDTypeDef", "struct_g_p_i_o___l_e_d_type_def.html", "struct_g_p_i_o___l_e_d_type_def" ],
[ "GPIO_SwitchTypeDef", "struct_g_p_i_o___switch_type_def.html", "struct_g_p_i_o___switch_type_def" ],
[ "HF_StackFrame_t", "struct_h_f___stack_frame__t.html", "struct_h_f___stack_frame__t" ],

View File

@ -0,0 +1,185 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/bench_time.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('bench__time_8h.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">bench_time.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Заголовочный файл для измерения времени между событиями
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>&quot;</code><br />
<code>#include &lt;stdint.h&gt;</code><br />
</div><div class="textblock"><div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Include dependency graph for bench_time.h:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="bench__time_8h__incl.png" border="0" usemap="#a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2bench__time_8h" loading="lazy" alt=""/></div>
<map name="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2bench__time_8h" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2bench__time_8h">
<area shape="rect" title="Заголовочный файл для измерения времени между событиями" alt="" coords="29,5,206,64"/>
<area shape="rect" href="mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="13,112,115,139"/>
<area shape="poly" title=" " alt="" coords="102,66,82,100,77,97,98,63"/>
<area shape="rect" title=" " alt="" coords="140,112,204,139"/>
<area shape="poly" title=" " alt="" coords="137,63,159,97,154,100,133,66"/>
<area shape="rect" href="mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="8,187,120,213"/>
<area shape="poly" title=" " alt="" coords="67,139,67,171,61,171,61,139"/>
<area shape="rect" title=" " alt="" coords="5,261,123,288"/>
<area shape="poly" title=" " alt="" coords="67,214,67,246,61,246,61,214"/>
</map>
</div>
</div>
<p><a href="bench__time_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:BenchTimeStats_5Ft" id="r_BenchTimeStats_5Ft"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_bench_time_stats__t.html">BenchTimeStats_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Структура статистики измерений <a href="struct_bench_time_stats__t.html#details">More...</a><br /></td></tr>
<tr class="memitem:BenchTimeChannel_5Ft" id="r_BenchTimeChannel_5Ft"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_bench_time_channel__t.html">BenchTimeChannel_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Структура канала измерения <a href="struct_bench_time_channel__t.html#details">More...</a><br /></td></tr>
<tr class="memitem:BenchTime_5Ft" id="r_BenchTime_5Ft"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_bench_time__t.html">BenchTime_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Основная структура менеджера измерений <a href="struct_bench_time__t.html#details">More...</a><br /></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gabb7a665a9603ea2e4dbc4432e8cb6054" id="r_gabb7a665a9603ea2e4dbc4432e8cb6054"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#gabb7a665a9603ea2e4dbc4432e8cb6054">BenchTime_Init</a> (void)</td></tr>
<tr class="memdesc:gabb7a665a9603ea2e4dbc4432e8cb6054"><td class="mdescLeft">&#160;</td><td class="mdescRight">Инициализация системы измерения времени <br /></td></tr>
<tr class="memitem:gac65338df38129964ce3e9d9cb2fcb349" id="r_gac65338df38129964ce3e9d9cb2fcb349"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#gac65338df38129964ce3e9d9cb2fcb349">BenchTime_Start</a> (uint8_t channel, uint32_t ticks, uint32_t tick_period)</td></tr>
<tr class="memdesc:gac65338df38129964ce3e9d9cb2fcb349"><td class="mdescLeft">&#160;</td><td class="mdescRight">Начало измерения на указанном канале <br /></td></tr>
<tr class="memitem:ga47a69851a2089140eac00cde18a12439" id="r_ga47a69851a2089140eac00cde18a12439"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga47a69851a2089140eac00cde18a12439">BenchTime_End</a> (uint8_t channel, uint32_t ticks)</td></tr>
<tr class="memdesc:ga47a69851a2089140eac00cde18a12439"><td class="mdescLeft">&#160;</td><td class="mdescRight">Окончание измерения на указанном канале <br /></td></tr>
<tr class="memitem:ga273d45255fe4403fc25648d60cca7705" id="r_ga273d45255fe4403fc25648d60cca7705"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga273d45255fe4403fc25648d60cca7705">BenchTime_GetMin</a> (uint8_t channel)</td></tr>
<tr class="memdesc:ga273d45255fe4403fc25648d60cca7705"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получение минимального времени измерения <br /></td></tr>
<tr class="memitem:ga07e27d7b169c9fa1abd57281bb4e374e" id="r_ga07e27d7b169c9fa1abd57281bb4e374e"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga07e27d7b169c9fa1abd57281bb4e374e">BenchTime_GetMax</a> (uint8_t channel)</td></tr>
<tr class="memdesc:ga07e27d7b169c9fa1abd57281bb4e374e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получение максимального времени измерения <br /></td></tr>
<tr class="memitem:ga24e2450d5ea921074ec5d7a1e4d56ba8" id="r_ga24e2450d5ea921074ec5d7a1e4d56ba8"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga24e2450d5ea921074ec5d7a1e4d56ba8">BenchTime_GetAverage</a> (uint8_t channel)</td></tr>
<tr class="memdesc:ga24e2450d5ea921074ec5d7a1e4d56ba8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получение среднего времени измерения <br /></td></tr>
<tr class="memitem:gabd1301ca79a30c782970f89fd147df3a" id="r_gabd1301ca79a30c782970f89fd147df3a"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#gabd1301ca79a30c782970f89fd147df3a">BenchTime_GetCount</a> (uint8_t channel)</td></tr>
<tr class="memdesc:gabd1301ca79a30c782970f89fd147df3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получение количества измерений <br /></td></tr>
<tr class="memitem:gacf3a738d6423d71b238058a63558a4ed" id="r_gacf3a738d6423d71b238058a63558a4ed"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#gacf3a738d6423d71b238058a63558a4ed">BenchTime_GetLast</a> (uint8_t channel)</td></tr>
<tr class="memdesc:gacf3a738d6423d71b238058a63558a4ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получение последнего измеренного времени <br /></td></tr>
<tr class="memitem:ga31a6b2b181b92bcb15f46758f5d57f35" id="r_ga31a6b2b181b92bcb15f46758f5d57f35"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga31a6b2b181b92bcb15f46758f5d57f35">BenchTime_ResetStats</a> (uint8_t channel)</td></tr>
<tr class="memdesc:ga31a6b2b181b92bcb15f46758f5d57f35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Сброс статистики для канала <br /></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-var-members" class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga8e53ef7f7df233bd4e737a87bb203d9d" id="r_ga8e53ef7f7df233bd4e737a87bb203d9d"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct_bench_time__t.html">BenchTime_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a> = {0}</td></tr>
<tr class="memdesc:ga8e53ef7f7df233bd4e737a87bb203d9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Внутренний экземпляр <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Заголовочный файл для измерения времени между событиями </p>
<p class="definition">Definition in file <a class="el" href="bench__time_8h_source.html">bench_time.h</a>.</p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<div id="page-nav" class="page-nav-panel">
<div id="page-nav-resize-handle"></div>
<div id="page-nav-tree">
<div id="page-nav-contents">
</div><!-- page-nav-contents -->
</div><!-- page-nav-tree -->
</div><!-- page-nav -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a href="dir_d4b2573a0c19afb61452cc3d00967af1.html">MyLibs</a></li><li class="navelem"><a href="dir_8eb68c124db7670c3cb56141b10519ea.html">Inc</a></li><li class="navelem"><a href="bench__time_8h.html">bench_time.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,13 @@
var bench__time_8h =
[
[ "BenchTime_Init", "group___b_e_n_c_h___t_i_m_e.html#gabb7a665a9603ea2e4dbc4432e8cb6054", null ],
[ "BenchTime_Start", "group___b_e_n_c_h___t_i_m_e.html#gac65338df38129964ce3e9d9cb2fcb349", null ],
[ "BenchTime_End", "group___b_e_n_c_h___t_i_m_e.html#ga47a69851a2089140eac00cde18a12439", null ],
[ "BenchTime_GetMin", "group___b_e_n_c_h___t_i_m_e.html#ga273d45255fe4403fc25648d60cca7705", null ],
[ "BenchTime_GetMax", "group___b_e_n_c_h___t_i_m_e.html#ga07e27d7b169c9fa1abd57281bb4e374e", null ],
[ "BenchTime_GetAverage", "group___b_e_n_c_h___t_i_m_e.html#ga24e2450d5ea921074ec5d7a1e4d56ba8", null ],
[ "BenchTime_GetCount", "group___b_e_n_c_h___t_i_m_e.html#gabd1301ca79a30c782970f89fd147df3a", null ],
[ "BenchTime_GetLast", "group___b_e_n_c_h___t_i_m_e.html#gacf3a738d6423d71b238058a63558a4ed", null ],
[ "BenchTime_ResetStats", "group___b_e_n_c_h___t_i_m_e.html#ga31a6b2b181b92bcb15f46758f5d57f35", null ],
[ "hbt", "group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d", null ]
];

View File

@ -0,0 +1,11 @@
<map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/bench_time.h" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/bench_time.h">
<area shape="rect" id="Node000001" title="Заголовочный файл для измерения времени между событиями" alt="" coords="29,5,206,64"/>
<area shape="rect" id="Node000002" href="$mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="13,112,115,139"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="102,66,82,100,77,97,98,63"/>
<area shape="rect" id="Node000005" title=" " alt="" coords="140,112,204,139"/>
<area shape="poly" id="edge4_Node000001_Node000005" title=" " alt="" coords="137,63,159,97,154,100,133,66"/>
<area shape="rect" id="Node000003" href="$mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="8,187,120,213"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="67,139,67,171,61,171,61,139"/>
<area shape="rect" id="Node000004" title=" " alt="" coords="5,261,123,288"/>
<area shape="poly" id="edge3_Node000003_Node000004" title=" " alt="" coords="67,214,67,246,61,246,61,214"/>
</map>

View File

@ -0,0 +1 @@
e2f287c82f2aba927295813f84ac4e31

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@ -0,0 +1,421 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/bench_time.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('bench__time_8h_source.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">bench_time.h</div></div>
</div><!--header-->
<div class="contents">
<a href="bench__time_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">******************************************************************************</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">* @file bench_time.h</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">* @brief Заголовочный файл для измерения времени между событиями</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">******************************************************************************</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">* @addtogroup BENCH_TIME Time measurement</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">* @ingroup MYLIBS_DEFINES</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment">* @brief Библиотека для измерения времени/тиков между событиями</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">* @details</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment">Поддерживает:</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment">- Многоканальные измерения (несколько независимых таймеров)</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment">- Платформонезависимый интерфейс</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment">- Измерение в тиках или временных единицах</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">- Статистику измерений (мин/макс/среднее)</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment">- Настраиваемый размер тиков для каждого канала</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"></span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">Параметры для конфигурации:</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">- @ref BENCH_TIME_ENABLE - Включить бенч времени</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">- @ref BENCH_TIME_MAX_CHANNELS - Максимальное количество каналов измерения (по умолчанию 8)</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"></span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">@par Пример использования:</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">@code</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment">#include &quot;bench_time.h&quot;</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment"></span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment">// Инициализация</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment">BenchTime_Init();</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment"></span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment">// Измерение с SysTick</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment">BenchTime_Start(0, HAL_GetTick, 0xFFFFFFFF);</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment">some_function();</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment">uint32_t time = BenchTime_End(0, HAL_GetTick);</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment"></span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment">// Измерение с TIM2 (16-бит)</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment">BenchTime_Start(1, TIM2-&gt;CNT, 0xFFFF);</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment">fast_function(); </span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment">uint32_t time2 = BenchTime_End(1, TIM2-&gt;CNT);</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment"></span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment">// Измерение с DWT цикловым счетчиком</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="comment">BenchTime_Start(2, DWT-&gt;CYCCNT, 0xFFFFFFFF);</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="comment">critical_function();</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="comment">uint32_t cycles = BenchTime_End(2, DWT-&gt;CYCCNT);</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="comment"></span> </div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="comment">// Многоканальное измерение</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="comment">BenchTime_Start(0, HAL_GetTick, 1000); // общее время</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="comment">BenchTime_Start(1, TIM3-&gt;CNT, 500); // часть 1</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="comment"></span> </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="comment">// ... код 1</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="comment"></span> </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="comment">uint32_t part1 = BenchTime_End(1, TIM3-&gt;CNT);</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="comment">BenchTime_Start(2, TIM4-&gt;CNT, 200); // часть 2 </span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="comment"></span> </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="comment">// ... код 2</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="comment"></span> </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="comment">uint32_t part2 = BenchTime_End(2, TIM4-&gt;CNT);</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="comment">uint32_t total = BenchTime_End(0, HAL_GetTick); // общее время</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="comment"></span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="comment">// Статистика</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="comment">uint32_t min_time = BenchTime_GetMin(0);</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="comment">uint32_t max_time = BenchTime_GetMax(0);</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="comment">uint32_t avg_time = BenchTime_GetAverage(0);</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="comment">uint32_t count = BenchTime_GetCount(0);</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="comment">@endcode</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="comment">* @{ </span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="comment">*****************************************************************************/</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="preprocessor">#ifndef __BENCH_TIME_H_</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="preprocessor">#define __BENCH_TIME_H_</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="preprocessor">#include &quot;<a class="code" href="mylibs__defs_8h.html">mylibs_defs.h</a>&quot;</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="preprocessor">#ifdef BENCH_TIME_ENABLE</span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="comment">// Конфигурация библиотеки</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="preprocessor">#ifndef BENCH_TIME_MAX_CHANNELS</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="preprocessor">#define BENCH_TIME_MAX_CHANNELS 8 </span><span class="comment">///&lt; Максимальное количество каналов измерения</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="comment"></span> </div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="comment">/**</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="comment"> * @brief Структура статистики измерений</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00081" data-start="{" data-end="};">
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="struct_bench_time_stats__t.html"> 81</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="struct_bench_time_stats__t.html#a39b71a5d48c4a51a553a26a9fb961ac8"> 82</a></span> uint32_t <a class="code hl_variable" href="struct_bench_time_stats__t.html#a39b71a5d48c4a51a553a26a9fb961ac8">min_ticks</a>; <span class="comment">///&lt; Минимальное время в тиках</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="struct_bench_time_stats__t.html#a3da36eb65b03ba995b5905b4650ea93c"> 83</a></span> uint32_t <a class="code hl_variable" href="struct_bench_time_stats__t.html#a3da36eb65b03ba995b5905b4650ea93c">max_ticks</a>; <span class="comment">///&lt; Максимальное время в тиках </span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="struct_bench_time_stats__t.html#a21499b0b19d1ed27f8cea069f674e8ec"> 84</a></span> uint32_t <a class="code hl_variable" href="struct_bench_time_stats__t.html#a21499b0b19d1ed27f8cea069f674e8ec">total_ticks</a>; <span class="comment">///&lt; Суммарное время в тиках</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="struct_bench_time_stats__t.html#a5e95ef31dd0daf973894ef2f034d1f71"> 85</a></span> uint32_t <a class="code hl_variable" href="struct_bench_time_stats__t.html#a5e95ef31dd0daf973894ef2f034d1f71">count</a>; <span class="comment">///&lt; Количество измерений</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="struct_bench_time_stats__t.html#a2c739e1db6b26ceac5db3f2c44c177a0"> 86</a></span> uint32_t <a class="code hl_variable" href="struct_bench_time_stats__t.html#a2c739e1db6b26ceac5db3f2c44c177a0">last_ticks</a>; <span class="comment">///&lt; Последнее измеренное время</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span>} <a class="code hl_struct" href="struct_bench_time_stats__t.html">BenchTimeStats_t</a>;</div>
</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="comment"></span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="comment">/**</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="comment"> * @brief Структура канала измерения</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00092" data-start="{" data-end="};">
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="struct_bench_time_channel__t.html"> 92</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="struct_bench_time_channel__t.html#a8140fe9e3d323404651f0cfeeae53928"> 93</a></span> uint32_t <a class="code hl_variable" href="struct_bench_time_channel__t.html#a8140fe9e3d323404651f0cfeeae53928">start_tick</a>; <span class="comment">///&lt; Время старта в тиках</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="struct_bench_time_channel__t.html#a095d93e0228641f58b8661e263bc1bcd"> 94</a></span> uint32_t <a class="code hl_variable" href="struct_bench_time_channel__t.html#a095d93e0228641f58b8661e263bc1bcd">tick_period</a>; <span class="comment">///&lt; Период тиков для переполнения</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="struct_bench_time_channel__t.html#a0f80bb194231df7921712d20bac603c9"> 95</a></span> uint32_t <a class="code hl_variable" href="struct_bench_time_channel__t.html#a0f80bb194231df7921712d20bac603c9">is_running</a>; <span class="comment">///&lt; Флаг активного измерения</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="struct_bench_time_channel__t.html#a22a3913e7925aa89cc12ec1d24a6c16c"> 96</a></span> <a class="code hl_struct" href="struct_bench_time_stats__t.html">BenchTimeStats_t</a> <a class="code hl_variable" href="struct_bench_time_channel__t.html#a22a3913e7925aa89cc12ec1d24a6c16c">stats</a>; <span class="comment">///&lt; Статистика измерений</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span>} <a class="code hl_struct" href="struct_bench_time_channel__t.html">BenchTimeChannel_t</a>;</div>
</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="comment"></span> </div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="comment">/**</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="comment"> * @brief Основная структура менеджера измерений</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00102" data-start="{" data-end="};">
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="struct_bench_time__t.html"> 102</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="struct_bench_time__t.html#a9ae6d45c610be9d4b7628a614ccb06d6"> 103</a></span> <a class="code hl_struct" href="struct_bench_time_channel__t.html">BenchTimeChannel_t</a> <a class="code hl_variable" href="struct_bench_time__t.html#a9ae6d45c610be9d4b7628a614ccb06d6">channels</a>[<a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52">BENCH_TIME_MAX_CHANNELS</a>]; <span class="comment">///&lt; Каналы измерения</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span>} <a class="code hl_struct" href="struct_bench_time__t.html">BenchTime_t</a>;</div>
</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> </div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d"> 106</a></span><span class="keyword">static</span> <a class="code hl_struct" href="struct_bench_time__t.html">BenchTime_t</a> <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a> = {0}; <span class="comment">///&lt; Внутренний экземпляр</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="comment"></span> </div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="comment">/**</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="comment"> * @brief Инициализация системы измерения времени</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00111" data-start="{" data-end="}">
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="group___b_e_n_c_h___t_i_m_e.html#gabb7a665a9603ea2e4dbc4432e8cb6054"> 111</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="group___b_e_n_c_h___t_i_m_e.html#gabb7a665a9603ea2e4dbc4432e8cb6054">BenchTime_Init</a>(<span class="keywordtype">void</span>) {</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; <a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52">BENCH_TIME_MAX_CHANNELS</a>; i++) {</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[i].start_tick = 0;</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[i].tick_period = 0xFFFFFFFF;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[i].is_running = 0;</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[i].stats.min_ticks = 0xFFFFFFFF;</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[i].stats.max_ticks = 0;</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[i].stats.total_ticks = 0;</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[i].stats.count = 0;</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[i].stats.last_ticks = 0;</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> }</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span>}</div>
</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span><span class="comment"></span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="comment">/**</span></div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span><span class="comment"> * @brief Начало измерения на указанном канале</span></div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span><span class="comment"> * @param channel Номер канала (0..BENCH_TIME_MAX_CHANNELS-1)</span></div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="comment"> * @param ticks Источник тиков (например: HAL_GetTick(), TIM2-&gt;CNT, DWT-&gt;CYCCNT)</span></div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span><span class="comment"> * @param tick_period Период тиков для переполнения</span></div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span><span class="comment"> * @return 1 - успех, 0 - ошибка</span></div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00131" data-start="{" data-end="}">
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="group___b_e_n_c_h___t_i_m_e.html#gac65338df38129964ce3e9d9cb2fcb349"> 131</a></span><span class="keyword">static</span> <span class="keyword">inline</span> uint32_t <a class="code hl_function" href="group___b_e_n_c_h___t_i_m_e.html#gac65338df38129964ce3e9d9cb2fcb349">BenchTime_Start</a>(uint8_t channel, uint32_t ticks, uint32_t tick_period) {</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">if</span> (channel &gt;= <a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52">BENCH_TIME_MAX_CHANNELS</a>) <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[channel].is_running) <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[channel].start_tick = ticks;</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[channel].tick_period = tick_period;</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[channel].is_running = 1;</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keywordflow">return</span> 1;</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span>}</div>
</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="comment"></span> </div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="comment">/**</span></div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="comment"> * @brief Окончание измерения на указанном канале</span></div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="comment"> * @param channel Номер канала (0..BENCH_TIME_MAX_CHANNELS-1)</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span><span class="comment"> * @param ticks Источник тиков (должен быть тот же что в Start)</span></div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span><span class="comment"> * @return Измеренное время в тиках, 0 - в случае ошибки</span></div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00147" data-start="{" data-end="}">
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="group___b_e_n_c_h___t_i_m_e.html#ga47a69851a2089140eac00cde18a12439"> 147</a></span><span class="keyword">static</span> <span class="keyword">inline</span> uint32_t <a class="code hl_function" href="group___b_e_n_c_h___t_i_m_e.html#ga47a69851a2089140eac00cde18a12439">BenchTime_End</a>(uint8_t channel, uint32_t ticks) {</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">if</span> (channel &gt;= <a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52">BENCH_TIME_MAX_CHANNELS</a>) <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[channel].is_running) <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> uint32_t end_tick = ticks;</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> uint32_t start_tick = <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[channel].start_tick;</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> uint32_t tick_period = <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[channel].tick_period;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> uint32_t elapsed_ticks;</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">if</span> (end_tick &gt;= start_tick) {</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> elapsed_ticks = end_tick - start_tick;</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> elapsed_ticks = (tick_period - start_tick) + end_tick + 1;</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> }</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> </div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">if</span> (elapsed_ticks &gt; tick_period) {</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> elapsed_ticks = tick_period;</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> }</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[channel].is_running = 0;</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> </div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="comment">// Обновление статистики</span></div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <a class="code hl_struct" href="struct_bench_time_stats__t.html">BenchTimeStats_t</a>* stats = &amp;<a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[channel].stats;</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> stats-&gt;<a class="code hl_variable" href="struct_bench_time_stats__t.html#a2c739e1db6b26ceac5db3f2c44c177a0">last_ticks</a> = elapsed_ticks;</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> </div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">if</span> (elapsed_ticks &lt; stats-&gt;min_ticks) {</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> stats-&gt;<a class="code hl_variable" href="struct_bench_time_stats__t.html#a39b71a5d48c4a51a553a26a9fb961ac8">min_ticks</a> = elapsed_ticks;</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> }</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> </div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">if</span> (elapsed_ticks &gt; stats-&gt;<a class="code hl_variable" href="struct_bench_time_stats__t.html#a3da36eb65b03ba995b5905b4650ea93c">max_ticks</a>) {</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> stats-&gt;<a class="code hl_variable" href="struct_bench_time_stats__t.html#a3da36eb65b03ba995b5905b4650ea93c">max_ticks</a> = elapsed_ticks;</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> }</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> </div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> stats-&gt;<a class="code hl_variable" href="struct_bench_time_stats__t.html#a21499b0b19d1ed27f8cea069f674e8ec">total_ticks</a> += elapsed_ticks;</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> stats-&gt;<a class="code hl_variable" href="struct_bench_time_stats__t.html#a5e95ef31dd0daf973894ef2f034d1f71">count</a>++;</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> </div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">return</span> elapsed_ticks;</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span>}</div>
</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span><span class="comment"></span> </div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span><span class="comment">/**</span></div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span><span class="comment"> * @brief Получение минимального времени измерения</span></div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00189" data-start="{" data-end="}">
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"><a class="line" href="group___b_e_n_c_h___t_i_m_e.html#ga273d45255fe4403fc25648d60cca7705"> 189</a></span><span class="keyword">static</span> <span class="keyword">inline</span> uint32_t <a class="code hl_function" href="group___b_e_n_c_h___t_i_m_e.html#ga273d45255fe4403fc25648d60cca7705">BenchTime_GetMin</a>(uint8_t channel) {</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">if</span> (channel &gt;= <a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52">BENCH_TIME_MAX_CHANNELS</a>) <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[channel].stats.min_ticks;</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span>}</div>
</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span><span class="comment"></span> </div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span><span class="comment">/**</span></div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span><span class="comment"> * @brief Получение максимального времени измерения</span></div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00197" data-start="{" data-end="}">
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"><a class="line" href="group___b_e_n_c_h___t_i_m_e.html#ga07e27d7b169c9fa1abd57281bb4e374e"> 197</a></span><span class="keyword">static</span> <span class="keyword">inline</span> uint32_t <a class="code hl_function" href="group___b_e_n_c_h___t_i_m_e.html#ga07e27d7b169c9fa1abd57281bb4e374e">BenchTime_GetMax</a>(uint8_t channel) {</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">if</span> (channel &gt;= <a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52">BENCH_TIME_MAX_CHANNELS</a>) <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[channel].stats.max_ticks;</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span>}</div>
</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span><span class="comment"></span> </div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span><span class="comment">/**</span></div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span><span class="comment"> * @brief Получение среднего времени измерения</span></div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00205" data-start="{" data-end="}">
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"><a class="line" href="group___b_e_n_c_h___t_i_m_e.html#ga24e2450d5ea921074ec5d7a1e4d56ba8"> 205</a></span><span class="keyword">static</span> <span class="keyword">inline</span> uint32_t <a class="code hl_function" href="group___b_e_n_c_h___t_i_m_e.html#ga24e2450d5ea921074ec5d7a1e4d56ba8">BenchTime_GetAverage</a>(uint8_t channel) {</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">if</span> (channel &gt;= <a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52">BENCH_TIME_MAX_CHANNELS</a>) <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <a class="code hl_struct" href="struct_bench_time_stats__t.html">BenchTimeStats_t</a>* stats = &amp;<a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[channel].stats;</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">if</span> (stats-&gt;<a class="code hl_variable" href="struct_bench_time_stats__t.html#a5e95ef31dd0daf973894ef2f034d1f71">count</a> == 0) <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">return</span> stats-&gt;<a class="code hl_variable" href="struct_bench_time_stats__t.html#a21499b0b19d1ed27f8cea069f674e8ec">total_ticks</a> / stats-&gt;<a class="code hl_variable" href="struct_bench_time_stats__t.html#a5e95ef31dd0daf973894ef2f034d1f71">count</a>;</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span>}</div>
</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span><span class="comment"></span> </div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span><span class="comment">/**</span></div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span><span class="comment"> * @brief Получение количества измерений</span></div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00215" data-start="{" data-end="}">
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"><a class="line" href="group___b_e_n_c_h___t_i_m_e.html#gabd1301ca79a30c782970f89fd147df3a"> 215</a></span><span class="keyword">static</span> <span class="keyword">inline</span> uint32_t <a class="code hl_function" href="group___b_e_n_c_h___t_i_m_e.html#gabd1301ca79a30c782970f89fd147df3a">BenchTime_GetCount</a>(uint8_t channel) {</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">if</span> (channel &gt;= <a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52">BENCH_TIME_MAX_CHANNELS</a>) <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[channel].stats.count;</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span>}</div>
</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span><span class="comment"></span> </div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span><span class="comment">/**</span></div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span><span class="comment"> * @brief Получение последнего измеренного времени</span></div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00223" data-start="{" data-end="}">
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"><a class="line" href="group___b_e_n_c_h___t_i_m_e.html#gacf3a738d6423d71b238058a63558a4ed"> 223</a></span><span class="keyword">static</span> <span class="keyword">inline</span> uint32_t <a class="code hl_function" href="group___b_e_n_c_h___t_i_m_e.html#gacf3a738d6423d71b238058a63558a4ed">BenchTime_GetLast</a>(uint8_t channel) {</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">if</span> (channel &gt;= <a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52">BENCH_TIME_MAX_CHANNELS</a>) <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[channel].stats.last_ticks;</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span>}</div>
</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span><span class="comment"></span> </div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span><span class="comment">/**</span></div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span><span class="comment"> * @brief Сброс статистики для канала</span></div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00231" data-start="{" data-end="}">
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"><a class="line" href="group___b_e_n_c_h___t_i_m_e.html#ga31a6b2b181b92bcb15f46758f5d57f35"> 231</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="group___b_e_n_c_h___t_i_m_e.html#ga31a6b2b181b92bcb15f46758f5d57f35">BenchTime_ResetStats</a>(uint8_t channel) {</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">if</span> (channel &gt;= <a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52">BENCH_TIME_MAX_CHANNELS</a>) <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <a class="code hl_struct" href="struct_bench_time_stats__t.html">BenchTimeStats_t</a>* stats = &amp;<a class="code hl_variable" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a>.channels[channel].stats;</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> stats-&gt;<a class="code hl_variable" href="struct_bench_time_stats__t.html#a39b71a5d48c4a51a553a26a9fb961ac8">min_ticks</a> = 0xFFFFFFFF;</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> stats-&gt;<a class="code hl_variable" href="struct_bench_time_stats__t.html#a3da36eb65b03ba995b5905b4650ea93c">max_ticks</a> = 0;</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> stats-&gt;<a class="code hl_variable" href="struct_bench_time_stats__t.html#a21499b0b19d1ed27f8cea069f674e8ec">total_ticks</a> = 0;</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> stats-&gt;<a class="code hl_variable" href="struct_bench_time_stats__t.html#a5e95ef31dd0daf973894ef2f034d1f71">count</a> = 0;</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> stats-&gt;<a class="code hl_variable" href="struct_bench_time_stats__t.html#a2c739e1db6b26ceac5db3f2c44c177a0">last_ticks</a> = 0;</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span>}</div>
</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span><span class="preprocessor">#else </span><span class="comment">//BENCH_TIME_ENABLE</span></div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> </div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span><span class="preprocessor">#define BenchTime_Init()</span></div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span><span class="preprocessor">#define BenchTime_Start(channel, ticks, tick_period) 0</span></div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span><span class="preprocessor">#define BenchTime_End(channel, ticks) 0</span></div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span><span class="preprocessor">#define BenchTime_GetMin(channel) 0</span></div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span><span class="preprocessor">#define BenchTime_GetMax(channel) 0</span></div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span><span class="preprocessor">#define BenchTime_GetAverage(channel) 0</span></div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span><span class="preprocessor">#define BenchTime_GetCount(channel) 0</span></div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span><span class="preprocessor">#define BenchTime_GetLast(channel) 0</span></div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span><span class="preprocessor">#define BenchTime_ResetStats(channel)</span></div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> </div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span><span class="preprocessor">#endif </span><span class="comment">//BENCH_TIME_ENABLE</span></div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> </div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span><span class="preprocessor">#endif </span><span class="comment">// __BENCH_TIME_H_</span></div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span><span class="comment"></span> </div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span><span class="comment">/** BENCH_TIME</span></div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span><span class="comment"> * @}</span></div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span><span class="comment"> */</span></div>
<div class="ttc" id="agroup___b_e_n_c_h___t_i_m_e_html_ga07e27d7b169c9fa1abd57281bb4e374e"><div class="ttname"><a href="group___b_e_n_c_h___t_i_m_e.html#ga07e27d7b169c9fa1abd57281bb4e374e">BenchTime_GetMax</a></div><div class="ttdeci">static uint32_t BenchTime_GetMax(uint8_t channel)</div><div class="ttdoc">Получение максимального времени измерения</div><div class="ttdef"><b>Definition</b> <a href="#l00197">bench_time.h:197</a></div></div>
<div class="ttc" id="agroup___b_e_n_c_h___t_i_m_e_html_ga24e2450d5ea921074ec5d7a1e4d56ba8"><div class="ttname"><a href="group___b_e_n_c_h___t_i_m_e.html#ga24e2450d5ea921074ec5d7a1e4d56ba8">BenchTime_GetAverage</a></div><div class="ttdeci">static uint32_t BenchTime_GetAverage(uint8_t channel)</div><div class="ttdoc">Получение среднего времени измерения</div><div class="ttdef"><b>Definition</b> <a href="#l00205">bench_time.h:205</a></div></div>
<div class="ttc" id="agroup___b_e_n_c_h___t_i_m_e_html_ga273d45255fe4403fc25648d60cca7705"><div class="ttname"><a href="group___b_e_n_c_h___t_i_m_e.html#ga273d45255fe4403fc25648d60cca7705">BenchTime_GetMin</a></div><div class="ttdeci">static uint32_t BenchTime_GetMin(uint8_t channel)</div><div class="ttdoc">Получение минимального времени измерения</div><div class="ttdef"><b>Definition</b> <a href="#l00189">bench_time.h:189</a></div></div>
<div class="ttc" id="agroup___b_e_n_c_h___t_i_m_e_html_ga31a6b2b181b92bcb15f46758f5d57f35"><div class="ttname"><a href="group___b_e_n_c_h___t_i_m_e.html#ga31a6b2b181b92bcb15f46758f5d57f35">BenchTime_ResetStats</a></div><div class="ttdeci">static void BenchTime_ResetStats(uint8_t channel)</div><div class="ttdoc">Сброс статистики для канала</div><div class="ttdef"><b>Definition</b> <a href="#l00231">bench_time.h:231</a></div></div>
<div class="ttc" id="agroup___b_e_n_c_h___t_i_m_e_html_ga47a69851a2089140eac00cde18a12439"><div class="ttname"><a href="group___b_e_n_c_h___t_i_m_e.html#ga47a69851a2089140eac00cde18a12439">BenchTime_End</a></div><div class="ttdeci">static uint32_t BenchTime_End(uint8_t channel, uint32_t ticks)</div><div class="ttdoc">Окончание измерения на указанном канале</div><div class="ttdef"><b>Definition</b> <a href="#l00147">bench_time.h:147</a></div></div>
<div class="ttc" id="agroup___b_e_n_c_h___t_i_m_e_html_ga8e53ef7f7df233bd4e737a87bb203d9d"><div class="ttname"><a href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a></div><div class="ttdeci">static BenchTime_t hbt</div><div class="ttdoc">Внутренний экземпляр</div><div class="ttdef"><b>Definition</b> <a href="#l00106">bench_time.h:106</a></div></div>
<div class="ttc" id="agroup___b_e_n_c_h___t_i_m_e_html_gabb7a665a9603ea2e4dbc4432e8cb6054"><div class="ttname"><a href="group___b_e_n_c_h___t_i_m_e.html#gabb7a665a9603ea2e4dbc4432e8cb6054">BenchTime_Init</a></div><div class="ttdeci">static void BenchTime_Init(void)</div><div class="ttdoc">Инициализация системы измерения времени</div><div class="ttdef"><b>Definition</b> <a href="#l00111">bench_time.h:111</a></div></div>
<div class="ttc" id="agroup___b_e_n_c_h___t_i_m_e_html_gabd1301ca79a30c782970f89fd147df3a"><div class="ttname"><a href="group___b_e_n_c_h___t_i_m_e.html#gabd1301ca79a30c782970f89fd147df3a">BenchTime_GetCount</a></div><div class="ttdeci">static uint32_t BenchTime_GetCount(uint8_t channel)</div><div class="ttdoc">Получение количества измерений</div><div class="ttdef"><b>Definition</b> <a href="#l00215">bench_time.h:215</a></div></div>
<div class="ttc" id="agroup___b_e_n_c_h___t_i_m_e_html_gac65338df38129964ce3e9d9cb2fcb349"><div class="ttname"><a href="group___b_e_n_c_h___t_i_m_e.html#gac65338df38129964ce3e9d9cb2fcb349">BenchTime_Start</a></div><div class="ttdeci">static uint32_t BenchTime_Start(uint8_t channel, uint32_t ticks, uint32_t tick_period)</div><div class="ttdoc">Начало измерения на указанном канале</div><div class="ttdef"><b>Definition</b> <a href="#l00131">bench_time.h:131</a></div></div>
<div class="ttc" id="agroup___b_e_n_c_h___t_i_m_e_html_gacf3a738d6423d71b238058a63558a4ed"><div class="ttname"><a href="group___b_e_n_c_h___t_i_m_e.html#gacf3a738d6423d71b238058a63558a4ed">BenchTime_GetLast</a></div><div class="ttdeci">static uint32_t BenchTime_GetLast(uint8_t channel)</div><div class="ttdoc">Получение последнего измеренного времени</div><div class="ttdef"><b>Definition</b> <a href="#l00223">bench_time.h:223</a></div></div>
<div class="ttc" id="agroup___g_e_n___c_o_n_f_i_g_html_ga74fdf777ceefa5e7d67120fbda4cde52"><div class="ttname"><a href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52">BENCH_TIME_MAX_CHANNELS</a></div><div class="ttdeci">#define BENCH_TIME_MAX_CHANNELS</div><div class="ttdoc">Максимальное количество каналов измерения</div><div class="ttdef"><b>Definition</b> <a href="mylibs__config_8h_source.html#l00082">mylibs_config.h:82</a></div></div>
<div class="ttc" id="amylibs__defs_8h_html"><div class="ttname"><a href="mylibs__defs_8h.html">mylibs_defs.h</a></div><div class="ttdoc">Заголочный файл для дефайнов библиотеки MyLibsGeneral.</div></div>
<div class="ttc" id="astruct_bench_time__t_html"><div class="ttname"><a href="struct_bench_time__t.html">BenchTime_t</a></div><div class="ttdoc">Основная структура менеджера измерений</div><div class="ttdef"><b>Definition</b> <a href="#l00102">bench_time.h:102</a></div></div>
<div class="ttc" id="astruct_bench_time__t_html_a9ae6d45c610be9d4b7628a614ccb06d6"><div class="ttname"><a href="struct_bench_time__t.html#a9ae6d45c610be9d4b7628a614ccb06d6">BenchTime_t::channels</a></div><div class="ttdeci">BenchTimeChannel_t channels[16]</div><div class="ttdoc">Каналы измерения</div><div class="ttdef"><b>Definition</b> <a href="#l00103">bench_time.h:103</a></div></div>
<div class="ttc" id="astruct_bench_time_channel__t_html"><div class="ttname"><a href="struct_bench_time_channel__t.html">BenchTimeChannel_t</a></div><div class="ttdoc">Структура канала измерения</div><div class="ttdef"><b>Definition</b> <a href="#l00092">bench_time.h:92</a></div></div>
<div class="ttc" id="astruct_bench_time_channel__t_html_a095d93e0228641f58b8661e263bc1bcd"><div class="ttname"><a href="struct_bench_time_channel__t.html#a095d93e0228641f58b8661e263bc1bcd">BenchTimeChannel_t::tick_period</a></div><div class="ttdeci">uint32_t tick_period</div><div class="ttdoc">Период тиков для переполнения</div><div class="ttdef"><b>Definition</b> <a href="#l00094">bench_time.h:94</a></div></div>
<div class="ttc" id="astruct_bench_time_channel__t_html_a0f80bb194231df7921712d20bac603c9"><div class="ttname"><a href="struct_bench_time_channel__t.html#a0f80bb194231df7921712d20bac603c9">BenchTimeChannel_t::is_running</a></div><div class="ttdeci">uint32_t is_running</div><div class="ttdoc">Флаг активного измерения</div><div class="ttdef"><b>Definition</b> <a href="#l00095">bench_time.h:95</a></div></div>
<div class="ttc" id="astruct_bench_time_channel__t_html_a22a3913e7925aa89cc12ec1d24a6c16c"><div class="ttname"><a href="struct_bench_time_channel__t.html#a22a3913e7925aa89cc12ec1d24a6c16c">BenchTimeChannel_t::stats</a></div><div class="ttdeci">BenchTimeStats_t stats</div><div class="ttdoc">Статистика измерений</div><div class="ttdef"><b>Definition</b> <a href="#l00096">bench_time.h:96</a></div></div>
<div class="ttc" id="astruct_bench_time_channel__t_html_a8140fe9e3d323404651f0cfeeae53928"><div class="ttname"><a href="struct_bench_time_channel__t.html#a8140fe9e3d323404651f0cfeeae53928">BenchTimeChannel_t::start_tick</a></div><div class="ttdeci">uint32_t start_tick</div><div class="ttdoc">Время старта в тиках</div><div class="ttdef"><b>Definition</b> <a href="#l00093">bench_time.h:93</a></div></div>
<div class="ttc" id="astruct_bench_time_stats__t_html"><div class="ttname"><a href="struct_bench_time_stats__t.html">BenchTimeStats_t</a></div><div class="ttdoc">Структура статистики измерений</div><div class="ttdef"><b>Definition</b> <a href="#l00081">bench_time.h:81</a></div></div>
<div class="ttc" id="astruct_bench_time_stats__t_html_a21499b0b19d1ed27f8cea069f674e8ec"><div class="ttname"><a href="struct_bench_time_stats__t.html#a21499b0b19d1ed27f8cea069f674e8ec">BenchTimeStats_t::total_ticks</a></div><div class="ttdeci">uint32_t total_ticks</div><div class="ttdoc">Суммарное время в тиках</div><div class="ttdef"><b>Definition</b> <a href="#l00084">bench_time.h:84</a></div></div>
<div class="ttc" id="astruct_bench_time_stats__t_html_a2c739e1db6b26ceac5db3f2c44c177a0"><div class="ttname"><a href="struct_bench_time_stats__t.html#a2c739e1db6b26ceac5db3f2c44c177a0">BenchTimeStats_t::last_ticks</a></div><div class="ttdeci">uint32_t last_ticks</div><div class="ttdoc">Последнее измеренное время</div><div class="ttdef"><b>Definition</b> <a href="#l00086">bench_time.h:86</a></div></div>
<div class="ttc" id="astruct_bench_time_stats__t_html_a39b71a5d48c4a51a553a26a9fb961ac8"><div class="ttname"><a href="struct_bench_time_stats__t.html#a39b71a5d48c4a51a553a26a9fb961ac8">BenchTimeStats_t::min_ticks</a></div><div class="ttdeci">uint32_t min_ticks</div><div class="ttdoc">Минимальное время в тиках</div><div class="ttdef"><b>Definition</b> <a href="#l00082">bench_time.h:82</a></div></div>
<div class="ttc" id="astruct_bench_time_stats__t_html_a3da36eb65b03ba995b5905b4650ea93c"><div class="ttname"><a href="struct_bench_time_stats__t.html#a3da36eb65b03ba995b5905b4650ea93c">BenchTimeStats_t::max_ticks</a></div><div class="ttdeci">uint32_t max_ticks</div><div class="ttdoc">Максимальное время в тиках</div><div class="ttdef"><b>Definition</b> <a href="#l00083">bench_time.h:83</a></div></div>
<div class="ttc" id="astruct_bench_time_stats__t_html_a5e95ef31dd0daf973894ef2f034d1f71"><div class="ttname"><a href="struct_bench_time_stats__t.html#a5e95ef31dd0daf973894ef2f034d1f71">BenchTimeStats_t::count</a></div><div class="ttdeci">uint32_t count</div><div class="ttdoc">Количество измерений</div><div class="ttdef"><b>Definition</b> <a href="#l00085">bench_time.h:85</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a href="dir_d4b2573a0c19afb61452cc3d00967af1.html">MyLibs</a></li><li class="navelem"><a href="dir_8eb68c124db7670c3cb56141b10519ea.html">Inc</a></li><li class="navelem"><a href="bench__time_8h.html">bench_time.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

View File

@ -100,14 +100,14 @@ $(function(){initNavTree('classes.html','',''); });
<div class="headertitle"><div class="title">Class Index</div></div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div>
<div class="qindex"><a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div>
<div class="classindex">
<dl class="classindex even">
<dt class="alphachar"><a id="letter_E" name="letter_E">E</a></dt>
<dd><a class="el" href="struct_evolve_optimizer__t.html">EvolveOptimizer_t</a></dd></dl>
<dt class="alphachar"><a id="letter_B" name="letter_B">B</a></dt>
<dd><a class="el" href="struct_bench_time__t.html">BenchTime_t</a></dd><dd><a class="el" href="struct_bench_time_channel__t.html">BenchTimeChannel_t</a></dd><dd><a class="el" href="struct_bench_time_stats__t.html">BenchTimeStats_t</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_G" name="letter_G">G</a></dt>
<dd><a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a></dd><dd><a class="el" href="struct_g_p_i_o___switch_type_def.html">GPIO_SwitchTypeDef</a></dd></dl>
<dd><a class="el" href="struct_gen_optimizer__t.html">GenOptimizer_t</a></dd><dd><a class="el" href="struct_g_p_i_o___l_e_d_type_def.html">GPIO_LEDTypeDef</a></dd><dd><a class="el" href="struct_g_p_i_o___switch_type_def.html">GPIO_SwitchTypeDef</a></dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_H" name="letter_H">H</a></dt>
<dd><a class="el" href="struct_h_f___stack_frame__t.html">HF_StackFrame_t</a></dd></dl>

View File

@ -116,10 +116,12 @@ $(function(){initNavTree('dir_8eb68c124db7670c3cb56141b10519ea.html','',''); });
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-files" class="groupheader"><a id="files" name="files"></a>
Files</h2></td></tr>
<tr class="memitem:bench_5Ftime_2Eh" id="r_bench_5Ftime_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="bench__time_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bench__time_8h.html">bench_time.h</a></td></tr>
<tr class="memdesc:bench__time_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Заголовочный файл для измерения времени между событиями <br /></td></tr>
<tr class="memitem:bit_5Faccess_2Eh" id="r_bit_5Faccess_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="bit__access_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bit__access_8h.html">bit_access.h</a></td></tr>
<tr class="memdesc:bit__access_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Заголочный файл для дефайнов битового доступа. <br /></td></tr>
<tr class="memitem:evolve_5Foptimizer_2Eh" id="r_evolve_5Foptimizer_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="evolve__optimizer_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="evolve__optimizer_8h.html">evolve_optimizer.h</a></td></tr>
<tr class="memdesc:evolve__optimizer_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Заголовочный файл для адаптивного подбора параметров <br /></td></tr>
<tr class="memitem:gen_5Foptimizer_2Eh" id="r_gen_5Foptimizer_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="gen__optimizer_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gen__optimizer_8h.html">gen_optimizer.h</a></td></tr>
<tr class="memdesc:gen__optimizer_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Заголовочный файл для адаптивного подбора параметров <br /></td></tr>
<tr class="memitem:mylibs_5Fconfig_2Eh" id="r_mylibs_5Fconfig_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="mylibs__config_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mylibs__config_8h.html">mylibs_config.h</a></td></tr>
<tr class="memdesc:mylibs__config_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Конфигурации для библиотек MyLibs. <br /></td></tr>
<tr class="memitem:mylibs_5Fdefs_2Eh" id="r_mylibs_5Fdefs_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="mylibs__defs_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mylibs__defs_8h.html">mylibs_defs.h</a></td></tr>

View File

@ -1,7 +1,8 @@
var dir_8eb68c124db7670c3cb56141b10519ea =
[
[ "bench_time.h", "bench__time_8h.html", "bench__time_8h" ],
[ "bit_access.h", "bit__access_8h.html", "bit__access_8h" ],
[ "evolve_optimizer.h", "evolve__optimizer_8h.html", "evolve__optimizer_8h" ],
[ "gen_optimizer.h", "gen__optimizer_8h.html", "gen__optimizer_8h" ],
[ "mylibs_config.h", "mylibs__config_8h.html", "mylibs__config_8h" ],
[ "mylibs_defs.h", "mylibs__defs_8h.html", "mylibs__defs_8h" ],
[ "mylibs_include.h", "mylibs__include_8h.html", null ],

View File

@ -11,6 +11,8 @@
<a href="____general__flash_8c_source.html"/>
<a href="____general__flash_8h_source.html"/>
<a href="annotated.html"/>
<a href="bench__time_8h.html"/>
<a href="bench__time_8h_source.html"/>
<a href="bit__access_8h.html"/>
<a href="bit__access_8h_source.html"/>
<a href="classes.html"/>
@ -23,11 +25,11 @@
<a href="dir_8eb68c124db7670c3cb56141b10519ea.html"/>
<a href="dir_d4b2573a0c19afb61452cc3d00967af1.html"/>
<a href="doxygen_crawl.html"/>
<a href="evolve__optimizer_8h.html"/>
<a href="evolve__optimizer_8h_source.html"/>
<a href="files.html"/>
<a href="functions.html"/>
<a href="functions_vars.html"/>
<a href="gen__optimizer_8h.html"/>
<a href="gen__optimizer_8h_source.html"/>
<a href="general__gpio_8c.html"/>
<a href="general__gpio_8c_source.html"/>
<a href="general__gpio_8h.html"/>
@ -48,11 +50,39 @@
<a href="general__uart_8h.html"/>
<a href="general__uart_8h_source.html"/>
<a href="globals.html"/>
<a href="globals_b.html"/>
<a href="globals_c.html"/>
<a href="globals_d.html"/>
<a href="globals_defs.html"/>
<a href="globals_e.html"/>
<a href="globals_enum.html"/>
<a href="globals_eval.html"/>
<a href="globals_f.html"/>
<a href="globals_func.html"/>
<a href="globals_g.html"/>
<a href="globals_h.html"/>
<a href="globals_i.html"/>
<a href="globals_l.html"/>
<a href="globals_m.html"/>
<a href="globals_n.html"/>
<a href="globals_p.html"/>
<a href="globals_r.html"/>
<a href="globals_s.html"/>
<a href="globals_t.html"/>
<a href="globals_u.html"/>
<a href="globals_vars.html"/>
<a href="graph_legend.html"/>
<a href="group___b_e_n_c_h___t_i_m_e.html"/>
<a href="group___b_e_n_c_h___t_i_m_e.html#ga07e27d7b169c9fa1abd57281bb4e374e"/>
<a href="group___b_e_n_c_h___t_i_m_e.html#ga24e2450d5ea921074ec5d7a1e4d56ba8"/>
<a href="group___b_e_n_c_h___t_i_m_e.html#ga273d45255fe4403fc25648d60cca7705"/>
<a href="group___b_e_n_c_h___t_i_m_e.html#ga31a6b2b181b92bcb15f46758f5d57f35"/>
<a href="group___b_e_n_c_h___t_i_m_e.html#ga47a69851a2089140eac00cde18a12439"/>
<a href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d"/>
<a href="group___b_e_n_c_h___t_i_m_e.html#gabb7a665a9603ea2e4dbc4432e8cb6054"/>
<a href="group___b_e_n_c_h___t_i_m_e.html#gabd1301ca79a30c782970f89fd147df3a"/>
<a href="group___b_e_n_c_h___t_i_m_e.html#gac65338df38129964ce3e9d9cb2fcb349"/>
<a href="group___b_e_n_c_h___t_i_m_e.html#gacf3a738d6423d71b238058a63558a4ed"/>
<a href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html"/>
<a href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga47eb69ce9330a1c73fe8031240f02f0a"/>
<a href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga57dc3bb3472a66fc92312f89d42d2396"/>
@ -70,18 +100,20 @@
<a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga838b40542faa9aa273d18f921b21fda2"/>
<a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gaab0aafd7a4a21ec4f338b19269f65490"/>
<a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae110df81afd885a390bbeb152d7b709f"/>
<a href="group___e_v_o_l_v_e___c_o_n_f_i_g.html"/>
<a href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga2cac097081444a7a9b040f4b11550e47"/>
<a href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga7c1396e5c95c766afccdb45cbfcf5971"/>
<a href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga80d6162495fc3776d8902610657d4fee"/>
<a href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html"/>
<a href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga2f2b1be34ad4eb1bf3267237200cd6c6"/>
<a href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb"/>
<a href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga4e3ea118b5b9068619c57724a925ba21"/>
<a href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga83abbcabaff9111c03ae2475ee72ea3e"/>
<a href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga861c1c6a503c21441abcec0d57b848bc"/>
<a href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#gaa1d5510fe5f0bd989473f3ebe324bde3"/>
<a href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#gaef44a1f3298514569cc2b396a92101ef"/>
<a href="group___g_e_n___c_o_n_f_i_g.html"/>
<a href="group___g_e_n___c_o_n_f_i_g.html#ga201cffde04ebc6540869c74bd1dae869"/>
<a href="group___g_e_n___c_o_n_f_i_g.html#ga67c3c54503b9bbd5d175ac46d37866d9"/>
<a href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52"/>
<a href="group___g_e_n___c_o_n_f_i_g.html#ga8daf4b266a95353d580bd7946f47c0ab"/>
<a href="group___g_e_n___c_o_n_f_i_g.html#gae6d1db3c0b21f67cb0db2673d207b62c"/>
<a href="group___g_e_n___o_p_t_i_m_i_z_e_r.html"/>
<a href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga2db1df46b4082ad9280ef4344fdf4e8a"/>
<a href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb"/>
<a href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga3db7bdf57549722427e1e72dcaa87068"/>
<a href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga48dca8f0a0c9b96d02236ef76ac827fd"/>
<a href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga83abbcabaff9111c03ae2475ee72ea3e"/>
<a href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#gaa1d5510fe5f0bd989473f3ebe324bde3"/>
<a href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#gaa9a4c4f43f7beb926c85bd4817ebd628"/>
<a href="group___g_p_i_o___i_n_i_t.html"/>
<a href="group___g_p_i_o___i_n_i_t.html#ga19d9e3aced311179a2914e0c9b13d0f9"/>
<a href="group___g_p_i_o___i_n_i_t.html#ga1d42e219765ec526d99e306638ac0023"/>
@ -92,9 +124,9 @@
<a href="group___l_i_b_s___c_o_n_f_i_g.html"/>
<a href="group___l_i_b_s___c_o_n_f_i_g.html#ga0a3ca94b616997069dd53e2c6c2687d7"/>
<a href="group___l_i_b_s___c_o_n_f_i_g.html#ga181a46326e46b60afb160190832c7281"/>
<a href="group___l_i_b_s___c_o_n_f_i_g.html#ga3cdc9ef47fd3ff080d38481295327692"/>
<a href="group___l_i_b_s___c_o_n_f_i_g.html#ga4403055986b70bb02b8d37073a122e32"/>
<a href="group___l_i_b_s___c_o_n_f_i_g.html#ga57c369737d5c0cfdb7baeecba0a4b151"/>
<a href="group___l_i_b_s___c_o_n_f_i_g.html#ga66560656d080d6551627a19dfb847c66"/>
<a href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653"/>
<a href="group___l_i_b_s___c_o_n_f_i_g.html#gaf4ddb2a71ec0d05c2480e197cd17c0be"/>
<a href="group___m_y___l_i_b_s___g_p_i_o.html"/>
@ -261,19 +293,22 @@
<a href="mylibs__defs_8h_source.html"/>
<a href="mylibs__include_8h.html"/>
<a href="mylibs__include_8h_source.html"/>
<a href="struct_evolve_optimizer__t-members.html"/>
<a href="struct_evolve_optimizer__t.html"/>
<a href="struct_evolve_optimizer__t.html#a0ae0e63ba351335d4445d927991c64ae"/>
<a href="struct_evolve_optimizer__t.html#a1c270fce82e0c97e6c88fd0971c1eed8"/>
<a href="struct_evolve_optimizer__t.html#a3be8c0c34db8429210ff470497a56727"/>
<a href="struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a"/>
<a href="struct_evolve_optimizer__t.html#a80eb0b8525b6bb838484f5922b9d8f7c"/>
<a href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df"/>
<a href="struct_evolve_optimizer__t.html#a950cd70cb6bff33b78ad35ee58c729a6"/>
<a href="struct_evolve_optimizer__t.html#ac35c7ca8cede4ab9c53a2845a91cd1b1"/>
<a href="struct_evolve_optimizer__t.html#ad0f464d7048a9ed0753b61f76f563108"/>
<a href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4"/>
<a href="struct_evolve_optimizer__t.html#af779c7aeba0053e36cee7aade160f1c8"/>
<a href="struct_bench_time__t-members.html"/>
<a href="struct_bench_time__t.html"/>
<a href="struct_bench_time__t.html#a9ae6d45c610be9d4b7628a614ccb06d6"/>
<a href="struct_bench_time_channel__t-members.html"/>
<a href="struct_bench_time_channel__t.html"/>
<a href="struct_bench_time_channel__t.html#a095d93e0228641f58b8661e263bc1bcd"/>
<a href="struct_bench_time_channel__t.html#a0f80bb194231df7921712d20bac603c9"/>
<a href="struct_bench_time_channel__t.html#a22a3913e7925aa89cc12ec1d24a6c16c"/>
<a href="struct_bench_time_channel__t.html#a8140fe9e3d323404651f0cfeeae53928"/>
<a href="struct_bench_time_stats__t-members.html"/>
<a href="struct_bench_time_stats__t.html"/>
<a href="struct_bench_time_stats__t.html#a21499b0b19d1ed27f8cea069f674e8ec"/>
<a href="struct_bench_time_stats__t.html#a2c739e1db6b26ceac5db3f2c44c177a0"/>
<a href="struct_bench_time_stats__t.html#a39b71a5d48c4a51a553a26a9fb961ac8"/>
<a href="struct_bench_time_stats__t.html#a3da36eb65b03ba995b5905b4650ea93c"/>
<a href="struct_bench_time_stats__t.html#a5e95ef31dd0daf973894ef2f034d1f71"/>
<a href="struct_g_p_i_o___l_e_d_type_def-members.html"/>
<a href="struct_g_p_i_o___l_e_d_type_def.html"/>
<a href="struct_g_p_i_o___l_e_d_type_def.html#a684ff60e4c94daf2221524cdc6fcc978"/>
@ -288,6 +323,19 @@
<a href="struct_g_p_i_o___switch_type_def.html#a4fadf5ead3ebccad521a52c064eeb405"/>
<a href="struct_g_p_i_o___switch_type_def.html#a63d58d9cba49a5823175585ef2996032"/>
<a href="struct_g_p_i_o___switch_type_def.html#afb369df75a6065fd89ac4ba97d98ab1a"/>
<a href="struct_gen_optimizer__t-members.html"/>
<a href="struct_gen_optimizer__t.html"/>
<a href="struct_gen_optimizer__t.html#a04a72c1a13e17581e84eaaf3d245bbfc"/>
<a href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df"/>
<a href="struct_gen_optimizer__t.html#a8201f1eede36a2c04ec7b4caac7465c9"/>
<a href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73"/>
<a href="struct_gen_optimizer__t.html#a8f226c85e9bb034cb811aa0366bb191c"/>
<a href="struct_gen_optimizer__t.html#a9e20d2f6f39a5147e6dbac46baca73a9"/>
<a href="struct_gen_optimizer__t.html#abe0aacea949fbe93e5d4c002e37d7192"/>
<a href="struct_gen_optimizer__t.html#acfeb93ef4823e09473ddba52fae9a6b1"/>
<a href="struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12"/>
<a href="struct_gen_optimizer__t.html#ad4dc0e53b3ca6bf2a642dfe7a1d1f26c"/>
<a href="struct_gen_optimizer__t.html#afe598a90024a8aa628dd16f3a2b38eb5"/>
<a href="struct_h_f___stack_frame__t-members.html"/>
<a href="struct_h_f___stack_frame__t.html"/>
<a href="struct_h_f___stack_frame__t.html#a16563896004751c90e41c81ae4570732"/>

View File

@ -1,10 +0,0 @@
var evolve__optimizer_8h =
[
[ "PARAM_SCALE", "group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga83abbcabaff9111c03ae2475ee72ea3e", null ],
[ "PARAM_UNSCALE", "group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#gaa1d5510fe5f0bd989473f3ebe324bde3", null ],
[ "EVOLVE_MUTATION_MIN_PCT", "group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga2f2b1be34ad4eb1bf3267237200cd6c6", null ],
[ "EVOLVE_MUTATION_MAX_PCT", "group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga861c1c6a503c21441abcec0d57b848bc", null ],
[ "ELOVLE_N_ELITE_CANDIDATE", "group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb", null ],
[ "EvolveOptimizer_Init", "group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga4e3ea118b5b9068619c57724a925ba21", null ],
[ "EvolveOptimizer_Step", "group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#gaef44a1f3298514569cc2b396a92101ef", null ]
];

View File

@ -1 +0,0 @@
424cb7f34817e542ea5f5660027a6b81

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -1 +0,0 @@
715956b53baa360ead244690f04d1978

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

View File

@ -104,27 +104,28 @@ $(function(){initNavTree('files.html','',''); });
<div class="levels">[detail level <span onclick="javascript:dynsection.toggleLevel(1);">1</span><span onclick="javascript:dynsection.toggleLevel(2);">2</span><span onclick="javascript:dynsection.toggleLevel(3);">3</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="dynsection.toggleFolder('0_')"><span class="arrowhead opened"></span></span><span id="img_0_" class="iconfolder" onclick="dynsection.toggleFolder('0_')"><div class="folder-icon open"></div></span><a class="el" href="dir_d4b2573a0c19afb61452cc3d00967af1.html" target="_self">MyLibs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="dynsection.toggleFolder('0_0_')"><span class="arrowhead opened"></span></span><span id="img_0_0_" class="iconfolder" onclick="dynsection.toggleFolder('0_0_')"><div class="folder-icon open"></div></span><a class="el" href="dir_8eb68c124db7670c3cb56141b10519ea.html" target="_self">Inc</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="bit__access_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="bit__access_8h.html" target="_self">bit_access.h</a></td><td class="desc">Заголочный файл для дефайнов битового доступа </td></tr>
<tr id="row_0_0_1_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="evolve__optimizer_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="evolve__optimizer_8h.html" target="_self">evolve_optimizer.h</a></td><td class="desc">Заголовочный файл для адаптивного подбора параметров </td></tr>
<tr id="row_0_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="mylibs__config_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="mylibs__config_8h.html" target="_self">mylibs_config.h</a></td><td class="desc">Конфигурации для библиотек MyLibs </td></tr>
<tr id="row_0_0_3_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="mylibs__defs_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="mylibs__defs_8h.html" target="_self">mylibs_defs.h</a></td><td class="desc">Заголочный файл для дефайнов библиотеки MyLibsGeneral </td></tr>
<tr id="row_0_0_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="mylibs__include_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="mylibs__include_8h.html" target="_self">mylibs_include.h</a></td><td class="desc">Заголочный файл для всех библиотек </td></tr>
<tr id="row_0_0_5_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="trace_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="trace_8h.html" target="_self">trace.h</a></td><td class="desc">Заголочный файл для работы с трассировкой </td></tr>
<tr id="row_0_0_6_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="trackers_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="trackers_8h.html" target="_self">trackers.h</a></td><td class="desc">Заголочный файл для работы с трекерами <a class="el" href="group___t_r_a_c_k_e_r_s.html">Trackers defines</a> </td></tr>
<tr id="row_1_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="dynsection.toggleFolder('1_')"><span class="arrowhead opened"></span></span><span id="img_1_" class="iconfolder" onclick="dynsection.toggleFolder('1_')"><div class="folder-icon open"></div></span><a class="el" href="dir_57feeba75fefbd1a9c832b76e3bce520.html" target="_self">STM32_General</a></td><td class="desc"></td></tr>
<tr id="row_1_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_0_" class="arrow" onclick="dynsection.toggleFolder('1_0_')"><span class="arrowhead opened"></span></span><span id="img_1_0_" class="iconfolder" onclick="dynsection.toggleFolder('1_0_')"><div class="folder-icon open"></div></span><a class="el" href="dir_2cad7b5fa94233a09111fd73c6202518.html" target="_self">Inc</a></td><td class="desc"></td></tr>
<tr id="row_1_0_0_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="____general__flash_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>__general_flash.h</b></td><td class="desc"></td></tr>
<tr id="row_1_0_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__gpio_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__gpio_8h.html" target="_self">general_gpio.h</a></td><td class="desc">Заголовочный файл для модуля инициализации портов и работы с ними </td></tr>
<tr id="row_1_0_2_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__spi_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__spi_8h.html" target="_self">general_spi.h</a></td><td class="desc">Заголовочный файл для модуля инициализации SPI </td></tr>
<tr id="row_1_0_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__tim_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__tim_8h.html" target="_self">general_tim.h</a></td><td class="desc">Заголовочный файл для модуля инициализации таймеров и работы с ними </td></tr>
<tr id="row_1_0_4_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__uart_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__uart_8h.html" target="_self">general_uart.h</a></td><td class="desc">Заголовочный файл для модуля инициализации UART </td></tr>
<tr id="row_1_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_1_" class="arrow" onclick="dynsection.toggleFolder('1_1_')"><span class="arrowhead opened"></span></span><span id="img_1_1_" class="iconfolder" onclick="dynsection.toggleFolder('1_1_')"><div class="folder-icon open"></div></span><a class="el" href="dir_3d5e348fed410a00f9c665596ca3b887.html" target="_self">Src</a></td><td class="desc"></td></tr>
<tr id="row_1_1_0_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="____general__flash_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>__general_flash.c</b></td><td class="desc"></td></tr>
<tr id="row_1_1_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__gpio_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__gpio_8c.html" target="_self">general_gpio.c</a></td><td class="desc">Модуль для инициализации портов и работы с ними </td></tr>
<tr id="row_1_1_2_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__spi_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__spi_8c.html" target="_self">general_spi.c</a></td><td class="desc">Модуль для инициализации SPI </td></tr>
<tr id="row_1_1_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__tim_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__tim_8c.html" target="_self">general_tim.c</a></td><td class="desc">Модуль для инициализации таймеров и работы с ними </td></tr>
<tr id="row_1_1_4_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__uart_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__uart_8c.html" target="_self">general_uart.c</a></td><td class="desc">Модуль для инициализации UART </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mainpage_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>mainpage.h</b></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="bench__time_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="bench__time_8h.html" target="_self">bench_time.h</a></td><td class="desc">Заголовочный файл для измерения времени между событиями </td></tr>
<tr id="row_0_0_1_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="bit__access_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="bit__access_8h.html" target="_self">bit_access.h</a></td><td class="desc">Заголочный файл для дефайнов битового доступа </td></tr>
<tr id="row_0_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="gen__optimizer_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="gen__optimizer_8h.html" target="_self">gen_optimizer.h</a></td><td class="desc">Заголовочный файл для адаптивного подбора параметров </td></tr>
<tr id="row_0_0_3_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="mylibs__config_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="mylibs__config_8h.html" target="_self">mylibs_config.h</a></td><td class="desc">Конфигурации для библиотек MyLibs </td></tr>
<tr id="row_0_0_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="mylibs__defs_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="mylibs__defs_8h.html" target="_self">mylibs_defs.h</a></td><td class="desc">Заголочный файл для дефайнов библиотеки MyLibsGeneral </td></tr>
<tr id="row_0_0_5_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="mylibs__include_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="mylibs__include_8h.html" target="_self">mylibs_include.h</a></td><td class="desc">Заголочный файл для всех библиотек </td></tr>
<tr id="row_0_0_6_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="trace_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="trace_8h.html" target="_self">trace.h</a></td><td class="desc">Заголочный файл для работы с трассировкой </td></tr>
<tr id="row_0_0_7_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="trackers_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="trackers_8h.html" target="_self">trackers.h</a></td><td class="desc">Заголочный файл для работы с трекерами <a class="el" href="group___t_r_a_c_k_e_r_s.html">Trackers defines</a> </td></tr>
<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="dynsection.toggleFolder('1_')"><span class="arrowhead opened"></span></span><span id="img_1_" class="iconfolder" onclick="dynsection.toggleFolder('1_')"><div class="folder-icon open"></div></span><a class="el" href="dir_57feeba75fefbd1a9c832b76e3bce520.html" target="_self">STM32_General</a></td><td class="desc"></td></tr>
<tr id="row_1_0_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_0_" class="arrow" onclick="dynsection.toggleFolder('1_0_')"><span class="arrowhead opened"></span></span><span id="img_1_0_" class="iconfolder" onclick="dynsection.toggleFolder('1_0_')"><div class="folder-icon open"></div></span><a class="el" href="dir_2cad7b5fa94233a09111fd73c6202518.html" target="_self">Inc</a></td><td class="desc"></td></tr>
<tr id="row_1_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="____general__flash_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>__general_flash.h</b></td><td class="desc"></td></tr>
<tr id="row_1_0_1_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__gpio_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__gpio_8h.html" target="_self">general_gpio.h</a></td><td class="desc">Заголовочный файл для модуля инициализации портов и работы с ними </td></tr>
<tr id="row_1_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__spi_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__spi_8h.html" target="_self">general_spi.h</a></td><td class="desc">Заголовочный файл для модуля инициализации SPI </td></tr>
<tr id="row_1_0_3_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__tim_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__tim_8h.html" target="_self">general_tim.h</a></td><td class="desc">Заголовочный файл для модуля инициализации таймеров и работы с ними </td></tr>
<tr id="row_1_0_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__uart_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__uart_8h.html" target="_self">general_uart.h</a></td><td class="desc">Заголовочный файл для модуля инициализации UART </td></tr>
<tr id="row_1_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_1_" class="arrow" onclick="dynsection.toggleFolder('1_1_')"><span class="arrowhead opened"></span></span><span id="img_1_1_" class="iconfolder" onclick="dynsection.toggleFolder('1_1_')"><div class="folder-icon open"></div></span><a class="el" href="dir_3d5e348fed410a00f9c665596ca3b887.html" target="_self">Src</a></td><td class="desc"></td></tr>
<tr id="row_1_1_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="____general__flash_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>__general_flash.c</b></td><td class="desc"></td></tr>
<tr id="row_1_1_1_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__gpio_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__gpio_8c.html" target="_self">general_gpio.c</a></td><td class="desc">Модуль для инициализации портов и работы с ними </td></tr>
<tr id="row_1_1_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__spi_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__spi_8c.html" target="_self">general_spi.c</a></td><td class="desc">Модуль для инициализации SPI </td></tr>
<tr id="row_1_1_3_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__tim_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__tim_8c.html" target="_self">general_tim.c</a></td><td class="desc">Модуль для инициализации таймеров и работы с ними </td></tr>
<tr id="row_1_1_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="general__uart_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="general__uart_8c.html" target="_self">general_uart.c</a></td><td class="desc">Модуль для инициализации UART </td></tr>
<tr id="row_2_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="mainpage_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>mainpage.h</b></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->

View File

@ -100,11 +100,13 @@ $(function(){initNavTree('functions.html','',''); });
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
<h3 class="doxsection"><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>cand_index&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#a0ae0e63ba351335d4445d927991c64ae">EvolveOptimizer_t</a></li>
<li>candidates&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">EvolveOptimizer_t</a></li>
<li>cand_index&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#a04a72c1a13e17581e84eaaf3d245bbfc">GenOptimizer_t</a></li>
<li>candidates&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">GenOptimizer_t</a></li>
<li>channels&#160;:&#160;<a class="el" href="struct_bench_time__t.html#a9ae6d45c610be9d4b7628a614ccb06d6">BenchTime_t</a></li>
<li>CLK_GPIO_AlternageFunc&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#a3f3748103a0b7861f6700042fd691ba1">SPI_SettingsTypeDef</a></li>
<li>CLK_GPIOx&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979">SPI_SettingsTypeDef</a></li>
<li>CLK_PIN&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc">SPI_SettingsTypeDef</a></li>
<li>count&#160;:&#160;<a class="el" href="struct_bench_time_stats__t.html#a5e95ef31dd0daf973894ef2f034d1f71">BenchTimeStats_t</a></li>
</ul>
@ -122,8 +124,8 @@ $(function(){initNavTree('functions.html','',''); });
<h3 class="doxsection"><a id="index_g" name="index_g"></a>- g -</h3><ul>
<li>gen_index&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#ad0f464d7048a9ed0753b61f76f563108">EvolveOptimizer_t</a></li>
<li>gen_mut&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#a3be8c0c34db8429210ff470497a56727">EvolveOptimizer_t</a></li>
<li>gen_index&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#a8f226c85e9bb034cb811aa0366bb191c">GenOptimizer_t</a></li>
<li>gen_mut&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#acfeb93ef4823e09473ddba52fae9a6b1">GenOptimizer_t</a></li>
<li>GPIO_PIN_RX&#160;:&#160;<a class="el" href="struct_u_a_r_t___settings_type_def.html#a3fba2b52788fe453348b5d92ed52ba49">UART_SettingsTypeDef</a></li>
<li>GPIO_PIN_SW&#160;:&#160;<a class="el" href="struct_t_i_m___encoder_type_def.html#a6973108a83d2a3ea4fc3e0e8a501af80">TIM_EncoderTypeDef</a></li>
<li>GPIO_PIN_TI1&#160;:&#160;<a class="el" href="struct_t_i_m___encoder_type_def.html#a4fc05ef011205a6702cb3d006bab677e">TIM_EncoderTypeDef</a></li>
@ -140,31 +142,39 @@ $(function(){initNavTree('functions.html','',''); });
</ul>
<h3 class="doxsection"><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>is_running&#160;:&#160;<a class="el" href="struct_bench_time_channel__t.html#a0f80bb194231df7921712d20bac603c9">BenchTimeChannel_t</a></li>
</ul>
<h3 class="doxsection"><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>last_ticks&#160;:&#160;<a class="el" href="struct_bench_time_stats__t.html#a2c739e1db6b26ceac5db3f2c44c177a0">BenchTimeStats_t</a></li>
<li>LED_ActiveLvl&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#abe9aadc0b28d042267f7155e187a1816">GPIO_LEDTypeDef</a></li>
<li>LED_Period&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a6cc026931a4681732f9a329ae03098ec">GPIO_LEDTypeDef</a></li>
<li>LED_Pin&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a684ff60e4c94daf2221524cdc6fcc978">GPIO_LEDTypeDef</a></li>
<li>LED_Port&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a831923d4d157267ecc2f1add1c49adcf">GPIO_LEDTypeDef</a></li>
<li>loss&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">EvolveOptimizer_t</a></li>
<li>loss&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">GenOptimizer_t</a></li>
<li>lr&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#a6e51904297f7725e96d5b5fb291ef577">HF_StackFrame_t</a></li>
</ul>
<h3 class="doxsection"><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>max_ticks&#160;:&#160;<a class="el" href="struct_bench_time_stats__t.html#a3da36eb65b03ba995b5905b4650ea93c">BenchTimeStats_t</a></li>
<li>min_ticks&#160;:&#160;<a class="el" href="struct_bench_time_stats__t.html#a39b71a5d48c4a51a553a26a9fb961ac8">BenchTimeStats_t</a></li>
<li>MISO_GPIO_AlternageFunc&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#aecd7a5c6e205335b8ed229d74cd35d14">SPI_SettingsTypeDef</a></li>
<li>MISO_GPIOx&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95">SPI_SettingsTypeDef</a></li>
<li>MISO_PIN&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a">SPI_SettingsTypeDef</a></li>
<li>MOSI_GPIO_AlternageFunc&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#afbe75a1c36650a4a9b41fa706a4c7eab">SPI_SettingsTypeDef</a></li>
<li>MOSI_GPIOx&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820">SPI_SettingsTypeDef</a></li>
<li>MOSI_PIN&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176">SPI_SettingsTypeDef</a></li>
<li>mutation_amp&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#af779c7aeba0053e36cee7aade160f1c8">EvolveOptimizer_t</a></li>
<li>mutation_amp&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#ad4dc0e53b3ca6bf2a642dfe7a1d1f26c">GenOptimizer_t</a></li>
</ul>
<h3 class="doxsection"><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>n_best&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#a950cd70cb6bff33b78ad35ee58c729a6">EvolveOptimizer_t</a></li>
<li>n_cand&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#ac35c7ca8cede4ab9c53a2845a91cd1b1">EvolveOptimizer_t</a></li>
<li>n_params&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#a1c270fce82e0c97e6c88fd0971c1eed8">EvolveOptimizer_t</a></li>
<li>n_best&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#a8201f1eede36a2c04ec7b4caac7465c9">GenOptimizer_t</a></li>
<li>n_cand&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#a9e20d2f6f39a5147e6dbac46baca73a9">GenOptimizer_t</a></li>
<li>n_params&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#afe598a90024a8aa628dd16f3a2b38eb5">GenOptimizer_t</a></li>
</ul>
@ -189,10 +199,12 @@ $(function(){initNavTree('functions.html','',''); });
<li>sConfig&#160;:&#160;<a class="el" href="struct_t_i_m___encoder_type_def.html#a021f0c585e9e62d68a4b09f630d8b6e5">TIM_EncoderTypeDef</a></li>
<li>size&#160;:&#160;<a class="el" href="struct_r_t_t___flash_header__t.html#afd1a5c51af6f97d170c2ccbbe3e34699">RTT_FlashHeader_t</a></li>
<li>sMasterConfig&#160;:&#160;<a class="el" href="struct_t_i_m___settings_type_def.html#a2d9d277dd395424b964445ec1bc65b21">TIM_SettingsTypeDef</a></li>
<li>sorted_idx&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a">EvolveOptimizer_t</a></li>
<li>sorted_idx&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12">GenOptimizer_t</a></li>
<li>sSlaveConfig&#160;:&#160;<a class="el" href="struct_t_i_m___settings_type_def.html#a9694cf0910a69d48ff94f8aeac106969">TIM_SettingsTypeDef</a></li>
<li>stability&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#a80eb0b8525b6bb838484f5922b9d8f7c">EvolveOptimizer_t</a></li>
<li>stability&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#abe0aacea949fbe93e5d4c002e37d7192">GenOptimizer_t</a></li>
<li>start_tick&#160;:&#160;<a class="el" href="struct_bench_time_channel__t.html#a8140fe9e3d323404651f0cfeeae53928">BenchTimeChannel_t</a></li>
<li>state&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#ad28d93023a00e3c5669bd3deda122435">GPIO_LEDTypeDef</a></li>
<li>stats&#160;:&#160;<a class="el" href="struct_bench_time_channel__t.html#a22a3913e7925aa89cc12ec1d24a6c16c">BenchTimeChannel_t</a></li>
<li>sTickBasePrescaler&#160;:&#160;<a class="el" href="struct_t_i_m___settings_type_def.html#a11151fe125960cb8e61328ffd06b7718">TIM_SettingsTypeDef</a></li>
<li>sTickBaseUS&#160;:&#160;<a class="el" href="struct_t_i_m___settings_type_def.html#a58da1b4c0f6d12d7d9fb2f170b9b9e6e">TIM_SettingsTypeDef</a></li>
<li>sTimAHBFreqMHz&#160;:&#160;<a class="el" href="struct_t_i_m___settings_type_def.html#a7073358fd3a722687eb85238ab570014">TIM_SettingsTypeDef</a></li>
@ -209,6 +221,8 @@ $(function(){initNavTree('functions.html','',''); });
<h3 class="doxsection"><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>tag&#160;:&#160;<a class="el" href="struct_r_t_t___flash_header__t.html#a844ee5470a323a749856cbb7a682dc57">RTT_FlashHeader_t</a></li>
<li>tick_period&#160;:&#160;<a class="el" href="struct_bench_time_channel__t.html#a095d93e0228641f58b8661e263bc1bcd">BenchTimeChannel_t</a></li>
<li>total_ticks&#160;:&#160;<a class="el" href="struct_bench_time_stats__t.html#a21499b0b19d1ed27f8cea069f674e8ec">BenchTimeStats_t</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->

View File

@ -100,11 +100,13 @@ $(function(){initNavTree('functions_vars.html','',''); });
<div class="textblock">Here is a list of all documented variables with links to the class documentation for each member:</div>
<h3 class="doxsection"><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>cand_index&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#a0ae0e63ba351335d4445d927991c64ae">EvolveOptimizer_t</a></li>
<li>candidates&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">EvolveOptimizer_t</a></li>
<li>cand_index&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#a04a72c1a13e17581e84eaaf3d245bbfc">GenOptimizer_t</a></li>
<li>candidates&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">GenOptimizer_t</a></li>
<li>channels&#160;:&#160;<a class="el" href="struct_bench_time__t.html#a9ae6d45c610be9d4b7628a614ccb06d6">BenchTime_t</a></li>
<li>CLK_GPIO_AlternageFunc&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#a3f3748103a0b7861f6700042fd691ba1">SPI_SettingsTypeDef</a></li>
<li>CLK_GPIOx&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979">SPI_SettingsTypeDef</a></li>
<li>CLK_PIN&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc">SPI_SettingsTypeDef</a></li>
<li>count&#160;:&#160;<a class="el" href="struct_bench_time_stats__t.html#a5e95ef31dd0daf973894ef2f034d1f71">BenchTimeStats_t</a></li>
</ul>
@ -122,8 +124,8 @@ $(function(){initNavTree('functions_vars.html','',''); });
<h3 class="doxsection"><a id="index_g" name="index_g"></a>- g -</h3><ul>
<li>gen_index&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#ad0f464d7048a9ed0753b61f76f563108">EvolveOptimizer_t</a></li>
<li>gen_mut&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#a3be8c0c34db8429210ff470497a56727">EvolveOptimizer_t</a></li>
<li>gen_index&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#a8f226c85e9bb034cb811aa0366bb191c">GenOptimizer_t</a></li>
<li>gen_mut&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#acfeb93ef4823e09473ddba52fae9a6b1">GenOptimizer_t</a></li>
<li>GPIO_PIN_RX&#160;:&#160;<a class="el" href="struct_u_a_r_t___settings_type_def.html#a3fba2b52788fe453348b5d92ed52ba49">UART_SettingsTypeDef</a></li>
<li>GPIO_PIN_SW&#160;:&#160;<a class="el" href="struct_t_i_m___encoder_type_def.html#a6973108a83d2a3ea4fc3e0e8a501af80">TIM_EncoderTypeDef</a></li>
<li>GPIO_PIN_TI1&#160;:&#160;<a class="el" href="struct_t_i_m___encoder_type_def.html#a4fc05ef011205a6702cb3d006bab677e">TIM_EncoderTypeDef</a></li>
@ -140,31 +142,39 @@ $(function(){initNavTree('functions_vars.html','',''); });
</ul>
<h3 class="doxsection"><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>is_running&#160;:&#160;<a class="el" href="struct_bench_time_channel__t.html#a0f80bb194231df7921712d20bac603c9">BenchTimeChannel_t</a></li>
</ul>
<h3 class="doxsection"><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>last_ticks&#160;:&#160;<a class="el" href="struct_bench_time_stats__t.html#a2c739e1db6b26ceac5db3f2c44c177a0">BenchTimeStats_t</a></li>
<li>LED_ActiveLvl&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#abe9aadc0b28d042267f7155e187a1816">GPIO_LEDTypeDef</a></li>
<li>LED_Period&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a6cc026931a4681732f9a329ae03098ec">GPIO_LEDTypeDef</a></li>
<li>LED_Pin&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a684ff60e4c94daf2221524cdc6fcc978">GPIO_LEDTypeDef</a></li>
<li>LED_Port&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a831923d4d157267ecc2f1add1c49adcf">GPIO_LEDTypeDef</a></li>
<li>loss&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">EvolveOptimizer_t</a></li>
<li>loss&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">GenOptimizer_t</a></li>
<li>lr&#160;:&#160;<a class="el" href="struct_h_f___stack_frame__t.html#a6e51904297f7725e96d5b5fb291ef577">HF_StackFrame_t</a></li>
</ul>
<h3 class="doxsection"><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>max_ticks&#160;:&#160;<a class="el" href="struct_bench_time_stats__t.html#a3da36eb65b03ba995b5905b4650ea93c">BenchTimeStats_t</a></li>
<li>min_ticks&#160;:&#160;<a class="el" href="struct_bench_time_stats__t.html#a39b71a5d48c4a51a553a26a9fb961ac8">BenchTimeStats_t</a></li>
<li>MISO_GPIO_AlternageFunc&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#aecd7a5c6e205335b8ed229d74cd35d14">SPI_SettingsTypeDef</a></li>
<li>MISO_GPIOx&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95">SPI_SettingsTypeDef</a></li>
<li>MISO_PIN&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a">SPI_SettingsTypeDef</a></li>
<li>MOSI_GPIO_AlternageFunc&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#afbe75a1c36650a4a9b41fa706a4c7eab">SPI_SettingsTypeDef</a></li>
<li>MOSI_GPIOx&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820">SPI_SettingsTypeDef</a></li>
<li>MOSI_PIN&#160;:&#160;<a class="el" href="struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176">SPI_SettingsTypeDef</a></li>
<li>mutation_amp&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#af779c7aeba0053e36cee7aade160f1c8">EvolveOptimizer_t</a></li>
<li>mutation_amp&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#ad4dc0e53b3ca6bf2a642dfe7a1d1f26c">GenOptimizer_t</a></li>
</ul>
<h3 class="doxsection"><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>n_best&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#a950cd70cb6bff33b78ad35ee58c729a6">EvolveOptimizer_t</a></li>
<li>n_cand&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#ac35c7ca8cede4ab9c53a2845a91cd1b1">EvolveOptimizer_t</a></li>
<li>n_params&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#a1c270fce82e0c97e6c88fd0971c1eed8">EvolveOptimizer_t</a></li>
<li>n_best&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#a8201f1eede36a2c04ec7b4caac7465c9">GenOptimizer_t</a></li>
<li>n_cand&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#a9e20d2f6f39a5147e6dbac46baca73a9">GenOptimizer_t</a></li>
<li>n_params&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#afe598a90024a8aa628dd16f3a2b38eb5">GenOptimizer_t</a></li>
</ul>
@ -189,10 +199,12 @@ $(function(){initNavTree('functions_vars.html','',''); });
<li>sConfig&#160;:&#160;<a class="el" href="struct_t_i_m___encoder_type_def.html#a021f0c585e9e62d68a4b09f630d8b6e5">TIM_EncoderTypeDef</a></li>
<li>size&#160;:&#160;<a class="el" href="struct_r_t_t___flash_header__t.html#afd1a5c51af6f97d170c2ccbbe3e34699">RTT_FlashHeader_t</a></li>
<li>sMasterConfig&#160;:&#160;<a class="el" href="struct_t_i_m___settings_type_def.html#a2d9d277dd395424b964445ec1bc65b21">TIM_SettingsTypeDef</a></li>
<li>sorted_idx&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a">EvolveOptimizer_t</a></li>
<li>sorted_idx&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12">GenOptimizer_t</a></li>
<li>sSlaveConfig&#160;:&#160;<a class="el" href="struct_t_i_m___settings_type_def.html#a9694cf0910a69d48ff94f8aeac106969">TIM_SettingsTypeDef</a></li>
<li>stability&#160;:&#160;<a class="el" href="struct_evolve_optimizer__t.html#a80eb0b8525b6bb838484f5922b9d8f7c">EvolveOptimizer_t</a></li>
<li>stability&#160;:&#160;<a class="el" href="struct_gen_optimizer__t.html#abe0aacea949fbe93e5d4c002e37d7192">GenOptimizer_t</a></li>
<li>start_tick&#160;:&#160;<a class="el" href="struct_bench_time_channel__t.html#a8140fe9e3d323404651f0cfeeae53928">BenchTimeChannel_t</a></li>
<li>state&#160;:&#160;<a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#ad28d93023a00e3c5669bd3deda122435">GPIO_LEDTypeDef</a></li>
<li>stats&#160;:&#160;<a class="el" href="struct_bench_time_channel__t.html#a22a3913e7925aa89cc12ec1d24a6c16c">BenchTimeChannel_t</a></li>
<li>sTickBasePrescaler&#160;:&#160;<a class="el" href="struct_t_i_m___settings_type_def.html#a11151fe125960cb8e61328ffd06b7718">TIM_SettingsTypeDef</a></li>
<li>sTickBaseUS&#160;:&#160;<a class="el" href="struct_t_i_m___settings_type_def.html#a58da1b4c0f6d12d7d9fb2f170b9b9e6e">TIM_SettingsTypeDef</a></li>
<li>sTimAHBFreqMHz&#160;:&#160;<a class="el" href="struct_t_i_m___settings_type_def.html#a7073358fd3a722687eb85238ab570014">TIM_SettingsTypeDef</a></li>
@ -209,6 +221,8 @@ $(function(){initNavTree('functions_vars.html','',''); });
<h3 class="doxsection"><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>tag&#160;:&#160;<a class="el" href="struct_r_t_t___flash_header__t.html#a844ee5470a323a749856cbb7a682dc57">RTT_FlashHeader_t</a></li>
<li>tick_period&#160;:&#160;<a class="el" href="struct_bench_time_channel__t.html#a095d93e0228641f58b8661e263bc1bcd">BenchTimeChannel_t</a></li>
<li>total_ticks&#160;:&#160;<a class="el" href="struct_bench_time_stats__t.html#a21499b0b19d1ed27f8cea069f674e8ec">BenchTimeStats_t</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->

View File

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/evolve_optimizer.h File Reference</title>
<title>MyLibs: E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/gen_optimizer.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -71,7 +71,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('evolve__optimizer_8h.html','',''); });
$(function(){initNavTree('gen__optimizer_8h.html','',''); });
</script>
<div id="container">
<div id="doc-content">
@ -97,7 +97,7 @@ $(function(){initNavTree('evolve__optimizer_8h.html','',''); });
</div>
<div class="header">
<div class="headertitle"><div class="title">evolve_optimizer.h File Reference</div></div>
<div class="headertitle"><div class="title">gen_optimizer.h File Reference</div></div>
</div><!--header-->
<div class="contents">
@ -106,12 +106,12 @@ $(function(){initNavTree('evolve__optimizer_8h.html','',''); });
<div class="textblock"><code>#include &quot;<a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>&quot;</code><br />
<code>#include &lt;stdint.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
</div><div class="textblock"><div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Include dependency graph for evolve_optimizer.h:</div>
</div><div class="textblock"><div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Include dependency graph for gen_optimizer.h:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="evolve__optimizer_8h__incl.png" border="0" usemap="#a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2evolve__optimizer_8h" loading="lazy" alt=""/></div>
<map name="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2evolve__optimizer_8h" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2evolve__optimizer_8h">
<div class="center"><img src="gen__optimizer_8h__incl.png" border="0" usemap="#a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2gen__optimizer_8h" loading="lazy" alt=""/></div>
<map name="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2gen__optimizer_8h" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2gen__optimizer_8h">
<area shape="rect" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="84,5,260,64"/>
<area shape="rect" href="mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="13,112,115,139"/>
<area shape="poly" title=" " alt="" coords="139,66,93,104,89,100,136,62"/>
@ -129,45 +129,45 @@ $(function(){initNavTree('evolve__optimizer_8h.html','',''); });
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="evolve__optimizer_8h__dep__incl.png" border="0" usemap="#a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2evolve__optimizer_8hdep" loading="lazy" alt=""/></div>
<map name="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2evolve__optimizer_8hdep" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2evolve__optimizer_8hdep">
<div class="center"><img src="gen__optimizer_8h__dep__incl.png" border="0" usemap="#a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2gen__optimizer_8hdep" loading="lazy" alt=""/></div>
<map name="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2gen__optimizer_8hdep" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2gen__optimizer_8hdep">
<area shape="rect" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="5,5,182,64"/>
<area shape="rect" href="mylibs__include_8h.html" title="Заголочный файл для всех библиотек" alt="" coords="5,112,182,171"/>
<area shape="poly" title=" " alt="" coords="96,80,96,112,91,112,91,80"/>
</map>
</div>
</div>
<p><a href="evolve__optimizer_8h_source.html">Go to the source code of this file.</a></p>
<p><a href="gen__optimizer_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:EvolveOptimizer_5Ft" id="r_EvolveOptimizer_5Ft"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_evolve_optimizer__t.html">EvolveOptimizer_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Структура эволюционного оптимизатора <a href="struct_evolve_optimizer__t.html#details">More...</a><br /></td></tr>
<tr class="memitem:GenOptimizer_5Ft" id="r_GenOptimizer_5Ft"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_gen_optimizer__t.html">GenOptimizer_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Структура эволюционного оптимизатора <a href="struct_gen_optimizer__t.html#details">More...</a><br /></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-define-members" class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga83abbcabaff9111c03ae2475ee72ea3e" id="r_ga83abbcabaff9111c03ae2475ee72ea3e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga83abbcabaff9111c03ae2475ee72ea3e">PARAM_SCALE</a>(x, min_val, max_val)</td></tr>
<tr class="memitem:ga83abbcabaff9111c03ae2475ee72ea3e" id="r_ga83abbcabaff9111c03ae2475ee72ea3e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga83abbcabaff9111c03ae2475ee72ea3e">PARAM_SCALE</a>(x, min_val, max_val)</td></tr>
<tr class="memdesc:ga83abbcabaff9111c03ae2475ee72ea3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Линейное масштабирование x из диапазона [min_val, max_val] в диапазон [0, 1) <br /></td></tr>
<tr class="memitem:gaa1d5510fe5f0bd989473f3ebe324bde3" id="r_gaa1d5510fe5f0bd989473f3ebe324bde3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#gaa1d5510fe5f0bd989473f3ebe324bde3">PARAM_UNSCALE</a>(val, min_val, max_val)</td></tr>
<tr class="memitem:gaa1d5510fe5f0bd989473f3ebe324bde3" id="r_gaa1d5510fe5f0bd989473f3ebe324bde3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#gaa1d5510fe5f0bd989473f3ebe324bde3">PARAM_UNSCALE</a>(val, min_val, max_val)</td></tr>
<tr class="memdesc:gaa1d5510fe5f0bd989473f3ebe324bde3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Обратное линейное масштабирование значения из [0, 1) в диапазон [min_val, max_val]. <br /></td></tr>
<tr class="memitem:ga2f2b1be34ad4eb1bf3267237200cd6c6" id="r_ga2f2b1be34ad4eb1bf3267237200cd6c6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga2f2b1be34ad4eb1bf3267237200cd6c6">EVOLVE_MUTATION_MIN_PCT</a>&#160;&#160;&#160;10</td></tr>
<tr class="memdesc:ga2f2b1be34ad4eb1bf3267237200cd6c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Минимальная мутация (в процентах от Loss) <br /></td></tr>
<tr class="memitem:ga861c1c6a503c21441abcec0d57b848bc" id="r_ga861c1c6a503c21441abcec0d57b848bc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga861c1c6a503c21441abcec0d57b848bc">EVOLVE_MUTATION_MAX_PCT</a>&#160;&#160;&#160;100</td></tr>
<tr class="memdesc:ga861c1c6a503c21441abcec0d57b848bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Максимальная мутация (в процентах от Loss) <br /></td></tr>
<tr class="memitem:ga38607e23d9234524bc7de5869b15b8eb" id="r_ga38607e23d9234524bc7de5869b15b8eb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb">ELOVLE_N_ELITE_CANDIDATE</a>&#160;&#160;&#160;2</td></tr>
<tr class="memitem:ga3db7bdf57549722427e1e72dcaa87068" id="r_ga3db7bdf57549722427e1e72dcaa87068"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga3db7bdf57549722427e1e72dcaa87068">GEN_MUTATION_MIN_PCT</a>&#160;&#160;&#160;10</td></tr>
<tr class="memdesc:ga3db7bdf57549722427e1e72dcaa87068"><td class="mdescLeft">&#160;</td><td class="mdescRight">Минимальная мутация (в процентах от Loss) <br /></td></tr>
<tr class="memitem:ga48dca8f0a0c9b96d02236ef76ac827fd" id="r_ga48dca8f0a0c9b96d02236ef76ac827fd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga48dca8f0a0c9b96d02236ef76ac827fd">GEN_MUTATION_MAX_PCT</a>&#160;&#160;&#160;100</td></tr>
<tr class="memdesc:ga48dca8f0a0c9b96d02236ef76ac827fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Максимальная мутация (в процентах от Loss) <br /></td></tr>
<tr class="memitem:ga38607e23d9234524bc7de5869b15b8eb" id="r_ga38607e23d9234524bc7de5869b15b8eb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb">ELOVLE_N_ELITE_CANDIDATE</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:ga38607e23d9234524bc7de5869b15b8eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Количество кандидатов, которые проходят в поколение без изменений (по умолчанию 2) <br /></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga4e3ea118b5b9068619c57724a925ba21" id="r_ga4e3ea118b5b9068619c57724a925ba21"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga4e3ea118b5b9068619c57724a925ba21">EvolveOptimizer_Init</a> (<a class="el" href="struct_evolve_optimizer__t.html">EvolveOptimizer_t</a> *opt, uint16_t n_params, uint16_t n_cand, uint16_t n_best, float mutation_amp, float *start_params)</td></tr>
<tr class="memdesc:ga4e3ea118b5b9068619c57724a925ba21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Инициализация эволюционного оптимизатора. <br /></td></tr>
<tr class="memitem:gaef44a1f3298514569cc2b396a92101ef" id="r_gaef44a1f3298514569cc2b396a92101ef"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#gaef44a1f3298514569cc2b396a92101ef">EvolveOptimizer_Step</a> (<a class="el" href="struct_evolve_optimizer__t.html">EvolveOptimizer_t</a> *opt, float *params, float loss)</td></tr>
<tr class="memdesc:gaef44a1f3298514569cc2b396a92101ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Один шаг эволюционного оптимизатора. <br /></td></tr>
<tr class="memitem:ga2db1df46b4082ad9280ef4344fdf4e8a" id="r_ga2db1df46b4082ad9280ef4344fdf4e8a"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga2db1df46b4082ad9280ef4344fdf4e8a">GenOptimizer_Init</a> (<a class="el" href="struct_gen_optimizer__t.html">GenOptimizer_t</a> *opt, uint16_t n_params, uint16_t n_cand, uint16_t n_best, float mutation_amp, float *start_params)</td></tr>
<tr class="memdesc:ga2db1df46b4082ad9280ef4344fdf4e8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Инициализация эволюционного оптимизатора. <br /></td></tr>
<tr class="memitem:gaa9a4c4f43f7beb926c85bd4817ebd628" id="r_gaa9a4c4f43f7beb926c85bd4817ebd628"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#gaa9a4c4f43f7beb926c85bd4817ebd628">GenOptimizer_Step</a> (<a class="el" href="struct_gen_optimizer__t.html">GenOptimizer_t</a> *opt, float *params, float loss)</td></tr>
<tr class="memdesc:gaa9a4c4f43f7beb926c85bd4817ebd628"><td class="mdescLeft">&#160;</td><td class="mdescRight">Один шаг эволюционного оптимизатора. <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Заголовочный файл для адаптивного подбора параметров </p>
<p class="definition">Definition in file <a class="el" href="evolve__optimizer_8h_source.html">evolve_optimizer.h</a>.</p>
<p class="definition">Definition in file <a class="el" href="gen__optimizer_8h_source.html">gen_optimizer.h</a>.</p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<div id="page-nav" class="page-nav-panel">
@ -181,7 +181,7 @@ Functions</h2></td></tr>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a href="dir_d4b2573a0c19afb61452cc3d00967af1.html">MyLibs</a></li><li class="navelem"><a href="dir_8eb68c124db7670c3cb56141b10519ea.html">Inc</a></li><li class="navelem"><a href="evolve__optimizer_8h.html">evolve_optimizer.h</a></li>
<li class="navelem"><a href="dir_d4b2573a0c19afb61452cc3d00967af1.html">MyLibs</a></li><li class="navelem"><a href="dir_8eb68c124db7670c3cb56141b10519ea.html">Inc</a></li><li class="navelem"><a href="gen__optimizer_8h.html">gen_optimizer.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>

View File

@ -0,0 +1,10 @@
var gen__optimizer_8h =
[
[ "PARAM_SCALE", "group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga83abbcabaff9111c03ae2475ee72ea3e", null ],
[ "PARAM_UNSCALE", "group___g_e_n___o_p_t_i_m_i_z_e_r.html#gaa1d5510fe5f0bd989473f3ebe324bde3", null ],
[ "GEN_MUTATION_MIN_PCT", "group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga3db7bdf57549722427e1e72dcaa87068", null ],
[ "GEN_MUTATION_MAX_PCT", "group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga48dca8f0a0c9b96d02236ef76ac827fd", null ],
[ "ELOVLE_N_ELITE_CANDIDATE", "group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb", null ],
[ "GenOptimizer_Init", "group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga2db1df46b4082ad9280ef4344fdf4e8a", null ],
[ "GenOptimizer_Step", "group___g_e_n___o_p_t_i_m_i_z_e_r.html#gaa9a4c4f43f7beb926c85bd4817ebd628", null ]
];

View File

@ -1,4 +1,4 @@
<map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/evolve_optimizer.h" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/evolve_optimizer.h">
<map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/gen_optimizer.h" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/gen_optimizer.h">
<area shape="rect" id="Node000001" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="5,5,182,64"/>
<area shape="rect" id="Node000002" href="$mylibs__include_8h.html" title="Заголочный файл для всех библиотек" alt="" coords="5,112,182,171"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="96,80,96,112,91,112,91,80"/>

View File

@ -0,0 +1 @@
bc415c9dddbdac24a11e95d2be89e955

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -1,4 +1,4 @@
<map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/evolve_optimizer.h" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/evolve_optimizer.h">
<map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/gen_optimizer.h" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/gen_optimizer.h">
<area shape="rect" id="Node000001" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="84,5,260,64"/>
<area shape="rect" id="Node000002" href="$mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="13,112,115,139"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="139,66,93,104,89,100,136,62"/>

View File

@ -0,0 +1 @@
0acd416c6eac40e5c785db60f3cb0711

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/evolve_optimizer.h Source File</title>
<title>MyLibs: E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/gen_optimizer.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -71,7 +71,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('evolve__optimizer_8h_source.html','',''); });
$(function(){initNavTree('gen__optimizer_8h_source.html','',''); });
</script>
<div id="container">
<div id="doc-content">
@ -97,15 +97,15 @@ $(function(){initNavTree('evolve__optimizer_8h_source.html','',''); });
</div>
<div class="header">
<div class="headertitle"><div class="title">evolve_optimizer.h</div></div>
<div class="headertitle"><div class="title">gen_optimizer.h</div></div>
</div><!--header-->
<div class="contents">
<a href="evolve__optimizer_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<a href="gen__optimizer_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">******************************************************************************</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">* @file evolve_optimizer.h</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">* @file gen_optimizer.h</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">* @brief Заголовочный файл для адаптивного подбора параметров</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">******************************************************************************</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">* @addtogroup EVOLVE_OPTIMIZER Evolve optimizer</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">* @addtogroup GEN_OPTIMIZER Genetic optimizer</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">* @ingroup MYLIBS_DEFINES</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment">* @brief Библиотека для эволюционного подбора параметров</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">* @details</span></div>
@ -117,24 +117,24 @@ $(function(){initNavTree('evolve__optimizer_8h_source.html','',''); });
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"></span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"></span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">Параметры для конфигурации:</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">- @ref ENABLE_EVOLVE_OPTIMIZATION - Включить оптимизацию параметров</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"> Если библиотека отключена @ref ENABLE_EVOLVE_OPTIMIZATION, то вставляются </span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">- @ref GEN_OPTIMIZATION_ENABLE - Включить оптимизацию параметров</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"> Если библиотека отключена @ref GEN_OPTIMIZATION_ENABLE, то вставляются </span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> заглушки, никак не влияющие на параметры и остальную программу</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">- @ref EVOLVE_MAX_PARAMS - Максимальное количество параметров</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">- @ref EVOLVE_MAX_CANDIDATES - Максимальное количество кандидатов для обучения</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment">- (опционально) @ref EVOLVE_MUTATION_MIN_PCT - Минимальная мутация в процентах от Loss (по умолчанию 10%)</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">- (опционально) @ref EVOLVE_MUTATION_MAX_PCT - Максимальная мутация в процентах от Loss (по умолчанию 100%)</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">- @ref GEN_MAX_PARAMS - Максимальное количество параметров</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">- @ref GEN_MAX_CANDIDATES - Максимальное количество кандидатов для обучения</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment">- (опционально) @ref GEN_MUTATION_MIN_PCT - Минимальная мутация в процентах от Loss (по умолчанию 10%)</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">- (опционально) @ref GEN_MUTATION_MAX_PCT - Максимальная мутация в процентах от Loss (по умолчанию 100%)</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment">- (опционально) @ref ELOVLE_N_ELITE_CANDIDATE - Количество кандидатов, которые проходят в поколение без изменений</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment"></span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment">@par Пример использования:</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment">@code</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment">#include &quot;evolve_optimizer.h&quot;</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment">#include &quot;gen_optimizer.h&quot;</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment">#define N_PARAMS 4</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment">#define N_CANDIDATES 100</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment">#define N_BEST 10</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment">#define MUTATION 0.1f</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment">float params[N_PARAMS];</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment">EvolveOptimizer_t optimizer;</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment">GenOptimizer_t optimizer;</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment"></span> </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment">// Формирование параметров</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment">uint16_t param_u16 = 800;</span></div>
@ -147,11 +147,11 @@ $(function(){initNavTree('evolve__optimizer_8h_source.html','',''); });
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="comment">params[3] = PARAM_SCALE(param_i16, 500.0f, 5000.0f);</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="comment"></span> </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="comment">// Инициалиазция</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="comment">EvolveOptimizer_Init(&amp;optimizer, N_PARAMS, N_CANDIDATES, N_BEST, MUTATION, params);</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="comment">GenOptimizer_Init(&amp;optimizer, N_PARAMS, N_CANDIDATES, N_BEST, MUTATION, params);</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="comment"></span> </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="comment">// Шаг эволюции</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="comment">float loss = calc_loss(); // расчет эффективности параметров (от 0 до 1)</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="comment">EvolveOptimizer_Step(&amp;optimizer, params, loss);</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="comment">GenOptimizer_Step(&amp;optimizer, params, loss);</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="comment"></span> </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="comment">// Взятие следующих для эволюции параметров</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="comment">param_u16 = PARAM_UNSCALE(params[0], 0.0f, 1000.0f);</span></div>
@ -161,19 +161,19 @@ $(function(){initNavTree('evolve__optimizer_8h_source.html','',''); });
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="comment">@endcode</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="comment">* @{ </span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="comment">*****************************************************************************/</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="preprocessor">#ifndef __EVOLVE_OPTIMIZER_H_</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="preprocessor">#define __EVOLVE_OPTIMIZER_H_</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="preprocessor">#ifndef __GEN_OPTIMIZER_H_</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="preprocessor">#define __GEN_OPTIMIZER_H_</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="preprocessor">#include &quot;<a class="code" href="mylibs__defs_8h.html">mylibs_defs.h</a>&quot;</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="preprocessor">#ifdef ENABLE_EVOLVE_OPTIMIZATION</span><span class="comment"></span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="preprocessor">#ifdef GEN_OPTIMIZATION_ENABLE</span><span class="comment"></span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="comment">/**</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="comment"> * @brief Линейное масштабирование x из диапазона [min_val, max_val] в диапазон [0, 1)</span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="comment"> */</span><span class="preprocessor"></span></div>
<div class="foldopen" id="foldopen00073" data-start="" data-end="">
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga83abbcabaff9111c03ae2475ee72ea3e"> 73</a></span><span class="preprocessor">#define PARAM_SCALE(x, min_val, max_val) \</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga83abbcabaff9111c03ae2475ee72ea3e"> 73</a></span><span class="preprocessor">#define PARAM_SCALE(x, min_val, max_val) \</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="preprocessor">(((float)(x) - (float)(min_val)) / ((float)(max_val) - (float)(min_val)))</span></div>
</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="comment"></span> </div>
@ -181,7 +181,7 @@ $(function(){initNavTree('evolve__optimizer_8h_source.html','',''); });
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="comment"> * @brief Обратное линейное масштабирование значения из [0, 1) в диапазон [min_val, max_val]</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00079" data-start="" data-end="">
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#gaa1d5510fe5f0bd989473f3ebe324bde3"> 79</a></span><span class="preprocessor">#define PARAM_UNSCALE(val, min_val, max_val) \</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#gaa1d5510fe5f0bd989473f3ebe324bde3"> 79</a></span><span class="preprocessor">#define PARAM_UNSCALE(val, min_val, max_val) \</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="preprocessor">(((float)(val)) * ((float)(max_val) - (float)(min_val)) + (float)(min_val))</span></div>
</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
@ -191,14 +191,14 @@ $(function(){initNavTree('evolve__optimizer_8h_source.html','',''); });
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="preprocessor">#ifndef EVOLVE_MUTATION_MIN_PCT</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga2f2b1be34ad4eb1bf3267237200cd6c6"> 89</a></span><span class="preprocessor">#define EVOLVE_MUTATION_MIN_PCT 10 </span><span class="comment">///&lt; Минимальная мутация (в процентах от Loss)</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="preprocessor">#ifndef GEN_MUTATION_MIN_PCT</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga3db7bdf57549722427e1e72dcaa87068"> 89</a></span><span class="preprocessor">#define GEN_MUTATION_MIN_PCT 10 </span><span class="comment">///&lt; Минимальная мутация (в процентах от Loss)</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor">#ifndef EVOLVE_MUTATION_MAX_PCT</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga861c1c6a503c21441abcec0d57b848bc"> 92</a></span><span class="preprocessor">#define EVOLVE_MUTATION_MAX_PCT 100 </span><span class="comment">///&lt; Максимальная мутация (в процентах от Loss)</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor">#ifndef GEN_MUTATION_MAX_PCT</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga48dca8f0a0c9b96d02236ef76ac827fd"> 92</a></span><span class="preprocessor">#define GEN_MUTATION_MAX_PCT 100 </span><span class="comment">///&lt; Максимальная мутация (в процентах от Loss)</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="preprocessor">#ifndef ELOVLE_N_ELITE_CANDIDATE</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb"> 95</a></span><span class="preprocessor">#define ELOVLE_N_ELITE_CANDIDATE 2 </span><span class="comment">///&lt; Количество кандидатов, которые проходят в поколение без изменений (по умолчанию 2)</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb"> 95</a></span><span class="preprocessor">#define ELOVLE_N_ELITE_CANDIDATE 2 </span><span class="comment">///&lt; Количество кандидатов, которые проходят в поколение без изменений (по умолчанию 2)</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> </div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="comment"></span> </div>
@ -206,40 +206,40 @@ $(function(){initNavTree('evolve__optimizer_8h_source.html','',''); });
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="comment"> * @brief Структура эволюционного оптимизатора</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00102" data-start="{" data-end="};">
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="struct_evolve_optimizer__t.html"> 102</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="struct_evolve_optimizer__t.html#a80eb0b8525b6bb838484f5922b9d8f7c"> 103</a></span> <span class="keywordtype">float</span> <a class="code hl_variable" href="struct_evolve_optimizer__t.html#a80eb0b8525b6bb838484f5922b9d8f7c">stability</a>; <span class="comment">///&lt; Коэффициент насколько стабильная популяция (0..1)(@ref n_cand)</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="struct_gen_optimizer__t.html"> 102</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="struct_gen_optimizer__t.html#abe0aacea949fbe93e5d4c002e37d7192"> 103</a></span> <span class="keywordtype">float</span> <a class="code hl_variable" href="struct_gen_optimizer__t.html#abe0aacea949fbe93e5d4c002e37d7192">stability</a>; <span class="comment">///&lt; Коэффициент насколько стабильная популяция (0..1)(@ref n_cand)</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="struct_evolve_optimizer__t.html#a1c270fce82e0c97e6c88fd0971c1eed8"> 105</a></span> uint16_t <a class="code hl_variable" href="struct_evolve_optimizer__t.html#a1c270fce82e0c97e6c88fd0971c1eed8">n_params</a>; <span class="comment">///&lt; Количество параметров</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="struct_evolve_optimizer__t.html#ac35c7ca8cede4ab9c53a2845a91cd1b1"> 106</a></span> uint16_t <a class="code hl_variable" href="struct_evolve_optimizer__t.html#ac35c7ca8cede4ab9c53a2845a91cd1b1">n_cand</a>; <span class="comment">///&lt; Количество кандидатов в популяции</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="struct_evolve_optimizer__t.html#a950cd70cb6bff33b78ad35ee58c729a6"> 107</a></span> uint16_t <a class="code hl_variable" href="struct_evolve_optimizer__t.html#a950cd70cb6bff33b78ad35ee58c729a6">n_best</a>; <span class="comment">///&lt; Количество лучших, усредняемых</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="struct_evolve_optimizer__t.html#af779c7aeba0053e36cee7aade160f1c8"> 108</a></span> <span class="keywordtype">float</span> <a class="code hl_variable" href="struct_evolve_optimizer__t.html#af779c7aeba0053e36cee7aade160f1c8">mutation_amp</a>; <span class="comment">///&lt; Амплитуда мутации (0..1)</span></div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="struct_gen_optimizer__t.html#afe598a90024a8aa628dd16f3a2b38eb5"> 105</a></span> uint16_t <a class="code hl_variable" href="struct_gen_optimizer__t.html#afe598a90024a8aa628dd16f3a2b38eb5">n_params</a>; <span class="comment">///&lt; Количество параметров</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="struct_gen_optimizer__t.html#a9e20d2f6f39a5147e6dbac46baca73a9"> 106</a></span> uint16_t <a class="code hl_variable" href="struct_gen_optimizer__t.html#a9e20d2f6f39a5147e6dbac46baca73a9">n_cand</a>; <span class="comment">///&lt; Количество кандидатов в популяции</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="struct_gen_optimizer__t.html#a8201f1eede36a2c04ec7b4caac7465c9"> 107</a></span> uint16_t <a class="code hl_variable" href="struct_gen_optimizer__t.html#a8201f1eede36a2c04ec7b4caac7465c9">n_best</a>; <span class="comment">///&lt; Количество лучших, усредняемых</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="struct_gen_optimizer__t.html#ad4dc0e53b3ca6bf2a642dfe7a1d1f26c"> 108</a></span> <span class="keywordtype">float</span> <a class="code hl_variable" href="struct_gen_optimizer__t.html#ad4dc0e53b3ca6bf2a642dfe7a1d1f26c">mutation_amp</a>; <span class="comment">///&lt; Амплитуда мутации (0..1)</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="struct_evolve_optimizer__t.html#a0ae0e63ba351335d4445d927991c64ae"> 110</a></span> uint16_t <a class="code hl_variable" href="struct_evolve_optimizer__t.html#a0ae0e63ba351335d4445d927991c64ae">cand_index</a>; <span class="comment">///&lt; Индекс кандидата для обработки</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="struct_evolve_optimizer__t.html#ad0f464d7048a9ed0753b61f76f563108"> 111</a></span> uint16_t <a class="code hl_variable" href="struct_evolve_optimizer__t.html#ad0f464d7048a9ed0753b61f76f563108">gen_index</a>; <span class="comment">///&lt; Индекс популяции </span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="struct_gen_optimizer__t.html#a04a72c1a13e17581e84eaaf3d245bbfc"> 110</a></span> uint16_t <a class="code hl_variable" href="struct_gen_optimizer__t.html#a04a72c1a13e17581e84eaaf3d245bbfc">cand_index</a>; <span class="comment">///&lt; Индекс текущего кандидата</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="struct_gen_optimizer__t.html#a8f226c85e9bb034cb811aa0366bb191c"> 111</a></span> uint16_t <a class="code hl_variable" href="struct_gen_optimizer__t.html#a8f226c85e9bb034cb811aa0366bb191c">gen_index</a>; <span class="comment">///&lt; Индекс популяции </span></div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> </div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="comment">//INTERNAL</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"><a class="line" href="struct_evolve_optimizer__t.html#a3be8c0c34db8429210ff470497a56727"> 114</a></span> <span class="keywordtype">float</span> <a class="code hl_variable" href="struct_evolve_optimizer__t.html#a3be8c0c34db8429210ff470497a56727">gen_mut</a>; <span class="comment">///&lt; Амплитуда мутации у текущей популяции </span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"><a class="line" href="struct_gen_optimizer__t.html#acfeb93ef4823e09473ddba52fae9a6b1"> 114</a></span> <span class="keywordtype">float</span> <a class="code hl_variable" href="struct_gen_optimizer__t.html#acfeb93ef4823e09473ddba52fae9a6b1">gen_mut</a>; <span class="comment">///&lt; Амплитуда мутации у текущей популяции </span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df"> 116</a></span> <span class="keywordtype">float</span> <a class="code hl_variable" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">loss</a>[<a class="code hl_define" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga7c1396e5c95c766afccdb45cbfcf5971">EVOLVE_MAX_CANDIDATES</a>]; <span class="comment">///&lt; Loss для каждого кандидата</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"><a class="line" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4"> 117</a></span> <span class="keywordtype">float</span> <a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[<a class="code hl_define" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga7c1396e5c95c766afccdb45cbfcf5971">EVOLVE_MAX_CANDIDATES</a>][<a class="code hl_define" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga80d6162495fc3776d8902610657d4fee">EVOLVE_MAX_PARAMS</a>]; <span class="comment">///&lt; Параметры кандидатов</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"><a class="line" href="struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a"> 118</a></span> uint16_t <a class="code hl_variable" href="struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a">sorted_idx</a>[<a class="code hl_define" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga7c1396e5c95c766afccdb45cbfcf5971">EVOLVE_MAX_CANDIDATES</a>]; <span class="comment">///&lt; Индексы отсортированных кандидатов</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span>} <a class="code hl_struct" href="struct_evolve_optimizer__t.html">EvolveOptimizer_t</a>;</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73"> 116</a></span> <span class="keywordtype">float</span> <a class="code hl_variable" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">loss</a>[<a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga201cffde04ebc6540869c74bd1dae869">GEN_MAX_CANDIDATES</a>]; <span class="comment">///&lt; Loss для каждого кандидата</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"><a class="line" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df"> 117</a></span> <span class="keywordtype">float</span> <a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[<a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga201cffde04ebc6540869c74bd1dae869">GEN_MAX_CANDIDATES</a>][<a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga8daf4b266a95353d580bd7946f47c0ab">GEN_MAX_PARAMS</a>]; <span class="comment">///&lt; Параметры кандидатов</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"><a class="line" href="struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12"> 118</a></span> uint16_t <a class="code hl_variable" href="struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12">sorted_idx</a>[<a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga201cffde04ebc6540869c74bd1dae869">GEN_MAX_CANDIDATES</a>]; <span class="comment">///&lt; Индексы отсортированных кандидатов</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span>} <a class="code hl_struct" href="struct_gen_optimizer__t.html">GenOptimizer_t</a>;</div>
</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> </div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span><span class="comment"></span> </div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span><span class="comment">/** </span></div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="comment"> * @cond EVOLVE_INTERNAL</span></div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="comment"> * @cond GEN_INTERNAL</span></div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span><span class="comment"> */</span></div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> </div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="comment">// Вспомогательный указатель для сортировки</span></div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span><span class="keyword">static</span> <a class="code hl_struct" href="struct_evolve_optimizer__t.html">EvolveOptimizer_t</a> *g_sort_opt; <span class="comment">// глобальный указатель на текущий оптимизатор</span></div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span><span class="keyword">static</span> <a class="code hl_struct" href="struct_gen_optimizer__t.html">GenOptimizer_t</a> *g_sort_opt; <span class="comment">// глобальный указатель на текущий оптимизатор</span></div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span><span class="comment">// функция условия сортировки</span></div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span><span class="keyword">static</span> <span class="keywordtype">int</span> cmp_idx(<span class="keyword">const</span> <span class="keywordtype">void</span> *a, <span class="keyword">const</span> <span class="keywordtype">void</span> *b) {</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">if</span> (g_sort_opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">loss</a>[*(<span class="keyword">const</span> uint16_t*)a] &lt; g_sort_opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">loss</a>[*(<span class="keyword">const</span> uint16_t*)b]) </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">if</span> (g_sort_opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">loss</a>[*(<span class="keyword">const</span> uint16_t*)a] &lt; g_sort_opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">loss</a>[*(<span class="keyword">const</span> uint16_t*)b]) </div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">return</span> -1;</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">if</span> (g_sort_opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">loss</a>[*(<span class="keyword">const</span> uint16_t*)a] &gt; g_sort_opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">loss</a>[*(<span class="keyword">const</span> uint16_t*)b]) </div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">if</span> (g_sort_opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">loss</a>[*(<span class="keyword">const</span> uint16_t*)a] &gt; g_sort_opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">loss</a>[*(<span class="keyword">const</span> uint16_t*)b]) </div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">return</span> 1;</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span>}<span class="comment"></span></div>
@ -261,7 +261,7 @@ $(function(){initNavTree('evolve__optimizer_8h_source.html','',''); });
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span><span class="comment"> * -1 — если ошибка</span></div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00155" data-start="{" data-end="}">
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"><a class="line" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga4e3ea118b5b9068619c57724a925ba21"> 155</a></span>__STATIC_INLINE <span class="keywordtype">int</span> <a class="code hl_function" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga4e3ea118b5b9068619c57724a925ba21">EvolveOptimizer_Init</a>(<a class="code hl_struct" href="struct_evolve_optimizer__t.html">EvolveOptimizer_t</a>* opt,</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"><a class="line" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga2db1df46b4082ad9280ef4344fdf4e8a"> 155</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga2db1df46b4082ad9280ef4344fdf4e8a">GenOptimizer_Init</a>(<a class="code hl_struct" href="struct_gen_optimizer__t.html">GenOptimizer_t</a>* opt,</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> uint16_t n_params,</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> uint16_t n_cand,</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> uint16_t n_best,</div>
@ -271,24 +271,24 @@ $(function(){initNavTree('evolve__optimizer_8h_source.html','',''); });
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">if</span>((opt == NULL) || (start_params == NULL))</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">return</span> -1;</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> </div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">if</span>(n_params &gt; <a class="code hl_define" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga80d6162495fc3776d8902610657d4fee">EVOLVE_MAX_PARAMS</a>)</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">if</span>(n_params &gt; <a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga8daf4b266a95353d580bd7946f47c0ab">GEN_MAX_PARAMS</a>)</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">return</span> -1; </div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a1c270fce82e0c97e6c88fd0971c1eed8">n_params</a> = n_params;</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#afe598a90024a8aa628dd16f3a2b38eb5">n_params</a> = n_params;</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> </div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">if</span>(n_cand &gt; <a class="code hl_define" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga7c1396e5c95c766afccdb45cbfcf5971">EVOLVE_MAX_CANDIDATES</a>)</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">if</span>(n_cand &gt; <a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga201cffde04ebc6540869c74bd1dae869">GEN_MAX_CANDIDATES</a>)</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">return</span> -1; </div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#ac35c7ca8cede4ab9c53a2845a91cd1b1">n_cand</a> = n_cand;</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a9e20d2f6f39a5147e6dbac46baca73a9">n_cand</a> = n_cand;</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> </div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">if</span>(n_best &gt; <a class="code hl_define" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga7c1396e5c95c766afccdb45cbfcf5971">EVOLVE_MAX_CANDIDATES</a>/2)</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">if</span>(n_best &gt; <a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga201cffde04ebc6540869c74bd1dae869">GEN_MAX_CANDIDATES</a>/2)</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <span class="keywordflow">return</span> -1; </div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a950cd70cb6bff33b78ad35ee58c729a6">n_best</a> = n_best;</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a8201f1eede36a2c04ec7b4caac7465c9">n_best</a> = n_best;</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> </div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> </div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">if</span>((mutation_amp &gt; 1) || (mutation_amp &lt; 0))</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">return</span> -1; </div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">if</span>(mutation_amp &lt;= 0.001f)</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> mutation_amp = 0.001f; </div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#af779c7aeba0053e36cee7aade160f1c8">mutation_amp</a> = mutation_amp;</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#ad4dc0e53b3ca6bf2a642dfe7a1d1f26c">mutation_amp</a> = mutation_amp;</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> </div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> uint32_t seed = <a class="code hl_define" href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653">local_time</a>();</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span><span class="preprocessor">#ifdef ADC1</span></div>
@ -302,15 +302,15 @@ $(function(){initNavTree('evolve__optimizer_8h_source.html','',''); });
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keywordtype">float</span> base = start_params[j];</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <span class="keywordtype">float</span> inv_randmax = 1.0f / (float)RAND_MAX;</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="keywordtype">float</span> noise = ((float)rand() * inv_randmax * 2.0f - 1.0f) * mutation_amp;</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[i][j] = base + noise;</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">if</span> (opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[i][j] &lt; 0.0f) opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[i][j] = 0.0f;</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">if</span> (opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[i][j] &gt; 1.0f) opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[i][j] = 1.0f;</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[i][j] = base + noise;</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">if</span> (opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[i][j] &lt; 0.0f) opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[i][j] = 0.0f;</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">if</span> (opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[i][j] &gt; 1.0f) opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[i][j] = 1.0f;</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> }</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">loss</a>[i] = 0.0f;</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">loss</a>[i] = 0.0f;</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> }</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> </div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a0ae0e63ba351335d4445d927991c64ae">cand_index</a> = 0;</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#ad0f464d7048a9ed0753b61f76f563108">gen_index</a> = 0;</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a04a72c1a13e17581e84eaaf3d245bbfc">cand_index</a> = 0;</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a8f226c85e9bb034cb811aa0366bb191c">gen_index</a> = 0;</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span>}</div>
</div>
@ -333,50 +333,50 @@ $(function(){initNavTree('evolve__optimizer_8h_source.html','',''); });
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span><span class="comment"> * Надо убедится что только один экземпляр функции запущен в момент времени</span></div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span><span class="comment"> */</span></div>
<div class="foldopen" id="foldopen00225" data-start="{" data-end="}">
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"><a class="line" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#gaef44a1f3298514569cc2b396a92101ef"> 225</a></span>__STATIC_INLINE <span class="keywordtype">int</span> <a class="code hl_function" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#gaef44a1f3298514569cc2b396a92101ef">EvolveOptimizer_Step</a>(<a class="code hl_struct" href="struct_evolve_optimizer__t.html">EvolveOptimizer_t</a>* opt,</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"><a class="line" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#gaa9a4c4f43f7beb926c85bd4817ebd628"> 225</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#gaa9a4c4f43f7beb926c85bd4817ebd628">GenOptimizer_Step</a>(<a class="code hl_struct" href="struct_gen_optimizer__t.html">GenOptimizer_t</a>* opt,</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keywordtype">float</span>* params,</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <span class="keywordtype">float</span> loss)</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span>{</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">if</span>((opt == NULL) || (params == NULL))</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">return</span> -1;</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> </div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> uint16_t n_params = opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a1c270fce82e0c97e6c88fd0971c1eed8">n_params</a>; </div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">if</span>(n_params &gt; <a class="code hl_define" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga80d6162495fc3776d8902610657d4fee">EVOLVE_MAX_PARAMS</a>)</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> uint16_t n_params = opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#afe598a90024a8aa628dd16f3a2b38eb5">n_params</a>; </div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">if</span>(n_params &gt; <a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga8daf4b266a95353d580bd7946f47c0ab">GEN_MAX_PARAMS</a>)</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">return</span> -1; </div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> </div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> uint16_t n_cand = opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#ac35c7ca8cede4ab9c53a2845a91cd1b1">n_cand</a>; </div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">if</span>(n_cand &gt; <a class="code hl_define" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga7c1396e5c95c766afccdb45cbfcf5971">EVOLVE_MAX_CANDIDATES</a>)</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> uint16_t n_cand = opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a9e20d2f6f39a5147e6dbac46baca73a9">n_cand</a>; </div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">if</span>(n_cand &gt; <a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga201cffde04ebc6540869c74bd1dae869">GEN_MAX_CANDIDATES</a>)</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">return</span> -1; </div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> </div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> uint16_t n_best = opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a950cd70cb6bff33b78ad35ee58c729a6">n_best</a>; </div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">if</span>(n_best &gt; <a class="code hl_define" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga7c1396e5c95c766afccdb45cbfcf5971">EVOLVE_MAX_CANDIDATES</a>/2)</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> uint16_t n_best = opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a8201f1eede36a2c04ec7b4caac7465c9">n_best</a>; </div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">if</span>(n_best &gt; <a class="code hl_define" href="group___g_e_n___c_o_n_f_i_g.html#ga201cffde04ebc6540869c74bd1dae869">GEN_MAX_CANDIDATES</a>/2)</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> <span class="keywordflow">return</span> -1;</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> </div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="keywordtype">float</span> mut = opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#af779c7aeba0053e36cee7aade160f1c8">mutation_amp</a>;</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="keywordtype">float</span> mut = opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#ad4dc0e53b3ca6bf2a642dfe7a1d1f26c">mutation_amp</a>;</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">if</span>((mut &gt; 1) ||(mut &lt; 0))</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">return</span> -1;</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> </div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <span class="comment">// 1. Сохраняем loss текущего кандидата</span></div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">loss</a>[opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a0ae0e63ba351335d4445d927991c64ae">cand_index</a>] = loss;</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a0ae0e63ba351335d4445d927991c64ae">cand_index</a>++;</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">loss</a>[opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a04a72c1a13e17581e84eaaf3d245bbfc">cand_index</a>] = loss;</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a04a72c1a13e17581e84eaaf3d245bbfc">cand_index</a>++;</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> </div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">if</span> (opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a0ae0e63ba351335d4445d927991c64ae">cand_index</a> &gt;= n_cand) {</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">if</span> (opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a04a72c1a13e17581e84eaaf3d245bbfc">cand_index</a> &gt;= n_cand) {</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <span class="comment">// 2. Сортируем текущее поколение по loss</span></div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">for</span>(uint16_t i = 0; i &lt; opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#ac35c7ca8cede4ab9c53a2845a91cd1b1">n_cand</a>; i++)</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a">sorted_idx</a>[i] = i;</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">for</span>(uint16_t i = 0; i &lt; opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a9e20d2f6f39a5147e6dbac46baca73a9">n_cand</a>; i++)</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12">sorted_idx</a>[i] = i;</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> </div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> g_sort_opt = opt;</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> qsort(opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a">sorted_idx</a>, opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#ac35c7ca8cede4ab9c53a2845a91cd1b1">n_cand</a>, <span class="keyword">sizeof</span>(uint16_t), cmp_idx);</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> qsort(opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12">sorted_idx</a>, opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a9e20d2f6f39a5147e6dbac46baca73a9">n_cand</a>, <span class="keyword">sizeof</span>(uint16_t), cmp_idx);</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> g_sort_opt = NULL;</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> </div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <span class="comment">// --- Адаптивная мутация в зависимости от Loss ---</span></div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="keywordtype">float</span> best_loss = opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">loss</a>[opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a">sorted_idx</a>[0]];</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> <span class="keywordtype">float</span> worst_loss = opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">loss</a>[opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a">sorted_idx</a>[opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#ac35c7ca8cede4ab9c53a2845a91cd1b1">n_cand</a> - 1]];</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="keywordtype">float</span> best_loss = opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">loss</a>[opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12">sorted_idx</a>[0]];</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> <span class="keywordtype">float</span> worst_loss = opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">loss</a>[opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12">sorted_idx</a>[opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a9e20d2f6f39a5147e6dbac46baca73a9">n_cand</a> - 1]];</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> <span class="keywordtype">float</span> diff = worst_loss - best_loss;</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> </div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <span class="keywordtype">float</span> sum_loss = 0.0f;</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">for</span> (uint16_t i = 0; i &lt; n_cand; i++)</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> sum_loss += opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">loss</a>[i];</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> sum_loss += opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">loss</a>[i];</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <span class="keywordtype">float</span> avg_loss = sum_loss / (float)n_cand;</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> </div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> </div>
@ -387,47 +387,47 @@ $(function(){initNavTree('evolve__optimizer_8h_source.html','',''); });
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <span class="comment">// Записываем стабильность популяции в структуру</span></div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">if</span>(diff &lt; 0.0f) diff = 0.0f;</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> <span class="keywordflow">if</span>(diff &gt; 1.0f) diff = 1.0f;</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a80eb0b8525b6bb838484f5922b9d8f7c">stability</a> = (1.0f - worst_loss) * (1.0f - (worst_loss - best_loss));</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">if</span>(opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a80eb0b8525b6bb838484f5922b9d8f7c">stability</a> &lt; 0.0f) opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a80eb0b8525b6bb838484f5922b9d8f7c">stability</a> = 0.0f;</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">if</span>(opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a80eb0b8525b6bb838484f5922b9d8f7c">stability</a> &gt; 1.0f) opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a80eb0b8525b6bb838484f5922b9d8f7c">stability</a> = 1.0f;</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#abe0aacea949fbe93e5d4c002e37d7192">stability</a> = (1.0f - worst_loss) * (1.0f - (worst_loss - best_loss));</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">if</span>(opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#abe0aacea949fbe93e5d4c002e37d7192">stability</a> &lt; 0.0f) opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#abe0aacea949fbe93e5d4c002e37d7192">stability</a> = 0.0f;</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">if</span>(opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#abe0aacea949fbe93e5d4c002e37d7192">stability</a> &gt; 1.0f) opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#abe0aacea949fbe93e5d4c002e37d7192">stability</a> = 1.0f;</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> </div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">float</span> mut_pct = <a class="code hl_define" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga2f2b1be34ad4eb1bf3267237200cd6c6">EVOLVE_MUTATION_MIN_PCT</a> +</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> (<a class="code hl_define" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga861c1c6a503c21441abcec0d57b848bc">EVOLVE_MUTATION_MAX_PCT</a> - <a class="code hl_define" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga2f2b1be34ad4eb1bf3267237200cd6c6">EVOLVE_MUTATION_MIN_PCT</a>) * loss_ratio;</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> <span class="keywordtype">float</span> mut_pct = <a class="code hl_define" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga3db7bdf57549722427e1e72dcaa87068">GEN_MUTATION_MIN_PCT</a> +</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> (<a class="code hl_define" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga48dca8f0a0c9b96d02236ef76ac827fd">GEN_MUTATION_MAX_PCT</a> - <a class="code hl_define" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga3db7bdf57549722427e1e72dcaa87068">GEN_MUTATION_MIN_PCT</a>) * loss_ratio;</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> <span class="keywordtype">float</span> adaptive_mut = mut * (mut_pct / 100.0f);</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> <span class="keywordflow">if</span> (adaptive_mut &lt; 0.0001f) adaptive_mut = 0.0001f;</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a3be8c0c34db8429210ff470497a56727">gen_mut</a> = adaptive_mut;</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#acfeb93ef4823e09473ddba52fae9a6b1">gen_mut</a> = adaptive_mut;</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> </div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> <span class="comment">// 3. Генерируем новое поколение</span></div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> uint16_t n_elite = <a class="code hl_define" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb">ELOVLE_N_ELITE_CANDIDATE</a>;</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> uint16_t n_elite = <a class="code hl_define" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb">ELOVLE_N_ELITE_CANDIDATE</a>;</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> <span class="keywordflow">for</span> (uint16_t c = 0; c &lt; n_cand; c++) {</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> <span class="keywordflow">if</span> (c &lt; n_elite) {</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> <span class="keywordflow">for</span> (uint16_t i = 0; i &lt; n_params; i++)</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[c][i] = opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a">sorted_idx</a>[c]][i];</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">loss</a>[c] = 0.0f;</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[c][i] = opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12">sorted_idx</a>[c]][i];</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">loss</a>[c] = 0.0f;</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">for</span> (uint16_t i = 0; i &lt; n_params; i++) {</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> <span class="keywordtype">float</span> inv_randmax = 1.0f / (float)RAND_MAX;</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> <span class="keywordtype">float</span> noise = ((float)rand() * inv_randmax * 2.0f - 1.0f) * adaptive_mut;</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> uint16_t parent = opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a">sorted_idx</a>[rand() % opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a950cd70cb6bff33b78ad35ee58c729a6">n_best</a>];</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[c][i] = opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[parent][i] + noise;</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">if</span> (opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[c][i] &lt; 0.0f) opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[c][i] = 0.0f;</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">if</span> (opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[c][i] &gt; 1.0f) opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[c][i] = 1.0f;</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> uint16_t parent = opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12">sorted_idx</a>[rand() % opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a8201f1eede36a2c04ec7b4caac7465c9">n_best</a>];</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[c][i] = opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[parent][i] + noise;</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">if</span> (opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[c][i] &lt; 0.0f) opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[c][i] = 0.0f;</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">if</span> (opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[c][i] &gt; 1.0f) opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[c][i] = 1.0f;</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> }</div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">loss</a>[c] = 0.0f;</div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">loss</a>[c] = 0.0f;</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> }</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> }</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a0ae0e63ba351335d4445d927991c64ae">cand_index</a> = 0;</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#ad0f464d7048a9ed0753b61f76f563108">gen_index</a>++;</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a04a72c1a13e17581e84eaaf3d245bbfc">cand_index</a> = 0;</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a8f226c85e9bb034cb811aa0366bb191c">gen_index</a>++;</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> }</div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> </div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> <span class="comment">// 4. Возвращаем параметры следующего кандидата</span></div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">for</span> (uint16_t i = 0; i &lt; opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a1c270fce82e0c97e6c88fd0971c1eed8">n_params</a>; i++)</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> params[i] = opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[opt-&gt;<a class="code hl_variable" href="struct_evolve_optimizer__t.html#a0ae0e63ba351335d4445d927991c64ae">cand_index</a>][i];</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">for</span> (uint16_t i = 0; i &lt; opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#afe598a90024a8aa628dd16f3a2b38eb5">n_params</a>; i++)</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> params[i] = opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[opt-&gt;<a class="code hl_variable" href="struct_gen_optimizer__t.html#a04a72c1a13e17581e84eaaf3d245bbfc">cand_index</a>][i];</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> </div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span>}</div>
</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span><span class="preprocessor">#else </span><span class="comment">// ENABLE_EVOLVE_OPTIMIZATION</span></div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span><span class="preprocessor">#else </span><span class="comment">// GEN_OPTIMIZATION_ENABLE</span></div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span><span class="comment">//заглушки</span></div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> uint16_t n_params; </div>
@ -436,46 +436,46 @@ $(function(){initNavTree('evolve__optimizer_8h_source.html','',''); });
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> <span class="keywordtype">float</span> mutation_amp; </div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> <span class="keywordtype">float</span> loss[0]; </div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> <span class="keywordtype">float</span> candidates[0][0]; </div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span>} <a class="code hl_struct" href="struct_evolve_optimizer__t.html">EvolveOptimizer_t</a>;</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span><span class="preprocessor">#define EvolveOptimizer_Init(opt, n_params, n_cand, n_best, mutation_amp, start_params)</span></div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span><span class="preprocessor">#define EvolveOptimizer_Step(opt, params, LossFunc)</span></div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span>} <a class="code hl_struct" href="struct_gen_optimizer__t.html">GenOptimizer_t</a>;</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span><span class="preprocessor">#define GenOptimizer_Init(opt, n_params, n_cand, n_best, mutation_amp, start_params)</span></div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span><span class="preprocessor">#define GenOptimizer_Step(opt, params, LossFunc)</span></div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span><span class="preprocessor">#define PARAM_SCALE(x, min_val, max_val) (x)</span></div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span><span class="preprocessor">#define PARAM_UNSCALE(val, min_val, max_val) (val)</span></div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span><span class="preprocessor">#endif </span><span class="comment">// ENABLE_EVOLVE_OPTIMIZATION</span></div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span><span class="preprocessor">#endif </span><span class="comment">// GEN_OPTIMIZATION_ENABLE</span></div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> </div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span><span class="preprocessor">#endif </span><span class="comment">// __EVOLVE_OPTIMIZER_H_</span></div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span><span class="preprocessor">#endif </span><span class="comment">// __GEN_OPTIMIZER_H_</span></div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span><span class="comment"></span> </div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span><span class="comment">/** EVOLVE_OPTIMIZER</span></div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span><span class="comment">/** GEN_OPTIMIZER</span></div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span><span class="comment"> * @}</span></div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span><span class="comment"> */</span></div>
<div class="ttc" id="agroup___e_v_o_l_v_e___c_o_n_f_i_g_html_ga7c1396e5c95c766afccdb45cbfcf5971"><div class="ttname"><a href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga7c1396e5c95c766afccdb45cbfcf5971">EVOLVE_MAX_CANDIDATES</a></div><div class="ttdeci">#define EVOLVE_MAX_CANDIDATES</div><div class="ttdoc">Максимальное количество кандидатов для обучения</div><div class="ttdef"><b>Definition</b> <a href="mylibs__config_8h_source.html#l00066">mylibs_config.h:66</a></div></div>
<div class="ttc" id="agroup___e_v_o_l_v_e___c_o_n_f_i_g_html_ga80d6162495fc3776d8902610657d4fee"><div class="ttname"><a href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga80d6162495fc3776d8902610657d4fee">EVOLVE_MAX_PARAMS</a></div><div class="ttdeci">#define EVOLVE_MAX_PARAMS</div><div class="ttdoc">Максимальное количество параметров</div><div class="ttdef"><b>Definition</b> <a href="mylibs__config_8h_source.html#l00065">mylibs_config.h:65</a></div></div>
<div class="ttc" id="agroup___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r_html_ga2f2b1be34ad4eb1bf3267237200cd6c6"><div class="ttname"><a href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga2f2b1be34ad4eb1bf3267237200cd6c6">EVOLVE_MUTATION_MIN_PCT</a></div><div class="ttdeci">#define EVOLVE_MUTATION_MIN_PCT</div><div class="ttdoc">Минимальная мутация (в процентах от Loss)</div><div class="ttdef"><b>Definition</b> <a href="#l00089">evolve_optimizer.h:89</a></div></div>
<div class="ttc" id="agroup___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r_html_ga38607e23d9234524bc7de5869b15b8eb"><div class="ttname"><a href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb">ELOVLE_N_ELITE_CANDIDATE</a></div><div class="ttdeci">#define ELOVLE_N_ELITE_CANDIDATE</div><div class="ttdoc">Количество кандидатов, которые проходят в поколение без изменений (по умолчанию 2)</div><div class="ttdef"><b>Definition</b> <a href="#l00095">evolve_optimizer.h:95</a></div></div>
<div class="ttc" id="agroup___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r_html_ga4e3ea118b5b9068619c57724a925ba21"><div class="ttname"><a href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga4e3ea118b5b9068619c57724a925ba21">EvolveOptimizer_Init</a></div><div class="ttdeci">__STATIC_INLINE int EvolveOptimizer_Init(EvolveOptimizer_t *opt, uint16_t n_params, uint16_t n_cand, uint16_t n_best, float mutation_amp, float *start_params)</div><div class="ttdoc">Инициализация эволюционного оптимизатора.</div><div class="ttdef"><b>Definition</b> <a href="#l00155">evolve_optimizer.h:155</a></div></div>
<div class="ttc" id="agroup___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r_html_ga861c1c6a503c21441abcec0d57b848bc"><div class="ttname"><a href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga861c1c6a503c21441abcec0d57b848bc">EVOLVE_MUTATION_MAX_PCT</a></div><div class="ttdeci">#define EVOLVE_MUTATION_MAX_PCT</div><div class="ttdoc">Максимальная мутация (в процентах от Loss)</div><div class="ttdef"><b>Definition</b> <a href="#l00092">evolve_optimizer.h:92</a></div></div>
<div class="ttc" id="agroup___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r_html_gaef44a1f3298514569cc2b396a92101ef"><div class="ttname"><a href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#gaef44a1f3298514569cc2b396a92101ef">EvolveOptimizer_Step</a></div><div class="ttdeci">__STATIC_INLINE int EvolveOptimizer_Step(EvolveOptimizer_t *opt, float *params, float loss)</div><div class="ttdoc">Один шаг эволюционного оптимизатора.</div><div class="ttdef"><b>Definition</b> <a href="#l00225">evolve_optimizer.h:225</a></div></div>
<div class="ttc" id="agroup___l_i_b_s___c_o_n_f_i_g_html_ga9c853b02c22f26023c34d1d404b6d653"><div class="ttname"><a href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653">local_time</a></div><div class="ttdeci">#define local_time()</div><div class="ttdoc">Локальное время</div><div class="ttdef"><b>Definition</b> <a href="mylibs__config_8h_source.html#l00080">mylibs_config.h:80</a></div></div>
<div class="ttc" id="agroup___g_e_n___c_o_n_f_i_g_html_ga201cffde04ebc6540869c74bd1dae869"><div class="ttname"><a href="group___g_e_n___c_o_n_f_i_g.html#ga201cffde04ebc6540869c74bd1dae869">GEN_MAX_CANDIDATES</a></div><div class="ttdeci">#define GEN_MAX_CANDIDATES</div><div class="ttdoc">Максимальное количество кандидатов для обучения</div><div class="ttdef"><b>Definition</b> <a href="mylibs__config_8h_source.html#l00066">mylibs_config.h:66</a></div></div>
<div class="ttc" id="agroup___g_e_n___c_o_n_f_i_g_html_ga8daf4b266a95353d580bd7946f47c0ab"><div class="ttname"><a href="group___g_e_n___c_o_n_f_i_g.html#ga8daf4b266a95353d580bd7946f47c0ab">GEN_MAX_PARAMS</a></div><div class="ttdeci">#define GEN_MAX_PARAMS</div><div class="ttdoc">Максимальное количество параметров</div><div class="ttdef"><b>Definition</b> <a href="mylibs__config_8h_source.html#l00065">mylibs_config.h:65</a></div></div>
<div class="ttc" id="agroup___g_e_n___o_p_t_i_m_i_z_e_r_html_ga2db1df46b4082ad9280ef4344fdf4e8a"><div class="ttname"><a href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga2db1df46b4082ad9280ef4344fdf4e8a">GenOptimizer_Init</a></div><div class="ttdeci">static int GenOptimizer_Init(GenOptimizer_t *opt, uint16_t n_params, uint16_t n_cand, uint16_t n_best, float mutation_amp, float *start_params)</div><div class="ttdoc">Инициализация эволюционного оптимизатора.</div><div class="ttdef"><b>Definition</b> <a href="#l00155">gen_optimizer.h:155</a></div></div>
<div class="ttc" id="agroup___g_e_n___o_p_t_i_m_i_z_e_r_html_ga38607e23d9234524bc7de5869b15b8eb"><div class="ttname"><a href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb">ELOVLE_N_ELITE_CANDIDATE</a></div><div class="ttdeci">#define ELOVLE_N_ELITE_CANDIDATE</div><div class="ttdoc">Количество кандидатов, которые проходят в поколение без изменений (по умолчанию 2)</div><div class="ttdef"><b>Definition</b> <a href="#l00095">gen_optimizer.h:95</a></div></div>
<div class="ttc" id="agroup___g_e_n___o_p_t_i_m_i_z_e_r_html_ga3db7bdf57549722427e1e72dcaa87068"><div class="ttname"><a href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga3db7bdf57549722427e1e72dcaa87068">GEN_MUTATION_MIN_PCT</a></div><div class="ttdeci">#define GEN_MUTATION_MIN_PCT</div><div class="ttdoc">Минимальная мутация (в процентах от Loss)</div><div class="ttdef"><b>Definition</b> <a href="#l00089">gen_optimizer.h:89</a></div></div>
<div class="ttc" id="agroup___g_e_n___o_p_t_i_m_i_z_e_r_html_ga48dca8f0a0c9b96d02236ef76ac827fd"><div class="ttname"><a href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga48dca8f0a0c9b96d02236ef76ac827fd">GEN_MUTATION_MAX_PCT</a></div><div class="ttdeci">#define GEN_MUTATION_MAX_PCT</div><div class="ttdoc">Максимальная мутация (в процентах от Loss)</div><div class="ttdef"><b>Definition</b> <a href="#l00092">gen_optimizer.h:92</a></div></div>
<div class="ttc" id="agroup___g_e_n___o_p_t_i_m_i_z_e_r_html_gaa9a4c4f43f7beb926c85bd4817ebd628"><div class="ttname"><a href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#gaa9a4c4f43f7beb926c85bd4817ebd628">GenOptimizer_Step</a></div><div class="ttdeci">static int GenOptimizer_Step(GenOptimizer_t *opt, float *params, float loss)</div><div class="ttdoc">Один шаг эволюционного оптимизатора.</div><div class="ttdef"><b>Definition</b> <a href="#l00225">gen_optimizer.h:225</a></div></div>
<div class="ttc" id="agroup___l_i_b_s___c_o_n_f_i_g_html_ga9c853b02c22f26023c34d1d404b6d653"><div class="ttname"><a href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653">local_time</a></div><div class="ttdeci">#define local_time()</div><div class="ttdoc">Локальное время</div><div class="ttdef"><b>Definition</b> <a href="mylibs__config_8h_source.html#l00097">mylibs_config.h:97</a></div></div>
<div class="ttc" id="amylibs__defs_8h_html"><div class="ttname"><a href="mylibs__defs_8h.html">mylibs_defs.h</a></div><div class="ttdoc">Заголочный файл для дефайнов библиотеки MyLibsGeneral.</div></div>
<div class="ttc" id="astruct_evolve_optimizer__t_html"><div class="ttname"><a href="struct_evolve_optimizer__t.html">EvolveOptimizer_t</a></div><div class="ttdoc">Структура эволюционного оптимизатора</div><div class="ttdef"><b>Definition</b> <a href="#l00102">evolve_optimizer.h:102</a></div></div>
<div class="ttc" id="astruct_evolve_optimizer__t_html_a0ae0e63ba351335d4445d927991c64ae"><div class="ttname"><a href="struct_evolve_optimizer__t.html#a0ae0e63ba351335d4445d927991c64ae">EvolveOptimizer_t::cand_index</a></div><div class="ttdeci">uint16_t cand_index</div><div class="ttdoc">Индекс кандидата для обработки</div><div class="ttdef"><b>Definition</b> <a href="#l00110">evolve_optimizer.h:110</a></div></div>
<div class="ttc" id="astruct_evolve_optimizer__t_html_a1c270fce82e0c97e6c88fd0971c1eed8"><div class="ttname"><a href="struct_evolve_optimizer__t.html#a1c270fce82e0c97e6c88fd0971c1eed8">EvolveOptimizer_t::n_params</a></div><div class="ttdeci">uint16_t n_params</div><div class="ttdoc">Количество параметров</div><div class="ttdef"><b>Definition</b> <a href="#l00105">evolve_optimizer.h:105</a></div></div>
<div class="ttc" id="astruct_evolve_optimizer__t_html_a3be8c0c34db8429210ff470497a56727"><div class="ttname"><a href="struct_evolve_optimizer__t.html#a3be8c0c34db8429210ff470497a56727">EvolveOptimizer_t::gen_mut</a></div><div class="ttdeci">float gen_mut</div><div class="ttdoc">Амплитуда мутации у текущей популяции</div><div class="ttdef"><b>Definition</b> <a href="#l00114">evolve_optimizer.h:114</a></div></div>
<div class="ttc" id="astruct_evolve_optimizer__t_html_a74b81df1c298c99162310f3f7d91735a"><div class="ttname"><a href="struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a">EvolveOptimizer_t::sorted_idx</a></div><div class="ttdeci">uint16_t sorted_idx[100]</div><div class="ttdoc">Индексы отсортированных кандидатов</div><div class="ttdef"><b>Definition</b> <a href="#l00118">evolve_optimizer.h:118</a></div></div>
<div class="ttc" id="astruct_evolve_optimizer__t_html_a80eb0b8525b6bb838484f5922b9d8f7c"><div class="ttname"><a href="struct_evolve_optimizer__t.html#a80eb0b8525b6bb838484f5922b9d8f7c">EvolveOptimizer_t::stability</a></div><div class="ttdeci">float stability</div><div class="ttdoc">Коэффициент насколько стабильная популяция (0..1)(n_cand)</div><div class="ttdef"><b>Definition</b> <a href="#l00103">evolve_optimizer.h:103</a></div></div>
<div class="ttc" id="astruct_evolve_optimizer__t_html_a93f628397c2f8d4027f2906752b650df"><div class="ttname"><a href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">EvolveOptimizer_t::loss</a></div><div class="ttdeci">float loss[100]</div><div class="ttdoc">Loss для каждого кандидата</div><div class="ttdef"><b>Definition</b> <a href="#l00116">evolve_optimizer.h:116</a></div></div>
<div class="ttc" id="astruct_evolve_optimizer__t_html_a950cd70cb6bff33b78ad35ee58c729a6"><div class="ttname"><a href="struct_evolve_optimizer__t.html#a950cd70cb6bff33b78ad35ee58c729a6">EvolveOptimizer_t::n_best</a></div><div class="ttdeci">uint16_t n_best</div><div class="ttdoc">Количество лучших, усредняемых</div><div class="ttdef"><b>Definition</b> <a href="#l00107">evolve_optimizer.h:107</a></div></div>
<div class="ttc" id="astruct_evolve_optimizer__t_html_ac35c7ca8cede4ab9c53a2845a91cd1b1"><div class="ttname"><a href="struct_evolve_optimizer__t.html#ac35c7ca8cede4ab9c53a2845a91cd1b1">EvolveOptimizer_t::n_cand</a></div><div class="ttdeci">uint16_t n_cand</div><div class="ttdoc">Количество кандидатов в популяции</div><div class="ttdef"><b>Definition</b> <a href="#l00106">evolve_optimizer.h:106</a></div></div>
<div class="ttc" id="astruct_evolve_optimizer__t_html_ad0f464d7048a9ed0753b61f76f563108"><div class="ttname"><a href="struct_evolve_optimizer__t.html#ad0f464d7048a9ed0753b61f76f563108">EvolveOptimizer_t::gen_index</a></div><div class="ttdeci">uint16_t gen_index</div><div class="ttdoc">Индекс популяции</div><div class="ttdef"><b>Definition</b> <a href="#l00111">evolve_optimizer.h:111</a></div></div>
<div class="ttc" id="astruct_evolve_optimizer__t_html_aec67667fd1f1533e693e41c79bc28da4"><div class="ttname"><a href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">EvolveOptimizer_t::candidates</a></div><div class="ttdeci">float candidates[100][20]</div><div class="ttdoc">Параметры кандидатов</div><div class="ttdef"><b>Definition</b> <a href="#l00117">evolve_optimizer.h:117</a></div></div>
<div class="ttc" id="astruct_evolve_optimizer__t_html_af779c7aeba0053e36cee7aade160f1c8"><div class="ttname"><a href="struct_evolve_optimizer__t.html#af779c7aeba0053e36cee7aade160f1c8">EvolveOptimizer_t::mutation_amp</a></div><div class="ttdeci">float mutation_amp</div><div class="ttdoc">Амплитуда мутации (0..1)</div><div class="ttdef"><b>Definition</b> <a href="#l00108">evolve_optimizer.h:108</a></div></div>
<div class="ttc" id="astruct_gen_optimizer__t_html"><div class="ttname"><a href="struct_gen_optimizer__t.html">GenOptimizer_t</a></div><div class="ttdoc">Структура эволюционного оптимизатора</div><div class="ttdef"><b>Definition</b> <a href="#l00102">gen_optimizer.h:102</a></div></div>
<div class="ttc" id="astruct_gen_optimizer__t_html_a04a72c1a13e17581e84eaaf3d245bbfc"><div class="ttname"><a href="struct_gen_optimizer__t.html#a04a72c1a13e17581e84eaaf3d245bbfc">GenOptimizer_t::cand_index</a></div><div class="ttdeci">uint16_t cand_index</div><div class="ttdoc">Индекс текущего кандидата</div><div class="ttdef"><b>Definition</b> <a href="#l00110">gen_optimizer.h:110</a></div></div>
<div class="ttc" id="astruct_gen_optimizer__t_html_a2c9a50ea7d975b9bc22a67e453ab83df"><div class="ttname"><a href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">GenOptimizer_t::candidates</a></div><div class="ttdeci">float candidates[100][20]</div><div class="ttdoc">Параметры кандидатов</div><div class="ttdef"><b>Definition</b> <a href="#l00117">gen_optimizer.h:117</a></div></div>
<div class="ttc" id="astruct_gen_optimizer__t_html_a8201f1eede36a2c04ec7b4caac7465c9"><div class="ttname"><a href="struct_gen_optimizer__t.html#a8201f1eede36a2c04ec7b4caac7465c9">GenOptimizer_t::n_best</a></div><div class="ttdeci">uint16_t n_best</div><div class="ttdoc">Количество лучших, усредняемых</div><div class="ttdef"><b>Definition</b> <a href="#l00107">gen_optimizer.h:107</a></div></div>
<div class="ttc" id="astruct_gen_optimizer__t_html_a8b5066935d99f2fc7ebb94cc3652fc73"><div class="ttname"><a href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">GenOptimizer_t::loss</a></div><div class="ttdeci">float loss[100]</div><div class="ttdoc">Loss для каждого кандидата</div><div class="ttdef"><b>Definition</b> <a href="#l00116">gen_optimizer.h:116</a></div></div>
<div class="ttc" id="astruct_gen_optimizer__t_html_a8f226c85e9bb034cb811aa0366bb191c"><div class="ttname"><a href="struct_gen_optimizer__t.html#a8f226c85e9bb034cb811aa0366bb191c">GenOptimizer_t::gen_index</a></div><div class="ttdeci">uint16_t gen_index</div><div class="ttdoc">Индекс популяции</div><div class="ttdef"><b>Definition</b> <a href="#l00111">gen_optimizer.h:111</a></div></div>
<div class="ttc" id="astruct_gen_optimizer__t_html_a9e20d2f6f39a5147e6dbac46baca73a9"><div class="ttname"><a href="struct_gen_optimizer__t.html#a9e20d2f6f39a5147e6dbac46baca73a9">GenOptimizer_t::n_cand</a></div><div class="ttdeci">uint16_t n_cand</div><div class="ttdoc">Количество кандидатов в популяции</div><div class="ttdef"><b>Definition</b> <a href="#l00106">gen_optimizer.h:106</a></div></div>
<div class="ttc" id="astruct_gen_optimizer__t_html_abe0aacea949fbe93e5d4c002e37d7192"><div class="ttname"><a href="struct_gen_optimizer__t.html#abe0aacea949fbe93e5d4c002e37d7192">GenOptimizer_t::stability</a></div><div class="ttdeci">float stability</div><div class="ttdoc">Коэффициент насколько стабильная популяция (0..1)(n_cand)</div><div class="ttdef"><b>Definition</b> <a href="#l00103">gen_optimizer.h:103</a></div></div>
<div class="ttc" id="astruct_gen_optimizer__t_html_acfeb93ef4823e09473ddba52fae9a6b1"><div class="ttname"><a href="struct_gen_optimizer__t.html#acfeb93ef4823e09473ddba52fae9a6b1">GenOptimizer_t::gen_mut</a></div><div class="ttdeci">float gen_mut</div><div class="ttdoc">Амплитуда мутации у текущей популяции</div><div class="ttdef"><b>Definition</b> <a href="#l00114">gen_optimizer.h:114</a></div></div>
<div class="ttc" id="astruct_gen_optimizer__t_html_ad37161efa27ef1390d1f7e6ee2f79b12"><div class="ttname"><a href="struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12">GenOptimizer_t::sorted_idx</a></div><div class="ttdeci">uint16_t sorted_idx[100]</div><div class="ttdoc">Индексы отсортированных кандидатов</div><div class="ttdef"><b>Definition</b> <a href="#l00118">gen_optimizer.h:118</a></div></div>
<div class="ttc" id="astruct_gen_optimizer__t_html_ad4dc0e53b3ca6bf2a642dfe7a1d1f26c"><div class="ttname"><a href="struct_gen_optimizer__t.html#ad4dc0e53b3ca6bf2a642dfe7a1d1f26c">GenOptimizer_t::mutation_amp</a></div><div class="ttdeci">float mutation_amp</div><div class="ttdoc">Амплитуда мутации (0..1)</div><div class="ttdef"><b>Definition</b> <a href="#l00108">gen_optimizer.h:108</a></div></div>
<div class="ttc" id="astruct_gen_optimizer__t_html_afe598a90024a8aa628dd16f3a2b38eb5"><div class="ttname"><a href="struct_gen_optimizer__t.html#afe598a90024a8aa628dd16f3a2b38eb5">GenOptimizer_t::n_params</a></div><div class="ttdeci">uint16_t n_params</div><div class="ttdoc">Количество параметров</div><div class="ttdef"><b>Definition</b> <a href="#l00105">gen_optimizer.h:105</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a href="dir_d4b2573a0c19afb61452cc3d00967af1.html">MyLibs</a></li><li class="navelem"><a href="dir_8eb68c124db7670c3cb56141b10519ea.html">Inc</a></li><li class="navelem"><a href="evolve__optimizer_8h.html">evolve_optimizer.h</a></li>
<li class="navelem"><a href="dir_d4b2573a0c19afb61452cc3d00967af1.html">MyLibs</a></li><li class="navelem"><a href="dir_8eb68c124db7670c3cb56141b10519ea.html">Inc</a></li><li class="navelem"><a href="gen__optimizer_8h.html">gen_optimizer.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>

View File

@ -450,7 +450,7 @@ $(function(){initNavTree('general__gpio_8c_source.html','',''); });
<div class="ttc" id="agroup___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_html_ga5d066a5b9781f9437e75d98677489eb9"><div class="ttname"><a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga5d066a5b9781f9437e75d98677489eb9">check_null_ptr_1</a></div><div class="ttdeci">#define check_null_ptr_1(p1)</div><div class="ttdoc">Проверить один указатель на NULL.</div><div class="ttdef"><b>Definition</b> <a href="mylibs__defs_8h_source.html#l00038">mylibs_defs.h:38</a></div></div>
<div class="ttc" id="agroup___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s_html_ga838b40542faa9aa273d18f921b21fda2"><div class="ttname"><a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga838b40542faa9aa273d18f921b21fda2">check_null_ptr_3</a></div><div class="ttdeci">#define check_null_ptr_3(p1, p2, p3)</div><div class="ttdoc">Проверить три указателя на NULL.</div><div class="ttdef"><b>Definition</b> <a href="mylibs__defs_8h_source.html#l00044">mylibs_defs.h:44</a></div></div>
<div class="ttc" id="agroup___g_p_i_o___i_n_i_t_html_ga1d42e219765ec526d99e306638ac0023"><div class="ttname"><a href="group___g_p_i_o___i_n_i_t.html#ga1d42e219765ec526d99e306638ac0023">LED_PWM_TICKS</a></div><div class="ttdeci">#define LED_PWM_TICKS</div><div class="ttdoc">Количество тиков в периоде ШИМ</div><div class="ttdef"><b>Definition</b> <a href="general__gpio_8h_source.html#l00035">general_gpio.h:35</a></div></div>
<div class="ttc" id="agroup___l_i_b_s___c_o_n_f_i_g_html_ga9c853b02c22f26023c34d1d404b6d653"><div class="ttname"><a href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653">local_time</a></div><div class="ttdeci">#define local_time()</div><div class="ttdoc">Локальное время</div><div class="ttdef"><b>Definition</b> <a href="mylibs__config_8h_source.html#l00080">mylibs_config.h:80</a></div></div>
<div class="ttc" id="agroup___l_i_b_s___c_o_n_f_i_g_html_ga9c853b02c22f26023c34d1d404b6d653"><div class="ttname"><a href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653">local_time</a></div><div class="ttdeci">#define local_time()</div><div class="ttdoc">Локальное время</div><div class="ttdef"><b>Definition</b> <a href="mylibs__config_8h_source.html#l00097">mylibs_config.h:97</a></div></div>
<div class="ttc" id="agroup___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l_html_ga962f010f783b81fcdd27eb6b53db28e6"><div class="ttname"><a href="group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">GPIO_Clock_Enable</a></div><div class="ttdeci">HAL_StatusTypeDef GPIO_Clock_Enable(GPIO_TypeDef *GPIOx)</div><div class="ttdoc">Включить тактирование порта GPIO.</div><div class="ttdef"><b>Definition</b> <a href="#l00022">general_gpio.c:22</a></div></div>
<div class="ttc" id="agroup___m_y_l_i_b_s___g_p_i_o___l_e_d_s_html_ga4b9572949326b050694cd55d0a7e5f6c"><div class="ttname"><a href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#ga4b9572949326b050694cd55d0a7e5f6c">GPIO_LED_On</a></div><div class="ttdeci">HAL_StatusTypeDef GPIO_LED_On(GPIO_LEDTypeDef *led)</div><div class="ttdoc">Включить светодиод</div><div class="ttdef"><b>Definition</b> <a href="#l00091">general_gpio.c:91</a></div></div>
<div class="ttc" id="agroup___m_y_l_i_b_s___g_p_i_o___l_e_d_s_html_gaa00f20021781464af3dfe74aa3e59a0a"><div class="ttname"><a href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gaa00f20021781464af3dfe74aa3e59a0a">GPIO_LED_Fading_Start</a></div><div class="ttdeci">HAL_StatusTypeDef GPIO_LED_Fading_Start(GPIO_LEDTypeDef *led, uint32_t period)</div><div class="ttdoc">Активировать моргание светодиодом</div><div class="ttdef"><b>Definition</b> <a href="#l00164">general_gpio.c:164</a></div></div>

View File

@ -103,227 +103,6 @@ $(function(){initNavTree('globals.html','',''); });
<li>ABS&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#ga996f7be338ccb40d1a2a5abc1ad61759">mylibs_defs.h</a></li>
<li>assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gadd7fd2c6e3a4800f1d5ddab35fd4b43e">trackers.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>ByteSwap16&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#ga0f22e895ac7781c3d1b68fee182c4291">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>check_null_ptr_1&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga5d066a5b9781f9437e75d98677489eb9">mylibs_defs.h</a></li>
<li>check_null_ptr_2&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga27b363f333cacdccc15f5174e096b5b3">mylibs_defs.h</a></li>
<li>check_null_ptr_3&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga838b40542faa9aa273d18f921b21fda2">mylibs_defs.h</a></li>
<li>check_null_ptr_4&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga590973be111afc3f9ba15e6939530254">mylibs_defs.h</a></li>
<li>check_null_ptr_5&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gaab0aafd7a4a21ec4f338b19269f65490">mylibs_defs.h</a></li>
<li>ClearStruct&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#gaf5e598848326d48e86167e5099a029be">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>Divide_Up&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#gabf45f2b60eedf80cf9d1dbe4302a741e">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_e" name="index_e"></a>- e -</h3><ul>
<li>ELOVLE_N_ELITE_CANDIDATE&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb">evolve_optimizer.h</a></li>
<li>ENABLE_EVOLVE_OPTIMIZATION&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga2cac097081444a7a9b040f4b11550e47">mylibs_config.h</a></li>
<li>EVOLVE_MAX_CANDIDATES&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga7c1396e5c95c766afccdb45cbfcf5971">mylibs_config.h</a></li>
<li>EVOLVE_MAX_PARAMS&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga80d6162495fc3776d8902610657d4fee">mylibs_config.h</a></li>
<li>EVOLVE_MUTATION_MAX_PCT&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga861c1c6a503c21441abcec0d57b848bc">evolve_optimizer.h</a></li>
<li>EVOLVE_MUTATION_MIN_PCT&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga2f2b1be34ad4eb1bf3267237200cd6c6">evolve_optimizer.h</a></li>
<li>EvolveOptimizer_Init()&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga4e3ea118b5b9068619c57724a925ba21">evolve_optimizer.h</a></li>
<li>EvolveOptimizer_Step()&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#gaef44a1f3298514569cc2b396a92101ef">evolve_optimizer.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>FREERTOS_DELAY&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga57c369737d5c0cfdb7baeecba0a4b151">mylibs_config.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_g" name="index_g"></a>- g -</h3><ul>
<li>GPIO_Clock_Enable()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">general_gpio.c</a></li>
<li>GPIO_LED_Blink_Start()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gaf22f44ecaf6a1932b47edc5a845b03a9">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gaf22f44ecaf6a1932b47edc5a845b03a9">general_gpio.c</a></li>
<li>GPIO_LED_Dynamic_Handle()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gad6e6189824406c4d472b6340c7f19bb2">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gad6e6189824406c4d472b6340c7f19bb2">general_gpio.c</a></li>
<li>GPIO_LED_Fading_Start()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gaa00f20021781464af3dfe74aa3e59a0a">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gaa00f20021781464af3dfe74aa3e59a0a">general_gpio.c</a></li>
<li>GPIO_LED_Init()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gac936453c7a0841c0b17bcfdae4958084">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gac936453c7a0841c0b17bcfdae4958084">general_gpio.c</a></li>
<li>GPIO_LED_Off()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gaadda2d4f021390a4e392210a5ace5357">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gaadda2d4f021390a4e392210a5ace5357">general_gpio.c</a></li>
<li>GPIO_LED_On()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#ga4b9572949326b050694cd55d0a7e5f6c">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#ga4b9572949326b050694cd55d0a7e5f6c">general_gpio.c</a></li>
<li>GPIO_LED_Set()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gae78b570447d55a462a679a89dbaa8ea2">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gae78b570447d55a462a679a89dbaa8ea2">general_gpio.c</a></li>
<li>GPIO_LEDStateTypeDef&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gaac2b90d8b8c9579b6aa5d3bbda9b1ff1">general_gpio.h</a></li>
<li>GPIO_Read_Switch()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___s_w_i_t_c_h.html#ga960b24335b2026abcad126ab8c422d70">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___s_w_i_t_c_h.html#ga960b24335b2026abcad126ab8c422d70">general_gpio.c</a></li>
<li>GPIO_Switch_Init()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___s_w_i_t_c_h.html#gacafee0e68877f2b25df843356871d1f7">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___s_w_i_t_c_h.html#gacafee0e68877f2b25df843356871d1f7">general_gpio.c</a></li>
<li>GPIO_TRACE_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga4222e0e400ad81737cefcabeb03fd23b">mylibs_config.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_h" name="index_h"></a>- h -</h3><ul>
<li>HAL_SPI_MODULE_ENABLED&#160;:&#160;<a class="el" href="group___s_p_i___i_n_i_t.html#ga8ad4712bf4add56892d057778e826e0c">general_spi.h</a></li>
<li>HAL_UART_MODULE_ENABLED&#160;:&#160;<a class="el" href="group___u_a_r_t___i_n_i_t.html#ga167269406e73327b95c3bb7b9cfe6d89">general_uart.h</a></li>
<li>HARDFAULT_SERIAL_TRACE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga47f454f804b4dbc26cae079e8d8641e6">mylibs_config.h</a></li>
<li>HF_CheckRecovered()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___h_a_r_d_f_a_u_l_t.html#ga03f8b6f3b537ee1c8e91065c60db504f">trace.h</a></li>
<li>HF_FLASH_ADDR&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga0c602733a4a359bf8c095d71cd4d0f63">mylibs_config.h</a></li>
<li>HF_HandleFault()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___h_a_r_d_f_a_u_l_t.html#gadd8e10e7ec3b0204f7f92062ecd452f7">trace.h</a></li>
<li>HF_RAM_END&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga92d0d14732edb7dfa21d483304bdb051">mylibs_config.h</a></li>
<li>HF_RTT_TAG_BASE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gadc960255719c7eff4bdfaa850be9b313">mylibs_config.h</a></li>
<li>HF_RTT_TAIL_SIZE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gafcc7ea03d4df8f1909e580b519a7f3ca">mylibs_config.h</a></li>
<li>HF_STACK_DUMP_WORDS&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gaa31234688b333a505aaa57b8ecdedf5b">mylibs_config.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>if_assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gad91d8ca89074270fc040c0449e57cf07">trackers.h</a></li>
<li>INCLUDE_BIT_ACCESS_LIB&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#gaf4ddb2a71ec0d05c2480e197cd17c0be">mylibs_config.h</a></li>
<li>INCLUDE_EVOLVE_OPTIMIZER&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga66560656d080d6551627a19dfb847c66">mylibs_config.h</a></li>
<li>INCLUDE_GENERAL_PERIPH_LIBS&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga181a46326e46b60afb160190832c7281">mylibs_config.h</a></li>
<li>INCLUDE_TRACE_LIB&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga0a3ca94b616997069dd53e2c6c2687d7">mylibs_config.h</a></li>
<li>INCLUDE_TRACKERS_LIB&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga4403055986b70bb02b8d37073a122e32">mylibs_config.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>LED_IS_BLINKING&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1a2445895bed5dcbedc82ea3ef02bec6fb">general_gpio.h</a></li>
<li>LED_IS_FADING&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1aa610f6df44c939aa7d45e318036fa03b">general_gpio.h</a></li>
<li>LED_IS_OFF&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1a74276cd2464314e422e8a144483f74ae">general_gpio.h</a></li>
<li>LED_IS_ON&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1af6abfb9c5b95abbdb239590f2cd245ea">general_gpio.h</a></li>
<li>LED_OFF&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#ga80700bb63bd56ebabbb4728aa433fd29">general_gpio.h</a></li>
<li>LED_ON&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#gaf2e697ac60e05813d45ea2c9c9e79c25">general_gpio.h</a></li>
<li>LED_PWM_TICKS&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#ga1d42e219765ec526d99e306638ac0023">general_gpio.h</a></li>
<li>local_time&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653">mylibs_config.h</a>, <a class="el" href="group___g_p_i_o___i_n_i_t.html#ga9c853b02c22f26023c34d1d404b6d653">general_gpio.h</a></li>
<li>LOG_LEVEL&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga0b87e0d3bf5853bcbb0b66a7c48fdc05">mylibs_config.h</a></li>
<li>log_printf&#160;:&#160;<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html#ga730fb7b8d0bbb348dca73c15bd0e0b26">trace.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>msDelay&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gabeb97579daeb622c6651ed03c4a27479">mylibs_defs.h</a></li>
<li>msDelayStart&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga8a5051b1292d1019fe8dd3fc5521ab25">mylibs_defs.h</a></li>
<li>msDelayWaitDone&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gaed082c07b9fc4d1894330d885b9b5518">mylibs_defs.h</a></li>
<li>msDelayWhileActive&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga0b97e172659a59ee4fa56f851643ae85">mylibs_defs.h</a></li>
<li>my_printf&#160;:&#160;<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html#gae9b9b8a611e291a2f2aa5abf99f3ebaa">trace.h</a></li>
<li>MyLibs_Error_Handler&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae110df81afd885a390bbeb152d7b709f">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>num_of_usercnts&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga72be24629fedb8bf70e830373d151fbc">trackers.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>PARAM_SCALE&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga83abbcabaff9111c03ae2475ee72ea3e">evolve_optimizer.h</a></li>
<li>PARAM_UNSCALE&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#gaa1d5510fe5f0bd989473f3ebe324bde3">evolve_optimizer.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>RTT_EraseFlash()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga8d8c6850e32b42871faefce3352012d1">trace.h</a></li>
<li>RTT_FLASH_BUFFER_SIZE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga501312b24e322de4dd6755ad442f0ba3">mylibs_config.h</a></li>
<li>RTT_FLASH_SECTOR&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga3bc1b76864e1d32cbdd174d4caae7724">mylibs_config.h</a></li>
<li>RTT_FLASH_SECTOR_END&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gafeca0be3688dea07ff443f894668003d">mylibs_config.h</a></li>
<li>RTT_FLASH_SECTOR_START&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga8e56f75d3ab8a89ddde1404ae23c3297">mylibs_config.h</a></li>
<li>RTT_FlashPrepare()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga21353cb4f5af666237739e62ce019cd6">trace.h</a></li>
<li>RTT_ReadFromFlash()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga734b2ebbf0c77699b739013878cfd146">trace.h</a></li>
<li>RTT_SaveToFlash()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga79f222c8ab644de4d47f07528d1edd63">trace.h</a></li>
<li>RTT_TRACE_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga00ff2175bdc1fb11c8ec970ea3010dd8">mylibs_config.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>SERIAL_TRACE_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga76936505ca200d2e61226b7ba68f27c6">mylibs_config.h</a></li>
<li>SPI_Base_Init()&#160;:&#160;<a class="el" href="group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba">general_spi.h</a>, <a class="el" href="group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba">general_spi.c</a></li>
<li>SPI_Check_Init_Struct()&#160;:&#160;<a class="el" href="group___m_y___l_i_b_s___s_p_i.html#ga333dd251bc878931086d48aa932b1a5f">general_spi.h</a>, <a class="el" href="group___m_y___l_i_b_s___s_p_i.html#ga333dd251bc878931086d48aa932b1a5f">general_spi.c</a></li>
<li>SPI_GPIO_Init()&#160;:&#160;<a class="el" href="general__spi_8c.html#ae80d21e5cab86571709a2619442733b5">general_spi.c</a></li>
<li>SPI_MspDeInit()&#160;:&#160;<a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gac279cc3eaa35541edfe330a1844a85e4">general_spi.h</a>, <a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gac279cc3eaa35541edfe330a1844a85e4">general_spi.c</a></li>
<li>SPI_MspInit()&#160;:&#160;<a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">general_spi.h</a>, <a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">general_spi.c</a></li>
<li>SW_OFF&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#gacd8900c9ec0efde1da3253b718574067">general_gpio.h</a></li>
<li>SW_ON&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#ga19d9e3aced311179a2914e0c9b13d0f9">general_gpio.h</a></li>
<li>SWO_TRACE_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gab8db9704b5d11858aa879689b9d36336">mylibs_config.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>tern_assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga39b6ffbc561f8caac276415e1ad32c30">trackers.h</a></li>
<li>TIM_Base_Disable&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaa0a51c870325217ac099881f09dd0800ae838122c0e83bc57ad31b546bf2f00e5">general_tim.h</a></li>
<li>TIM_Base_Init()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ga7044214f24a9868ba7e1650b55e639ec">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ga7044214f24a9868ba7e1650b55e639ec">general_tim.c</a></li>
<li>TIM_Base_MspDeInit()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ga879e3f1c919c02990736730275367115">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ga879e3f1c919c02990736730275367115">general_tim.c</a></li>
<li>TIM_Base_MspInit()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#gaad47337be7ba2f6c0777c40d7278c931">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#gaad47337be7ba2f6c0777c40d7278c931">general_tim.c</a></li>
<li>TIM_DEFAULT&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaeb611874216a4661fb83366b99b9e787ab0869828a4dfd62eaa44868ca27835f8">general_tim.h</a></li>
<li>TIM_Delay()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga88c552a133cb6e3015453cccab74c07e">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga88c552a133cb6e3015453cccab74c07e">general_tim.c</a></li>
<li>TIM_Delay_NonBlocking()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga108637af414bff3373059273b815ce9b">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga108637af414bff3373059273b815ce9b">general_tim.c</a></li>
<li>TIM_Delay_Start()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga4c0dfde4e15f677600605348b4e97834">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga4c0dfde4e15f677600605348b4e97834">general_tim.c</a></li>
<li>TIM_Encoder_Init()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#ga8d16c3b7e7c6decc54c5c3d1a8bf0fbc">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#ga8d16c3b7e7c6decc54c5c3d1a8bf0fbc">general_tim.c</a></li>
<li>TIM_Encoder_Read()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#gac3bc6525f88c275e47eb864e6d567501">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#gac3bc6525f88c275e47eb864e6d567501">general_tim.c</a></li>
<li>TIM_Encoder_ReadSwitch()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#ga117b795017e9e3a357ddefe323412761">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#ga117b795017e9e3a357ddefe323412761">general_tim.c</a></li>
<li>TIM_IT_MODE&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaeb611874216a4661fb83366b99b9e787a89ecf1ef6d45ead2efcb7dd30396114c">general_tim.h</a></li>
<li>TIM_ITModeTypeDef&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#gaeb611874216a4661fb83366b99b9e787">general_tim.h</a></li>
<li>TIM_MHzTickBaseTypeDef&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#gaa0a51c870325217ac099881f09dd0800">general_tim.h</a></li>
<li>TIM_OC_Comparator_Init()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___o_c.html#gae2608ca8023e9a0713af0b4fbfbc1889">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___o_c.html#gae2608ca8023e9a0713af0b4fbfbc1889">general_tim.c</a></li>
<li>TIM_Output_PWM_Init()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___o_c.html#gadb2f465d89f609e035867e980c3a29c6">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___o_c.html#gadb2f465d89f609e035867e980c3a29c6">general_tim.c</a></li>
<li>TIM_TickBase_100MS&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaa0a51c870325217ac099881f09dd0800a18527a2d781eb4365aecd9a3184fc1da">general_tim.h</a></li>
<li>TIM_TickBase_100US&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaa0a51c870325217ac099881f09dd0800a096ef0ab67788487f69d8877c6d89b30">general_tim.h</a></li>
<li>TIM_TickBase_10MS&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaa0a51c870325217ac099881f09dd0800a7421a08abd119e71aa99eea5ab5d6daa">general_tim.h</a></li>
<li>TIM_TickBase_10US&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaa0a51c870325217ac099881f09dd0800a060b01e890891fd17c8f95b55a94139f">general_tim.h</a></li>
<li>TIM_TickBase_1MS&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaa0a51c870325217ac099881f09dd0800a6a66c5ed1d966c9e30f0219b664d2b25">general_tim.h</a></li>
<li>TIM_TickBase_1US&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaa0a51c870325217ac099881f09dd0800a63df3123d0ddc592b189ed1594456ea2">general_tim.h</a></li>
<li>TRACE_GPIO_RESET&#160;:&#160;<a class="el" href="group___t_r_a_c_e___g_p_i_o.html#ga69741d88c991112e99fe7a62e025108a">trace.h</a></li>
<li>TRACE_GPIO_SET&#160;:&#160;<a class="el" href="group___t_r_a_c_e___g_p_i_o.html#ga02a6a7b273766121db8ad4a1371373eb">trace.h</a></li>
<li>TrackerClear_All&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga704f7b9f8c65c9bcec48ce7cb77a2d3b">trackers.h</a></li>
<li>TrackerClear_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gae860b6947c6e317e14d40bd7b4b8eb74">trackers.h</a></li>
<li>TrackerClear_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga5dd8bac8c7ab5832019d55d7a68371b9">trackers.h</a></li>
<li>TrackerClear_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga063dab1067005e1600ea32531fdf3f8d">trackers.h</a></li>
<li>TrackerClear_UserAll&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gaaec7ec19977bb26fa1919dfe920b82d5">trackers.h</a></li>
<li>TrackerClear_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga365a8c60bd13b75154feda649dd21ead">trackers.h</a></li>
<li>TrackerCnt_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga49af29ab3927cad105c1d2b018a767e9">trackers.h</a></li>
<li>TrackerCnt_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga23de0006aa08984cfeddb6aa5e512fa1">trackers.h</a></li>
<li>TrackerCnt_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga1b7549afc4a1760b54a9b93b0f6d105e">trackers.h</a></li>
<li>TrackerCnt_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga8017fb05a56a1b667244f1f786fa9c57">trackers.h</a></li>
<li>TrackerGet_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga9dc91e6b798a081f95f2ccef2c288e5e">trackers.h</a></li>
<li>TrackerGet_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gab880911066605602a966641682090169">trackers.h</a></li>
<li>TrackerGet_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga4b08632669043dfdbd219dda03502bdb">trackers.h</a></li>
<li>TrackerGet_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga47ac59a406ee74d4cd9fe0fbaf63a758">trackers.h</a></li>
<li>TRACKERS_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gac9eaedc31ab023ce7d6403999216e496">mylibs_config.h</a></li>
<li>TrackerTypeDef&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga50ccb119acf302969b7fdcb58f2130e4">trackers.h</a></li>
<li>TrackerWrite_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gad2f4062a9ac8c2ab062a364f640ebc51">trackers.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_u" name="index_u"></a>- u -</h3><ul>
<li>UART_Base_Init()&#160;:&#160;<a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154">general_uart.h</a>, <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154">general_uart.c</a></li>
<li>UART_Check_Init_Struct()&#160;:&#160;<a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#ga2a22e46ecb9e04b2ce197a0e9c09044a">general_uart.h</a>, <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#ga2a22e46ecb9e04b2ce197a0e9c09044a">general_uart.c</a></li>
<li>UART_DMA_Init()&#160;:&#160;<a class="el" href="general__uart_8c.html#ad82d0cbd19151675135fd75dad315d05">general_uart.c</a></li>
<li>UART_GPIO_Init()&#160;:&#160;<a class="el" href="general__uart_8c.html#a3abae05bbde5f3b402bf18ca13dc6a0b">general_uart.c</a></li>
<li>UART_MspDeInit()&#160;:&#160;<a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc">general_uart.h</a>, <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc">general_uart.c</a></li>
<li>UART_MspInit()&#160;:&#160;<a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">general_uart.h</a>, <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">general_uart.c</a></li>
<li>uint16_bit&#160;:&#160;<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga6a122b536ad99ae611c8cf01437af086">bit_access.h</a></li>
<li>uint32_bit&#160;:&#160;<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#gafaa2080168b1b6f7281e8bfabab022d1">bit_access.h</a></li>
<li>uint64_bit&#160;:&#160;<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga47eb69ce9330a1c73fe8031240f02f0a">bit_access.h</a></li>
<li>uint8_bit&#160;:&#160;<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga57dc3bb3472a66fc92312f89d42d2396">bit_access.h</a></li>
<li>USE_SPI1&#160;:&#160;<a class="el" href="group___s_p_i___i_n_i_t.html#ga2fe0c8aeb2c61679f32836fef479eedf">general_spi.h</a></li>
<li>USE_SPI2&#160;:&#160;<a class="el" href="group___s_p_i___i_n_i_t.html#ga53687cddb8e39e76a79b8ffaa152fb2b">general_spi.h</a></li>
<li>USE_SPI3&#160;:&#160;<a class="el" href="group___s_p_i___i_n_i_t.html#ga5fdd6e5934a8005ef05b80f6d95883dc">general_spi.h</a></li>
<li>USE_TIM1&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga54a98c21365e0bc45b81555d2b101f2b">general_tim.h</a></li>
<li>USE_TIM10&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga98c0691052d1da2c4053dd3586ff7ce9">general_tim.h</a></li>
<li>USE_TIM11&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga176c97f06ebcf14e06e5c5bdbfac44c2">general_tim.h</a></li>
<li>USE_TIM12&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga4e2b0e6cdf9eed74581b575c3fd9516b">general_tim.h</a></li>
<li>USE_TIM13&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#gaf48ef87650517652ddec039a189507ac">general_tim.h</a></li>
<li>USE_TIM14&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga9ae40be31d5271abe3e49f896d916d5c">general_tim.h</a></li>
<li>USE_TIM2&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga72535a44955b43cbcd56e25039ab32eb">general_tim.h</a></li>
<li>USE_TIM3&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga5b5685a43273b6e37242a4aba3ee0617">general_tim.h</a></li>
<li>USE_TIM4&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga1493b39c9214501180b81b4c892f9be0">general_tim.h</a></li>
<li>USE_TIM5&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga252f4fba93fc265110e83760e0590af3">general_tim.h</a></li>
<li>USE_TIM6&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga8fe31b98160627d19038222910be3f46">general_tim.h</a></li>
<li>USE_TIM7&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga7cdc54cc8cbbb6e9f60001f1e3e6ec67">general_tim.h</a></li>
<li>USE_TIM8&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga28ba33d7c6bf22821dafa5bcee4854be">general_tim.h</a></li>
<li>USE_TIM9&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#gaac627c0e98c9594cc41b1b46eb39e44a">general_tim.h</a></li>
<li>USE_UART4&#160;:&#160;<a class="el" href="group___u_a_r_t___i_n_i_t.html#ga779530e93e7aa1f25eb13045ec42b8e7">general_uart.h</a></li>
<li>USE_UART5&#160;:&#160;<a class="el" href="group___u_a_r_t___i_n_i_t.html#ga592c6bf4a6496d6806ba0838cdfa2340">general_uart.h</a></li>
<li>USE_USART1&#160;:&#160;<a class="el" href="group___u_a_r_t___i_n_i_t.html#gace54f148bb1d72f13bf397d096d38d1b">general_uart.h</a></li>
<li>USE_USART2&#160;:&#160;<a class="el" href="group___u_a_r_t___i_n_i_t.html#gaacb3968508217a0d8b3f64aa0c8aa07d">general_uart.h</a></li>
<li>USE_USART3&#160;:&#160;<a class="el" href="group___u_a_r_t___i_n_i_t.html#ga6dadd967b428aade24008ec060009976">general_uart.h</a></li>
<li>USE_USART6&#160;:&#160;<a class="el" href="group___u_a_r_t___i_n_i_t.html#gafaeb8bdd4aa7fb1987505530daa90868">general_uart.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->

126
Doc/html/globals_b.html Normal file
View File

@ -0,0 +1,126 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_b.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>BENCH_TIME_ENABLE&#160;:&#160;<a class="el" href="group___g_e_n___c_o_n_f_i_g.html#ga67c3c54503b9bbd5d175ac46d37866d9">mylibs_config.h</a></li>
<li>BENCH_TIME_MAX_CHANNELS&#160;:&#160;<a class="el" href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52">mylibs_config.h</a></li>
<li>BenchTime_End()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga47a69851a2089140eac00cde18a12439">bench_time.h</a></li>
<li>BenchTime_GetAverage()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga24e2450d5ea921074ec5d7a1e4d56ba8">bench_time.h</a></li>
<li>BenchTime_GetCount()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#gabd1301ca79a30c782970f89fd147df3a">bench_time.h</a></li>
<li>BenchTime_GetLast()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#gacf3a738d6423d71b238058a63558a4ed">bench_time.h</a></li>
<li>BenchTime_GetMax()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga07e27d7b169c9fa1abd57281bb4e374e">bench_time.h</a></li>
<li>BenchTime_GetMin()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga273d45255fe4403fc25648d60cca7705">bench_time.h</a></li>
<li>BenchTime_Init()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#gabb7a665a9603ea2e4dbc4432e8cb6054">bench_time.h</a></li>
<li>BenchTime_ResetStats()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga31a6b2b181b92bcb15f46758f5d57f35">bench_time.h</a></li>
<li>BenchTime_Start()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#gac65338df38129964ce3e9d9cb2fcb349">bench_time.h</a></li>
<li>ByteSwap16&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#ga0f22e895ac7781c3d1b68fee182c4291">mylibs_defs.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

120
Doc/html/globals_c.html Normal file
View File

@ -0,0 +1,120 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_c.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>check_null_ptr_1&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga5d066a5b9781f9437e75d98677489eb9">mylibs_defs.h</a></li>
<li>check_null_ptr_2&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga27b363f333cacdccc15f5174e096b5b3">mylibs_defs.h</a></li>
<li>check_null_ptr_3&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga838b40542faa9aa273d18f921b21fda2">mylibs_defs.h</a></li>
<li>check_null_ptr_4&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga590973be111afc3f9ba15e6939530254">mylibs_defs.h</a></li>
<li>check_null_ptr_5&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gaab0aafd7a4a21ec4f338b19269f65490">mylibs_defs.h</a></li>
<li>ClearStruct&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#gaf5e598848326d48e86167e5099a029be">mylibs_defs.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

115
Doc/html/globals_d.html Normal file
View File

@ -0,0 +1,115 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_d.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>Divide_Up&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#gabf45f2b60eedf80cf9d1dbe4302a741e">mylibs_defs.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

View File

@ -106,6 +106,8 @@ $(function(){initNavTree('globals_defs.html','',''); });
<h3 class="doxsection"><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>BENCH_TIME_ENABLE&#160;:&#160;<a class="el" href="group___g_e_n___c_o_n_f_i_g.html#ga67c3c54503b9bbd5d175ac46d37866d9">mylibs_config.h</a></li>
<li>BENCH_TIME_MAX_CHANNELS&#160;:&#160;<a class="el" href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52">mylibs_config.h</a></li>
<li>ByteSwap16&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#ga0f22e895ac7781c3d1b68fee182c4291">mylibs_defs.h</a></li>
</ul>
@ -126,12 +128,7 @@ $(function(){initNavTree('globals_defs.html','',''); });
<h3 class="doxsection"><a id="index_e" name="index_e"></a>- e -</h3><ul>
<li>ELOVLE_N_ELITE_CANDIDATE&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb">evolve_optimizer.h</a></li>
<li>ENABLE_EVOLVE_OPTIMIZATION&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga2cac097081444a7a9b040f4b11550e47">mylibs_config.h</a></li>
<li>EVOLVE_MAX_CANDIDATES&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga7c1396e5c95c766afccdb45cbfcf5971">mylibs_config.h</a></li>
<li>EVOLVE_MAX_PARAMS&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga80d6162495fc3776d8902610657d4fee">mylibs_config.h</a></li>
<li>EVOLVE_MUTATION_MAX_PCT&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga861c1c6a503c21441abcec0d57b848bc">evolve_optimizer.h</a></li>
<li>EVOLVE_MUTATION_MIN_PCT&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga2f2b1be34ad4eb1bf3267237200cd6c6">evolve_optimizer.h</a></li>
<li>ELOVLE_N_ELITE_CANDIDATE&#160;:&#160;<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb">gen_optimizer.h</a></li>
</ul>
@ -141,6 +138,11 @@ $(function(){initNavTree('globals_defs.html','',''); });
<h3 class="doxsection"><a id="index_g" name="index_g"></a>- g -</h3><ul>
<li>GEN_MAX_CANDIDATES&#160;:&#160;<a class="el" href="group___g_e_n___c_o_n_f_i_g.html#ga201cffde04ebc6540869c74bd1dae869">mylibs_config.h</a></li>
<li>GEN_MAX_PARAMS&#160;:&#160;<a class="el" href="group___g_e_n___c_o_n_f_i_g.html#ga8daf4b266a95353d580bd7946f47c0ab">mylibs_config.h</a></li>
<li>GEN_MUTATION_MAX_PCT&#160;:&#160;<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga48dca8f0a0c9b96d02236ef76ac827fd">gen_optimizer.h</a></li>
<li>GEN_MUTATION_MIN_PCT&#160;:&#160;<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga3db7bdf57549722427e1e72dcaa87068">gen_optimizer.h</a></li>
<li>GEN_OPTIMIZATION_ENABLE&#160;:&#160;<a class="el" href="group___g_e_n___c_o_n_f_i_g.html#gae6d1db3c0b21f67cb0db2673d207b62c">mylibs_config.h</a></li>
<li>GPIO_TRACE_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga4222e0e400ad81737cefcabeb03fd23b">mylibs_config.h</a></li>
</ul>
@ -160,7 +162,7 @@ $(function(){initNavTree('globals_defs.html','',''); });
<h3 class="doxsection"><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>if_assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gad91d8ca89074270fc040c0449e57cf07">trackers.h</a></li>
<li>INCLUDE_BIT_ACCESS_LIB&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#gaf4ddb2a71ec0d05c2480e197cd17c0be">mylibs_config.h</a></li>
<li>INCLUDE_EVOLVE_OPTIMIZER&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga66560656d080d6551627a19dfb847c66">mylibs_config.h</a></li>
<li>INCLUDE_GEN_OPTIMIZER&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga3cdc9ef47fd3ff080d38481295327692">mylibs_config.h</a></li>
<li>INCLUDE_GENERAL_PERIPH_LIBS&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga181a46326e46b60afb160190832c7281">mylibs_config.h</a></li>
<li>INCLUDE_TRACE_LIB&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga0a3ca94b616997069dd53e2c6c2687d7">mylibs_config.h</a></li>
<li>INCLUDE_TRACKERS_LIB&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga4403055986b70bb02b8d37073a122e32">mylibs_config.h</a></li>
@ -193,8 +195,8 @@ $(function(){initNavTree('globals_defs.html','',''); });
<h3 class="doxsection"><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>PARAM_SCALE&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga83abbcabaff9111c03ae2475ee72ea3e">evolve_optimizer.h</a></li>
<li>PARAM_UNSCALE&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#gaa1d5510fe5f0bd989473f3ebe324bde3">evolve_optimizer.h</a></li>
<li>PARAM_SCALE&#160;:&#160;<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga83abbcabaff9111c03ae2475ee72ea3e">gen_optimizer.h</a></li>
<li>PARAM_UNSCALE&#160;:&#160;<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#gaa1d5510fe5f0bd989473f3ebe324bde3">gen_optimizer.h</a></li>
</ul>

20
Doc/html/globals_dup.js Normal file
View File

@ -0,0 +1,20 @@
var globals_dup =
[
[ "a", "globals.html", null ],
[ "b", "globals_b.html", null ],
[ "c", "globals_c.html", null ],
[ "d", "globals_d.html", null ],
[ "e", "globals_e.html", null ],
[ "f", "globals_f.html", null ],
[ "g", "globals_g.html", null ],
[ "h", "globals_h.html", null ],
[ "i", "globals_i.html", null ],
[ "l", "globals_l.html", null ],
[ "m", "globals_m.html", null ],
[ "n", "globals_n.html", null ],
[ "p", "globals_p.html", null ],
[ "r", "globals_r.html", null ],
[ "s", "globals_s.html", null ],
[ "t", "globals_t.html", null ],
[ "u", "globals_u.html", null ]
];

115
Doc/html/globals_e.html Normal file
View File

@ -0,0 +1,115 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_e.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_e" name="index_e"></a>- e -</h3><ul>
<li>ELOVLE_N_ELITE_CANDIDATE&#160;:&#160;<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb">gen_optimizer.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

115
Doc/html/globals_f.html Normal file
View File

@ -0,0 +1,115 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_f.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>FREERTOS_DELAY&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga57c369737d5c0cfdb7baeecba0a4b151">mylibs_config.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

View File

@ -99,13 +99,22 @@ $(function(){initNavTree('globals_func.html','',''); });
<div class="contents">
<div class="textblock">Here is a list of all documented functions with links to the documentation:</div>
<h3 class="doxsection"><a id="index_e" name="index_e"></a>- e -</h3><ul>
<li>EvolveOptimizer_Init()&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga4e3ea118b5b9068619c57724a925ba21">evolve_optimizer.h</a></li>
<li>EvolveOptimizer_Step()&#160;:&#160;<a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#gaef44a1f3298514569cc2b396a92101ef">evolve_optimizer.h</a></li>
<h3 class="doxsection"><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>BenchTime_End()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga47a69851a2089140eac00cde18a12439">bench_time.h</a></li>
<li>BenchTime_GetAverage()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga24e2450d5ea921074ec5d7a1e4d56ba8">bench_time.h</a></li>
<li>BenchTime_GetCount()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#gabd1301ca79a30c782970f89fd147df3a">bench_time.h</a></li>
<li>BenchTime_GetLast()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#gacf3a738d6423d71b238058a63558a4ed">bench_time.h</a></li>
<li>BenchTime_GetMax()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga07e27d7b169c9fa1abd57281bb4e374e">bench_time.h</a></li>
<li>BenchTime_GetMin()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga273d45255fe4403fc25648d60cca7705">bench_time.h</a></li>
<li>BenchTime_Init()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#gabb7a665a9603ea2e4dbc4432e8cb6054">bench_time.h</a></li>
<li>BenchTime_ResetStats()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga31a6b2b181b92bcb15f46758f5d57f35">bench_time.h</a></li>
<li>BenchTime_Start()&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#gac65338df38129964ce3e9d9cb2fcb349">bench_time.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_g" name="index_g"></a>- g -</h3><ul>
<li>GenOptimizer_Init()&#160;:&#160;<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga2db1df46b4082ad9280ef4344fdf4e8a">gen_optimizer.h</a></li>
<li>GenOptimizer_Step()&#160;:&#160;<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#gaa9a4c4f43f7beb926c85bd4817ebd628">gen_optimizer.h</a></li>
<li>GPIO_Clock_Enable()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">general_gpio.c</a></li>
<li>GPIO_LED_Blink_Start()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gaf22f44ecaf6a1932b47edc5a845b03a9">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gaf22f44ecaf6a1932b47edc5a845b03a9">general_gpio.c</a></li>
<li>GPIO_LED_Dynamic_Handle()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gad6e6189824406c4d472b6340c7f19bb2">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gad6e6189824406c4d472b6340c7f19bb2">general_gpio.c</a></li>

133
Doc/html/globals_g.html Normal file
View File

@ -0,0 +1,133 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_g.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_g" name="index_g"></a>- g -</h3><ul>
<li>GEN_MAX_CANDIDATES&#160;:&#160;<a class="el" href="group___g_e_n___c_o_n_f_i_g.html#ga201cffde04ebc6540869c74bd1dae869">mylibs_config.h</a></li>
<li>GEN_MAX_PARAMS&#160;:&#160;<a class="el" href="group___g_e_n___c_o_n_f_i_g.html#ga8daf4b266a95353d580bd7946f47c0ab">mylibs_config.h</a></li>
<li>GEN_MUTATION_MAX_PCT&#160;:&#160;<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga48dca8f0a0c9b96d02236ef76ac827fd">gen_optimizer.h</a></li>
<li>GEN_MUTATION_MIN_PCT&#160;:&#160;<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga3db7bdf57549722427e1e72dcaa87068">gen_optimizer.h</a></li>
<li>GEN_OPTIMIZATION_ENABLE&#160;:&#160;<a class="el" href="group___g_e_n___c_o_n_f_i_g.html#gae6d1db3c0b21f67cb0db2673d207b62c">mylibs_config.h</a></li>
<li>GenOptimizer_Init()&#160;:&#160;<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga2db1df46b4082ad9280ef4344fdf4e8a">gen_optimizer.h</a></li>
<li>GenOptimizer_Step()&#160;:&#160;<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#gaa9a4c4f43f7beb926c85bd4817ebd628">gen_optimizer.h</a></li>
<li>GPIO_Clock_Enable()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l.html#ga962f010f783b81fcdd27eb6b53db28e6">general_gpio.c</a></li>
<li>GPIO_LED_Blink_Start()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gaf22f44ecaf6a1932b47edc5a845b03a9">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gaf22f44ecaf6a1932b47edc5a845b03a9">general_gpio.c</a></li>
<li>GPIO_LED_Dynamic_Handle()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gad6e6189824406c4d472b6340c7f19bb2">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gad6e6189824406c4d472b6340c7f19bb2">general_gpio.c</a></li>
<li>GPIO_LED_Fading_Start()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gaa00f20021781464af3dfe74aa3e59a0a">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gaa00f20021781464af3dfe74aa3e59a0a">general_gpio.c</a></li>
<li>GPIO_LED_Init()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gac936453c7a0841c0b17bcfdae4958084">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gac936453c7a0841c0b17bcfdae4958084">general_gpio.c</a></li>
<li>GPIO_LED_Off()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gaadda2d4f021390a4e392210a5ace5357">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gaadda2d4f021390a4e392210a5ace5357">general_gpio.c</a></li>
<li>GPIO_LED_On()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#ga4b9572949326b050694cd55d0a7e5f6c">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#ga4b9572949326b050694cd55d0a7e5f6c">general_gpio.c</a></li>
<li>GPIO_LED_Set()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gae78b570447d55a462a679a89dbaa8ea2">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gae78b570447d55a462a679a89dbaa8ea2">general_gpio.c</a></li>
<li>GPIO_LEDStateTypeDef&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#gaac2b90d8b8c9579b6aa5d3bbda9b1ff1">general_gpio.h</a></li>
<li>GPIO_Read_Switch()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___s_w_i_t_c_h.html#ga960b24335b2026abcad126ab8c422d70">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___s_w_i_t_c_h.html#ga960b24335b2026abcad126ab8c422d70">general_gpio.c</a></li>
<li>GPIO_Switch_Init()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___s_w_i_t_c_h.html#gacafee0e68877f2b25df843356871d1f7">general_gpio.h</a>, <a class="el" href="group___m_y_l_i_b_s___g_p_i_o___s_w_i_t_c_h.html#gacafee0e68877f2b25df843356871d1f7">general_gpio.c</a></li>
<li>GPIO_TRACE_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga4222e0e400ad81737cefcabeb03fd23b">mylibs_config.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

125
Doc/html/globals_h.html Normal file
View File

@ -0,0 +1,125 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_h.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_h" name="index_h"></a>- h -</h3><ul>
<li>HAL_SPI_MODULE_ENABLED&#160;:&#160;<a class="el" href="group___s_p_i___i_n_i_t.html#ga8ad4712bf4add56892d057778e826e0c">general_spi.h</a></li>
<li>HAL_UART_MODULE_ENABLED&#160;:&#160;<a class="el" href="group___u_a_r_t___i_n_i_t.html#ga167269406e73327b95c3bb7b9cfe6d89">general_uart.h</a></li>
<li>HARDFAULT_SERIAL_TRACE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga47f454f804b4dbc26cae079e8d8641e6">mylibs_config.h</a></li>
<li>hbt&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">bench_time.h</a></li>
<li>HF_CheckRecovered()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___h_a_r_d_f_a_u_l_t.html#ga03f8b6f3b537ee1c8e91065c60db504f">trace.h</a></li>
<li>HF_FLASH_ADDR&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga0c602733a4a359bf8c095d71cd4d0f63">mylibs_config.h</a></li>
<li>HF_HandleFault()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___h_a_r_d_f_a_u_l_t.html#gadd8e10e7ec3b0204f7f92062ecd452f7">trace.h</a></li>
<li>HF_RAM_END&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga92d0d14732edb7dfa21d483304bdb051">mylibs_config.h</a></li>
<li>HF_RTT_TAG_BASE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gadc960255719c7eff4bdfaa850be9b313">mylibs_config.h</a></li>
<li>HF_RTT_TAIL_SIZE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gafcc7ea03d4df8f1909e580b519a7f3ca">mylibs_config.h</a></li>
<li>HF_STACK_DUMP_WORDS&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gaa31234688b333a505aaa57b8ecdedf5b">mylibs_config.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

120
Doc/html/globals_i.html Normal file
View File

@ -0,0 +1,120 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_i.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>if_assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gad91d8ca89074270fc040c0449e57cf07">trackers.h</a></li>
<li>INCLUDE_BIT_ACCESS_LIB&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#gaf4ddb2a71ec0d05c2480e197cd17c0be">mylibs_config.h</a></li>
<li>INCLUDE_GEN_OPTIMIZER&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga3cdc9ef47fd3ff080d38481295327692">mylibs_config.h</a></li>
<li>INCLUDE_GENERAL_PERIPH_LIBS&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga181a46326e46b60afb160190832c7281">mylibs_config.h</a></li>
<li>INCLUDE_TRACE_LIB&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga0a3ca94b616997069dd53e2c6c2687d7">mylibs_config.h</a></li>
<li>INCLUDE_TRACKERS_LIB&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga4403055986b70bb02b8d37073a122e32">mylibs_config.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

124
Doc/html/globals_l.html Normal file
View File

@ -0,0 +1,124 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_l.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>LED_IS_BLINKING&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1a2445895bed5dcbedc82ea3ef02bec6fb">general_gpio.h</a></li>
<li>LED_IS_FADING&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1aa610f6df44c939aa7d45e318036fa03b">general_gpio.h</a></li>
<li>LED_IS_OFF&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1a74276cd2464314e422e8a144483f74ae">general_gpio.h</a></li>
<li>LED_IS_ON&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___g_p_i_o___l_e_d_s.html#ggaac2b90d8b8c9579b6aa5d3bbda9b1ff1af6abfb9c5b95abbdb239590f2cd245ea">general_gpio.h</a></li>
<li>LED_OFF&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#ga80700bb63bd56ebabbb4728aa433fd29">general_gpio.h</a></li>
<li>LED_ON&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#gaf2e697ac60e05813d45ea2c9c9e79c25">general_gpio.h</a></li>
<li>LED_PWM_TICKS&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#ga1d42e219765ec526d99e306638ac0023">general_gpio.h</a></li>
<li>local_time&#160;:&#160;<a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653">mylibs_config.h</a>, <a class="el" href="group___g_p_i_o___i_n_i_t.html#ga9c853b02c22f26023c34d1d404b6d653">general_gpio.h</a></li>
<li>LOG_LEVEL&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga0b87e0d3bf5853bcbb0b66a7c48fdc05">mylibs_config.h</a></li>
<li>log_printf&#160;:&#160;<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html#ga730fb7b8d0bbb348dca73c15bd0e0b26">trace.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

120
Doc/html/globals_m.html Normal file
View File

@ -0,0 +1,120 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_m.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>msDelay&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gabeb97579daeb622c6651ed03c4a27479">mylibs_defs.h</a></li>
<li>msDelayStart&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga8a5051b1292d1019fe8dd3fc5521ab25">mylibs_defs.h</a></li>
<li>msDelayWaitDone&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gaed082c07b9fc4d1894330d885b9b5518">mylibs_defs.h</a></li>
<li>msDelayWhileActive&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga0b97e172659a59ee4fa56f851643ae85">mylibs_defs.h</a></li>
<li>my_printf&#160;:&#160;<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html#gae9b9b8a611e291a2f2aa5abf99f3ebaa">trace.h</a></li>
<li>MyLibs_Error_Handler&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae110df81afd885a390bbeb152d7b709f">mylibs_defs.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

115
Doc/html/globals_n.html Normal file
View File

@ -0,0 +1,115 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_n.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>num_of_usercnts&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga72be24629fedb8bf70e830373d151fbc">trackers.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

116
Doc/html/globals_p.html Normal file
View File

@ -0,0 +1,116 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_p.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>PARAM_SCALE&#160;:&#160;<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga83abbcabaff9111c03ae2475ee72ea3e">gen_optimizer.h</a></li>
<li>PARAM_UNSCALE&#160;:&#160;<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#gaa1d5510fe5f0bd989473f3ebe324bde3">gen_optimizer.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

123
Doc/html/globals_r.html Normal file
View File

@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_r.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>RTT_EraseFlash()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga8d8c6850e32b42871faefce3352012d1">trace.h</a></li>
<li>RTT_FLASH_BUFFER_SIZE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga501312b24e322de4dd6755ad442f0ba3">mylibs_config.h</a></li>
<li>RTT_FLASH_SECTOR&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga3bc1b76864e1d32cbdd174d4caae7724">mylibs_config.h</a></li>
<li>RTT_FLASH_SECTOR_END&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gafeca0be3688dea07ff443f894668003d">mylibs_config.h</a></li>
<li>RTT_FLASH_SECTOR_START&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga8e56f75d3ab8a89ddde1404ae23c3297">mylibs_config.h</a></li>
<li>RTT_FlashPrepare()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga21353cb4f5af666237739e62ce019cd6">trace.h</a></li>
<li>RTT_ReadFromFlash()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga734b2ebbf0c77699b739013878cfd146">trace.h</a></li>
<li>RTT_SaveToFlash()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga79f222c8ab644de4d47f07528d1edd63">trace.h</a></li>
<li>RTT_TRACE_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga00ff2175bdc1fb11c8ec970ea3010dd8">mylibs_config.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

123
Doc/html/globals_s.html Normal file
View File

@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_s.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>SERIAL_TRACE_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga76936505ca200d2e61226b7ba68f27c6">mylibs_config.h</a></li>
<li>SPI_Base_Init()&#160;:&#160;<a class="el" href="group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba">general_spi.h</a>, <a class="el" href="group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba">general_spi.c</a></li>
<li>SPI_Check_Init_Struct()&#160;:&#160;<a class="el" href="group___m_y___l_i_b_s___s_p_i.html#ga333dd251bc878931086d48aa932b1a5f">general_spi.h</a>, <a class="el" href="group___m_y___l_i_b_s___s_p_i.html#ga333dd251bc878931086d48aa932b1a5f">general_spi.c</a></li>
<li>SPI_GPIO_Init()&#160;:&#160;<a class="el" href="general__spi_8c.html#ae80d21e5cab86571709a2619442733b5">general_spi.c</a></li>
<li>SPI_MspDeInit()&#160;:&#160;<a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gac279cc3eaa35541edfe330a1844a85e4">general_spi.h</a>, <a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gac279cc3eaa35541edfe330a1844a85e4">general_spi.c</a></li>
<li>SPI_MspInit()&#160;:&#160;<a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">general_spi.h</a>, <a class="el" href="group___m_y___l_i_b_s___s_p_i.html#gab9f13318daf02bc5b5f302ae392dccac">general_spi.c</a></li>
<li>SW_OFF&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#gacd8900c9ec0efde1da3253b718574067">general_gpio.h</a></li>
<li>SW_ON&#160;:&#160;<a class="el" href="group___g_p_i_o___i_n_i_t.html#ga19d9e3aced311179a2914e0c9b13d0f9">general_gpio.h</a></li>
<li>SWO_TRACE_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gab8db9704b5d11858aa879689b9d36336">mylibs_config.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

156
Doc/html/globals_t.html Normal file
View File

@ -0,0 +1,156 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_t.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>tern_assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga39b6ffbc561f8caac276415e1ad32c30">trackers.h</a></li>
<li>TIM_Base_Disable&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaa0a51c870325217ac099881f09dd0800ae838122c0e83bc57ad31b546bf2f00e5">general_tim.h</a></li>
<li>TIM_Base_Init()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ga7044214f24a9868ba7e1650b55e639ec">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ga7044214f24a9868ba7e1650b55e639ec">general_tim.c</a></li>
<li>TIM_Base_MspDeInit()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ga879e3f1c919c02990736730275367115">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ga879e3f1c919c02990736730275367115">general_tim.c</a></li>
<li>TIM_Base_MspInit()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#gaad47337be7ba2f6c0777c40d7278c931">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#gaad47337be7ba2f6c0777c40d7278c931">general_tim.c</a></li>
<li>TIM_DEFAULT&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaeb611874216a4661fb83366b99b9e787ab0869828a4dfd62eaa44868ca27835f8">general_tim.h</a></li>
<li>TIM_Delay()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga88c552a133cb6e3015453cccab74c07e">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga88c552a133cb6e3015453cccab74c07e">general_tim.c</a></li>
<li>TIM_Delay_NonBlocking()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga108637af414bff3373059273b815ce9b">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga108637af414bff3373059273b815ce9b">general_tim.c</a></li>
<li>TIM_Delay_Start()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga4c0dfde4e15f677600605348b4e97834">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___d_e_l_a_y.html#ga4c0dfde4e15f677600605348b4e97834">general_tim.c</a></li>
<li>TIM_Encoder_Init()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#ga8d16c3b7e7c6decc54c5c3d1a8bf0fbc">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#ga8d16c3b7e7c6decc54c5c3d1a8bf0fbc">general_tim.c</a></li>
<li>TIM_Encoder_Read()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#gac3bc6525f88c275e47eb864e6d567501">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#gac3bc6525f88c275e47eb864e6d567501">general_tim.c</a></li>
<li>TIM_Encoder_ReadSwitch()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#ga117b795017e9e3a357ddefe323412761">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___e_n_c_o_d_e_r.html#ga117b795017e9e3a357ddefe323412761">general_tim.c</a></li>
<li>TIM_IT_MODE&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaeb611874216a4661fb83366b99b9e787a89ecf1ef6d45ead2efcb7dd30396114c">general_tim.h</a></li>
<li>TIM_ITModeTypeDef&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#gaeb611874216a4661fb83366b99b9e787">general_tim.h</a></li>
<li>TIM_MHzTickBaseTypeDef&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#gaa0a51c870325217ac099881f09dd0800">general_tim.h</a></li>
<li>TIM_OC_Comparator_Init()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___o_c.html#gae2608ca8023e9a0713af0b4fbfbc1889">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___o_c.html#gae2608ca8023e9a0713af0b4fbfbc1889">general_tim.c</a></li>
<li>TIM_Output_PWM_Init()&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___o_c.html#gadb2f465d89f609e035867e980c3a29c6">general_tim.h</a>, <a class="el" href="group___m_y_l_i_b_s___t_i_m___o_c.html#gadb2f465d89f609e035867e980c3a29c6">general_tim.c</a></li>
<li>TIM_TickBase_100MS&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaa0a51c870325217ac099881f09dd0800a18527a2d781eb4365aecd9a3184fc1da">general_tim.h</a></li>
<li>TIM_TickBase_100US&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaa0a51c870325217ac099881f09dd0800a096ef0ab67788487f69d8877c6d89b30">general_tim.h</a></li>
<li>TIM_TickBase_10MS&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaa0a51c870325217ac099881f09dd0800a7421a08abd119e71aa99eea5ab5d6daa">general_tim.h</a></li>
<li>TIM_TickBase_10US&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaa0a51c870325217ac099881f09dd0800a060b01e890891fd17c8f95b55a94139f">general_tim.h</a></li>
<li>TIM_TickBase_1MS&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaa0a51c870325217ac099881f09dd0800a6a66c5ed1d966c9e30f0219b664d2b25">general_tim.h</a></li>
<li>TIM_TickBase_1US&#160;:&#160;<a class="el" href="group___m_y_l_i_b_s___t_i_m___g_e_n_e_r_a_l.html#ggaa0a51c870325217ac099881f09dd0800a63df3123d0ddc592b189ed1594456ea2">general_tim.h</a></li>
<li>TRACE_GPIO_RESET&#160;:&#160;<a class="el" href="group___t_r_a_c_e___g_p_i_o.html#ga69741d88c991112e99fe7a62e025108a">trace.h</a></li>
<li>TRACE_GPIO_SET&#160;:&#160;<a class="el" href="group___t_r_a_c_e___g_p_i_o.html#ga02a6a7b273766121db8ad4a1371373eb">trace.h</a></li>
<li>TrackerClear_All&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga704f7b9f8c65c9bcec48ce7cb77a2d3b">trackers.h</a></li>
<li>TrackerClear_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gae860b6947c6e317e14d40bd7b4b8eb74">trackers.h</a></li>
<li>TrackerClear_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga5dd8bac8c7ab5832019d55d7a68371b9">trackers.h</a></li>
<li>TrackerClear_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga063dab1067005e1600ea32531fdf3f8d">trackers.h</a></li>
<li>TrackerClear_UserAll&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gaaec7ec19977bb26fa1919dfe920b82d5">trackers.h</a></li>
<li>TrackerClear_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga365a8c60bd13b75154feda649dd21ead">trackers.h</a></li>
<li>TrackerCnt_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga49af29ab3927cad105c1d2b018a767e9">trackers.h</a></li>
<li>TrackerCnt_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga23de0006aa08984cfeddb6aa5e512fa1">trackers.h</a></li>
<li>TrackerCnt_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga1b7549afc4a1760b54a9b93b0f6d105e">trackers.h</a></li>
<li>TrackerCnt_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga8017fb05a56a1b667244f1f786fa9c57">trackers.h</a></li>
<li>TrackerGet_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga9dc91e6b798a081f95f2ccef2c288e5e">trackers.h</a></li>
<li>TrackerGet_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gab880911066605602a966641682090169">trackers.h</a></li>
<li>TrackerGet_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga4b08632669043dfdbd219dda03502bdb">trackers.h</a></li>
<li>TrackerGet_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga47ac59a406ee74d4cd9fe0fbaf63a758">trackers.h</a></li>
<li>TRACKERS_ENABLE&#160;:&#160;<a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gac9eaedc31ab023ce7d6403999216e496">mylibs_config.h</a></li>
<li>TrackerTypeDef&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga50ccb119acf302969b7fdcb58f2130e4">trackers.h</a></li>
<li>TrackerWrite_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gad2f4062a9ac8c2ab062a364f640ebc51">trackers.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

147
Doc/html/globals_u.html Normal file
View File

@ -0,0 +1,147 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_u.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_u" name="index_u"></a>- u -</h3><ul>
<li>UART_Base_Init()&#160;:&#160;<a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154">general_uart.h</a>, <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9f07396b778505c934143e89953e154">general_uart.c</a></li>
<li>UART_Check_Init_Struct()&#160;:&#160;<a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#ga2a22e46ecb9e04b2ce197a0e9c09044a">general_uart.h</a>, <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#ga2a22e46ecb9e04b2ce197a0e9c09044a">general_uart.c</a></li>
<li>UART_DMA_Init()&#160;:&#160;<a class="el" href="general__uart_8c.html#ad82d0cbd19151675135fd75dad315d05">general_uart.c</a></li>
<li>UART_GPIO_Init()&#160;:&#160;<a class="el" href="general__uart_8c.html#a3abae05bbde5f3b402bf18ca13dc6a0b">general_uart.c</a></li>
<li>UART_MspDeInit()&#160;:&#160;<a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc">general_uart.h</a>, <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#ga93ed6ceef4e3b5e7885786125cce93bc">general_uart.c</a></li>
<li>UART_MspInit()&#160;:&#160;<a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">general_uart.h</a>, <a class="el" href="group___m_y___l_i_b_s___u_a_r_t.html#gab9313fd2f9fc6873ca6bfbc5b96edbbb">general_uart.c</a></li>
<li>uint16_bit&#160;:&#160;<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga6a122b536ad99ae611c8cf01437af086">bit_access.h</a></li>
<li>uint32_bit&#160;:&#160;<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#gafaa2080168b1b6f7281e8bfabab022d1">bit_access.h</a></li>
<li>uint64_bit&#160;:&#160;<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga47eb69ce9330a1c73fe8031240f02f0a">bit_access.h</a></li>
<li>uint8_bit&#160;:&#160;<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga57dc3bb3472a66fc92312f89d42d2396">bit_access.h</a></li>
<li>USE_SPI1&#160;:&#160;<a class="el" href="group___s_p_i___i_n_i_t.html#ga2fe0c8aeb2c61679f32836fef479eedf">general_spi.h</a></li>
<li>USE_SPI2&#160;:&#160;<a class="el" href="group___s_p_i___i_n_i_t.html#ga53687cddb8e39e76a79b8ffaa152fb2b">general_spi.h</a></li>
<li>USE_SPI3&#160;:&#160;<a class="el" href="group___s_p_i___i_n_i_t.html#ga5fdd6e5934a8005ef05b80f6d95883dc">general_spi.h</a></li>
<li>USE_TIM1&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga54a98c21365e0bc45b81555d2b101f2b">general_tim.h</a></li>
<li>USE_TIM10&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga98c0691052d1da2c4053dd3586ff7ce9">general_tim.h</a></li>
<li>USE_TIM11&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga176c97f06ebcf14e06e5c5bdbfac44c2">general_tim.h</a></li>
<li>USE_TIM12&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga4e2b0e6cdf9eed74581b575c3fd9516b">general_tim.h</a></li>
<li>USE_TIM13&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#gaf48ef87650517652ddec039a189507ac">general_tim.h</a></li>
<li>USE_TIM14&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga9ae40be31d5271abe3e49f896d916d5c">general_tim.h</a></li>
<li>USE_TIM2&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga72535a44955b43cbcd56e25039ab32eb">general_tim.h</a></li>
<li>USE_TIM3&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga5b5685a43273b6e37242a4aba3ee0617">general_tim.h</a></li>
<li>USE_TIM4&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga1493b39c9214501180b81b4c892f9be0">general_tim.h</a></li>
<li>USE_TIM5&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga252f4fba93fc265110e83760e0590af3">general_tim.h</a></li>
<li>USE_TIM6&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga8fe31b98160627d19038222910be3f46">general_tim.h</a></li>
<li>USE_TIM7&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga7cdc54cc8cbbb6e9f60001f1e3e6ec67">general_tim.h</a></li>
<li>USE_TIM8&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#ga28ba33d7c6bf22821dafa5bcee4854be">general_tim.h</a></li>
<li>USE_TIM9&#160;:&#160;<a class="el" href="group___t_i_m___i_n_i_t.html#gaac627c0e98c9594cc41b1b46eb39e44a">general_tim.h</a></li>
<li>USE_UART4&#160;:&#160;<a class="el" href="group___u_a_r_t___i_n_i_t.html#ga779530e93e7aa1f25eb13045ec42b8e7">general_uart.h</a></li>
<li>USE_UART5&#160;:&#160;<a class="el" href="group___u_a_r_t___i_n_i_t.html#ga592c6bf4a6496d6806ba0838cdfa2340">general_uart.h</a></li>
<li>USE_USART1&#160;:&#160;<a class="el" href="group___u_a_r_t___i_n_i_t.html#gace54f148bb1d72f13bf397d096d38d1b">general_uart.h</a></li>
<li>USE_USART2&#160;:&#160;<a class="el" href="group___u_a_r_t___i_n_i_t.html#gaacb3968508217a0d8b3f64aa0c8aa07d">general_uart.h</a></li>
<li>USE_USART3&#160;:&#160;<a class="el" href="group___u_a_r_t___i_n_i_t.html#ga6dadd967b428aade24008ec060009976">general_uart.h</a></li>
<li>USE_USART6&#160;:&#160;<a class="el" href="group___u_a_r_t___i_n_i_t.html#gafaeb8bdd4aa7fb1987505530daa90868">general_uart.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

113
Doc/html/globals_vars.html Normal file
View File

@ -0,0 +1,113 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_vars.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented variables with links to the documentation:</div><ul>
<li>hbt&#160;:&#160;<a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d">bench_time.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,543 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: Time measurement</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('group___b_e_n_c_h___t_i_m_e.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Time measurement <div class="ingroups"><a class="el" href="group___m_y_l_i_b_s___a_l_l.html">My Libs</a> &raquo; <a class="el" href="group___m_y_l_i_b_s___d_e_f_i_n_e_s.html">General Tools</a></div></div></div>
</div><!--header-->
<div class="contents">
<p>Библиотека для измерения времени/тиков между событиями
<a href="#details">More...</a></p>
<div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Collaboration diagram for Time measurement:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="group___b_e_n_c_h___t_i_m_e.png" border="0" usemap="#agroup______b__e__n__c__h______t__i__m__e" loading="lazy" alt=""/></div>
<map name="agroup______b__e__n__c__h______t__i__m__e" id="agroup______b__e__n__c__h______t__i__m__e">
<area shape="rect" title="Библиотека для измерения времени/тиков между событиями" alt="" coords="154,5,287,32"/>
<area shape="rect" href="group___m_y_l_i_b_s___d_e_f_i_n_e_s.html" title="Общие макросы и typedef&#39;ы, используемые по всему проекту" alt="" coords="5,5,106,32"/>
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:BenchTimeStats_5Ft" id="r_BenchTimeStats_5Ft"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_bench_time_stats__t.html">BenchTimeStats_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Структура статистики измерений <a href="struct_bench_time_stats__t.html#details">More...</a><br /></td></tr>
<tr class="memitem:BenchTimeChannel_5Ft" id="r_BenchTimeChannel_5Ft"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_bench_time_channel__t.html">BenchTimeChannel_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Структура канала измерения <a href="struct_bench_time_channel__t.html#details">More...</a><br /></td></tr>
<tr class="memitem:BenchTime_5Ft" id="r_BenchTime_5Ft"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_bench_time__t.html">BenchTime_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Основная структура менеджера измерений <a href="struct_bench_time__t.html#details">More...</a><br /></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gabb7a665a9603ea2e4dbc4432e8cb6054" id="r_gabb7a665a9603ea2e4dbc4432e8cb6054"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gabb7a665a9603ea2e4dbc4432e8cb6054">BenchTime_Init</a> (void)</td></tr>
<tr class="memdesc:gabb7a665a9603ea2e4dbc4432e8cb6054"><td class="mdescLeft">&#160;</td><td class="mdescRight">Инициализация системы измерения времени <br /></td></tr>
<tr class="memitem:gac65338df38129964ce3e9d9cb2fcb349" id="r_gac65338df38129964ce3e9d9cb2fcb349"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gac65338df38129964ce3e9d9cb2fcb349">BenchTime_Start</a> (uint8_t channel, uint32_t ticks, uint32_t tick_period)</td></tr>
<tr class="memdesc:gac65338df38129964ce3e9d9cb2fcb349"><td class="mdescLeft">&#160;</td><td class="mdescRight">Начало измерения на указанном канале <br /></td></tr>
<tr class="memitem:ga47a69851a2089140eac00cde18a12439" id="r_ga47a69851a2089140eac00cde18a12439"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga47a69851a2089140eac00cde18a12439">BenchTime_End</a> (uint8_t channel, uint32_t ticks)</td></tr>
<tr class="memdesc:ga47a69851a2089140eac00cde18a12439"><td class="mdescLeft">&#160;</td><td class="mdescRight">Окончание измерения на указанном канале <br /></td></tr>
<tr class="memitem:ga273d45255fe4403fc25648d60cca7705" id="r_ga273d45255fe4403fc25648d60cca7705"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga273d45255fe4403fc25648d60cca7705">BenchTime_GetMin</a> (uint8_t channel)</td></tr>
<tr class="memdesc:ga273d45255fe4403fc25648d60cca7705"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получение минимального времени измерения <br /></td></tr>
<tr class="memitem:ga07e27d7b169c9fa1abd57281bb4e374e" id="r_ga07e27d7b169c9fa1abd57281bb4e374e"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga07e27d7b169c9fa1abd57281bb4e374e">BenchTime_GetMax</a> (uint8_t channel)</td></tr>
<tr class="memdesc:ga07e27d7b169c9fa1abd57281bb4e374e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получение максимального времени измерения <br /></td></tr>
<tr class="memitem:ga24e2450d5ea921074ec5d7a1e4d56ba8" id="r_ga24e2450d5ea921074ec5d7a1e4d56ba8"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga24e2450d5ea921074ec5d7a1e4d56ba8">BenchTime_GetAverage</a> (uint8_t channel)</td></tr>
<tr class="memdesc:ga24e2450d5ea921074ec5d7a1e4d56ba8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получение среднего времени измерения <br /></td></tr>
<tr class="memitem:gabd1301ca79a30c782970f89fd147df3a" id="r_gabd1301ca79a30c782970f89fd147df3a"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gabd1301ca79a30c782970f89fd147df3a">BenchTime_GetCount</a> (uint8_t channel)</td></tr>
<tr class="memdesc:gabd1301ca79a30c782970f89fd147df3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получение количества измерений <br /></td></tr>
<tr class="memitem:gacf3a738d6423d71b238058a63558a4ed" id="r_gacf3a738d6423d71b238058a63558a4ed"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gacf3a738d6423d71b238058a63558a4ed">BenchTime_GetLast</a> (uint8_t channel)</td></tr>
<tr class="memdesc:gacf3a738d6423d71b238058a63558a4ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получение последнего измеренного времени <br /></td></tr>
<tr class="memitem:ga31a6b2b181b92bcb15f46758f5d57f35" id="r_ga31a6b2b181b92bcb15f46758f5d57f35"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga31a6b2b181b92bcb15f46758f5d57f35">BenchTime_ResetStats</a> (uint8_t channel)</td></tr>
<tr class="memdesc:ga31a6b2b181b92bcb15f46758f5d57f35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Сброс статистики для канала <br /></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-var-members" class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga8e53ef7f7df233bd4e737a87bb203d9d" id="r_ga8e53ef7f7df233bd4e737a87bb203d9d"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct_bench_time__t.html">BenchTime_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga8e53ef7f7df233bd4e737a87bb203d9d">hbt</a> = {0}</td></tr>
<tr class="memdesc:ga8e53ef7f7df233bd4e737a87bb203d9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Внутренний экземпляр <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<p>Библиотека для измерения времени/тиков между событиями </p>
<p>Поддерживает:</p><ul>
<li>Многоканальные измерения (несколько независимых таймеров)</li>
<li>Платформонезависимый интерфейс</li>
<li>Измерение в тиках или временных единицах</li>
<li>Статистику измерений (мин/макс/среднее)</li>
<li>Настраиваемый размер тиков для каждого канала</li>
</ul>
<p>Параметры для конфигурации:</p><ul>
<li><a class="el" href="group___g_e_n___c_o_n_f_i_g.html#ga67c3c54503b9bbd5d175ac46d37866d9">BENCH_TIME_ENABLE</a> - Включить бенч времени</li>
<li><a class="el" href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52">BENCH_TIME_MAX_CHANNELS</a> - Максимальное количество каналов измерения (по умолчанию 8)</li>
</ul>
<dl class="section user"><dt>Пример использования:</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="bench__time_8h.html">bench_time.h</a>&quot;</span></div>
<div class="line"> </div>
<div class="line"><span class="comment">// Инициализация</span></div>
<div class="line"><a class="code hl_function" href="#gabb7a665a9603ea2e4dbc4432e8cb6054">BenchTime_Init</a>();</div>
<div class="line"> </div>
<div class="line"><span class="comment">// Измерение с SysTick</span></div>
<div class="line">BenchTime_Start(0, HAL_GetTick, 0xFFFFFFFF);</div>
<div class="line">some_function();</div>
<div class="line">uint32_t time = BenchTime_End(0, HAL_GetTick);</div>
<div class="line"> </div>
<div class="line"><span class="comment">// Измерение с TIM2 (16-бит)</span></div>
<div class="line">BenchTime_Start(1, TIM2-&gt;CNT, 0xFFFF);</div>
<div class="line">fast_function(); </div>
<div class="line">uint32_t time2 = BenchTime_End(1, TIM2-&gt;CNT);</div>
<div class="line"> </div>
<div class="line"><span class="comment">// Измерение с DWT цикловым счетчиком</span></div>
<div class="line">BenchTime_Start(2, DWT-&gt;CYCCNT, 0xFFFFFFFF);</div>
<div class="line">critical_function();</div>
<div class="line">uint32_t cycles = BenchTime_End(2, DWT-&gt;CYCCNT);</div>
<div class="line"> </div>
<div class="line"><span class="comment">// Многоканальное измерение</span></div>
<div class="line">BenchTime_Start(0, HAL_GetTick, 1000); <span class="comment">// общее время</span></div>
<div class="line">BenchTime_Start(1, TIM3-&gt;CNT, 500); <span class="comment">// часть 1</span></div>
<div class="line"> </div>
<div class="line"><span class="comment">// ... код 1</span></div>
<div class="line"> </div>
<div class="line">uint32_t part1 = BenchTime_End(1, TIM3-&gt;CNT);</div>
<div class="line">BenchTime_Start(2, TIM4-&gt;CNT, 200); <span class="comment">// часть 2 </span></div>
<div class="line"> </div>
<div class="line"><span class="comment">// ... код 2</span></div>
<div class="line"> </div>
<div class="line">uint32_t part2 = BenchTime_End(2, TIM4-&gt;CNT);</div>
<div class="line">uint32_t total = BenchTime_End(0, HAL_GetTick); <span class="comment">// общее время</span></div>
<div class="line"> </div>
<div class="line"><span class="comment">// Статистика</span></div>
<div class="line">uint32_t min_time = BenchTime_GetMin(0);</div>
<div class="line">uint32_t max_time = BenchTime_GetMax(0);</div>
<div class="line">uint32_t avg_time = BenchTime_GetAverage(0);</div>
<div class="line">uint32_t count = BenchTime_GetCount(0);</div>
<div class="ttc" id="abench__time_8h_html"><div class="ttname"><a href="bench__time_8h.html">bench_time.h</a></div><div class="ttdoc">Заголовочный файл для измерения времени между событиями</div></div>
<div class="ttc" id="agroup___b_e_n_c_h___t_i_m_e_html_gabb7a665a9603ea2e4dbc4432e8cb6054"><div class="ttname"><a href="#gabb7a665a9603ea2e4dbc4432e8cb6054">BenchTime_Init</a></div><div class="ttdeci">static void BenchTime_Init(void)</div><div class="ttdoc">Инициализация системы измерения времени</div><div class="ttdef"><b>Definition</b> <a href="bench__time_8h_source.html#l00111">bench_time.h:111</a></div></div>
</div><!-- fragment --> </dd></dl>
<a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
<a id="gabb7a665a9603ea2e4dbc4432e8cb6054" name="gabb7a665a9603ea2e4dbc4432e8cb6054"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabb7a665a9603ea2e4dbc4432e8cb6054">&#9670;&#160;</a></span>BenchTime_Init()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void BenchTime_Init </td>
<td>(</td>
<td class="paramtype">void</td> <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Инициализация системы измерения времени </p>
<p class="definition">Definition at line <a class="el" href="bench__time_8h_source.html#l00111">111</a> of file <a class="el" href="bench__time_8h_source.html">bench_time.h</a>.</p>
</div>
</div>
<a id="gac65338df38129964ce3e9d9cb2fcb349" name="gac65338df38129964ce3e9d9cb2fcb349"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac65338df38129964ce3e9d9cb2fcb349">&#9670;&#160;</a></span>BenchTime_Start()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t BenchTime_Start </td>
<td>(</td>
<td class="paramtype">uint8_t</td> <td class="paramname"><span class="paramname"><em>channel</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t</td> <td class="paramname"><span class="paramname"><em>ticks</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t</td> <td class="paramname"><span class="paramname"><em>tick_period</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Начало измерения на указанном канале </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">channel</td><td>Номер канала (0..BENCH_TIME_MAX_CHANNELS-1) </td></tr>
<tr><td class="paramname">ticks</td><td>Источник тиков (например: HAL_GetTick(), TIM2-&gt;CNT, DWT-&gt;CYCCNT) </td></tr>
<tr><td class="paramname">tick_period</td><td>Период тиков для переполнения </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 - успех, 0 - ошибка </dd></dl>
<p class="definition">Definition at line <a class="el" href="bench__time_8h_source.html#l00131">131</a> of file <a class="el" href="bench__time_8h_source.html">bench_time.h</a>.</p>
</div>
</div>
<a id="ga47a69851a2089140eac00cde18a12439" name="ga47a69851a2089140eac00cde18a12439"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga47a69851a2089140eac00cde18a12439">&#9670;&#160;</a></span>BenchTime_End()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t BenchTime_End </td>
<td>(</td>
<td class="paramtype">uint8_t</td> <td class="paramname"><span class="paramname"><em>channel</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t</td> <td class="paramname"><span class="paramname"><em>ticks</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Окончание измерения на указанном канале </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">channel</td><td>Номер канала (0..BENCH_TIME_MAX_CHANNELS-1) </td></tr>
<tr><td class="paramname">ticks</td><td>Источник тиков (должен быть тот же что в Start) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Измеренное время в тиках, 0 - в случае ошибки </dd></dl>
<p class="definition">Definition at line <a class="el" href="bench__time_8h_source.html#l00147">147</a> of file <a class="el" href="bench__time_8h_source.html">bench_time.h</a>.</p>
</div>
</div>
<a id="ga273d45255fe4403fc25648d60cca7705" name="ga273d45255fe4403fc25648d60cca7705"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga273d45255fe4403fc25648d60cca7705">&#9670;&#160;</a></span>BenchTime_GetMin()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t BenchTime_GetMin </td>
<td>(</td>
<td class="paramtype">uint8_t</td> <td class="paramname"><span class="paramname"><em>channel</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Получение минимального времени измерения </p>
<p class="definition">Definition at line <a class="el" href="bench__time_8h_source.html#l00189">189</a> of file <a class="el" href="bench__time_8h_source.html">bench_time.h</a>.</p>
</div>
</div>
<a id="ga07e27d7b169c9fa1abd57281bb4e374e" name="ga07e27d7b169c9fa1abd57281bb4e374e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga07e27d7b169c9fa1abd57281bb4e374e">&#9670;&#160;</a></span>BenchTime_GetMax()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t BenchTime_GetMax </td>
<td>(</td>
<td class="paramtype">uint8_t</td> <td class="paramname"><span class="paramname"><em>channel</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Получение максимального времени измерения </p>
<p class="definition">Definition at line <a class="el" href="bench__time_8h_source.html#l00197">197</a> of file <a class="el" href="bench__time_8h_source.html">bench_time.h</a>.</p>
</div>
</div>
<a id="ga24e2450d5ea921074ec5d7a1e4d56ba8" name="ga24e2450d5ea921074ec5d7a1e4d56ba8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga24e2450d5ea921074ec5d7a1e4d56ba8">&#9670;&#160;</a></span>BenchTime_GetAverage()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t BenchTime_GetAverage </td>
<td>(</td>
<td class="paramtype">uint8_t</td> <td class="paramname"><span class="paramname"><em>channel</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Получение среднего времени измерения </p>
<p class="definition">Definition at line <a class="el" href="bench__time_8h_source.html#l00205">205</a> of file <a class="el" href="bench__time_8h_source.html">bench_time.h</a>.</p>
</div>
</div>
<a id="gabd1301ca79a30c782970f89fd147df3a" name="gabd1301ca79a30c782970f89fd147df3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabd1301ca79a30c782970f89fd147df3a">&#9670;&#160;</a></span>BenchTime_GetCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t BenchTime_GetCount </td>
<td>(</td>
<td class="paramtype">uint8_t</td> <td class="paramname"><span class="paramname"><em>channel</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Получение количества измерений </p>
<p class="definition">Definition at line <a class="el" href="bench__time_8h_source.html#l00215">215</a> of file <a class="el" href="bench__time_8h_source.html">bench_time.h</a>.</p>
</div>
</div>
<a id="gacf3a738d6423d71b238058a63558a4ed" name="gacf3a738d6423d71b238058a63558a4ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacf3a738d6423d71b238058a63558a4ed">&#9670;&#160;</a></span>BenchTime_GetLast()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t BenchTime_GetLast </td>
<td>(</td>
<td class="paramtype">uint8_t</td> <td class="paramname"><span class="paramname"><em>channel</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Получение последнего измеренного времени </p>
<p class="definition">Definition at line <a class="el" href="bench__time_8h_source.html#l00223">223</a> of file <a class="el" href="bench__time_8h_source.html">bench_time.h</a>.</p>
</div>
</div>
<a id="ga31a6b2b181b92bcb15f46758f5d57f35" name="ga31a6b2b181b92bcb15f46758f5d57f35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga31a6b2b181b92bcb15f46758f5d57f35">&#9670;&#160;</a></span>BenchTime_ResetStats()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void BenchTime_ResetStats </td>
<td>(</td>
<td class="paramtype">uint8_t</td> <td class="paramname"><span class="paramname"><em>channel</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel inline">inline</span><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Сброс статистики для канала </p>
<p class="definition">Definition at line <a class="el" href="bench__time_8h_source.html#l00231">231</a> of file <a class="el" href="bench__time_8h_source.html">bench_time.h</a>.</p>
</div>
</div>
<a name="doc-var-members" id="doc-var-members"></a><h2 id="header-doc-var-members" class="groupheader">Variable Documentation</h2>
<a id="ga8e53ef7f7df233bd4e737a87bb203d9d" name="ga8e53ef7f7df233bd4e737a87bb203d9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8e53ef7f7df233bd4e737a87bb203d9d">&#9670;&#160;</a></span>hbt</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_bench_time__t.html">BenchTime_t</a> hbt = {0}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Внутренний экземпляр </p>
<p class="definition">Definition at line <a class="el" href="bench__time_8h_source.html#l00106">106</a> of file <a class="el" href="bench__time_8h_source.html">bench_time.h</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="page-nav" class="page-nav-panel">
<div id="page-nav-resize-handle"></div>
<div id="page-nav-tree">
<div id="page-nav-contents">
</div><!-- page-nav-contents -->
</div><!-- page-nav-tree -->
</div><!-- page-nav -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,29 @@
var group___b_e_n_c_h___t_i_m_e =
[
[ "BenchTimeStats_t", "struct_bench_time_stats__t.html", [
[ "min_ticks", "struct_bench_time_stats__t.html#a39b71a5d48c4a51a553a26a9fb961ac8", null ],
[ "max_ticks", "struct_bench_time_stats__t.html#a3da36eb65b03ba995b5905b4650ea93c", null ],
[ "total_ticks", "struct_bench_time_stats__t.html#a21499b0b19d1ed27f8cea069f674e8ec", null ],
[ "count", "struct_bench_time_stats__t.html#a5e95ef31dd0daf973894ef2f034d1f71", null ],
[ "last_ticks", "struct_bench_time_stats__t.html#a2c739e1db6b26ceac5db3f2c44c177a0", null ]
] ],
[ "BenchTimeChannel_t", "struct_bench_time_channel__t.html", [
[ "start_tick", "struct_bench_time_channel__t.html#a8140fe9e3d323404651f0cfeeae53928", null ],
[ "tick_period", "struct_bench_time_channel__t.html#a095d93e0228641f58b8661e263bc1bcd", null ],
[ "is_running", "struct_bench_time_channel__t.html#a0f80bb194231df7921712d20bac603c9", null ],
[ "stats", "struct_bench_time_channel__t.html#a22a3913e7925aa89cc12ec1d24a6c16c", null ]
] ],
[ "BenchTime_t", "struct_bench_time__t.html", [
[ "channels", "struct_bench_time__t.html#a9ae6d45c610be9d4b7628a614ccb06d6", null ]
] ],
[ "BenchTime_Init", "group___b_e_n_c_h___t_i_m_e.html#gabb7a665a9603ea2e4dbc4432e8cb6054", null ],
[ "BenchTime_Start", "group___b_e_n_c_h___t_i_m_e.html#gac65338df38129964ce3e9d9cb2fcb349", null ],
[ "BenchTime_End", "group___b_e_n_c_h___t_i_m_e.html#ga47a69851a2089140eac00cde18a12439", null ],
[ "BenchTime_GetMin", "group___b_e_n_c_h___t_i_m_e.html#ga273d45255fe4403fc25648d60cca7705", null ],
[ "BenchTime_GetMax", "group___b_e_n_c_h___t_i_m_e.html#ga07e27d7b169c9fa1abd57281bb4e374e", null ],
[ "BenchTime_GetAverage", "group___b_e_n_c_h___t_i_m_e.html#ga24e2450d5ea921074ec5d7a1e4d56ba8", null ],
[ "BenchTime_GetCount", "group___b_e_n_c_h___t_i_m_e.html#gabd1301ca79a30c782970f89fd147df3a", null ],
[ "BenchTime_GetLast", "group___b_e_n_c_h___t_i_m_e.html#gacf3a738d6423d71b238058a63558a4ed", null ],
[ "BenchTime_ResetStats", "group___b_e_n_c_h___t_i_m_e.html#ga31a6b2b181b92bcb15f46758f5d57f35", null ],
[ "hbt", "group___b_e_n_c_h___t_i_m_e.html#ga8e53ef7f7df233bd4e737a87bb203d9d", null ]
];

View File

@ -0,0 +1,4 @@
<map id="Time measurement" name="Time measurement">
<area shape="rect" id="Node000001" title="Библиотека для измерения времени/тиков между событиями" alt="" coords="154,5,287,32"/>
<area shape="rect" id="Node000002" href="$group___m_y_l_i_b_s___d_e_f_i_n_e_s.html" title="Общие макросы и typedef&#39;ы, используемые по всему проекту" alt="" coords="5,5,106,32"/>
</map>

View File

@ -0,0 +1 @@
15b595630eeca30c57a018017bc540ba

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -178,7 +178,7 @@ Macros</h2></td></tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">*(_pvar_) = <a class="code hl_define" href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653">local_time</a>()</div>
<div class="ttc" id="agroup___l_i_b_s___c_o_n_f_i_g_html_ga9c853b02c22f26023c34d1d404b6d653"><div class="ttname"><a href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653">local_time</a></div><div class="ttdeci">#define local_time()</div><div class="ttdoc">Локальное время</div><div class="ttdef"><b>Definition</b> <a href="mylibs__config_8h_source.html#l00080">mylibs_config.h:80</a></div></div>
<div class="ttc" id="agroup___l_i_b_s___c_o_n_f_i_g_html_ga9c853b02c22f26023c34d1d404b6d653"><div class="ttname"><a href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653">local_time</a></div><div class="ttdeci">#define local_time()</div><div class="ttdoc">Локальное время</div><div class="ttdef"><b>Definition</b> <a href="mylibs__config_8h_source.html#l00097">mylibs_config.h:97</a></div></div>
</div><!-- fragment -->
<p>Начать отсчет задержки. </p>
<dl class="params"><dt>Parameters</dt><dd>

View File

@ -1,6 +0,0 @@
var group___e_v_o_l_v_e___c_o_n_f_i_g =
[
[ "ENABLE_EVOLVE_OPTIMIZATION", "group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga2cac097081444a7a9b040f4b11550e47", null ],
[ "EVOLVE_MAX_PARAMS", "group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga80d6162495fc3776d8902610657d4fee", null ],
[ "EVOLVE_MAX_CANDIDATES", "group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga7c1396e5c95c766afccdb45cbfcf5971", null ]
];

View File

@ -1 +0,0 @@
0e28d80dcd04448aed641d64d20b3125

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -1,23 +0,0 @@
var group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r =
[
[ "EvolveOptimizer_t", "struct_evolve_optimizer__t.html", [
[ "stability", "struct_evolve_optimizer__t.html#a80eb0b8525b6bb838484f5922b9d8f7c", null ],
[ "n_params", "struct_evolve_optimizer__t.html#a1c270fce82e0c97e6c88fd0971c1eed8", null ],
[ "n_cand", "struct_evolve_optimizer__t.html#ac35c7ca8cede4ab9c53a2845a91cd1b1", null ],
[ "n_best", "struct_evolve_optimizer__t.html#a950cd70cb6bff33b78ad35ee58c729a6", null ],
[ "mutation_amp", "struct_evolve_optimizer__t.html#af779c7aeba0053e36cee7aade160f1c8", null ],
[ "cand_index", "struct_evolve_optimizer__t.html#a0ae0e63ba351335d4445d927991c64ae", null ],
[ "gen_index", "struct_evolve_optimizer__t.html#ad0f464d7048a9ed0753b61f76f563108", null ],
[ "gen_mut", "struct_evolve_optimizer__t.html#a3be8c0c34db8429210ff470497a56727", null ],
[ "loss", "struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df", null ],
[ "candidates", "struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4", null ],
[ "sorted_idx", "struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a", null ]
] ],
[ "PARAM_SCALE", "group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga83abbcabaff9111c03ae2475ee72ea3e", null ],
[ "PARAM_UNSCALE", "group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#gaa1d5510fe5f0bd989473f3ebe324bde3", null ],
[ "EVOLVE_MUTATION_MIN_PCT", "group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga2f2b1be34ad4eb1bf3267237200cd6c6", null ],
[ "EVOLVE_MUTATION_MAX_PCT", "group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga861c1c6a503c21441abcec0d57b848bc", null ],
[ "ELOVLE_N_ELITE_CANDIDATE", "group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb", null ],
[ "EvolveOptimizer_Init", "group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#ga4e3ea118b5b9068619c57724a925ba21", null ],
[ "EvolveOptimizer_Step", "group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html#gaef44a1f3298514569cc2b396a92101ef", null ]
];

View File

@ -1 +0,0 @@
222e7e00155a235ae6b55b58801480e4

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: Evolve configs</title>
<title>MyLibs: Genetic configs</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -71,7 +71,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('group___e_v_o_l_v_e___c_o_n_f_i_g.html','',''); });
$(function(){initNavTree('group___g_e_n___c_o_n_f_i_g.html','',''); });
</script>
<div id="container">
<div id="doc-content">
@ -97,43 +97,47 @@ $(function(){initNavTree('group___e_v_o_l_v_e___c_o_n_f_i_g.html','',''); });
</div>
<div class="header">
<div class="headertitle"><div class="title">Evolve configs <div class="ingroups"><a class="el" href="group___m_y_l_i_b_s___a_l_l.html">My Libs</a> &raquo; <a class="el" href="group___m_y_l_i_b_s___c_o_n_f_i_g.html">Configs</a></div></div></div>
<div class="headertitle"><div class="title">Genetic configs <div class="ingroups"><a class="el" href="group___m_y_l_i_b_s___a_l_l.html">My Libs</a> &raquo; <a class="el" href="group___m_y_l_i_b_s___c_o_n_f_i_g.html">Configs</a></div></div></div>
</div><!--header-->
<div class="contents">
<p>Конфигурация однослойного персептрона и алгоритма обучения
<p>Конфигурация генетического алгоритма обучения
<a href="#details">More...</a></p>
<div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Collaboration diagram for Evolve configs:</div>
<div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Collaboration diagram for Genetic configs:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="group___e_v_o_l_v_e___c_o_n_f_i_g.png" border="0" usemap="#agroup______e__v__o__l__v__e______c__o__n__f__i__g" loading="lazy" alt=""/></div>
<map name="agroup______e__v__o__l__v__e______c__o__n__f__i__g" id="agroup______e__v__o__l__v__e______c__o__n__f__i__g">
<area shape="rect" title="Конфигурация однослойного персептрона и алгоритма обучения" alt="" coords="120,5,227,32"/>
<div class="center"><img src="group___g_e_n___c_o_n_f_i_g.png" border="0" usemap="#agroup______g__e__n______c__o__n__f__i__g" loading="lazy" alt=""/></div>
<map name="agroup______g__e__n______c__o__n__f__i__g" id="agroup______g__e__n______c__o__n__f__i__g">
<area shape="rect" title="Конфигурация генетического алгоритма обучения" alt="" coords="120,5,232,32"/>
<area shape="rect" href="group___m_y_l_i_b_s___c_o_n_f_i_g.html" title="Конфигурации для библиотек MyLibs." alt="" coords="5,5,72,32"/>
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-define-members" class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga2cac097081444a7a9b040f4b11550e47" id="r_ga2cac097081444a7a9b040f4b11550e47"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga2cac097081444a7a9b040f4b11550e47">ENABLE_EVOLVE_OPTIMIZATION</a></td></tr>
<tr class="memdesc:ga2cac097081444a7a9b040f4b11550e47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Включить оптимизацию параметров <br /></td></tr>
<tr class="memitem:ga80d6162495fc3776d8902610657d4fee" id="r_ga80d6162495fc3776d8902610657d4fee"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga80d6162495fc3776d8902610657d4fee">EVOLVE_MAX_PARAMS</a>&#160;&#160;&#160;20</td></tr>
<tr class="memdesc:ga80d6162495fc3776d8902610657d4fee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Максимальное количество параметров <br /></td></tr>
<tr class="memitem:ga7c1396e5c95c766afccdb45cbfcf5971" id="r_ga7c1396e5c95c766afccdb45cbfcf5971"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga7c1396e5c95c766afccdb45cbfcf5971">EVOLVE_MAX_CANDIDATES</a>&#160;&#160;&#160;100</td></tr>
<tr class="memdesc:ga7c1396e5c95c766afccdb45cbfcf5971"><td class="mdescLeft">&#160;</td><td class="mdescRight">Максимальное количество кандидатов для обучения <br /></td></tr>
<tr class="memitem:gae6d1db3c0b21f67cb0db2673d207b62c" id="r_gae6d1db3c0b21f67cb0db2673d207b62c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gae6d1db3c0b21f67cb0db2673d207b62c">GEN_OPTIMIZATION_ENABLE</a></td></tr>
<tr class="memdesc:gae6d1db3c0b21f67cb0db2673d207b62c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Включить оптимизацию параметров <br /></td></tr>
<tr class="memitem:ga8daf4b266a95353d580bd7946f47c0ab" id="r_ga8daf4b266a95353d580bd7946f47c0ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga8daf4b266a95353d580bd7946f47c0ab">GEN_MAX_PARAMS</a>&#160;&#160;&#160;20</td></tr>
<tr class="memdesc:ga8daf4b266a95353d580bd7946f47c0ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Максимальное количество параметров <br /></td></tr>
<tr class="memitem:ga201cffde04ebc6540869c74bd1dae869" id="r_ga201cffde04ebc6540869c74bd1dae869"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga201cffde04ebc6540869c74bd1dae869">GEN_MAX_CANDIDATES</a>&#160;&#160;&#160;100</td></tr>
<tr class="memdesc:ga201cffde04ebc6540869c74bd1dae869"><td class="mdescLeft">&#160;</td><td class="mdescRight">Максимальное количество кандидатов для обучения <br /></td></tr>
<tr class="memitem:ga67c3c54503b9bbd5d175ac46d37866d9" id="r_ga67c3c54503b9bbd5d175ac46d37866d9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga67c3c54503b9bbd5d175ac46d37866d9">BENCH_TIME_ENABLE</a></td></tr>
<tr class="memdesc:ga67c3c54503b9bbd5d175ac46d37866d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Включить бенч времени <br /></td></tr>
<tr class="memitem:ga74fdf777ceefa5e7d67120fbda4cde52" id="r_ga74fdf777ceefa5e7d67120fbda4cde52"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga74fdf777ceefa5e7d67120fbda4cde52">BENCH_TIME_MAX_CHANNELS</a>&#160;&#160;&#160;16</td></tr>
<tr class="memdesc:ga74fdf777ceefa5e7d67120fbda4cde52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Максимальное количество каналов измерения <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<p>Конфигурация однослойного персептрона и алгоритма обучения </p>
<p>Конфигурация генетического алгоритма обучения </p>
<a name="doc-define-members" id="doc-define-members"></a><h2 id="header-doc-define-members" class="groupheader">Macro Definition Documentation</h2>
<a id="ga2cac097081444a7a9b040f4b11550e47" name="ga2cac097081444a7a9b040f4b11550e47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2cac097081444a7a9b040f4b11550e47">&#9670;&#160;</a></span>ENABLE_EVOLVE_OPTIMIZATION</h2>
<a id="gae6d1db3c0b21f67cb0db2673d207b62c" name="gae6d1db3c0b21f67cb0db2673d207b62c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae6d1db3c0b21f67cb0db2673d207b62c">&#9670;&#160;</a></span>GEN_OPTIMIZATION_ENABLE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENABLE_EVOLVE_OPTIMIZATION</td>
<td class="memname">#define GEN_OPTIMIZATION_ENABLE</td>
</tr>
</table>
</div><div class="memdoc">
@ -144,14 +148,14 @@ Macros</h2></td></tr>
</div>
</div>
<a id="ga80d6162495fc3776d8902610657d4fee" name="ga80d6162495fc3776d8902610657d4fee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga80d6162495fc3776d8902610657d4fee">&#9670;&#160;</a></span>EVOLVE_MAX_PARAMS</h2>
<a id="ga8daf4b266a95353d580bd7946f47c0ab" name="ga8daf4b266a95353d580bd7946f47c0ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8daf4b266a95353d580bd7946f47c0ab">&#9670;&#160;</a></span>GEN_MAX_PARAMS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EVOLVE_MAX_PARAMS&#160;&#160;&#160;20</td>
<td class="memname">#define GEN_MAX_PARAMS&#160;&#160;&#160;20</td>
</tr>
</table>
</div><div class="memdoc">
@ -162,14 +166,14 @@ Macros</h2></td></tr>
</div>
</div>
<a id="ga7c1396e5c95c766afccdb45cbfcf5971" name="ga7c1396e5c95c766afccdb45cbfcf5971"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7c1396e5c95c766afccdb45cbfcf5971">&#9670;&#160;</a></span>EVOLVE_MAX_CANDIDATES</h2>
<a id="ga201cffde04ebc6540869c74bd1dae869" name="ga201cffde04ebc6540869c74bd1dae869"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga201cffde04ebc6540869c74bd1dae869">&#9670;&#160;</a></span>GEN_MAX_CANDIDATES</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EVOLVE_MAX_CANDIDATES&#160;&#160;&#160;100</td>
<td class="memname">#define GEN_MAX_CANDIDATES&#160;&#160;&#160;100</td>
</tr>
</table>
</div><div class="memdoc">
@ -178,6 +182,42 @@ Macros</h2></td></tr>
<p class="definition">Definition at line <a class="el" href="mylibs__config_8h_source.html#l00066">66</a> of file <a class="el" href="mylibs__config_8h_source.html">mylibs_config.h</a>.</p>
</div>
</div>
<a id="ga67c3c54503b9bbd5d175ac46d37866d9" name="ga67c3c54503b9bbd5d175ac46d37866d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga67c3c54503b9bbd5d175ac46d37866d9">&#9670;&#160;</a></span>BENCH_TIME_ENABLE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BENCH_TIME_ENABLE</td>
</tr>
</table>
</div><div class="memdoc">
<p>Включить бенч времени </p>
<p class="definition">Definition at line <a class="el" href="mylibs__config_8h_source.html#l00081">81</a> of file <a class="el" href="mylibs__config_8h_source.html">mylibs_config.h</a>.</p>
</div>
</div>
<a id="ga74fdf777ceefa5e7d67120fbda4cde52" name="ga74fdf777ceefa5e7d67120fbda4cde52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga74fdf777ceefa5e7d67120fbda4cde52">&#9670;&#160;</a></span>BENCH_TIME_MAX_CHANNELS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BENCH_TIME_MAX_CHANNELS&#160;&#160;&#160;16</td>
</tr>
</table>
</div><div class="memdoc">
<p>Максимальное количество каналов измерения </p>
<p class="definition">Definition at line <a class="el" href="mylibs__config_8h_source.html#l00082">82</a> of file <a class="el" href="mylibs__config_8h_source.html">mylibs_config.h</a>.</p>
</div>
</div>
</div><!-- contents -->

View File

@ -0,0 +1,8 @@
var group___g_e_n___c_o_n_f_i_g =
[
[ "GEN_OPTIMIZATION_ENABLE", "group___g_e_n___c_o_n_f_i_g.html#gae6d1db3c0b21f67cb0db2673d207b62c", null ],
[ "GEN_MAX_PARAMS", "group___g_e_n___c_o_n_f_i_g.html#ga8daf4b266a95353d580bd7946f47c0ab", null ],
[ "GEN_MAX_CANDIDATES", "group___g_e_n___c_o_n_f_i_g.html#ga201cffde04ebc6540869c74bd1dae869", null ],
[ "BENCH_TIME_ENABLE", "group___g_e_n___c_o_n_f_i_g.html#ga67c3c54503b9bbd5d175ac46d37866d9", null ],
[ "BENCH_TIME_MAX_CHANNELS", "group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52", null ]
];

View File

@ -1,4 +1,4 @@
<map id="Evolve configs" name="Evolve configs">
<area shape="rect" id="Node000001" title="Конфигурация однослойного персептрона и алгоритма обучения" alt="" coords="120,5,227,32"/>
<map id="Genetic configs" name="Genetic configs">
<area shape="rect" id="Node000001" title="Конфигурация генетического алгоритма обучения" alt="" coords="120,5,232,32"/>
<area shape="rect" id="Node000002" href="$group___m_y_l_i_b_s___c_o_n_f_i_g.html" title="Конфигурации для библиотек MyLibs." alt="" coords="5,5,72,32"/>
</map>

View File

@ -0,0 +1 @@
5f0295c96943053471a3de806e4b1afd

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: Evolve optimizer</title>
<title>MyLibs: Genetic optimizer</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -71,7 +71,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html','',''); });
$(function(){initNavTree('group___g_e_n___o_p_t_i_m_i_z_e_r.html','',''); });
</script>
<div id="container">
<div id="doc-content">
@ -97,27 +97,27 @@ $(function(){initNavTree('group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html','','');
</div>
<div class="header">
<div class="headertitle"><div class="title">Evolve optimizer <div class="ingroups"><a class="el" href="group___m_y_l_i_b_s___a_l_l.html">My Libs</a> &raquo; <a class="el" href="group___m_y_l_i_b_s___d_e_f_i_n_e_s.html">General Tools</a></div></div></div>
<div class="headertitle"><div class="title">Genetic optimizer <div class="ingroups"><a class="el" href="group___m_y_l_i_b_s___a_l_l.html">My Libs</a> &raquo; <a class="el" href="group___m_y_l_i_b_s___d_e_f_i_n_e_s.html">General Tools</a></div></div></div>
</div><!--header-->
<div class="contents">
<p>Библиотека для эволюционного подбора параметров
<a href="#details">More...</a></p>
<div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Collaboration diagram for Evolve optimizer:</div>
<div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Collaboration diagram for Genetic optimizer:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.png" border="0" usemap="#agroup______e__v__o__l__v__e______o__p__t__i__m__i__z__e__r" loading="lazy" alt=""/></div>
<map name="agroup______e__v__o__l__v__e______o__p__t__i__m__i__z__e__r" id="agroup______e__v__o__l__v__e______o__p__t__i__m__i__z__e__r">
<area shape="rect" title="Библиотека для эволюционного подбора параметров" alt="" coords="154,5,272,32"/>
<div class="center"><img src="group___g_e_n___o_p_t_i_m_i_z_e_r.png" border="0" usemap="#agroup______g__e__n______o__p__t__i__m__i__z__e__r" loading="lazy" alt=""/></div>
<map name="agroup______g__e__n______o__p__t__i__m__i__z__e__r" id="agroup______g__e__n______o__p__t__i__m__i__z__e__r">
<area shape="rect" title="Библиотека для эволюционного подбора параметров" alt="" coords="154,5,277,32"/>
<area shape="rect" href="group___m_y_l_i_b_s___d_e_f_i_n_e_s.html" title="Общие макросы и typedef&#39;ы, используемые по всему проекту" alt="" coords="5,5,106,32"/>
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-nested-classes" class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:EvolveOptimizer_5Ft" id="r_EvolveOptimizer_5Ft"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_evolve_optimizer__t.html">EvolveOptimizer_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Структура эволюционного оптимизатора <a href="struct_evolve_optimizer__t.html#details">More...</a><br /></td></tr>
<tr class="memitem:GenOptimizer_5Ft" id="r_GenOptimizer_5Ft"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_gen_optimizer__t.html">GenOptimizer_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Структура эволюционного оптимизатора <a href="struct_gen_optimizer__t.html#details">More...</a><br /></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-define-members" class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
@ -125,19 +125,19 @@ Macros</h2></td></tr>
<tr class="memdesc:ga83abbcabaff9111c03ae2475ee72ea3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Линейное масштабирование x из диапазона [min_val, max_val] в диапазон [0, 1) <br /></td></tr>
<tr class="memitem:gaa1d5510fe5f0bd989473f3ebe324bde3" id="r_gaa1d5510fe5f0bd989473f3ebe324bde3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaa1d5510fe5f0bd989473f3ebe324bde3">PARAM_UNSCALE</a>(val, min_val, max_val)</td></tr>
<tr class="memdesc:gaa1d5510fe5f0bd989473f3ebe324bde3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Обратное линейное масштабирование значения из [0, 1) в диапазон [min_val, max_val]. <br /></td></tr>
<tr class="memitem:ga2f2b1be34ad4eb1bf3267237200cd6c6" id="r_ga2f2b1be34ad4eb1bf3267237200cd6c6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga2f2b1be34ad4eb1bf3267237200cd6c6">EVOLVE_MUTATION_MIN_PCT</a>&#160;&#160;&#160;10</td></tr>
<tr class="memdesc:ga2f2b1be34ad4eb1bf3267237200cd6c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Минимальная мутация (в процентах от Loss) <br /></td></tr>
<tr class="memitem:ga861c1c6a503c21441abcec0d57b848bc" id="r_ga861c1c6a503c21441abcec0d57b848bc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga861c1c6a503c21441abcec0d57b848bc">EVOLVE_MUTATION_MAX_PCT</a>&#160;&#160;&#160;100</td></tr>
<tr class="memdesc:ga861c1c6a503c21441abcec0d57b848bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Максимальная мутация (в процентах от Loss) <br /></td></tr>
<tr class="memitem:ga3db7bdf57549722427e1e72dcaa87068" id="r_ga3db7bdf57549722427e1e72dcaa87068"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga3db7bdf57549722427e1e72dcaa87068">GEN_MUTATION_MIN_PCT</a>&#160;&#160;&#160;10</td></tr>
<tr class="memdesc:ga3db7bdf57549722427e1e72dcaa87068"><td class="mdescLeft">&#160;</td><td class="mdescRight">Минимальная мутация (в процентах от Loss) <br /></td></tr>
<tr class="memitem:ga48dca8f0a0c9b96d02236ef76ac827fd" id="r_ga48dca8f0a0c9b96d02236ef76ac827fd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga48dca8f0a0c9b96d02236ef76ac827fd">GEN_MUTATION_MAX_PCT</a>&#160;&#160;&#160;100</td></tr>
<tr class="memdesc:ga48dca8f0a0c9b96d02236ef76ac827fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Максимальная мутация (в процентах от Loss) <br /></td></tr>
<tr class="memitem:ga38607e23d9234524bc7de5869b15b8eb" id="r_ga38607e23d9234524bc7de5869b15b8eb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga38607e23d9234524bc7de5869b15b8eb">ELOVLE_N_ELITE_CANDIDATE</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:ga38607e23d9234524bc7de5869b15b8eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Количество кандидатов, которые проходят в поколение без изменений (по умолчанию 2) <br /></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga4e3ea118b5b9068619c57724a925ba21" id="r_ga4e3ea118b5b9068619c57724a925ba21"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga4e3ea118b5b9068619c57724a925ba21">EvolveOptimizer_Init</a> (<a class="el" href="struct_evolve_optimizer__t.html">EvolveOptimizer_t</a> *opt, uint16_t n_params, uint16_t n_cand, uint16_t n_best, float mutation_amp, float *start_params)</td></tr>
<tr class="memdesc:ga4e3ea118b5b9068619c57724a925ba21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Инициализация эволюционного оптимизатора. <br /></td></tr>
<tr class="memitem:gaef44a1f3298514569cc2b396a92101ef" id="r_gaef44a1f3298514569cc2b396a92101ef"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaef44a1f3298514569cc2b396a92101ef">EvolveOptimizer_Step</a> (<a class="el" href="struct_evolve_optimizer__t.html">EvolveOptimizer_t</a> *opt, float *params, float loss)</td></tr>
<tr class="memdesc:gaef44a1f3298514569cc2b396a92101ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Один шаг эволюционного оптимизатора. <br /></td></tr>
<tr class="memitem:ga2db1df46b4082ad9280ef4344fdf4e8a" id="r_ga2db1df46b4082ad9280ef4344fdf4e8a"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga2db1df46b4082ad9280ef4344fdf4e8a">GenOptimizer_Init</a> (<a class="el" href="struct_gen_optimizer__t.html">GenOptimizer_t</a> *opt, uint16_t n_params, uint16_t n_cand, uint16_t n_best, float mutation_amp, float *start_params)</td></tr>
<tr class="memdesc:ga2db1df46b4082ad9280ef4344fdf4e8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Инициализация эволюционного оптимизатора. <br /></td></tr>
<tr class="memitem:gaa9a4c4f43f7beb926c85bd4817ebd628" id="r_gaa9a4c4f43f7beb926c85bd4817ebd628"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaa9a4c4f43f7beb926c85bd4817ebd628">GenOptimizer_Step</a> (<a class="el" href="struct_gen_optimizer__t.html">GenOptimizer_t</a> *opt, float *params, float loss)</td></tr>
<tr class="memdesc:gaa9a4c4f43f7beb926c85bd4817ebd628"><td class="mdescLeft">&#160;</td><td class="mdescRight">Один шаг эволюционного оптимизатора. <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<p>Библиотека для эволюционного подбора параметров </p>
@ -148,20 +148,20 @@ Functions</h2></td></tr>
<li>Несколько независимых оптимизаторов в одной программе</li>
</ul>
<p>Параметры для конфигурации:</p><ul>
<li><a class="el" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga2cac097081444a7a9b040f4b11550e47">ENABLE_EVOLVE_OPTIMIZATION</a> - Включить оптимизацию параметров Если библиотека отключена <a class="el" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga2cac097081444a7a9b040f4b11550e47">ENABLE_EVOLVE_OPTIMIZATION</a>, то вставляются заглушки, никак не влияющие на параметры и остальную программу</li>
<li><a class="el" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga80d6162495fc3776d8902610657d4fee">EVOLVE_MAX_PARAMS</a> - Максимальное количество параметров</li>
<li><a class="el" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga7c1396e5c95c766afccdb45cbfcf5971">EVOLVE_MAX_CANDIDATES</a> - Максимальное количество кандидатов для обучения</li>
<li>(опционально) <a class="el" href="#ga2f2b1be34ad4eb1bf3267237200cd6c6">EVOLVE_MUTATION_MIN_PCT</a> - Минимальная мутация в процентах от Loss (по умолчанию 10%)</li>
<li>(опционально) <a class="el" href="#ga861c1c6a503c21441abcec0d57b848bc">EVOLVE_MUTATION_MAX_PCT</a> - Максимальная мутация в процентах от Loss (по умолчанию 100%)</li>
<li><a class="el" href="group___g_e_n___c_o_n_f_i_g.html#gae6d1db3c0b21f67cb0db2673d207b62c">GEN_OPTIMIZATION_ENABLE</a> - Включить оптимизацию параметров Если библиотека отключена <a class="el" href="group___g_e_n___c_o_n_f_i_g.html#gae6d1db3c0b21f67cb0db2673d207b62c">GEN_OPTIMIZATION_ENABLE</a>, то вставляются заглушки, никак не влияющие на параметры и остальную программу</li>
<li><a class="el" href="group___g_e_n___c_o_n_f_i_g.html#ga8daf4b266a95353d580bd7946f47c0ab">GEN_MAX_PARAMS</a> - Максимальное количество параметров</li>
<li><a class="el" href="group___g_e_n___c_o_n_f_i_g.html#ga201cffde04ebc6540869c74bd1dae869">GEN_MAX_CANDIDATES</a> - Максимальное количество кандидатов для обучения</li>
<li>(опционально) <a class="el" href="#ga3db7bdf57549722427e1e72dcaa87068">GEN_MUTATION_MIN_PCT</a> - Минимальная мутация в процентах от Loss (по умолчанию 10%)</li>
<li>(опционально) <a class="el" href="#ga48dca8f0a0c9b96d02236ef76ac827fd">GEN_MUTATION_MAX_PCT</a> - Максимальная мутация в процентах от Loss (по умолчанию 100%)</li>
<li>(опционально) <a class="el" href="#ga38607e23d9234524bc7de5869b15b8eb">ELOVLE_N_ELITE_CANDIDATE</a> - Количество кандидатов, которые проходят в поколение без изменений</li>
</ul>
<dl class="section user"><dt>Пример использования:</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="evolve__optimizer_8h.html">evolve_optimizer.h</a>&quot;</span></div>
<dl class="section user"><dt>Пример использования:</dt><dd><div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="gen__optimizer_8h.html">gen_optimizer.h</a>&quot;</span></div>
<div class="line"><span class="preprocessor">#define N_PARAMS 4</span></div>
<div class="line"><span class="preprocessor">#define N_CANDIDATES 100</span></div>
<div class="line"><span class="preprocessor">#define N_BEST 10</span></div>
<div class="line"><span class="preprocessor">#define MUTATION 0.1f</span></div>
<div class="line"><span class="keywordtype">float</span> params[N_PARAMS];</div>
<div class="line"><a class="code hl_struct" href="struct_evolve_optimizer__t.html">EvolveOptimizer_t</a> optimizer;</div>
<div class="line"><a class="code hl_struct" href="struct_gen_optimizer__t.html">GenOptimizer_t</a> optimizer;</div>
<div class="line"> </div>
<div class="line"><span class="comment">// Формирование параметров</span></div>
<div class="line">uint16_t param_u16 = 800;</div>
@ -174,23 +174,23 @@ Functions</h2></td></tr>
<div class="line">params[3] = <a class="code hl_define" href="#ga83abbcabaff9111c03ae2475ee72ea3e">PARAM_SCALE</a>(param_i16, 500.0f, 5000.0f);</div>
<div class="line"> </div>
<div class="line"><span class="comment">// Инициалиазция</span></div>
<div class="line"><a class="code hl_function" href="#ga4e3ea118b5b9068619c57724a925ba21">EvolveOptimizer_Init</a>(&amp;optimizer, N_PARAMS, N_CANDIDATES, N_BEST, MUTATION, params);</div>
<div class="line"><a class="code hl_function" href="#ga2db1df46b4082ad9280ef4344fdf4e8a">GenOptimizer_Init</a>(&amp;optimizer, N_PARAMS, N_CANDIDATES, N_BEST, MUTATION, params);</div>
<div class="line"> </div>
<div class="line"><span class="comment">// Шаг эволюции</span></div>
<div class="line"><span class="keywordtype">float</span> loss = calc_loss(); <span class="comment">// расчет эффективности параметров (от 0 до 1)</span></div>
<div class="line"><a class="code hl_function" href="#gaef44a1f3298514569cc2b396a92101ef">EvolveOptimizer_Step</a>(&amp;optimizer, params, loss);</div>
<div class="line"><a class="code hl_function" href="#gaa9a4c4f43f7beb926c85bd4817ebd628">GenOptimizer_Step</a>(&amp;optimizer, params, loss);</div>
<div class="line"> </div>
<div class="line"><span class="comment">// Взятие следующих для эволюции параметров</span></div>
<div class="line">param_u16 = <a class="code hl_define" href="#gaa1d5510fe5f0bd989473f3ebe324bde3">PARAM_UNSCALE</a>(params[0], 0.0f, 1000.0f);</div>
<div class="line">param_f = <a class="code hl_define" href="#gaa1d5510fe5f0bd989473f3ebe324bde3">PARAM_UNSCALE</a>(params[1], 0.001f, 0.1f);</div>
<div class="line">param_u8 = <a class="code hl_define" href="#gaa1d5510fe5f0bd989473f3ebe324bde3">PARAM_UNSCALE</a>(params[2], 10.0f, 100.0f);</div>
<div class="line">param_i16 = <a class="code hl_define" href="#gaa1d5510fe5f0bd989473f3ebe324bde3">PARAM_UNSCALE</a>(params[3], 500.0f, 5000.0f);</div>
<div class="ttc" id="aevolve__optimizer_8h_html"><div class="ttname"><a href="evolve__optimizer_8h.html">evolve_optimizer.h</a></div><div class="ttdoc">Заголовочный файл для адаптивного подбора параметров</div></div>
<div class="ttc" id="agroup___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r_html_ga4e3ea118b5b9068619c57724a925ba21"><div class="ttname"><a href="#ga4e3ea118b5b9068619c57724a925ba21">EvolveOptimizer_Init</a></div><div class="ttdeci">__STATIC_INLINE int EvolveOptimizer_Init(EvolveOptimizer_t *opt, uint16_t n_params, uint16_t n_cand, uint16_t n_best, float mutation_amp, float *start_params)</div><div class="ttdoc">Инициализация эволюционного оптимизатора.</div><div class="ttdef"><b>Definition</b> <a href="evolve__optimizer_8h_source.html#l00155">evolve_optimizer.h:155</a></div></div>
<div class="ttc" id="agroup___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r_html_ga83abbcabaff9111c03ae2475ee72ea3e"><div class="ttname"><a href="#ga83abbcabaff9111c03ae2475ee72ea3e">PARAM_SCALE</a></div><div class="ttdeci">#define PARAM_SCALE(x, min_val, max_val)</div><div class="ttdoc">Линейное масштабирование x из диапазона [min_val, max_val] в диапазон [0, 1)</div><div class="ttdef"><b>Definition</b> <a href="evolve__optimizer_8h_source.html#l00073">evolve_optimizer.h:73</a></div></div>
<div class="ttc" id="agroup___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r_html_gaa1d5510fe5f0bd989473f3ebe324bde3"><div class="ttname"><a href="#gaa1d5510fe5f0bd989473f3ebe324bde3">PARAM_UNSCALE</a></div><div class="ttdeci">#define PARAM_UNSCALE(val, min_val, max_val)</div><div class="ttdoc">Обратное линейное масштабирование значения из [0, 1) в диапазон [min_val, max_val].</div><div class="ttdef"><b>Definition</b> <a href="evolve__optimizer_8h_source.html#l00079">evolve_optimizer.h:79</a></div></div>
<div class="ttc" id="agroup___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r_html_gaef44a1f3298514569cc2b396a92101ef"><div class="ttname"><a href="#gaef44a1f3298514569cc2b396a92101ef">EvolveOptimizer_Step</a></div><div class="ttdeci">__STATIC_INLINE int EvolveOptimizer_Step(EvolveOptimizer_t *opt, float *params, float loss)</div><div class="ttdoc">Один шаг эволюционного оптимизатора.</div><div class="ttdef"><b>Definition</b> <a href="evolve__optimizer_8h_source.html#l00225">evolve_optimizer.h:225</a></div></div>
<div class="ttc" id="astruct_evolve_optimizer__t_html"><div class="ttname"><a href="struct_evolve_optimizer__t.html">EvolveOptimizer_t</a></div><div class="ttdoc">Структура эволюционного оптимизатора</div><div class="ttdef"><b>Definition</b> <a href="evolve__optimizer_8h_source.html#l00102">evolve_optimizer.h:102</a></div></div>
<div class="ttc" id="agen__optimizer_8h_html"><div class="ttname"><a href="gen__optimizer_8h.html">gen_optimizer.h</a></div><div class="ttdoc">Заголовочный файл для адаптивного подбора параметров</div></div>
<div class="ttc" id="agroup___g_e_n___o_p_t_i_m_i_z_e_r_html_ga2db1df46b4082ad9280ef4344fdf4e8a"><div class="ttname"><a href="#ga2db1df46b4082ad9280ef4344fdf4e8a">GenOptimizer_Init</a></div><div class="ttdeci">static int GenOptimizer_Init(GenOptimizer_t *opt, uint16_t n_params, uint16_t n_cand, uint16_t n_best, float mutation_amp, float *start_params)</div><div class="ttdoc">Инициализация эволюционного оптимизатора.</div><div class="ttdef"><b>Definition</b> <a href="gen__optimizer_8h_source.html#l00155">gen_optimizer.h:155</a></div></div>
<div class="ttc" id="agroup___g_e_n___o_p_t_i_m_i_z_e_r_html_ga83abbcabaff9111c03ae2475ee72ea3e"><div class="ttname"><a href="#ga83abbcabaff9111c03ae2475ee72ea3e">PARAM_SCALE</a></div><div class="ttdeci">#define PARAM_SCALE(x, min_val, max_val)</div><div class="ttdoc">Линейное масштабирование x из диапазона [min_val, max_val] в диапазон [0, 1)</div><div class="ttdef"><b>Definition</b> <a href="gen__optimizer_8h_source.html#l00073">gen_optimizer.h:73</a></div></div>
<div class="ttc" id="agroup___g_e_n___o_p_t_i_m_i_z_e_r_html_gaa1d5510fe5f0bd989473f3ebe324bde3"><div class="ttname"><a href="#gaa1d5510fe5f0bd989473f3ebe324bde3">PARAM_UNSCALE</a></div><div class="ttdeci">#define PARAM_UNSCALE(val, min_val, max_val)</div><div class="ttdoc">Обратное линейное масштабирование значения из [0, 1) в диапазон [min_val, max_val].</div><div class="ttdef"><b>Definition</b> <a href="gen__optimizer_8h_source.html#l00079">gen_optimizer.h:79</a></div></div>
<div class="ttc" id="agroup___g_e_n___o_p_t_i_m_i_z_e_r_html_gaa9a4c4f43f7beb926c85bd4817ebd628"><div class="ttname"><a href="#gaa9a4c4f43f7beb926c85bd4817ebd628">GenOptimizer_Step</a></div><div class="ttdeci">static int GenOptimizer_Step(GenOptimizer_t *opt, float *params, float loss)</div><div class="ttdoc">Один шаг эволюционного оптимизатора.</div><div class="ttdef"><b>Definition</b> <a href="gen__optimizer_8h_source.html#l00225">gen_optimizer.h:225</a></div></div>
<div class="ttc" id="astruct_gen_optimizer__t_html"><div class="ttname"><a href="struct_gen_optimizer__t.html">GenOptimizer_t</a></div><div class="ttdoc">Структура эволюционного оптимизатора</div><div class="ttdef"><b>Definition</b> <a href="gen__optimizer_8h_source.html#l00102">gen_optimizer.h:102</a></div></div>
</div><!-- fragment --> </dd></dl>
<a name="doc-define-members" id="doc-define-members"></a><h2 id="header-doc-define-members" class="groupheader">Macro Definition Documentation</h2>
<a id="ga83abbcabaff9111c03ae2475ee72ea3e" name="ga83abbcabaff9111c03ae2475ee72ea3e"></a>
@ -220,7 +220,7 @@ Functions</h2></td></tr>
</div><!-- fragment -->
<p>Линейное масштабирование x из диапазона [min_val, max_val] в диапазон [0, 1) </p>
<p class="definition">Definition at line <a class="el" href="evolve__optimizer_8h_source.html#l00073">73</a> of file <a class="el" href="evolve__optimizer_8h_source.html">evolve_optimizer.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="gen__optimizer_8h_source.html#l00073">73</a> of file <a class="el" href="gen__optimizer_8h_source.html">gen_optimizer.h</a>.</p>
</div>
</div>
@ -251,43 +251,43 @@ Functions</h2></td></tr>
</div><!-- fragment -->
<p>Обратное линейное масштабирование значения из [0, 1) в диапазон [min_val, max_val]. </p>
<p class="definition">Definition at line <a class="el" href="evolve__optimizer_8h_source.html#l00079">79</a> of file <a class="el" href="evolve__optimizer_8h_source.html">evolve_optimizer.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="gen__optimizer_8h_source.html#l00079">79</a> of file <a class="el" href="gen__optimizer_8h_source.html">gen_optimizer.h</a>.</p>
</div>
</div>
<a id="ga2f2b1be34ad4eb1bf3267237200cd6c6" name="ga2f2b1be34ad4eb1bf3267237200cd6c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2f2b1be34ad4eb1bf3267237200cd6c6">&#9670;&#160;</a></span>EVOLVE_MUTATION_MIN_PCT</h2>
<a id="ga3db7bdf57549722427e1e72dcaa87068" name="ga3db7bdf57549722427e1e72dcaa87068"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3db7bdf57549722427e1e72dcaa87068">&#9670;&#160;</a></span>GEN_MUTATION_MIN_PCT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EVOLVE_MUTATION_MIN_PCT&#160;&#160;&#160;10</td>
<td class="memname">#define GEN_MUTATION_MIN_PCT&#160;&#160;&#160;10</td>
</tr>
</table>
</div><div class="memdoc">
<p>Минимальная мутация (в процентах от Loss) </p>
<p class="definition">Definition at line <a class="el" href="evolve__optimizer_8h_source.html#l00089">89</a> of file <a class="el" href="evolve__optimizer_8h_source.html">evolve_optimizer.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="gen__optimizer_8h_source.html#l00089">89</a> of file <a class="el" href="gen__optimizer_8h_source.html">gen_optimizer.h</a>.</p>
</div>
</div>
<a id="ga861c1c6a503c21441abcec0d57b848bc" name="ga861c1c6a503c21441abcec0d57b848bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga861c1c6a503c21441abcec0d57b848bc">&#9670;&#160;</a></span>EVOLVE_MUTATION_MAX_PCT</h2>
<a id="ga48dca8f0a0c9b96d02236ef76ac827fd" name="ga48dca8f0a0c9b96d02236ef76ac827fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga48dca8f0a0c9b96d02236ef76ac827fd">&#9670;&#160;</a></span>GEN_MUTATION_MAX_PCT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EVOLVE_MUTATION_MAX_PCT&#160;&#160;&#160;100</td>
<td class="memname">#define GEN_MUTATION_MAX_PCT&#160;&#160;&#160;100</td>
</tr>
</table>
</div><div class="memdoc">
<p>Максимальная мутация (в процентах от Loss) </p>
<p class="definition">Definition at line <a class="el" href="evolve__optimizer_8h_source.html#l00092">92</a> of file <a class="el" href="evolve__optimizer_8h_source.html">evolve_optimizer.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="gen__optimizer_8h_source.html#l00092">92</a> of file <a class="el" href="gen__optimizer_8h_source.html">gen_optimizer.h</a>.</p>
</div>
</div>
@ -305,21 +305,24 @@ Functions</h2></td></tr>
<p>Количество кандидатов, которые проходят в поколение без изменений (по умолчанию 2) </p>
<p class="definition">Definition at line <a class="el" href="evolve__optimizer_8h_source.html#l00095">95</a> of file <a class="el" href="evolve__optimizer_8h_source.html">evolve_optimizer.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="gen__optimizer_8h_source.html#l00095">95</a> of file <a class="el" href="gen__optimizer_8h_source.html">gen_optimizer.h</a>.</p>
</div>
</div>
<a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
<a id="ga4e3ea118b5b9068619c57724a925ba21" name="ga4e3ea118b5b9068619c57724a925ba21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4e3ea118b5b9068619c57724a925ba21">&#9670;&#160;</a></span>EvolveOptimizer_Init()</h2>
<a id="ga2db1df46b4082ad9280ef4344fdf4e8a" name="ga2db1df46b4082ad9280ef4344fdf4e8a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2db1df46b4082ad9280ef4344fdf4e8a">&#9670;&#160;</a></span>GenOptimizer_Init()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">__STATIC_INLINE int EvolveOptimizer_Init </td>
<td class="memname">int GenOptimizer_Init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_evolve_optimizer__t.html">EvolveOptimizer_t</a> *</td> <td class="paramname"><span class="paramname"><em>opt</em></span>, </td>
<td class="paramtype"><a class="el" href="struct_gen_optimizer__t.html">GenOptimizer_t</a> *</td> <td class="paramname"><span class="paramname"><em>opt</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@ -347,6 +350,11 @@ Functions</h2></td></tr>
<td class="paramtype">float *</td> <td class="paramname"><span class="paramname"><em>start_params</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Инициализация эволюционного оптимизатора. </p>
@ -363,20 +371,23 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 — если окей, -1 — если ошибка </dd></dl>
<p class="definition">Definition at line <a class="el" href="evolve__optimizer_8h_source.html#l00155">155</a> of file <a class="el" href="evolve__optimizer_8h_source.html">evolve_optimizer.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="gen__optimizer_8h_source.html#l00155">155</a> of file <a class="el" href="gen__optimizer_8h_source.html">gen_optimizer.h</a>.</p>
</div>
</div>
<a id="gaef44a1f3298514569cc2b396a92101ef" name="gaef44a1f3298514569cc2b396a92101ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaef44a1f3298514569cc2b396a92101ef">&#9670;&#160;</a></span>EvolveOptimizer_Step()</h2>
<a id="gaa9a4c4f43f7beb926c85bd4817ebd628" name="gaa9a4c4f43f7beb926c85bd4817ebd628"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa9a4c4f43f7beb926c85bd4817ebd628">&#9670;&#160;</a></span>GenOptimizer_Step()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">__STATIC_INLINE int EvolveOptimizer_Step </td>
<td class="memname">int GenOptimizer_Step </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_evolve_optimizer__t.html">EvolveOptimizer_t</a> *</td> <td class="paramname"><span class="paramname"><em>opt</em></span>, </td>
<td class="paramtype"><a class="el" href="struct_gen_optimizer__t.html">GenOptimizer_t</a> *</td> <td class="paramname"><span class="paramname"><em>opt</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@ -389,6 +400,11 @@ Functions</h2></td></tr>
<td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>loss</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Один шаг эволюционного оптимизатора. </p>
@ -404,7 +420,7 @@ Functions</h2></td></tr>
<p>Сохраняет loss текущего кандидата и формирует параметры следующего кандидата. Если накоплено n_cand кандидатов, генерируется новое поколение. Новое поколение формируется случайным выбором из n_best лучших с добавлением мутации.</p>
<p>На выходе params содержит параметры следующего кандидата для измерений. </p><dl class="section note"><dt>Note</dt><dd>Функция использует глобальную внутреннюю переменную для сортировки. Надо убедится что только один экземпляр функции запущен в момент времени </dd></dl>
<p class="definition">Definition at line <a class="el" href="evolve__optimizer_8h_source.html#l00225">225</a> of file <a class="el" href="evolve__optimizer_8h_source.html">evolve_optimizer.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="gen__optimizer_8h_source.html#l00225">225</a> of file <a class="el" href="gen__optimizer_8h_source.html">gen_optimizer.h</a>.</p>
</div>
</div>

View File

@ -0,0 +1,23 @@
var group___g_e_n___o_p_t_i_m_i_z_e_r =
[
[ "GenOptimizer_t", "struct_gen_optimizer__t.html", [
[ "stability", "struct_gen_optimizer__t.html#abe0aacea949fbe93e5d4c002e37d7192", null ],
[ "n_params", "struct_gen_optimizer__t.html#afe598a90024a8aa628dd16f3a2b38eb5", null ],
[ "n_cand", "struct_gen_optimizer__t.html#a9e20d2f6f39a5147e6dbac46baca73a9", null ],
[ "n_best", "struct_gen_optimizer__t.html#a8201f1eede36a2c04ec7b4caac7465c9", null ],
[ "mutation_amp", "struct_gen_optimizer__t.html#ad4dc0e53b3ca6bf2a642dfe7a1d1f26c", null ],
[ "cand_index", "struct_gen_optimizer__t.html#a04a72c1a13e17581e84eaaf3d245bbfc", null ],
[ "gen_index", "struct_gen_optimizer__t.html#a8f226c85e9bb034cb811aa0366bb191c", null ],
[ "gen_mut", "struct_gen_optimizer__t.html#acfeb93ef4823e09473ddba52fae9a6b1", null ],
[ "loss", "struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73", null ],
[ "candidates", "struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df", null ],
[ "sorted_idx", "struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12", null ]
] ],
[ "PARAM_SCALE", "group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga83abbcabaff9111c03ae2475ee72ea3e", null ],
[ "PARAM_UNSCALE", "group___g_e_n___o_p_t_i_m_i_z_e_r.html#gaa1d5510fe5f0bd989473f3ebe324bde3", null ],
[ "GEN_MUTATION_MIN_PCT", "group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga3db7bdf57549722427e1e72dcaa87068", null ],
[ "GEN_MUTATION_MAX_PCT", "group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga48dca8f0a0c9b96d02236ef76ac827fd", null ],
[ "ELOVLE_N_ELITE_CANDIDATE", "group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga38607e23d9234524bc7de5869b15b8eb", null ],
[ "GenOptimizer_Init", "group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga2db1df46b4082ad9280ef4344fdf4e8a", null ],
[ "GenOptimizer_Step", "group___g_e_n___o_p_t_i_m_i_z_e_r.html#gaa9a4c4f43f7beb926c85bd4817ebd628", null ]
];

View File

@ -1,4 +1,4 @@
<map id="Evolve optimizer" name="Evolve optimizer">
<area shape="rect" id="Node000001" title="Библиотека для эволюционного подбора параметров" alt="" coords="154,5,272,32"/>
<map id="Genetic optimizer" name="Genetic optimizer">
<area shape="rect" id="Node000001" title="Библиотека для эволюционного подбора параметров" alt="" coords="154,5,277,32"/>
<area shape="rect" id="Node000002" href="$group___m_y_l_i_b_s___d_e_f_i_n_e_s.html" title="Общие макросы и typedef&#39;ы, используемые по всему проекту" alt="" coords="5,5,106,32"/>
</map>

View File

@ -0,0 +1 @@
ec124a446898cfdeeba090736e9d2802

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -118,8 +118,8 @@ $(function(){initNavTree('group___l_i_b_s___c_o_n_f_i_g.html','',''); });
Macros</h2></td></tr>
<tr class="memitem:ga9c853b02c22f26023c34d1d404b6d653" id="r_ga9c853b02c22f26023c34d1d404b6d653"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga9c853b02c22f26023c34d1d404b6d653">local_time</a>()</td></tr>
<tr class="memdesc:ga9c853b02c22f26023c34d1d404b6d653"><td class="mdescLeft">&#160;</td><td class="mdescRight">Локальное время <br /></td></tr>
<tr class="memitem:ga66560656d080d6551627a19dfb847c66" id="r_ga66560656d080d6551627a19dfb847c66"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga66560656d080d6551627a19dfb847c66">INCLUDE_EVOLVE_OPTIMIZER</a></td></tr>
<tr class="memdesc:ga66560656d080d6551627a19dfb847c66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Подключить библиотеку для оптимизации параметров <br /></td></tr>
<tr class="memitem:ga3cdc9ef47fd3ff080d38481295327692" id="r_ga3cdc9ef47fd3ff080d38481295327692"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga3cdc9ef47fd3ff080d38481295327692">INCLUDE_GEN_OPTIMIZER</a></td></tr>
<tr class="memdesc:ga3cdc9ef47fd3ff080d38481295327692"><td class="mdescLeft">&#160;</td><td class="mdescRight">Подключить библиотеку для оптимизации параметров <br /></td></tr>
<tr class="memitem:gaf4ddb2a71ec0d05c2480e197cd17c0be" id="r_gaf4ddb2a71ec0d05c2480e197cd17c0be"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaf4ddb2a71ec0d05c2480e197cd17c0be">INCLUDE_BIT_ACCESS_LIB</a></td></tr>
<tr class="memdesc:gaf4ddb2a71ec0d05c2480e197cd17c0be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Подключить библиотеку с typedef с битовыми полями <br /></td></tr>
<tr class="memitem:ga4403055986b70bb02b8d37073a122e32" id="r_ga4403055986b70bb02b8d37073a122e32"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga4403055986b70bb02b8d37073a122e32">INCLUDE_TRACKERS_LIB</a></td></tr>
@ -152,25 +152,25 @@ Macros</h2></td></tr>
</div><!-- fragment -->
<p>Локальное время </p>
<p class="definition">Definition at line <a class="el" href="mylibs__config_8h_source.html#l00080">80</a> of file <a class="el" href="mylibs__config_8h_source.html">mylibs_config.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="mylibs__config_8h_source.html#l00097">97</a> of file <a class="el" href="mylibs__config_8h_source.html">mylibs_config.h</a>.</p>
</div>
</div>
<a id="ga66560656d080d6551627a19dfb847c66" name="ga66560656d080d6551627a19dfb847c66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga66560656d080d6551627a19dfb847c66">&#9670;&#160;</a></span>INCLUDE_EVOLVE_OPTIMIZER</h2>
<a id="ga3cdc9ef47fd3ff080d38481295327692" name="ga3cdc9ef47fd3ff080d38481295327692"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3cdc9ef47fd3ff080d38481295327692">&#9670;&#160;</a></span>INCLUDE_GEN_OPTIMIZER</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define INCLUDE_EVOLVE_OPTIMIZER</td>
<td class="memname">#define INCLUDE_GEN_OPTIMIZER</td>
</tr>
</table>
</div><div class="memdoc">
<p>Подключить библиотеку для оптимизации параметров </p>
<p class="definition">Definition at line <a class="el" href="mylibs__config_8h_source.html#l00082">82</a> of file <a class="el" href="mylibs__config_8h_source.html">mylibs_config.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="mylibs__config_8h_source.html#l00099">99</a> of file <a class="el" href="mylibs__config_8h_source.html">mylibs_config.h</a>.</p>
</div>
</div>
@ -188,7 +188,7 @@ Macros</h2></td></tr>
<p>Подключить библиотеку с typedef с битовыми полями </p>
<p class="definition">Definition at line <a class="el" href="mylibs__config_8h_source.html#l00083">83</a> of file <a class="el" href="mylibs__config_8h_source.html">mylibs_config.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="mylibs__config_8h_source.html#l00100">100</a> of file <a class="el" href="mylibs__config_8h_source.html">mylibs_config.h</a>.</p>
</div>
</div>
@ -206,7 +206,7 @@ Macros</h2></td></tr>
<p>Подключить библиотеку с трекерами </p>
<p class="definition">Definition at line <a class="el" href="mylibs__config_8h_source.html#l00084">84</a> of file <a class="el" href="mylibs__config_8h_source.html">mylibs_config.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="mylibs__config_8h_source.html#l00101">101</a> of file <a class="el" href="mylibs__config_8h_source.html">mylibs_config.h</a>.</p>
</div>
</div>
@ -224,7 +224,7 @@ Macros</h2></td></tr>
<p>Подключить библиотеку с трейсами </p>
<p class="definition">Definition at line <a class="el" href="mylibs__config_8h_source.html#l00085">85</a> of file <a class="el" href="mylibs__config_8h_source.html">mylibs_config.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="mylibs__config_8h_source.html#l00102">102</a> of file <a class="el" href="mylibs__config_8h_source.html">mylibs_config.h</a>.</p>
</div>
</div>
@ -242,7 +242,7 @@ Macros</h2></td></tr>
<p>Подключить библиотеку с периферией </p>
<p class="definition">Definition at line <a class="el" href="mylibs__config_8h_source.html#l00086">86</a> of file <a class="el" href="mylibs__config_8h_source.html">mylibs_config.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="mylibs__config_8h_source.html#l00103">103</a> of file <a class="el" href="mylibs__config_8h_source.html">mylibs_config.h</a>.</p>
</div>
</div>
@ -260,7 +260,7 @@ Macros</h2></td></tr>
<p>Использовать FreeRTOS задержку, вместо HAL. </p>
<p class="definition">Definition at line <a class="el" href="mylibs__config_8h_source.html#l00087">87</a> of file <a class="el" href="mylibs__config_8h_source.html">mylibs_config.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="mylibs__config_8h_source.html#l00104">104</a> of file <a class="el" href="mylibs__config_8h_source.html">mylibs_config.h</a>.</p>
</div>
</div>

View File

@ -1,7 +1,7 @@
var group___l_i_b_s___c_o_n_f_i_g =
[
[ "local_time", "group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653", null ],
[ "INCLUDE_EVOLVE_OPTIMIZER", "group___l_i_b_s___c_o_n_f_i_g.html#ga66560656d080d6551627a19dfb847c66", null ],
[ "INCLUDE_GEN_OPTIMIZER", "group___l_i_b_s___c_o_n_f_i_g.html#ga3cdc9ef47fd3ff080d38481295327692", null ],
[ "INCLUDE_BIT_ACCESS_LIB", "group___l_i_b_s___c_o_n_f_i_g.html#gaf4ddb2a71ec0d05c2480e197cd17c0be", null ],
[ "INCLUDE_TRACKERS_LIB", "group___l_i_b_s___c_o_n_f_i_g.html#ga4403055986b70bb02b8d37073a122e32", null ],
[ "INCLUDE_TRACE_LIB", "group___l_i_b_s___c_o_n_f_i_g.html#ga0a3ca94b616997069dd53e2c6c2687d7", null ],

View File

@ -109,7 +109,7 @@ $(function(){initNavTree('group___m_y_l_i_b_s___c_o_n_f_i_g.html','',''); });
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="group___m_y_l_i_b_s___c_o_n_f_i_g.png" border="0" usemap="#agroup______m__y__l__i__b__s______c__o__n__f__i__g" loading="lazy" alt=""/></div>
<map name="agroup______m__y__l__i__b__s______c__o__n__f__i__g" id="agroup______m__y__l__i__b__s______c__o__n__f__i__g">
<area shape="rect" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html" title="Конфигурация однослойного персептрона и алгоритма обучения" alt="" coords="240,5,347,32"/>
<area shape="rect" href="group___g_e_n___c_o_n_f_i_g.html" title="Конфигурация генетического алгоритма обучения" alt="" coords="237,5,349,32"/>
<area shape="rect" href="group___l_i_b_s___c_o_n_f_i_g.html" title="Подключение различных модулей библиотеки" alt="" coords="235,56,351,83"/>
<area shape="rect" href="group___m_y_l_i_b_s___a_l_l.html" title="Все используемые MyLibs библиотеки" alt="" coords="5,56,73,83"/>
<area shape="rect" title="Конфигурации для библиотек MyLibs." alt="" coords="121,56,187,83"/>
@ -121,8 +121,8 @@ $(function(){initNavTree('group___m_y_l_i_b_s___c_o_n_f_i_g.html','',''); });
Topics</h2></td></tr>
<tr class="memitem:TRACE_5FCONFIG" id="r_TRACE_5FCONFIG"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html">Trace configs</a></td></tr>
<tr class="memdesc:group___t_r_a_c_e___c_o_n_f_i_g"><td class="mdescLeft">&#160;</td><td class="mdescRight">Конфигурация трекеров и трассировки <br /></td></tr>
<tr class="memitem:EVOLVE_5FCONFIG" id="r_EVOLVE_5FCONFIG"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html">Evolve configs</a></td></tr>
<tr class="memdesc:group___e_v_o_l_v_e___c_o_n_f_i_g"><td class="mdescLeft">&#160;</td><td class="mdescRight">Конфигурация однослойного персептрона и алгоритма обучения <br /></td></tr>
<tr class="memitem:GEN_5FCONFIG" id="r_GEN_5FCONFIG"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___c_o_n_f_i_g.html">Genetic configs</a></td></tr>
<tr class="memdesc:group___g_e_n___c_o_n_f_i_g"><td class="mdescLeft">&#160;</td><td class="mdescRight">Конфигурация генетического алгоритма обучения <br /></td></tr>
<tr class="memitem:LIBS_5FCONFIG" id="r_LIBS_5FCONFIG"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html">Libraries configs</a></td></tr>
<tr class="memdesc:group___l_i_b_s___c_o_n_f_i_g"><td class="mdescLeft">&#160;</td><td class="mdescRight">Подключение различных модулей библиотеки <br /></td></tr>
</table>

View File

@ -1,6 +1,6 @@
var group___m_y_l_i_b_s___c_o_n_f_i_g =
[
[ "Trace configs", "group___t_r_a_c_e___c_o_n_f_i_g.html", "group___t_r_a_c_e___c_o_n_f_i_g" ],
[ "Evolve configs", "group___e_v_o_l_v_e___c_o_n_f_i_g.html", "group___e_v_o_l_v_e___c_o_n_f_i_g" ],
[ "Genetic configs", "group___g_e_n___c_o_n_f_i_g.html", "group___g_e_n___c_o_n_f_i_g" ],
[ "Libraries configs", "group___l_i_b_s___c_o_n_f_i_g.html", "group___l_i_b_s___c_o_n_f_i_g" ]
];

View File

@ -1,5 +1,5 @@
<map id="Configs" name="Configs">
<area shape="rect" id="Node000004" href="$group___e_v_o_l_v_e___c_o_n_f_i_g.html" title="Конфигурация однослойного персептрона и алгоритма обучения" alt="" coords="240,5,347,32"/>
<area shape="rect" id="Node000004" href="$group___g_e_n___c_o_n_f_i_g.html" title="Конфигурация генетического алгоритма обучения" alt="" coords="237,5,349,32"/>
<area shape="rect" id="Node000005" href="$group___l_i_b_s___c_o_n_f_i_g.html" title="Подключение различных модулей библиотеки" alt="" coords="235,56,351,83"/>
<area shape="rect" id="Node000002" href="$group___m_y_l_i_b_s___a_l_l.html" title="Все используемые MyLibs библиотеки" alt="" coords="5,56,73,83"/>
<area shape="rect" id="Node000001" title="Конфигурации для библиотек MyLibs." alt="" coords="121,56,187,83"/>

View File

@ -1 +1 @@
e39777f4e691429c305a230cb7233db5
d391fab11da478dd495954b9be42bbb6

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -109,15 +109,16 @@ $(function(){initNavTree('group___m_y_l_i_b_s___d_e_f_i_n_e_s.html','',''); });
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="group___m_y_l_i_b_s___d_e_f_i_n_e_s.png" border="0" usemap="#agroup______m__y__l__i__b__s______d__e__f__i__n__e__s" loading="lazy" alt=""/></div>
<map name="agroup______m__y__l__i__b__s______d__e__f__i__n__e__s" id="agroup______m__y__l__i__b__s______d__e__f__i__n__e__s">
<area shape="rect" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html" title="Макросы и typedef&#39;ы для работы с битами в unsigned типах." alt="" coords="276,5,406,32"/>
<area shape="rect" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html" title="Макросы и определения для работы с задержками в миллисекундах." alt="" coords="287,56,395,83"/>
<area shape="rect" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html" title="Дефайны для обработки ошибок" alt="" coords="269,107,413,133"/>
<area shape="rect" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html" title="Библиотека для эволюционного подбора параметров" alt="" coords="282,157,400,184"/>
<area shape="rect" href="group___m_y_l_i_b_s___a_l_l.html" title="Все используемые MyLibs библиотеки" alt="" coords="5,157,73,184"/>
<area shape="rect" title="Общие макросы и typedef&#39;ы, используемые по всему проекту" alt="" coords="121,157,221,184"/>
<area shape="rect" href="group___t_r_a_c_e.html" title="Дефайны для работы с трассировкой" alt="" coords="291,208,391,235"/>
<area shape="rect" href="group___t_r_a_c_k_e_r_s.html" title="Дефайны для работы с трекерами" alt="" coords="282,259,400,285"/>
<area shape="rect" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html" title="Общие вспомогательные макросы" alt="" coords="294,309,388,336"/>
<area shape="rect" href="group___b_e_n_c_h___t_i_m_e.html" title="Библиотека для измерения времени/тиков между событиями" alt="" coords="274,5,408,32"/>
<area shape="rect" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html" title="Макросы и typedef&#39;ы для работы с битами в unsigned типах." alt="" coords="276,56,406,83"/>
<area shape="rect" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html" title="Макросы и определения для работы с задержками в миллисекундах." alt="" coords="287,107,395,133"/>
<area shape="rect" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html" title="Дефайны для обработки ошибок" alt="" coords="269,157,413,184"/>
<area shape="rect" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html" title="Библиотека для эволюционного подбора параметров" alt="" coords="280,208,403,235"/>
<area shape="rect" href="group___m_y_l_i_b_s___a_l_l.html" title="Все используемые MyLibs библиотеки" alt="" coords="5,183,73,209"/>
<area shape="rect" title="Общие макросы и typedef&#39;ы, используемые по всему проекту" alt="" coords="121,183,221,209"/>
<area shape="rect" href="group___t_r_a_c_e.html" title="Дефайны для работы с трассировкой" alt="" coords="291,259,391,285"/>
<area shape="rect" href="group___t_r_a_c_k_e_r_s.html" title="Дефайны для работы с трекерами" alt="" coords="282,309,400,336"/>
<area shape="rect" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html" title="Общие вспомогательные макросы" alt="" coords="294,360,388,387"/>
</map>
</div>
<table class="memberdecls">
@ -125,8 +126,10 @@ $(function(){initNavTree('group___m_y_l_i_b_s___d_e_f_i_n_e_s.html','',''); });
Topics</h2></td></tr>
<tr class="memitem:BIT_5FACCESS_5FDEFINES" id="r_BIT_5FACCESS_5FDEFINES"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html">Bit access defines</a></td></tr>
<tr class="memdesc:group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s"><td class="mdescLeft">&#160;</td><td class="mdescRight">Макросы и typedef'ы для работы с битами в unsigned типах. <br /></td></tr>
<tr class="memitem:EVOLVE_5FOPTIMIZER" id="r_EVOLVE_5FOPTIMIZER"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html">Evolve optimizer</a></td></tr>
<tr class="memdesc:group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r"><td class="mdescLeft">&#160;</td><td class="mdescRight">Библиотека для эволюционного подбора параметров <br /></td></tr>
<tr class="memitem:BENCH_5FTIME" id="r_BENCH_5FTIME"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html">Time measurement</a></td></tr>
<tr class="memdesc:group___b_e_n_c_h___t_i_m_e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Библиотека для измерения времени/тиков между событиями <br /></td></tr>
<tr class="memitem:GEN_5FOPTIMIZER" id="r_GEN_5FOPTIMIZER"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html">Genetic optimizer</a></td></tr>
<tr class="memdesc:group___g_e_n___o_p_t_i_m_i_z_e_r"><td class="mdescLeft">&#160;</td><td class="mdescRight">Библиотека для эволюционного подбора параметров <br /></td></tr>
<tr class="memitem:ERROR_5FHANDLER_5FDEFINES" id="r_ERROR_5FHANDLER_5FDEFINES"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html">Error Handler defines</a></td></tr>
<tr class="memdesc:group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s"><td class="mdescLeft">&#160;</td><td class="mdescRight">Дефайны для обработки ошибок <br /></td></tr>
<tr class="memitem:DELAYS_5FDEFINES" id="r_DELAYS_5FDEFINES"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html">Delays defines</a></td></tr>

View File

@ -1,7 +1,8 @@
var group___m_y_l_i_b_s___d_e_f_i_n_e_s =
[
[ "Bit access defines", "group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html", "group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s" ],
[ "Evolve optimizer", "group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html", "group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r" ],
[ "Time measurement", "group___b_e_n_c_h___t_i_m_e.html", "group___b_e_n_c_h___t_i_m_e" ],
[ "Genetic optimizer", "group___g_e_n___o_p_t_i_m_i_z_e_r.html", "group___g_e_n___o_p_t_i_m_i_z_e_r" ],
[ "Error Handler defines", "group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html", "group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s" ],
[ "Delays defines", "group___d_e_l_a_y_s___d_e_f_i_n_e_s.html", "group___d_e_l_a_y_s___d_e_f_i_n_e_s" ],
[ "Utils defines", "group___u_t_i_l_s___d_e_f_i_n_e_s.html", "group___u_t_i_l_s___d_e_f_i_n_e_s" ],

View File

@ -1,11 +1,12 @@
<map id="General Tools" name="General Tools">
<area shape="rect" id="Node000003" href="$group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html" title="Макросы и typedef&#39;ы для работы с битами в unsigned типах." alt="" coords="276,5,406,32"/>
<area shape="rect" id="Node000006" href="$group___d_e_l_a_y_s___d_e_f_i_n_e_s.html" title="Макросы и определения для работы с задержками в миллисекундах." alt="" coords="287,56,395,83"/>
<area shape="rect" id="Node000005" href="$group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html" title="Дефайны для обработки ошибок" alt="" coords="269,107,413,133"/>
<area shape="rect" id="Node000004" href="$group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html" title="Библиотека для эволюционного подбора параметров" alt="" coords="282,157,400,184"/>
<area shape="rect" id="Node000002" href="$group___m_y_l_i_b_s___a_l_l.html" title="Все используемые MyLibs библиотеки" alt="" coords="5,157,73,184"/>
<area shape="rect" id="Node000001" title="Общие макросы и typedef&#39;ы, используемые по всему проекту" alt="" coords="121,157,221,184"/>
<area shape="rect" id="Node000008" href="$group___t_r_a_c_e.html" title="Дефайны для работы с трассировкой" alt="" coords="291,208,391,235"/>
<area shape="rect" id="Node000009" href="$group___t_r_a_c_k_e_r_s.html" title="Дефайны для работы с трекерами" alt="" coords="282,259,400,285"/>
<area shape="rect" id="Node000007" href="$group___u_t_i_l_s___d_e_f_i_n_e_s.html" title="Общие вспомогательные макросы" alt="" coords="294,309,388,336"/>
<area shape="rect" id="Node000004" href="$group___b_e_n_c_h___t_i_m_e.html" title="Библиотека для измерения времени/тиков между событиями" alt="" coords="274,5,408,32"/>
<area shape="rect" id="Node000003" href="$group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html" title="Макросы и typedef&#39;ы для работы с битами в unsigned типах." alt="" coords="276,56,406,83"/>
<area shape="rect" id="Node000007" href="$group___d_e_l_a_y_s___d_e_f_i_n_e_s.html" title="Макросы и определения для работы с задержками в миллисекундах." alt="" coords="287,107,395,133"/>
<area shape="rect" id="Node000006" href="$group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html" title="Дефайны для обработки ошибок" alt="" coords="269,157,413,184"/>
<area shape="rect" id="Node000005" href="$group___g_e_n___o_p_t_i_m_i_z_e_r.html" title="Библиотека для эволюционного подбора параметров" alt="" coords="280,208,403,235"/>
<area shape="rect" id="Node000002" href="$group___m_y_l_i_b_s___a_l_l.html" title="Все используемые MyLibs библиотеки" alt="" coords="5,183,73,209"/>
<area shape="rect" id="Node000001" title="Общие макросы и typedef&#39;ы, используемые по всему проекту" alt="" coords="121,183,221,209"/>
<area shape="rect" id="Node000009" href="$group___t_r_a_c_e.html" title="Дефайны для работы с трассировкой" alt="" coords="291,259,391,285"/>
<area shape="rect" id="Node000010" href="$group___t_r_a_c_k_e_r_s.html" title="Дефайны для работы с трекерами" alt="" coords="282,309,400,336"/>
<area shape="rect" id="Node000008" href="$group___u_t_i_l_s___d_e_f_i_n_e_s.html" title="Общие вспомогательные макросы" alt="" coords="294,360,388,387"/>
</map>

View File

@ -1 +1 @@
e21133381fcfb6b51ca1c555273b8ce6
264808d6452fadd8a8ce8eeb10b2b251

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -125,6 +125,12 @@ Functions</h2></td></tr>
<tr class="memdesc:ga03f8b6f3b537ee1c8e91065c60db504f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Проверка и вывод последнего HardFault-трейса из Flash. <br /></td></tr>
<tr class="memitem:gadd8e10e7ec3b0204f7f92062ecd452f7" id="r_gadd8e10e7ec3b0204f7f92062ecd452f7"><td class="memItemLeft" align="right" valign="top">__STATIC_FORCEINLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gadd8e10e7ec3b0204f7f92062ecd452f7">HF_HandleFault</a> (void)</td></tr>
<tr class="memdesc:gadd8e10e7ec3b0204f7f92062ecd452f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Обработчик HardFault. <br /></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-var-members" class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga8bde6da023f9fc577e2004c56c09bc3e" id="r_ga8bde6da023f9fc577e2004c56c09bc3e"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct_h_f___stack_frame__t.html">HF_StackFrame_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga8bde6da023f9fc577e2004c56c09bc3e">stack_frame</a></td></tr>
<tr class="memitem:ga5eaebf741ff2454968da6e6c28ac92b7" id="r_ga5eaebf741ff2454968da6e6c28ac92b7"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga5eaebf741ff2454968da6e6c28ac92b7">stack_dump</a> [32]</td></tr>
<tr class="memitem:gadb6ef6ffef1b50aec4abb32b03bceb79" id="r_gadb6ef6ffef1b50aec4abb32b03bceb79"><td class="memItemLeft" align="right" valign="top">static void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gadb6ef6ffef1b50aec4abb32b03bceb79">ret_adr</a> [10] = {0}</td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<p>Модуль трассировки HardFault с возможностью сохранения RTT буфера во Flash. </p>
@ -226,6 +232,79 @@ Functions</h2></td></tr>
<p class="definition">Definition at line <a class="el" href="trace_8h_source.html#l00540">540</a> of file <a class="el" href="trace_8h_source.html">trace.h</a>.</p>
</div>
</div>
<a name="doc-var-members" id="doc-var-members"></a><h2 id="header-doc-var-members" class="groupheader">Variable Documentation</h2>
<a id="ga8bde6da023f9fc577e2004c56c09bc3e" name="ga8bde6da023f9fc577e2004c56c09bc3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8bde6da023f9fc577e2004c56c09bc3e">&#9670;&#160;</a></span>stack_frame</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_h_f___stack_frame__t.html">HF_StackFrame_t</a>* stack_frame</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="trace_8h_source.html#l00523">523</a> of file <a class="el" href="trace_8h_source.html">trace.h</a>.</p>
</div>
</div>
<a id="ga5eaebf741ff2454968da6e6c28ac92b7" name="ga5eaebf741ff2454968da6e6c28ac92b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5eaebf741ff2454968da6e6c28ac92b7">&#9670;&#160;</a></span>stack_dump</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t stack_dump[32]</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="trace_8h_source.html#l00524">524</a> of file <a class="el" href="trace_8h_source.html">trace.h</a>.</p>
</div>
</div>
<a id="gadb6ef6ffef1b50aec4abb32b03bceb79" name="gadb6ef6ffef1b50aec4abb32b03bceb79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadb6ef6ffef1b50aec4abb32b03bceb79">&#9670;&#160;</a></span>ret_adr</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void* ret_adr[10] = {0}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="trace_8h_source.html#l00525">525</a> of file <a class="el" href="trace_8h_source.html">trace.h</a>.</p>
</div>
</div>
</div><!-- contents -->

View File

@ -195,7 +195,7 @@ Macros</h2></td></tr>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code hl_define" href="#gae9b9b8a611e291a2f2aa5abf99f3ebaa">my_printf</a>(<span class="stringliteral">&quot;\n[%lu] [%s] &quot;</span> fmt, \</div>
<div class="line">(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)<a class="code hl_define" href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653">local_time</a>(), TAG, ##__VA_ARGS__)</div>
<div class="ttc" id="agroup___l_i_b_s___c_o_n_f_i_g_html_ga9c853b02c22f26023c34d1d404b6d653"><div class="ttname"><a href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653">local_time</a></div><div class="ttdeci">#define local_time()</div><div class="ttdoc">Локальное время</div><div class="ttdef"><b>Definition</b> <a href="mylibs__config_8h_source.html#l00080">mylibs_config.h:80</a></div></div>
<div class="ttc" id="agroup___l_i_b_s___c_o_n_f_i_g_html_ga9c853b02c22f26023c34d1d404b6d653"><div class="ttname"><a href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653">local_time</a></div><div class="ttdeci">#define local_time()</div><div class="ttdoc">Локальное время</div><div class="ttdef"><b>Definition</b> <a href="mylibs__config_8h_source.html#l00097">mylibs_config.h:97</a></div></div>
<div class="ttc" id="agroup___t_r_a_c_e___s_e_r_i_a_l_html_gae9b9b8a611e291a2f2aa5abf99f3ebaa"><div class="ttname"><a href="#gae9b9b8a611e291a2f2aa5abf99f3ebaa">my_printf</a></div><div class="ttdeci">#define my_printf(...)</div><div class="ttdoc">Универсальный макрос для вывода трассировки</div><div class="ttdef"><b>Definition</b> <a href="trace_8h_source.html#l00080">trace.h:80</a></div></div>
</div><!-- fragment -->
<p>Макрос логирования с поддержкой уровней <a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga0b87e0d3bf5853bcbb0b66a7c48fdc05">LOG_LEVEL</a>. </p>

View File

@ -153,7 +153,7 @@ Macros</h2></td></tr>
</dl>
<p>Макрос использует memset для обнуления всей памяти структуры. Используется для быстрой и безопасной инициализации переменных структур до нуля. </p>
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00155">155</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00154">154</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>.</p>
</div>
</div>
@ -188,7 +188,7 @@ Macros</h2></td></tr>
<dl class="section return"><dt>Returns</dt><dd>Результат деления, округленный вверх.</dd></dl>
<p>Если результат деления без остатка: он возвращается как есть Если с остатком - округляется вверх </p>
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00166">166</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00165">165</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>.</p>
</div>
</div>
@ -218,7 +218,7 @@ Macros</h2></td></tr>
<dl class="section return"><dt>Returns</dt><dd>Результат с поменяными местами старшим и младшим байтом.</dd></dl>
<p>Переключения между двумя типами хранения слова: HI-LO байты и LO-HI байты. </p>
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00174">174</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00173">173</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>.</p>
</div>
</div>
@ -248,7 +248,7 @@ Macros</h2></td></tr>
<dl class="section return"><dt>Returns</dt><dd>Абсолютное значение числа x.</dd></dl>
<p>Берет число по модулю. Хз как работает библиотечный abs в stdlib.h, мб это быстрее, но вряд ли конечно. </p>
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00182">182</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>.</p>
<p class="definition">Definition at line <a class="el" href="mylibs__defs_8h_source.html#l00181">181</a> of file <a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>.</p>
</div>
</div>

View File

@ -113,7 +113,7 @@ $(function(){initNavTree('index.html','',''); });
<ul>
<li>Макросы для задержек и утилит (<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html">Delays defines</a> и <a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html">Utils defines</a>)</li>
<li>Трекеры для статистики и отладки (<a class="el" href="group___t_r_a_c_k_e_r_s.html">Trackers defines</a> и <a class="el" href="group___t_r_a_c_e.html">Trace defines</a>)</li>
<li>Эволюционный алгоритм для оптимизации параметров (<a class="el" href="group___e_v_o_l_v_e___o_p_t_i_m_i_z_e_r.html">Evolve optimizer</a>)</li>
<li>Эволюционный алгоритм для оптимизации параметров (<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html">Genetic optimizer</a>)</li>
<li>Битовый доступ к регистрам через union (<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html">Bit access defines</a>)</li>
</ul>
<h3 class="doxsection"><a class="anchor" id="trace_module"></a>
@ -158,7 +158,7 @@ $(function(){initNavTree('index.html','',''); });
<div class="line">│ │ ├── mylibs_config.h # Конфигурация библиотек</div>
<div class="line">│ │ ├── mylibs_defs.h # Общие определения и макросы</div>
<div class="line">│ │ ├── bit_access.h # Битовый доступ к регистрам</div>
<div class="line">│ │ ├── evolve_optimizer.h # Оптимизатор (генетический алгоритм)</div>
<div class="line">│ │ ├── gen_optimizer.h # Оптимизатор (генетический алгоритм)</div>
<div class="line">│ │ ├── trackers.h # Трекеры для отладки</div>
<div class="line">│ │ └── trace.h # Трассировка и логирование</div>
<div class="line">│ └── src/</div>

View File

@ -116,7 +116,7 @@ $(function(){initNavTree('mainpage_8h_source.html','',''); });
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">@subsubsection utils_module Общие утилиты (@ref MYLIBS_DEFINES)</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment">- Макросы для задержек и утилит (@ref DELAYS_DEFINES и @ref UTILS_DEFINES)</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">- Трекеры для статистики и отладки (@ref TRACKERS и @ref TRACE)</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">- Эволюционный алгоритм для оптимизации параметров (@ref EVOLVE_OPTIMIZER)</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">- Эволюционный алгоритм для оптимизации параметров (@ref GEN_OPTIMIZER)</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">- Битовый доступ к регистрам через union (@ref BIT_ACCESS_DEFINES)</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"></span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">@subsubsection trace_module Трассировка @ref TRACE</span></div>
@ -152,7 +152,7 @@ $(function(){initNavTree('mainpage_8h_source.html','',''); });
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="comment">│ │ ├── mylibs_config.h # Конфигурация библиотек</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="comment">│ │ ├── mylibs_defs.h # Общие определения и макросы</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="comment">│ │ ├── bit_access.h # Битовый доступ к регистрам</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="comment">│ │ ├── evolve_optimizer.h # Оптимизатор (генетический алгоритм)</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="comment">│ │ ├── gen_optimizer.h # Оптимизатор (генетический алгоритм)</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="comment">│ │ ├── trackers.h # Трекеры для отладки</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="comment">│ │ └── trace.h # Трассировка и логирование</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="comment">│ └── src/</span></div>

View File

@ -35,6 +35,7 @@ var menudata={children:[
{text:"e",url:"functions.html#index_e"},
{text:"g",url:"functions.html#index_g"},
{text:"h",url:"functions.html#index_h"},
{text:"i",url:"functions.html#index_i"},
{text:"l",url:"functions.html#index_l"},
{text:"m",url:"functions.html#index_m"},
{text:"n",url:"functions.html#index_n"},
@ -48,6 +49,7 @@ var menudata={children:[
{text:"e",url:"functions_vars.html#index_e"},
{text:"g",url:"functions_vars.html#index_g"},
{text:"h",url:"functions_vars.html#index_h"},
{text:"i",url:"functions_vars.html#index_i"},
{text:"l",url:"functions_vars.html#index_l"},
{text:"m",url:"functions_vars.html#index_m"},
{text:"n",url:"functions_vars.html#index_n"},
@ -60,30 +62,31 @@ var menudata={children:[
{text:"File Members",url:"globals.html",children:[
{text:"All",url:"globals.html",children:[
{text:"a",url:"globals.html#index_a"},
{text:"b",url:"globals.html#index_b"},
{text:"c",url:"globals.html#index_c"},
{text:"d",url:"globals.html#index_d"},
{text:"e",url:"globals.html#index_e"},
{text:"f",url:"globals.html#index_f"},
{text:"g",url:"globals.html#index_g"},
{text:"h",url:"globals.html#index_h"},
{text:"i",url:"globals.html#index_i"},
{text:"l",url:"globals.html#index_l"},
{text:"m",url:"globals.html#index_m"},
{text:"n",url:"globals.html#index_n"},
{text:"p",url:"globals.html#index_p"},
{text:"r",url:"globals.html#index_r"},
{text:"s",url:"globals.html#index_s"},
{text:"t",url:"globals.html#index_t"},
{text:"u",url:"globals.html#index_u"}]},
{text:"b",url:"globals_b.html#index_b"},
{text:"c",url:"globals_c.html#index_c"},
{text:"d",url:"globals_d.html#index_d"},
{text:"e",url:"globals_e.html#index_e"},
{text:"f",url:"globals_f.html#index_f"},
{text:"g",url:"globals_g.html#index_g"},
{text:"h",url:"globals_h.html#index_h"},
{text:"i",url:"globals_i.html#index_i"},
{text:"l",url:"globals_l.html#index_l"},
{text:"m",url:"globals_m.html#index_m"},
{text:"n",url:"globals_n.html#index_n"},
{text:"p",url:"globals_p.html#index_p"},
{text:"r",url:"globals_r.html#index_r"},
{text:"s",url:"globals_s.html#index_s"},
{text:"t",url:"globals_t.html#index_t"},
{text:"u",url:"globals_u.html#index_u"}]},
{text:"Functions",url:"globals_func.html",children:[
{text:"e",url:"globals_func.html#index_e"},
{text:"b",url:"globals_func.html#index_b"},
{text:"g",url:"globals_func.html#index_g"},
{text:"h",url:"globals_func.html#index_h"},
{text:"r",url:"globals_func.html#index_r"},
{text:"s",url:"globals_func.html#index_s"},
{text:"t",url:"globals_func.html#index_t"},
{text:"u",url:"globals_func.html#index_u"}]},
{text:"Variables",url:"globals_vars.html"},
{text:"Enumerations",url:"globals_enum.html"},
{text:"Enumerator",url:"globals_eval.html"},
{text:"Macros",url:"globals_defs.html",children:[

View File

@ -121,48 +121,50 @@ $(function(){initNavTree('mylibs__config_8h.html','',''); });
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="mylibs__config_8h__dep__incl.png" border="0" usemap="#a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2mylibs__config_8hdep" loading="lazy" alt=""/></div>
<map name="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2mylibs__config_8hdep" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2mylibs__config_8hdep">
<area shape="rect" title="Конфигурации для библиотек MyLibs." alt="" coords="737,5,913,64"/>
<area shape="rect" href="mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="737,112,913,171"/>
<area shape="poly" title=" " alt="" coords="828,80,828,112,822,112,822,80"/>
<area shape="rect" href="bit__access_8h.html" title="Заголочный файл для дефайнов битового доступа." alt="" coords="30,219,206,277"/>
<area shape="poly" title=" " alt="" coords="722,154,490,178,354,197,219,221,208,224,206,218,218,216,353,192,490,173,721,148"/>
<area shape="rect" href="mylibs__include_8h.html" title="Заголочный файл для всех библиотек" alt="" coords="430,325,606,384"/>
<area shape="poly" title=" " alt="" coords="721,147,531,154,310,167,207,177,119,189,54,204,33,212,20,221,11,234,8,248,11,261,20,276,47,296,87,312,138,325,195,334,318,346,430,350,430,356,318,351,195,340,137,330,86,317,44,300,16,279,6,264,3,248,6,232,16,217,30,207,53,199,118,184,206,172,309,162,530,149,721,142"/>
<area shape="rect" href="evolve__optimizer_8h.html" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="230,219,406,277"/>
<area shape="poly" title=" " alt="" coords="722,162,578,188,419,221,408,224,406,219,418,216,577,183,721,157"/>
<area shape="rect" href="trace_8h.html" title="Заголочный файл для работы с трассировкой." alt="" coords="430,219,606,277"/>
<area shape="poly" title=" " alt="" coords="727,179,603,221,601,216,725,174"/>
<area shape="rect" href="trackers_8h.html" title="Заголочный файл для работы с трекерами Trackers defines." alt="" coords="630,219,806,277"/>
<area shape="poly" title=" " alt="" coords="787,183,749,220,746,216,783,180"/>
<area shape="rect" href="____general__flash_8h_source.html" title=" " alt="" coords="830,219,1036,277"/>
<area shape="poly" title=" " alt="" coords="867,180,905,216,902,220,863,183"/>
<area shape="rect" href="general__gpio_8h.html" title="Заголовочный файл для модуля инициализации портов и работы с ними." alt="" coords="1110,219,1316,277"/>
<area shape="poly" title=" " alt="" coords="929,168,1110,216,1109,222,928,173"/>
<area shape="rect" href="general__tim_8h.html" title="Заголовочный файл для модуля инициализации таймеров и работы с ними." alt="" coords="881,325,1086,384"/>
<area shape="poly" title=" " alt="" coords="929,149,963,158,996,172,1025,191,1050,217,1057,231,1059,246,1052,275,1036,303,1016,327,1012,323,1032,300,1047,273,1054,245,1052,233,1045,220,1022,195,993,177,961,163,928,154"/>
<area shape="rect" href="general__spi_8h.html" title="Заголовочный файл для модуля инициализации SPI." alt="" coords="1340,219,1545,277"/>
<area shape="poly" title=" " alt="" coords="928,153,1115,179,1328,216,1340,218,1339,224,1327,221,1114,185,928,158"/>
<area shape="rect" href="general__uart_8h.html" title="Заголовочный файл для модуля инициализации UART." alt="" coords="1569,219,1774,277"/>
<area shape="poly" title=" " alt="" coords="929,146,1213,170,1385,190,1557,216,1569,218,1568,223,1557,221,1385,196,1212,176,928,152"/>
<area shape="poly" title=" " alt="" coords="222,275,430,329,429,334,220,281"/>
<area shape="poly" title=" " alt="" coords="388,282,465,322,462,327,385,287"/>
<area shape="poly" title=" " alt="" coords="521,293,521,325,516,325,516,293"/>
<area shape="poly" title=" " alt="" coords="651,287,574,327,572,322,649,282"/>
<area shape="poly" title=" " alt="" coords="816,281,608,334,606,328,815,276"/>
<area shape="rect" href="____general__flash_8c_source.html" title=" " alt="" coords="652,325,857,384"/>
<area shape="poly" title=" " alt="" coords="873,288,804,327,802,323,870,283"/>
<area shape="poly" title=" " alt="" coords="1095,273,1048,280,933,294,844,302,754,311,640,328,607,334,606,329,639,323,754,306,843,297,933,289,1047,275,1094,267"/>
<area shape="poly" title=" " alt="" coords="1137,287,1048,327,1046,322,1135,282"/>
<area shape="rect" href="general__gpio_8c.html" title="Модуль для инициализации портов и работы с ними." alt="" coords="1110,325,1316,384"/>
<area shape="poly" title=" " alt="" coords="1216,293,1216,325,1210,325,1210,293"/>
<area shape="rect" href="general__spi_8c.html" title="Модуль для инициализации SPI." alt="" coords="1340,325,1545,384"/>
<area shape="poly" title=" " alt="" coords="1291,282,1380,322,1378,327,1289,287"/>
<area shape="rect" href="general__uart_8c.html" title="Модуль для инициализации UART." alt="" coords="1569,325,1774,384"/>
<area shape="poly" title=" " alt="" coords="1331,275,1558,323,1569,325,1568,331,1556,328,1330,281"/>
<area shape="rect" href="general__tim_8c.html" title="Модуль для инициализации таймеров и работы с ними." alt="" coords="881,432,1086,491"/>
<area shape="poly" title=" " alt="" coords="986,400,986,432,981,432,981,400"/>
<area shape="poly" title=" " alt="" coords="1445,293,1445,325,1440,325,1440,293"/>
<area shape="poly" title=" " alt="" coords="1674,293,1674,325,1669,325,1669,293"/>
<area shape="rect" title="Конфигурации для библиотек MyLibs." alt="" coords="856,5,1032,64"/>
<area shape="rect" href="mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="856,112,1032,171"/>
<area shape="poly" title=" " alt="" coords="947,80,947,112,942,112,942,80"/>
<area shape="rect" href="bench__time_8h.html" title="Заголовочный файл для измерения времени между событиями" alt="" coords="5,219,182,277"/>
<area shape="poly" title=" " alt="" coords="841,150,549,173,371,193,194,221,183,224,182,218,193,216,370,188,548,167,840,145"/>
<area shape="rect" href="bit__access_8h.html" title="Заголочный файл для дефайнов битового доступа." alt="" coords="656,219,832,277"/>
<area shape="poly" title=" " alt="" coords="877,181,800,220,798,216,875,176"/>
<area shape="rect" href="mylibs__include_8h.html" title="Заголочный файл для всех библиотек" alt="" coords="656,325,832,384"/>
<area shape="poly" title=" " alt="" coords="841,158,781,168,723,182,675,200,658,210,646,220,638,234,636,247,647,276,665,302,691,323,687,327,662,306,642,279,631,247,633,232,642,217,655,205,673,195,722,177,780,163,840,153"/>
<area shape="rect" href="gen__optimizer_8h.html" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="856,219,1032,277"/>
<area shape="poly" title=" " alt="" coords="947,186,947,218,942,218,942,186"/>
<area shape="rect" href="trace_8h.html" title="Заголочный файл для работы с трассировкой." alt="" coords="205,219,382,277"/>
<area shape="poly" title=" " alt="" coords="841,155,634,181,513,199,394,221,383,224,382,219,393,216,512,194,633,175,840,150"/>
<area shape="rect" href="trackers_8h.html" title="Заголочный файл для работы с трекерами Trackers defines." alt="" coords="405,219,582,277"/>
<area shape="poly" title=" " alt="" coords="841,167,601,221,583,226,581,221,600,216,840,162"/>
<area shape="rect" href="____general__flash_8h_source.html" title=" " alt="" coords="1056,219,1262,277"/>
<area shape="poly" title=" " alt="" coords="1017,175,1101,216,1099,221,1015,180"/>
<area shape="rect" href="general__gpio_8h.html" title="Заголовочный файл для модуля инициализации портов и работы с ними." alt="" coords="1336,219,1542,277"/>
<area shape="poly" title=" " alt="" coords="1048,160,1318,216,1336,220,1335,225,1317,221,1047,166"/>
<area shape="rect" href="general__tim_8h.html" title="Заголовочный файл для модуля инициализации таймеров и работы с ними." alt="" coords="1107,325,1312,384"/>
<area shape="poly" title=" " alt="" coords="1048,150,1116,160,1183,174,1240,193,1261,204,1276,217,1283,231,1286,245,1279,274,1263,302,1242,327,1238,323,1258,299,1274,272,1280,245,1278,232,1271,220,1258,208,1237,197,1182,179,1115,165,1048,155"/>
<area shape="rect" href="general__spi_8h.html" title="Заголовочный файл для модуля инициализации SPI." alt="" coords="1566,219,1771,277"/>
<area shape="poly" title=" " alt="" coords="1048,149,1281,175,1418,194,1554,216,1566,218,1565,224,1553,221,1417,199,1280,180,1048,155"/>
<area shape="rect" href="general__uart_8h.html" title="Заголовочный файл для модуля инициализации UART." alt="" coords="1795,219,2000,277"/>
<area shape="poly" title=" " alt="" coords="1048,144,1377,167,1580,187,1783,216,1795,218,1794,223,1782,221,1579,193,1376,172,1048,150"/>
<area shape="poly" title=" " alt="" coords="747,293,747,325,742,325,742,293"/>
<area shape="poly" title=" " alt="" coords="877,287,800,327,798,322,875,282"/>
<area shape="poly" title=" " alt="" coords="398,276,656,333,655,338,396,281"/>
<area shape="poly" title=" " alt="" coords="577,281,676,322,674,327,575,286"/>
<area shape="poly" title=" " alt="" coords="1042,281,834,334,832,328,1040,276"/>
<area shape="rect" href="____general__flash_8c_source.html" title=" " alt="" coords="878,325,1083,384"/>
<area shape="poly" title=" " alt="" coords="1099,288,1030,327,1028,323,1096,283"/>
<area shape="poly" title=" " alt="" coords="1321,273,1274,280,1159,294,1069,302,980,311,866,328,833,334,832,329,865,323,979,306,1069,297,1159,289,1273,275,1320,267"/>
<area shape="poly" title=" " alt="" coords="1363,287,1274,327,1271,322,1361,282"/>
<area shape="rect" href="general__gpio_8c.html" title="Модуль для инициализации портов и работы с ними." alt="" coords="1336,325,1542,384"/>
<area shape="poly" title=" " alt="" coords="1442,293,1442,325,1436,325,1436,293"/>
<area shape="rect" href="general__spi_8c.html" title="Модуль для инициализации SPI." alt="" coords="1566,325,1771,384"/>
<area shape="poly" title=" " alt="" coords="1517,282,1606,322,1604,327,1514,287"/>
<area shape="rect" href="general__uart_8c.html" title="Модуль для инициализации UART." alt="" coords="1795,325,2000,384"/>
<area shape="poly" title=" " alt="" coords="1557,275,1783,323,1795,325,1794,331,1782,328,1556,281"/>
<area shape="rect" href="general__tim_8c.html" title="Модуль для инициализации таймеров и работы с ними." alt="" coords="1107,432,1312,491"/>
<area shape="poly" title=" " alt="" coords="1212,400,1212,432,1207,432,1207,400"/>
<area shape="poly" title=" " alt="" coords="1671,293,1671,325,1666,325,1666,293"/>
<area shape="poly" title=" " alt="" coords="1900,293,1900,325,1895,325,1895,293"/>
</map>
</div>
</div>
@ -202,16 +204,20 @@ Macros</h2></td></tr>
<tr class="memdesc:ga92d0d14732edb7dfa21d483304bdb051"><td class="mdescLeft">&#160;</td><td class="mdescRight">Конец RAM памяти (чтобы во время анализа стека не выйти за пределы) <br /></td></tr>
<tr class="memitem:ga4222e0e400ad81737cefcabeb03fd23b" id="r_ga4222e0e400ad81737cefcabeb03fd23b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga4222e0e400ad81737cefcabeb03fd23b">GPIO_TRACE_ENABLE</a></td></tr>
<tr class="memdesc:ga4222e0e400ad81737cefcabeb03fd23b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Включить GPIO трассировку <br /></td></tr>
<tr class="memitem:ga2cac097081444a7a9b040f4b11550e47" id="r_ga2cac097081444a7a9b040f4b11550e47"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga2cac097081444a7a9b040f4b11550e47">ENABLE_EVOLVE_OPTIMIZATION</a></td></tr>
<tr class="memdesc:ga2cac097081444a7a9b040f4b11550e47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Включить оптимизацию параметров <br /></td></tr>
<tr class="memitem:ga80d6162495fc3776d8902610657d4fee" id="r_ga80d6162495fc3776d8902610657d4fee"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga80d6162495fc3776d8902610657d4fee">EVOLVE_MAX_PARAMS</a>&#160;&#160;&#160;20</td></tr>
<tr class="memdesc:ga80d6162495fc3776d8902610657d4fee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Максимальное количество параметров <br /></td></tr>
<tr class="memitem:ga7c1396e5c95c766afccdb45cbfcf5971" id="r_ga7c1396e5c95c766afccdb45cbfcf5971"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga7c1396e5c95c766afccdb45cbfcf5971">EVOLVE_MAX_CANDIDATES</a>&#160;&#160;&#160;100</td></tr>
<tr class="memdesc:ga7c1396e5c95c766afccdb45cbfcf5971"><td class="mdescLeft">&#160;</td><td class="mdescRight">Максимальное количество кандидатов для обучения <br /></td></tr>
<tr class="memitem:gae6d1db3c0b21f67cb0db2673d207b62c" id="r_gae6d1db3c0b21f67cb0db2673d207b62c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___c_o_n_f_i_g.html#gae6d1db3c0b21f67cb0db2673d207b62c">GEN_OPTIMIZATION_ENABLE</a></td></tr>
<tr class="memdesc:gae6d1db3c0b21f67cb0db2673d207b62c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Включить оптимизацию параметров <br /></td></tr>
<tr class="memitem:ga8daf4b266a95353d580bd7946f47c0ab" id="r_ga8daf4b266a95353d580bd7946f47c0ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___c_o_n_f_i_g.html#ga8daf4b266a95353d580bd7946f47c0ab">GEN_MAX_PARAMS</a>&#160;&#160;&#160;20</td></tr>
<tr class="memdesc:ga8daf4b266a95353d580bd7946f47c0ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Максимальное количество параметров <br /></td></tr>
<tr class="memitem:ga201cffde04ebc6540869c74bd1dae869" id="r_ga201cffde04ebc6540869c74bd1dae869"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___c_o_n_f_i_g.html#ga201cffde04ebc6540869c74bd1dae869">GEN_MAX_CANDIDATES</a>&#160;&#160;&#160;100</td></tr>
<tr class="memdesc:ga201cffde04ebc6540869c74bd1dae869"><td class="mdescLeft">&#160;</td><td class="mdescRight">Максимальное количество кандидатов для обучения <br /></td></tr>
<tr class="memitem:ga67c3c54503b9bbd5d175ac46d37866d9" id="r_ga67c3c54503b9bbd5d175ac46d37866d9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___c_o_n_f_i_g.html#ga67c3c54503b9bbd5d175ac46d37866d9">BENCH_TIME_ENABLE</a></td></tr>
<tr class="memdesc:ga67c3c54503b9bbd5d175ac46d37866d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Включить бенч времени <br /></td></tr>
<tr class="memitem:ga74fdf777ceefa5e7d67120fbda4cde52" id="r_ga74fdf777ceefa5e7d67120fbda4cde52"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52">BENCH_TIME_MAX_CHANNELS</a>&#160;&#160;&#160;16</td></tr>
<tr class="memdesc:ga74fdf777ceefa5e7d67120fbda4cde52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Максимальное количество каналов измерения <br /></td></tr>
<tr class="memitem:ga9c853b02c22f26023c34d1d404b6d653" id="r_ga9c853b02c22f26023c34d1d404b6d653"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653">local_time</a>()</td></tr>
<tr class="memdesc:ga9c853b02c22f26023c34d1d404b6d653"><td class="mdescLeft">&#160;</td><td class="mdescRight">Локальное время <br /></td></tr>
<tr class="memitem:ga66560656d080d6551627a19dfb847c66" id="r_ga66560656d080d6551627a19dfb847c66"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga66560656d080d6551627a19dfb847c66">INCLUDE_EVOLVE_OPTIMIZER</a></td></tr>
<tr class="memdesc:ga66560656d080d6551627a19dfb847c66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Подключить библиотеку для оптимизации параметров <br /></td></tr>
<tr class="memitem:ga3cdc9ef47fd3ff080d38481295327692" id="r_ga3cdc9ef47fd3ff080d38481295327692"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga3cdc9ef47fd3ff080d38481295327692">INCLUDE_GEN_OPTIMIZER</a></td></tr>
<tr class="memdesc:ga3cdc9ef47fd3ff080d38481295327692"><td class="mdescLeft">&#160;</td><td class="mdescRight">Подключить библиотеку для оптимизации параметров <br /></td></tr>
<tr class="memitem:gaf4ddb2a71ec0d05c2480e197cd17c0be" id="r_gaf4ddb2a71ec0d05c2480e197cd17c0be"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#gaf4ddb2a71ec0d05c2480e197cd17c0be">INCLUDE_BIT_ACCESS_LIB</a></td></tr>
<tr class="memdesc:gaf4ddb2a71ec0d05c2480e197cd17c0be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Подключить библиотеку с typedef с битовыми полями <br /></td></tr>
<tr class="memitem:ga4403055986b70bb02b8d37073a122e32" id="r_ga4403055986b70bb02b8d37073a122e32"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_i_b_s___c_o_n_f_i_g.html#ga4403055986b70bb02b8d37073a122e32">INCLUDE_TRACKERS_LIB</a></td></tr>

View File

@ -16,11 +16,13 @@ var mylibs__config_8h =
[ "HF_FLASH_ADDR", "group___t_r_a_c_e___c_o_n_f_i_g.html#ga0c602733a4a359bf8c095d71cd4d0f63", null ],
[ "HF_RAM_END", "group___t_r_a_c_e___c_o_n_f_i_g.html#ga92d0d14732edb7dfa21d483304bdb051", null ],
[ "GPIO_TRACE_ENABLE", "group___t_r_a_c_e___c_o_n_f_i_g.html#ga4222e0e400ad81737cefcabeb03fd23b", null ],
[ "ENABLE_EVOLVE_OPTIMIZATION", "group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga2cac097081444a7a9b040f4b11550e47", null ],
[ "EVOLVE_MAX_PARAMS", "group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga80d6162495fc3776d8902610657d4fee", null ],
[ "EVOLVE_MAX_CANDIDATES", "group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga7c1396e5c95c766afccdb45cbfcf5971", null ],
[ "GEN_OPTIMIZATION_ENABLE", "group___g_e_n___c_o_n_f_i_g.html#gae6d1db3c0b21f67cb0db2673d207b62c", null ],
[ "GEN_MAX_PARAMS", "group___g_e_n___c_o_n_f_i_g.html#ga8daf4b266a95353d580bd7946f47c0ab", null ],
[ "GEN_MAX_CANDIDATES", "group___g_e_n___c_o_n_f_i_g.html#ga201cffde04ebc6540869c74bd1dae869", null ],
[ "BENCH_TIME_ENABLE", "group___g_e_n___c_o_n_f_i_g.html#ga67c3c54503b9bbd5d175ac46d37866d9", null ],
[ "BENCH_TIME_MAX_CHANNELS", "group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52", null ],
[ "local_time", "group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653", null ],
[ "INCLUDE_EVOLVE_OPTIMIZER", "group___l_i_b_s___c_o_n_f_i_g.html#ga66560656d080d6551627a19dfb847c66", null ],
[ "INCLUDE_GEN_OPTIMIZER", "group___l_i_b_s___c_o_n_f_i_g.html#ga3cdc9ef47fd3ff080d38481295327692", null ],
[ "INCLUDE_BIT_ACCESS_LIB", "group___l_i_b_s___c_o_n_f_i_g.html#gaf4ddb2a71ec0d05c2480e197cd17c0be", null ],
[ "INCLUDE_TRACKERS_LIB", "group___l_i_b_s___c_o_n_f_i_g.html#ga4403055986b70bb02b8d37073a122e32", null ],
[ "INCLUDE_TRACE_LIB", "group___l_i_b_s___c_o_n_f_i_g.html#ga0a3ca94b616997069dd53e2c6c2687d7", null ],

View File

@ -1,44 +1,46 @@
<map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/mylibs_config.h" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/mylibs_config.h">
<area shape="rect" id="Node000001" title="Конфигурации для библиотек MyLibs." alt="" coords="737,5,913,64"/>
<area shape="rect" id="Node000002" href="$mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="737,112,913,171"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="828,80,828,112,822,112,822,80"/>
<area shape="rect" id="Node000003" href="$bit__access_8h.html" title="Заголочный файл для дефайнов битового доступа." alt="" coords="30,219,206,277"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="722,154,490,178,354,197,219,221,208,224,206,218,218,216,353,192,490,173,721,148"/>
<area shape="rect" id="Node000004" href="$mylibs__include_8h.html" title="Заголочный файл для всех библиотек" alt="" coords="430,325,606,384"/>
<area shape="poly" id="edge6_Node000002_Node000004" title=" " alt="" coords="721,147,531,154,310,167,207,177,119,189,54,204,33,212,20,221,11,234,8,248,11,261,20,276,47,296,87,312,138,325,195,334,318,346,430,350,430,356,318,351,195,340,137,330,86,317,44,300,16,279,6,264,3,248,6,232,16,217,30,207,53,199,118,184,206,172,309,162,530,149,721,142"/>
<area shape="rect" id="Node000005" href="$evolve__optimizer_8h.html" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="230,219,406,277"/>
<area shape="poly" id="edge4_Node000002_Node000005" title=" " alt="" coords="722,162,578,188,419,221,408,224,406,219,418,216,577,183,721,157"/>
<area shape="rect" id="Node000006" href="$trace_8h.html" title="Заголочный файл для работы с трассировкой." alt="" coords="430,219,606,277"/>
<area shape="poly" id="edge7_Node000002_Node000006" title=" " alt="" coords="727,179,603,221,601,216,725,174"/>
<area shape="rect" id="Node000007" href="$trackers_8h.html" title="Заголочный файл для работы с трекерами Trackers defines." alt="" coords="630,219,806,277"/>
<area shape="poly" id="edge9_Node000002_Node000007" title=" " alt="" coords="787,183,749,220,746,216,783,180"/>
<area shape="rect" id="Node000008" href="$____general__flash_8h_source.html" title=" " alt="" coords="830,219,1036,277"/>
<area shape="poly" id="edge11_Node000002_Node000008" title=" " alt="" coords="867,180,905,216,902,220,863,183"/>
<area shape="rect" id="Node000010" href="$general__gpio_8h.html" title="Заголовочный файл для модуля инициализации портов и работы с ними." alt="" coords="1110,219,1316,277"/>
<area shape="poly" id="edge14_Node000002_Node000010" title=" " alt="" coords="929,168,1110,216,1109,222,928,173"/>
<area shape="rect" id="Node000011" href="$general__tim_8h.html" title="Заголовочный файл для модуля инициализации таймеров и работы с ними." alt="" coords="881,325,1086,384"/>
<area shape="poly" id="edge23_Node000002_Node000011" title=" " alt="" coords="929,149,963,158,996,172,1025,191,1050,217,1057,231,1059,246,1052,275,1036,303,1016,327,1012,323,1032,300,1047,273,1054,245,1052,233,1045,220,1022,195,993,177,961,163,928,154"/>
<area shape="rect" id="Node000016" href="$general__spi_8h.html" title="Заголовочный файл для модуля инициализации SPI." alt="" coords="1340,219,1545,277"/>
<area shape="poly" id="edge21_Node000002_Node000016" title=" " alt="" coords="928,153,1115,179,1328,216,1340,218,1339,224,1327,221,1114,185,928,158"/>
<area shape="rect" id="Node000017" href="$general__uart_8h.html" title="Заголовочный файл для модуля инициализации UART." alt="" coords="1569,219,1774,277"/>
<area shape="poly" id="edge24_Node000002_Node000017" title=" " alt="" coords="929,146,1213,170,1385,190,1557,216,1569,218,1568,223,1557,221,1385,196,1212,176,928,152"/>
<area shape="poly" id="edge3_Node000003_Node000004" title=" " alt="" coords="222,275,430,329,429,334,220,281"/>
<area shape="poly" id="edge5_Node000005_Node000004" title=" " alt="" coords="388,282,465,322,462,327,385,287"/>
<area shape="poly" id="edge8_Node000006_Node000004" title=" " alt="" coords="521,293,521,325,516,325,516,293"/>
<area shape="poly" id="edge10_Node000007_Node000004" title=" " alt="" coords="651,287,574,327,572,322,649,282"/>
<area shape="poly" id="edge12_Node000008_Node000004" title=" " alt="" coords="816,281,608,334,606,328,815,276"/>
<area shape="rect" id="Node000009" href="$____general__flash_8c_source.html" title=" " alt="" coords="652,325,857,384"/>
<area shape="poly" id="edge13_Node000008_Node000009" title=" " alt="" coords="873,288,804,327,802,323,870,283"/>
<area shape="poly" id="edge15_Node000010_Node000004" title=" " alt="" coords="1095,273,1048,280,933,294,844,302,754,311,640,328,607,334,606,329,639,323,754,306,843,297,933,289,1047,275,1094,267"/>
<area shape="poly" id="edge16_Node000010_Node000011" title=" " alt="" coords="1137,287,1048,327,1046,322,1135,282"/>
<area shape="rect" id="Node000013" href="$general__gpio_8c.html" title="Модуль для инициализации портов и работы с ними." alt="" coords="1110,325,1316,384"/>
<area shape="poly" id="edge18_Node000010_Node000013" title=" " alt="" coords="1216,293,1216,325,1210,325,1210,293"/>
<area shape="rect" id="Node000014" href="$general__spi_8c.html" title="Модуль для инициализации SPI." alt="" coords="1340,325,1545,384"/>
<area shape="poly" id="edge19_Node000010_Node000014" title=" " alt="" coords="1291,282,1380,322,1378,327,1289,287"/>
<area shape="rect" id="Node000015" href="$general__uart_8c.html" title="Модуль для инициализации UART." alt="" coords="1569,325,1774,384"/>
<area shape="poly" id="edge20_Node000010_Node000015" title=" " alt="" coords="1331,275,1558,323,1569,325,1568,331,1556,328,1330,281"/>
<area shape="rect" id="Node000012" href="$general__tim_8c.html" title="Модуль для инициализации таймеров и работы с ними." alt="" coords="881,432,1086,491"/>
<area shape="poly" id="edge17_Node000011_Node000012" title=" " alt="" coords="986,400,986,432,981,432,981,400"/>
<area shape="poly" id="edge22_Node000016_Node000014" title=" " alt="" coords="1445,293,1445,325,1440,325,1440,293"/>
<area shape="poly" id="edge25_Node000017_Node000015" title=" " alt="" coords="1674,293,1674,325,1669,325,1669,293"/>
<area shape="rect" id="Node000001" title="Конфигурации для библиотек MyLibs." alt="" coords="856,5,1032,64"/>
<area shape="rect" id="Node000002" href="$mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="856,112,1032,171"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="947,80,947,112,942,112,942,80"/>
<area shape="rect" id="Node000003" href="$bench__time_8h.html" title="Заголовочный файл для измерения времени между событиями" alt="" coords="5,219,182,277"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="841,150,549,173,371,193,194,221,183,224,182,218,193,216,370,188,548,167,840,145"/>
<area shape="rect" id="Node000004" href="$bit__access_8h.html" title="Заголочный файл для дефайнов битового доступа." alt="" coords="656,219,832,277"/>
<area shape="poly" id="edge3_Node000002_Node000004" title=" " alt="" coords="877,181,800,220,798,216,875,176"/>
<area shape="rect" id="Node000005" href="$mylibs__include_8h.html" title="Заголочный файл для всех библиотек" alt="" coords="656,325,832,384"/>
<area shape="poly" id="edge7_Node000002_Node000005" title=" " alt="" coords="841,158,781,168,723,182,675,200,658,210,646,220,638,234,636,247,647,276,665,302,691,323,687,327,662,306,642,279,631,247,633,232,642,217,655,205,673,195,722,177,780,163,840,153"/>
<area shape="rect" id="Node000006" href="$gen__optimizer_8h.html" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="856,219,1032,277"/>
<area shape="poly" id="edge5_Node000002_Node000006" title=" " alt="" coords="947,186,947,218,942,218,942,186"/>
<area shape="rect" id="Node000007" href="$trace_8h.html" title="Заголочный файл для работы с трассировкой." alt="" coords="205,219,382,277"/>
<area shape="poly" id="edge8_Node000002_Node000007" title=" " alt="" coords="841,155,634,181,513,199,394,221,383,224,382,219,393,216,512,194,633,175,840,150"/>
<area shape="rect" id="Node000008" href="$trackers_8h.html" title="Заголочный файл для работы с трекерами Trackers defines." alt="" coords="405,219,582,277"/>
<area shape="poly" id="edge10_Node000002_Node000008" title=" " alt="" coords="841,167,601,221,583,226,581,221,600,216,840,162"/>
<area shape="rect" id="Node000009" href="$____general__flash_8h_source.html" title=" " alt="" coords="1056,219,1262,277"/>
<area shape="poly" id="edge12_Node000002_Node000009" title=" " alt="" coords="1017,175,1101,216,1099,221,1015,180"/>
<area shape="rect" id="Node000011" href="$general__gpio_8h.html" title="Заголовочный файл для модуля инициализации портов и работы с ними." alt="" coords="1336,219,1542,277"/>
<area shape="poly" id="edge15_Node000002_Node000011" title=" " alt="" coords="1048,160,1318,216,1336,220,1335,225,1317,221,1047,166"/>
<area shape="rect" id="Node000012" href="$general__tim_8h.html" title="Заголовочный файл для модуля инициализации таймеров и работы с ними." alt="" coords="1107,325,1312,384"/>
<area shape="poly" id="edge24_Node000002_Node000012" title=" " alt="" coords="1048,150,1116,160,1183,174,1240,193,1261,204,1276,217,1283,231,1286,245,1279,274,1263,302,1242,327,1238,323,1258,299,1274,272,1280,245,1278,232,1271,220,1258,208,1237,197,1182,179,1115,165,1048,155"/>
<area shape="rect" id="Node000017" href="$general__spi_8h.html" title="Заголовочный файл для модуля инициализации SPI." alt="" coords="1566,219,1771,277"/>
<area shape="poly" id="edge22_Node000002_Node000017" title=" " alt="" coords="1048,149,1281,175,1418,194,1554,216,1566,218,1565,224,1553,221,1417,199,1280,180,1048,155"/>
<area shape="rect" id="Node000018" href="$general__uart_8h.html" title="Заголовочный файл для модуля инициализации UART." alt="" coords="1795,219,2000,277"/>
<area shape="poly" id="edge25_Node000002_Node000018" title=" " alt="" coords="1048,144,1377,167,1580,187,1783,216,1795,218,1794,223,1782,221,1579,193,1376,172,1048,150"/>
<area shape="poly" id="edge4_Node000004_Node000005" title=" " alt="" coords="747,293,747,325,742,325,742,293"/>
<area shape="poly" id="edge6_Node000006_Node000005" title=" " alt="" coords="877,287,800,327,798,322,875,282"/>
<area shape="poly" id="edge9_Node000007_Node000005" title=" " alt="" coords="398,276,656,333,655,338,396,281"/>
<area shape="poly" id="edge11_Node000008_Node000005" title=" " alt="" coords="577,281,676,322,674,327,575,286"/>
<area shape="poly" id="edge13_Node000009_Node000005" title=" " alt="" coords="1042,281,834,334,832,328,1040,276"/>
<area shape="rect" id="Node000010" href="$____general__flash_8c_source.html" title=" " alt="" coords="878,325,1083,384"/>
<area shape="poly" id="edge14_Node000009_Node000010" title=" " alt="" coords="1099,288,1030,327,1028,323,1096,283"/>
<area shape="poly" id="edge16_Node000011_Node000005" title=" " alt="" coords="1321,273,1274,280,1159,294,1069,302,980,311,866,328,833,334,832,329,865,323,979,306,1069,297,1159,289,1273,275,1320,267"/>
<area shape="poly" id="edge17_Node000011_Node000012" title=" " alt="" coords="1363,287,1274,327,1271,322,1361,282"/>
<area shape="rect" id="Node000014" href="$general__gpio_8c.html" title="Модуль для инициализации портов и работы с ними." alt="" coords="1336,325,1542,384"/>
<area shape="poly" id="edge19_Node000011_Node000014" title=" " alt="" coords="1442,293,1442,325,1436,325,1436,293"/>
<area shape="rect" id="Node000015" href="$general__spi_8c.html" title="Модуль для инициализации SPI." alt="" coords="1566,325,1771,384"/>
<area shape="poly" id="edge20_Node000011_Node000015" title=" " alt="" coords="1517,282,1606,322,1604,327,1514,287"/>
<area shape="rect" id="Node000016" href="$general__uart_8c.html" title="Модуль для инициализации UART." alt="" coords="1795,325,2000,384"/>
<area shape="poly" id="edge21_Node000011_Node000016" title=" " alt="" coords="1557,275,1783,323,1795,325,1794,331,1782,328,1556,281"/>
<area shape="rect" id="Node000013" href="$general__tim_8c.html" title="Модуль для инициализации таймеров и работы с ними." alt="" coords="1107,432,1312,491"/>
<area shape="poly" id="edge18_Node000012_Node000013" title=" " alt="" coords="1212,400,1212,432,1207,432,1207,400"/>
<area shape="poly" id="edge23_Node000017_Node000015" title=" " alt="" coords="1671,293,1671,325,1666,325,1666,293"/>
<area shape="poly" id="edge26_Node000018_Node000016" title=" " alt="" coords="1900,293,1900,325,1895,325,1895,293"/>
</map>

View File

@ -1 +1 @@
5684ae5794e6a9fd93ea5670cfcc39cf
1c7c706656d0b5264849d45ac47d4507

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

@ -157,45 +157,62 @@ $(function(){initNavTree('mylibs__config_8h_source.html','',''); });
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="comment"></span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="comment">/** </span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="comment"> * @addtogroup EVOLVE_CONFIG Evolve configs</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="comment"> * @addtogroup GEN_CONFIG Genetic configs</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="comment"> * @ingroup MYLIBS_CONFIG</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="comment"> * @brief Конфигурация однослойного персептрона и алгоритма обучения</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="comment"> * @brief Конфигурация генетического алгоритма обучения</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="comment"> * @{</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="comment"> */</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga2cac097081444a7a9b040f4b11550e47"> 64</a></span><span class="preprocessor">#define ENABLE_EVOLVE_OPTIMIZATION </span><span class="comment">///&lt; Включить оптимизацию параметров</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga80d6162495fc3776d8902610657d4fee"> 65</a></span><span class="preprocessor">#define EVOLVE_MAX_PARAMS 20 </span><span class="comment">///&lt; Максимальное количество параметров</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="group___e_v_o_l_v_e___c_o_n_f_i_g.html#ga7c1396e5c95c766afccdb45cbfcf5971"> 66</a></span><span class="preprocessor">#define EVOLVE_MAX_CANDIDATES 100 </span><span class="comment">///&lt; Максимальное количество кандидатов для обучения</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="group___g_e_n___c_o_n_f_i_g.html#gae6d1db3c0b21f67cb0db2673d207b62c"> 64</a></span><span class="preprocessor">#define GEN_OPTIMIZATION_ENABLE </span><span class="comment">///&lt; Включить оптимизацию параметров</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="group___g_e_n___c_o_n_f_i_g.html#ga8daf4b266a95353d580bd7946f47c0ab"> 65</a></span><span class="preprocessor">#define GEN_MAX_PARAMS 20 </span><span class="comment">///&lt; Максимальное количество параметров</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="group___g_e_n___c_o_n_f_i_g.html#ga201cffde04ebc6540869c74bd1dae869"> 66</a></span><span class="preprocessor">#define GEN_MAX_CANDIDATES 100 </span><span class="comment">///&lt; Максимальное количество кандидатов для обучения</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="comment"></span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="comment">/** EVOLVE_CONFIG</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="comment">/** GEN_CONFIG</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="comment"> * @}</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="comment"> */</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="comment"></span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="comment">/** </span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="comment"> * @addtogroup LIBS_CONFIG Libraries configs</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="comment"> * @addtogroup GEN_CONFIG Genetic configs</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="comment"> * @ingroup MYLIBS_CONFIG</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="comment"> * @brief Подключение различных модулей библиотеки</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="comment"> * @brief Конфигурация генетического алгоритма обучения</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="comment"> * @{</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="comment"> */</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653"> 80</a></span><span class="preprocessor">#define local_time() uwTick </span><span class="comment">///&lt; Локальное время</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga66560656d080d6551627a19dfb847c66"> 82</a></span><span class="preprocessor">#define INCLUDE_EVOLVE_OPTIMIZER </span><span class="comment">///&lt; Подключить библиотеку для оптимизации параметров</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#gaf4ddb2a71ec0d05c2480e197cd17c0be"> 83</a></span><span class="preprocessor">#define INCLUDE_BIT_ACCESS_LIB </span><span class="comment">///&lt; Подключить библиотеку с typedef с битовыми полями</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga4403055986b70bb02b8d37073a122e32"> 84</a></span><span class="preprocessor">#define INCLUDE_TRACKERS_LIB </span><span class="comment">///&lt; Подключить библиотеку с трекерами</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga0a3ca94b616997069dd53e2c6c2687d7"> 85</a></span><span class="preprocessor">#define INCLUDE_TRACE_LIB </span><span class="comment">///&lt; Подключить библиотеку с трейсами</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga181a46326e46b60afb160190832c7281"> 86</a></span><span class="preprocessor">#define INCLUDE_GENERAL_PERIPH_LIBS </span><span class="comment">///&lt; Подключить библиотеку с периферией</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga57c369737d5c0cfdb7baeecba0a4b151"> 87</a></span><span class="preprocessor">#define FREERTOS_DELAY </span><span class="comment">///&lt; Использовать FreeRTOS задержку, вместо HAL</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="comment"></span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="comment">/** LIBS_CONFIG</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="comment"> * @}</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="comment"> */</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="comment"></span> </div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="comment">/** MYLIBS_CONFIG</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="comment"> * @}</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="group___g_e_n___c_o_n_f_i_g.html#ga67c3c54503b9bbd5d175ac46d37866d9"> 81</a></span><span class="preprocessor">#define BENCH_TIME_ENABLE </span><span class="comment">///&lt; Включить бенч времени</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52"> 82</a></span><span class="preprocessor">#define BENCH_TIME_MAX_CHANNELS 16 </span><span class="comment">///&lt; Максимальное количество каналов измерения</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="comment"></span> </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="comment">/** GEN_CONFIG</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="comment"> * @}</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="comment"> */</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="comment"></span> </div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="comment">/** </span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="comment"> * @addtogroup LIBS_CONFIG Libraries configs</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="comment"> * @ingroup MYLIBS_CONFIG</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="comment"> * @brief Подключение различных модулей библиотеки</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="comment"> * @{</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="comment"> */</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="preprocessor">#endif </span><span class="comment">//__MYLIBS_CONFIG_H_</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653"> 97</a></span><span class="preprocessor">#define local_time() uwTick </span><span class="comment">///&lt; Локальное время</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> </div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga3cdc9ef47fd3ff080d38481295327692"> 99</a></span><span class="preprocessor">#define INCLUDE_GEN_OPTIMIZER </span><span class="comment">///&lt; Подключить библиотеку для оптимизации параметров</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#gaf4ddb2a71ec0d05c2480e197cd17c0be"> 100</a></span><span class="preprocessor">#define INCLUDE_BIT_ACCESS_LIB </span><span class="comment">///&lt; Подключить библиотеку с typedef с битовыми полями</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga4403055986b70bb02b8d37073a122e32"> 101</a></span><span class="preprocessor">#define INCLUDE_TRACKERS_LIB </span><span class="comment">///&lt; Подключить библиотеку с трекерами</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga0a3ca94b616997069dd53e2c6c2687d7"> 102</a></span><span class="preprocessor">#define INCLUDE_TRACE_LIB </span><span class="comment">///&lt; Подключить библиотеку с трейсами</span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga181a46326e46b60afb160190832c7281"> 103</a></span><span class="preprocessor">#define INCLUDE_GENERAL_PERIPH_LIBS </span><span class="comment">///&lt; Подключить библиотеку с периферией</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga57c369737d5c0cfdb7baeecba0a4b151"> 104</a></span><span class="preprocessor">#define FREERTOS_DELAY </span><span class="comment">///&lt; Использовать FreeRTOS задержку, вместо HAL</span></div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="comment"></span> </div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="comment">/** LIBS_CONFIG</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="comment"> * @}</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="comment"> */</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="comment"></span> </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="comment">/** MYLIBS_CONFIG</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="comment"> * @}</span></div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="comment"> */</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="preprocessor">#endif </span><span class="comment">//__MYLIBS_CONFIG_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->

View File

@ -123,46 +123,48 @@ $(function(){initNavTree('mylibs__defs_8h.html','',''); });
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="mylibs__defs_8h__dep__incl.png" border="0" usemap="#a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2mylibs__defs_8hdep" loading="lazy" alt=""/></div>
<map name="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2mylibs__defs_8hdep" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_2_inc_2mylibs__defs_8hdep">
<area shape="rect" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="737,5,913,64"/>
<area shape="rect" href="bit__access_8h.html" title="Заголочный файл для дефайнов битового доступа." alt="" coords="30,112,206,171"/>
<area shape="poly" title=" " alt="" coords="722,47,490,72,354,91,219,115,208,117,206,112,218,109,353,85,490,66,721,42"/>
<area shape="rect" href="mylibs__include_8h.html" title="Заголочный файл для всех библиотек" alt="" coords="430,219,606,277"/>
<area shape="poly" title=" " alt="" coords="721,41,531,47,310,61,207,70,119,82,54,97,33,105,20,114,11,128,8,141,11,155,20,169,47,189,87,205,138,218,195,228,318,239,430,244,430,249,318,245,195,233,137,223,86,210,44,194,16,172,6,157,3,141,6,125,16,110,30,100,53,92,118,77,206,65,309,55,530,42,721,35"/>
<area shape="rect" href="evolve__optimizer_8h.html" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="230,112,406,171"/>
<area shape="poly" title=" " alt="" coords="722,55,578,81,419,115,408,117,406,112,418,109,577,76,721,50"/>
<area shape="rect" href="trace_8h.html" title="Заголочный файл для работы с трассировкой." alt="" coords="430,112,606,171"/>
<area shape="poly" title=" " alt="" coords="727,72,603,114,601,109,725,67"/>
<area shape="rect" href="trackers_8h.html" title="Заголочный файл для работы с трекерами Trackers defines." alt="" coords="630,112,806,171"/>
<area shape="poly" title=" " alt="" coords="787,77,749,114,746,110,783,73"/>
<area shape="rect" href="____general__flash_8h_source.html" title=" " alt="" coords="830,112,1036,171"/>
<area shape="poly" title=" " alt="" coords="867,73,905,110,902,114,863,77"/>
<area shape="rect" href="general__gpio_8h.html" title="Заголовочный файл для модуля инициализации портов и работы с ними." alt="" coords="1110,112,1316,171"/>
<area shape="poly" title=" " alt="" coords="929,61,1110,110,1109,115,928,66"/>
<area shape="rect" href="general__tim_8h.html" title="Заголовочный файл для модуля инициализации таймеров и работы с ними." alt="" coords="881,219,1086,277"/>
<area shape="poly" title=" " alt="" coords="929,42,963,52,996,65,1025,85,1050,110,1057,124,1059,139,1052,168,1036,196,1016,220,1012,217,1032,193,1047,166,1054,139,1052,126,1045,114,1022,89,993,70,961,57,928,48"/>
<area shape="rect" href="general__spi_8h.html" title="Заголовочный файл для модуля инициализации SPI." alt="" coords="1340,112,1545,171"/>
<area shape="poly" title=" " alt="" coords="928,46,1115,73,1328,109,1340,112,1339,117,1327,115,1114,78,928,51"/>
<area shape="rect" href="general__uart_8h.html" title="Заголовочный файл для модуля инициализации UART." alt="" coords="1569,112,1774,171"/>
<area shape="poly" title=" " alt="" coords="929,40,1213,64,1385,84,1557,109,1569,112,1568,117,1557,115,1385,89,1212,69,928,45"/>
<area shape="poly" title=" " alt="" coords="222,169,430,222,429,227,220,174"/>
<area shape="poly" title=" " alt="" coords="388,176,465,216,462,220,385,181"/>
<area shape="poly" title=" " alt="" coords="521,186,521,218,516,218,516,186"/>
<area shape="poly" title=" " alt="" coords="651,181,574,220,572,216,649,176"/>
<area shape="poly" title=" " alt="" coords="816,175,608,227,606,222,815,170"/>
<area shape="rect" href="____general__flash_8c_source.html" title=" " alt="" coords="652,219,857,277"/>
<area shape="poly" title=" " alt="" coords="873,181,804,221,802,216,870,176"/>
<area shape="poly" title=" " alt="" coords="1095,166,1048,173,933,187,844,195,754,204,640,221,607,228,606,222,639,216,754,199,843,190,933,182,1047,168,1094,161"/>
<area shape="poly" title=" " alt="" coords="1137,180,1048,221,1046,216,1135,175"/>
<area shape="rect" href="general__gpio_8c.html" title="Модуль для инициализации портов и работы с ними." alt="" coords="1110,219,1316,277"/>
<area shape="poly" title=" " alt="" coords="1216,186,1216,218,1210,218,1210,186"/>
<area shape="rect" href="general__spi_8c.html" title="Модуль для инициализации SPI." alt="" coords="1340,219,1545,277"/>
<area shape="poly" title=" " alt="" coords="1291,175,1380,216,1378,221,1289,180"/>
<area shape="rect" href="general__uart_8c.html" title="Модуль для инициализации UART." alt="" coords="1569,219,1774,277"/>
<area shape="poly" title=" " alt="" coords="1331,169,1558,216,1569,219,1568,224,1556,221,1330,174"/>
<area shape="rect" href="general__tim_8c.html" title="Модуль для инициализации таймеров и работы с ними." alt="" coords="881,325,1086,384"/>
<area shape="poly" title=" " alt="" coords="986,293,986,325,981,325,981,293"/>
<area shape="poly" title=" " alt="" coords="1445,186,1445,218,1440,218,1440,186"/>
<area shape="poly" title=" " alt="" coords="1674,186,1674,218,1669,218,1669,186"/>
<area shape="rect" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="856,5,1032,64"/>
<area shape="rect" href="bench__time_8h.html" title="Заголовочный файл для измерения времени между событиями" alt="" coords="5,112,182,171"/>
<area shape="poly" title=" " alt="" coords="841,43,549,66,371,86,194,115,183,117,182,112,193,109,370,81,548,61,840,38"/>
<area shape="rect" href="bit__access_8h.html" title="Заголочный файл для дефайнов битового доступа." alt="" coords="656,112,832,171"/>
<area shape="poly" title=" " alt="" coords="877,74,800,114,798,109,875,69"/>
<area shape="rect" href="mylibs__include_8h.html" title="Заголочный файл для всех библиотек" alt="" coords="656,219,832,277"/>
<area shape="poly" title=" " alt="" coords="841,51,781,62,723,76,675,93,658,103,646,114,638,127,636,140,647,169,665,195,691,216,687,220,662,199,642,172,631,141,633,126,642,110,655,99,673,88,722,71,780,57,840,46"/>
<area shape="rect" href="gen__optimizer_8h.html" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="856,112,1032,171"/>
<area shape="poly" title=" " alt="" coords="947,80,947,112,942,112,942,80"/>
<area shape="rect" href="trace_8h.html" title="Заголочный файл для работы с трассировкой." alt="" coords="205,112,382,171"/>
<area shape="poly" title=" " alt="" coords="841,49,634,74,513,92,394,115,383,117,382,112,393,109,512,87,633,69,840,43"/>
<area shape="rect" href="trackers_8h.html" title="Заголочный файл для работы с трекерами Trackers defines." alt="" coords="405,112,582,171"/>
<area shape="poly" title=" " alt="" coords="841,60,601,115,583,119,581,114,600,109,840,55"/>
<area shape="rect" href="____general__flash_8h_source.html" title=" " alt="" coords="1056,112,1262,171"/>
<area shape="poly" title=" " alt="" coords="1017,69,1101,109,1099,114,1015,73"/>
<area shape="rect" href="general__gpio_8h.html" title="Заголовочный файл для модуля инициализации портов и работы с ними." alt="" coords="1336,112,1542,171"/>
<area shape="poly" title=" " alt="" coords="1048,54,1318,109,1336,113,1335,119,1317,115,1047,59"/>
<area shape="rect" href="general__tim_8h.html" title="Заголовочный файл для модуля инициализации таймеров и работы с ними." alt="" coords="1107,219,1312,277"/>
<area shape="poly" title=" " alt="" coords="1048,43,1116,53,1183,67,1240,86,1261,97,1276,110,1283,124,1286,138,1279,168,1263,196,1242,220,1238,217,1258,193,1274,166,1280,138,1278,126,1271,114,1258,102,1237,91,1182,72,1115,58,1048,49"/>
<area shape="rect" href="general__spi_8h.html" title="Заголовочный файл для модуля инициализации SPI." alt="" coords="1566,112,1771,171"/>
<area shape="poly" title=" " alt="" coords="1048,43,1281,68,1418,87,1554,109,1566,112,1565,117,1553,115,1417,92,1280,74,1048,48"/>
<area shape="rect" href="general__uart_8h.html" title="Заголовочный файл для модуля инициализации UART." alt="" coords="1795,112,2000,171"/>
<area shape="poly" title=" " alt="" coords="1048,38,1377,60,1580,81,1783,109,1795,111,1794,117,1782,115,1579,86,1376,65,1048,43"/>
<area shape="poly" title=" " alt="" coords="747,186,747,218,742,218,742,186"/>
<area shape="poly" title=" " alt="" coords="877,181,800,220,798,216,875,176"/>
<area shape="poly" title=" " alt="" coords="398,169,656,226,655,232,396,174"/>
<area shape="poly" title=" " alt="" coords="577,174,676,216,674,221,575,179"/>
<area shape="poly" title=" " alt="" coords="1042,175,834,227,832,222,1040,170"/>
<area shape="rect" href="____general__flash_8c_source.html" title=" " alt="" coords="878,219,1083,277"/>
<area shape="poly" title=" " alt="" coords="1099,181,1030,221,1028,216,1096,176"/>
<area shape="poly" title=" " alt="" coords="1321,166,1274,173,1159,187,1069,195,980,204,866,221,833,228,832,222,865,216,979,199,1069,190,1159,182,1273,168,1320,161"/>
<area shape="poly" title=" " alt="" coords="1363,180,1274,221,1271,216,1361,175"/>
<area shape="rect" href="general__gpio_8c.html" title="Модуль для инициализации портов и работы с ними." alt="" coords="1336,219,1542,277"/>
<area shape="poly" title=" " alt="" coords="1442,186,1442,218,1436,218,1436,186"/>
<area shape="rect" href="general__spi_8c.html" title="Модуль для инициализации SPI." alt="" coords="1566,219,1771,277"/>
<area shape="poly" title=" " alt="" coords="1517,175,1606,216,1604,221,1514,180"/>
<area shape="rect" href="general__uart_8c.html" title="Модуль для инициализации UART." alt="" coords="1795,219,2000,277"/>
<area shape="poly" title=" " alt="" coords="1557,169,1783,216,1795,219,1794,224,1782,221,1556,174"/>
<area shape="rect" href="general__tim_8c.html" title="Модуль для инициализации таймеров и работы с ними." alt="" coords="1107,325,1312,384"/>
<area shape="poly" title=" " alt="" coords="1212,293,1212,325,1207,325,1207,293"/>
<area shape="poly" title=" " alt="" coords="1671,186,1671,218,1666,218,1666,186"/>
<area shape="poly" title=" " alt="" coords="1900,186,1900,218,1895,218,1895,186"/>
</map>
</div>
</div>

View File

@ -1,42 +1,44 @@
<map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/mylibs_defs.h" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/mylibs_defs.h">
<area shape="rect" id="Node000001" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="737,5,913,64"/>
<area shape="rect" id="Node000002" href="$bit__access_8h.html" title="Заголочный файл для дефайнов битового доступа." alt="" coords="30,112,206,171"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="722,47,490,72,354,91,219,115,208,117,206,112,218,109,353,85,490,66,721,42"/>
<area shape="rect" id="Node000003" href="$mylibs__include_8h.html" title="Заголочный файл для всех библиотек" alt="" coords="430,219,606,277"/>
<area shape="poly" id="edge5_Node000001_Node000003" title=" " alt="" coords="721,41,531,47,310,61,207,70,119,82,54,97,33,105,20,114,11,128,8,141,11,155,20,169,47,189,87,205,138,218,195,228,318,239,430,244,430,249,318,245,195,233,137,223,86,210,44,194,16,172,6,157,3,141,6,125,16,110,30,100,53,92,118,77,206,65,309,55,530,42,721,35"/>
<area shape="rect" id="Node000004" href="$evolve__optimizer_8h.html" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="230,112,406,171"/>
<area shape="poly" id="edge3_Node000001_Node000004" title=" " alt="" coords="722,55,578,81,419,115,408,117,406,112,418,109,577,76,721,50"/>
<area shape="rect" id="Node000005" href="$trace_8h.html" title="Заголочный файл для работы с трассировкой." alt="" coords="430,112,606,171"/>
<area shape="poly" id="edge6_Node000001_Node000005" title=" " alt="" coords="727,72,603,114,601,109,725,67"/>
<area shape="rect" id="Node000006" href="$trackers_8h.html" title="Заголочный файл для работы с трекерами Trackers defines." alt="" coords="630,112,806,171"/>
<area shape="poly" id="edge8_Node000001_Node000006" title=" " alt="" coords="787,77,749,114,746,110,783,73"/>
<area shape="rect" id="Node000007" href="$____general__flash_8h_source.html" title=" " alt="" coords="830,112,1036,171"/>
<area shape="poly" id="edge10_Node000001_Node000007" title=" " alt="" coords="867,73,905,110,902,114,863,77"/>
<area shape="rect" id="Node000009" href="$general__gpio_8h.html" title="Заголовочный файл для модуля инициализации портов и работы с ними." alt="" coords="1110,112,1316,171"/>
<area shape="poly" id="edge13_Node000001_Node000009" title=" " alt="" coords="929,61,1110,110,1109,115,928,66"/>
<area shape="rect" id="Node000010" href="$general__tim_8h.html" title="Заголовочный файл для модуля инициализации таймеров и работы с ними." alt="" coords="881,219,1086,277"/>
<area shape="poly" id="edge22_Node000001_Node000010" title=" " alt="" coords="929,42,963,52,996,65,1025,85,1050,110,1057,124,1059,139,1052,168,1036,196,1016,220,1012,217,1032,193,1047,166,1054,139,1052,126,1045,114,1022,89,993,70,961,57,928,48"/>
<area shape="rect" id="Node000015" href="$general__spi_8h.html" title="Заголовочный файл для модуля инициализации SPI." alt="" coords="1340,112,1545,171"/>
<area shape="poly" id="edge20_Node000001_Node000015" title=" " alt="" coords="928,46,1115,73,1328,109,1340,112,1339,117,1327,115,1114,78,928,51"/>
<area shape="rect" id="Node000016" href="$general__uart_8h.html" title="Заголовочный файл для модуля инициализации UART." alt="" coords="1569,112,1774,171"/>
<area shape="poly" id="edge23_Node000001_Node000016" title=" " alt="" coords="929,40,1213,64,1385,84,1557,109,1569,112,1568,117,1557,115,1385,89,1212,69,928,45"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="222,169,430,222,429,227,220,174"/>
<area shape="poly" id="edge4_Node000004_Node000003" title=" " alt="" coords="388,176,465,216,462,220,385,181"/>
<area shape="poly" id="edge7_Node000005_Node000003" title=" " alt="" coords="521,186,521,218,516,218,516,186"/>
<area shape="poly" id="edge9_Node000006_Node000003" title=" " alt="" coords="651,181,574,220,572,216,649,176"/>
<area shape="poly" id="edge11_Node000007_Node000003" title=" " alt="" coords="816,175,608,227,606,222,815,170"/>
<area shape="rect" id="Node000008" href="$____general__flash_8c_source.html" title=" " alt="" coords="652,219,857,277"/>
<area shape="poly" id="edge12_Node000007_Node000008" title=" " alt="" coords="873,181,804,221,802,216,870,176"/>
<area shape="poly" id="edge14_Node000009_Node000003" title=" " alt="" coords="1095,166,1048,173,933,187,844,195,754,204,640,221,607,228,606,222,639,216,754,199,843,190,933,182,1047,168,1094,161"/>
<area shape="poly" id="edge15_Node000009_Node000010" title=" " alt="" coords="1137,180,1048,221,1046,216,1135,175"/>
<area shape="rect" id="Node000012" href="$general__gpio_8c.html" title="Модуль для инициализации портов и работы с ними." alt="" coords="1110,219,1316,277"/>
<area shape="poly" id="edge17_Node000009_Node000012" title=" " alt="" coords="1216,186,1216,218,1210,218,1210,186"/>
<area shape="rect" id="Node000013" href="$general__spi_8c.html" title="Модуль для инициализации SPI." alt="" coords="1340,219,1545,277"/>
<area shape="poly" id="edge18_Node000009_Node000013" title=" " alt="" coords="1291,175,1380,216,1378,221,1289,180"/>
<area shape="rect" id="Node000014" href="$general__uart_8c.html" title="Модуль для инициализации UART." alt="" coords="1569,219,1774,277"/>
<area shape="poly" id="edge19_Node000009_Node000014" title=" " alt="" coords="1331,169,1558,216,1569,219,1568,224,1556,221,1330,174"/>
<area shape="rect" id="Node000011" href="$general__tim_8c.html" title="Модуль для инициализации таймеров и работы с ними." alt="" coords="881,325,1086,384"/>
<area shape="poly" id="edge16_Node000010_Node000011" title=" " alt="" coords="986,293,986,325,981,325,981,293"/>
<area shape="poly" id="edge21_Node000015_Node000013" title=" " alt="" coords="1445,186,1445,218,1440,218,1440,186"/>
<area shape="poly" id="edge24_Node000016_Node000014" title=" " alt="" coords="1674,186,1674,218,1669,218,1669,186"/>
<area shape="rect" id="Node000001" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="856,5,1032,64"/>
<area shape="rect" id="Node000002" href="$bench__time_8h.html" title="Заголовочный файл для измерения времени между событиями" alt="" coords="5,112,182,171"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="841,43,549,66,371,86,194,115,183,117,182,112,193,109,370,81,548,61,840,38"/>
<area shape="rect" id="Node000003" href="$bit__access_8h.html" title="Заголочный файл для дефайнов битового доступа." alt="" coords="656,112,832,171"/>
<area shape="poly" id="edge2_Node000001_Node000003" title=" " alt="" coords="877,74,800,114,798,109,875,69"/>
<area shape="rect" id="Node000004" href="$mylibs__include_8h.html" title="Заголочный файл для всех библиотек" alt="" coords="656,219,832,277"/>
<area shape="poly" id="edge6_Node000001_Node000004" title=" " alt="" coords="841,51,781,62,723,76,675,93,658,103,646,114,638,127,636,140,647,169,665,195,691,216,687,220,662,199,642,172,631,141,633,126,642,110,655,99,673,88,722,71,780,57,840,46"/>
<area shape="rect" id="Node000005" href="$gen__optimizer_8h.html" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="856,112,1032,171"/>
<area shape="poly" id="edge4_Node000001_Node000005" title=" " alt="" coords="947,80,947,112,942,112,942,80"/>
<area shape="rect" id="Node000006" href="$trace_8h.html" title="Заголочный файл для работы с трассировкой." alt="" coords="205,112,382,171"/>
<area shape="poly" id="edge7_Node000001_Node000006" title=" " alt="" coords="841,49,634,74,513,92,394,115,383,117,382,112,393,109,512,87,633,69,840,43"/>
<area shape="rect" id="Node000007" href="$trackers_8h.html" title="Заголочный файл для работы с трекерами Trackers defines." alt="" coords="405,112,582,171"/>
<area shape="poly" id="edge9_Node000001_Node000007" title=" " alt="" coords="841,60,601,115,583,119,581,114,600,109,840,55"/>
<area shape="rect" id="Node000008" href="$____general__flash_8h_source.html" title=" " alt="" coords="1056,112,1262,171"/>
<area shape="poly" id="edge11_Node000001_Node000008" title=" " alt="" coords="1017,69,1101,109,1099,114,1015,73"/>
<area shape="rect" id="Node000010" href="$general__gpio_8h.html" title="Заголовочный файл для модуля инициализации портов и работы с ними." alt="" coords="1336,112,1542,171"/>
<area shape="poly" id="edge14_Node000001_Node000010" title=" " alt="" coords="1048,54,1318,109,1336,113,1335,119,1317,115,1047,59"/>
<area shape="rect" id="Node000011" href="$general__tim_8h.html" title="Заголовочный файл для модуля инициализации таймеров и работы с ними." alt="" coords="1107,219,1312,277"/>
<area shape="poly" id="edge23_Node000001_Node000011" title=" " alt="" coords="1048,43,1116,53,1183,67,1240,86,1261,97,1276,110,1283,124,1286,138,1279,168,1263,196,1242,220,1238,217,1258,193,1274,166,1280,138,1278,126,1271,114,1258,102,1237,91,1182,72,1115,58,1048,49"/>
<area shape="rect" id="Node000016" href="$general__spi_8h.html" title="Заголовочный файл для модуля инициализации SPI." alt="" coords="1566,112,1771,171"/>
<area shape="poly" id="edge21_Node000001_Node000016" title=" " alt="" coords="1048,43,1281,68,1418,87,1554,109,1566,112,1565,117,1553,115,1417,92,1280,74,1048,48"/>
<area shape="rect" id="Node000017" href="$general__uart_8h.html" title="Заголовочный файл для модуля инициализации UART." alt="" coords="1795,112,2000,171"/>
<area shape="poly" id="edge24_Node000001_Node000017" title=" " alt="" coords="1048,38,1377,60,1580,81,1783,109,1795,111,1794,117,1782,115,1579,86,1376,65,1048,43"/>
<area shape="poly" id="edge3_Node000003_Node000004" title=" " alt="" coords="747,186,747,218,742,218,742,186"/>
<area shape="poly" id="edge5_Node000005_Node000004" title=" " alt="" coords="877,181,800,220,798,216,875,176"/>
<area shape="poly" id="edge8_Node000006_Node000004" title=" " alt="" coords="398,169,656,226,655,232,396,174"/>
<area shape="poly" id="edge10_Node000007_Node000004" title=" " alt="" coords="577,174,676,216,674,221,575,179"/>
<area shape="poly" id="edge12_Node000008_Node000004" title=" " alt="" coords="1042,175,834,227,832,222,1040,170"/>
<area shape="rect" id="Node000009" href="$____general__flash_8c_source.html" title=" " alt="" coords="878,219,1083,277"/>
<area shape="poly" id="edge13_Node000008_Node000009" title=" " alt="" coords="1099,181,1030,221,1028,216,1096,176"/>
<area shape="poly" id="edge15_Node000010_Node000004" title=" " alt="" coords="1321,166,1274,173,1159,187,1069,195,980,204,866,221,833,228,832,222,865,216,979,199,1069,190,1159,182,1273,168,1320,161"/>
<area shape="poly" id="edge16_Node000010_Node000011" title=" " alt="" coords="1363,180,1274,221,1271,216,1361,175"/>
<area shape="rect" id="Node000013" href="$general__gpio_8c.html" title="Модуль для инициализации портов и работы с ними." alt="" coords="1336,219,1542,277"/>
<area shape="poly" id="edge18_Node000010_Node000013" title=" " alt="" coords="1442,186,1442,218,1436,218,1436,186"/>
<area shape="rect" id="Node000014" href="$general__spi_8c.html" title="Модуль для инициализации SPI." alt="" coords="1566,219,1771,277"/>
<area shape="poly" id="edge19_Node000010_Node000014" title=" " alt="" coords="1517,175,1606,216,1604,221,1514,180"/>
<area shape="rect" id="Node000015" href="$general__uart_8c.html" title="Модуль для инициализации UART." alt="" coords="1795,219,2000,277"/>
<area shape="poly" id="edge20_Node000010_Node000015" title=" " alt="" coords="1557,169,1783,216,1795,219,1794,224,1782,221,1556,174"/>
<area shape="rect" id="Node000012" href="$general__tim_8c.html" title="Модуль для инициализации таймеров и работы с ними." alt="" coords="1107,325,1312,384"/>
<area shape="poly" id="edge17_Node000011_Node000012" title=" " alt="" coords="1212,293,1212,325,1207,325,1207,293"/>
<area shape="poly" id="edge22_Node000016_Node000014" title=" " alt="" coords="1671,186,1671,218,1666,218,1666,186"/>
<area shape="poly" id="edge25_Node000017_Node000015" title=" " alt="" coords="1900,186,1900,218,1895,218,1895,186"/>
</map>

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