Compare commits
	
		
			4 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 15c0e3755d | |||
| 5c4c815961 | |||
| 9093084257 | |||
| 141ea6bac9 | 
| @ -1,2 +0,0 @@ | ||||
| @echo off | ||||
| start "" "%~dp0.\html\index.html" | ||||
							
								
								
									
										6
									
								
								Doc/Documentation.vbs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,6 @@ | ||||
| ' open_index.vbs | ||||
| Set fso = CreateObject("Scripting.FileSystemObject") | ||||
| scriptPath = WScript.ScriptFullName | ||||
| scriptFolder = fso.GetParentFolderName(scriptPath) | ||||
| htmlPath = scriptFolder & "\html\index.html" | ||||
| CreateObject("WScript.Shell").Run """" & htmlPath & """", 1, False | ||||
| @ -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, | ||||
| @ -991,7 +991,9 @@ WARN_LOGFILE           = | ||||
| # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING | ||||
| # Note: If this tag is empty the current directory is searched. | ||||
| 
 | ||||
| INPUT                  = E:\.WORK\STM32\STM32_ExtendedLibs\MyLibsGeneral | ||||
| INPUT                  = E:\.WORK\STM32\STM32_ExtendedLibs\MyLibs \ | ||||
|                          E:\.WORK\STM32\STM32_ExtendedLibs\STM32_General \ | ||||
|                          E:\.WORK\STM32\STM32_ExtendedLibs\mainpage.h | ||||
| 
 | ||||
| # This tag can be used to specify the character encoding of the source files | ||||
| # that Doxygen parses. Internally Doxygen uses the UTF-8 encoding. Doxygen uses | ||||
|  | ||||
| @ -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/MyLibsGeneral/Src/__general_flash.c Source File</title> | ||||
| <title>MyLibs: E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General/Src/__general_flash.c 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> | ||||
| @ -298,7 +298,7 @@ $(function(){initNavTree('____general__flash_8c_source.html','',''); }); | ||||
| <!-- start footer part --> | ||||
| <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> | ||||
|   <ul> | ||||
|     <li class="navelem"><a href="dir_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_9c80311a018e1f8cfb6659b73d634be4.html">Src</a></li><li class="navelem"><b>__general_flash.c</b></li> | ||||
|     <li class="navelem"><a href="dir_57feeba75fefbd1a9c832b76e3bce520.html">STM32_General</a></li><li class="navelem"><a href="dir_3d5e348fed410a00f9c665596ca3b887.html">Src</a></li><li class="navelem"><b>__general_flash.c</b></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> | ||||
|  | ||||
| @ -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/MyLibsGeneral/Inc/__general_flash.h Source File</title> | ||||
| <title>MyLibs: E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General/Inc/__general_flash.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> | ||||
| @ -151,7 +151,7 @@ $(function(){initNavTree('____general__flash_8h_source.html','',''); }); | ||||
| <!-- start footer part --> | ||||
| <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> | ||||
|   <ul> | ||||
|     <li class="navelem"><a href="dir_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_eb423fea8a9c4b9b32b922020ec391e1.html">Inc</a></li><li class="navelem"><b>__general_flash.h</b></li> | ||||
|     <li class="navelem"><a href="dir_57feeba75fefbd1a9c832b76e3bce520.html">STM32_General</a></li><li class="navelem"><a href="dir_2cad7b5fa94233a09111fd73c6202518.html">Inc</a></li><li class="navelem"><b>__general_flash.h</b></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> | ||||
|  | ||||
| @ -1,417 +0,0 @@ | ||||
| <!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.10.0"/> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1"/> | ||||
| <title>MyLibs: F:/Work/Projects/STM/.Elementary/STM32_ExtendedLibs/MyLibsGeneral/Src/__general_spi.c 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="resize.js"></script> | ||||
| <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"> 1.0</span> | ||||
|    </div> | ||||
|    <div id="projectbrief">Расширенные библиотеки для STM32</div> | ||||
|   </td> | ||||
|  </tr> | ||||
|  </tbody> | ||||
| </table> | ||||
| </div> | ||||
| <!-- end header part --> | ||||
| <!-- Generated by Doxygen 1.10.0 --> | ||||
| <script type="text/javascript"> | ||||
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||||
| var searchBox = new SearchBox("searchBox", "search/",'.html'); | ||||
| /* @license-end */ | ||||
| </script> | ||||
| <script type="text/javascript" src="menudata.js"></script> | ||||
| <script type="text/javascript" src="menu.js"></script> | ||||
| <script type="text/javascript"> | ||||
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||||
| $(function() { | ||||
|   initMenu('',true,false,'search.php','Search'); | ||||
|   $(function() { init_search(); }); | ||||
| }); | ||||
| /* @license-end */ | ||||
| </script> | ||||
| <div id="main-nav"></div> | ||||
| <script type="text/javascript"> | ||||
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||||
| $(function() { codefold.init(0); }); | ||||
| /* @license-end */ | ||||
| </script> | ||||
| </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"> | ||||
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||||
| $(function(){initNavTree('____general__spi_8c_source.html',''); initResizable(); }); | ||||
| /* @license-end */ | ||||
| </script> | ||||
| <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">__general_spi.c</div></div> | ||||
| </div><!--header--> | ||||
| <div class="contents"> | ||||
| <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 general_spi.c</span></div> | ||||
| <div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="comment">* @brief Модуль для инициализации SPI.</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">* @details</span></div> | ||||
| <div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="comment">*</span></div> | ||||
| <div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="comment">* Функции:</span></div> | ||||
| <div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="comment">*   - SPI_Base_Init             Инициализация SPI </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">* Functions: spi initialize</span></div> | ||||
| <div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="comment">*   - SPI_GPIO_Init             Инициализация GPIO для SPI</span></div> | ||||
| <div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="comment">*   - SPI_DMA_Init              Инициализация DMA для SPI</span></div> | ||||
| <div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="comment">*   - SPI_MspInit               Аналог HAL_MspInit для SPI</span></div> | ||||
| <div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="comment">*   - SPI_MspDeInit             Аналог HAL_MspDeInit для SPI</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="preprocessor">#include "general_spi.h"</span></div> | ||||
| <div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#include "<a class="code" href="general__gpio_8h.html">general_gpio.h</a>"</span></div> | ||||
| <div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div> | ||||
| <div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="comment">//-------------------------------------------------------------------</span></div> | ||||
| <div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="comment">//------------------------SPI INIT FUNCTIONS------------------------</span><span class="comment"></span></div> | ||||
| <div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="comment">/**  </span></div> | ||||
| <div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="comment">  * @brief  Initialize SPI with SPI_SettingsTypeDef structure.</span></div> | ||||
| <div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="comment">  * @param  sspi - указатель на структуру с настройками SPI.</span></div> | ||||
| <div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="comment">  * @return HAL status.</span></div> | ||||
| <div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="comment">  * @note   SPI_SettingsTypeDef структура содержит хендл SPI и настройки перефирии (GPIO)</span></div> | ||||
| <div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="comment">  */</span></div> | ||||
| <div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>HAL_StatusTypeDef SPI_Base_Init(<a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi)</div> | ||||
| <div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span>{ <span class="comment">// function takes setting structure for init</span></div> | ||||
| <div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span>  </div> | ||||
| <div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>  <span class="comment">// check is settings are valid</span></div> | ||||
| <div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>  <span class="keywordflow">if</span>(Check_SPI_Init_Struct(sspi) != HAL_OK)</div> | ||||
| <div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>    <span class="keywordflow">return</span> HAL_ERROR;</div> | ||||
| <div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>  </div> | ||||
| <div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>  SPI_MspInit(&sspi->hspi); </div> | ||||
| <div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>  </div> | ||||
| <div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>  <span class="keywordflow">if</span> (HAL_SPI_Init(&sspi->hspi) != HAL_OK)</div> | ||||
| <div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>  {</div> | ||||
| <div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>    <a class="code hl_define" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae110df81afd885a390bbeb152d7b709f">MyLibs_Error_Handler</a>();</div> | ||||
| <div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>    <span class="keywordflow">return</span> HAL_ERROR;</div> | ||||
| <div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>  }</div> | ||||
| <div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>  </div> | ||||
| <div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>  <span class="comment">// init gpio from SPISettings structure</span></div> | ||||
| <div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>  SPI_GPIO_Init(sspi);</div> | ||||
| <div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>  </div> | ||||
| <div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span><span class="comment">//  // init dma from SPISettings structure if need</span></div> | ||||
| <div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span><span class="comment">//  if (sspi->DMAChannel != 0)</span></div> | ||||
| <div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span><span class="comment">//    SPI_DMA_Init(&sspi->hspi, sspi->hspi.hdmarx, sspi->DMAChannel, sspi->DMA_CHANNEL_X);</span></div> | ||||
| <div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span>    </div> | ||||
| <div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span>  <span class="keywordflow">return</span> HAL_OK;</div> | ||||
| <div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span>}</div> | ||||
| <div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</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">/**  </span></div> | ||||
| <div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span><span class="comment">  * @brief  Initialize GPIO for SPI.</span></div> | ||||
| <div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span><span class="comment">  * @param  GPIOx       - порт для настройки.</span></div> | ||||
| <div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span><span class="comment">  * @param  GPIO_PIN_RX - пин для настройки на прием.</span></div> | ||||
| <div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span><span class="comment">  * @param  GPIO_PIN_TX - пин для настройки на передачу.</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="keywordtype">void</span> SPI_GPIO_Init(<a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi)</div> | ||||
| <div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span>{   </div> | ||||
| <div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span>  GPIO_InitTypeDef GPIO_InitStruct = {0}; </div> | ||||
| <div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span>  <span class="comment">// GPIO INIT  </span></div> | ||||
| <div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span>  <a class="code hl_function" 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>(sspi->CLK_GPIOx);</div> | ||||
| <div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span>  <a class="code hl_function" 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>(sspi->MISO_GPIOx);</div> | ||||
| <div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span>  <a class="code hl_function" 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>(sspi->MOSI_GPIOx);  </div> | ||||
| <div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span>    <span class="comment">// CLK PIN INIT</span></div> | ||||
| <div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span>  GPIO_InitStruct.Pin = sspi->CLK_PIN;</div> | ||||
| <div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span>  GPIO_InitStruct.Alternate = sspi->CLK_GPIO_AlternageFunc;</div> | ||||
| <div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span>  GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;</div> | ||||
| <div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>  GPIO_InitStruct.Pull = GPIO_NOPULL;</div> | ||||
| <div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span>  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;</div> | ||||
| <div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span>  HAL_GPIO_Init(sspi->CLK_GPIOx, &GPIO_InitStruct);</div> | ||||
| <div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span>  <span class="comment">// MISO PIN INIT</span></div> | ||||
| <div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>  GPIO_InitStruct.Pin = sspi->MISO_PIN;</div> | ||||
| <div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span>  GPIO_InitStruct.Alternate = sspi->MISO_GPIO_AlternageFunc;</div> | ||||
| <div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span>  GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;</div> | ||||
| <div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span>  GPIO_InitStruct.Pull = GPIO_NOPULL;</div> | ||||
| <div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span>  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;</div> | ||||
| <div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span>  HAL_GPIO_Init(sspi->MISO_GPIOx, &GPIO_InitStruct);</div> | ||||
| <div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span>  <span class="comment">// MOSI PIN INIT</span></div> | ||||
| <div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span>  GPIO_InitStruct.Pin = sspi->MOSI_PIN;</div> | ||||
| <div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span>  GPIO_InitStruct.Alternate = sspi->MOSI_GPIO_AlternageFunc;</div> | ||||
| <div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span>  GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;</div> | ||||
| <div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span>  GPIO_InitStruct.Pull = GPIO_NOPULL;</div> | ||||
| <div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span>  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;</div> | ||||
| <div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span>  HAL_GPIO_Init(sspi->MOSI_GPIOx, &GPIO_InitStruct);</div> | ||||
| <div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</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">  * @brief  Initialize DMA for SPI.</span></div> | ||||
| <div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span><span class="comment">  * @param  hspi        - указатель на хендл SPI для настройки DMA.</span></div> | ||||
| <div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span><span class="comment">  * @param  hdma_rx       - указатель на хендл DMA для линии приема SPI.</span></div> | ||||
| <div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span><span class="comment">  * @param  DMAChannel    - указатель на канал DMA/поток DMA в STM32F407.</span></div> | ||||
| <div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span><span class="comment">  * @param  DMA_CHANNEL_X - канал DMA.</span></div> | ||||
| <div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span><span class="comment">  */</span></div> | ||||
| <div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span><span class="keywordtype">void</span> SPI_DMA_Init(SPI_HandleTypeDef *hspi, DMA_HandleTypeDef *hdma_rx, DMA_Stream_TypeDef *DMAChannel, uint32_t DMA_CHANNEL_X)</div> | ||||
| <div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span>{ <span class="comment">// function takes spi and dma handlers and dmachannel for spi</span></div> | ||||
| <div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span><span class="comment">//  // for now only dma rx is supported, tx maybe later if needed</span></div> | ||||
| <div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span><span class="comment">//    // calc defines on boot_project_setup.h</span></div> | ||||
| <div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span> </div> | ||||
| <div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span><span class="comment">//  /* SPI3 DMA Init */</span></div> | ||||
| <div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span><span class="comment">//  /* SPI3_RX Init */</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">//  hdma_rx->Instance = DMAChannel;</span></div> | ||||
| <div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span><span class="comment">//#if defined(STM32F407xx) // dma channel choose for 407</span></div> | ||||
| <div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span><span class="comment">//  hdma_rx->Init.Channel = DMA_CHANNEL_X;</span></div> | ||||
| <div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span><span class="comment">//#endif</span></div> | ||||
| <div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span><span class="comment">//  hdma_rx->Init.Direction = DMA_PERIPH_TO_MEMORY;</span></div> | ||||
| <div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span><span class="comment">//  hdma_rx->Init.PeriphInc = DMA_PINC_DISABLE;</span></div> | ||||
| <div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span><span class="comment">//  hdma_rx->Init.MemInc = DMA_MINC_ENABLE;</span></div> | ||||
| <div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span><span class="comment">//  hdma_rx->Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;</span></div> | ||||
| <div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span><span class="comment">//  hdma_rx->Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;</span></div> | ||||
| <div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span><span class="comment">//  hdma_rx->Init.Mode = DMA_CIRCULAR;</span></div> | ||||
| <div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span><span class="comment">//  hdma_rx->Init.Priority = DMA_PRIORITY_LOW;</span></div> | ||||
| <div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span><span class="comment">//  if (HAL_DMA_Init(hdma_rx) != HAL_OK)</span></div> | ||||
| <div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span><span class="comment">//  {</span></div> | ||||
| <div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span><span class="comment">//    MyLibs_Error_Handler();</span></div> | ||||
| <div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span><span class="comment">//  }</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">//  __USER_LINKDMA(hspi,hdmarx,hdma_rx);  </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> </div> | ||||
| <div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span><span class="comment">//  // __USER_LINKDMA is need because __HAL_LINKDMA is written for global defined hdma_rx</span></div> | ||||
| <div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span><span class="comment">//  // so you get error because hal uses . insted of -></span></div> | ||||
| <div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span>}</div> | ||||
| <div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span><span class="comment"></span> </div> | ||||
| <div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</span><span class="comment">/**  </span></div> | ||||
| <div class="line"><a id="l00130" name="l00130"></a><span class="lineno">  130</span><span class="comment">  * @brief  Initialize SPI & DMA clock and interrupt.</span></div> | ||||
| <div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span><span class="comment">  * @param  hspi - указатель на хендл SPI для инициализации.</span></div> | ||||
| <div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span><span class="comment">  * @note   Чтобы не генерировать функцию с иницилизацией неиспользуемых SPI,</span></div> | ||||
| <div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span><span class="comment">            дефайнами в general_spi.h определяются используемые SPI.</span></div> | ||||
| <div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span><span class="comment">  */</span></div> | ||||
| <div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span><span class="keywordtype">void</span> SPI_MspInit(SPI_HandleTypeDef *hspi) <span class="comment">// analog for hal function</span></div> | ||||
| <div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>{   </div> | ||||
| <div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>  <span class="comment">// rcc, dma and interrupt init for SPIs</span></div> | ||||
| <div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>  <span class="comment">// GPIO init was moved to own functions SPI_GPIO_Init  </span></div> | ||||
| <div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span>  <span class="keywordflow">if</span>(0);</div> | ||||
| <div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span><span class="preprocessor">#ifdef USE_SPI1</span></div> | ||||
| <div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(hspi->Instance==SPI1)</div> | ||||
| <div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span>  {</div> | ||||
| <div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>  </div> | ||||
| <div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span><span class="comment">//  /* DMA2 clock enable */</span></div> | ||||
| <div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span><span class="comment">//  __HAL_RCC_DMA2_CLK_ENABLE();</span></div> | ||||
| <div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span><span class="comment">//  /* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span><span class="comment">//  HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0);</span></div> | ||||
| <div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span><span class="comment">//  HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn);</span></div> | ||||
| <div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span>  </div> | ||||
| <div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span>  <span class="comment">/* SPI1 clock enable */</span></div> | ||||
| <div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span>  __HAL_RCC_SPI1_CLK_ENABLE();</div> | ||||
| <div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span>  </div> | ||||
| <div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span>  <span class="comment">/* SPI1 interrupt Init */</span></div> | ||||
| <div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span>  HAL_NVIC_SetPriority(SPI1_IRQn, 0, 0);</div> | ||||
| <div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span>  HAL_NVIC_EnableIRQ(SPI1_IRQn);</div> | ||||
| <div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span>  }</div> | ||||
| <div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span><span class="preprocessor">#endif </span><span class="comment">// USE_SPI1</span></div> | ||||
| <div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span><span class="preprocessor">#ifdef USE_SPI2</span></div> | ||||
| <div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(hspi->Instance==SPI2)</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><span class="comment">//  /* DMA1 clock enable */</span></div> | ||||
| <div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span><span class="comment">//  __HAL_RCC_DMA1_CLK_ENABLE();</span></div> | ||||
| <div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span><span class="comment">//  /* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span><span class="comment">//  HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0);</span></div> | ||||
| <div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span><span class="comment">//  HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn);</span></div> | ||||
| <div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span>  </div> | ||||
| <div class="line"><a id="l00167" name="l00167"></a><span class="lineno">  167</span>  <span class="comment">/* SPI2 clock enable */</span></div> | ||||
| <div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span>  __HAL_RCC_SPI2_CLK_ENABLE();</div> | ||||
| <div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span>  </div> | ||||
| <div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>  <span class="comment">/* SPI2 interrupt Init */</span></div> | ||||
| <div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span>  HAL_NVIC_SetPriority(SPI2_IRQn, 0, 0);</div> | ||||
| <div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span>  HAL_NVIC_EnableIRQ(SPI2_IRQn);</div> | ||||
| <div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span>  }</div> | ||||
| <div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span><span class="preprocessor">#endif </span><span class="comment">// USE_SPI2</span></div> | ||||
| <div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span><span class="preprocessor">#ifdef USE_SPI3</span></div> | ||||
| <div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(hspi->Instance==SPI3)</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="comment">//  /* DMA1 clock enable */</span></div> | ||||
| <div class="line"><a id="l00179" name="l00179"></a><span class="lineno">  179</span><span class="comment">//  __HAL_RCC_DMA1_CLK_ENABLE();</span></div> | ||||
| <div class="line"><a id="l00180" name="l00180"></a><span class="lineno">  180</span><span class="comment">//  /* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span><span class="comment">//  HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0);</span></div> | ||||
| <div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span><span class="comment">//  HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn);</span></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>  <span class="comment">/* SPI3 clock enable */</span></div> | ||||
| <div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span>  __HAL_RCC_SPI3_CLK_ENABLE();  </div> | ||||
| <div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span>  <span class="comment">/* SPI3 interrupt Init */</span></div> | ||||
| <div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span>  HAL_NVIC_SetPriority(SPI3_IRQn, 0, 0);</div> | ||||
| <div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span>  HAL_NVIC_EnableIRQ(SPI3_IRQn);</div> | ||||
| <div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span>  }</div> | ||||
| <div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span><span class="preprocessor">#endif </span><span class="comment">// USE_SPI3</span></div> | ||||
| <div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span>}</div> | ||||
| <div class="line"><a id="l00192" name="l00192"></a><span class="lineno">  192</span><span class="comment"></span> </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">  * @brief  Deinitialize SPI & DMA clock and interrupt.</span></div> | ||||
| <div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span><span class="comment">  * @param  hspi - указатель на хендл SPI для деинициализации.</span></div> | ||||
| <div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span><span class="comment">  * @note   Чтобы не генерировать функцию с деиницилизацией неиспользуемых SPI,</span></div> | ||||
| <div class="line"><a id="l00197" name="l00197"></a><span class="lineno">  197</span><span class="comment">            дефайнами определяются используемые SPI.</span></div> | ||||
| <div class="line"><a id="l00198" name="l00198"></a><span class="lineno">  198</span><span class="comment">  */</span></div> | ||||
| <div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span><span class="keywordtype">void</span> SPI_MspDeInit(SPI_HandleTypeDef *hspi) <span class="comment">// analog for hal function</span></div> | ||||
| <div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span>{   </div> | ||||
| <div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>  <span class="comment">// rcc, dma and interrupt init for SPIs</span></div> | ||||
| <div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span>  <span class="comment">// GPIO init was moved to own functions SPI_GPIO_Init  </span></div> | ||||
| <div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span>  <span class="keywordflow">if</span>(0);</div> | ||||
| <div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span><span class="preprocessor">#ifdef USE_SPI1</span></div> | ||||
| <div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(hspi->Instance==SPI1)</div> | ||||
| <div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span>  {</div> | ||||
| <div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span>  </div> | ||||
| <div class="line"><a id="l00208" name="l00208"></a><span class="lineno">  208</span><span class="comment">//  /* DMA2 clock enable */</span></div> | ||||
| <div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span><span class="comment">//  __HAL_RCC_DMA2_CLK_ENABLE();</span></div> | ||||
| <div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span><span class="comment">//  /* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span><span class="comment">//  HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0);</span></div> | ||||
| <div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span><span class="comment">//  HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn);</span></div> | ||||
| <div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span>  </div> | ||||
| <div class="line"><a id="l00214" name="l00214"></a><span class="lineno">  214</span>  <span class="comment">/* SPI1 clock reset */</span></div> | ||||
| <div class="line"><a id="l00215" name="l00215"></a><span class="lineno">  215</span>  __HAL_RCC_SPI1_FORCE_RESET();</div> | ||||
| <div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</span>  __HAL_RCC_SPI1_RELEASE_RESET();</div> | ||||
| <div class="line"><a id="l00217" name="l00217"></a><span class="lineno">  217</span>  }</div> | ||||
| <div class="line"><a id="l00218" name="l00218"></a><span class="lineno">  218</span><span class="preprocessor">#endif </span><span class="comment">// USE_SPI1</span></div> | ||||
| <div class="line"><a id="l00219" name="l00219"></a><span class="lineno">  219</span><span class="preprocessor">#ifdef USE_SPI2</span></div> | ||||
| <div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(hspi->Instance==SPI2)</div> | ||||
| <div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span>  {</div> | ||||
| <div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span><span class="comment">//  /* DMA1 clock enable */</span></div> | ||||
| <div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span><span class="comment">//  __HAL_RCC_DMA1_CLK_ENABLE();</span></div> | ||||
| <div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span><span class="comment">//  /* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span><span class="comment">//  HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0);</span></div> | ||||
| <div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span><span class="comment">//  HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn);</span></div> | ||||
| <div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span>  </div> | ||||
| <div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span>  <span class="comment">/* SPI2 clock reset */</span></div> | ||||
| <div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span>  __HAL_RCC_SPI2_FORCE_RESET();</div> | ||||
| <div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span>  __HAL_RCC_SPI2_RELEASE_RESET();</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><span class="preprocessor">#endif </span><span class="comment">// USE_SPI2</span></div> | ||||
| <div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span><span class="preprocessor">#ifdef USE_SPI3</span></div> | ||||
| <div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(hspi->Instance==SPI3)</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><span class="comment">//  /* DMA1 clock enable */</span></div> | ||||
| <div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span><span class="comment">//  __HAL_RCC_DMA1_CLK_ENABLE();</span></div> | ||||
| <div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span><span class="comment">//  /* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span><span class="comment">//  HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0);</span></div> | ||||
| <div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span><span class="comment">//  HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn);</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="comment">/* SPI3 clock reset */</span></div> | ||||
| <div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span>  __HAL_RCC_SPI3_FORCE_RESET();</div> | ||||
| <div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span>  __HAL_RCC_SPI3_RELEASE_RESET();</div> | ||||
| <div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span>  }</div> | ||||
| <div class="line"><a id="l00246" name="l00246"></a><span class="lineno">  246</span><span class="preprocessor">#endif </span><span class="comment">// USE_SPI3</span></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"></span> </div> | ||||
| <div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span><span class="comment">/**  </span></div> | ||||
| <div class="line"><a id="l00250" name="l00250"></a><span class="lineno">  250</span><span class="comment">  * @brief  Check that spi init structure have correct values.</span></div> | ||||
| <div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span><span class="comment">  * @param  sspi - указатель на структуру с настройками SPI.</span></div> | ||||
| <div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span><span class="comment">  * @return HAL status.</span></div> | ||||
| <div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span><span class="comment">  */</span></div> | ||||
| <div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span>HAL_StatusTypeDef Check_SPI_Init_Struct(<a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi)</div> | ||||
| <div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span>{</div> | ||||
| <div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span>  <span class="comment">// check is settings are valid</span></div> | ||||
| <div class="line"><a id="l00257" name="l00257"></a><span class="lineno">  257</span>  <span class="keywordflow">if</span> (!IS_SPI_ALL_INSTANCE(sspi->hspi.Instance))</div> | ||||
| <div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span>    <span class="keywordflow">return</span> HAL_ERROR;</div> | ||||
| <div class="line"><a id="l00259" name="l00259"></a><span class="lineno">  259</span>  </div> | ||||
| <div class="line"><a id="l00260" name="l00260"></a><span class="lineno">  260</span>  <span class="comment">// check init settings</span></div> | ||||
| <div class="line"><a id="l00261" name="l00261"></a><span class="lineno">  261</span>  <span class="keywordflow">if</span> (!IS_SPI_MODE(sspi->hspi.Init.Mode))</div> | ||||
| <div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span>    <span class="keywordflow">return</span> HAL_ERROR; </div> | ||||
| <div class="line"><a id="l00263" name="l00263"></a><span class="lineno">  263</span>  <span class="keywordflow">if</span> (!IS_SPI_DIRECTION(sspi->hspi.Init.Direction))</div> | ||||
| <div class="line"><a id="l00264" name="l00264"></a><span class="lineno">  264</span>    <span class="keywordflow">return</span> HAL_ERROR; </div> | ||||
| <div class="line"><a id="l00265" name="l00265"></a><span class="lineno">  265</span>  <span class="keywordflow">if</span> (!IS_SPI_DATASIZE(sspi->hspi.Init.DataSize))</div> | ||||
| <div class="line"><a id="l00266" name="l00266"></a><span class="lineno">  266</span>    <span class="keywordflow">return</span> HAL_ERROR; </div> | ||||
| <div class="line"><a id="l00267" name="l00267"></a><span class="lineno">  267</span>  <span class="keywordflow">if</span> (!IS_SPI_BAUDRATE_PRESCALER(sspi->hspi.Init.BaudRatePrescaler))</div> | ||||
| <div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span>    <span class="keywordflow">return</span> HAL_ERROR; </div> | ||||
| <div class="line"><a id="l00269" name="l00269"></a><span class="lineno">  269</span>  <span class="keywordflow">if</span> (!IS_SPI_CPOL(sspi->hspi.Init.CLKPolarity))</div> | ||||
| <div class="line"><a id="l00270" name="l00270"></a><span class="lineno">  270</span>    <span class="keywordflow">return</span> HAL_ERROR; </div> | ||||
| <div class="line"><a id="l00271" name="l00271"></a><span class="lineno">  271</span>  <span class="keywordflow">if</span> (!IS_SPI_CPHA(sspi->hspi.Init.CLKPhase))</div> | ||||
| <div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span>    <span class="keywordflow">return</span> HAL_ERROR; </div> | ||||
| <div class="line"><a id="l00273" name="l00273"></a><span class="lineno">  273</span>  <span class="keywordflow">if</span> (!IS_SPI_NSS(sspi->hspi.Init.NSS))</div> | ||||
| <div class="line"><a id="l00274" name="l00274"></a><span class="lineno">  274</span>    <span class="keywordflow">return</span> HAL_ERROR;   </div> | ||||
| <div class="line"><a id="l00275" name="l00275"></a><span class="lineno">  275</span>  <span class="keywordflow">if</span> (!IS_SPI_FIRST_BIT(sspi->hspi.Init.FirstBit))</div> | ||||
| <div class="line"><a id="l00276" name="l00276"></a><span class="lineno">  276</span>    <span class="keywordflow">return</span> HAL_ERROR; </div> | ||||
| <div class="line"><a id="l00277" name="l00277"></a><span class="lineno">  277</span>  <span class="keywordflow">if</span> (!IS_SPI_CRC_CALCULATION(sspi->hspi.Init.CRCCalculation))</div> | ||||
| <div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span>    <span class="keywordflow">return</span> HAL_ERROR; </div> | ||||
| <div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span>  <span class="keywordflow">if</span> (!IS_SPI_CRC_POLYNOMIAL(sspi->hspi.Init.NSS) && </div> | ||||
| <div class="line"><a id="l00280" name="l00280"></a><span class="lineno">  280</span>    (sspi->hspi.Init.CRCCalculation != SPI_CRCCALCULATION_DISABLE))</div> | ||||
| <div class="line"><a id="l00281" name="l00281"></a><span class="lineno">  281</span>      <span class="keywordflow">return</span> HAL_ERROR; </div> | ||||
| <div class="line"><a id="l00282" name="l00282"></a><span class="lineno">  282</span>  <span class="keywordflow">if</span> (!IS_SPI_TIMODE(sspi->hspi.Init.TIMode))</div> | ||||
| <div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span>    <span class="keywordflow">return</span> HAL_ERROR;</div> | ||||
| <div class="line"><a id="l00284" name="l00284"></a><span class="lineno">  284</span>  </div> | ||||
| <div class="line"><a id="l00285" name="l00285"></a><span class="lineno">  285</span>  <span class="comment">// check gpio</span></div> | ||||
| <div class="line"><a id="l00286" name="l00286"></a><span class="lineno">  286</span>  <span class="keywordflow">if</span> (!IS_GPIO_ALL_INSTANCE(sspi->CLK_GPIOx) || !IS_GPIO_ALL_INSTANCE(sspi->MISO_GPIOx) || !IS_GPIO_ALL_INSTANCE(sspi->MOSI_GPIOx))</div> | ||||
| <div class="line"><a id="l00287" name="l00287"></a><span class="lineno">  287</span>    <span class="keywordflow">return</span> HAL_ERROR; </div> | ||||
| <div class="line"><a id="l00288" name="l00288"></a><span class="lineno">  288</span>  <span class="keywordflow">if</span> (!IS_GPIO_PIN(sspi->CLK_PIN) && !IS_GPIO_PIN(sspi->MISO_PIN) && !IS_GPIO_PIN(sspi->MOSI_PIN)) <span class="comment">// if both pins arent set up</span></div> | ||||
| <div class="line"><a id="l00289" name="l00289"></a><span class="lineno">  289</span>    <span class="keywordflow">return</span> HAL_ERROR;</div> | ||||
| <div class="line"><a id="l00290" name="l00290"></a><span class="lineno">  290</span>  </div> | ||||
| <div class="line"><a id="l00291" name="l00291"></a><span class="lineno">  291</span>  <span class="keywordflow">return</span> HAL_OK;</div> | ||||
| <div class="line"><a id="l00292" name="l00292"></a><span class="lineno">  292</span>}</div> | ||||
| <div class="ttc" id="ageneral__gpio_8h_html"><div class="ttname"><a href="general__gpio_8h.html">general_gpio.h</a></div><div class="ttdoc">Заголовочный файл для модуля инициализации портов и работы с ними.</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_gae110df81afd885a390bbeb152d7b709f"><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#gae110df81afd885a390bbeb152d7b709f">MyLibs_Error_Handler</a></div><div class="ttdeci">#define MyLibs_Error_Handler(params)</div><div class="ttdoc">Error_Handler который будет вызыватся в библиотеке</div><div class="ttdef"><b>Definition</b> <a href="mylibs__defs_8h_source.html#l00031">mylibs_defs.h:31</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="general__gpio_8c_source.html#l00022">general_gpio.c:22</a></div></div> | ||||
| <div class="ttc" id="astruct_s_p_i___settings_type_def_html"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="____general__spi_8h_source.html#l00033">__general_spi.h:34</a></div></div> | ||||
| </div><!-- fragment --></div><!-- contents --> | ||||
| </div><!-- doc-content --> | ||||
| <!-- start footer part --> | ||||
| <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> | ||||
|   <ul> | ||||
|     <li class="navelem"><a class="el" href="dir_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a class="el" href="dir_9c80311a018e1f8cfb6659b73d634be4.html">Src</a></li><li class="navelem"><b>__general_spi.c</b></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.10.0 </li> | ||||
|   </ul> | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @ -1,225 +0,0 @@ | ||||
| <!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.10.0"/> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1"/> | ||||
| <title>MyLibs: F:/Work/Projects/STM/.Elementary/STM32_ExtendedLibs/MyLibsGeneral/Inc/__general_spi.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="resize.js"></script> | ||||
| <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"> 1.0</span> | ||||
|    </div> | ||||
|    <div id="projectbrief">Расширенные библиотеки для STM32</div> | ||||
|   </td> | ||||
|  </tr> | ||||
|  </tbody> | ||||
| </table> | ||||
| </div> | ||||
| <!-- end header part --> | ||||
| <!-- Generated by Doxygen 1.10.0 --> | ||||
| <script type="text/javascript"> | ||||
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||||
| var searchBox = new SearchBox("searchBox", "search/",'.html'); | ||||
| /* @license-end */ | ||||
| </script> | ||||
| <script type="text/javascript" src="menudata.js"></script> | ||||
| <script type="text/javascript" src="menu.js"></script> | ||||
| <script type="text/javascript"> | ||||
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||||
| $(function() { | ||||
|   initMenu('',true,false,'search.php','Search'); | ||||
|   $(function() { init_search(); }); | ||||
| }); | ||||
| /* @license-end */ | ||||
| </script> | ||||
| <div id="main-nav"></div> | ||||
| <script type="text/javascript"> | ||||
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||||
| $(function() { codefold.init(0); }); | ||||
| /* @license-end */ | ||||
| </script> | ||||
| </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"> | ||||
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||||
| $(function(){initNavTree('____general__spi_8h_source.html',''); initResizable(); }); | ||||
| /* @license-end */ | ||||
| </script> | ||||
| <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">__general_spi.h</div></div> | ||||
| </div><!--header--> | ||||
| <div class="contents"> | ||||
| <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 general_spi.h</span></div> | ||||
| <div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="comment">* @brief Заголовочны файл модуля инициализации SPI.</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="preprocessor">#ifndef __SPI_GENERAL_H_</span></div> | ||||
| <div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="preprocessor">#define __SPI_GENERAL_H_</span></div> | ||||
| <div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="comment"></span> </div> | ||||
| <div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="comment">//////////////////////////////////////////////////////////////////////</span></div> | ||||
| <div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="comment">/////////////////////////---USER SETTINGS---/////////////////////////</span></div> | ||||
| <div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="comment"></span><span class="preprocessor">#define HAL_SPI_MODULE_ENABLED  </span><span class="comment">// need to uncomment these defines in stm32f4xx_hal_conf.h</span></div> | ||||
| <div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span>                                <span class="comment">// also need to add hal_spi.c (source code)</span></div> | ||||
| <div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span> </div> | ||||
| <div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="preprocessor">#define USE_SPI1</span></div> | ||||
| <div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="preprocessor">#define USE_SPI2</span></div> | ||||
| <div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="preprocessor">#define USE_SPI3</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">/////////////////////////---USER SETTINGS---/////////////////////////</span></div> | ||||
| <div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="comment"></span><span class="preprocessor">#include "<a class="code" href="mylibs__defs_8h.html">mylibs_defs.h</a>"</span></div> | ||||
| <div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div> | ||||
| <div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div> | ||||
| <div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="comment"></span> </div> | ||||
| <div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div> | ||||
| <div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="comment">////////////////////////////---DEFINES---////////////////////////////</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> </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">////////////////////////////---DEFINES---////////////////////////////</span></div> | ||||
| <div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="comment"></span> </div> | ||||
| <div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="comment"></span> </div> | ||||
| <div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="comment">/////////////////////////////////////////////////////////////////////</span></div> | ||||
| <div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="comment">///////////////////////---STRUCTURES & ENUMS---//////////////////////</span></div> | ||||
| <div class="foldopen" id="foldopen00033" data-start="{" data-end="};"> | ||||
| <div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="struct_s_p_i___settings_type_def.html">   33</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span><span class="comment">// struct with settings for custom function</span></div> | ||||
| <div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>{</div> | ||||
| <div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>  SPI_HandleTypeDef hspi;</div> | ||||
| <div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>  </div> | ||||
| <div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>  GPIO_TypeDef  *CLK_GPIOx;</div> | ||||
| <div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>  uint32_t      CLK_PIN;</div> | ||||
| <div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>  uint32_t      CLK_GPIO_AlternageFunc;</div> | ||||
| <div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>  </div> | ||||
| <div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>  GPIO_TypeDef  *MISO_GPIOx;</div> | ||||
| <div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>  uint32_t      MISO_PIN;</div> | ||||
| <div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>  uint32_t      MISO_GPIO_AlternageFunc;</div> | ||||
| <div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>  </div> | ||||
| <div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>  GPIO_TypeDef  *MOSI_GPIOx;</div> | ||||
| <div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>  uint32_t      MOSI_PIN; </div> | ||||
| <div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>  uint32_t      MOSI_GPIO_AlternageFunc;</div> | ||||
| <div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>  </div> | ||||
| <div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span>}<a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a>;<span class="comment"></span></div> | ||||
| </div> | ||||
| <div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span><span class="comment">///////////////////////---STRUCTURES & ENUMS---//////////////////////</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"></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">///////////////////////////---FUNCTIONS---///////////////////////////</span></div> | ||||
| <div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span><span class="comment"></span><span class="comment">/**  </span></div> | ||||
| <div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span><span class="comment">  * @brief  Initialize SPI with SPI_SettingsTypeDef structure.</span></div> | ||||
| <div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span><span class="comment">  * @param  sspi - указатель на структуру с настройками SPI.</span></div> | ||||
| <div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span><span class="comment">  * @return HAL status.</span></div> | ||||
| <div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span><span class="comment">  * @note   Данная структура содержит хендл ЮАРТ и настройки перефирии (GPIO)</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>HAL_StatusTypeDef SPI_Base_Init(<a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi);<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><span class="comment">  * @brief  Initialize GPIO for SPI.</span></div> | ||||
| <div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span><span class="comment">  * @param  GPIOx       - порт для настройки.</span></div> | ||||
| <div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span><span class="comment">  * @param  GPIO_PIN_RX - пин для настройки на прием.</span></div> | ||||
| <div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span><span class="comment">  * @param  GPIO_PIN_TX - пин для настройки на передачу.</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="keywordtype">void</span> SPI_GPIO_Init(<a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi);<span class="comment"></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">  * @brief  Initialize DMA for SPI.</span></div> | ||||
| <div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span><span class="comment">  * @param  hspi        - указатель на хендл SPI для настройки DMA.</span></div> | ||||
| <div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span><span class="comment">  * @param  hdma_rx       - указатель на хендл DMA для линии приема SPI.</span></div> | ||||
| <div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span><span class="comment">  * @param  DMAChannel    - указатель на канал DMA/поток DMA в STM32F407.</span></div> | ||||
| <div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span><span class="comment">  * @param  DMA_CHANNEL_X - канал DMA.</span></div> | ||||
| <div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span><span class="comment">  */</span></div> | ||||
| <div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span><span class="keywordtype">void</span> SPI_DMA_Init(SPI_HandleTypeDef *hspi, DMA_HandleTypeDef *hdma_rx, DMA_Stream_TypeDef *DMAChannel, uint32_t DMA_CHANNEL_X);<span class="comment"></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">  * @brief  Initialize SPI & DMA clock and interrupt.</span></div> | ||||
| <div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span><span class="comment">  * @param  hspi - указатель на хендл SPI для инициализации.</span></div> | ||||
| <div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span><span class="comment">  * @note   Чтобы не генерировать функцию с иницилизацией неиспользуемых SPI,</span></div> | ||||
| <div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span><span class="comment">            дефайнами определяются используемые SPI.</span></div> | ||||
| <div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span><span class="comment">  */</span></div> | ||||
| <div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span><span class="keywordtype">void</span> SPI_MspInit(SPI_HandleTypeDef *hspi);<span class="comment"></span></div> | ||||
| <div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span><span class="comment">/**  </span></div> | ||||
| <div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span><span class="comment">  * @brief  Deinitialize SPI & DMA clock and interrupt.</span></div> | ||||
| <div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span><span class="comment">  * @param  hspi - указатель на хендл SPI для деинициализации.</span></div> | ||||
| <div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span><span class="comment">  * @note   Чтобы не генерировать функцию с деиницилизацией неиспользуемых SPI,</span></div> | ||||
| <div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span><span class="comment">            дефайнами в rs_message.h определяются используемые SPI.</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="keywordtype">void</span> SPI_MspDeInit(SPI_HandleTypeDef *hspi);</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">  * @brief  Check that spi init structure have correct values.</span></div> | ||||
| <div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span><span class="comment">  * @param  sspi - указатель на структуру с настройками SPI.</span></div> | ||||
| <div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span><span class="comment">  * @return HAL status.</span></div> | ||||
| <div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span><span class="comment">  */</span></div> | ||||
| <div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span>HAL_StatusTypeDef Check_SPI_Init_Struct(<a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> *sspi);<span class="comment"></span></div> | ||||
| <div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span><span class="comment">///////////////////////////---FUNCTIONS---///////////////////////////</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="preprocessor">#endif </span><span class="comment">// __SPI_GENERAL_H_</span></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_s_p_i___settings_type_def_html"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="#l00033">__general_spi.h:34</a></div></div> | ||||
| </div><!-- fragment --></div><!-- contents --> | ||||
| </div><!-- doc-content --> | ||||
| <!-- start footer part --> | ||||
| <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> | ||||
|   <ul> | ||||
|     <li class="navelem"><a class="el" href="dir_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a class="el" href="dir_eb423fea8a9c4b9b32b922020ec391e1.html">Inc</a></li><li class="navelem"><b>__general_spi.h</b></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.10.0 </li> | ||||
|   </ul> | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @ -1,505 +0,0 @@ | ||||
| <!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.10.0"/> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1"/> | ||||
| <title>MyLibs: F:/Work/Projects/STM/.Elementary/STM32_ExtendedLibs/MyLibsGeneral/Src/__general_uart.c 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="resize.js"></script> | ||||
| <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"> 1.0</span> | ||||
|    </div> | ||||
|    <div id="projectbrief">Расширенные библиотеки для STM32</div> | ||||
|   </td> | ||||
|  </tr> | ||||
|  </tbody> | ||||
| </table> | ||||
| </div> | ||||
| <!-- end header part --> | ||||
| <!-- Generated by Doxygen 1.10.0 --> | ||||
| <script type="text/javascript"> | ||||
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||||
| var searchBox = new SearchBox("searchBox", "search/",'.html'); | ||||
| /* @license-end */ | ||||
| </script> | ||||
| <script type="text/javascript" src="menudata.js"></script> | ||||
| <script type="text/javascript" src="menu.js"></script> | ||||
| <script type="text/javascript"> | ||||
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||||
| $(function() { | ||||
|   initMenu('',true,false,'search.php','Search'); | ||||
|   $(function() { init_search(); }); | ||||
| }); | ||||
| /* @license-end */ | ||||
| </script> | ||||
| <div id="main-nav"></div> | ||||
| <script type="text/javascript"> | ||||
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||||
| $(function() { codefold.init(0); }); | ||||
| /* @license-end */ | ||||
| </script> | ||||
| </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"> | ||||
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||||
| $(function(){initNavTree('____general__uart_8c_source.html',''); initResizable(); }); | ||||
| /* @license-end */ | ||||
| </script> | ||||
| <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">__general_uart.c</div></div> | ||||
| </div><!--header--> | ||||
| <div class="contents"> | ||||
| <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 general_uart.c</span></div> | ||||
| <div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="comment">  * @brief Модуль для инициализации UART.</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">  * //-------------------Функции-------------------//</span></div> | ||||
| <div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="comment">  * @verbatim</span></div> | ||||
| <div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="comment">  * Functions: users</span></div> | ||||
| <div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="comment">  *   - UART_Base_Init              Инициализация UART </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">  * Functions: uart initialize</span></div> | ||||
| <div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="comment">  *   - UART_GPIO_Init              Инициализация GPIO для UART</span></div> | ||||
| <div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="comment">  *   - UART_DMA_Init               Инициализация DMA для UART</span></div> | ||||
| <div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="comment">  *   - UART_MspInit                Аналог HAL_MspInit для UART</span></div> | ||||
| <div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="comment">  *   - UART_MspDeInit              Аналог HAL_MspDeInit для UART</span></div> | ||||
| <div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="comment">  * @endverbatim</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="preprocessor">#include "general_uart.h"</span></div> | ||||
| <div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#include "<a class="code" href="general__gpio_8h.html">general_gpio.h</a>"</span></div> | ||||
| <div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div> | ||||
| <div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="comment">//-------------------------------------------------------------------</span></div> | ||||
| <div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="comment">//------------------------UART INIT FUNCTIONS------------------------</span><span class="comment"></span></div> | ||||
| <div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="comment">/**  </span></div> | ||||
| <div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="comment">  * @brief  Initialize UART with UART_SettingsTypeDef structure.</span></div> | ||||
| <div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="comment">  * @param  suart - указатель на структуру с настройками UART.</span></div> | ||||
| <div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="comment">  * @return HAL status.</span></div> | ||||
| <div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="comment">  * @note   Данная структура содержит хендл ЮАРТ и настройки перефирии (GPIO)</span></div> | ||||
| <div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="comment">  */</span></div> | ||||
| <div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>HAL_StatusTypeDef UART_Base_Init(<a class="code hl_struct" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart)</div> | ||||
| <div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span>{ <span class="comment">// function takes setting structure for init</span></div> | ||||
| <div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span>  </div> | ||||
| <div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>  <span class="comment">// check is settings are valid</span></div> | ||||
| <div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>  <span class="keywordflow">if</span>(Check_UART_Init_Struct(suart) != HAL_OK)</div> | ||||
| <div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>    <span class="keywordflow">return</span> HAL_ERROR;</div> | ||||
| <div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>    </div> | ||||
| <div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>  suart->huart.Init.Mode = UART_MODE_TX_RX;</div> | ||||
| <div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>  </div> | ||||
| <div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>  UART_MspInit(&suart->huart);</div> | ||||
| <div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>  </div> | ||||
| <div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>  </div> | ||||
| <div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>  <span class="keywordflow">if</span> (HAL_UART_Init(&suart->huart) != HAL_OK)</div> | ||||
| <div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>  {</div> | ||||
| <div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>    <a class="code hl_define" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae110df81afd885a390bbeb152d7b709f">MyLibs_Error_Handler</a>();</div> | ||||
| <div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>    <span class="keywordflow">return</span> HAL_ERROR;</div> | ||||
| <div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>  }</div> | ||||
| <div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>  </div> | ||||
| <div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>  <span class="comment">// init gpio from UARTSettings structure</span></div> | ||||
| <div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>  UART_GPIO_Init(suart->GPIOx, suart->GPIO_PIN_RX, suart->GPIO_PIN_TX);</div> | ||||
| <div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span>  </div> | ||||
| <div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span>  __HAL_UART_ENABLE_IT(&suart->huart, UART_IT_IDLE);</div> | ||||
| <div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span>  <span class="comment">// init dma from UARTSettings structure if need</span></div> | ||||
| <div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span>  <span class="keywordflow">if</span> (suart->DMAChannel != 0)</div> | ||||
| <div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span>    UART_DMA_Init(&suart->huart, suart->huart.hdmarx, suart->DMAChannel, suart->DMA_CHANNEL_X);</div> | ||||
| <div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span>  </div> | ||||
| <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="keywordflow">return</span> HAL_OK;</div> | ||||
| <div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span>}</div> | ||||
| <div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span> </div> | ||||
| <div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span><span class="comment"></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">  * @brief  Initialize GPIO for UART.</span></div> | ||||
| <div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span><span class="comment">  * @param  GPIOx       - порт для настройки.</span></div> | ||||
| <div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span><span class="comment">  * @param  GPIO_PIN_RX - пин для настройки на прием.</span></div> | ||||
| <div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span><span class="comment">  * @param  GPIO_PIN_TX - пин для настройки на передачу.</span></div> | ||||
| <div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span><span class="comment">  */</span></div> | ||||
| <div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span><span class="keywordtype">void</span> UART_GPIO_Init(GPIO_TypeDef *GPIOx, uint16_t GPIO_PIN_RX, uint16_t GPIO_PIN_TX)</div> | ||||
| <div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span>{ <span class="comment">// function takes port and pins (for rx and tx)</span></div> | ||||
| <div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span>  GPIO_InitTypeDef GPIO_InitStruct = {0};</div> | ||||
| <div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span>  </div> | ||||
| <div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span>  <span class="comment">// choose port for enable clock</span></div> | ||||
| <div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span>  <a class="code hl_function" 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>(GPIOx);</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">//USART3 GPIO Configuration</span></div> | ||||
| <div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span>  <span class="comment">//GPIO_PIN_TX ------> USART_TX</span></div> | ||||
| <div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span>  <span class="comment">//GPIO_PIN_RX ------> USART_RX    </span></div> | ||||
| <div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>  </div> | ||||
| <div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span><span class="preprocessor">#if defined(STM32F407xx) </span><span class="comment">// gpio init for 407</span></div> | ||||
| <div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span>  GPIO_InitStruct.Pin = GPIO_PIN_TX|GPIO_PIN_RX;</div> | ||||
| <div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span>  GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;</div> | ||||
| <div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span>  GPIO_InitStruct.Pull = GPIO_NOPULL;</div> | ||||
| <div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span>  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;</div> | ||||
| <div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span>  GPIO_InitStruct.Alternate = GPIO_AF7_USART3;</div> | ||||
| <div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span>  HAL_GPIO_Init(GPIOx, &GPIO_InitStruct);</div> | ||||
| <div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span><span class="preprocessor">#elif defined(STM32F103xG)  </span><span class="comment">// gpio init for atm403/stm103</span></div> | ||||
| <div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span>  <span class="comment">//GPIO_PIN_TX ------> USART_TX</span></div> | ||||
| <div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span>  GPIO_InitStruct.Pin = GPIO_PIN_TX;</div> | ||||
| <div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span>  GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;</div> | ||||
| <div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span>  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;</div> | ||||
| <div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>  HAL_GPIO_Init(GPIOx, &GPIO_InitStruct);</div> | ||||
| <div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span> </div> | ||||
| <div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span><span class="comment">//  GPIO_PIN_RX ------> USART_RX  </span></div> | ||||
| <div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span>  GPIO_InitStruct.Pin = GPIO_PIN_RX;</div> | ||||
| <div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span>  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;</div> | ||||
| <div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span>  GPIO_InitStruct.Pull = GPIO_NOPULL;</div> | ||||
| <div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span>  HAL_GPIO_Init(GPIOx, &GPIO_InitStruct);</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> | ||||
| <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  Initialize DMA for UART.</span></div> | ||||
| <div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span><span class="comment">  * @param  huart         - указатель на хендл UART для настройки DMA.</span></div> | ||||
| <div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span><span class="comment">  * @param  hdma_rx       - указатель на хендл DMA для линии приема UART.</span></div> | ||||
| <div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span><span class="comment">  * @param  DMAChannel    - указатель на канал DMA/поток DMA в STM32F407.</span></div> | ||||
| <div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span><span class="comment">  * @param  DMA_CHANNEL_X - канал DMA.</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="keywordtype">void</span> UART_DMA_Init(UART_HandleTypeDef *huart, DMA_HandleTypeDef *hdma_rx, DMA_Stream_TypeDef *DMAChannel, uint32_t DMA_CHANNEL_X)</div> | ||||
| <div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span>{ <span class="comment">// function takes uart and dma handlers and dmachannel for uart</span></div> | ||||
| <div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span>  <span class="comment">// for now only dma rx is supported, tx maybe later if needed</span></div> | ||||
| <div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span>    <span class="comment">// calc defines on boot_project_setup.h</span></div> | ||||
| <div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span> </div> | ||||
| <div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>  <span class="comment">/* USART3 DMA Init */</span></div> | ||||
| <div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>  <span class="comment">/* USART3_RX Init */</span></div> | ||||
| <div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>  </div> | ||||
| <div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>  hdma_rx->Instance = DMAChannel;</div> | ||||
| <div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span><span class="preprocessor">#if defined(STM32F407xx) </span><span class="comment">// dma channel choose for 407</span></div> | ||||
| <div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span>  hdma_rx->Init.Channel = DMA_CHANNEL_X;</div> | ||||
| <div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span><span class="preprocessor">#endif</span></div> | ||||
| <div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>  hdma_rx->Init.Direction = DMA_PERIPH_TO_MEMORY;</div> | ||||
| <div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span>  hdma_rx->Init.PeriphInc = DMA_PINC_DISABLE;</div> | ||||
| <div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span>  hdma_rx->Init.MemInc = DMA_MINC_ENABLE;</div> | ||||
| <div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>  hdma_rx->Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;</div> | ||||
| <div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span>  hdma_rx->Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;</div> | ||||
| <div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span>  hdma_rx->Init.Mode = DMA_CIRCULAR;</div> | ||||
| <div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span>  hdma_rx->Init.Priority = DMA_PRIORITY_LOW;</div> | ||||
| <div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span>  <span class="keywordflow">if</span> (HAL_DMA_Init(hdma_rx) != HAL_OK)</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>    <a class="code hl_define" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae110df81afd885a390bbeb152d7b709f">MyLibs_Error_Handler</a>();</div> | ||||
| <div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</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>  __USER_LINKDMA(huart,hdmarx,hdma_rx);   </div> | ||||
| <div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span>  </div> | ||||
| <div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span> </div> | ||||
| <div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span>  <span class="comment">// __USER_LINKDMA is need because __HAL_LINKDMA is written for global defined hdma_rx</span></div> | ||||
| <div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span>  <span class="comment">// so you get error because hal uses . insted of -></span></div> | ||||
| <div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>}</div> | ||||
| <div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span><span class="comment"></span> </div> | ||||
| <div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span><span class="comment">/**  </span></div> | ||||
| <div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span><span class="comment">  * @brief  Initialize UART & DMA clock and interrupt.</span></div> | ||||
| <div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span><span class="comment">  * @param  huart - указатель на хендл UART для инициализации.</span></div> | ||||
| <div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span><span class="comment">  * @note   Чтобы не генерировать функцию с иницилизацией неиспользуемых UART,</span></div> | ||||
| <div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span><span class="comment">            дефайнами в rs_message.h определяются используемые UART.</span></div> | ||||
| <div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span><span class="comment">  */</span></div> | ||||
| <div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span><span class="keywordtype">void</span> UART_MspInit(UART_HandleTypeDef *huart) <span class="comment">// analog for hal function</span></div> | ||||
| <div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span>{   </div> | ||||
| <div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span><span class="comment">//  __RCC_DMA_UART_CLK_ENABLE();</span></div> | ||||
| <div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span><span class="comment">//  /* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span><span class="comment">//  /* DMA1_Stream1_IRQn interrupt configuration */</span></div> | ||||
| <div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span><span class="comment">//  HAL_NVIC_SetPriority(DMA_UART_IRQn, 0, 0);</span></div> | ||||
| <div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span><span class="comment">//  HAL_NVIC_EnableIRQ(DMA_UART_IRQn);</span></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>  <span class="comment">// rcc, dma and interrupt init for USARTs</span></div> | ||||
| <div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span>  <span class="comment">// GPIO init was moved to own functions UART_GPIO_Init  </span></div> | ||||
| <div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span>  <span class="keywordflow">if</span>(0);</div> | ||||
| <div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span><span class="preprocessor">#ifdef USE_USART1</span></div> | ||||
| <div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==USART1)</div> | ||||
| <div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span>  {</div> | ||||
| <div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span>  </div> | ||||
| <div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span>  <span class="comment">/* DMA2 clock enable */</span></div> | ||||
| <div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span>  __HAL_RCC_DMA2_CLK_ENABLE();</div> | ||||
| <div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span>  <span class="comment">/* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span>  HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0);</div> | ||||
| <div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>  HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn);</div> | ||||
| <div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span>  </div> | ||||
| <div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span>  <span class="comment">/* USART1 clock enable */</span></div> | ||||
| <div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span>  __HAL_RCC_USART1_CLK_ENABLE();</div> | ||||
| <div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span>  </div> | ||||
| <div class="line"><a id="l00167" name="l00167"></a><span class="lineno">  167</span>  <span class="comment">/* USART1 interrupt Init */</span></div> | ||||
| <div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span>  HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);</div> | ||||
| <div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span>  HAL_NVIC_EnableIRQ(USART1_IRQn);</div> | ||||
| <div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>  }</div> | ||||
| <div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span><span class="preprocessor">#endif </span><span class="comment">// USE_USART1</span></div> | ||||
| <div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span><span class="preprocessor">#ifdef USE_USART2</span></div> | ||||
| <div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==USART2)</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>  <span class="comment">/* DMA1 clock enable */</span></div> | ||||
| <div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span>  __HAL_RCC_DMA1_CLK_ENABLE();</div> | ||||
| <div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span>  <span class="comment">/* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</span>  HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0);</div> | ||||
| <div class="line"><a id="l00179" name="l00179"></a><span class="lineno">  179</span>  HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn);</div> | ||||
| <div class="line"><a id="l00180" name="l00180"></a><span class="lineno">  180</span>  </div> | ||||
| <div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span>  <span class="comment">/* USART2 clock enable */</span></div> | ||||
| <div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span>  __HAL_RCC_USART2_CLK_ENABLE();</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>  <span class="comment">/* USART2 interrupt Init */</span></div> | ||||
| <div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span>  HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);</div> | ||||
| <div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span>  HAL_NVIC_EnableIRQ(USART2_IRQn);</div> | ||||
| <div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span>  }</div> | ||||
| <div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span><span class="preprocessor">#endif </span><span class="comment">// USE_USART2</span></div> | ||||
| <div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span><span class="preprocessor">#ifdef USE_USART3</span></div> | ||||
| <div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==USART3)</div> | ||||
| <div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span>  {     </div> | ||||
| <div class="line"><a id="l00192" name="l00192"></a><span class="lineno">  192</span>  <span class="comment">/* DMA1 clock enable */</span></div> | ||||
| <div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</span>  __HAL_RCC_DMA1_CLK_ENABLE();</div> | ||||
| <div class="line"><a id="l00194" name="l00194"></a><span class="lineno">  194</span>  <span class="comment">/* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span>  HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0);</div> | ||||
| <div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span>  HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn);</div> | ||||
| <div class="line"><a id="l00197" name="l00197"></a><span class="lineno">  197</span>  </div> | ||||
| <div class="line"><a id="l00198" name="l00198"></a><span class="lineno">  198</span>  <span class="comment">/* USART3 clock enable */</span></div> | ||||
| <div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span>  __HAL_RCC_USART3_CLK_ENABLE();  </div> | ||||
| <div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span>  <span class="comment">/* USART3 interrupt Init */</span></div> | ||||
| <div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>  HAL_NVIC_SetPriority(USART3_IRQn, 0, 0);</div> | ||||
| <div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span>  HAL_NVIC_EnableIRQ(USART3_IRQn);</div> | ||||
| <div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span>  }</div> | ||||
| <div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span><span class="preprocessor">#endif </span><span class="comment">// USE_USART3</span></div> | ||||
| <div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span><span class="preprocessor">#ifdef USE_UART4</span></div> | ||||
| <div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==UART4)</div> | ||||
| <div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span>  {</div> | ||||
| <div class="line"><a id="l00208" name="l00208"></a><span class="lineno">  208</span>  <span class="comment">/* DMA1 clock enable */</span></div> | ||||
| <div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span>  __HAL_RCC_DMA1_CLK_ENABLE();</div> | ||||
| <div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span>  <span class="comment">/* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span>  HAL_NVIC_SetPriority(DMA1_Stream2_IRQn, 0, 0);</div> | ||||
| <div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span>  HAL_NVIC_EnableIRQ(DMA1_Stream2_IRQn);</div> | ||||
| <div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span>  </div> | ||||
| <div class="line"><a id="l00214" name="l00214"></a><span class="lineno">  214</span>  <span class="comment">/* UART4 clock enable */</span></div> | ||||
| <div class="line"><a id="l00215" name="l00215"></a><span class="lineno">  215</span>  __HAL_RCC_UART4_CLK_ENABLE();</div> | ||||
| <div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</span>  </div> | ||||
| <div class="line"><a id="l00217" name="l00217"></a><span class="lineno">  217</span>  <span class="comment">/* UART4 interrupt Init */</span></div> | ||||
| <div class="line"><a id="l00218" name="l00218"></a><span class="lineno">  218</span>  HAL_NVIC_SetPriority(UART4_IRQn, 0, 0);</div> | ||||
| <div class="line"><a id="l00219" name="l00219"></a><span class="lineno">  219</span>  HAL_NVIC_EnableIRQ(UART4_IRQn);</div> | ||||
| <div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span>  }</div> | ||||
| <div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span><span class="preprocessor">#endif </span><span class="comment">// USE_UART4</span></div> | ||||
| <div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span><span class="preprocessor">#ifdef USE_UART5</span></div> | ||||
| <div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==UART5)</div> | ||||
| <div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span>  {</div> | ||||
| <div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span>  <span class="comment">/* DMA1 clock enable */</span></div> | ||||
| <div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span>  __HAL_RCC_DMA1_CLK_ENABLE();</div> | ||||
| <div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span>  <span class="comment">/* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span>  HAL_NVIC_SetPriority(DMA1_Stream0_IRQn, 0, 0);</div> | ||||
| <div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span>  HAL_NVIC_EnableIRQ(DMA1_Stream0_IRQn);</div> | ||||
| <div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span>  </div> | ||||
| <div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span>  <span class="comment">/* UART5 clock enable */</span></div> | ||||
| <div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span>  __HAL_RCC_DMA1_CLK_ENABLE();</div> | ||||
| <div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span>  </div> | ||||
| <div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span>  <span class="comment">/* UART5 interrupt Init */</span></div> | ||||
| <div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span>  HAL_NVIC_SetPriority(UART5_IRQn, 0, 0);</div> | ||||
| <div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span>  HAL_NVIC_EnableIRQ(UART5_IRQn);</div> | ||||
| <div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>  }</div> | ||||
| <div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span><span class="preprocessor">#endif </span><span class="comment">// USE_UART5</span></div> | ||||
| <div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span><span class="preprocessor">#ifdef USE_USART6</span></div> | ||||
| <div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==USART6)</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="comment">/* DMA2 clock enable */</span></div> | ||||
| <div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span>  __HAL_RCC_DMA2_CLK_ENABLE();</div> | ||||
| <div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span>  <span class="comment">/* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span>  HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0);</div> | ||||
| <div class="line"><a id="l00246" name="l00246"></a><span class="lineno">  246</span>  HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn);</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">/* USART6 clock enable */</span></div> | ||||
| <div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span>  __HAL_RCC_USART6_CLK_ENABLE();</div> | ||||
| <div class="line"><a id="l00250" name="l00250"></a><span class="lineno">  250</span>  </div> | ||||
| <div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span>  <span class="comment">/* USART6 interrupt Init */</span></div> | ||||
| <div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span>  HAL_NVIC_SetPriority(USART6_IRQn, 0, 0);</div> | ||||
| <div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span>  HAL_NVIC_EnableIRQ(USART6_IRQn);</div> | ||||
| <div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span>  }</div> | ||||
| <div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span><span class="preprocessor">#endif </span><span class="comment">// USE_USART6</span></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><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="line"><a id="l00259" name="l00259"></a><span class="lineno">  259</span><span class="comment">  * @brief  Deinitialize UART & DMA clock and interrupt.</span></div> | ||||
| <div class="line"><a id="l00260" name="l00260"></a><span class="lineno">  260</span><span class="comment">  * @param  huart - указатель на хендл UART для деинициализации.</span></div> | ||||
| <div class="line"><a id="l00261" name="l00261"></a><span class="lineno">  261</span><span class="comment">  * @note   Чтобы не генерировать функцию с деиницилизацией неиспользуемых UART,</span></div> | ||||
| <div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span><span class="comment">            дефайнами определяются используемые UART.</span></div> | ||||
| <div class="line"><a id="l00263" name="l00263"></a><span class="lineno">  263</span><span class="comment">  */</span></div> | ||||
| <div class="line"><a id="l00264" name="l00264"></a><span class="lineno">  264</span><span class="keywordtype">void</span> UART_MspDeInit(UART_HandleTypeDef *huart) <span class="comment">// analog for hal function</span></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="comment">// rcc, dma and interrupt init for USARTs</span></div> | ||||
| <div class="line"><a id="l00267" name="l00267"></a><span class="lineno">  267</span>  <span class="comment">// GPIO init was moved to own functions UART_GPIO_Init  </span></div> | ||||
| <div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span>  <span class="keywordflow">if</span>(0);</div> | ||||
| <div class="line"><a id="l00269" name="l00269"></a><span class="lineno">  269</span><span class="preprocessor">#ifdef USE_USART1</span></div> | ||||
| <div class="line"><a id="l00270" name="l00270"></a><span class="lineno">  270</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==USART1)</div> | ||||
| <div class="line"><a id="l00271" name="l00271"></a><span class="lineno">  271</span>  {</div> | ||||
| <div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span>  </div> | ||||
| <div class="line"><a id="l00273" name="l00273"></a><span class="lineno">  273</span><span class="comment">//  /* DMA2 clock enable */</span></div> | ||||
| <div class="line"><a id="l00274" name="l00274"></a><span class="lineno">  274</span><span class="comment">//  __HAL_RCC_DMA2_CLK_ENABLE();</span></div> | ||||
| <div class="line"><a id="l00275" name="l00275"></a><span class="lineno">  275</span><span class="comment">//  /* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00276" name="l00276"></a><span class="lineno">  276</span><span class="comment">//  HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0);</span></div> | ||||
| <div class="line"><a id="l00277" name="l00277"></a><span class="lineno">  277</span><span class="comment">//  HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn);</span></div> | ||||
| <div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span>  </div> | ||||
| <div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span>  <span class="comment">/* USART1 clock reset */</span></div> | ||||
| <div class="line"><a id="l00280" name="l00280"></a><span class="lineno">  280</span>  __HAL_RCC_USART1_FORCE_RESET();</div> | ||||
| <div class="line"><a id="l00281" name="l00281"></a><span class="lineno">  281</span>  __HAL_RCC_USART1_RELEASE_RESET();</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="preprocessor">#endif </span><span class="comment">// USE_USART1</span></div> | ||||
| <div class="line"><a id="l00284" name="l00284"></a><span class="lineno">  284</span><span class="preprocessor">#ifdef USE_USART2</span></div> | ||||
| <div class="line"><a id="l00285" name="l00285"></a><span class="lineno">  285</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==USART2)</div> | ||||
| <div class="line"><a id="l00286" name="l00286"></a><span class="lineno">  286</span>  {</div> | ||||
| <div class="line"><a id="l00287" name="l00287"></a><span class="lineno">  287</span><span class="comment">//  /* DMA1 clock enable */</span></div> | ||||
| <div class="line"><a id="l00288" name="l00288"></a><span class="lineno">  288</span><span class="comment">//  __HAL_RCC_DMA1_CLK_ENABLE();</span></div> | ||||
| <div class="line"><a id="l00289" name="l00289"></a><span class="lineno">  289</span><span class="comment">//  /* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00290" name="l00290"></a><span class="lineno">  290</span><span class="comment">//  HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0);</span></div> | ||||
| <div class="line"><a id="l00291" name="l00291"></a><span class="lineno">  291</span><span class="comment">//  HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn);</span></div> | ||||
| <div class="line"><a id="l00292" name="l00292"></a><span class="lineno">  292</span>  </div> | ||||
| <div class="line"><a id="l00293" name="l00293"></a><span class="lineno">  293</span>  <span class="comment">/* USART2 clock reset */</span></div> | ||||
| <div class="line"><a id="l00294" name="l00294"></a><span class="lineno">  294</span>  __HAL_RCC_USART2_FORCE_RESET();</div> | ||||
| <div class="line"><a id="l00295" name="l00295"></a><span class="lineno">  295</span>  __HAL_RCC_USART2_RELEASE_RESET();</div> | ||||
| <div class="line"><a id="l00296" name="l00296"></a><span class="lineno">  296</span>  }</div> | ||||
| <div class="line"><a id="l00297" name="l00297"></a><span class="lineno">  297</span><span class="preprocessor">#endif </span><span class="comment">// USE_USART2</span></div> | ||||
| <div class="line"><a id="l00298" name="l00298"></a><span class="lineno">  298</span><span class="preprocessor">#ifdef USE_USART3</span></div> | ||||
| <div class="line"><a id="l00299" name="l00299"></a><span class="lineno">  299</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==USART3)</div> | ||||
| <div class="line"><a id="l00300" name="l00300"></a><span class="lineno">  300</span>  {     </div> | ||||
| <div class="line"><a id="l00301" name="l00301"></a><span class="lineno">  301</span><span class="comment">//  /* DMA1 clock enable */</span></div> | ||||
| <div class="line"><a id="l00302" name="l00302"></a><span class="lineno">  302</span><span class="comment">//  __HAL_RCC_DMA1_CLK_ENABLE();</span></div> | ||||
| <div class="line"><a id="l00303" name="l00303"></a><span class="lineno">  303</span><span class="comment">//  /* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span><span class="comment">//  HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0);</span></div> | ||||
| <div class="line"><a id="l00305" name="l00305"></a><span class="lineno">  305</span><span class="comment">//  HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn);</span></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>  <span class="comment">/* USART3 clock reset */</span></div> | ||||
| <div class="line"><a id="l00308" name="l00308"></a><span class="lineno">  308</span>  __HAL_RCC_USART3_FORCE_RESET();</div> | ||||
| <div class="line"><a id="l00309" name="l00309"></a><span class="lineno">  309</span>  __HAL_RCC_USART3_RELEASE_RESET();</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><span class="preprocessor">#endif </span><span class="comment">// USE_USART3</span></div> | ||||
| <div class="line"><a id="l00312" name="l00312"></a><span class="lineno">  312</span><span class="preprocessor">#ifdef USE_UART4</span></div> | ||||
| <div class="line"><a id="l00313" name="l00313"></a><span class="lineno">  313</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==UART4)</div> | ||||
| <div class="line"><a id="l00314" name="l00314"></a><span class="lineno">  314</span>  {</div> | ||||
| <div class="line"><a id="l00315" name="l00315"></a><span class="lineno">  315</span><span class="comment">//  /* DMA1 clock enable */</span></div> | ||||
| <div class="line"><a id="l00316" name="l00316"></a><span class="lineno">  316</span><span class="comment">//  __HAL_RCC_DMA1_CLK_ENABLE();</span></div> | ||||
| <div class="line"><a id="l00317" name="l00317"></a><span class="lineno">  317</span><span class="comment">//  /* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00318" name="l00318"></a><span class="lineno">  318</span><span class="comment">//  HAL_NVIC_SetPriority(DMA1_Stream2_IRQn, 0, 0);</span></div> | ||||
| <div class="line"><a id="l00319" name="l00319"></a><span class="lineno">  319</span><span class="comment">//  HAL_NVIC_EnableIRQ(DMA1_Stream2_IRQn);</span></div> | ||||
| <div class="line"><a id="l00320" name="l00320"></a><span class="lineno">  320</span>  </div> | ||||
| <div class="line"><a id="l00321" name="l00321"></a><span class="lineno">  321</span>  <span class="comment">/* UART4 clock reset */</span></div> | ||||
| <div class="line"><a id="l00322" name="l00322"></a><span class="lineno">  322</span>  __HAL_RCC_UART4_FORCE_RESET();</div> | ||||
| <div class="line"><a id="l00323" name="l00323"></a><span class="lineno">  323</span>  __HAL_RCC_UART4_RELEASE_RESET();</div> | ||||
| <div class="line"><a id="l00324" name="l00324"></a><span class="lineno">  324</span>  }</div> | ||||
| <div class="line"><a id="l00325" name="l00325"></a><span class="lineno">  325</span><span class="preprocessor">#endif </span><span class="comment">// USE_UART4</span></div> | ||||
| <div class="line"><a id="l00326" name="l00326"></a><span class="lineno">  326</span><span class="preprocessor">#ifdef USE_UART5</span></div> | ||||
| <div class="line"><a id="l00327" name="l00327"></a><span class="lineno">  327</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==UART5)</div> | ||||
| <div class="line"><a id="l00328" name="l00328"></a><span class="lineno">  328</span>  {</div> | ||||
| <div class="line"><a id="l00329" name="l00329"></a><span class="lineno">  329</span><span class="comment">//  /* DMA1 clock enable */</span></div> | ||||
| <div class="line"><a id="l00330" name="l00330"></a><span class="lineno">  330</span><span class="comment">//  __HAL_RCC_DMA1_CLK_ENABLE();</span></div> | ||||
| <div class="line"><a id="l00331" name="l00331"></a><span class="lineno">  331</span><span class="comment">//  /* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00332" name="l00332"></a><span class="lineno">  332</span><span class="comment">//  HAL_NVIC_SetPriority(DMA1_Stream0_IRQn, 0, 0);</span></div> | ||||
| <div class="line"><a id="l00333" name="l00333"></a><span class="lineno">  333</span><span class="comment">//  HAL_NVIC_EnableIRQ(DMA1_Stream0_IRQn);</span></div> | ||||
| <div class="line"><a id="l00334" name="l00334"></a><span class="lineno">  334</span>  </div> | ||||
| <div class="line"><a id="l00335" name="l00335"></a><span class="lineno">  335</span>  <span class="comment">/* UART5 clock reset */</span></div> | ||||
| <div class="line"><a id="l00336" name="l00336"></a><span class="lineno">  336</span>  __HAL_RCC_UART5_FORCE_RESET();</div> | ||||
| <div class="line"><a id="l00337" name="l00337"></a><span class="lineno">  337</span>  __HAL_RCC_UART5_RELEASE_RESET();</div> | ||||
| <div class="line"><a id="l00338" name="l00338"></a><span class="lineno">  338</span>  }</div> | ||||
| <div class="line"><a id="l00339" name="l00339"></a><span class="lineno">  339</span><span class="preprocessor">#endif </span><span class="comment">// USE_UART5</span></div> | ||||
| <div class="line"><a id="l00340" name="l00340"></a><span class="lineno">  340</span><span class="preprocessor">#ifdef USE_USART6</span></div> | ||||
| <div class="line"><a id="l00341" name="l00341"></a><span class="lineno">  341</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(huart->Instance==USART6)</div> | ||||
| <div class="line"><a id="l00342" name="l00342"></a><span class="lineno">  342</span>  {</div> | ||||
| <div class="line"><a id="l00343" name="l00343"></a><span class="lineno">  343</span><span class="comment">//  /* DMA2 clock enable */</span></div> | ||||
| <div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span><span class="comment">//  __HAL_RCC_DMA2_CLK_ENABLE();</span></div> | ||||
| <div class="line"><a id="l00345" name="l00345"></a><span class="lineno">  345</span><span class="comment">//  /* DMA interrupt init */</span></div> | ||||
| <div class="line"><a id="l00346" name="l00346"></a><span class="lineno">  346</span><span class="comment">//  HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0);</span></div> | ||||
| <div class="line"><a id="l00347" name="l00347"></a><span class="lineno">  347</span><span class="comment">//  HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn);</span></div> | ||||
| <div class="line"><a id="l00348" name="l00348"></a><span class="lineno">  348</span>  </div> | ||||
| <div class="line"><a id="l00349" name="l00349"></a><span class="lineno">  349</span>  <span class="comment">/* USART6 clock reset */</span></div> | ||||
| <div class="line"><a id="l00350" name="l00350"></a><span class="lineno">  350</span>  __HAL_RCC_USART6_FORCE_RESET();</div> | ||||
| <div class="line"><a id="l00351" name="l00351"></a><span class="lineno">  351</span>  __HAL_RCC_USART6_RELEASE_RESET();</div> | ||||
| <div class="line"><a id="l00352" name="l00352"></a><span class="lineno">  352</span>  }</div> | ||||
| <div class="line"><a id="l00353" name="l00353"></a><span class="lineno">  353</span><span class="preprocessor">#endif </span><span class="comment">// USE_USART6</span></div> | ||||
| <div class="line"><a id="l00354" name="l00354"></a><span class="lineno">  354</span>}</div> | ||||
| <div class="line"><a id="l00355" name="l00355"></a><span class="lineno">  355</span><span class="comment"></span> </div> | ||||
| <div class="line"><a id="l00356" name="l00356"></a><span class="lineno">  356</span><span class="comment">/**  </span></div> | ||||
| <div class="line"><a id="l00357" name="l00357"></a><span class="lineno">  357</span><span class="comment">  * @brief  Check that uart init structure have correct values.</span></div> | ||||
| <div class="line"><a id="l00358" name="l00358"></a><span class="lineno">  358</span><span class="comment">  * @param  suart - указатель на структуру с настройками UART.</span></div> | ||||
| <div class="line"><a id="l00359" name="l00359"></a><span class="lineno">  359</span><span class="comment">  * @return HAL status.</span></div> | ||||
| <div class="line"><a id="l00360" name="l00360"></a><span class="lineno">  360</span><span class="comment">  */</span></div> | ||||
| <div class="line"><a id="l00361" name="l00361"></a><span class="lineno">  361</span>HAL_StatusTypeDef Check_UART_Init_Struct(<a class="code hl_struct" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart)</div> | ||||
| <div class="line"><a id="l00362" name="l00362"></a><span class="lineno">  362</span>{</div> | ||||
| <div class="line"><a id="l00363" name="l00363"></a><span class="lineno">  363</span>  <span class="comment">// check is settings are valid</span></div> | ||||
| <div class="line"><a id="l00364" name="l00364"></a><span class="lineno">  364</span>  <span class="keywordflow">if</span> (!IS_UART_INSTANCE(suart->huart.Instance))</div> | ||||
| <div class="line"><a id="l00365" name="l00365"></a><span class="lineno">  365</span>    <span class="keywordflow">return</span> HAL_ERROR;</div> | ||||
| <div class="line"><a id="l00366" name="l00366"></a><span class="lineno">  366</span>  </div> | ||||
| <div class="line"><a id="l00367" name="l00367"></a><span class="lineno">  367</span>  <span class="keywordflow">if</span> (!IS_UART_BAUDRATE(suart->huart.Init.BaudRate) || (suart->huart.Init.BaudRate == NULL))</div> | ||||
| <div class="line"><a id="l00368" name="l00368"></a><span class="lineno">  368</span>    <span class="keywordflow">return</span> HAL_ERROR;</div> | ||||
| <div class="line"><a id="l00369" name="l00369"></a><span class="lineno">  369</span>  </div> | ||||
| <div class="line"><a id="l00370" name="l00370"></a><span class="lineno">  370</span>  <span class="keywordflow">if</span> (!IS_GPIO_ALL_INSTANCE(suart->GPIOx))</div> | ||||
| <div class="line"><a id="l00371" name="l00371"></a><span class="lineno">  371</span>    <span class="keywordflow">return</span> HAL_ERROR;</div> | ||||
| <div class="line"><a id="l00372" name="l00372"></a><span class="lineno">  372</span>  </div> | ||||
| <div class="line"><a id="l00373" name="l00373"></a><span class="lineno">  373</span>  <span class="keywordflow">if</span> (!IS_GPIO_PIN(suart->GPIO_PIN_RX) && !IS_GPIO_PIN(suart->GPIO_PIN_TX)) <span class="comment">// if both pins arent set up</span></div> | ||||
| <div class="line"><a id="l00374" name="l00374"></a><span class="lineno">  374</span>    <span class="keywordflow">return</span> HAL_ERROR;</div> | ||||
| <div class="line"><a id="l00375" name="l00375"></a><span class="lineno">  375</span>  </div> | ||||
| <div class="line"><a id="l00376" name="l00376"></a><span class="lineno">  376</span>  <span class="keywordflow">return</span> HAL_OK;</div> | ||||
| <div class="line"><a id="l00377" name="l00377"></a><span class="lineno">  377</span>}</div> | ||||
| <div class="line"><a id="l00378" name="l00378"></a><span class="lineno">  378</span> </div> | ||||
| <div class="line"><a id="l00379" name="l00379"></a><span class="lineno">  379</span><span class="comment">//------------------------UART INIT FUNCTIONS------------------------</span></div> | ||||
| <div class="line"><a id="l00380" name="l00380"></a><span class="lineno">  380</span><span class="comment">//-------------------------------------------------------------------</span></div> | ||||
| <div class="ttc" id="ageneral__gpio_8h_html"><div class="ttname"><a href="general__gpio_8h.html">general_gpio.h</a></div><div class="ttdoc">Заголовочный файл для модуля инициализации портов и работы с ними.</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_gae110df81afd885a390bbeb152d7b709f"><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#gae110df81afd885a390bbeb152d7b709f">MyLibs_Error_Handler</a></div><div class="ttdeci">#define MyLibs_Error_Handler(params)</div><div class="ttdoc">Error_Handler который будет вызыватся в библиотеке</div><div class="ttdef"><b>Definition</b> <a href="mylibs__defs_8h_source.html#l00031">mylibs_defs.h:31</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="general__gpio_8c_source.html#l00022">general_gpio.c:22</a></div></div> | ||||
| <div class="ttc" id="astruct_u_a_r_t___settings_type_def_html"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="____general__uart_8h_source.html#l00045">__general_uart.h:46</a></div></div> | ||||
| </div><!-- fragment --></div><!-- contents --> | ||||
| </div><!-- doc-content --> | ||||
| <!-- start footer part --> | ||||
| <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> | ||||
|   <ul> | ||||
|     <li class="navelem"><a class="el" href="dir_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a class="el" href="dir_9c80311a018e1f8cfb6659b73d634be4.html">Src</a></li><li class="navelem"><b>__general_uart.c</b></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.10.0 </li> | ||||
|   </ul> | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @ -1,233 +0,0 @@ | ||||
| <!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.10.0"/> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1"/> | ||||
| <title>MyLibs: F:/Work/Projects/STM/.Elementary/STM32_ExtendedLibs/MyLibsGeneral/Inc/__general_uart.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="resize.js"></script> | ||||
| <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"> 1.0</span> | ||||
|    </div> | ||||
|    <div id="projectbrief">Расширенные библиотеки для STM32</div> | ||||
|   </td> | ||||
|  </tr> | ||||
|  </tbody> | ||||
| </table> | ||||
| </div> | ||||
| <!-- end header part --> | ||||
| <!-- Generated by Doxygen 1.10.0 --> | ||||
| <script type="text/javascript"> | ||||
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||||
| var searchBox = new SearchBox("searchBox", "search/",'.html'); | ||||
| /* @license-end */ | ||||
| </script> | ||||
| <script type="text/javascript" src="menudata.js"></script> | ||||
| <script type="text/javascript" src="menu.js"></script> | ||||
| <script type="text/javascript"> | ||||
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||||
| $(function() { | ||||
|   initMenu('',true,false,'search.php','Search'); | ||||
|   $(function() { init_search(); }); | ||||
| }); | ||||
| /* @license-end */ | ||||
| </script> | ||||
| <div id="main-nav"></div> | ||||
| <script type="text/javascript"> | ||||
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||||
| $(function() { codefold.init(0); }); | ||||
| /* @license-end */ | ||||
| </script> | ||||
| </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"> | ||||
| /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||||
| $(function(){initNavTree('____general__uart_8h_source.html',''); initResizable(); }); | ||||
| /* @license-end */ | ||||
| </script> | ||||
| <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">__general_uart.h</div></div> | ||||
| </div><!--header--> | ||||
| <div class="contents"> | ||||
| <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 general_uart.h</span></div> | ||||
| <div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="comment">* @brief Заголовочный файл для модуля инициализации UART.</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="preprocessor">#ifndef __UART_GENERAL_H_</span></div> | ||||
| <div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="preprocessor">#define __UART_GENERAL_H_</span></div> | ||||
| <div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="comment"></span> </div> | ||||
| <div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="comment">//////////////////////////////////////////////////////////////////////</span></div> | ||||
| <div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="comment">/////////////////////////---USER SETTINGS---/////////////////////////</span></div> | ||||
| <div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="comment"></span><span class="preprocessor">#define HAL_UART_MODULE_ENABLED   </span><span class="comment">// need to uncomment these defines in stm32f4xx_hal_conf.h</span></div> | ||||
| <div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="comment">//#define HAL_USART_MODULE_ENABLED  // maybe also need to add hal_uart.h/.c (source code)</span></div> | ||||
| <div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span> </div> | ||||
| <div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="comment">//#define USE_USART1</span></div> | ||||
| <div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="comment">//#define USE_USART2</span></div> | ||||
| <div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="comment">//#define USE_USART3</span></div> | ||||
| <div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="comment">//#define USE_UART4</span></div> | ||||
| <div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="comment">//#define USE_UART5</span></div> | ||||
| <div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="comment">//#define USE_USART6</span></div> | ||||
| <div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="comment">/* note: used uart defines in modbus.h */</span></div> | ||||
| <div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="comment"></span> </div> | ||||
| <div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="comment">/////////////////////////---USER SETTINGS---/////////////////////////</span></div> | ||||
| <div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="comment"></span><span class="preprocessor">#include "interface_config.h"</span> <span class="comment">/* used uart defines in modbus.h */</span></div> | ||||
| <div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div> | ||||
| <div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</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">/////////////////////////////////////////////////////////////////////</span></div> | ||||
| <div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="comment">////////////////////////////---DEFINES---////////////////////////////</span></div> | ||||
| <div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="comment"></span><span class="preprocessor">#include "<a class="code" href="mylibs__defs_8h.html">mylibs_defs.h</a>"</span><span class="comment"></span></div> | ||||
| <div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="comment">/**  </span></div> | ||||
| <div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="comment">  * @brief  Analog for HAL define. Remade with pointer to structure.</span></div> | ||||
| <div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="comment">  * @note   @ref __HAL_LINKDMA.</span></div> | ||||
| <div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="comment">  */</span></div> | ||||
| <div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="preprocessor">#define __USER_LINKDMA(__HANDLE__, __PPP_DMA_FIELD__, __DMA_HANDLE__)   \</span></div> | ||||
| <div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="preprocessor">do{                                                                     \</span></div> | ||||
| <div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="preprocessor">(__HANDLE__)->__PPP_DMA_FIELD__ = (__DMA_HANDLE__);                     \</span></div> | ||||
| <div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span><span class="preprocessor">(__DMA_HANDLE__)->Parent = (__HANDLE__);} while(0U)</span></div> | ||||
| <div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span> </div> | ||||
| <div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>                              <span class="comment"></span></div> | ||||
| <div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span><span class="comment">////////////////////////////---DEFINES---////////////////////////////</span></div> | ||||
| <div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span><span class="comment"></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">///////////////////////---STRUCTURES & ENUMS---//////////////////////</span></div> | ||||
| <div class="foldopen" id="foldopen00045" data-start="{" data-end="};"> | ||||
| <div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="struct_u_a_r_t___settings_type_def.html">   45</a></span><span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">struct </span><span class="comment">// struct with settings for custom function</span></div> | ||||
| <div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>{</div> | ||||
| <div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>  UART_HandleTypeDef huart;</div> | ||||
| <div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>  </div> | ||||
| <div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span>  GPIO_TypeDef *GPIOx;</div> | ||||
| <div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span>  uint16_t GPIO_PIN_RX;</div> | ||||
| <div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span>  uint16_t GPIO_PIN_TX;</div> | ||||
| <div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span>  </div> | ||||
| <div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span>  DMA_Stream_TypeDef *DMAChannel; <span class="comment">// DMAChannel = 0 if doesnt need</span></div> | ||||
| <div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span>  uint32_t DMA_CHANNEL_X; <span class="comment">// DMAChannel = 0 if doesnt need</span></div> | ||||
| <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>  </div> | ||||
| <div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span>}<a class="code hl_struct" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a>;<span class="comment"></span></div> | ||||
| </div> | ||||
| <div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span><span class="comment">///////////////////////---STRUCTURES & ENUMS---//////////////////////</span></div> | ||||
| <div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span><span class="comment"></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="comment">///////////////////////////---FUNCTIONS---///////////////////////////</span></div> | ||||
| <div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span><span class="comment"></span><span class="comment">/**  </span></div> | ||||
| <div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span><span class="comment">  * @brief  Initialize UART with UART_SettingsTypeDef structure.</span></div> | ||||
| <div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span><span class="comment">  * @param  suart - указатель на структуру с настройками UART.</span></div> | ||||
| <div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span><span class="comment">  * @return HAL status.</span></div> | ||||
| <div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span><span class="comment">  * @note   Данная структура содержит хендл ЮАРТ и настройки перефирии (GPIO)</span></div> | ||||
| <div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span><span class="comment">  */</span></div> | ||||
| <div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span>HAL_StatusTypeDef UART_Base_Init(<a class="code hl_struct" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart);<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  Initialize GPIO for UART.</span></div> | ||||
| <div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span><span class="comment">  * @param  GPIOx       - порт для настройки.</span></div> | ||||
| <div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span><span class="comment">  * @param  GPIO_PIN_RX - пин для настройки на прием.</span></div> | ||||
| <div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span><span class="comment">  * @param  GPIO_PIN_TX - пин для настройки на передачу.</span></div> | ||||
| <div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span><span class="comment">  */</span></div> | ||||
| <div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span><span class="keywordtype">void</span> UART_GPIO_Init(GPIO_TypeDef *GPIOx, uint16_t GPIO_PIN_RX, uint16_t GPIO_PIN_TX);<span class="comment"></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">  * @brief  Initialize DMA for UART.</span></div> | ||||
| <div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span><span class="comment">  * @param  huart         - указатель на хендл UART для настройки DMA.</span></div> | ||||
| <div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span><span class="comment">  * @param  hdma_rx       - указатель на хендл DMA для линии приема UART.</span></div> | ||||
| <div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span><span class="comment">  * @param  DMAChannel    - указатель на канал DMA/поток DMA в STM32F407.</span></div> | ||||
| <div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span><span class="comment">  * @param  DMA_CHANNEL_X - канал DMA.</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="keywordtype">void</span> UART_DMA_Init(UART_HandleTypeDef *huart, DMA_HandleTypeDef *hdma_rx, DMA_Stream_TypeDef *DMAChannel, uint32_t DMA_CHANNEL_X);<span class="comment"></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">  * @brief  Initialize UART & DMA clock and interrupt.</span></div> | ||||
| <div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span><span class="comment">  * @param  huart - указатель на хендл UART для инициализации.</span></div> | ||||
| <div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span><span class="comment">  * @note   Чтобы не генерировать функцию с иницилизацией неиспользуемых UART,</span></div> | ||||
| <div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span><span class="comment">            дефайнами определяются используемые UART.</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="keywordtype">void</span> UART_MspInit(UART_HandleTypeDef *huart);<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">  * @brief  Deinitialize UART & DMA clock and interrupt.</span></div> | ||||
| <div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span><span class="comment">  * @param  huart - указатель на хендл UART для деинициализации.</span></div> | ||||
| <div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span><span class="comment">  * @note   Чтобы не генерировать функцию с деиницилизацией неиспользуемых UART,</span></div> | ||||
| <div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span><span class="comment">            дефайнами в rs_message.h определяются используемые UART.</span></div> | ||||
| <div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span><span class="comment">  */</span></div> | ||||
| <div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span><span class="keywordtype">void</span> UART_MspDeInit(UART_HandleTypeDef *huart);</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">/**  </span></div> | ||||
| <div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span><span class="comment">  * @brief  Check that uart init structure have correct values.</span></div> | ||||
| <div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span><span class="comment">  * @param  suart - указатель на структуру с настройками UART.</span></div> | ||||
| <div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span><span class="comment">  * @return HAL status.</span></div> | ||||
| <div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span><span class="comment">  */</span> </div> | ||||
| <div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span>HAL_StatusTypeDef Check_UART_Init_Struct(<a class="code hl_struct" href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a> *suart);<span class="comment"></span></div> | ||||
| <div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span><span class="comment">///////////////////////////---FUNCTIONS---///////////////////////////</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="preprocessor">#endif </span><span class="comment">// __UART_GENERAL_H_</span></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_u_a_r_t___settings_type_def_html"><div class="ttname"><a href="struct_u_a_r_t___settings_type_def.html">UART_SettingsTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="#l00045">__general_uart.h:46</a></div></div> | ||||
| </div><!-- fragment --></div><!-- contents --> | ||||
| </div><!-- doc-content --> | ||||
| <!-- start footer part --> | ||||
| <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> | ||||
|   <ul> | ||||
|     <li class="navelem"><a class="el" href="dir_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a class="el" href="dir_eb423fea8a9c4b9b32b922020ec391e1.html">Inc</a></li><li class="navelem"><b>__general_uart.h</b></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.10.0 </li> | ||||
|   </ul> | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
| @ -1,165 +0,0 @@ | ||||
| <!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: SPI_Usage_Example</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"> 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('_s_p_i__usage__example-example.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">SPI_Usage_Example</div></div> | ||||
| </div><!--header--> | ||||
| <div class="contents"> | ||||
| <p>Пример использования SPI_Base_Init.</p> | ||||
| <p>Пример использования SPI_Base_Init. Инициализация SPI1 с базовыми настройками: </p><div class="fragment"><div class="line"><span class="preprocessor">#include "<a class="code" href="general__spi_8h.html">general_spi.h</a>"</span></div> | ||||
| <div class="line"> </div> | ||||
| <div class="line"><a id="_a0" name="_a0"></a><a class="code hl_struct" href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a> mySPI;</div> | ||||
| <div class="line"> </div> | ||||
| <div class="line"><span class="keywordtype">void</span> SPI1_Init(<span class="keywordtype">void</span>)</div> | ||||
| <div class="line">{</div> | ||||
| <div class="line">    <span class="comment">// Настройка SPI1</span></div> | ||||
| <div class="line">    mySPI.<a id="a1" name="a1"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Instance = SPI1;</div> | ||||
| <div class="line">    mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.Mode = SPI_MODE_MASTER;</div> | ||||
| <div class="line">    mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.Direction = SPI_DIRECTION_2LINES;</div> | ||||
| <div class="line">    mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.DataSize = SPI_DATASIZE_8BIT;</div> | ||||
| <div class="line">    mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.CLKPolarity = SPI_POLARITY_LOW;</div> | ||||
| <div class="line">    mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.CLKPhase = SPI_PHASE_1EDGE;</div> | ||||
| <div class="line">    mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.NSS = SPI_NSS_SOFT;</div> | ||||
| <div class="line">    mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16;</div> | ||||
| <div class="line">    mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.FirstBit = SPI_FIRSTBIT_MSB;</div> | ||||
| <div class="line">    mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.TIMode = SPI_TIMODE_DISABLE;</div> | ||||
| <div class="line">    mySPI.<a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">hspi</a>.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;</div> | ||||
| <div class="line"> </div> | ||||
| <div class="line">    <span class="comment">// Настройка GPIO для SPI</span></div> | ||||
| <div class="line">    mySPI.<a id="a2" name="a2"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979">CLK_GPIOx</a> = GPIOA;</div> | ||||
| <div class="line">    mySPI.<a id="a3" name="a3"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc">CLK_PIN</a> = GPIO_PIN_5;</div> | ||||
| <div class="line">    mySPI.<a id="a4" name="a4"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3f3748103a0b7861f6700042fd691ba1">CLK_GPIO_AlternageFunc</a> = GPIO_AF5_SPI1;</div> | ||||
| <div class="line"> </div> | ||||
| <div class="line">    mySPI.<a id="a5" name="a5"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95">MISO_GPIOx</a> = GPIOA;</div> | ||||
| <div class="line">    mySPI.<a id="a6" name="a6"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a">MISO_PIN</a> = GPIO_PIN_6;</div> | ||||
| <div class="line">    mySPI.<a id="a7" name="a7"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#aecd7a5c6e205335b8ed229d74cd35d14">MISO_GPIO_AlternageFunc</a> = GPIO_AF5_SPI1;</div> | ||||
| <div class="line"> </div> | ||||
| <div class="line">    mySPI.<a id="a8" name="a8"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820">MOSI_GPIOx</a> = GPIOA;</div> | ||||
| <div class="line">    mySPI.<a id="a9" name="a9"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176">MOSI_PIN</a> = GPIO_PIN_7;</div> | ||||
| <div class="line">    mySPI.<a id="a10" name="a10"></a><a class="code hl_variable" href="struct_s_p_i___settings_type_def.html#afbe75a1c36650a4a9b41fa706a4c7eab">MOSI_GPIO_AlternageFunc</a> = GPIO_AF5_SPI1;</div> | ||||
| <div class="line"> </div> | ||||
| <div class="line">    <span class="comment">// Инициализация SPI</span></div> | ||||
| <div class="line">    <span class="keywordflow">if</span>(<a id="a11" name="a11"></a><a class="code hl_function" href="group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba">SPI_Base_Init</a>(&mySPI) != HAL_OK)</div> | ||||
| <div class="line">    {</div> | ||||
| <div class="line">        <span class="comment">// Обработка ошибки</span></div> | ||||
| <div class="line">    }</div> | ||||
| <div class="line">}</div> | ||||
| <div class="ttc" id="ageneral__spi_8h_html"><div class="ttname"><a href="general__spi_8h.html">general_spi.h</a></div><div class="ttdoc">Заголовочный файл для модуля инициализации SPI.</div></div> | ||||
| <div class="ttc" id="agroup___m_y___l_i_b_s___s_p_i_html_ga0e177e3c57a8fcdc73b5602e72ec66ba"><div class="ttname"><a href="group___m_y___l_i_b_s___s_p_i.html#ga0e177e3c57a8fcdc73b5602e72ec66ba">SPI_Base_Init</a></div><div class="ttdeci">HAL_StatusTypeDef SPI_Base_Init(SPI_SettingsTypeDef *sspi)</div><div class="ttdoc">Инициализация SPI с помощью структуры SPI_SettingsTypeDef.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8c_source.html#l00023">general_spi.c:23</a></div></div> | ||||
| <div class="ttc" id="astruct_s_p_i___settings_type_def_html"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html">SPI_SettingsTypeDef</a></div><div class="ttdoc">Структура настроек SPI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00106">general_spi.h:107</a></div></div> | ||||
| <div class="ttc" id="astruct_s_p_i___settings_type_def_html_a0af3bdb273818ff97eb4ff3cff918820"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820">SPI_SettingsTypeDef::MOSI_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * MOSI_GPIOx</div><div class="ttdoc">Порт MOSI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00118">general_spi.h:118</a></div></div> | ||||
| <div class="ttc" id="astruct_s_p_i___settings_type_def_html_a0d55a2941854f61934487f3d209cfa95"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95">SPI_SettingsTypeDef::MISO_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * MISO_GPIOx</div><div class="ttdoc">Порт MISO.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00114">general_spi.h:114</a></div></div> | ||||
| <div class="ttc" id="astruct_s_p_i___settings_type_def_html_a3366c654d7ec6dd41c6a0b504dc8509a"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a">SPI_SettingsTypeDef::MISO_PIN</a></div><div class="ttdeci">uint32_t MISO_PIN</div><div class="ttdoc">Пин MISO.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00115">general_spi.h:115</a></div></div> | ||||
| <div class="ttc" id="astruct_s_p_i___settings_type_def_html_a3bcb1ed12da3544e02e6d36493669bdc"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc">SPI_SettingsTypeDef::CLK_PIN</a></div><div class="ttdeci">uint32_t CLK_PIN</div><div class="ttdoc">Пин CLK.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00111">general_spi.h:111</a></div></div> | ||||
| <div class="ttc" id="astruct_s_p_i___settings_type_def_html_a3f3748103a0b7861f6700042fd691ba1"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a3f3748103a0b7861f6700042fd691ba1">SPI_SettingsTypeDef::CLK_GPIO_AlternageFunc</a></div><div class="ttdeci">uint32_t CLK_GPIO_AlternageFunc</div><div class="ttdoc">Альтернативная функция для CLK.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00112">general_spi.h:112</a></div></div> | ||||
| <div class="ttc" id="astruct_s_p_i___settings_type_def_html_a6a15d48eccf92959de3a086031fdc979"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979">SPI_SettingsTypeDef::CLK_GPIOx</a></div><div class="ttdeci">GPIO_TypeDef * CLK_GPIOx</div><div class="ttdoc">Порт CLK.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00110">general_spi.h:110</a></div></div> | ||||
| <div class="ttc" id="astruct_s_p_i___settings_type_def_html_a961208869faf4a7369aaf4edde75f176"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176">SPI_SettingsTypeDef::MOSI_PIN</a></div><div class="ttdeci">uint32_t MOSI_PIN</div><div class="ttdoc">Пин MOSI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00119">general_spi.h:119</a></div></div> | ||||
| <div class="ttc" id="astruct_s_p_i___settings_type_def_html_ad203d8b8d67e4f477d002d15b03ba422"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#ad203d8b8d67e4f477d002d15b03ba422">SPI_SettingsTypeDef::hspi</a></div><div class="ttdeci">SPI_HandleTypeDef hspi</div><div class="ttdoc">HAL handle SPI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00108">general_spi.h:108</a></div></div> | ||||
| <div class="ttc" id="astruct_s_p_i___settings_type_def_html_aecd7a5c6e205335b8ed229d74cd35d14"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#aecd7a5c6e205335b8ed229d74cd35d14">SPI_SettingsTypeDef::MISO_GPIO_AlternageFunc</a></div><div class="ttdeci">uint32_t MISO_GPIO_AlternageFunc</div><div class="ttdoc">Альтернативная функция для MISO.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00116">general_spi.h:116</a></div></div> | ||||
| <div class="ttc" id="astruct_s_p_i___settings_type_def_html_afbe75a1c36650a4a9b41fa706a4c7eab"><div class="ttname"><a href="struct_s_p_i___settings_type_def.html#afbe75a1c36650a4a9b41fa706a4c7eab">SPI_SettingsTypeDef::MOSI_GPIO_AlternageFunc</a></div><div class="ttdeci">uint32_t MOSI_GPIO_AlternageFunc</div><div class="ttdoc">Альтернативная функция для MOSI.</div><div class="ttdef"><b>Definition</b> <a href="general__spi_8h_source.html#l00120">general_spi.h:120</a></div></div> | ||||
| </div><!-- fragment --><div class="fragment"></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="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> | ||||
| @ -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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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 --> | ||||
|  | ||||
| @ -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" ], | ||||
|  | ||||
| Before Width: | Height: | Size: 676 B | 
| Before Width: | Height: | Size: 635 B | 
							
								
								
									
										185
									
								
								Doc/html/bench__time_8h.html
									
									
									
									
									
										Normal 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"> 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 "<a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>"</code><br /> | ||||
| <code>#include <stdint.h></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  </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"> </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  </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"> </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  </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"> </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 </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"> </td><td class="mdescRight">Инициализация системы измерения времени  <br /></td></tr> | ||||
| <tr class="memitem:gac65338df38129964ce3e9d9cb2fcb349" id="r_gac65338df38129964ce3e9d9cb2fcb349"><td class="memItemLeft" align="right" valign="top">static uint32_t </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"> </td><td class="mdescRight">Начало измерения на указанном канале  <br /></td></tr> | ||||
| <tr class="memitem:ga47a69851a2089140eac00cde18a12439" id="r_ga47a69851a2089140eac00cde18a12439"><td class="memItemLeft" align="right" valign="top">static uint32_t </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"> </td><td class="mdescRight">Окончание измерения на указанном канале  <br /></td></tr> | ||||
| <tr class="memitem:ga273d45255fe4403fc25648d60cca7705" id="r_ga273d45255fe4403fc25648d60cca7705"><td class="memItemLeft" align="right" valign="top">static uint32_t </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"> </td><td class="mdescRight">Получение минимального времени измерения  <br /></td></tr> | ||||
| <tr class="memitem:ga07e27d7b169c9fa1abd57281bb4e374e" id="r_ga07e27d7b169c9fa1abd57281bb4e374e"><td class="memItemLeft" align="right" valign="top">static uint32_t </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"> </td><td class="mdescRight">Получение максимального времени измерения  <br /></td></tr> | ||||
| <tr class="memitem:ga24e2450d5ea921074ec5d7a1e4d56ba8" id="r_ga24e2450d5ea921074ec5d7a1e4d56ba8"><td class="memItemLeft" align="right" valign="top">static uint32_t </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"> </td><td class="mdescRight">Получение среднего времени измерения  <br /></td></tr> | ||||
| <tr class="memitem:gabd1301ca79a30c782970f89fd147df3a" id="r_gabd1301ca79a30c782970f89fd147df3a"><td class="memItemLeft" align="right" valign="top">static uint32_t </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"> </td><td class="mdescRight">Получение количества измерений  <br /></td></tr> | ||||
| <tr class="memitem:gacf3a738d6423d71b238058a63558a4ed" id="r_gacf3a738d6423d71b238058a63558a4ed"><td class="memItemLeft" align="right" valign="top">static uint32_t </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"> </td><td class="mdescRight">Получение последнего измеренного времени  <br /></td></tr> | ||||
| <tr class="memitem:ga31a6b2b181b92bcb15f46758f5d57f35" id="r_ga31a6b2b181b92bcb15f46758f5d57f35"><td class="memItemLeft" align="right" valign="top">static void </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"> </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> </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"> </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> | ||||
							
								
								
									
										13
									
								
								Doc/html/bench__time_8h.js
									
									
									
									
									
										Normal 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 ] | ||||
| ]; | ||||
							
								
								
									
										11
									
								
								Doc/html/bench__time_8h__incl.map
									
									
									
									
									
										Normal 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> | ||||
							
								
								
									
										1
									
								
								Doc/html/bench__time_8h__incl.md5
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1 @@ | ||||
| e2f287c82f2aba927295813f84ac4e31 | ||||
							
								
								
									
										
											BIN
										
									
								
								Doc/html/bench__time_8h__incl.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 5.6 KiB | 
							
								
								
									
										421
									
								
								Doc/html/bench__time_8h_source.html
									
									
									
									
									
										Normal 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"> 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 "bench_time.h"</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->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->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->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->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->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->CNT);</span></div> | ||||
| <div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span><span class="comment">BenchTime_Start(2, TIM4->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->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 "<a class="code" href="mylibs__defs_8h.html">mylibs_defs.h</a>"</span></div> | ||||
| <div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span><span class="preprocessor">#include <stdint.h></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">///< Максимальное количество каналов измерения</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">///< Минимальное время в тиках</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">///< Максимальное время в тиках  </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">///< Суммарное время в тиках</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">///< Количество измерений</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">///< Последнее измеренное время</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">///< Время старта в тиках</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">///< Период тиков для переполнения</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">///< Флаг активного измерения</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">///< Статистика измерений</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">///< Каналы измерения</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">///< Внутренний экземпляр</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 < <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->CNT, DWT->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 >= <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 >= <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 >= 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 > 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 = &<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-><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 < stats->min_ticks) {</div> | ||||
| <div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span>    stats-><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 > stats-><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-><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-><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-><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 >= <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 >= <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 >= <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 = &<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-><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-><a class="code hl_variable" href="struct_bench_time_stats__t.html#a21499b0b19d1ed27f8cea069f674e8ec">total_ticks</a> / stats-><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 >= <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 >= <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 >= <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 = &<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-><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-><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-><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-><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-><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> | ||||
| @ -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/MyLibsGeneral/Inc/bit_access.h File Reference</title> | ||||
| <title>MyLibs: E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/bit_access.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> | ||||
| @ -108,26 +108,26 @@ $(function(){initNavTree('bit__access_8h.html','',''); }); | ||||
| <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="bit__access_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_general_2_inc_2bit__access_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_general_2_inc_2bit__access_8h" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_inc_2bit__access_8h"> | ||||
| <area shape="rect" title="Заголочный файл для дефайнов битового доступа." alt="" coords="5,5,204,64"/> | ||||
| <area shape="rect" href="mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="53,112,156,139"/> | ||||
| <area shape="poly" title=" " alt="" coords="107,64,107,96,102,96,102,64"/> | ||||
| <area shape="rect" href="mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="48,187,161,213"/> | ||||
| <area shape="poly" title=" " alt="" coords="107,139,107,171,102,171,102,139"/> | ||||
| <area shape="rect" title=" " alt="" coords="46,261,163,288"/> | ||||
| <area shape="poly" title=" " alt="" coords="107,214,107,246,102,246,102,214"/> | ||||
| <div class="center"><img src="bit__access_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_2bit__access_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_2bit__access_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_2bit__access_8h"> | ||||
| <area shape="rect" title="Заголочный файл для дефайнов битового доступа." alt="" coords="5,5,182,64"/> | ||||
| <area shape="rect" href="mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="42,112,145,139"/> | ||||
| <area shape="poly" title=" " alt="" coords="96,64,96,96,91,96,91,64"/> | ||||
| <area shape="rect" href="mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="37,187,150,213"/> | ||||
| <area shape="poly" title=" " alt="" coords="96,139,96,171,91,171,91,139"/> | ||||
| <area shape="rect" title=" " alt="" coords="35,261,152,288"/> | ||||
| <area shape="poly" title=" " alt="" coords="96,214,96,246,91,246,91,214"/> | ||||
| </map> | ||||
| </div> | ||||
| </div><div class="textblock"><div id="dynsection-1" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>This graph shows which files directly or indirectly include this file:</div> | ||||
| <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="bit__access_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_general_2_inc_2bit__access_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_general_2_inc_2bit__access_8hdep" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_inc_2bit__access_8hdep"> | ||||
| <area shape="rect" title="Заголочный файл для дефайнов битового доступа." alt="" coords="5,5,204,64"/> | ||||
| <area shape="rect" href="mylibs__include_8h.html" title="Заголочный файл для всех библиотек" alt="" coords="5,112,204,171"/> | ||||
| <area shape="poly" title=" " alt="" coords="107,80,107,112,102,112,102,80"/> | ||||
| <div class="center"><img src="bit__access_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_2bit__access_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_2bit__access_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_2bit__access_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> | ||||
| @ -168,7 +168,7 @@ Macros</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_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_eb423fea8a9c4b9b32b922020ec391e1.html">Inc</a></li><li class="navelem"><a href="bit__access_8h.html">bit_access.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="bit__access_8h.html">bit_access.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> | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| <map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/bit_access.h" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/bit_access.h"> | ||||
| <area shape="rect" id="Node000001" title="Заголочный файл для дефайнов битового доступа." alt="" coords="5,5,204,64"/> | ||||
| <area shape="rect" id="Node000002" href="$mylibs__include_8h.html" title="Заголочный файл для всех библиотек" alt="" coords="5,112,204,171"/> | ||||
| <area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="107,80,107,112,102,112,102,80"/> | ||||
| <map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/bit_access.h" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/bit_access.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"/> | ||||
| </map> | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| 9d0f52ae67584f7f09caa88b8c7ab4e9 | ||||
| 90cf62b6f2167bce533474179c32e7c8 | ||||
| Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.7 KiB | 
| @ -1,9 +1,9 @@ | ||||
| <map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/bit_access.h" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/bit_access.h"> | ||||
| <area shape="rect" id="Node000001" title="Заголочный файл для дефайнов битового доступа." alt="" coords="5,5,204,64"/> | ||||
| <area shape="rect" id="Node000002" href="$mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="53,112,156,139"/> | ||||
| <area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="107,64,107,96,102,96,102,64"/> | ||||
| <area shape="rect" id="Node000003" href="$mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="48,187,161,213"/> | ||||
| <area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="107,139,107,171,102,171,102,139"/> | ||||
| <area shape="rect" id="Node000004" title=" " alt="" coords="46,261,163,288"/> | ||||
| <area shape="poly" id="edge3_Node000003_Node000004" title=" " alt="" coords="107,214,107,246,102,246,102,214"/> | ||||
| <map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/bit_access.h" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/bit_access.h"> | ||||
| <area shape="rect" id="Node000001" title="Заголочный файл для дефайнов битового доступа." alt="" coords="5,5,182,64"/> | ||||
| <area shape="rect" id="Node000002" href="$mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="42,112,145,139"/> | ||||
| <area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="96,64,96,96,91,96,91,64"/> | ||||
| <area shape="rect" id="Node000003" href="$mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="37,187,150,213"/> | ||||
| <area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="96,139,96,171,91,171,91,139"/> | ||||
| <area shape="rect" id="Node000004" title=" " alt="" coords="35,261,152,288"/> | ||||
| <area shape="poly" id="edge3_Node000003_Node000004" title=" " alt="" coords="96,214,96,246,91,246,91,214"/> | ||||
| </map> | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| 4b8c2556090cdbb9271b9fbe97d7cf5b | ||||
| 5594521ddd55c9695dfd6f9ee1107722 | ||||
| Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.8 KiB | 
| @ -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/MyLibsGeneral/Inc/bit_access.h Source File</title> | ||||
| <title>MyLibs: E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc/bit_access.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> | ||||
| @ -278,7 +278,7 @@ $(function(){initNavTree('bit__access_8h_source.html','',''); }); | ||||
| <!-- start footer part --> | ||||
| <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> | ||||
|   <ul> | ||||
|     <li class="navelem"><a href="dir_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_eb423fea8a9c4b9b32b922020ec391e1.html">Inc</a></li><li class="navelem"><a href="bit__access_8h.html">bit_access.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="bit__access_8h.html">bit_access.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> | ||||
|  | ||||
| @ -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> | <a class="qindex" href="#letter_G">G</a> | <a class="qindex" href="#letter_H">H</a> | <a class="qindex" href="#letter_R">R</a> | <a class="qindex" href="#letter_S">S</a> | <a class="qindex" href="#letter_T">T</a> | <a class="qindex" href="#letter_U">U</a></div> | ||||
| <div class="qindex"><a class="qindex" href="#letter_B">B</a> | <a class="qindex" href="#letter_G">G</a> | <a class="qindex" href="#letter_H">H</a> | <a class="qindex" href="#letter_R">R</a> | <a class="qindex" href="#letter_S">S</a> | <a class="qindex" href="#letter_T">T</a> | <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> | ||||
|  | ||||
| Before Width: | Height: | Size: 132 B | 
							
								
								
									
										118
									
								
								Doc/html/dir_000000_000004.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,118 @@ | ||||
| <!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 -> STM32_General Relation</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"> 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('dir_8eb68c124db7670c3cb56141b10519ea.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"> | ||||
| <h3>Inc → STM32_General Relation</h3><table class="dirtab"><tr class="dirtab"><th class="dirtab">File in MyLibs/Inc</th><th class="dirtab">Includes file in STM32_General</th></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="mylibs__include_8h.html">mylibs_include.h</a></td><td class="dirtab"><a class="el" href="dir_2cad7b5fa94233a09111fd73c6202518.html">Inc</a> / <a class="el" href="general__gpio_8h.html">general_gpio.h</a></td></tr></table></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="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> | ||||
							
								
								
									
										118
									
								
								Doc/html/dir_000001_000002.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,118 @@ | ||||
| <!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/STM32_General/Inc -> MyLibs Relation</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"> 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('dir_2cad7b5fa94233a09111fd73c6202518.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"> | ||||
| <h3>Inc → MyLibs Relation</h3><table class="dirtab"><tr class="dirtab"><th class="dirtab">File in STM32_General/Inc</th><th class="dirtab">Includes file in MyLibs</th></tr><tr class="dirtab"><td class="dirtab"><b>__general_flash.h</b></td><td class="dirtab"><a class="el" href="dir_8eb68c124db7670c3cb56141b10519ea.html">Inc</a> / <a class="el" href="mylibs__defs_8h.html">mylibs_defs.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="general__gpio_8h.html">general_gpio.h</a></td><td class="dirtab"><a class="el" href="dir_8eb68c124db7670c3cb56141b10519ea.html">Inc</a> / <a class="el" href="mylibs__defs_8h.html">mylibs_defs.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="general__spi_8h.html">general_spi.h</a></td><td class="dirtab"><a class="el" href="dir_8eb68c124db7670c3cb56141b10519ea.html">Inc</a> / <a class="el" href="mylibs__defs_8h.html">mylibs_defs.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="general__tim_8h.html">general_tim.h</a></td><td class="dirtab"><a class="el" href="dir_8eb68c124db7670c3cb56141b10519ea.html">Inc</a> / <a class="el" href="mylibs__defs_8h.html">mylibs_defs.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="general__uart_8h.html">general_uart.h</a></td><td class="dirtab"><a class="el" href="dir_8eb68c124db7670c3cb56141b10519ea.html">Inc</a> / <a class="el" href="mylibs__defs_8h.html">mylibs_defs.h</a></td></tr></table></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_57feeba75fefbd1a9c832b76e3bce520.html">STM32_General</a></li><li class="navelem"><a href="dir_2cad7b5fa94233a09111fd73c6202518.html">Inc</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> | ||||
| @ -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/MyLibsGeneral/Src -> Inc Relation</title> | ||||
| <title>MyLibs: E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General/Src -> Inc Relation</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('dir_9c80311a018e1f8cfb6659b73d634be4.html','',''); }); | ||||
| $(function(){initNavTree('dir_3d5e348fed410a00f9c665596ca3b887.html','',''); }); | ||||
| </script> | ||||
| <div id="container"> | ||||
| <div id="doc-content"> | ||||
| @ -97,7 +97,7 @@ $(function(){initNavTree('dir_9c80311a018e1f8cfb6659b73d634be4.html','',''); }); | ||||
| </div> | ||||
| 
 | ||||
| <div class="contents"> | ||||
| <h3>Src → Inc Relation</h3><table class="dirtab"><tr class="dirtab"><th class="dirtab">File in MyLibsGeneral/Src</th><th class="dirtab">Includes file in MyLibsGeneral/Inc</th></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="general__gpio_8c.html">general_gpio.c</a></td><td class="dirtab"><a class="el" href="general__gpio_8h.html">general_gpio.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="general__spi_8c.html">general_spi.c</a></td><td class="dirtab"><a class="el" href="general__gpio_8h.html">general_gpio.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="general__spi_8c.html">general_spi.c</a></td><td class="dirtab"><a class="el" href="general__spi_8h.html">general_spi.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="general__tim_8c.html">general_tim.c</a></td><td class="dirtab"><a class="el" href="general__tim_8h.html">general_tim.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="general__uart_8c.html">general_uart.c</a></td><td class="dirtab"><a class="el" href="general__gpio_8h.html">general_gpio.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="general__uart_8c.html">general_uart.c</a></td><td class="dirtab"><a class="el" href="general__uart_8h.html">general_uart.h</a></td></tr></table></div><!-- contents --> | ||||
| <h3>Src → Inc Relation</h3><table class="dirtab"><tr class="dirtab"><th class="dirtab">File in STM32_General/Src</th><th class="dirtab">Includes file in STM32_General/Inc</th></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="general__gpio_8c.html">general_gpio.c</a></td><td class="dirtab"><a class="el" href="general__gpio_8h.html">general_gpio.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="general__spi_8c.html">general_spi.c</a></td><td class="dirtab"><a class="el" href="general__gpio_8h.html">general_gpio.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="general__spi_8c.html">general_spi.c</a></td><td class="dirtab"><a class="el" href="general__spi_8h.html">general_spi.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="general__tim_8c.html">general_tim.c</a></td><td class="dirtab"><a class="el" href="general__tim_8h.html">general_tim.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="general__uart_8c.html">general_uart.c</a></td><td class="dirtab"><a class="el" href="general__gpio_8h.html">general_gpio.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="general__uart_8c.html">general_uart.c</a></td><td class="dirtab"><a class="el" href="general__uart_8h.html">general_uart.h</a></td></tr></table></div><!-- contents --> | ||||
| </div><!-- doc-content --> | ||||
| <div id="page-nav" class="page-nav-panel"> | ||||
| <div id="page-nav-resize-handle"></div> | ||||
| @ -110,7 +110,7 @@ $(function(){initNavTree('dir_9c80311a018e1f8cfb6659b73d634be4.html','',''); }); | ||||
| <!-- start footer part --> | ||||
| <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> | ||||
|   <ul> | ||||
|     <li class="navelem"><a href="dir_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_9c80311a018e1f8cfb6659b73d634be4.html">Src</a></li> | ||||
|     <li class="navelem"><a href="dir_57feeba75fefbd1a9c832b76e3bce520.html">STM32_General</a></li><li class="navelem"><a href="dir_3d5e348fed410a00f9c665596ca3b887.html">Src</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> | ||||
							
								
								
									
										147
									
								
								Doc/html/dir_2cad7b5fa94233a09111fd73c6202518.html
									
									
									
									
									
										Normal 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: E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General/Inc Directory 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"> 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('dir_2cad7b5fa94233a09111fd73c6202518.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">Inc Directory Reference</div></div> | ||||
| </div><!--header--> | ||||
| <div class="contents"> | ||||
| <div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Directory dependency graph for Inc:</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="dir_2cad7b5fa94233a09111fd73c6202518_dep.png" border="0" usemap="#adir__2cad7b5fa94233a09111fd73c6202518__dep" loading="lazy" alt="E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General/Inc"/></div> | ||||
| <map name="adir__2cad7b5fa94233a09111fd73c6202518__dep" id="adir__2cad7b5fa94233a09111fd73c6202518__dep"> | ||||
| <area shape="rect" href="dir_2cad7b5fa94233a09111fd73c6202518.html" title="Inc" alt="" coords="54,53,93,80"/> | ||||
| <area shape="rect" href="dir_d4b2573a0c19afb61452cc3d00967af1.html" title="MyLibs" alt="" coords="42,128,105,155"/> | ||||
| <area shape="poly" href="dir_000001_000002.html" alt="" coords="76,81,76,112,71,112,71,81"/> | ||||
| <area shape="rect" href="dir_000001_000002.html" title="5" alt="" coords="78,101,85,117"/> | ||||
| <area shape="rect" href="dir_57feeba75fefbd1a9c832b76e3bce520.html" title="STM32_General" alt="" coords="16,16,132,91"/> | ||||
| </map> | ||||
| </div> | ||||
| <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:_5F_5Fgeneral_5Fflash_2Eh" id="r__5F_5Fgeneral_5Fflash_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="____general__flash_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a> </td><td class="memItemRight" valign="bottom"><b>__general_flash.h</b></td></tr> | ||||
| <tr class="memitem:general_5Fgpio_2Eh" id="r_general_5Fgpio_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="general__gpio_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a> </td><td class="memItemRight" valign="bottom"><a class="el" href="general__gpio_8h.html">general_gpio.h</a></td></tr> | ||||
| <tr class="memdesc:general__gpio_8h"><td class="mdescLeft"> </td><td class="mdescRight">Заголовочный файл для модуля инициализации портов и работы с ними. <br /></td></tr> | ||||
| <tr class="memitem:general_5Fspi_2Eh" id="r_general_5Fspi_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="general__spi_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a> </td><td class="memItemRight" valign="bottom"><a class="el" href="general__spi_8h.html">general_spi.h</a></td></tr> | ||||
| <tr class="memdesc:general__spi_8h"><td class="mdescLeft"> </td><td class="mdescRight">Заголовочный файл для модуля инициализации SPI. <br /></td></tr> | ||||
| <tr class="memitem:general_5Ftim_2Eh" id="r_general_5Ftim_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="general__tim_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a> </td><td class="memItemRight" valign="bottom"><a class="el" href="general__tim_8h.html">general_tim.h</a></td></tr> | ||||
| <tr class="memdesc:general__tim_8h"><td class="mdescLeft"> </td><td class="mdescRight">Заголовочный файл для модуля инициализации таймеров и работы с ними. <br /></td></tr> | ||||
| <tr class="memitem:general_5Fuart_2Eh" id="r_general_5Fuart_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="general__uart_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a> </td><td class="memItemRight" valign="bottom"><a class="el" href="general__uart_8h.html">general_uart.h</a></td></tr> | ||||
| <tr class="memdesc:general__uart_8h"><td class="mdescLeft"> </td><td class="mdescRight">Заголовочный файл для модуля инициализации UART. <br /></td></tr> | ||||
| </table> | ||||
| </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_57feeba75fefbd1a9c832b76e3bce520.html">STM32_General</a></li><li class="navelem"><a href="dir_2cad7b5fa94233a09111fd73c6202518.html">Inc</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> | ||||
							
								
								
									
										8
									
								
								Doc/html/dir_2cad7b5fa94233a09111fd73c6202518.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,8 @@ | ||||
| var dir_2cad7b5fa94233a09111fd73c6202518 = | ||||
| [ | ||||
|     [ "__general_flash.h", "____general__flash_8h_source.html", null ], | ||||
|     [ "general_gpio.h", "general__gpio_8h.html", "general__gpio_8h" ], | ||||
|     [ "general_spi.h", "general__spi_8h.html", "general__spi_8h" ], | ||||
|     [ "general_tim.h", "general__tim_8h.html", "general__tim_8h" ], | ||||
|     [ "general_uart.h", "general__uart_8h.html", "general__uart_8h" ] | ||||
| ]; | ||||
							
								
								
									
										7
									
								
								Doc/html/dir_2cad7b5fa94233a09111fd73c6202518_dep.map
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,7 @@ | ||||
| <map id="E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General/Inc" name="E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General/Inc"> | ||||
| <area shape="rect" id="node1" href="dir_2cad7b5fa94233a09111fd73c6202518.html" title="Inc" alt="" coords="54,53,93,80"/> | ||||
| <area shape="rect" id="node2" href="dir_d4b2573a0c19afb61452cc3d00967af1.html" title="MyLibs" alt="" coords="42,128,105,155"/> | ||||
| <area shape="poly" id="edge1" href="dir_000001_000002.html" alt="" coords="76,81,76,112,71,112,71,81"/> | ||||
| <area shape="rect" id="edge1-headlabel" href="dir_000001_000002.html" title="5" alt="" coords="78,101,85,117"/> | ||||
| <area shape="rect" id="clust1" href="dir_57feeba75fefbd1a9c832b76e3bce520.html" title="STM32_General" alt="" coords="16,16,132,91"/> | ||||
| </map> | ||||
							
								
								
									
										1
									
								
								Doc/html/dir_2cad7b5fa94233a09111fd73c6202518_dep.md5
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1 @@ | ||||
| 4c7a0465ed840078237ca199294c9aab | ||||
							
								
								
									
										
											BIN
										
									
								
								Doc/html/dir_2cad7b5fa94233a09111fd73c6202518_dep.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.9 KiB | 
| @ -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/MyLibsGeneral/Src Directory Reference</title> | ||||
| <title>MyLibs: E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General/Src Directory 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('dir_9c80311a018e1f8cfb6659b73d634be4.html','',''); }); | ||||
| $(function(){initNavTree('dir_3d5e348fed410a00f9c665596ca3b887.html','',''); }); | ||||
| </script> | ||||
| <div id="container"> | ||||
| <div id="doc-content"> | ||||
| @ -104,13 +104,13 @@ $(function(){initNavTree('dir_9c80311a018e1f8cfb6659b73d634be4.html','',''); }); | ||||
| <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="dir_9c80311a018e1f8cfb6659b73d634be4_dep.png" border="0" usemap="#adir__9c80311a018e1f8cfb6659b73d634be4__dep" loading="lazy" alt="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Src"/></div> | ||||
| <map name="adir__9c80311a018e1f8cfb6659b73d634be4__dep" id="adir__9c80311a018e1f8cfb6659b73d634be4__dep"> | ||||
| <area shape="rect" href="dir_eb423fea8a9c4b9b32b922020ec391e1.html" title="Inc" alt="" coords="50,128,89,155"/> | ||||
| <area shape="rect" href="dir_9c80311a018e1f8cfb6659b73d634be4.html" title="Src" alt="" coords="49,53,90,80"/> | ||||
| <area shape="poly" href="dir_000002_000000.html" alt="" coords="72,81,72,112,67,112,67,81"/> | ||||
| <area shape="rect" href="dir_000002_000000.html" title="6" alt="" coords="74,101,81,117"/> | ||||
| <area shape="rect" href="dir_9e11e9a41112194af3eee6cc728f9515.html" title="MyLibsGeneral" alt="" coords="16,16,124,165"/> | ||||
| <div class="center"><img src="dir_3d5e348fed410a00f9c665596ca3b887_dep.png" border="0" usemap="#adir__3d5e348fed410a00f9c665596ca3b887__dep" loading="lazy" alt="E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General/Src"/></div> | ||||
| <map name="adir__3d5e348fed410a00f9c665596ca3b887__dep" id="adir__3d5e348fed410a00f9c665596ca3b887__dep"> | ||||
| <area shape="rect" href="dir_2cad7b5fa94233a09111fd73c6202518.html" title="Inc" alt="" coords="54,128,93,155"/> | ||||
| <area shape="rect" href="dir_3d5e348fed410a00f9c665596ca3b887.html" title="Src" alt="" coords="53,53,94,80"/> | ||||
| <area shape="poly" href="dir_000003_000001.html" alt="" coords="76,81,76,112,71,112,71,81"/> | ||||
| <area shape="rect" href="dir_000003_000001.html" title="6" alt="" coords="78,101,85,117"/> | ||||
| <area shape="rect" href="dir_57feeba75fefbd1a9c832b76e3bce520.html" title="STM32_General" alt="" coords="16,16,132,165"/> | ||||
| </map> | ||||
| </div> | ||||
| <table class="memberdecls"> | ||||
| @ -139,7 +139,7 @@ Files</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_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_9c80311a018e1f8cfb6659b73d634be4.html">Src</a></li> | ||||
|     <li class="navelem"><a href="dir_57feeba75fefbd1a9c832b76e3bce520.html">STM32_General</a></li><li class="navelem"><a href="dir_3d5e348fed410a00f9c665596ca3b887.html">Src</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> | ||||
| @ -1,4 +1,4 @@ | ||||
| var dir_9c80311a018e1f8cfb6659b73d634be4 = | ||||
| var dir_3d5e348fed410a00f9c665596ca3b887 = | ||||
| [ | ||||
|     [ "__general_flash.c", "____general__flash_8c_source.html", null ], | ||||
|     [ "general_gpio.c", "general__gpio_8c.html", "general__gpio_8c" ], | ||||
							
								
								
									
										7
									
								
								Doc/html/dir_3d5e348fed410a00f9c665596ca3b887_dep.map
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,7 @@ | ||||
| <map id="E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General/Src" name="E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General/Src"> | ||||
| <area shape="rect" id="node1" href="dir_2cad7b5fa94233a09111fd73c6202518.html" title="Inc" alt="" coords="54,128,93,155"/> | ||||
| <area shape="rect" id="node2" href="dir_3d5e348fed410a00f9c665596ca3b887.html" title="Src" alt="" coords="53,53,94,80"/> | ||||
| <area shape="poly" id="edge1" href="dir_000003_000001.html" alt="" coords="76,81,76,112,71,112,71,81"/> | ||||
| <area shape="rect" id="edge1-headlabel" href="dir_000003_000001.html" title="6" alt="" coords="78,101,85,117"/> | ||||
| <area shape="rect" id="clust1" href="dir_57feeba75fefbd1a9c832b76e3bce520.html" title="STM32_General" alt="" coords="16,16,132,165"/> | ||||
| </map> | ||||
							
								
								
									
										1
									
								
								Doc/html/dir_3d5e348fed410a00f9c665596ca3b887_dep.md5
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1 @@ | ||||
| 5cc6d7a2540515568af57b2a10316ffd | ||||
							
								
								
									
										
											BIN
										
									
								
								Doc/html/dir_3d5e348fed410a00f9c665596ca3b887_dep.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.9 KiB | 
| @ -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/MyLibsGeneral Directory Reference</title> | ||||
| <title>MyLibs: E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General Directory 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('dir_9e11e9a41112194af3eee6cc728f9515.html','',''); }); | ||||
| $(function(){initNavTree('dir_57feeba75fefbd1a9c832b76e3bce520.html','',''); }); | ||||
| </script> | ||||
| <div id="container"> | ||||
| <div id="doc-content"> | ||||
| @ -97,31 +97,30 @@ $(function(){initNavTree('dir_9e11e9a41112194af3eee6cc728f9515.html','',''); }); | ||||
| </div> | ||||
| 
 | ||||
| <div class="header"> | ||||
|   <div class="headertitle"><div class="title">MyLibsGeneral Directory Reference</div></div> | ||||
|   <div class="headertitle"><div class="title">STM32_General Directory Reference</div></div> | ||||
| </div><!--header--> | ||||
| <div class="contents"> | ||||
| <div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Directory dependency graph for MyLibsGeneral:</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>Directory dependency graph for STM32_General:</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="dir_9e11e9a41112194af3eee6cc728f9515_dep.png" border="0" usemap="#adir__9e11e9a41112194af3eee6cc728f9515__dep" loading="lazy" alt="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral"/></div> | ||||
| <map name="adir__9e11e9a41112194af3eee6cc728f9515__dep" id="adir__9e11e9a41112194af3eee6cc728f9515__dep"> | ||||
| <area shape="rect" href="dir_eb423fea8a9c4b9b32b922020ec391e1.html" title="Inc" alt="" coords="160,101,200,128"/> | ||||
| <area shape="rect" href="dir_9c80311a018e1f8cfb6659b73d634be4.html" title="Src" alt="" coords="159,27,201,53"/> | ||||
| <area shape="poly" href="dir_000002_000000.html" alt="" coords="183,54,183,86,177,86,177,54"/> | ||||
| <area shape="rect" href="dir_000002_000000.html" title="6" alt="" coords="185,75,192,91"/> | ||||
| <area shape="rect" href="dir_9e11e9a41112194af3eee6cc728f9515.html" alt="" coords="16,16,212,139"/> | ||||
| <div class="center"><img src="dir_57feeba75fefbd1a9c832b76e3bce520_dep.png" border="0" usemap="#adir__57feeba75fefbd1a9c832b76e3bce520__dep" loading="lazy" alt="E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General"/></div> | ||||
| <map name="adir__57feeba75fefbd1a9c832b76e3bce520__dep" id="adir__57feeba75fefbd1a9c832b76e3bce520__dep"> | ||||
| <area shape="rect" href="dir_2cad7b5fa94233a09111fd73c6202518.html" title="Inc" alt="" coords="167,101,206,128"/> | ||||
| <area shape="rect" href="dir_d4b2573a0c19afb61452cc3d00967af1.html" title="MyLibs" alt="" coords="155,176,218,203"/> | ||||
| <area shape="poly" href="dir_000001_000002.html" alt="" coords="189,129,189,160,184,160,184,129"/> | ||||
| <area shape="rect" href="dir_000001_000002.html" title="5" alt="" coords="192,149,199,165"/> | ||||
| <area shape="rect" href="dir_3d5e348fed410a00f9c665596ca3b887.html" title="Src" alt="" coords="166,27,207,53"/> | ||||
| <area shape="poly" href="dir_000003_000001.html" alt="" coords="189,54,189,86,184,86,184,54"/> | ||||
| <area shape="rect" href="dir_000003_000001.html" title="6" alt="" coords="192,75,199,91"/> | ||||
| <area shape="rect" href="dir_57feeba75fefbd1a9c832b76e3bce520.html" alt="" coords="16,16,219,139"/> | ||||
| </map> | ||||
| </div> | ||||
| <table class="memberdecls"> | ||||
| <tr class="heading"><td colspan="2"><h2 id="header-subdirs" class="groupheader"><a id="subdirs" name="subdirs"></a> | ||||
| Directories</h2></td></tr> | ||||
| <tr class="memitem:Inc" id="r_Inc"><td class="memItemLeft" align="right" valign="top"><span class="iconfolder"><div class="folder-icon"></div></span> </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_eb423fea8a9c4b9b32b922020ec391e1.html">Inc</a></td></tr> | ||||
| <tr class="memitem:Src" id="r_Src"><td class="memItemLeft" align="right" valign="top"><span class="iconfolder"><div class="folder-icon"></div></span> </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_9c80311a018e1f8cfb6659b73d634be4.html">Src</a></td></tr> | ||||
| </table><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:mainpage_2Eh" id="r_mainpage_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="mainpage_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a> </td><td class="memItemRight" valign="bottom"><b>mainpage.h</b></td></tr> | ||||
| <tr class="memitem:Inc" id="r_Inc"><td class="memItemLeft" align="right" valign="top"><span class="iconfolder"><div class="folder-icon"></div></span> </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_2cad7b5fa94233a09111fd73c6202518.html">Inc</a></td></tr> | ||||
| <tr class="memitem:Src" id="r_Src"><td class="memItemLeft" align="right" valign="top"><span class="iconfolder"><div class="folder-icon"></div></span> </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_3d5e348fed410a00f9c665596ca3b887.html">Src</a></td></tr> | ||||
| </table> | ||||
| </div><!-- contents --> | ||||
| </div><!-- doc-content --> | ||||
| @ -136,7 +135,7 @@ Files</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_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li> | ||||
|     <li class="navelem"><a href="dir_57feeba75fefbd1a9c832b76e3bce520.html">STM32_General</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> | ||||
							
								
								
									
										5
									
								
								Doc/html/dir_57feeba75fefbd1a9c832b76e3bce520.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,5 @@ | ||||
| var dir_57feeba75fefbd1a9c832b76e3bce520 = | ||||
| [ | ||||
|     [ "Inc", "dir_2cad7b5fa94233a09111fd73c6202518.html", "dir_2cad7b5fa94233a09111fd73c6202518" ], | ||||
|     [ "Src", "dir_3d5e348fed410a00f9c665596ca3b887.html", "dir_3d5e348fed410a00f9c665596ca3b887" ] | ||||
| ]; | ||||
							
								
								
									
										10
									
								
								Doc/html/dir_57feeba75fefbd1a9c832b76e3bce520_dep.map
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,10 @@ | ||||
| <map id="E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General" name="E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General"> | ||||
| <area shape="rect" id="node2" href="dir_2cad7b5fa94233a09111fd73c6202518.html" title="Inc" alt="" coords="167,101,206,128"/> | ||||
| <area shape="rect" id="node4" href="dir_d4b2573a0c19afb61452cc3d00967af1.html" title="MyLibs" alt="" coords="155,176,218,203"/> | ||||
| <area shape="poly" id="edge1" href="dir_000001_000002.html" alt="" coords="189,129,189,160,184,160,184,129"/> | ||||
| <area shape="rect" id="edge1-headlabel" href="dir_000001_000002.html" title="5" alt="" coords="192,149,199,165"/> | ||||
| <area shape="rect" id="node3" href="dir_3d5e348fed410a00f9c665596ca3b887.html" title="Src" alt="" coords="166,27,207,53"/> | ||||
| <area shape="poly" id="edge2" href="dir_000003_000001.html" alt="" coords="189,54,189,86,184,86,184,54"/> | ||||
| <area shape="rect" id="edge2-headlabel" href="dir_000003_000001.html" title="6" alt="" coords="192,75,199,91"/> | ||||
| <area shape="rect" id="clust1" href="dir_57feeba75fefbd1a9c832b76e3bce520.html" alt="" coords="16,16,219,139"/> | ||||
| </map> | ||||
							
								
								
									
										1
									
								
								Doc/html/dir_57feeba75fefbd1a9c832b76e3bce520_dep.md5
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1 @@ | ||||
| 00df5832c3671ec71ddedfed2e441e5b | ||||
							
								
								
									
										
											BIN
										
									
								
								Doc/html/dir_57feeba75fefbd1a9c832b76e3bce520_dep.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.5 KiB | 
| @ -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/MyLibsGeneral/Inc Directory Reference</title> | ||||
| <title>MyLibs: E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc Directory 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('dir_eb423fea8a9c4b9b32b922020ec391e1.html','',''); }); | ||||
| $(function(){initNavTree('dir_8eb68c124db7670c3cb56141b10519ea.html','',''); }); | ||||
| </script> | ||||
| <div id="container"> | ||||
| <div id="doc-content"> | ||||
| @ -104,28 +104,24 @@ $(function(){initNavTree('dir_eb423fea8a9c4b9b32b922020ec391e1.html','',''); }); | ||||
| <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="dir_eb423fea8a9c4b9b32b922020ec391e1_dep.png" border="0" usemap="#adir__eb423fea8a9c4b9b32b922020ec391e1__dep" loading="lazy" alt="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc"/></div> | ||||
| <map name="adir__eb423fea8a9c4b9b32b922020ec391e1__dep" id="adir__eb423fea8a9c4b9b32b922020ec391e1__dep"> | ||||
| <area shape="rect" href="dir_eb423fea8a9c4b9b32b922020ec391e1.html" title="Inc" alt="" coords="50,53,89,80"/> | ||||
| <area shape="rect" href="dir_9e11e9a41112194af3eee6cc728f9515.html" title="MyLibsGeneral" alt="" coords="16,16,124,91"/> | ||||
| <div class="center"><img src="dir_8eb68c124db7670c3cb56141b10519ea_dep.png" border="0" usemap="#adir__8eb68c124db7670c3cb56141b10519ea__dep" loading="lazy" alt="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc"/></div> | ||||
| <map name="adir__8eb68c124db7670c3cb56141b10519ea__dep" id="adir__8eb68c124db7670c3cb56141b10519ea__dep"> | ||||
| <area shape="rect" href="dir_8eb68c124db7670c3cb56141b10519ea.html" title="Inc" alt="" coords="43,53,83,80"/> | ||||
| <area shape="rect" href="dir_57feeba75fefbd1a9c832b76e3bce520.html" title="STM32_General" alt="" coords="5,128,121,155"/> | ||||
| <area shape="poly" href="dir_000000_000004.html" alt="" coords="66,81,66,112,60,112,60,81"/> | ||||
| <area shape="rect" href="dir_000000_000004.html" title="1" alt="" coords="68,101,75,117"/> | ||||
| <area shape="rect" href="dir_d4b2573a0c19afb61452cc3d00967af1.html" title="MyLibs" alt="" coords="31,16,95,91"/> | ||||
| </map> | ||||
| </div> | ||||
| <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:_5F_5Fgeneral_5Fflash_2Eh" id="r__5F_5Fgeneral_5Fflash_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="____general__flash_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a> </td><td class="memItemRight" valign="bottom"><b>__general_flash.h</b></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> </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"> </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> </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"> </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> </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"> </td><td class="mdescRight">Заголовочный файл для адаптивного подбора параметров <br /></td></tr> | ||||
| <tr class="memitem:general_5Fgpio_2Eh" id="r_general_5Fgpio_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="general__gpio_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a> </td><td class="memItemRight" valign="bottom"><a class="el" href="general__gpio_8h.html">general_gpio.h</a></td></tr> | ||||
| <tr class="memdesc:general__gpio_8h"><td class="mdescLeft"> </td><td class="mdescRight">Заголовочный файл для модуля инициализации портов и работы с ними. <br /></td></tr> | ||||
| <tr class="memitem:general_5Fspi_2Eh" id="r_general_5Fspi_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="general__spi_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a> </td><td class="memItemRight" valign="bottom"><a class="el" href="general__spi_8h.html">general_spi.h</a></td></tr> | ||||
| <tr class="memdesc:general__spi_8h"><td class="mdescLeft"> </td><td class="mdescRight">Заголовочный файл для модуля инициализации SPI. <br /></td></tr> | ||||
| <tr class="memitem:general_5Ftim_2Eh" id="r_general_5Ftim_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="general__tim_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a> </td><td class="memItemRight" valign="bottom"><a class="el" href="general__tim_8h.html">general_tim.h</a></td></tr> | ||||
| <tr class="memdesc:general__tim_8h"><td class="mdescLeft"> </td><td class="mdescRight">Заголовочный файл для модуля инициализации таймеров и работы с ними. <br /></td></tr> | ||||
| <tr class="memitem:general_5Fuart_2Eh" id="r_general_5Fuart_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="general__uart_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a> </td><td class="memItemRight" valign="bottom"><a class="el" href="general__uart_8h.html">general_uart.h</a></td></tr> | ||||
| <tr class="memdesc:general__uart_8h"><td class="mdescLeft"> </td><td class="mdescRight">Заголовочный файл для модуля инициализации UART. <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> </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"> </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> </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"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="mylibs__defs_8h.html">mylibs_defs.h</a></td></tr> | ||||
| @ -150,7 +146,7 @@ Files</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_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_eb423fea8a9c4b9b32b922020ec391e1.html">Inc</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="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> | ||||
							
								
								
									
										11
									
								
								Doc/html/dir_8eb68c124db7670c3cb56141b10519ea.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,11 @@ | ||||
| var dir_8eb68c124db7670c3cb56141b10519ea = | ||||
| [ | ||||
|     [ "bench_time.h", "bench__time_8h.html", "bench__time_8h" ], | ||||
|     [ "bit_access.h", "bit__access_8h.html", "bit__access_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 ], | ||||
|     [ "trace.h", "trace_8h.html", "trace_8h" ], | ||||
|     [ "trackers.h", "trackers_8h.html", "trackers_8h" ] | ||||
| ]; | ||||
							
								
								
									
										7
									
								
								Doc/html/dir_8eb68c124db7670c3cb56141b10519ea_dep.map
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,7 @@ | ||||
| <map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs/Inc"> | ||||
| <area shape="rect" id="node1" href="dir_8eb68c124db7670c3cb56141b10519ea.html" title="Inc" alt="" coords="43,53,83,80"/> | ||||
| <area shape="rect" id="node2" href="dir_57feeba75fefbd1a9c832b76e3bce520.html" title="STM32_General" alt="" coords="5,128,121,155"/> | ||||
| <area shape="poly" id="edge1" href="dir_000000_000004.html" alt="" coords="66,81,66,112,60,112,60,81"/> | ||||
| <area shape="rect" id="edge1-headlabel" href="dir_000000_000004.html" title="1" alt="" coords="68,101,75,117"/> | ||||
| <area shape="rect" id="clust1" href="dir_d4b2573a0c19afb61452cc3d00967af1.html" title="MyLibs" alt="" coords="31,16,95,91"/> | ||||
| </map> | ||||
							
								
								
									
										1
									
								
								Doc/html/dir_8eb68c124db7670c3cb56141b10519ea_dep.md5
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1 @@ | ||||
| ae7b3aba5d71eb1d9172fce905d93d12 | ||||
							
								
								
									
										
											BIN
										
									
								
								Doc/html/dir_8eb68c124db7670c3cb56141b10519ea_dep.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.8 KiB | 
| @ -1,7 +0,0 @@ | ||||
| <map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Src" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Src"> | ||||
| <area shape="rect" id="node1" href="dir_eb423fea8a9c4b9b32b922020ec391e1.html" title="Inc" alt="" coords="50,128,89,155"/> | ||||
| <area shape="rect" id="node2" href="dir_9c80311a018e1f8cfb6659b73d634be4.html" title="Src" alt="" coords="49,53,90,80"/> | ||||
| <area shape="poly" id="edge1" href="dir_000002_000000.html" alt="" coords="72,81,72,112,67,112,67,81"/> | ||||
| <area shape="rect" id="edge1-headlabel" href="dir_000002_000000.html" title="6" alt="" coords="74,101,81,117"/> | ||||
| <area shape="rect" id="clust1" href="dir_9e11e9a41112194af3eee6cc728f9515.html" title="MyLibsGeneral" alt="" coords="16,16,124,165"/> | ||||
| </map> | ||||
| @ -1 +0,0 @@ | ||||
| ffa428a4e7938b24bbf734d10d788ade | ||||
| Before Width: | Height: | Size: 1.9 KiB | 
| @ -1,6 +0,0 @@ | ||||
| var dir_9e11e9a41112194af3eee6cc728f9515 = | ||||
| [ | ||||
|     [ "Inc", "dir_eb423fea8a9c4b9b32b922020ec391e1.html", "dir_eb423fea8a9c4b9b32b922020ec391e1" ], | ||||
|     [ "Src", "dir_9c80311a018e1f8cfb6659b73d634be4.html", "dir_9c80311a018e1f8cfb6659b73d634be4" ], | ||||
|     [ "mainpage.h", "mainpage_8h_source.html", null ] | ||||
| ]; | ||||
| @ -1,7 +0,0 @@ | ||||
| <map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral"> | ||||
| <area shape="rect" id="node2" href="dir_eb423fea8a9c4b9b32b922020ec391e1.html" title="Inc" alt="" coords="160,101,200,128"/> | ||||
| <area shape="rect" id="node3" href="dir_9c80311a018e1f8cfb6659b73d634be4.html" title="Src" alt="" coords="159,27,201,53"/> | ||||
| <area shape="poly" id="edge1" href="dir_000002_000000.html" alt="" coords="183,54,183,86,177,86,177,54"/> | ||||
| <area shape="rect" id="edge1-headlabel" href="dir_000002_000000.html" title="6" alt="" coords="185,75,192,91"/> | ||||
| <area shape="rect" id="clust1" href="dir_9e11e9a41112194af3eee6cc728f9515.html" alt="" coords="16,16,212,139"/> | ||||
| </map> | ||||
| @ -1 +0,0 @@ | ||||
| 8443f86a129039a222fea0f68a874d48 | ||||
| Before Width: | Height: | Size: 1.6 KiB | 
							
								
								
									
										139
									
								
								Doc/html/dir_d4b2573a0c19afb61452cc3d00967af1.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,139 @@ | ||||
| <!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 Directory 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"> 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('dir_d4b2573a0c19afb61452cc3d00967af1.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">MyLibs Directory Reference</div></div> | ||||
| </div><!--header--> | ||||
| <div class="contents"> | ||||
| <div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Directory dependency graph for MyLibs:</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="dir_d4b2573a0c19afb61452cc3d00967af1_dep.png" border="0" usemap="#adir__d4b2573a0c19afb61452cc3d00967af1__dep" loading="lazy" alt="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs"/></div> | ||||
| <map name="adir__d4b2573a0c19afb61452cc3d00967af1__dep" id="adir__d4b2573a0c19afb61452cc3d00967af1__dep"> | ||||
| <area shape="rect" href="dir_8eb68c124db7670c3cb56141b10519ea.html" title="Inc" alt="" coords="115,27,154,53"/> | ||||
| <area shape="rect" href="dir_57feeba75fefbd1a9c832b76e3bce520.html" title="STM32_General" alt="" coords="77,101,192,128"/> | ||||
| <area shape="poly" href="dir_000000_000004.html" alt="" coords="137,54,137,86,132,86,132,54"/> | ||||
| <area shape="rect" href="dir_000000_000004.html" title="1" alt="" coords="140,75,147,91"/> | ||||
| <area shape="rect" href="dir_d4b2573a0c19afb61452cc3d00967af1.html" alt="" coords="16,16,165,64"/> | ||||
| </map> | ||||
| </div> | ||||
| <table class="memberdecls"> | ||||
| <tr class="heading"><td colspan="2"><h2 id="header-subdirs" class="groupheader"><a id="subdirs" name="subdirs"></a> | ||||
| Directories</h2></td></tr> | ||||
| <tr class="memitem:Inc" id="r_Inc"><td class="memItemLeft" align="right" valign="top"><span class="iconfolder"><div class="folder-icon"></div></span> </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_8eb68c124db7670c3cb56141b10519ea.html">Inc</a></td></tr> | ||||
| </table> | ||||
| </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="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> | ||||
							
								
								
									
										4
									
								
								Doc/html/dir_d4b2573a0c19afb61452cc3d00967af1.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,4 @@ | ||||
| var dir_d4b2573a0c19afb61452cc3d00967af1 = | ||||
| [ | ||||
|     [ "Inc", "dir_8eb68c124db7670c3cb56141b10519ea.html", "dir_8eb68c124db7670c3cb56141b10519ea" ] | ||||
| ]; | ||||
							
								
								
									
										7
									
								
								Doc/html/dir_d4b2573a0c19afb61452cc3d00967af1_dep.map
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,7 @@ | ||||
| <map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibs"> | ||||
| <area shape="rect" id="node2" href="dir_8eb68c124db7670c3cb56141b10519ea.html" title="Inc" alt="" coords="115,27,154,53"/> | ||||
| <area shape="rect" id="node3" href="dir_57feeba75fefbd1a9c832b76e3bce520.html" title="STM32_General" alt="" coords="77,101,192,128"/> | ||||
| <area shape="poly" id="edge1" href="dir_000000_000004.html" alt="" coords="137,54,137,86,132,86,132,54"/> | ||||
| <area shape="rect" id="edge1-headlabel" href="dir_000000_000004.html" title="1" alt="" coords="140,75,147,91"/> | ||||
| <area shape="rect" id="clust1" href="dir_d4b2573a0c19afb61452cc3d00967af1.html" alt="" coords="16,16,165,64"/> | ||||
| </map> | ||||
							
								
								
									
										1
									
								
								Doc/html/dir_d4b2573a0c19afb61452cc3d00967af1_dep.md5
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1 @@ | ||||
| 0bfaa81751ac1e7c7d71433f3f44b7e3 | ||||
							
								
								
									
										
											BIN
										
									
								
								Doc/html/dir_d4b2573a0c19afb61452cc3d00967af1_dep.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.7 KiB | 
| @ -1,15 +0,0 @@ | ||||
| var dir_eb423fea8a9c4b9b32b922020ec391e1 = | ||||
| [ | ||||
|     [ "__general_flash.h", "____general__flash_8h_source.html", null ], | ||||
|     [ "bit_access.h", "bit__access_8h.html", "bit__access_8h" ], | ||||
|     [ "evolve_optimizer.h", "evolve__optimizer_8h.html", "evolve__optimizer_8h" ], | ||||
|     [ "general_gpio.h", "general__gpio_8h.html", "general__gpio_8h" ], | ||||
|     [ "general_spi.h", "general__spi_8h.html", "general__spi_8h" ], | ||||
|     [ "general_tim.h", "general__tim_8h.html", "general__tim_8h" ], | ||||
|     [ "general_uart.h", "general__uart_8h.html", "general__uart_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 ], | ||||
|     [ "trace.h", "trace_8h.html", "trace_8h" ], | ||||
|     [ "trackers.h", "trackers_8h.html", "trackers_8h" ] | ||||
| ]; | ||||
| @ -1,4 +0,0 @@ | ||||
| <map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc"> | ||||
| <area shape="rect" id="node1" href="dir_eb423fea8a9c4b9b32b922020ec391e1.html" title="Inc" alt="" coords="50,53,89,80"/> | ||||
| <area shape="rect" id="clust1" href="dir_9e11e9a41112194af3eee6cc728f9515.html" title="MyLibsGeneral" alt="" coords="16,16,124,91"/> | ||||
| </map> | ||||
| @ -1 +0,0 @@ | ||||
| 51bda8bf2e3b4eafeabf6cf3520068b7 | ||||
| Before Width: | Height: | Size: 1.0 KiB | 
| @ -1,12 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" | ||||
|  "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | ||||
| <svg version="1.1" width="16" height="24" viewBox="0 0 80 60" id="doc" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"> | ||||
| <g style="fill:#4665A2"> | ||||
| <path d="m 14,-1.1445312 c -2.824372,0 -5.1445313,2.320159 -5.1445312,5.1445312 v 72 c 0,2.824372 2.3201592,5.144531 5.1445312,5.144531 h 52 c 2.824372,0 5.144531,-2.320159 5.144531,-5.144531 V 23.699219 a 1.1447968,1.1447968 0 0 0 -0.01563,-0.1875 C 70.977847,22.605363 70.406495,21.99048 70.007812,21.591797 L 48.208984,-0.20898438 C 47.606104,-0.81186474 46.804652,-1.1445313 46,-1.1445312 Z m 1.144531,6.2890624 H 42.855469 V 24 c 0,1.724372 1.420159,3.144531 3.144531,3.144531 H 64.855469 V 74.855469 H 15.144531 Z m 34,4.4179688 L 60.4375,20.855469 H 49.144531 Z"/> | ||||
| </g> | ||||
| <g style="fill:#D8DFEE;stroke-width:0"> | ||||
| <path d="M 3.0307167,13.993174 V 7.0307167 h 2.7576792 2.7576792 v 1.8826151 c 0,1.2578262 0.0099,1.9287572 0.029818,2.0216512 0.03884,0.181105 0.168631,0.348218 0.33827,0.43554 l 0.1355017,0.06975 1.9598092,0.0079 1.959809,0.0078 v 4.749829 4.749829 H 8 3.0307167 Z" transform="matrix(5,0,0,5,0,-30)" /> | ||||
| <path d="M 9.8293515,9.0581469 V 7.9456453 l 1.1058025,1.1055492 c 0.608191,0.6080521 1.105802,1.1086775 1.105802,1.1125015 0,0.0038 -0.497611,0.007 -1.105802,0.007 H 9.8293515 Z" transform="matrix(5,0,0,5,0,-30)" /> | ||||
| </g> | ||||
| </svg> | ||||
| Before Width: | Height: | Size: 1.5 KiB | 
| @ -1,12 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" | ||||
|  "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | ||||
| <svg version="1.1" width="16" height="24" viewBox="0 0 80 60" id="doc" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"> | ||||
| <g style="fill:#C4CFE5"> | ||||
| <path d="m 14,-1.1445312 c -2.824372,0 -5.1445313,2.320159 -5.1445312,5.1445312 v 72 c 0,2.824372 2.3201592,5.144531 5.1445312,5.144531 h 52 c 2.824372,0 5.144531,-2.320159 5.144531,-5.144531 V 23.699219 a 1.1447968,1.1447968 0 0 0 -0.01563,-0.1875 C 70.977847,22.605363 70.406495,21.99048 70.007812,21.591797 L 48.208984,-0.20898438 C 47.606104,-0.81186474 46.804652,-1.1445313 46,-1.1445312 Z m 1.144531,6.2890624 H 42.855469 V 24 c 0,1.724372 1.420159,3.144531 3.144531,3.144531 H 64.855469 V 74.855469 H 15.144531 Z m 34,4.4179688 L 60.4375,20.855469 H 49.144531 Z"/> | ||||
| </g> | ||||
| <g style="fill:#4665A2;stroke-width:0"> | ||||
| <path d="M 3.0307167,13.993174 V 7.0307167 h 2.7576792 2.7576792 v 1.8826151 c 0,1.2578262 0.0099,1.9287572 0.029818,2.0216512 0.03884,0.181105 0.168631,0.348218 0.33827,0.43554 l 0.1355017,0.06975 1.9598092,0.0079 1.959809,0.0078 v 4.749829 4.749829 H 8 3.0307167 Z" transform="matrix(5,0,0,5,0,-30)" /> | ||||
| <path d="M 9.8293515,9.0581469 V 7.9456453 l 1.1058025,1.1055492 c 0.608191,0.6080521 1.105802,1.1086775 1.105802,1.1125015 0,0.0038 -0.497611,0.007 -1.105802,0.007 H 9.8293515 Z" transform="matrix(5,0,0,5,0,-30)" /> | ||||
| </g> | ||||
| </svg> | ||||
| Before Width: | Height: | Size: 1.5 KiB | 
| @ -11,19 +11,25 @@ | ||||
| <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"/> | ||||
| <a href="dir_000002_000000.html"/> | ||||
| <a href="dir_9c80311a018e1f8cfb6659b73d634be4.html"/> | ||||
| <a href="dir_9e11e9a41112194af3eee6cc728f9515.html"/> | ||||
| <a href="dir_eb423fea8a9c4b9b32b922020ec391e1.html"/> | ||||
| <a href="dir_000000_000004.html"/> | ||||
| <a href="dir_000001_000002.html"/> | ||||
| <a href="dir_000003_000001.html"/> | ||||
| <a href="dir_2cad7b5fa94233a09111fd73c6202518.html"/> | ||||
| <a href="dir_3d5e348fed410a00f9c665596ca3b887.html"/> | ||||
| <a href="dir_57feeba75fefbd1a9c832b76e3bce520.html"/> | ||||
| <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"/> | ||||
| @ -44,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"/> | ||||
| @ -66,30 +100,33 @@ | ||||
| <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"/> | ||||
| <a href="group___g_p_i_o___i_n_i_t.html#ga80700bb63bd56ebabbb4728aa433fd29"/> | ||||
| <a href="group___g_p_i_o___i_n_i_t.html#ga9c853b02c22f26023c34d1d404b6d653"/> | ||||
| <a href="group___g_p_i_o___i_n_i_t.html#gacd8900c9ec0efde1da3253b718574067"/> | ||||
| <a href="group___g_p_i_o___i_n_i_t.html#gaf2e697ac60e05813d45ea2c9c9e79c25"/> | ||||
| <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"/> | ||||
| @ -256,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"/> | ||||
| @ -283,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"/> | ||||
|  | ||||
| @ -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 ] | ||||
| ]; | ||||
| @ -1 +0,0 @@ | ||||
| 41a81c5527cb10d478e05e49562aedc3 | ||||
| Before Width: | Height: | Size: 2.9 KiB | 
| @ -1 +0,0 @@ | ||||
| 4993f7378dc2ed7a2e950385e8313f89 | ||||
| Before Width: | Height: | Size: 6.1 KiB | 
| @ -1,4 +0,0 @@ | ||||
| var examples = | ||||
| [ | ||||
|     [ "SPI_Usage_Example", "_s_p_i__usage__example-example.html", null ] | ||||
| ]; | ||||
| @ -102,27 +102,30 @@ $(function(){initNavTree('files.html','',''); }); | ||||
| <div class="contents"> | ||||
| <div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory"> | ||||
| <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;"> </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_9e11e9a41112194af3eee6cc728f9515.html" target="_self">MyLibsGeneral</a></td><td class="desc"></td></tr> | ||||
| <tr id="row_0_0_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </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_eb423fea8a9c4b9b32b922020ec391e1.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;"> </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_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </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;"> </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;"> </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;"> </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;"> </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_3_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;"> </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_0_0_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </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_0_0_5_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;"> </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_0_0_6_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </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_0_0_7_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;"> </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_8_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </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_9_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;"> </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_10_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </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_11_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;"> </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_0_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_1_" class="arrow" onclick="dynsection.toggleFolder('0_1_')"><span class="arrowhead opened"></span></span><span id="img_0_1_" class="iconfolder" onclick="dynsection.toggleFolder('0_1_')"><div class="folder-icon open"></div></span><a class="el" href="dir_9c80311a018e1f8cfb6659b73d634be4.html" target="_self">Src</a></td><td class="desc"></td></tr> | ||||
| <tr id="row_0_1_0_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;"> </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_0_1_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </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_0_1_2_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;"> </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_0_1_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </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_0_1_4_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;"> </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_0_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </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_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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 --> | ||||
|  | ||||
| @ -1,4 +1,6 @@ | ||||
| var files_dup = | ||||
| [ | ||||
|     [ "MyLibsGeneral", "dir_9e11e9a41112194af3eee6cc728f9515.html", "dir_9e11e9a41112194af3eee6cc728f9515" ] | ||||
|     [ "MyLibs", "dir_d4b2573a0c19afb61452cc3d00967af1.html", "dir_d4b2573a0c19afb61452cc3d00967af1" ], | ||||
|     [ "STM32_General", "dir_57feeba75fefbd1a9c832b76e3bce520.html", "dir_57feeba75fefbd1a9c832b76e3bce520" ], | ||||
|     [ "mainpage.h", "mainpage_8h_source.html", null ] | ||||
| ]; | ||||
| @ -1,11 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" | ||||
|  "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | ||||
| <svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"> | ||||
| <g style="fill:#4665A2;"> | ||||
| <path d="M1,5.998l-0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm2,-0l-0,16.002c-0,0.796 0.316,1.559 0.879,2.121c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121c0,-3.486 0,-8.514 0,-12c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998Z"/> | ||||
| </g> | ||||
| <g style="fill:#D8DFEE;stroke-width:0;"> | ||||
| <path d="M 5.6063709,24.951908 C 4.3924646,24.775461 3.4197129,23.899792 3.1031586,22.698521 L 3.0216155,22.389078 V 13.997725 5.6063709 L 3.1037477,5.2982247 C 3.3956682,4.2029881 4.1802788,3.412126 5.2787258,3.105917 5.5646428,3.0262132 5.6154982,3.0244963 8.0611641,3.0119829 l 2.4911989,-0.012746 1.932009,1.9300342 c 1.344142,1.3427669 1.976319,1.9498819 2.07763,1.9952626 0.137456,0.061571 0.474218,0.066269 6.006826,0.083795 l 5.861206,0.018568 0.29124,0.081916 c 1.094895,0.3079569 1.890116,1.109428 2.175567,2.192667 l 0.08154,0.3094425 V 16 22.389078 l -0.08154,0.309443 c -0.28446,1.079482 -1.086411,1.888085 -2.175567,2.193614 l -0.29124,0.0817 -10.302616,0.0049 c -5.700217,0.0027 -10.4001945,-0.0093 -10.5210471,-0.02684 z"/> | ||||
| </g> | ||||
| </svg> | ||||
| Before Width: | Height: | Size: 1.9 KiB | 
| @ -1,11 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" | ||||
|  "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | ||||
| <svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"> | ||||
| <g style="fill:#C4CFE5;"> | ||||
| <path d="M1,5.998l-0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm2,-0l-0,16.002c-0,0.796 0.316,1.559 0.879,2.121c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121c0,-3.486 0,-8.514 0,-12c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998Z"/> | ||||
| </g> | ||||
| <g style="fill:#4665A2;stroke-width:0;"> | ||||
| <path d="M 5.6063709,24.951908 C 4.3924646,24.775461 3.4197129,23.899792 3.1031586,22.698521 L 3.0216155,22.389078 V 13.997725 5.6063709 L 3.1037477,5.2982247 C 3.3956682,4.2029881 4.1802788,3.412126 5.2787258,3.105917 5.5646428,3.0262132 5.6154982,3.0244963 8.0611641,3.0119829 l 2.4911989,-0.012746 1.932009,1.9300342 c 1.344142,1.3427669 1.976319,1.9498819 2.07763,1.9952626 0.137456,0.061571 0.474218,0.066269 6.006826,0.083795 l 5.861206,0.018568 0.29124,0.081916 c 1.094895,0.3079569 1.890116,1.109428 2.175567,2.192667 l 0.08154,0.3094425 V 16 22.389078 l -0.08154,0.309443 c -0.28446,1.079482 -1.086411,1.888085 -2.175567,2.193614 l -0.29124,0.0817 -10.302616,0.0049 c -5.700217,0.0027 -10.4001945,-0.0093 -10.5210471,-0.02684 z"/> | ||||
| </g> | ||||
| </svg> | ||||
| Before Width: | Height: | Size: 1.9 KiB | 
| @ -1,17 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" | ||||
|  "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | ||||
| <svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"> | ||||
| <g style="fill:#4665A2;"> | ||||
| <path | ||||
|    d="M1,5.998l0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm28,14.415l-3.456,-5.925c-0.538,-0.921 -1.524,-1.488 -2.591,-1.488c-0,0 -12.905,0 -12.906,0c-1.067,0 -2.053,0.567 -2.591,1.488l-4.453,7.635c0.03,0.751 0.342,1.465 0.876,1.998c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121l0,-1.587Zm0,-3.969l0,-6.444c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998l0,12.16l2.729,-4.677c0.896,-1.536 2.54,-2.481 4.318,-2.481c3.354,0 9.552,0 12.906,0c1.778,0 3.422,0.945 4.318,2.481l1.729,2.963Z" | ||||
|    id="path2" /> | ||||
| </g> | ||||
| <g style="fill:#D8DFEE;stroke-width:0;"> | ||||
| <path | ||||
|    d="M 5.3879408,24.913408 C 4.1598821,24.650818 3.1571088,23.558656 3.053503,22.370876 L 3.0312746,22.116041 5.2606813,18.293515 C 6.486855,16.191126 7.5598351,14.372696 7.6450818,14.25256 8.0043056,13.746312 8.5423079,13.363007 9.2104664,13.137285 l 0.2548351,-0.08609 6.9294785,-0.0097 c 6.805096,-0.0095 6.934944,-0.0084 7.234011,0.06267 0.695577,0.165199 1.290483,0.557253 1.714887,1.130141 0.08158,0.110125 0.938747,1.556711 1.90481,3.214634 l 1.756479,3.014406 -0.0186,0.971942 c -0.01387,0.724723 -0.03365,1.032131 -0.07778,1.208575 -0.242792,0.970733 -0.88732,1.735415 -1.772382,2.102793 -0.58835,0.244217 0.247209,0.227436 -11.161974,0.224159 -9.0281537,-0.0026 -10.3636023,-0.0098 -10.5862902,-0.05746 z" | ||||
|    id="path199" /><path | ||||
|    d="M 3.0126385,11.849829 3.0235061,5.5881684 3.1020974,5.2969283 C 3.3478146,4.3863605 3.93576,3.6757372 4.756668,3.2971229 5.3293315,3.0330025 5.1813272,3.0450949 8.0130385,3.0310668 l 2.5522875,-0.012644 1.918693,1.9107086 c 1.404146,1.3983023 1.964459,1.9332518 2.089351,1.9947704 l 0.170657,0.084062 5.897611,0.019367 c 5.553257,0.018236 5.910365,0.023213 6.116041,0.085231 1.102257,0.3323708 1.857042,1.1184422 2.154229,2.2435244 0.05645,0.2137228 0.06373,0.5643981 0.07519,3.6220748 0.0076,2.032169 -5.42e-4,3.370979 -0.02041,3.349261 -0.0182,-0.0199 -0.414296,-0.691472 -0.880217,-1.492382 -0.46592,-0.80091 -0.93093,-1.577954 -1.033354,-1.726764 -0.735716,-1.0689 -1.983568,-1.844244 -3.315972,-2.060353 -0.280375,-0.04548 -1.345158,-0.05334 -7.238708,-0.05347 -4.713933,-1.09e-4 -6.9931825,0.01221 -7.1717862,0.03874 -1.3002273,0.193134 -2.4770512,0.889916 -3.283628,1.944192 -0.1076466,0.140705 -0.8359664,1.353438 -1.6184885,2.694963 L 3.0017709,18.11149 Z" | ||||
|    id="path201" /> | ||||
| </g> | ||||
| </svg> | ||||
| Before Width: | Height: | Size: 3.2 KiB | 
| @ -1,12 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" | ||||
|  "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | ||||
| <svg version="1.1" width="16" height="24" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"> | ||||
| <g style="fill:#C4CFE5;"> | ||||
| <path d="M1,5.998l0,16.002c-0,1.326 0.527,2.598 1.464,3.536c0.938,0.937 2.21,1.464 3.536,1.464c5.322,0 14.678,-0 20,0c1.326,0 2.598,-0.527 3.536,-1.464c0.937,-0.938 1.464,-2.21 1.464,-3.536c0,-3.486 0,-8.514 0,-12c0,-1.326 -0.527,-2.598 -1.464,-3.536c-0.938,-0.937 -2.21,-1.464 -3.536,-1.464c-0,0 -10.586,0 -10.586,0c0,-0 -3.707,-3.707 -3.707,-3.707c-0.187,-0.188 -0.442,-0.293 -0.707,-0.293l-5.002,0c-2.76,0 -4.998,2.238 -4.998,4.998Zm28,14.415l-3.456,-5.925c-0.538,-0.921 -1.524,-1.488 -2.591,-1.488c-0,0 -12.905,0 -12.906,0c-1.067,0 -2.053,0.567 -2.591,1.488l-4.453,7.635c0.03,0.751 0.342,1.465 0.876,1.998c0.562,0.563 1.325,0.879 2.121,0.879l20,0c0.796,0 1.559,-0.316 2.121,-0.879c0.563,-0.562 0.879,-1.325 0.879,-2.121l0,-1.587Zm0,-3.969l0,-6.444c0,-0.796 -0.316,-1.559 -0.879,-2.121c-0.562,-0.563 -1.325,-0.879 -2.121,-0.879c-7.738,0 -11,0 -11,0c-0.265,0 -0.52,-0.105 -0.707,-0.293c-0,0 -3.707,-3.707 -3.707,-3.707c-0,0 -4.588,0 -4.588,0c-1.656,0 -2.998,1.342 -2.998,2.998l0,12.16l2.729,-4.677c0.896,-1.536 2.54,-2.481 4.318,-2.481c3.354,0 9.552,0 12.906,0c1.778,0 3.422,0.945 4.318,2.481l1.729,2.963Z"/> | ||||
| </g> | ||||
| <g style="fill:#4665A2;stroke-width:0;"> | ||||
| <path d="M 5.3879408,24.913408 C 4.1598821,24.650818 3.1571088,23.558656 3.053503,22.370876 L 3.0312746,22.116041 5.2606813,18.293515 C 6.486855,16.191126 7.5598351,14.372696 7.6450818,14.25256 8.0043056,13.746312 8.5423079,13.363007 9.2104664,13.137285 l 0.2548351,-0.08609 6.9294785,-0.0097 c 6.805096,-0.0095 6.934944,-0.0084 7.234011,0.06267 0.695577,0.165199 1.290483,0.557253 1.714887,1.130141 0.08158,0.110125 0.938747,1.556711 1.90481,3.214634 l 1.756479,3.014406 -0.0186,0.971942 c -0.01387,0.724723 -0.03365,1.032131 -0.07778,1.208575 -0.242792,0.970733 -0.88732,1.735415 -1.772382,2.102793 -0.58835,0.244217 0.247209,0.227436 -11.161974,0.224159 -9.0281537,-0.0026 -10.3636023,-0.0098 -10.5862902,-0.05746 z" /> | ||||
| <path d="M 3.0126385,11.849829 3.0235061,5.5881684 3.1020974,5.2969283 C 3.3478146,4.3863605 3.93576,3.6757372 4.756668,3.2971229 5.3293315,3.0330025 5.1813272,3.0450949 8.0130385,3.0310668 l 2.5522875,-0.012644 1.918693,1.9107086 c 1.404146,1.3983023 1.964459,1.9332518 2.089351,1.9947704 l 0.170657,0.084062 5.897611,0.019367 c 5.553257,0.018236 5.910365,0.023213 6.116041,0.085231 1.102257,0.3323708 1.857042,1.1184422 2.154229,2.2435244 0.05645,0.2137228 0.06373,0.5643981 0.07519,3.6220748 0.0076,2.032169 -5.42e-4,3.370979 -0.02041,3.349261 -0.0182,-0.0199 -0.414296,-0.691472 -0.880217,-1.492382 -0.46592,-0.80091 -0.93093,-1.577954 -1.033354,-1.726764 -0.735716,-1.0689 -1.983568,-1.844244 -3.315972,-2.060353 -0.280375,-0.04548 -1.345158,-0.05334 -7.238708,-0.05347 -4.713933,-1.09e-4 -6.9931825,0.01221 -7.1717862,0.03874 -1.3002273,0.193134 -2.4770512,0.889916 -3.283628,1.944192 -0.1076466,0.140705 -0.8359664,1.353438 -1.6184885,2.694963 L 3.0017709,18.11149 Z" /> | ||||
| </g> | ||||
| </svg> | ||||
| Before Width: | Height: | Size: 3.1 KiB | 
| @ -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 : <a class="el" href="struct_evolve_optimizer__t.html#a0ae0e63ba351335d4445d927991c64ae">EvolveOptimizer_t</a></li> | ||||
| <li>candidates : <a class="el" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">EvolveOptimizer_t</a></li> | ||||
| <li>cand_index : <a class="el" href="struct_gen_optimizer__t.html#a04a72c1a13e17581e84eaaf3d245bbfc">GenOptimizer_t</a></li> | ||||
| <li>candidates : <a class="el" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">GenOptimizer_t</a></li> | ||||
| <li>channels : <a class="el" href="struct_bench_time__t.html#a9ae6d45c610be9d4b7628a614ccb06d6">BenchTime_t</a></li> | ||||
| <li>CLK_GPIO_AlternageFunc : <a class="el" href="struct_s_p_i___settings_type_def.html#a3f3748103a0b7861f6700042fd691ba1">SPI_SettingsTypeDef</a></li> | ||||
| <li>CLK_GPIOx : <a class="el" href="struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979">SPI_SettingsTypeDef</a></li> | ||||
| <li>CLK_PIN : <a class="el" href="struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc">SPI_SettingsTypeDef</a></li> | ||||
| <li>count : <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 : <a class="el" href="struct_evolve_optimizer__t.html#ad0f464d7048a9ed0753b61f76f563108">EvolveOptimizer_t</a></li> | ||||
| <li>gen_mut : <a class="el" href="struct_evolve_optimizer__t.html#a3be8c0c34db8429210ff470497a56727">EvolveOptimizer_t</a></li> | ||||
| <li>gen_index : <a class="el" href="struct_gen_optimizer__t.html#a8f226c85e9bb034cb811aa0366bb191c">GenOptimizer_t</a></li> | ||||
| <li>gen_mut : <a class="el" href="struct_gen_optimizer__t.html#acfeb93ef4823e09473ddba52fae9a6b1">GenOptimizer_t</a></li> | ||||
| <li>GPIO_PIN_RX : <a class="el" href="struct_u_a_r_t___settings_type_def.html#a3fba2b52788fe453348b5d92ed52ba49">UART_SettingsTypeDef</a></li> | ||||
| <li>GPIO_PIN_SW : <a class="el" href="struct_t_i_m___encoder_type_def.html#a6973108a83d2a3ea4fc3e0e8a501af80">TIM_EncoderTypeDef</a></li> | ||||
| <li>GPIO_PIN_TI1 : <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 : <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 : <a class="el" href="struct_bench_time_stats__t.html#a2c739e1db6b26ceac5db3f2c44c177a0">BenchTimeStats_t</a></li> | ||||
| <li>LED_ActiveLvl : <a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#abe9aadc0b28d042267f7155e187a1816">GPIO_LEDTypeDef</a></li> | ||||
| <li>LED_Period : <a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a6cc026931a4681732f9a329ae03098ec">GPIO_LEDTypeDef</a></li> | ||||
| <li>LED_Pin : <a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a684ff60e4c94daf2221524cdc6fcc978">GPIO_LEDTypeDef</a></li> | ||||
| <li>LED_Port : <a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a831923d4d157267ecc2f1add1c49adcf">GPIO_LEDTypeDef</a></li> | ||||
| <li>loss : <a class="el" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">EvolveOptimizer_t</a></li> | ||||
| <li>loss : <a class="el" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">GenOptimizer_t</a></li> | ||||
| <li>lr : <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 : <a class="el" href="struct_bench_time_stats__t.html#a3da36eb65b03ba995b5905b4650ea93c">BenchTimeStats_t</a></li> | ||||
| <li>min_ticks : <a class="el" href="struct_bench_time_stats__t.html#a39b71a5d48c4a51a553a26a9fb961ac8">BenchTimeStats_t</a></li> | ||||
| <li>MISO_GPIO_AlternageFunc : <a class="el" href="struct_s_p_i___settings_type_def.html#aecd7a5c6e205335b8ed229d74cd35d14">SPI_SettingsTypeDef</a></li> | ||||
| <li>MISO_GPIOx : <a class="el" href="struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95">SPI_SettingsTypeDef</a></li> | ||||
| <li>MISO_PIN : <a class="el" href="struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a">SPI_SettingsTypeDef</a></li> | ||||
| <li>MOSI_GPIO_AlternageFunc : <a class="el" href="struct_s_p_i___settings_type_def.html#afbe75a1c36650a4a9b41fa706a4c7eab">SPI_SettingsTypeDef</a></li> | ||||
| <li>MOSI_GPIOx : <a class="el" href="struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820">SPI_SettingsTypeDef</a></li> | ||||
| <li>MOSI_PIN : <a class="el" href="struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176">SPI_SettingsTypeDef</a></li> | ||||
| <li>mutation_amp : <a class="el" href="struct_evolve_optimizer__t.html#af779c7aeba0053e36cee7aade160f1c8">EvolveOptimizer_t</a></li> | ||||
| <li>mutation_amp : <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 : <a class="el" href="struct_evolve_optimizer__t.html#a950cd70cb6bff33b78ad35ee58c729a6">EvolveOptimizer_t</a></li> | ||||
| <li>n_cand : <a class="el" href="struct_evolve_optimizer__t.html#ac35c7ca8cede4ab9c53a2845a91cd1b1">EvolveOptimizer_t</a></li> | ||||
| <li>n_params : <a class="el" href="struct_evolve_optimizer__t.html#a1c270fce82e0c97e6c88fd0971c1eed8">EvolveOptimizer_t</a></li> | ||||
| <li>n_best : <a class="el" href="struct_gen_optimizer__t.html#a8201f1eede36a2c04ec7b4caac7465c9">GenOptimizer_t</a></li> | ||||
| <li>n_cand : <a class="el" href="struct_gen_optimizer__t.html#a9e20d2f6f39a5147e6dbac46baca73a9">GenOptimizer_t</a></li> | ||||
| <li>n_params : <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 : <a class="el" href="struct_t_i_m___encoder_type_def.html#a021f0c585e9e62d68a4b09f630d8b6e5">TIM_EncoderTypeDef</a></li> | ||||
| <li>size : <a class="el" href="struct_r_t_t___flash_header__t.html#afd1a5c51af6f97d170c2ccbbe3e34699">RTT_FlashHeader_t</a></li> | ||||
| <li>sMasterConfig : <a class="el" href="struct_t_i_m___settings_type_def.html#a2d9d277dd395424b964445ec1bc65b21">TIM_SettingsTypeDef</a></li> | ||||
| <li>sorted_idx : <a class="el" href="struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a">EvolveOptimizer_t</a></li> | ||||
| <li>sorted_idx : <a class="el" href="struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12">GenOptimizer_t</a></li> | ||||
| <li>sSlaveConfig : <a class="el" href="struct_t_i_m___settings_type_def.html#a9694cf0910a69d48ff94f8aeac106969">TIM_SettingsTypeDef</a></li> | ||||
| <li>stability : <a class="el" href="struct_evolve_optimizer__t.html#a80eb0b8525b6bb838484f5922b9d8f7c">EvolveOptimizer_t</a></li> | ||||
| <li>stability : <a class="el" href="struct_gen_optimizer__t.html#abe0aacea949fbe93e5d4c002e37d7192">GenOptimizer_t</a></li> | ||||
| <li>start_tick : <a class="el" href="struct_bench_time_channel__t.html#a8140fe9e3d323404651f0cfeeae53928">BenchTimeChannel_t</a></li> | ||||
| <li>state : <a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#ad28d93023a00e3c5669bd3deda122435">GPIO_LEDTypeDef</a></li> | ||||
| <li>stats : <a class="el" href="struct_bench_time_channel__t.html#a22a3913e7925aa89cc12ec1d24a6c16c">BenchTimeChannel_t</a></li> | ||||
| <li>sTickBasePrescaler : <a class="el" href="struct_t_i_m___settings_type_def.html#a11151fe125960cb8e61328ffd06b7718">TIM_SettingsTypeDef</a></li> | ||||
| <li>sTickBaseUS : <a class="el" href="struct_t_i_m___settings_type_def.html#a58da1b4c0f6d12d7d9fb2f170b9b9e6e">TIM_SettingsTypeDef</a></li> | ||||
| <li>sTimAHBFreqMHz : <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 : <a class="el" href="struct_r_t_t___flash_header__t.html#a844ee5470a323a749856cbb7a682dc57">RTT_FlashHeader_t</a></li> | ||||
| <li>tick_period : <a class="el" href="struct_bench_time_channel__t.html#a095d93e0228641f58b8661e263bc1bcd">BenchTimeChannel_t</a></li> | ||||
| <li>total_ticks : <a class="el" href="struct_bench_time_stats__t.html#a21499b0b19d1ed27f8cea069f674e8ec">BenchTimeStats_t</a></li> | ||||
| </ul> | ||||
| </div><!-- contents --> | ||||
| </div><!-- doc-content --> | ||||
|  | ||||
| @ -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 : <a class="el" href="struct_evolve_optimizer__t.html#a0ae0e63ba351335d4445d927991c64ae">EvolveOptimizer_t</a></li> | ||||
| <li>candidates : <a class="el" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">EvolveOptimizer_t</a></li> | ||||
| <li>cand_index : <a class="el" href="struct_gen_optimizer__t.html#a04a72c1a13e17581e84eaaf3d245bbfc">GenOptimizer_t</a></li> | ||||
| <li>candidates : <a class="el" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">GenOptimizer_t</a></li> | ||||
| <li>channels : <a class="el" href="struct_bench_time__t.html#a9ae6d45c610be9d4b7628a614ccb06d6">BenchTime_t</a></li> | ||||
| <li>CLK_GPIO_AlternageFunc : <a class="el" href="struct_s_p_i___settings_type_def.html#a3f3748103a0b7861f6700042fd691ba1">SPI_SettingsTypeDef</a></li> | ||||
| <li>CLK_GPIOx : <a class="el" href="struct_s_p_i___settings_type_def.html#a6a15d48eccf92959de3a086031fdc979">SPI_SettingsTypeDef</a></li> | ||||
| <li>CLK_PIN : <a class="el" href="struct_s_p_i___settings_type_def.html#a3bcb1ed12da3544e02e6d36493669bdc">SPI_SettingsTypeDef</a></li> | ||||
| <li>count : <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 : <a class="el" href="struct_evolve_optimizer__t.html#ad0f464d7048a9ed0753b61f76f563108">EvolveOptimizer_t</a></li> | ||||
| <li>gen_mut : <a class="el" href="struct_evolve_optimizer__t.html#a3be8c0c34db8429210ff470497a56727">EvolveOptimizer_t</a></li> | ||||
| <li>gen_index : <a class="el" href="struct_gen_optimizer__t.html#a8f226c85e9bb034cb811aa0366bb191c">GenOptimizer_t</a></li> | ||||
| <li>gen_mut : <a class="el" href="struct_gen_optimizer__t.html#acfeb93ef4823e09473ddba52fae9a6b1">GenOptimizer_t</a></li> | ||||
| <li>GPIO_PIN_RX : <a class="el" href="struct_u_a_r_t___settings_type_def.html#a3fba2b52788fe453348b5d92ed52ba49">UART_SettingsTypeDef</a></li> | ||||
| <li>GPIO_PIN_SW : <a class="el" href="struct_t_i_m___encoder_type_def.html#a6973108a83d2a3ea4fc3e0e8a501af80">TIM_EncoderTypeDef</a></li> | ||||
| <li>GPIO_PIN_TI1 : <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 : <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 : <a class="el" href="struct_bench_time_stats__t.html#a2c739e1db6b26ceac5db3f2c44c177a0">BenchTimeStats_t</a></li> | ||||
| <li>LED_ActiveLvl : <a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#abe9aadc0b28d042267f7155e187a1816">GPIO_LEDTypeDef</a></li> | ||||
| <li>LED_Period : <a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a6cc026931a4681732f9a329ae03098ec">GPIO_LEDTypeDef</a></li> | ||||
| <li>LED_Pin : <a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a684ff60e4c94daf2221524cdc6fcc978">GPIO_LEDTypeDef</a></li> | ||||
| <li>LED_Port : <a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#a831923d4d157267ecc2f1add1c49adcf">GPIO_LEDTypeDef</a></li> | ||||
| <li>loss : <a class="el" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">EvolveOptimizer_t</a></li> | ||||
| <li>loss : <a class="el" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">GenOptimizer_t</a></li> | ||||
| <li>lr : <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 : <a class="el" href="struct_bench_time_stats__t.html#a3da36eb65b03ba995b5905b4650ea93c">BenchTimeStats_t</a></li> | ||||
| <li>min_ticks : <a class="el" href="struct_bench_time_stats__t.html#a39b71a5d48c4a51a553a26a9fb961ac8">BenchTimeStats_t</a></li> | ||||
| <li>MISO_GPIO_AlternageFunc : <a class="el" href="struct_s_p_i___settings_type_def.html#aecd7a5c6e205335b8ed229d74cd35d14">SPI_SettingsTypeDef</a></li> | ||||
| <li>MISO_GPIOx : <a class="el" href="struct_s_p_i___settings_type_def.html#a0d55a2941854f61934487f3d209cfa95">SPI_SettingsTypeDef</a></li> | ||||
| <li>MISO_PIN : <a class="el" href="struct_s_p_i___settings_type_def.html#a3366c654d7ec6dd41c6a0b504dc8509a">SPI_SettingsTypeDef</a></li> | ||||
| <li>MOSI_GPIO_AlternageFunc : <a class="el" href="struct_s_p_i___settings_type_def.html#afbe75a1c36650a4a9b41fa706a4c7eab">SPI_SettingsTypeDef</a></li> | ||||
| <li>MOSI_GPIOx : <a class="el" href="struct_s_p_i___settings_type_def.html#a0af3bdb273818ff97eb4ff3cff918820">SPI_SettingsTypeDef</a></li> | ||||
| <li>MOSI_PIN : <a class="el" href="struct_s_p_i___settings_type_def.html#a961208869faf4a7369aaf4edde75f176">SPI_SettingsTypeDef</a></li> | ||||
| <li>mutation_amp : <a class="el" href="struct_evolve_optimizer__t.html#af779c7aeba0053e36cee7aade160f1c8">EvolveOptimizer_t</a></li> | ||||
| <li>mutation_amp : <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 : <a class="el" href="struct_evolve_optimizer__t.html#a950cd70cb6bff33b78ad35ee58c729a6">EvolveOptimizer_t</a></li> | ||||
| <li>n_cand : <a class="el" href="struct_evolve_optimizer__t.html#ac35c7ca8cede4ab9c53a2845a91cd1b1">EvolveOptimizer_t</a></li> | ||||
| <li>n_params : <a class="el" href="struct_evolve_optimizer__t.html#a1c270fce82e0c97e6c88fd0971c1eed8">EvolveOptimizer_t</a></li> | ||||
| <li>n_best : <a class="el" href="struct_gen_optimizer__t.html#a8201f1eede36a2c04ec7b4caac7465c9">GenOptimizer_t</a></li> | ||||
| <li>n_cand : <a class="el" href="struct_gen_optimizer__t.html#a9e20d2f6f39a5147e6dbac46baca73a9">GenOptimizer_t</a></li> | ||||
| <li>n_params : <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 : <a class="el" href="struct_t_i_m___encoder_type_def.html#a021f0c585e9e62d68a4b09f630d8b6e5">TIM_EncoderTypeDef</a></li> | ||||
| <li>size : <a class="el" href="struct_r_t_t___flash_header__t.html#afd1a5c51af6f97d170c2ccbbe3e34699">RTT_FlashHeader_t</a></li> | ||||
| <li>sMasterConfig : <a class="el" href="struct_t_i_m___settings_type_def.html#a2d9d277dd395424b964445ec1bc65b21">TIM_SettingsTypeDef</a></li> | ||||
| <li>sorted_idx : <a class="el" href="struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a">EvolveOptimizer_t</a></li> | ||||
| <li>sorted_idx : <a class="el" href="struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12">GenOptimizer_t</a></li> | ||||
| <li>sSlaveConfig : <a class="el" href="struct_t_i_m___settings_type_def.html#a9694cf0910a69d48ff94f8aeac106969">TIM_SettingsTypeDef</a></li> | ||||
| <li>stability : <a class="el" href="struct_evolve_optimizer__t.html#a80eb0b8525b6bb838484f5922b9d8f7c">EvolveOptimizer_t</a></li> | ||||
| <li>stability : <a class="el" href="struct_gen_optimizer__t.html#abe0aacea949fbe93e5d4c002e37d7192">GenOptimizer_t</a></li> | ||||
| <li>start_tick : <a class="el" href="struct_bench_time_channel__t.html#a8140fe9e3d323404651f0cfeeae53928">BenchTimeChannel_t</a></li> | ||||
| <li>state : <a class="el" href="struct_g_p_i_o___l_e_d_type_def.html#ad28d93023a00e3c5669bd3deda122435">GPIO_LEDTypeDef</a></li> | ||||
| <li>stats : <a class="el" href="struct_bench_time_channel__t.html#a22a3913e7925aa89cc12ec1d24a6c16c">BenchTimeChannel_t</a></li> | ||||
| <li>sTickBasePrescaler : <a class="el" href="struct_t_i_m___settings_type_def.html#a11151fe125960cb8e61328ffd06b7718">TIM_SettingsTypeDef</a></li> | ||||
| <li>sTickBaseUS : <a class="el" href="struct_t_i_m___settings_type_def.html#a58da1b4c0f6d12d7d9fb2f170b9b9e6e">TIM_SettingsTypeDef</a></li> | ||||
| <li>sTimAHBFreqMHz : <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 : <a class="el" href="struct_r_t_t___flash_header__t.html#a844ee5470a323a749856cbb7a682dc57">RTT_FlashHeader_t</a></li> | ||||
| <li>tick_period : <a class="el" href="struct_bench_time_channel__t.html#a095d93e0228641f58b8661e263bc1bcd">BenchTimeChannel_t</a></li> | ||||
| <li>total_ticks : <a class="el" href="struct_bench_time_stats__t.html#a21499b0b19d1ed27f8cea069f674e8ec">BenchTimeStats_t</a></li> | ||||
| </ul> | ||||
| </div><!-- contents --> | ||||
| </div><!-- doc-content --> | ||||
|  | ||||
| @ -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/MyLibsGeneral/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,13 +106,13 @@ $(function(){initNavTree('evolve__optimizer_8h.html','',''); }); | ||||
| <div class="textblock"><code>#include "<a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>"</code><br /> | ||||
| <code>#include <stdint.h></code><br /> | ||||
| <code>#include <stdlib.h></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_general_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_general_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_general_2_inc_2evolve__optimizer_8h"> | ||||
| <area shape="rect" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="73,5,271,64"/> | ||||
| <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"/> | ||||
| <area shape="rect" title=" " alt="" coords="140,112,204,139"/> | ||||
| @ -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_general_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_general_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_general_2_inc_2evolve__optimizer_8hdep"> | ||||
| <area shape="rect" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="5,5,204,64"/> | ||||
| <area shape="rect" href="mylibs__include_8h.html" title="Заголочный файл для всех библиотек" alt="" coords="5,112,204,171"/> | ||||
| <area shape="poly" title=" " alt="" coords="107,80,107,112,102,112,102,80"/> | ||||
| <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  </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"> </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  </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"> </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 </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 </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"> </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 </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 </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"> </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 </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>   10</td></tr> | ||||
| <tr class="memdesc:ga2f2b1be34ad4eb1bf3267237200cd6c6"><td class="mdescLeft"> </td><td class="mdescRight">Минимальная мутация (в процентах от Loss)  <br /></td></tr> | ||||
| <tr class="memitem:ga861c1c6a503c21441abcec0d57b848bc" id="r_ga861c1c6a503c21441abcec0d57b848bc"><td class="memItemLeft" align="right" valign="top">#define </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>   100</td></tr> | ||||
| <tr class="memdesc:ga861c1c6a503c21441abcec0d57b848bc"><td class="mdescLeft"> </td><td class="mdescRight">Максимальная мутация (в процентах от Loss)  <br /></td></tr> | ||||
| <tr class="memitem:ga38607e23d9234524bc7de5869b15b8eb" id="r_ga38607e23d9234524bc7de5869b15b8eb"><td class="memItemLeft" align="right" valign="top">#define </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>   2</td></tr> | ||||
| <tr class="memitem:ga3db7bdf57549722427e1e72dcaa87068" id="r_ga3db7bdf57549722427e1e72dcaa87068"><td class="memItemLeft" align="right" valign="top">#define </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>   10</td></tr> | ||||
| <tr class="memdesc:ga3db7bdf57549722427e1e72dcaa87068"><td class="mdescLeft"> </td><td class="mdescRight">Минимальная мутация (в процентах от Loss)  <br /></td></tr> | ||||
| <tr class="memitem:ga48dca8f0a0c9b96d02236ef76ac827fd" id="r_ga48dca8f0a0c9b96d02236ef76ac827fd"><td class="memItemLeft" align="right" valign="top">#define </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>   100</td></tr> | ||||
| <tr class="memdesc:ga48dca8f0a0c9b96d02236ef76ac827fd"><td class="mdescLeft"> </td><td class="mdescRight">Максимальная мутация (в процентах от Loss)  <br /></td></tr> | ||||
| <tr class="memitem:ga38607e23d9234524bc7de5869b15b8eb" id="r_ga38607e23d9234524bc7de5869b15b8eb"><td class="memItemLeft" align="right" valign="top">#define </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>   2</td></tr> | ||||
| <tr class="memdesc:ga38607e23d9234524bc7de5869b15b8eb"><td class="mdescLeft"> </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 </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"> </td><td class="mdescRight">Инициализация эволюционного оптимизатора.  <br /></td></tr> | ||||
| <tr class="memitem:gaef44a1f3298514569cc2b396a92101ef" id="r_gaef44a1f3298514569cc2b396a92101ef"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE int </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"> </td><td class="mdescRight">Один шаг эволюционного оптимизатора.  <br /></td></tr> | ||||
| <tr class="memitem:ga2db1df46b4082ad9280ef4344fdf4e8a" id="r_ga2db1df46b4082ad9280ef4344fdf4e8a"><td class="memItemLeft" align="right" valign="top">static int </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"> </td><td class="mdescRight">Инициализация эволюционного оптимизатора.  <br /></td></tr> | ||||
| <tr class="memitem:gaa9a4c4f43f7beb926c85bd4817ebd628" id="r_gaa9a4c4f43f7beb926c85bd4817ebd628"><td class="memItemLeft" align="right" valign="top">static int </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"> </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_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_eb423fea8a9c4b9b32b922020ec391e1.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> | ||||
							
								
								
									
										10
									
								
								Doc/html/gen__optimizer_8h.js
									
									
									
									
									
										Normal 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 ] | ||||
| ]; | ||||
| @ -1,5 +1,5 @@ | ||||
| <map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/evolve_optimizer.h" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/evolve_optimizer.h"> | ||||
| <area shape="rect" id="Node000001" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="5,5,204,64"/> | ||||
| <area shape="rect" id="Node000002" href="$mylibs__include_8h.html" title="Заголочный файл для всех библиотек" alt="" coords="5,112,204,171"/> | ||||
| <area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="107,80,107,112,102,112,102,80"/> | ||||
| <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"/> | ||||
| </map> | ||||
							
								
								
									
										1
									
								
								Doc/html/gen__optimizer_8h__dep__incl.md5
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1 @@ | ||||
| bc415c9dddbdac24a11e95d2be89e955 | ||||
							
								
								
									
										
											BIN
										
									
								
								Doc/html/gen__optimizer_8h__dep__incl.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.7 KiB | 
| @ -1,5 +1,5 @@ | ||||
| <map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/evolve_optimizer.h" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Inc/evolve_optimizer.h"> | ||||
| <area shape="rect" id="Node000001" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="73,5,271,64"/> | ||||
| <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"/> | ||||
| <area shape="rect" id="Node000005" title=" " alt="" coords="140,112,204,139"/> | ||||
							
								
								
									
										1
									
								
								Doc/html/gen__optimizer_8h__incl.md5
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1 @@ | ||||
| 0acd416c6eac40e5c785db60f3cb0711 | ||||
							
								
								
									
										
											BIN
										
									
								
								Doc/html/gen__optimizer_8h__incl.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 6.0 KiB | 
| @ -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/MyLibsGeneral/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 "evolve_optimizer.h"</span></div> | ||||
| <div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="comment">#include "gen_optimizer.h"</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(&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(&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(&optimizer, params, loss);</span></div> | ||||
| <div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span><span class="comment">GenOptimizer_Step(&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 "<a class="code" href="mylibs__defs_8h.html">mylibs_defs.h</a>"</span></div> | ||||
| <div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span><span class="preprocessor">#include <stdint.h></span></div> | ||||
| <div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span><span class="preprocessor">#include <stdlib.h></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">///< Минимальная мутация (в процентах от 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">///< Минимальная мутация (в процентах от 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">///< Максимальная мутация (в процентах от 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">///< Максимальная мутация (в процентах от 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">///< Количество кандидатов, которые проходят в поколение без изменений (по умолчанию 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">///< Количество кандидатов, которые проходят в поколение без изменений (по умолчанию 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">///< Коэффициент насколько стабильная популяция (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">///< Коэффициент насколько стабильная популяция (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">///< Количество параметров</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">///< Количество кандидатов в популяции</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">///< Количество лучших, усредняемых</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">///< Амплитуда мутации (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">///< Количество параметров</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">///< Количество кандидатов в популяции</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">///< Количество лучших, усредняемых</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">///< Амплитуда мутации (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">///< Индекс кандидата для обработки</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">///< Индекс популяции  </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">///< Индекс текущего кандидата</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">///< Индекс популяции  </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">///< Амплитуда мутации у текущей популяции  </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">///< Амплитуда мутации у текущей популяции  </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">///< 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">///< Параметры кандидатов</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">///< Индексы отсортированных кандидатов</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">///< 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">///< Параметры кандидатов</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">///< Индексы отсортированных кандидатов</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-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">loss</a>[*(<span class="keyword">const</span> uint16_t*)a] < g_sort_opt-><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-><a class="code hl_variable" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">loss</a>[*(<span class="keyword">const</span> uint16_t*)a] < g_sort_opt-><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-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">loss</a>[*(<span class="keyword">const</span> uint16_t*)a] > g_sort_opt-><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-><a class="code hl_variable" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">loss</a>[*(<span class="keyword">const</span> uint16_t*)a] > g_sort_opt-><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 > <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 > <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-><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-><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 > <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 > <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-><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-><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 > <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 > <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-><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-><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 > 1) || (mutation_amp < 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 <= 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-><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-><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-><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-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[i][j] < 0.0f) opt-><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-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[i][j] > 1.0f) opt-><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-><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-><a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[i][j] < 0.0f) opt-><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-><a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[i][j] > 1.0f) opt-><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-><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-><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-><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-><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-><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-><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-><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 > <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-><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 > <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-><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 > <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-><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 > <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-><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 > <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-><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 > <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-><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-><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 > 1) ||(mut < 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-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">loss</a>[opt-><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-><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-><a class="code hl_variable" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">loss</a>[opt-><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-><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-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#a0ae0e63ba351335d4445d927991c64ae">cand_index</a> >= n_cand) {</div> | ||||
| <div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span>  <span class="keywordflow">if</span> (opt-><a class="code hl_variable" href="struct_gen_optimizer__t.html#a04a72c1a13e17581e84eaaf3d245bbfc">cand_index</a> >= 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 < opt-><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-><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 < opt-><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-><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-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a">sorted_idx</a>, opt-><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-><a class="code hl_variable" href="struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12">sorted_idx</a>, opt-><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-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">loss</a>[opt-><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-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#a93f628397c2f8d4027f2906752b650df">loss</a>[opt-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a">sorted_idx</a>[opt-><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-><a class="code hl_variable" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">loss</a>[opt-><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-><a class="code hl_variable" href="struct_gen_optimizer__t.html#a8b5066935d99f2fc7ebb94cc3652fc73">loss</a>[opt-><a class="code hl_variable" href="struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12">sorted_idx</a>[opt-><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 < n_cand; i++)</div> | ||||
| <div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span>      sum_loss += opt-><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-><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 < 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 > 1.0f) diff = 1.0f;</div> | ||||
| <div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span>    opt-><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-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#a80eb0b8525b6bb838484f5922b9d8f7c">stability</a> < 0.0f) opt-><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-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#a80eb0b8525b6bb838484f5922b9d8f7c">stability</a> > 1.0f) opt-><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-><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-><a class="code hl_variable" href="struct_gen_optimizer__t.html#abe0aacea949fbe93e5d4c002e37d7192">stability</a> < 0.0f) opt-><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-><a class="code hl_variable" href="struct_gen_optimizer__t.html#abe0aacea949fbe93e5d4c002e37d7192">stability</a> > 1.0f) opt-><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 < 0.0001f) adaptive_mut = 0.0001f;</div> | ||||
| <div class="line"><a id="l00287" name="l00287"></a><span class="lineno">  287</span>    opt-><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-><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 < n_cand; c++) {</div> | ||||
| <div class="line"><a id="l00292" name="l00292"></a><span class="lineno">  292</span>      <span class="keywordflow">if</span> (c < 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 < n_params; i++)</div> | ||||
| <div class="line"><a id="l00294" name="l00294"></a><span class="lineno">  294</span>          opt-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[c][i] = opt-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[opt-><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-><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-><a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[c][i] = opt-><a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[opt-><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-><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 < 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-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#a74b81df1c298c99162310f3f7d91735a">sorted_idx</a>[rand() % opt-><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-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[c][i] = opt-><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-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[c][i] < 0.0f) opt-><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-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[c][i] > 1.0f) opt-><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-><a class="code hl_variable" href="struct_gen_optimizer__t.html#ad37161efa27ef1390d1f7e6ee2f79b12">sorted_idx</a>[rand() % opt-><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-><a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[c][i] = opt-><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-><a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[c][i] < 0.0f) opt-><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-><a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[c][i] > 1.0f) opt-><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-><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-><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-><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-><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-><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-><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 < opt-><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-><a class="code hl_variable" href="struct_evolve_optimizer__t.html#aec67667fd1f1533e693e41c79bc28da4">candidates</a>[opt-><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 < opt-><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-><a class="code hl_variable" href="struct_gen_optimizer__t.html#a2c9a50ea7d975b9bc22a67e453ab83df">candidates</a>[opt-><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_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_eb423fea8a9c4b9b32b922020ec391e1.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> | ||||
| @ -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/MyLibsGeneral/Src/general_gpio.c File Reference</title> | ||||
| <title>MyLibs: E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General/Src/general_gpio.c 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> | ||||
| @ -108,17 +108,17 @@ $(function(){initNavTree('general__gpio_8c.html','',''); }); | ||||
| <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="general__gpio_8c__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_general_2_src_2general__gpio_8c" 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_general_2_src_2general__gpio_8c" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_my_libs_general_2_src_2general__gpio_8c"> | ||||
| <area shape="rect" title="Модуль для инициализации портов и работы с ними." alt="" coords="5,5,204,64"/> | ||||
| <area shape="rect" href="general__gpio_8h.html" title="Заголовочный файл для модуля инициализации портов и работы с ними." alt="" coords="52,112,157,139"/> | ||||
| <area shape="poly" title=" " alt="" coords="107,64,107,96,102,96,102,64"/> | ||||
| <area shape="rect" href="mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="53,187,156,213"/> | ||||
| <area shape="poly" title=" " alt="" coords="107,139,107,171,102,171,102,139"/> | ||||
| <area shape="rect" href="mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="48,261,161,288"/> | ||||
| <area shape="poly" title=" " alt="" coords="107,214,107,246,102,246,102,214"/> | ||||
| <area shape="rect" title=" " alt="" coords="46,336,163,363"/> | ||||
| <area shape="poly" title=" " alt="" coords="107,289,107,320,102,320,102,289"/> | ||||
| <div class="center"><img src="general__gpio_8c__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_s_t_m32___general_2_src_2general__gpio_8c" 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_s_t_m32___general_2_src_2general__gpio_8c" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m32___extended_libs_2_s_t_m32___general_2_src_2general__gpio_8c"> | ||||
| <area shape="rect" title="Модуль для инициализации портов и работы с ними." alt="" coords="5,5,211,64"/> | ||||
| <area shape="rect" href="general__gpio_8h.html" title="Заголовочный файл для модуля инициализации портов и работы с ними." alt="" coords="55,112,161,139"/> | ||||
| <area shape="poly" title=" " alt="" coords="111,64,111,96,105,96,105,64"/> | ||||
| <area shape="rect" href="mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="57,187,159,213"/> | ||||
| <area shape="poly" title=" " alt="" coords="111,139,111,171,105,171,105,139"/> | ||||
| <area shape="rect" href="mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="52,261,164,288"/> | ||||
| <area shape="poly" title=" " alt="" coords="111,214,111,246,105,246,105,214"/> | ||||
| <area shape="rect" title=" " alt="" coords="49,336,167,363"/> | ||||
| <area shape="poly" title=" " alt="" coords="111,289,111,320,105,320,105,289"/> | ||||
| </map> | ||||
| </div> | ||||
| </div> | ||||
| @ -170,7 +170,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_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_9c80311a018e1f8cfb6659b73d634be4.html">Src</a></li><li class="navelem"><a href="general__gpio_8c.html">general_gpio.c</a></li> | ||||
|     <li class="navelem"><a href="dir_57feeba75fefbd1a9c832b76e3bce520.html">STM32_General</a></li><li class="navelem"><a href="dir_3d5e348fed410a00f9c665596ca3b887.html">Src</a></li><li class="navelem"><a href="general__gpio_8c.html">general_gpio.c</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> | ||||
|  | ||||
| @ -1,11 +1,11 @@ | ||||
| <map id="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Src/general_gpio.c" name="E:/.WORK/STM32/STM32_ExtendedLibs/MyLibsGeneral/Src/general_gpio.c"> | ||||
| <area shape="rect" id="Node000001" title="Модуль для инициализации портов и работы с ними." alt="" coords="5,5,204,64"/> | ||||
| <area shape="rect" id="Node000002" href="$general__gpio_8h.html" title="Заголовочный файл для модуля инициализации портов и работы с ними." alt="" coords="52,112,157,139"/> | ||||
| <area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="107,64,107,96,102,96,102,64"/> | ||||
| <area shape="rect" id="Node000003" href="$mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="53,187,156,213"/> | ||||
| <area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="107,139,107,171,102,171,102,139"/> | ||||
| <area shape="rect" id="Node000004" href="$mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="48,261,161,288"/> | ||||
| <area shape="poly" id="edge3_Node000003_Node000004" title=" " alt="" coords="107,214,107,246,102,246,102,214"/> | ||||
| <area shape="rect" id="Node000005" title=" " alt="" coords="46,336,163,363"/> | ||||
| <area shape="poly" id="edge4_Node000004_Node000005" title=" " alt="" coords="107,289,107,320,102,320,102,289"/> | ||||
| <map id="E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General/Src/general_gpio.c" name="E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General/Src/general_gpio.c"> | ||||
| <area shape="rect" id="Node000001" title="Модуль для инициализации портов и работы с ними." alt="" coords="5,5,211,64"/> | ||||
| <area shape="rect" id="Node000002" href="$general__gpio_8h.html" title="Заголовочный файл для модуля инициализации портов и работы с ними." alt="" coords="55,112,161,139"/> | ||||
| <area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="111,64,111,96,105,96,105,64"/> | ||||
| <area shape="rect" id="Node000003" href="$mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="57,187,159,213"/> | ||||
| <area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="111,139,111,171,105,171,105,139"/> | ||||
| <area shape="rect" id="Node000004" href="$mylibs__config_8h.html" title="Конфигурации для библиотек MyLibs." alt="" coords="52,261,164,288"/> | ||||
| <area shape="poly" id="edge3_Node000003_Node000004" title=" " alt="" coords="111,214,111,246,105,246,105,214"/> | ||||
| <area shape="rect" id="Node000005" title=" " alt="" coords="49,336,167,363"/> | ||||
| <area shape="poly" id="edge4_Node000004_Node000005" title=" " alt="" coords="111,289,111,320,105,320,105,289"/> | ||||
| </map> | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| 6e517891df2cdbcb0824fafba9ac3005 | ||||
| 3a2b6777588aefbcc57665f957601b87 | ||||
| Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB | 
| @ -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/MyLibsGeneral/Src/general_gpio.c Source File</title> | ||||
| <title>MyLibs: E:/.WORK/STM32/STM32_ExtendedLibs/STM32_General/Src/general_gpio.c 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> | ||||
| @ -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> | ||||
| @ -483,7 +483,7 @@ $(function(){initNavTree('general__gpio_8c_source.html','',''); }); | ||||
| <!-- start footer part --> | ||||
| <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> | ||||
|   <ul> | ||||
|     <li class="navelem"><a href="dir_9e11e9a41112194af3eee6cc728f9515.html">MyLibsGeneral</a></li><li class="navelem"><a href="dir_9c80311a018e1f8cfb6659b73d634be4.html">Src</a></li><li class="navelem"><a href="general__gpio_8c.html">general_gpio.c</a></li> | ||||
|     <li class="navelem"><a href="dir_57feeba75fefbd1a9c832b76e3bce520.html">STM32_General</a></li><li class="navelem"><a href="dir_3d5e348fed410a00f9c665596ca3b887.html">Src</a></li><li class="navelem"><a href="general__gpio_8c.html">general_gpio.c</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> | ||||
|  | ||||