Чет работает

This commit is contained in:
2025-12-16 17:57:59 +03:00
commit 260a6416ad
2906 changed files with 982301 additions and 0 deletions

View File

@@ -0,0 +1,543 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: E:/.WORK/STM32/STM_Libs/STM32_ExtendedLibs/__SEGGER_RTT_Conf.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('_____s_e_g_g_e_r___r_t_t___conf_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">E:/.WORK/STM32/STM_Libs/STM32_ExtendedLibs/__SEGGER_RTT_Conf.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">* SEGGER Microcontroller GmbH *</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">* The Embedded Experts *</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">**********************************************************************</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">* (c) 1995 - 2021 SEGGER Microcontroller GmbH *</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">* www.segger.com Support: support@segger.com *</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">**********************************************************************</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">* SEGGER RTT * Real Time Transfer for embedded targets *</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">* All rights reserved. *</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">* SEGGER strongly recommends to not make any changes *</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">* to or modify the source code of this software in order to stay *</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">* compatible with the RTT protocol and J-Link. *</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">* Redistribution and use in source and binary forms, with or *</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment">* without modification, are permitted provided that the following *</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">* condition is met: *</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">* o Redistributions of source code must retain the above copyright *</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment">* notice, this condition and the following disclaimer. *</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><span class="comment">* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment">* CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, *</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment">* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment">* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment">* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment">* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment">* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment">* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment">* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment">* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="comment">* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="comment">* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="comment">* DAMAGE. *</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">* *</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="comment">* RTT version: 8.10g *</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"></span> </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="comment">---------------------------END-OF-HEADER------------------------------</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="comment">File : SEGGER_RTT_Conf.h</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="comment">Purpose : Implementation of SEGGER real-time transfer (RTT) which</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="comment"> allows real-time communication on targets which support</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="comment"> debugger memory accesses while the CPU is running.</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="comment">Revision: $Rev: 24316 $</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">*/</span></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><span class="preprocessor">#ifndef SEGGER_RTT_CONF_H</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="preprocessor">#define SEGGER_RTT_CONF_H</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="preprocessor">#ifdef __IAR_SYSTEMS_ICC__</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="preprocessor"> #include &lt;intrinsics.h&gt;</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="preprocessor">#endif</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="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="comment">*</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="comment">* Defines, configurable</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><span class="comment">**********************************************************************</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="comment">*/</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="comment">//</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="comment">// Take in and set to correct values for Cortex-A systems with CPU cache</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="comment">//</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="comment">//#define SEGGER_RTT_CPU_CACHE_LINE_SIZE (32) // Largest cache line size (in bytes) in the current system</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="comment">//#define SEGGER_RTT_UNCACHED_OFF (0xFB000000) // Address alias where RTT CB and buffers can be accessed uncached</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">// Most common case:</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="comment">// Up-channel 0: RTT</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="comment">// Up-channel 1: SystemView</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="comment">//</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="preprocessor">#ifndef SEGGER_RTT_MAX_NUM_UP_BUFFERS</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="preprocessor"> #define SEGGER_RTT_MAX_NUM_UP_BUFFERS (3) </span><span class="comment">// Max. number of up-buffers (T-&gt;H) available on this target (Default: 3)</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="preprocessor">#endif</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">// Most common case:</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="comment">// Down-channel 0: RTT</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="comment">// Down-channel 1: SystemView</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="preprocessor">#ifndef SEGGER_RTT_MAX_NUM_DOWN_BUFFERS</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor"> #define SEGGER_RTT_MAX_NUM_DOWN_BUFFERS (3) </span><span class="comment">// Max. number of down-buffers (H-&gt;T) available on this target (Default: 3)</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="preprocessor">#ifndef BUFFER_SIZE_UP</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="preprocessor"> #define BUFFER_SIZE_UP (4096) </span><span class="comment">// Size of the buffer for terminal output of target, up to host (Default: 1k)</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="preprocessor">#ifndef BUFFER_SIZE_DOWN</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="preprocessor"> #define BUFFER_SIZE_DOWN (16) </span><span class="comment">// Size of the buffer for terminal input to target from host (Usually keyboard input) (Default: 16)</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="preprocessor">#ifndef SEGGER_RTT_PRINTF_BUFFER_SIZE</span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="preprocessor"> #define SEGGER_RTT_PRINTF_BUFFER_SIZE (64u) </span><span class="comment">// Size of buffer for RTT printf to bulk-send chars via RTT (Default: 64)</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="preprocessor">#endif</span></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"> 106</span><span class="preprocessor">#ifndef SEGGER_RTT_MODE_DEFAULT</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="preprocessor"> #define SEGGER_RTT_MODE_DEFAULT SEGGER_RTT_MODE_NO_BLOCK_TRIM </span><span class="comment">// Mode for pre-initialized terminal channel (buffer 0)</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="preprocessor">#endif</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"> 110</span><span class="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="comment">*</span></div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="comment">* RTT memcpy configuration</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="comment">*</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="comment">* memcpy() is good for large amounts of data,</span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="comment">* but the overhead is big for small amounts, which are usually stored via RTT.</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span><span class="comment">* With SEGGER_RTT_MEMCPY_USE_BYTELOOP a simple byte loop can be used instead.</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="comment">*</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="comment">* SEGGER_RTT_MEMCPY() can be used to replace standard memcpy() in RTT functions.</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="comment">* This is may be required with memory access restrictions,</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="comment">* such as on Cortex-A devices with MMU.</span></div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span><span class="comment">*/</span></div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span><span class="preprocessor">#ifndef SEGGER_RTT_MEMCPY_USE_BYTELOOP</span></div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span><span class="preprocessor"> #define SEGGER_RTT_MEMCPY_USE_BYTELOOP 0 </span><span class="comment">// 0: Use memcpy/SEGGER_RTT_MEMCPY, 1: Use a simple byte-loop</span></div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="preprocessor">#endif</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><span class="comment">// Example definition of SEGGER_RTT_MEMCPY to external memcpy with GCC toolchains and Cortex-A targets</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="comment">//#if ((defined __SES_ARM) || (defined __CROSSWORKS_ARM) || (defined __GNUC__)) &amp;&amp; (defined (__ARM_ARCH_7A__))</span></div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span><span class="comment">// #define SEGGER_RTT_MEMCPY(pDest, pSrc, NumBytes) SEGGER_memcpy((pDest), (pSrc), (NumBytes))</span></div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span><span class="comment">//#endif</span></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><span class="comment">//</span></div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span><span class="comment">// Target is not allowed to perform other RTT operations while string still has not been stored completely.</span></div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span><span class="comment">// Otherwise we would probably end up with a mixed string in the buffer.</span></div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="comment">// If using RTT from within interrupts, multiple tasks or multi processors, define the SEGGER_RTT_LOCK() and SEGGER_RTT_UNLOCK() function here.</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">// SEGGER_RTT_MAX_INTERRUPT_PRIORITY can be used in the sample lock routines on Cortex-M3/4.</span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span><span class="comment">// Make sure to mask all interrupts which can send RTT data, i.e. generate SystemView events, or cause task switches.</span></div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="comment">// When high-priority interrupts must not be masked while sending RTT data, SEGGER_RTT_MAX_INTERRUPT_PRIORITY needs to be adjusted accordingly.</span></div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="comment">// (Higher priority = lower priority number)</span></div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="comment">// Default value for embOS: 128u</span></div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="comment">// Default configuration in FreeRTOS: configMAX_SYSCALL_INTERRUPT_PRIORITY: ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY &lt;&lt; (8 - configPRIO_BITS) )</span></div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="comment">// In case of doubt mask all interrupts: 1 &lt;&lt; (8 - BASEPRI_PRIO_BITS) i.e. 1 &lt;&lt; 5 when 3 bits are implemented in NVIC</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span><span class="comment">// or define SEGGER_RTT_LOCK() to completely disable interrupts.</span></div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span><span class="comment">//</span></div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span><span class="preprocessor">#ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span><span class="preprocessor"> #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) </span><span class="comment">// Interrupt priority to lock on SEGGER_RTT_LOCK on Cortex-M3/4 (Default: 0x20)</span></div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span><span class="preprocessor">#endif</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">/*********************************************************************</span></div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span><span class="comment">*</span></div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span><span class="comment">* RTT lock configuration for SEGGER Embedded Studio,</span></div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span><span class="comment">* Rowley CrossStudio and GCC</span></div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span><span class="comment">*/</span></div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span><span class="preprocessor">#if ((defined(__SES_ARM) || defined(__SES_RISCV) || defined(__CROSSWORKS_ARM) || defined(__GNUC__) || defined(__clang__)) &amp;&amp; !defined (__CC_ARM) &amp;&amp; !defined(WIN32))</span></div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span><span class="preprocessor"> #if (defined(__ARM_ARCH_6M__) || defined(__ARM_ARCH_8M_BASE__))</span></div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="preprocessor"> #define SEGGER_RTT_LOCK() { \</span></div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span><span class="preprocessor"> unsigned int _SEGGER_RTT__LockState; \</span></div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span><span class="preprocessor"> __asm volatile (&quot;mrs %0, primask \n\t&quot; \</span></div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span><span class="preprocessor"> &quot;movs r1, #1 \n\t&quot; \</span></div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span><span class="preprocessor"> &quot;msr primask, r1 \n\t&quot; \</span></div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span><span class="preprocessor"> : &quot;=r&quot; (_SEGGER_RTT__LockState) \</span></div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span><span class="preprocessor"> : \</span></div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span><span class="preprocessor"> : &quot;r1&quot;, &quot;cc&quot; \</span></div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span><span class="preprocessor"> );</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="preprocessor"> #define SEGGER_RTT_UNLOCK() __asm volatile (&quot;msr primask, %0 \n\t&quot; \</span></div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span><span class="preprocessor"> : \</span></div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span><span class="preprocessor"> : &quot;r&quot; (_SEGGER_RTT__LockState) \</span></div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span><span class="preprocessor"> : \</span></div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span><span class="preprocessor"> ); \</span></div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span><span class="preprocessor"> }</span></div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span><span class="preprocessor"> #elif (defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_8M_MAIN__) || defined(__ARM_ARCH_8_1M_MAIN__))</span></div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span><span class="preprocessor"> #ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY</span></div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span><span class="preprocessor"> #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20)</span></div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span><span class="preprocessor"> #endif</span></div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span><span class="preprocessor"> #define SEGGER_RTT_LOCK() { \</span></div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span><span class="preprocessor"> unsigned int _SEGGER_RTT__LockState; \</span></div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span><span class="preprocessor"> __asm volatile (&quot;mrs %0, basepri \n\t&quot; \</span></div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span><span class="preprocessor"> &quot;mov r1, %1 \n\t&quot; \</span></div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span><span class="preprocessor"> &quot;msr basepri, r1 \n\t&quot; \</span></div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span><span class="preprocessor"> : &quot;=r&quot; (_SEGGER_RTT__LockState) \</span></div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span><span class="preprocessor"> : &quot;i&quot;(SEGGER_RTT_MAX_INTERRUPT_PRIORITY) \</span></div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span><span class="preprocessor"> : &quot;r1&quot;, &quot;cc&quot; \</span></div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span><span class="preprocessor"> );</span></div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> </div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span><span class="preprocessor"> #define SEGGER_RTT_UNLOCK() __asm volatile (&quot;msr basepri, %0 \n\t&quot; \</span></div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span><span class="preprocessor"> : \</span></div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span><span class="preprocessor"> : &quot;r&quot; (_SEGGER_RTT__LockState) \</span></div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span><span class="preprocessor"> : \</span></div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span><span class="preprocessor"> ); \</span></div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span><span class="preprocessor"> }</span></div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> </div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span><span class="preprocessor"> #elif (defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__))</span></div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span><span class="preprocessor"> #define SEGGER_RTT_LOCK() { \</span></div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span><span class="preprocessor"> unsigned int _SEGGER_RTT__LockState; \</span></div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span><span class="preprocessor"> __asm volatile (&quot;mrs r1, CPSR \n\t&quot; \</span></div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span><span class="preprocessor"> &quot;mov %0, r1 \n\t&quot; \</span></div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span><span class="preprocessor"> &quot;orr r1, r1, #0xC0 \n\t&quot; \</span></div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span><span class="preprocessor"> &quot;msr CPSR_c, r1 \n\t&quot; \</span></div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span><span class="preprocessor"> : &quot;=r&quot; (_SEGGER_RTT__LockState) \</span></div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span><span class="preprocessor"> : \</span></div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span><span class="preprocessor"> : &quot;r1&quot;, &quot;cc&quot; \</span></div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span><span class="preprocessor"> );</span></div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> </div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span><span class="preprocessor"> #define SEGGER_RTT_UNLOCK() __asm volatile (&quot;mov r0, %0 \n\t&quot; \</span></div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span><span class="preprocessor"> &quot;mrs r1, CPSR \n\t&quot; \</span></div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span><span class="preprocessor"> &quot;bic r1, r1, #0xC0 \n\t&quot; \</span></div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span><span class="preprocessor"> &quot;and r0, r0, #0xC0 \n\t&quot; \</span></div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span><span class="preprocessor"> &quot;orr r1, r1, r0 \n\t&quot; \</span></div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span><span class="preprocessor"> &quot;msr CPSR_c, r1 \n\t&quot; \</span></div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span><span class="preprocessor"> : \</span></div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span><span class="preprocessor"> : &quot;r&quot; (_SEGGER_RTT__LockState) \</span></div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span><span class="preprocessor"> : &quot;r0&quot;, &quot;r1&quot;, &quot;cc&quot; \</span></div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span><span class="preprocessor"> ); \</span></div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span><span class="preprocessor"> }</span></div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span><span class="preprocessor"> #elif defined(__riscv) || defined(__riscv_xlen)</span></div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span><span class="preprocessor"> #define SEGGER_RTT_LOCK() { \</span></div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span><span class="preprocessor"> unsigned int _SEGGER_RTT__LockState; \</span></div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span><span class="preprocessor"> __asm volatile (&quot;csrr %0, mstatus \n\t&quot; \</span></div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span><span class="preprocessor"> &quot;csrci mstatus, 8 \n\t&quot; \</span></div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span><span class="preprocessor"> &quot;andi %0, %0, 8 \n\t&quot; \</span></div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span><span class="preprocessor"> : &quot;=r&quot; (_SEGGER_RTT__LockState) \</span></div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span><span class="preprocessor"> : \</span></div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span><span class="preprocessor"> : \</span></div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span><span class="preprocessor"> );</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="preprocessor"> #define SEGGER_RTT_UNLOCK() __asm volatile (&quot;csrr a1, mstatus \n\t&quot; \</span></div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span><span class="preprocessor"> &quot;or %0, %0, a1 \n\t&quot; \</span></div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span><span class="preprocessor"> &quot;csrs mstatus, %0 \n\t&quot; \</span></div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span><span class="preprocessor"> : \</span></div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span><span class="preprocessor"> : &quot;r&quot; (_SEGGER_RTT__LockState) \</span></div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span><span class="preprocessor"> : &quot;a1&quot; \</span></div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span><span class="preprocessor"> ); \</span></div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span><span class="preprocessor"> }</span></div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span><span class="preprocessor"> #else</span></div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span><span class="preprocessor"> #define SEGGER_RTT_LOCK()</span></div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span><span class="preprocessor"> #define SEGGER_RTT_UNLOCK()</span></div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span><span class="preprocessor"> #endif</span></div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span><span class="preprocessor">#endif</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">/*********************************************************************</span></div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span><span class="comment">*</span></div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span><span class="comment">* RTT lock configuration for IAR EWARM</span></div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span><span class="comment">*/</span></div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span><span class="preprocessor">#ifdef __ICCARM__</span></div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span><span class="preprocessor"> #if (defined (__ARM6M__) &amp;&amp; (__CORE__ == __ARM6M__)) || \</span></div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span><span class="preprocessor"> (defined (__ARM8M_BASELINE__) &amp;&amp; (__CORE__ == __ARM8M_BASELINE__))</span></div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span><span class="preprocessor"> #define SEGGER_RTT_LOCK() { \</span></div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span><span class="preprocessor"> unsigned int _SEGGER_RTT__LockState; \</span></div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span><span class="preprocessor"> _SEGGER_RTT__LockState = __get_PRIMASK(); \</span></div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span><span class="preprocessor"> __set_PRIMASK(1);</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"> #define SEGGER_RTT_UNLOCK() __set_PRIMASK(_SEGGER_RTT__LockState); \</span></div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span><span class="preprocessor"> }</span></div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span><span class="preprocessor"> #elif (defined (__ARM7EM__) &amp;&amp; (__CORE__ == __ARM7EM__)) || \</span></div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span><span class="preprocessor"> (defined (__ARM7M__) &amp;&amp; (__CORE__ == __ARM7M__)) || \</span></div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span><span class="preprocessor"> (defined (__ARM8M_MAINLINE__) &amp;&amp; (__CORE__ == __ARM8M_MAINLINE__)) || \</span></div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span><span class="preprocessor"> (defined (__ARM8M_MAINLINE__) &amp;&amp; (__CORE__ == __ARM8M_MAINLINE__))</span></div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span><span class="preprocessor"> #ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY</span></div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span><span class="preprocessor"> #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20)</span></div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span><span class="preprocessor"> #endif</span></div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span><span class="preprocessor"> #define SEGGER_RTT_LOCK() { \</span></div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span><span class="preprocessor"> unsigned int _SEGGER_RTT__LockState; \</span></div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span><span class="preprocessor"> _SEGGER_RTT__LockState = __get_BASEPRI(); \</span></div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span><span class="preprocessor"> __set_BASEPRI(SEGGER_RTT_MAX_INTERRUPT_PRIORITY);</span></div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> </div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span><span class="preprocessor"> #define SEGGER_RTT_UNLOCK() __set_BASEPRI(_SEGGER_RTT__LockState); \</span></div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span><span class="preprocessor"> }</span></div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span><span class="preprocessor"> #elif (defined (__ARM7A__) &amp;&amp; (__CORE__ == __ARM7A__)) || \</span></div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span><span class="preprocessor"> (defined (__ARM7R__) &amp;&amp; (__CORE__ == __ARM7R__))</span></div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span><span class="preprocessor"> #define SEGGER_RTT_LOCK() { \</span></div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span><span class="preprocessor"> unsigned int _SEGGER_RTT__LockState; \</span></div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span><span class="preprocessor"> __asm volatile (&quot;mrs r1, CPSR \n\t&quot; \</span></div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span><span class="preprocessor"> &quot;mov %0, r1 \n\t&quot; \</span></div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span><span class="preprocessor"> &quot;orr r1, r1, #0xC0 \n\t&quot; \</span></div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span><span class="preprocessor"> &quot;msr CPSR_c, r1 \n\t&quot; \</span></div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span><span class="preprocessor"> : &quot;=r&quot; (_SEGGER_RTT__LockState) \</span></div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span><span class="preprocessor"> : \</span></div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span><span class="preprocessor"> : &quot;r1&quot;, &quot;cc&quot; \</span></div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span><span class="preprocessor"> );</span></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"> #define SEGGER_RTT_UNLOCK() __asm volatile (&quot;mov r0, %0 \n\t&quot; \</span></div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span><span class="preprocessor"> &quot;mrs r1, CPSR \n\t&quot; \</span></div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span><span class="preprocessor"> &quot;bic r1, r1, #0xC0 \n\t&quot; \</span></div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span><span class="preprocessor"> &quot;and r0, r0, #0xC0 \n\t&quot; \</span></div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span><span class="preprocessor"> &quot;orr r1, r1, r0 \n\t&quot; \</span></div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span><span class="preprocessor"> &quot;msr CPSR_c, r1 \n\t&quot; \</span></div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span><span class="preprocessor"> : \</span></div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span><span class="preprocessor"> : &quot;r&quot; (_SEGGER_RTT__LockState) \</span></div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span><span class="preprocessor"> : &quot;r0&quot;, &quot;r1&quot;, &quot;cc&quot; \</span></div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span><span class="preprocessor"> ); \</span></div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span><span class="preprocessor"> }</span></div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span><span class="preprocessor"> #endif</span></div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span><span class="preprocessor">#endif</span></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="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span><span class="comment">*</span></div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span><span class="comment">* RTT lock configuration for IAR RX</span></div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span><span class="comment">*/</span></div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span><span class="preprocessor">#ifdef __ICCRX__</span></div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span><span class="preprocessor"> #define SEGGER_RTT_LOCK() { \</span></div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span><span class="preprocessor"> unsigned long _SEGGER_RTT__LockState; \</span></div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span><span class="preprocessor"> _SEGGER_RTT__LockState = __get_interrupt_state(); \</span></div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span><span class="preprocessor"> __disable_interrupt();</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="preprocessor"> #define SEGGER_RTT_UNLOCK() __set_interrupt_state(_SEGGER_RTT__LockState); \</span></div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span><span class="preprocessor"> }</span></div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span><span class="preprocessor">#endif</span></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="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span><span class="comment">*</span></div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span><span class="comment">* RTT lock configuration for IAR RL78</span></div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span><span class="comment">*/</span></div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span><span class="preprocessor">#ifdef __ICCRL78__</span></div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span><span class="preprocessor"> #define SEGGER_RTT_LOCK() { \</span></div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span><span class="preprocessor"> __istate_t _SEGGER_RTT__LockState; \</span></div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span><span class="preprocessor"> _SEGGER_RTT__LockState = __get_interrupt_state(); \</span></div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span><span class="preprocessor"> __disable_interrupt();</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="preprocessor"> #define SEGGER_RTT_UNLOCK() __set_interrupt_state(_SEGGER_RTT__LockState); \</span></div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span><span class="preprocessor"> }</span></div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span><span class="preprocessor">#endif</span></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="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span><span class="comment">*</span></div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span><span class="comment">* RTT lock configuration for KEIL ARM</span></div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span><span class="comment">*/</span></div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span><span class="preprocessor">#ifdef __CC_ARM</span></div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span><span class="preprocessor"> #if (defined __TARGET_ARCH_6S_M)</span></div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span><span class="preprocessor"> #define SEGGER_RTT_LOCK() { \</span></div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span><span class="preprocessor"> unsigned int _SEGGER_RTT__LockState; \</span></div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span><span class="preprocessor"> register unsigned char _SEGGER_RTT__PRIMASK __asm( &quot;primask&quot;); \</span></div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span><span class="preprocessor"> _SEGGER_RTT__LockState = _SEGGER_RTT__PRIMASK; \</span></div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span><span class="preprocessor"> _SEGGER_RTT__PRIMASK = 1u; \</span></div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span><span class="preprocessor"> __schedule_barrier();</span></div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> </div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span><span class="preprocessor"> #define SEGGER_RTT_UNLOCK() _SEGGER_RTT__PRIMASK = _SEGGER_RTT__LockState; \</span></div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span><span class="preprocessor"> __schedule_barrier(); \</span></div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span><span class="preprocessor"> }</span></div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span><span class="preprocessor"> #elif (defined(__TARGET_ARCH_7_M) || defined(__TARGET_ARCH_7E_M))</span></div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span><span class="preprocessor"> #ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY</span></div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span><span class="preprocessor"> #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20)</span></div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span><span class="preprocessor"> #endif</span></div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span><span class="preprocessor"> #define SEGGER_RTT_LOCK() { \</span></div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span><span class="preprocessor"> unsigned int _SEGGER_RTT__LockState; \</span></div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span><span class="preprocessor"> register unsigned char BASEPRI __asm( &quot;basepri&quot;); \</span></div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span><span class="preprocessor"> _SEGGER_RTT__LockState = BASEPRI; \</span></div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span><span class="preprocessor"> BASEPRI = SEGGER_RTT_MAX_INTERRUPT_PRIORITY; \</span></div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span><span class="preprocessor"> __schedule_barrier();</span></div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> </div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span><span class="preprocessor"> #define SEGGER_RTT_UNLOCK() BASEPRI = _SEGGER_RTT__LockState; \</span></div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span><span class="preprocessor"> __schedule_barrier(); \</span></div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span><span class="preprocessor"> }</span></div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span><span class="preprocessor"> #endif</span></div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> </div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span><span class="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span><span class="comment">*</span></div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span><span class="comment">* RTT lock configuration for TI ARM</span></div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span><span class="comment">*/</span></div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span><span class="preprocessor">#ifdef __TI_ARM__</span></div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span><span class="preprocessor"> #if defined (__TI_ARM_V6M0__)</span></div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span><span class="preprocessor"> #define SEGGER_RTT_LOCK() { \</span></div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span><span class="preprocessor"> unsigned int _SEGGER_RTT__LockState; \</span></div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span><span class="preprocessor"> _SEGGER_RTT__LockState = __get_PRIMASK(); \</span></div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span><span class="preprocessor"> __set_PRIMASK(1);</span></div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> </div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span><span class="preprocessor"> #define SEGGER_RTT_UNLOCK() __set_PRIMASK(_SEGGER_RTT__LockState); \</span></div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span><span class="preprocessor"> }</span></div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span><span class="preprocessor"> #elif (defined (__TI_ARM_V7M3__) || defined (__TI_ARM_V7M4__))</span></div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span><span class="preprocessor"> #ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY</span></div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span><span class="preprocessor"> #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20)</span></div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span><span class="preprocessor"> #endif</span></div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span><span class="preprocessor"> #define SEGGER_RTT_LOCK() { \</span></div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span><span class="preprocessor"> unsigned int _SEGGER_RTT__LockState; \</span></div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span><span class="preprocessor"> _SEGGER_RTT__LockState = _set_interrupt_priority(SEGGER_RTT_MAX_INTERRUPT_PRIORITY);</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="preprocessor"> #define SEGGER_RTT_UNLOCK() _set_interrupt_priority(_SEGGER_RTT__LockState); \</span></div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span><span class="preprocessor"> }</span></div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span><span class="preprocessor"> #endif</span></div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> </div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span><span class="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span><span class="comment">*</span></div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span><span class="comment">* RTT lock configuration for CCRX</span></div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span><span class="comment">*/</span></div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span><span class="preprocessor">#ifdef __RX</span></div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span><span class="preprocessor"> #include &lt;machine.h&gt;</span></div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span><span class="preprocessor"> #define SEGGER_RTT_LOCK() { \</span></div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span><span class="preprocessor"> unsigned long _SEGGER_RTT__LockState; \</span></div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span><span class="preprocessor"> _SEGGER_RTT__LockState = get_psw() &amp; 0x010000; \</span></div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span><span class="preprocessor"> clrpsw_i();</span></div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> </div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span><span class="preprocessor"> #define SEGGER_RTT_UNLOCK() set_psw(get_psw() | _SEGGER_RTT__LockState); \</span></div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span><span class="preprocessor"> }</span></div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> </div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span><span class="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span><span class="comment">*</span></div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span><span class="comment">* RTT lock configuration for embOS Simulation on Windows</span></div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span><span class="comment">* (Can also be used for generic RTT locking with embOS)</span></div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span><span class="comment">*/</span></div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span><span class="preprocessor">#if defined(WIN32) || defined(SEGGER_RTT_LOCK_EMBOS)</span></div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> </div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span><span class="keywordtype">void</span> OS_SIM_EnterCriticalSection(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span><span class="keywordtype">void</span> OS_SIM_LeaveCriticalSection(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> </div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span><span class="preprocessor">#define SEGGER_RTT_LOCK() { \</span></div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span><span class="preprocessor"> OS_SIM_EnterCriticalSection();</span></div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> </div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span><span class="preprocessor">#define SEGGER_RTT_UNLOCK() OS_SIM_LeaveCriticalSection(); \</span></div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span><span class="preprocessor"> }</span></div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> </div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span><span class="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span><span class="comment">*</span></div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span><span class="comment">* RTT lock configuration fallback</span></div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span><span class="comment">*/</span></div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span><span class="preprocessor">#ifndef SEGGER_RTT_LOCK</span></div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span><span class="preprocessor"> #define SEGGER_RTT_LOCK() </span><span class="comment">// Lock RTT (nestable) (i.e. disable interrupts)</span></div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> </div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span><span class="preprocessor">#ifndef SEGGER_RTT_UNLOCK</span></div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span><span class="preprocessor"> #define SEGGER_RTT_UNLOCK() </span><span class="comment">// Unlock RTT (nestable) (i.e. enable previous interrupt lock state)</span></div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> </div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span><span class="comment">/*************************** End of file ****************************/</span></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"><b>__SEGGER_RTT_Conf.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>
</body>
</html>

View File

@@ -0,0 +1,227 @@
<!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/STM_Libs/STM32_ExtendedLibs/__mylibs_config.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('____mylibs__config_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">E:/.WORK/STM32/STM_Libs/STM32_ExtendedLibs/__mylibs_config.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 mylibs_config.h</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">* @brief Конфигурации для библиотек MyLibs</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">* @defgroup MYLIBS_CONFIG Configs</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">* @ingroup MYLIBS_ALL</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment">* @brief Конфигурации для библиотек MyLibs</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">*************************************************************************/</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#ifndef __MYLIBS_CONFIG_H_</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#define __MYLIBS_CONFIG_H_</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">#include &quot;stm32f4xx_hal.h&quot;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">// user includes</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">/** </span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"> * @addtogroup TRACE_CONFIG Trace configs</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> * @ingroup MYLIBS_CONFIG</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> * @brief Конфигурация трекеров и трассировки</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> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gac9eaedc31ab023ce7d6403999216e496"> 25</a></span><span class="preprocessor">#define TRACKERS_ENABLE </span><span class="comment">///&lt; Включить трекеры</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga76936505ca200d2e61226b7ba68f27c6"> 26</a></span><span class="preprocessor">#define SERIAL_TRACE_ENABLE </span><span class="comment">///&lt; Включить serial трассировку</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga00ff2175bdc1fb11c8ec970ea3010dd8"> 27</a></span><span class="preprocessor">#define RTT_TRACE_ENABLE </span><span class="comment">///&lt; Включить serial трассировку через RTT</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gab8db9704b5d11858aa879689b9d36336"> 28</a></span><span class="preprocessor">#define SWO_TRACE_ENABLE </span><span class="comment">///&lt; Включить serial трассировку через SWO</span><span class="comment"></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"> * @brief Уровень log serial трассировки @ref log_printf</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment"> * - LOG_LEVEL == 0 - логирование отключено (макрос пустой)</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment"> * - LOG_LEVEL == 1 - выводится время и TAG</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment"> * - LOG_LEVEL &gt;= 2 - выводится время, TAG, имя файла и номер строки</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment"> */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga0b87e0d3bf5853bcbb0b66a7c48fdc05"> 35</a></span><span class="preprocessor">#define LOG_LEVEL 1</span></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"><a class="line" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga501312b24e322de4dd6755ad442f0ba3"> 37</a></span><span class="preprocessor">#define RTT_FLASH_BUFFER_SIZE 1024 </span><span class="comment">///&lt; Размер буфера RTT в Flash</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga3bc1b76864e1d32cbdd174d4caae7724"> 38</a></span><span class="preprocessor">#define RTT_FLASH_SECTOR FLASH_SECTOR_11 </span><span class="comment">///&lt; Сектор FLASH куда положится RTT буфер</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga8e56f75d3ab8a89ddde1404ae23c3297"> 39</a></span><span class="preprocessor">#define RTT_FLASH_SECTOR_START 0x080E0000 </span><span class="comment">///&lt; Начало сектора RTT_FLASH_SECTOR</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gafeca0be3688dea07ff443f894668003d"> 40</a></span><span class="preprocessor">#define RTT_FLASH_SECTOR_END 0x080FFFFF </span><span class="comment">///&lt; Конец сектора RTT_FLASH_SECTOR</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </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"><a class="line" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga47f454f804b4dbc26cae079e8d8641e6"> 43</a></span><span class="preprocessor">#define HARDFAULT_SERIAL_TRACE </span><span class="comment">///&lt; Включить обработку и serial трассировку Hardfault</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gadc960255719c7eff4bdfaa850be9b313"> 44</a></span><span class="preprocessor">#define HF_RTT_TAG_BASE 0xDEAD0000 </span><span class="comment">///&lt; базовый тег для HardFault</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gafcc7ea03d4df8f1909e580b519a7f3ca"> 45</a></span><span class="preprocessor">#define HF_RTT_TAIL_SIZE RTT_FLASH_BUFFER_SIZE </span><span class="comment">///&lt; Размер буфера RTT, который сохранится при Hardfault</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="group___t_r_a_c_e___c_o_n_f_i_g.html#gaa31234688b333a505aaa57b8ecdedf5b"> 46</a></span><span class="preprocessor">#define HF_STACK_DUMP_WORDS 32 </span><span class="comment">///&lt; Сколько слов стека будет проанализировано во время Hardfault</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga0c602733a4a359bf8c095d71cd4d0f63"> 47</a></span><span class="preprocessor">#define HF_FLASH_ADDR ((uint32_t)0x080FF000) </span><span class="comment">///&lt; Адрес FLASH куда положится RTT буфер</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga92d0d14732edb7dfa21d483304bdb051"> 48</a></span><span class="preprocessor">#define HF_RAM_END 0x20030000 </span><span class="comment">///&lt; Конец RAM памяти (чтобы во время анализа стека не выйти за пределы)</span></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"><a class="line" href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga4222e0e400ad81737cefcabeb03fd23b"> 50</a></span><span class="preprocessor">#define GPIO_TRACE_ENABLE </span><span class="comment">///&lt; Включить GPIO трассировку</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">/** TRACE_CONFIG</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> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="comment"></span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="comment">/** </span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="comment"> * @addtogroup GEN_CONFIG Genetic configs</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="comment"> * @ingroup MYLIBS_CONFIG</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="comment"> * @brief Конфигурация генетического алгоритма обучения</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="comment"> * @{</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="comment"> */</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="group___g_e_n___c_o_n_f_i_g.html#gae6d1db3c0b21f67cb0db2673d207b62c"> 64</a></span><span class="preprocessor">#define GEN_OPTIMIZATION_ENABLE </span><span class="comment">///&lt; Включить оптимизацию параметров</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="group___g_e_n___c_o_n_f_i_g.html#ga8daf4b266a95353d580bd7946f47c0ab"> 65</a></span><span class="preprocessor">#define GEN_MAX_PARAMS 20 </span><span class="comment">///&lt; Максимальное количество параметров</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="group___g_e_n___c_o_n_f_i_g.html#ga201cffde04ebc6540869c74bd1dae869"> 66</a></span><span class="preprocessor">#define GEN_MAX_CANDIDATES 100 </span><span class="comment">///&lt; Максимальное количество кандидатов для обучения</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="comment"></span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="comment">/** GEN_CONFIG</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="comment"> * @}</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="comment"> */</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="comment"></span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="comment">/** </span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="comment"> * @addtogroup GEN_CONFIG Genetic configs</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="comment"> * @ingroup MYLIBS_CONFIG</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="comment"> * @brief Конфигурация генетического алгоритма обучения</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="comment"> * @{</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="comment"> */</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="group___g_e_n___c_o_n_f_i_g.html#ga67c3c54503b9bbd5d175ac46d37866d9"> 81</a></span><span class="preprocessor">#define BENCH_TIME_ENABLE </span><span class="comment">///&lt; Включить бенч времени</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="group___g_e_n___c_o_n_f_i_g.html#ga74fdf777ceefa5e7d67120fbda4cde52"> 82</a></span><span class="preprocessor">#define BENCH_TIME_MAX_CHANNELS 16 </span><span class="comment">///&lt; Максимальное количество каналов измерения</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="comment"></span> </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="comment">/** GEN_CONFIG</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="comment"> * @}</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="comment"> */</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="comment"></span> </div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="comment">/** </span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="comment"> * @addtogroup LIBS_CONFIG Libraries configs</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="comment"> * @ingroup MYLIBS_CONFIG</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="comment"> * @brief Подключение различных модулей библиотеки</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="comment"> * @{</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="comment"> */</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga9c853b02c22f26023c34d1d404b6d653"> 97</a></span><span class="preprocessor">#define local_time() uwTick </span><span class="comment">///&lt; Локальное время</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> </div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga3cdc9ef47fd3ff080d38481295327692"> 99</a></span><span class="preprocessor">#define INCLUDE_GEN_OPTIMIZER </span><span class="comment">///&lt; Подключить библиотеку для оптимизации параметров</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#gaf4ddb2a71ec0d05c2480e197cd17c0be"> 100</a></span><span class="preprocessor">#define INCLUDE_BIT_ACCESS_LIB </span><span class="comment">///&lt; Подключить библиотеку с typedef с битовыми полями</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga4403055986b70bb02b8d37073a122e32"> 101</a></span><span class="preprocessor">#define INCLUDE_TRACKERS_LIB </span><span class="comment">///&lt; Подключить библиотеку с трекерами</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga0a3ca94b616997069dd53e2c6c2687d7"> 102</a></span><span class="preprocessor">#define INCLUDE_TRACE_LIB </span><span class="comment">///&lt; Подключить библиотеку с трейсами</span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga181a46326e46b60afb160190832c7281"> 103</a></span><span class="preprocessor">#define INCLUDE_GENERAL_PERIPH_LIBS </span><span class="comment">///&lt; Подключить библиотеку с периферией</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="group___l_i_b_s___c_o_n_f_i_g.html#ga57c369737d5c0cfdb7baeecba0a4b151"> 104</a></span><span class="preprocessor">#define FREERTOS_DELAY </span><span class="comment">///&lt; Использовать FreeRTOS задержку, вместо HAL</span></div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="comment"></span> </div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="comment">/** LIBS_CONFIG</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="comment"> * @}</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="comment"> */</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="comment"></span> </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="comment">/** MYLIBS_CONFIG</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="comment"> * @}</span></div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="comment"> */</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="preprocessor">#endif </span><span class="comment">//__MYLIBS_CONFIG_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><b>__mylibs_config.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>
</body>
</html>

View File

@@ -0,0 +1,257 @@
<!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/STM_Libs/STM32_ExtendedLibs/__mylibs_include.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('____mylibs__include_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">E:/.WORK/STM32/STM_Libs/STM32_ExtendedLibs/__mylibs_include.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 mylibs_include.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">* @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">чтобы не подключать 100 инклюдов в каждом &quot;.c&quot; файле</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">* @defgroup MYLIBS_ALL My Libs</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment">* @brief Все используемые MyLibs библиотеки</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment">* @details</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">- Сконфигурировать mylibs_config.h:</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> - Подключить заголовочный файл HAL библиотеки конкретного МК (напр. stm32f4xx_hal.h)</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"> - Подключить mylibs_include.h туда, где необходим доступ к библиотекам.</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"></span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">*************************************************************************/</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifndef __MYLIBS_INCLUDE_H_</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define __MYLIBS_INCLUDE_H_</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include &quot;<a class="code" href="mylibs__defs_8h.html">mylibs_defs.h</a>&quot;</span></div>
<div class="line"><a id="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="preprocessor">#ifdef ARM_MATH_CM4</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor"> #include &quot;arm_math.h&quot;</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor"> #include &quot;math.h&quot;</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#endif</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> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#ifdef INCLUDE_BIT_ACCESS_LIB</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#include &quot;<a class="code" href="bit__access_8h.html">bit_access.h</a>&quot;</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor">#endif</span></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><span class="preprocessor">#ifdef INCLUDE_TRACKERS_LIB</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="preprocessor">#include &quot;<a class="code" href="trackers_8h.html">trackers.h</a>&quot;</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor"> #define TrackerTypeDef(num_user_vars) void *</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="preprocessor"> #define num_of_usercnts(_user_) 0</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="preprocessor"> #define assert_tracecnt(_cntstruct_, _uservarnumb_) 0</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="preprocessor"> #define if_assert_usertracker(_cntstruct_, _uservarnumb_) if(0)</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="preprocessor"> #define tern_assert_usertracker(_cntstruct_, _uservarnumb_) 0</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="preprocessor"> #define TrackerGet_Ok(_cntstruct_) dummy</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="preprocessor"> #define TrackerGet_Err(_cntstruct_) dummy</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="preprocessor"> #define TrackerGet_Warn(_cntstruct_) dummy </span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="preprocessor"> #define TrackerGet_User(_cntstruct_, _uservarnumb_) dummy</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="preprocessor"> #define TrackerCnt_Ok(_cntstruct_) </span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="preprocessor"> #define TrackerCnt_Err(_cntstruct_) </span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="preprocessor"> #define TrackerCnt_Warn(_cntstruct_) </span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="preprocessor"> #define TrackerCnt_User(_cntstruct_, _uservarnumb_) </span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="preprocessor"> #define TrackerWrite_User(_cntstruct_, _uservarnumb_, _val_)</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="preprocessor"> #define TrackerClear_All(_cntstruct_) </span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="preprocessor"> #define TrackerClear_Ok(_cntstruct_) </span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="preprocessor"> #define TrackerClear_Err(_cntstruct_) </span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="preprocessor"> #define TrackerClear_Warn(_cntstruct_) </span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="preprocessor"> #define TrackerClear_User(_cntstruct_) </span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="preprocessor"> #define TrackerClear_UserAll(_cntstruct_) </span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="preprocessor">#ifdef INCLUDE_TRACE_LIB</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="preprocessor">#include &quot;<a class="code" href="trace_8h.html">trace.h</a>&quot;</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="preprocessor">#define my_printf(...)</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="preprocessor">#define log_printf(TAG, fmt, ...) </span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="preprocessor">#define TRACE_GPIO_SET(_gpio_,_pin_)</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="preprocessor">#define TRACE_GPIO_RESET(_gpio_,_pin_)</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="preprocessor">#define RTT_FlashPrepare(...)</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="preprocessor">#define RTT_EraseFlash(...) 0</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="preprocessor">#define RTT_SaveToFlash(...) 0</span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="preprocessor">#define RTT_ReadFromFlash(...) 0</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="preprocessor">#define HF_CheckRecovered(...) 0</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="preprocessor">#define HF_HandleFault(...)</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="preprocessor">#endif</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">#ifdef INCLUDE_GEN_OPTIMIZER</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="preprocessor">#include &quot;<a class="code" href="gen__optimizer_8h.html">gen_optimizer.h</a>&quot;</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> uint16_t n_params; </div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> uint16_t n_cand; </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> uint16_t n_best; </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> uint16_t iq_mutation; </div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> int32_t loss[0]; </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> int32_t candidates[0][0]; </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span>} <a class="code hl_struct" href="struct_gen_optimizer__t.html">GenOptimizer_t</a>;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="preprocessor">#define GenOptimizer_Init(opt, n_params, n_cand, n_best, iq_mutation, start_params)</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="preprocessor">#define GenOptimizer_Step(opt, params, LossFunc)</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="preprocessor">#define PARAM_SCALE_Q16(x, min_val, max_val) (x)</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor">#define PARAM_UNSCALE_Q16(q16_val, min_val, max_val) (q16_val)</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="preprocessor">#ifdef INCLUDE_BENCH_TEST</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="preprocessor">#include &quot;<a class="code" href="bench__time_8h.html">bench_time.h</a>&quot;</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="preprocessor">#else </span><span class="comment">//BENCH_TIME_ENABLE</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="preprocessor">#define BenchTime_Init()</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="preprocessor">#define BenchTime_Start(channel, ticks, tick_period) 0</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="preprocessor">#define BenchTime_End(channel, ticks) 0</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="preprocessor">#define BenchTime_GetMin(channel) 0</span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="preprocessor">#define BenchTime_GetMax(channel) 0</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="preprocessor">#define BenchTime_GetAverage(channel) 0</span></div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="preprocessor">#define BenchTime_GetCount(channel) 0</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="preprocessor">#define BenchTime_GetLast(channel) 0</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="preprocessor">#define BenchTime_ResetStats(channel)</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="preprocessor">#endif </span><span class="comment">//BENCH_TIME_ENABLE</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"> 110</span><span class="preprocessor">#ifdef INCLUDE_GENERAL_PERIPH_LIBS</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="preprocessor">#include &quot;__general_flash.h&quot;</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="preprocessor">#include &quot;general_gpio.h&quot;</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="preprocessor">#ifdef HAL_SPI_MODULE_ENABLED</span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="preprocessor">#include &quot;general_spi.h&quot;</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="preprocessor">#ifdef HAL_UART_MODULE_ENABLED</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="preprocessor">#include &quot;general_uart.h&quot;</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="preprocessor">#ifdef HAL_TIM_MODULE_ENABLED</span></div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span><span class="preprocessor">#include &quot;general_tim.h&quot;</span></div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="preprocessor">#endif </span><span class="comment">//INCLUDE_GENERAL_PERIPH_LIBS</span></div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</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> </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">/////////////////////////---USER SETTINGS---/////////////////////////</span></div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span><span class="comment">// user includes</span></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><span class="comment">// user settings</span><span class="comment"></span></div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span><span class="comment">/////////////////////////---USER SETTINGS---/////////////////////////</span></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> </div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><span class="preprocessor">#endif </span><span class="comment">// __MYLIBS_INCLUDE_H_</span></div>
<div class="ttc" id="abench__time_8h_html"><div class="ttname"><a href="bench__time_8h.html">bench_time.h</a></div><div class="ttdoc">Заголовочный файл для измерения времени между событиями</div></div>
<div class="ttc" id="abit__access_8h_html"><div class="ttname"><a href="bit__access_8h.html">bit_access.h</a></div><div class="ttdoc">Заголочный файл для дефайнов битового доступа.</div></div>
<div class="ttc" id="agen__optimizer_8h_html"><div class="ttname"><a href="gen__optimizer_8h.html">gen_optimizer.h</a></div><div class="ttdoc">Заголовочный файл для адаптивного подбора параметров</div></div>
<div class="ttc" id="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_gen_optimizer__t_html"><div class="ttname"><a href="struct_gen_optimizer__t.html">GenOptimizer_t</a></div><div class="ttdef"><b>Definition</b> <a href="gen__optimizer_8h_source.html#l00319">gen_optimizer.h:319</a></div></div>
<div class="ttc" id="atrace_8h_html"><div class="ttname"><a href="trace_8h.html">trace.h</a></div><div class="ttdoc">Заголочный файл для работы с трассировкой.</div></div>
<div class="ttc" id="atrackers_8h_html"><div class="ttname"><a href="trackers_8h.html">trackers.h</a></div><div class="ttdoc">Заголочный файл для работы с трекерами Trackers defines.</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"><b>__mylibs_include.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>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,508 @@
<!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/STM_Libs/STM32_ExtendedLibs/RTT/SEGGER_RTT_Syscalls_KEIL.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="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_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">SEGGER_RTT_Syscalls_KEIL.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">* SEGGER Microcontroller GmbH *</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">* The Embedded Experts *</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">**********************************************************************</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">* (c) 1995 - 2021 SEGGER Microcontroller GmbH *</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">* www.segger.com Support: support@segger.com *</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">**********************************************************************</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">* SEGGER RTT * Real Time Transfer for embedded targets *</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">* All rights reserved. *</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">* SEGGER strongly recommends to not make any changes *</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">* to or modify the source code of this software in order to stay *</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">* compatible with the RTT protocol and J-Link. *</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">* Redistribution and use in source and binary forms, with or *</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment">* without modification, are permitted provided that the following *</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">* condition is met: *</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">* o Redistributions of source code must retain the above copyright *</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment">* notice, this condition and the following disclaimer. *</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><span class="comment">* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment">* CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, *</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment">* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment">* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment">* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment">* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment">* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment">* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment">* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment">* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="comment">* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="comment">* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="comment">* DAMAGE. *</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">* *</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="comment">* RTT version: 7.54 *</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"></span> </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="comment">---------------------------END-OF-HEADER------------------------------</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="comment">File : RTT_Syscalls_KEIL.c</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="comment">Purpose : Retargeting module for KEIL MDK-CM3.</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="comment"> Low-level functions for using printf() via RTT</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="comment">Revision: $Rev: 24316 $</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="comment">Notes : (1) https://wiki.segger.com/Keil_MDK-ARM#RTT_in_uVision</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">*/</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="preprocessor">#if (defined __CC_ARM) || (defined __ARMCC_VERSION)</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="preprocessor">#include &lt;stdio.h&gt;</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="preprocessor">#include &lt;string.h&gt;</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="preprocessor">#include &lt;rt_sys.h&gt;</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="preprocessor">#include &lt;rt_misc.h&gt;</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="preprocessor">#include &quot;SEGGER_RTT.h&quot;</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="comment">*</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="comment">* #pragmas</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="comment">*</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="comment">**********************************************************************</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="comment">*/</span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="preprocessor">#if __ARMCC_VERSION &lt; 6000000</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="preprocessor">#pragma import(__use_no_semihosting)</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="preprocessor">#ifdef _MICROLIB</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="preprocessor"> #pragma import(__use_full_stdio)</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="comment">*</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="comment">* Defines non-configurable</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="comment">*</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="comment">**********************************************************************</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> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="comment">/* Standard IO device handles - arbitrary, but any real file system handles must be</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="comment"> less than 0x8000. */</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="preprocessor">#define STDIN 0x8001 </span><span class="comment">// Standard Input Stream</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="preprocessor">#define STDOUT 0x8002 </span><span class="comment">// Standard Output Stream</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor">#define STDERR 0x8003 </span><span class="comment">// Standard Error Stream</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="comment">*</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="comment">* Public const</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><span class="comment">**********************************************************************</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="preprocessor">#if __ARMCC_VERSION &lt; 5000000</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="comment">//const char __stdin_name[] = &quot;STDIN&quot;;</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="keyword">const</span> <span class="keywordtype">char</span> __stdout_name[] = <span class="stringliteral">&quot;STDOUT&quot;</span>;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="keyword">const</span> <span class="keywordtype">char</span> __stderr_name[] = <span class="stringliteral">&quot;STDERR&quot;</span>;</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="preprocessor">#endif</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"> 105</span><span class="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="comment">*</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="comment">* Public code</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="comment">*</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="comment">**********************************************************************</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="comment">*/</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="comment">*</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="comment">* _ttywrch</span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="comment">*</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span><span class="comment">* Function description:</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="comment">* Outputs a character to the console</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">* Parameters:</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="comment">* c - character to output</span></div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span><span class="comment">* </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="keywordtype">void</span> _ttywrch(<span class="keywordtype">int</span> c) {</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> fputc(c, stdout); <span class="comment">// stdout</span></div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> fflush(stdout);</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> </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">* _sys_open</span></div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span><span class="comment">*</span></div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span><span class="comment">* Function description:</span></div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span><span class="comment">* Opens the device/file in order to do read/write operations</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="comment">* Parameters:</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><span class="comment">* sName - sName of the device/file to open</span></div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span><span class="comment">* OpenMode - This parameter is currently ignored</span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span><span class="comment">* </span></div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="comment">* Return value:</span></div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="comment">* != 0 - Handle to the object to open, otherwise </span></div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="comment">* == 0 -&quot;device&quot; is not handled by this module</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="comment">*/</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span>FILEHANDLE _sys_open(<span class="keyword">const</span> <span class="keywordtype">char</span> * sName, <span class="keywordtype">int</span> OpenMode) {</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> (void)OpenMode;</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="comment">// Register standard Input Output devices.</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">if</span> (strcmp(sName, __stdout_name) == 0) {</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">return</span> (STDOUT);</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(sName, __stderr_name) == 0) {</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">return</span> (STDERR);</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> } <span class="keywordflow">else</span></div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">return</span> (0); <span class="comment">// Not implemented</span></div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span>}</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> </div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span><span class="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span><span class="comment">*</span></div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="comment">* _sys_close</span></div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span><span class="comment">*</span></div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span><span class="comment">* Function description:</span></div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span><span class="comment">* Closes the handle to the open device/file</span></div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span><span class="comment">*</span></div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span><span class="comment">* Parameters:</span></div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span><span class="comment">* hFile - Handle to a file opened via _sys_open</span></div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span><span class="comment">* </span></div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span><span class="comment">* Return value:</span></div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span><span class="comment">* 0 - device/file closed</span></div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span><span class="comment">*</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><span class="keywordtype">int</span> _sys_close(FILEHANDLE hFile) {</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> (void)hFile;</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">return</span> 0; <span class="comment">// Not implemented</span></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> </div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span><span class="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span><span class="comment">*</span></div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span><span class="comment">* _sys_write</span></div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span><span class="comment">*</span></div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span><span class="comment">* Function description:</span></div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span><span class="comment">* Writes the data to an open handle.</span></div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span><span class="comment">* Currently this function only outputs data to the console</span></div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span><span class="comment">*</span></div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span><span class="comment">* Parameters:</span></div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span><span class="comment">* hFile - Handle to a file opened via _sys_open</span></div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span><span class="comment">* pBuffer - Pointer to the data that shall be written</span></div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span><span class="comment">* NumBytes - Number of bytes to write</span></div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span><span class="comment">* Mode - The Mode that shall be used</span></div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span><span class="comment">* </span></div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span><span class="comment">* Return value:</span></div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span><span class="comment">* Number of bytes *not* written to the file/device</span></div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span><span class="comment">*</span></div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span><span class="comment">*/</span></div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span><span class="keywordtype">int</span> _sys_write(FILEHANDLE hFile, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * pBuffer, <span class="keywordtype">unsigned</span> NumBytes, <span class="keywordtype">int</span> Mode) {</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keywordtype">int</span> r = 0;</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> </div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> (void)Mode;</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">if</span> (hFile == STDOUT) {</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> SEGGER_RTT_Write(0, (<span class="keyword">const</span> <span class="keywordtype">char</span>*)pBuffer, NumBytes);</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">return</span> 0;</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> <span class="keywordflow">return</span> r;</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><span class="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span><span class="comment">*</span></div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span><span class="comment">* _sys_read</span></div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span><span class="comment">*</span></div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span><span class="comment">* Function description:</span></div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span><span class="comment">* Reads data from an open handle.</span></div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span><span class="comment">* Currently this modules does nothing.</span></div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span><span class="comment">*</span></div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span><span class="comment">* Parameters:</span></div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span><span class="comment">* hFile - Handle to a file opened via _sys_open</span></div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span><span class="comment">* pBuffer - Pointer to buffer to store the read data</span></div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span><span class="comment">* NumBytes - Number of bytes to read</span></div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span><span class="comment">* Mode - The Mode that shall be used</span></div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span><span class="comment">* </span></div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span><span class="comment">* Return value:</span></div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span><span class="comment">* Number of bytes read from the file/device</span></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="keywordtype">int</span> _sys_read(FILEHANDLE hFile, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * pBuffer, <span class="keywordtype">unsigned</span> NumBytes, <span class="keywordtype">int</span> Mode) {</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> (void)hFile;</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> (void)pBuffer;</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> (void)NumBytes;</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> (void)Mode;</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">return</span> (0); <span class="comment">// Not implemented</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> </div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span><span class="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span><span class="comment">*</span></div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span><span class="comment">* _sys_istty</span></div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span><span class="comment">*</span></div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span><span class="comment">* Function description:</span></div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span><span class="comment">* This function shall return whether the opened file </span></div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span><span class="comment">* is a console device or not.</span></div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span><span class="comment">*</span></div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span><span class="comment">* Parameters:</span></div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span><span class="comment">* hFile - Handle to a file opened via _sys_open</span></div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span><span class="comment">* </span></div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span><span class="comment">* Return value:</span></div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span><span class="comment">* 1 - Device is a console</span></div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span><span class="comment">* 0 - Device is not a console</span></div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span><span class="comment">*</span></div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span><span class="comment">*/</span></div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span><span class="keywordtype">int</span> _sys_istty(FILEHANDLE hFile) {</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">if</span> (hFile &gt; 0x8000) {</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">return</span> (1);</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> }</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="keywordflow">return</span> (0); <span class="comment">// Not implemented</span></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> </div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span><span class="comment">/*********************************************************************</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><span class="comment">* _sys_seek</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">* Function description:</span></div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span><span class="comment">* Seeks via the file to a specific position</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">* Parameters:</span></div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span><span class="comment">* hFile - Handle to a file opened via _sys_open</span></div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span><span class="comment">* Pos - </span></div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span><span class="comment">* </span></div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span><span class="comment">* Return value:</span></div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span><span class="comment">* int - </span></div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span><span class="comment">*</span></div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span><span class="comment">*/</span></div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span><span class="keywordtype">int</span> _sys_seek(FILEHANDLE hFile, <span class="keywordtype">long</span> Pos) {</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> (void)hFile;</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> (void)Pos;</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <span class="keywordflow">return</span> (0); <span class="comment">// Not implemented</span></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">/*********************************************************************</span></div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span><span class="comment">*</span></div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span><span class="comment">* _sys_ensure</span></div>
<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="comment">* Function description:</span></div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span><span class="comment">* </span></div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span><span class="comment">*</span></div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span><span class="comment">* Parameters:</span></div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span><span class="comment">* hFile - Handle to a file opened via _sys_open</span></div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span><span class="comment">* </span></div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span><span class="comment">* Return value:</span></div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span><span class="comment">* int - </span></div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span><span class="comment">*</span></div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span><span class="comment">*/</span></div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span><span class="keywordtype">int</span> _sys_ensure(FILEHANDLE hFile) {</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> (void)hFile;</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> <span class="keywordflow">return</span> (-1); <span class="comment">// Not implemented</span></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> </div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span><span class="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span><span class="comment">*</span></div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span><span class="comment">* _sys_flen</span></div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span><span class="comment">*</span></div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span><span class="comment">* Function description:</span></div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span><span class="comment">* Returns the length of the opened file handle</span></div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span><span class="comment">*</span></div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span><span class="comment">* Parameters:</span></div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span><span class="comment">* hFile - Handle to a file opened via _sys_open</span></div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span><span class="comment">* </span></div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span><span class="comment">* Return value:</span></div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span><span class="comment">* Length of the file</span></div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span><span class="comment">*</span></div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span><span class="comment">*/</span></div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span><span class="keywordtype">long</span> _sys_flen(FILEHANDLE hFile) {</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> (void)hFile;</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">return</span> (0); <span class="comment">// Not implemented</span></div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span>}</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="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span><span class="comment">*</span></div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span><span class="comment">* _sys_tmpnam</span></div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span><span class="comment">*</span></div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span><span class="comment">* Function description:</span></div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span><span class="comment">* This function converts the file number fileno for a temporary </span></div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span><span class="comment">* file to a unique filename, for example, tmp0001.</span></div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span><span class="comment">*</span></div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span><span class="comment">* Parameters:</span></div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span><span class="comment">* pBuffer - Pointer to a buffer to store the name</span></div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span><span class="comment">* FileNum - file number to convert</span></div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span><span class="comment">* MaxLen - Size of the buffer</span></div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span><span class="comment">* </span></div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span><span class="comment">* Return value:</span></div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span><span class="comment">* 1 - Error</span></div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span><span class="comment">* 0 - Success </span></div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span><span class="comment">*</span></div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span><span class="comment">*/</span></div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span><span class="keywordtype">int</span> _sys_tmpnam2(<span class="keywordtype">char</span> * pBuffer, <span class="keywordtype">int</span> FileNum, <span class="keywordtype">unsigned</span> MaxLen) {</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> (void)pBuffer;</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> (void)FileNum;</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> (void)MaxLen;</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> <span class="keywordflow">return</span> (1); <span class="comment">// Not implemented</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> </div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span><span class="comment">/*********************************************************************</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">* _sys_command_string</span></div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span><span class="comment">*</span></div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span><span class="comment">* Function description:</span></div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span><span class="comment">* This function shall execute a system command.</span></div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span><span class="comment">*</span></div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span><span class="comment">* Parameters:</span></div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span><span class="comment">* cmd - Pointer to the command string</span></div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span><span class="comment">* len - Length of the string</span></div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span><span class="comment">* </span></div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span><span class="comment">* Return value:</span></div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span><span class="comment">* == NULL - Command was not successfully executed</span></div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span><span class="comment">* == sCmd - Command was passed successfully</span></div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span><span class="comment">*</span></div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span><span class="comment">*/</span></div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span><span class="keywordtype">char</span> * _sys_command_string(<span class="keywordtype">char</span> * cmd, <span class="keywordtype">int</span> len) {</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> (void)len;</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> <span class="keywordflow">return</span> cmd; <span class="comment">// Not implemented</span></div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span>}</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> </div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span><span class="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span><span class="comment">*</span></div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span><span class="comment">* _sys_exit</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><span class="comment">* Function description:</span></div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span><span class="comment">* This function is called when the application returns from main</span></div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span><span class="comment">*</span></div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span><span class="comment">* Parameters:</span></div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span><span class="comment">* ReturnCode - Return code from the main function</span></div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span><span class="comment">* </span></div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span><span class="comment">*</span></div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span><span class="comment">*/</span></div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span><span class="keywordtype">void</span> _sys_exit(<span class="keywordtype">int</span> ReturnCode) {</div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> (void)ReturnCode;</div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> <span class="keywordflow">while</span> (1); <span class="comment">// Not implemented</span></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> </div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span><span class="preprocessor">#if __ARMCC_VERSION &gt;= 5000000</span></div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span><span class="comment">/*********************************************************************</span></div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span><span class="comment">*</span></div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span><span class="comment">* stdout_putchar</span></div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span><span class="comment">*</span></div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span><span class="comment">* Function description:</span></div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span><span class="comment">* Put a character to the stdout</span></div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span><span class="comment">*</span></div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span><span class="comment">* Parameters:</span></div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span><span class="comment">* ch - Character to output</span></div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span><span class="comment">* </span></div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span><span class="comment">*</span></div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span><span class="comment">*/</span></div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span><span class="keywordtype">int</span> stdout_putchar(<span class="keywordtype">int</span> ch) {</div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> (void)ch;</div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> <span class="keywordflow">return</span> ch; <span class="comment">// Not implemented</span></div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span>}</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> </div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span><span class="comment">/*************************** End of file ****************************/</span></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_7de012165f681bf20d3995ae88f6551e.html">RTT</a></li><li class="navelem"><b>SEGGER_RTT_Syscalls_KEIL.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>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,127 @@
<!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: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('annotated.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">Class List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_gen_optimizer__t.html" target="_self">GenOptimizer_t</a></td><td class="desc"></td></tr>
<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_r_t_t___flash_header__t.html" target="_self">RTT_FlashHeader_t</a></td><td class="desc">Структура RTT, которая будет положена в Flash </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_s_e_g_g_e_r___r_t_t___b_u_f_f_e_r___d_o_w_n.html" target="_self">SEGGER_RTT_BUFFER_DOWN</a></td><td class="desc"></td></tr>
<tr id="row_3_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_s_e_g_g_e_r___r_t_t___b_u_f_f_e_r___u_p.html" target="_self">SEGGER_RTT_BUFFER_UP</a></td><td class="desc"></td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_s_e_g_g_e_r___r_t_t___c_b.html" target="_self">SEGGER_RTT_CB</a></td><td class="desc"></td></tr>
<tr id="row_5_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_s_e_g_g_e_r___r_t_t___p_r_i_n_t_f___d_e_s_c.html" target="_self">SEGGER_RTT_PRINTF_DESC</a></td><td class="desc"></td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionuint16___bit_type_def.html" target="_self">uint16_BitTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_7_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionuint32___bit_type_def.html" target="_self">uint32_BitTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionuint64___bit_type_def.html" target="_self">uint64_BitTypeDef</a></td><td class="desc"></td></tr>
<tr id="row_9_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionuint8___bit_type_def.html" target="_self">uint8_BitTypeDef</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,13 @@
var annotated_dup =
[
[ "GenOptimizer_t", "struct_gen_optimizer__t.html", null ],
[ "RTT_FlashHeader_t", "struct_r_t_t___flash_header__t.html", "struct_r_t_t___flash_header__t" ],
[ "SEGGER_RTT_BUFFER_DOWN", "struct_s_e_g_g_e_r___r_t_t___b_u_f_f_e_r___d_o_w_n.html", null ],
[ "SEGGER_RTT_BUFFER_UP", "struct_s_e_g_g_e_r___r_t_t___b_u_f_f_e_r___u_p.html", null ],
[ "SEGGER_RTT_CB", "struct_s_e_g_g_e_r___r_t_t___c_b.html", null ],
[ "SEGGER_RTT_PRINTF_DESC", "struct_s_e_g_g_e_r___r_t_t___p_r_i_n_t_f___d_e_s_c.html", null ],
[ "uint16_BitTypeDef", "unionuint16___bit_type_def.html", null ],
[ "uint32_BitTypeDef", "unionuint32___bit_type_def.html", null ],
[ "uint64_BitTypeDef", "unionuint64___bit_type_def.html", null ],
[ "uint8_BitTypeDef", "unionuint8___bit_type_def.html", null ]
];

View File

@@ -0,0 +1,160 @@
<!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/STM_Libs/STM32_ExtendedLibs/MyLibs/Inc/bench_time.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('bench__time_8h.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">bench_time.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Заголовочный файл для измерения времени между событиями
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>&quot;</code><br />
<code>#include &lt;stdint.h&gt;</code><br />
</div><div class="textblock"><div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Include dependency graph for bench_time.h:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="bench__time_8h__incl.png" border="0" usemap="#a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m___libs_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_m___libs_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_m___libs_2_s_t_m32___extended_libs_2_my_libs_2_inc_2bench__time_8h">
<area shape="rect" title="Заголовочный файл для измерения времени между событиями" alt="" coords="23,5,207,64"/>
<area shape="rect" href="mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="10,112,113,139"/>
<area shape="poly" title=" " alt="" coords="100,66,79,100,75,97,95,63"/>
<area shape="rect" title=" " alt="" coords="137,112,202,139"/>
<area shape="poly" title=" " alt="" coords="135,63,156,97,151,100,130,66"/>
<area shape="rect" title=" " alt="" coords="5,187,118,213"/>
<area shape="poly" title=" " alt="" coords="64,139,64,171,59,171,59,139"/>
</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-define-members" class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga31b9f2267c562f3ceb533606daf0b789" id="r_ga31b9f2267c562f3ceb533606daf0b789"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga31b9f2267c562f3ceb533606daf0b789">BenchTime_Init</a>()</td></tr>
<tr class="memitem:ga89ff6c06fc21fb2bbfbf8cbf863316f1" id="r_ga89ff6c06fc21fb2bbfbf8cbf863316f1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga89ff6c06fc21fb2bbfbf8cbf863316f1">BenchTime_Start</a>(channel, ticks, tick_period)</td></tr>
<tr class="memitem:gadddc120d43a10fad50fbdeeab8d086b5" id="r_gadddc120d43a10fad50fbdeeab8d086b5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#gadddc120d43a10fad50fbdeeab8d086b5">BenchTime_End</a>(channel, ticks)</td></tr>
<tr class="memitem:ga91e352219014c7ea5507bbbe4b15912d" id="r_ga91e352219014c7ea5507bbbe4b15912d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga91e352219014c7ea5507bbbe4b15912d">BenchTime_GetMin</a>(channel)</td></tr>
<tr class="memitem:gab8103362e89bad95d965ac668284065c" id="r_gab8103362e89bad95d965ac668284065c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#gab8103362e89bad95d965ac668284065c">BenchTime_GetMax</a>(channel)</td></tr>
<tr class="memitem:ga9f82f5ed8cfae31292dc3dca41471dd5" id="r_ga9f82f5ed8cfae31292dc3dca41471dd5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga9f82f5ed8cfae31292dc3dca41471dd5">BenchTime_GetAverage</a>(channel)</td></tr>
<tr class="memitem:gaafbca7155cfc97b68428da2b0b1200ef" id="r_gaafbca7155cfc97b68428da2b0b1200ef"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#gaafbca7155cfc97b68428da2b0b1200ef">BenchTime_GetCount</a>(channel)</td></tr>
<tr class="memitem:ga9911aa13a8fa67c35a261d1cb3dc11e7" id="r_ga9911aa13a8fa67c35a261d1cb3dc11e7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga9911aa13a8fa67c35a261d1cb3dc11e7">BenchTime_GetLast</a>(channel)</td></tr>
<tr class="memitem:ga09b9a6ef9b60605fc0015f6b379d8420" id="r_ga09b9a6ef9b60605fc0015f6b379d8420"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_e_n_c_h___t_i_m_e.html#ga09b9a6ef9b60605fc0015f6b379d8420">BenchTime_ResetStats</a>(channel)</td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Заголовочный файл для измерения времени между событиями </p>
<p class="definition">Definition in file <a class="el" href="bench__time_8h_source.html">bench_time.h</a>.</p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<div id="page-nav" class="page-nav-panel">
<div id="page-nav-resize-handle"></div>
<div id="page-nav-tree">
<div id="page-nav-contents">
</div><!-- page-nav-contents -->
</div><!-- page-nav-tree -->
</div><!-- page-nav -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a href="dir_d4b2573a0c19afb61452cc3d00967af1.html">MyLibs</a></li><li class="navelem"><a href="dir_8eb68c124db7670c3cb56141b10519ea.html">Inc</a></li><li class="navelem"><a href="bench__time_8h.html">bench_time.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,9 @@
<map id="E:/.WORK/STM32/STM_Libs/STM32_ExtendedLibs/MyLibs/Inc/bench_time.h" name="E:/.WORK/STM32/STM_Libs/STM32_ExtendedLibs/MyLibs/Inc/bench_time.h">
<area shape="rect" id="Node000001" title="Заголовочный файл для измерения времени между событиями" alt="" coords="23,5,207,64"/>
<area shape="rect" id="Node000002" href="$mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="10,112,113,139"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="100,66,79,100,75,97,95,63"/>
<area shape="rect" id="Node000004" title=" " alt="" coords="137,112,202,139"/>
<area shape="poly" id="edge3_Node000001_Node000004" title=" " alt="" coords="135,63,156,97,151,100,130,66"/>
<area shape="rect" id="Node000003" title=" " alt="" coords="5,187,118,213"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="64,139,64,171,59,171,59,139"/>
</map>

View File

@@ -0,0 +1 @@
042be7adef0103a8f71e0ad6e3dadf51

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,163 @@
<!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/STM_Libs/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>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('bit__access_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">bit_access.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Заголочный файл для дефайнов битового доступа.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>&quot;</code><br />
</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 bit_access.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="bit__access_8h__incl.png" border="0" usemap="#a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m___libs_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_m___libs_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_m___libs_2_s_t_m32___extended_libs_2_my_libs_2_inc_2bit__access_8h">
<area shape="rect" title="Заголочный файл для дефайнов битового доступа." alt="" coords="5,5,190,64"/>
<area shape="rect" href="mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="46,112,149,139"/>
<area shape="poly" title=" " alt="" coords="100,64,100,96,95,96,95,64"/>
<area shape="rect" title=" " alt="" coords="41,187,154,213"/>
<area shape="poly" title=" " alt="" coords="100,139,100,171,95,171,95,139"/>
</map>
</div>
</div>
<p><a href="bit__access_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:uint8_5FBitTypeDef" id="r_uint8_5FBitTypeDef"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionuint8___bit_type_def.html">uint8_BitTypeDef</a></td></tr>
<tr class="memitem:uint16_5FBitTypeDef" id="r_uint16_5FBitTypeDef"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionuint16___bit_type_def.html">uint16_BitTypeDef</a></td></tr>
<tr class="memitem:uint32_5FBitTypeDef" id="r_uint32_5FBitTypeDef"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionuint32___bit_type_def.html">uint32_BitTypeDef</a></td></tr>
<tr class="memitem:uint64_5FBitTypeDef" id="r_uint64_5FBitTypeDef"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionuint64___bit_type_def.html">uint64_BitTypeDef</a></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:ga57dc3bb3472a66fc92312f89d42d2396" id="r_ga57dc3bb3472a66fc92312f89d42d2396"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga57dc3bb3472a66fc92312f89d42d2396">uint8_bit</a>(_uint8_, _bit_)</td></tr>
<tr class="memdesc:ga57dc3bb3472a66fc92312f89d42d2396"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получить n-й бит из uint8_t. <br /></td></tr>
<tr class="memitem:ga6a122b536ad99ae611c8cf01437af086" id="r_ga6a122b536ad99ae611c8cf01437af086"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga6a122b536ad99ae611c8cf01437af086">uint16_bit</a>(_uint8_, _bit_)</td></tr>
<tr class="memdesc:ga6a122b536ad99ae611c8cf01437af086"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получить n-й бит из uint16_t. <br /></td></tr>
<tr class="memitem:gafaa2080168b1b6f7281e8bfabab022d1" id="r_gafaa2080168b1b6f7281e8bfabab022d1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#gafaa2080168b1b6f7281e8bfabab022d1">uint32_bit</a>(_uint8_, _bit_)</td></tr>
<tr class="memdesc:gafaa2080168b1b6f7281e8bfabab022d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получить n-й бит из uint32_t. <br /></td></tr>
<tr class="memitem:ga47eb69ce9330a1c73fe8031240f02f0a" id="r_ga47eb69ce9330a1c73fe8031240f02f0a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga47eb69ce9330a1c73fe8031240f02f0a">uint64_bit</a>(_uint8_, _bit_)</td></tr>
<tr class="memdesc:ga47eb69ce9330a1c73fe8031240f02f0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Получить n-й бит из uint64_t. <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="bit__access_8h_source.html">bit_access.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="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>
</body>
</html>

View File

@@ -0,0 +1,7 @@
var bit__access_8h =
[
[ "uint8_bit", "group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga57dc3bb3472a66fc92312f89d42d2396", null ],
[ "uint16_bit", "group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga6a122b536ad99ae611c8cf01437af086", null ],
[ "uint32_bit", "group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#gafaa2080168b1b6f7281e8bfabab022d1", null ],
[ "uint64_bit", "group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga47eb69ce9330a1c73fe8031240f02f0a", null ]
];

View File

@@ -0,0 +1,7 @@
<map id="E:/.WORK/STM32/STM_Libs/STM32_ExtendedLibs/MyLibs/Inc/bit_access.h" name="E:/.WORK/STM32/STM_Libs/STM32_ExtendedLibs/MyLibs/Inc/bit_access.h">
<area shape="rect" id="Node000001" title="Заголочный файл для дефайнов битового доступа." alt="" coords="5,5,190,64"/>
<area shape="rect" id="Node000002" href="$mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="46,112,149,139"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="100,64,100,96,95,96,95,64"/>
<area shape="rect" id="Node000003" title=" " alt="" coords="41,187,154,213"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="100,139,100,171,95,171,95,139"/>
</map>

View File

@@ -0,0 +1 @@
4026b3a01780e5dc9dda8421c6c9f225

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -0,0 +1,286 @@
<!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/STM_Libs/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>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('bit__access_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">bit_access.h</div></div>
</div><!--header-->
<div class="contents">
<a href="bit__access_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 bit_access.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">* @defgroup BIT_ACCESS_DEFINES Bit access defines</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">* @ingroup MYLIBS_TOOLS </span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment">* @brief Макросы и typedef&#39;ы для работы с битами в unsigned типах.</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">- @ref uint8_bit</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment">- @ref uint16_bit</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment">- @ref uint32_bit</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">- @ref uint64_bit</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"> Пример верного использования:</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"> @code</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> uint8_t val = 0x05;</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> uint8_t b2 = uint8_bit(val, 2); // Получить бит 2</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> uint8_bit(val, 6) = 1; // Записать бит 6</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment"> @endcode</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"> @code</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment"> uint8_t i = 2;</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment"> uint8_bit(val, i); // Не сработает!</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment"> @endcode</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment">- Макросы возвращают 0 или 1.</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment">- Доступ реализован через приведение к `union` с битовыми полями, поэтому это</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">* @{</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">#ifndef __BIT_ACCESS_H_</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor">#define __BIT_ACCESS_H_</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor">#include &quot;<a class="code" href="mylibs__defs_8h.html">mylibs_defs.h</a>&quot;</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="foldopen" id="foldopen00039" data-start="{" data-end="};">
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="unionuint8___bit_type_def.html"> 39</a></span><span class="keyword">typedef</span> <span class="keyword">union</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> uint8_t all;</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">struct</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="keywordtype">unsigned</span> bit0:1;</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">unsigned</span> bit1:1;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordtype">unsigned</span> bit2:1;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">unsigned</span> bit3:1;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">unsigned</span> bit4:1;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">unsigned</span> bit5:1;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">unsigned</span> bit6:1;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">unsigned</span> bit7:1;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> }bit;</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span>}<a class="code hl_union" href="unionuint8___bit_type_def.html">uint8_BitTypeDef</a>;</div>
</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="foldopen" id="foldopen00055" data-start="{" data-end="};">
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="unionuint16___bit_type_def.html"> 55</a></span><span class="keyword">typedef</span> <span class="keyword">union</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> uint16_t all;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">struct</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> {</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">unsigned</span> bit0:1;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">unsigned</span> bit1:1;</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">unsigned</span> bit2:1;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordtype">unsigned</span> bit3:1;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">unsigned</span> bit4:1;</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">unsigned</span> bit5:1;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">unsigned</span> bit6:1;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">unsigned</span> bit7:1;</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">unsigned</span> bit8:1;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">unsigned</span> bit9:1;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">unsigned</span> bit10:1;</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">unsigned</span> bit11:1;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordtype">unsigned</span> bit12:1;</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">unsigned</span> bit13:1;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">unsigned</span> bit14:1;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">unsigned</span> bit15:1;</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> }bit;</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span>}<a class="code hl_union" href="unionuint16___bit_type_def.html">uint16_BitTypeDef</a>;</div>
</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> </div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
<div class="foldopen" id="foldopen00080" data-start="{" data-end="};">
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="unionuint32___bit_type_def.html"> 80</a></span><span class="keyword">typedef</span> <span class="keyword">union</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span>{</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> uint32_t all;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">struct</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> {</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">unsigned</span> bit0:1; <span class="keywordtype">unsigned</span> bit1:1; <span class="keywordtype">unsigned</span> bit2:1; <span class="keywordtype">unsigned</span> bit3:1;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">unsigned</span> bit4:1; <span class="keywordtype">unsigned</span> bit5:1; <span class="keywordtype">unsigned</span> bit6:1; <span class="keywordtype">unsigned</span> bit7:1;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">unsigned</span> bit8:1; <span class="keywordtype">unsigned</span> bit9:1; <span class="keywordtype">unsigned</span> bit10:1; <span class="keywordtype">unsigned</span> bit11:1;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">unsigned</span> bit12:1; <span class="keywordtype">unsigned</span> bit13:1; <span class="keywordtype">unsigned</span> bit14:1; <span class="keywordtype">unsigned</span> bit15:1;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keywordtype">unsigned</span> bit16:1; <span class="keywordtype">unsigned</span> bit17:1; <span class="keywordtype">unsigned</span> bit18:1; <span class="keywordtype">unsigned</span> bit19:1;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">unsigned</span> bit20:1; <span class="keywordtype">unsigned</span> bit21:1; <span class="keywordtype">unsigned</span> bit22:1; <span class="keywordtype">unsigned</span> bit23:1;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">unsigned</span> bit24:1; <span class="keywordtype">unsigned</span> bit25:1; <span class="keywordtype">unsigned</span> bit26:1; <span class="keywordtype">unsigned</span> bit27:1;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">unsigned</span> bit28:1; <span class="keywordtype">unsigned</span> bit29:1; <span class="keywordtype">unsigned</span> bit30:1; <span class="keywordtype">unsigned</span> bit31:1;</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> }bit;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span>}<a class="code hl_union" href="unionuint32___bit_type_def.html">uint32_BitTypeDef</a>;</div>
</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="foldopen" id="foldopen00097" data-start="{" data-end="};">
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="unionuint64___bit_type_def.html"> 97</a></span><span class="keyword">typedef</span> <span class="keyword">union</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span>{</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> uint64_t all;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">struct</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> {</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">unsigned</span> bit0:1; <span class="keywordtype">unsigned</span> bit1:1; <span class="keywordtype">unsigned</span> bit2:1; <span class="keywordtype">unsigned</span> bit3:1;</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">unsigned</span> bit4:1; <span class="keywordtype">unsigned</span> bit5:1; <span class="keywordtype">unsigned</span> bit6:1; <span class="keywordtype">unsigned</span> bit7:1;</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">unsigned</span> bit8:1; <span class="keywordtype">unsigned</span> bit9:1; <span class="keywordtype">unsigned</span> bit10:1; <span class="keywordtype">unsigned</span> bit11:1;</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">unsigned</span> bit12:1; <span class="keywordtype">unsigned</span> bit13:1; <span class="keywordtype">unsigned</span> bit14:1; <span class="keywordtype">unsigned</span> bit15:1;</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">unsigned</span> bit16:1; <span class="keywordtype">unsigned</span> bit17:1; <span class="keywordtype">unsigned</span> bit18:1; <span class="keywordtype">unsigned</span> bit19:1;</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">unsigned</span> bit20:1; <span class="keywordtype">unsigned</span> bit21:1; <span class="keywordtype">unsigned</span> bit22:1; <span class="keywordtype">unsigned</span> bit23:1;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">unsigned</span> bit24:1; <span class="keywordtype">unsigned</span> bit25:1; <span class="keywordtype">unsigned</span> bit26:1; <span class="keywordtype">unsigned</span> bit27:1;</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keywordtype">unsigned</span> bit28:1; <span class="keywordtype">unsigned</span> bit29:1; <span class="keywordtype">unsigned</span> bit30:1; <span class="keywordtype">unsigned</span> bit31:1;</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">unsigned</span> bit32:1; <span class="keywordtype">unsigned</span> bit33:1; <span class="keywordtype">unsigned</span> bit34:1; <span class="keywordtype">unsigned</span> bit35:1;</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">unsigned</span> bit36:1; <span class="keywordtype">unsigned</span> bit37:1; <span class="keywordtype">unsigned</span> bit38:1; <span class="keywordtype">unsigned</span> bit39:1;</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">unsigned</span> bit40:1; <span class="keywordtype">unsigned</span> bit41:1; <span class="keywordtype">unsigned</span> bit42:1; <span class="keywordtype">unsigned</span> bit43:1;</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">unsigned</span> bit44:1; <span class="keywordtype">unsigned</span> bit45:1; <span class="keywordtype">unsigned</span> bit46:1; <span class="keywordtype">unsigned</span> bit47:1;</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">unsigned</span> bit48:1; <span class="keywordtype">unsigned</span> bit49:1; <span class="keywordtype">unsigned</span> bit50:1; <span class="keywordtype">unsigned</span> bit51:1;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">unsigned</span> bit52:1; <span class="keywordtype">unsigned</span> bit53:1; <span class="keywordtype">unsigned</span> bit54:1; <span class="keywordtype">unsigned</span> bit55:1;</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">unsigned</span> bit56:1; <span class="keywordtype">unsigned</span> bit57:1; <span class="keywordtype">unsigned</span> bit58:1; <span class="keywordtype">unsigned</span> bit59:1;</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">unsigned</span> bit60:1; <span class="keywordtype">unsigned</span> bit61:1; <span class="keywordtype">unsigned</span> bit62:1; <span class="keywordtype">unsigned</span> bit63:1;</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> }bit;</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span>}<a class="code hl_union" href="unionuint64___bit_type_def.html">uint64_BitTypeDef</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><span class="comment"></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"> * @brief Получить n-й бит из uint8_t</span></div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="comment"> * @param _uint8_ Переменная типа uint8_t</span></div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span><span class="comment"> * @param _bit_ Константный номер бита (0..7)</span></div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span><span class="comment"> * @return Значение выбранного бита (0 или 1)</span></div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="comment"> * @note Индекс бита должен быть известен на этапе компиляции!</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"><a class="line" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga57dc3bb3472a66fc92312f89d42d2396"> 129</a></span><span class="preprocessor">#define uint8_bit(_uint8_, _bit_) (*(uint8_BitTypeDef *)(&amp;(_uint8_))).bit.bit##_bit_</span><span class="comment"></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="comment"> * @brief Получить n-й бит из uint16_t</span></div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span><span class="comment"> * @param _uint16_ Переменная типа uint16_t</span></div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span><span class="comment"> * @param _bit_ Константный номер бита (0..15)</span></div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span><span class="comment"> * @return Значение выбранного бита (0 или 1)</span></div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="comment"> * @note Индекс бита должен быть известен на этапе компиляции!</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span><span class="comment"> */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"><a class="line" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga6a122b536ad99ae611c8cf01437af086"> 137</a></span><span class="preprocessor">#define uint16_bit(_uint8_, _bit_) (*(uint16_BitTypeDef *)(&amp;(_uint8_))).bit.bit##_bit_</span><span class="comment"></span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span><span class="comment">/**</span></div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="comment"> * @brief Получить n-й бит из uint32_t</span></div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="comment"> * @param _uint32_ Переменная типа uint32_t</span></div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="comment"> * @param _bit_ Константный номер бита (0..31)</span></div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="comment"> * @return Значение выбранного бита (0 или 1)</span></div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="comment"> * @note Индекс бита должен быть известен на этапе компиляции!</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span><span class="comment"> */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"><a class="line" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#gafaa2080168b1b6f7281e8bfabab022d1"> 145</a></span><span class="preprocessor">#define uint32_bit(_uint8_, _bit_) (*(uint32_BitTypeDef *)(&amp;(_uint8_))).bit.bit##_bit_</span><span class="comment"></span></div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span><span class="comment">/**</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span><span class="comment"> * @brief Получить n-й бит из uint64_t</span></div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span><span class="comment"> * @param _uint64_ Переменная типа uint64_t</span></div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span><span class="comment"> * @param _bit_ Константный номер бита (0..63)</span></div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span><span class="comment"> * @return Значение выбранного бита (0 или 1)</span></div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span><span class="comment"> * @note Индекс бита должен быть известен на этапе компиляции!</span></div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span><span class="comment"> */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga47eb69ce9330a1c73fe8031240f02f0a"> 153</a></span><span class="preprocessor">#define uint64_bit(_uint8_, _bit_) (*(uint64_BitTypeDef *)(&amp;(_uint8_))).bit.bit##_bit_</span></div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> </div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span><span class="preprocessor">#endif </span><span class="comment">//__BIT_ACCESS_H_ </span></div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span><span class="comment"></span> </div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="comment">/** BIT_ACCESS_DEFINES</span></div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span><span class="comment"> * @}</span></div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span><span class="comment"> */</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="aunionuint16___bit_type_def_html"><div class="ttname"><a href="unionuint16___bit_type_def.html">uint16_BitTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="#l00055">bit_access.h:56</a></div></div>
<div class="ttc" id="aunionuint32___bit_type_def_html"><div class="ttname"><a href="unionuint32___bit_type_def.html">uint32_BitTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="#l00080">bit_access.h:81</a></div></div>
<div class="ttc" id="aunionuint64___bit_type_def_html"><div class="ttname"><a href="unionuint64___bit_type_def.html">uint64_BitTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="#l00097">bit_access.h:98</a></div></div>
<div class="ttc" id="aunionuint8___bit_type_def_html"><div class="ttname"><a href="unionuint8___bit_type_def.html">uint8_BitTypeDef</a></div><div class="ttdef"><b>Definition</b> <a href="#l00039">bit_access.h:40</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="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>
</body>
</html>

View File

@@ -0,0 +1,128 @@
<!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: Class Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('classes.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">Class Index</div></div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div>
<div class="classindex">
<dl class="classindex even">
<dt class="alphachar"><a id="letter_G" name="letter_G">G</a></dt>
<dd><a class="el" href="struct_gen_optimizer__t.html">GenOptimizer_t</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_R" name="letter_R">R</a></dt>
<dd><a class="el" href="struct_r_t_t___flash_header__t.html">RTT_FlashHeader_t</a></dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_S" name="letter_S">S</a></dt>
<dd><a class="el" href="struct_s_e_g_g_e_r___r_t_t___b_u_f_f_e_r___d_o_w_n.html">SEGGER_RTT_BUFFER_DOWN</a></dd><dd><a class="el" href="struct_s_e_g_g_e_r___r_t_t___b_u_f_f_e_r___u_p.html">SEGGER_RTT_BUFFER_UP</a></dd><dd><a class="el" href="struct_s_e_g_g_e_r___r_t_t___c_b.html">SEGGER_RTT_CB</a></dd><dd><a class="el" href="struct_s_e_g_g_e_r___r_t_t___p_r_i_n_t_f___d_e_s_c.html">SEGGER_RTT_PRINTF_DESC</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_U" name="letter_U">U</a></dt>
<dd><a class="el" href="unionuint16___bit_type_def.html">uint16_BitTypeDef</a></dd><dd><a class="el" href="unionuint32___bit_type_def.html">uint32_BitTypeDef</a></dd><dd><a class="el" href="unionuint64___bit_type_def.html">uint64_BitTypeDef</a></dd><dd><a class="el" href="unionuint8___bit_type_def.html">uint8_BitTypeDef</a></dd></dl>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,61 @@
/**
The code below is based on the Doxygen Awesome project, see
https://github.com/jothepro/doxygen-awesome-css
MIT License
Copyright (c) 2021 - 2022 jothepro
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
let clipboard_title = "Copy to clipboard"
let clipboard_icon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill="#888" d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>`
let clipboard_successIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"/></svg>`
let clipboard_successDuration = 1000
$(function() {
if(navigator.clipboard) {
const fragments = document.getElementsByClassName("fragment")
for(const fragment of fragments) {
const clipboard_div = document.createElement("div")
clipboard_div.classList.add("clipboard")
clipboard_div.innerHTML = clipboard_icon
clipboard_div.title = clipboard_title
$(clipboard_div).click(function() {
const content = this.parentNode.cloneNode(true)
// filter out line number and folded fragments from file listings
content.querySelectorAll(".lineno, .ttc, .foldclosed").forEach((node) => { node.remove() })
let text = content.textContent
// remove trailing newlines and trailing spaces from empty lines
text = text.replace(/^\s*\n/gm,'\n').replace(/\n*$/,'')
navigator.clipboard.writeText(text);
this.classList.add("success")
this.innerHTML = clipboard_successIcon
window.setTimeout(() => { // switch back to normal icon after timeout
this.classList.remove("success")
this.innerHTML = clipboard_icon
}, clipboard_successDuration);
})
fragment.insertBefore(clipboard_div, fragment.firstChild)
}
}
})

View File

@@ -0,0 +1,58 @@
/*!
Cookie helper functions
Copyright (c) 2023 Dimitri van Heesch
Released under MIT license.
*/
let Cookie = {
cookie_namespace: 'doxygen_',
readSetting(cookie,defVal) {
if (window.chrome) {
const val = localStorage.getItem(this.cookie_namespace+cookie) ||
sessionStorage.getItem(this.cookie_namespace+cookie);
if (val) return val;
} else {
let myCookie = this.cookie_namespace+cookie+"=";
if (document.cookie) {
const index = document.cookie.indexOf(myCookie);
if (index != -1) {
const valStart = index + myCookie.length;
let valEnd = document.cookie.indexOf(";", valStart);
if (valEnd == -1) {
valEnd = document.cookie.length;
}
return document.cookie.substring(valStart, valEnd);
}
}
}
return defVal;
},
writeSetting(cookie,val,days=10*365) { // default days='forever', 0=session cookie, -1=delete
if (window.chrome) {
if (days==0) {
sessionStorage.setItem(this.cookie_namespace+cookie,val);
} else {
localStorage.setItem(this.cookie_namespace+cookie,val);
}
} else {
let date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
const expiration = days!=0 ? "expires="+date.toGMTString()+";" : "";
document.cookie = this.cookie_namespace + cookie + "=" +
val + "; SameSite=Lax;" + expiration + "path=/";
}
},
eraseSetting(cookie) {
if (window.chrome) {
if (localStorage.getItem(this.cookie_namespace+cookie)) {
localStorage.removeItem(this.cookie_namespace+cookie);
} else if (sessionStorage.getItem(this.cookie_namespace+cookie)) {
sessionStorage.removeItem(this.cookie_namespace+cookie);
}
} else {
this.writeSetting(cookie,'',-1);
}
},
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,129 @@
<!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/STM_Libs/STM32_ExtendedLibs/RTT 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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('dir_7de012165f681bf20d3995ae88f6551e.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">RTT Directory Reference</div></div>
</div><!--header-->
<div class="contents">
<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:SEGGER_5FRTT_2Ec" id="r_SEGGER_5FRTT_2Ec"><td class="memItemLeft" align="right" valign="top"><a href="_s_e_g_g_e_r___r_t_t_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>SEGGER_RTT.c</b></td></tr>
<tr class="memitem:SEGGER_5FRTT_2Eh" id="r_SEGGER_5FRTT_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="_s_e_g_g_e_r___r_t_t_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>SEGGER_RTT.h</b></td></tr>
<tr class="memitem:SEGGER_5FRTT_5Fprintf_2Ec" id="r_SEGGER_5FRTT_5Fprintf_2Ec"><td class="memItemLeft" align="right" valign="top"><a href="_s_e_g_g_e_r___r_t_t__printf_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>SEGGER_RTT_printf.c</b></td></tr>
<tr class="memitem:SEGGER_5FRTT_5FSyscalls_5FKEIL_2Ec" id="r_SEGGER_5FRTT_5FSyscalls_5FKEIL_2Ec"><td class="memItemLeft" align="right" valign="top"><a href="_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><b>SEGGER_RTT_Syscalls_KEIL.c</b></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_7de012165f681bf20d3995ae88f6551e.html">RTT</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,7 @@
var dir_7de012165f681bf20d3995ae88f6551e =
[
[ "SEGGER_RTT.c", "_s_e_g_g_e_r___r_t_t_8c_source.html", null ],
[ "SEGGER_RTT.h", "_s_e_g_g_e_r___r_t_t_8h_source.html", null ],
[ "SEGGER_RTT_printf.c", "_s_e_g_g_e_r___r_t_t__printf_8c_source.html", null ],
[ "SEGGER_RTT_Syscalls_KEIL.c", "_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source.html", null ]
];

View File

@@ -0,0 +1,147 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: E:/.WORK/STM32/STM_Libs/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>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('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="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_8eb68c124db7670c3cb56141b10519ea_dep.png" border="0" usemap="#adir__8eb68c124db7670c3cb56141b10519ea__dep" loading="lazy" alt="E:/.WORK/STM32/STM_Libs/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="28,53,68,80"/>
<area shape="rect" href="dir_d4b2573a0c19afb61452cc3d00967af1.html" title="MyLibs" alt="" coords="16,16,80,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:bench_5Ftime_2Eh" id="r_bench_5Ftime_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="bench__time_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bench__time_8h.html">bench_time.h</a></td></tr>
<tr class="memdesc:bench__time_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Заголовочный файл для измерения времени между событиями <br /></td></tr>
<tr class="memitem:bit_5Faccess_2Eh" id="r_bit_5Faccess_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="bit__access_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bit__access_8h.html">bit_access.h</a></td></tr>
<tr class="memdesc:bit__access_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Заголочный файл для дефайнов битового доступа. <br /></td></tr>
<tr class="memitem:gen_5Foptimizer_2Eh" id="r_gen_5Foptimizer_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="gen__optimizer_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gen__optimizer_8h.html">gen_optimizer.h</a></td></tr>
<tr class="memdesc:gen__optimizer_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Заголовочный файл для адаптивного подбора параметров <br /></td></tr>
<tr class="memitem:mylibs_5Fdefs_2Eh" id="r_mylibs_5Fdefs_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="mylibs__defs_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mylibs__defs_8h.html">mylibs_defs.h</a></td></tr>
<tr class="memdesc:mylibs__defs_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Заголочный файл для дефайнов библиотеки MyLibsGeneral. <br /></td></tr>
<tr class="memitem:trace_2Eh" id="r_trace_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="trace_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="trace_8h.html">trace.h</a></td></tr>
<tr class="memdesc:trace_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Заголочный файл для работы с трассировкой. <br /></td></tr>
<tr class="memitem:trackers_2Eh" id="r_trackers_2Eh"><td class="memItemLeft" align="right" valign="top"><a href="trackers_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="trackers_8h.html">trackers.h</a></td></tr>
<tr class="memdesc:trackers_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Заголочный файл для работы с трекерами <a class="el" href="group___t_r_a_c_k_e_r_s.html">Trackers defines</a>. <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_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>

View File

@@ -0,0 +1,9 @@
var dir_8eb68c124db7670c3cb56141b10519ea =
[
[ "bench_time.h", "bench__time_8h.html", null ],
[ "bit_access.h", "bit__access_8h.html", "bit__access_8h" ],
[ "gen_optimizer.h", "gen__optimizer_8h.html", null ],
[ "mylibs_defs.h", "mylibs__defs_8h.html", "mylibs__defs_8h" ],
[ "trace.h", "trace_8h.html", "trace_8h" ],
[ "trackers.h", "trackers_8h.html", "trackers_8h" ]
];

View File

@@ -0,0 +1,4 @@
<map id="E:/.WORK/STM32/STM_Libs/STM32_ExtendedLibs/MyLibs/Inc" name="E:/.WORK/STM32/STM_Libs/STM32_ExtendedLibs/MyLibs/Inc">
<area shape="rect" id="node1" href="dir_8eb68c124db7670c3cb56141b10519ea.html" title="Inc" alt="" coords="28,53,68,80"/>
<area shape="rect" id="clust1" href="dir_d4b2573a0c19afb61452cc3d00967af1.html" title="MyLibs" alt="" coords="16,16,80,91"/>
</map>

View File

@@ -0,0 +1 @@
73fcb3fce434281cb487947e3a365eba

Binary file not shown.

After

Width:  |  Height:  |  Size: 886 B

View File

@@ -0,0 +1,126 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: E:/.WORK/STM32/STM_Libs/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">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('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">
<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>&#160;</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>

View File

@@ -0,0 +1,4 @@
var dir_d4b2573a0c19afb61452cc3d00967af1 =
[
[ "Inc", "dir_8eb68c124db7670c3cb56141b10519ea.html", "dir_8eb68c124db7670c3cb56141b10519ea" ]
];

View File

@@ -0,0 +1,2459 @@
/* The standard CSS for doxygen 1.14.0*/
html {
/* page base colors */
--page-background-color: white;
--page-foreground-color: black;
--page-link-color: #3D578C;
--page-visited-link-color: #3D578C;
--page-external-link-color: #334975;
/* index */
--index-odd-item-bg-color: #F8F9FC;
--index-even-item-bg-color: white;
--index-header-color: black;
--index-separator-color: #A0A0A0;
/* header */
--header-background-color: #F9FAFC;
--header-separator-color: #C4CFE5;
--group-header-separator-color: #D9E0EE;
--group-header-color: #354C7B;
--inherit-header-color: gray;
--footer-foreground-color: #2A3D61;
--footer-logo-width: 75px;
--citation-label-color: #334975;
--glow-color: cyan;
--title-background-color: white;
--title-separator-color: #C4CFE5;
--directory-separator-color: #9CAFD4;
--separator-color: #4A6AAA;
--blockquote-background-color: #F7F8FB;
--blockquote-border-color: #9CAFD4;
--scrollbar-thumb-color: #C4CFE5;
--scrollbar-background-color: #F9FAFC;
--icon-background-color: #728DC1;
--icon-foreground-color: white;
/*
--icon-doc-image: url('doc.svg');
--icon-folder-open-image: url('folderopen.svg');
--icon-folder-closed-image: url('folderclosed.svg');*/
--icon-folder-open-fill-color: #C4CFE5;
--icon-folder-fill-color: #D8DFEE;
--icon-folder-border-color: #4665A2;
--icon-doc-fill-color: #D8DFEE;
--icon-doc-border-color: #4665A2;
/* brief member declaration list */
--memdecl-background-color: #F9FAFC;
--memdecl-separator-color: #DEE4F0;
--memdecl-foreground-color: #555;
--memdecl-template-color: #4665A2;
--memdecl-border-color: #D5DDEC;
/* detailed member list */
--memdef-border-color: #A8B8D9;
--memdef-title-background-color: #E2E8F2;
--memdef-proto-background-color: #EEF1F7;
--memdef-proto-text-color: #253555;
--memdef-doc-background-color: white;
--memdef-param-name-color: #602020;
--memdef-template-color: #4665A2;
/* tables */
--table-cell-border-color: #2D4068;
--table-header-background-color: #374F7F;
--table-header-foreground-color: #FFFFFF;
/* labels */
--label-background-color: #728DC1;
--label-left-top-border-color: #5373B4;
--label-right-bottom-border-color: #C4CFE5;
--label-foreground-color: white;
/** navigation bar/tree/menu */
--nav-background-color: #F9FAFC;
--nav-foreground-color: #364D7C;
--nav-border-color: #C4CFE5;
--nav-breadcrumb-separator-color: #C4CFE5;
--nav-breadcrumb-active-bg: #EEF1F7;
--nav-breadcrumb-color: #354C7B;
--nav-breadcrumb-border-color: #E1E7F2;
--nav-splitbar-bg-color: #DCE2EF;
--nav-splitbar-handle-color: #9CAFD4;
--nav-font-size-level1: 13px;
--nav-font-size-level2: 10px;
--nav-font-size-level3: 9px;
--nav-text-normal-color: #283A5D;
--nav-text-hover-color: white;
--nav-text-active-color: white;
--nav-menu-button-color: #364D7C;
--nav-menu-background-color: white;
--nav-menu-foreground-color: #555555;
--nav-menu-active-bg: #DCE2EF;
--nav-menu-active-color: #9CAFD4;
--nav-menu-toggle-color: rgba(255, 255, 255, 0.5);
--nav-arrow-color: #B6C4DF;
--nav-arrow-selected-color: #90A5CE;
/* sync icon */
--sync-icon-border-color: #C4CFE5;
--sync-icon-background-color: #F9FAFC;
--sync-icon-selected-background-color: #EEF1F7;
--sync-icon-color: #C4CFE5;
--sync-icon-selected-color: #6884BD;
/* table of contents */
--toc-background-color: #F4F6FA;
--toc-border-color: #D8DFEE;
--toc-header-color: #4665A2;
--toc-down-arrow-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='10px' width='5px' fill='grey'><text x='0' y='5' font-size='10'>&%238595;</text></svg>");
/** search field */
--search-background-color: white;
--search-foreground-color: #909090;
--search-active-color: black;
--search-filter-background-color: rgba(255,255,255,.7);
--search-filter-backdrop-filter: blur(4px);
--search-filter-foreground-color: black;
--search-filter-border-color: rgba(150,150,150,.4);
--search-filter-highlight-text-color: white;
--search-filter-highlight-bg-color: #3D578C;
--search-results-foreground-color: #425E97;
--search-results-background-color: rgba(255,255,255,.8);
--search-results-backdrop-filter: blur(4px);
--search-results-border-color: rgba(150,150,150,.4);
--search-box-border-color: #B6C4DF;
--search-close-icon-bg-color: #A0A0A0;
--search-close-icon-fg-color: white;
/** code fragments */
--code-keyword-color: #008000;
--code-type-keyword-color: #604020;
--code-flow-keyword-color: #E08000;
--code-comment-color: #800000;
--code-preprocessor-color: #806020;
--code-string-literal-color: #002080;
--code-char-literal-color: #008080;
--code-xml-cdata-color: black;
--code-vhdl-digit-color: #FF00FF;
--code-vhdl-char-color: #000000;
--code-vhdl-keyword-color: #700070;
--code-vhdl-logic-color: #FF0000;
--code-link-color: #4665A2;
--code-external-link-color: #4665A2;
--fragment-foreground-color: black;
--fragment-background-color: #FBFCFD;
--fragment-border-color: #C4CFE5;
--fragment-lineno-border-color: #00FF00;
--fragment-lineno-background-color: #E8E8E8;
--fragment-lineno-foreground-color: black;
--fragment-lineno-link-fg-color: #4665A2;
--fragment-lineno-link-bg-color: #D8D8D8;
--fragment-lineno-link-hover-fg-color: #4665A2;
--fragment-lineno-link-hover-bg-color: #C8C8C8;
--fragment-copy-ok-color: #2EC82E;
--tooltip-foreground-color: black;
--tooltip-background-color: rgba(255,255,255,0.8);
--tooltip-arrow-background-color: white;
--tooltip-border-color: rgba(150,150,150,0.7);
--tooltip-backdrop-filter: blur(3px);
--tooltip-doc-color: grey;
--tooltip-declaration-color: #006318;
--tooltip-link-color: #4665A2;
--tooltip-shadow: 0 4px 8px 0 rgba(0,0,0,.25);
--fold-line-color: #808080;
/** font-family */
--font-family-normal: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed;
--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
--font-family-title: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif;
--font-family-search: Arial,Verdana,sans-serif;
--font-family-icon: Arial,Helvetica;
--font-family-tooltip: Roboto,sans-serif;
/** special sections */
--warning-color-bg: #f8d1cc;
--warning-color-hl: #b61825;
--warning-color-text: #75070f;
--note-color-bg: #faf3d8;
--note-color-hl: #f3a600;
--note-color-text: #5f4204;
--todo-color-bg: #e4f3ff;
--todo-color-hl: #1879C4;
--todo-color-text: #274a5c;
--test-color-bg: #e8e8ff;
--test-color-hl: #3939C4;
--test-color-text: #1a1a5c;
--deprecated-color-bg: #ecf0f3;
--deprecated-color-hl: #5b6269;
--deprecated-color-text: #43454a;
--bug-color-bg: #e4dafd;
--bug-color-hl: #5b2bdd;
--bug-color-text: #2a0d72;
--invariant-color-bg: #d8f1e3;
--invariant-color-hl: #44b86f;
--invariant-color-text: #265532;
}
html.dark-mode {
/* page base colors */
--page-background-color: black;
--page-foreground-color: #C9D1D9;
--page-link-color: #90A5CE;
--page-visited-link-color: #90A5CE;
--page-external-link-color: #A3B4D7;
/* index */
--index-odd-item-bg-color: #0B101A;
--index-even-item-bg-color: black;
--index-header-color: #C4CFE5;
--index-separator-color: #334975;
/* header */
--header-background-color: #070B11;
--header-separator-color: #141C2E;
--group-header-separator-color: #1D2A43;
--group-header-color: #90A5CE;
--inherit-header-color: #A0A0A0;
--footer-foreground-color: #5B7AB7;
--footer-logo-width: 60px;
--citation-label-color: #90A5CE;
--glow-color: cyan;
--title-background-color: #090D16;
--title-separator-color: #212F4B;
--directory-separator-color: #283A5D;
--separator-color: #283A5D;
--blockquote-background-color: #101826;
--blockquote-border-color: #283A5D;
--scrollbar-thumb-color: #2C3F65;
--scrollbar-background-color: #070B11;
--icon-background-color: #334975;
--icon-foreground-color: #C4CFE5;
--icon-folder-open-fill-color: #4665A2;
--icon-folder-fill-color: #5373B4;
--icon-folder-border-color: #C4CFE5;
--icon-doc-fill-color: #6884BD;
--icon-doc-border-color: #C4CFE5;
/* brief member declaration list */
--memdecl-background-color: #0B101A;
--memdecl-separator-color: #2C3F65;
--memdecl-foreground-color: #BBB;
--memdecl-template-color: #7C95C6;
--memdecl-border-color: #233250;
/* detailed member list */
--memdef-border-color: #233250;
--memdef-title-background-color: #1B2840;
--memdef-proto-background-color: #19243A;
--memdef-proto-text-color: #9DB0D4;
--memdef-doc-background-color: black;
--memdef-param-name-color: #D28757;
--memdef-template-color: #7C95C6;
/* tables */
--table-cell-border-color: #283A5D;
--table-header-background-color: #283A5D;
--table-header-foreground-color: #C4CFE5;
/* labels */
--label-background-color: #354C7B;
--label-left-top-border-color: #4665A2;
--label-right-bottom-border-color: #283A5D;
--label-foreground-color: #CCCCCC;
/** navigation bar/tree/menu */
--nav-background-color: #101826;
--nav-foreground-color: #364D7C;
--nav-border-color: #212F4B;
--nav-breadcrumb-separator-color: #212F4B;
--nav-breadcrumb-active-bg: #1D2A43;
--nav-breadcrumb-color: #90A5CE;
--nav-breadcrumb-border-color: #2A3D61;
--nav-splitbar-bg-color: #283A5D;
--nav-splitbar-handle-color: #4665A2;
--nav-font-size-level1: 13px;
--nav-font-size-level2: 10px;
--nav-font-size-level3: 9px;
--nav-text-normal-color: #B6C4DF;
--nav-text-hover-color: #DCE2EF;
--nav-text-active-color: #DCE2EF;
--nav-menu-button-color: #B6C4DF;
--nav-menu-background-color: #05070C;
--nav-menu-foreground-color: #BBBBBB;
--nav-menu-active-bg: #1D2A43;
--nav-menu-active-color: #C9D3E7;
--nav-menu-toggle-color: rgba(255, 255, 255, 0.2);
--nav-arrow-color: #4665A2;
--nav-arrow-selected-color: #6884BD;
/* sync icon */
--sync-icon-border-color: #212F4B;
--sync-icon-background-color: #101826;
--sync-icon-selected-background-color: #1D2A43;
--sync-icon-color: #4665A2;
--sync-icon-selected-color: #5373B4;
/* table of contents */
--toc-background-color: #151E30;
--toc-border-color: #202E4A;
--toc-header-color: #A3B4D7;
--toc-down-arrow-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='10px' width='5px'><text x='0' y='5' font-size='10' fill='grey'>&%238595;</text></svg>");
/** search field */
--search-background-color: black;
--search-foreground-color: #C5C5C5;
--search-active-color: #F5F5F5;
--search-filter-background-color: #101826;
--search-filter-foreground-color: #90A5CE;
--search-filter-backdrop-filter: none;
--search-filter-border-color: #7C95C6;
--search-filter-highlight-text-color: #BCC9E2;
--search-filter-highlight-bg-color: #283A5D;
--search-results-background-color: black;
--search-results-foreground-color: #90A5CE;
--search-results-backdrop-filter: none;
--search-results-border-color: #334975;
--search-box-border-color: #334975;
--search-close-icon-bg-color: #909090;
--search-close-icon-fg-color: black;
/** code fragments */
--code-keyword-color: #CC99CD;
--code-type-keyword-color: #AB99CD;
--code-flow-keyword-color: #E08000;
--code-comment-color: #717790;
--code-preprocessor-color: #65CABE;
--code-string-literal-color: #7EC699;
--code-char-literal-color: #00E0F0;
--code-xml-cdata-color: #C9D1D9;
--code-vhdl-digit-color: #FF00FF;
--code-vhdl-char-color: #C0C0C0;
--code-vhdl-keyword-color: #CF53C9;
--code-vhdl-logic-color: #FF0000;
--code-link-color: #79C0FF;
--code-external-link-color: #79C0FF;
--fragment-foreground-color: #C9D1D9;
--fragment-background-color: #090D16;
--fragment-border-color: #30363D;
--fragment-lineno-border-color: #30363D;
--fragment-lineno-background-color: black;
--fragment-lineno-foreground-color: #6E7681;
--fragment-lineno-link-fg-color: #6E7681;
--fragment-lineno-link-bg-color: #303030;
--fragment-lineno-link-hover-fg-color: #8E96A1;
--fragment-lineno-link-hover-bg-color: #505050;
--fragment-copy-ok-color: #0EA80E;
--tooltip-foreground-color: #C9D1D9;
--tooltip-background-color: #202020;
--tooltip-arrow-background-color: #202020;
--tooltip-backdrop-filter: none;
--tooltip-border-color: #C9D1D9;
--tooltip-doc-color: #D9E1E9;
--tooltip-declaration-color: #20C348;
--tooltip-link-color: #79C0FF;
--tooltip-shadow: none;
--fold-line-color: #808080;
/** font-family */
--font-family-normal: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed;
--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
--font-family-title: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif;
--font-family-search: Arial,Verdana,sans-serif;
--font-family-icon: Arial,Helvetica;
--font-family-tooltip: Roboto,sans-serif;
/** special sections */
--warning-color-bg: #2e1917;
--warning-color-hl: #ad2617;
--warning-color-text: #f5b1aa;
--note-color-bg: #3b2e04;
--note-color-hl: #f1b602;
--note-color-text: #ceb670;
--todo-color-bg: #163750;
--todo-color-hl: #1982D2;
--todo-color-text: #dcf0fa;
--test-color-bg: #121258;
--test-color-hl: #4242cf;
--test-color-text: #c0c0da;
--deprecated-color-bg: #2e323b;
--deprecated-color-hl: #738396;
--deprecated-color-text: #abb0bd;
--bug-color-bg: #2a2536;
--bug-color-hl: #7661b3;
--bug-color-text: #ae9ed6;
--invariant-color-bg: #303a35;
--invariant-color-hl: #76ce96;
--invariant-color-text: #cceed5;
}
body {
background-color: var(--page-background-color);
color: var(--page-foreground-color);
}
body, table, div, p, dl {
font-weight: 400;
font-size: 14px;
font-family: var(--font-family-normal);
line-height: 22px;
}
body.resizing {
user-select: none;
-webkit-user-select: none;
}
#doc-content {
scrollbar-width: thin;
}
/* @group Heading Levels */
.title {
font-family: var(--font-family-normal);
line-height: 28px;
font-size: 160%;
font-weight: 400;
margin: 10px 2px;
}
h1.groupheader {
font-size: 150%;
}
h2.groupheader {
box-shadow: 12px 0 var(--page-background-color),
-12px 0 var(--page-background-color),
12px 1px var(--group-header-separator-color),
-12px 1px var(--group-header-separator-color);
color: var(--group-header-color);
font-size: 150%;
font-weight: normal;
margin-top: 1.75em;
padding-top: 8px;
padding-bottom: 4px;
width: 100%;
}
td h2.groupheader {
box-shadow: 13px 0 var(--page-background-color),
-13px 0 var(--page-background-color),
13px 1px var(--group-header-separator-color),
-13px 1px var(--group-header-separator-color);
}
h3.groupheader {
font-size: 100%;
}
h1, h2, h3, h4, h5, h6 {
-webkit-transition: text-shadow 0.5s linear;
-moz-transition: text-shadow 0.5s linear;
-ms-transition: text-shadow 0.5s linear;
-o-transition: text-shadow 0.5s linear;
transition: text-shadow 0.5s linear;
margin-right: 15px;
}
h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
text-shadow: 0 0 15px var(--glow-color);
}
dt {
font-weight: bold;
}
p.startli, p.startdd {
margin-top: 2px;
}
th p.starttd, th p.intertd, th p.endtd {
font-size: 100%;
font-weight: 700;
}
p.starttd {
margin-top: 0px;
}
p.endli {
margin-bottom: 0px;
}
p.enddd {
margin-bottom: 4px;
}
p.endtd {
margin-bottom: 2px;
}
p.interli {
}
p.interdd {
}
p.intertd {
}
/* @end */
caption {
font-weight: bold;
}
span.legend {
font-size: 70%;
text-align: center;
}
h3.version {
font-size: 90%;
text-align: center;
}
div.navtab {
margin-right: 6px;
padding-right: 6px;
text-align: right;
line-height: 110%;
background-color: var(--nav-background-color);
}
div.navtab table {
border-spacing: 0;
}
td.navtab {
padding-right: 6px;
padding-left: 6px;
}
td.navtabHL {
padding-right: 6px;
padding-left: 6px;
border-radius: 0 6px 6px 0;
background-color: var(--nav-menu-active-bg);
}
div.qindex{
text-align: center;
width: 100%;
line-height: 140%;
font-size: 130%;
color: var(--index-separator-color);
}
#main-menu a:focus {
outline: auto;
z-index: 10;
position: relative;
}
dt.alphachar{
font-size: 180%;
font-weight: bold;
}
.alphachar a{
color: var(--index-header-color);
}
.alphachar a:hover, .alphachar a:visited{
text-decoration: none;
}
.classindex dl {
padding: 25px;
column-count:1
}
.classindex dd {
display:inline-block;
margin-left: 50px;
width: 90%;
line-height: 1.15em;
}
.classindex dl.even {
background-color: var(--index-even-item-bg-color);
}
.classindex dl.odd {
background-color: var(--index-odd-item-bg-color);
}
@media(min-width: 1120px) {
.classindex dl {
column-count:2
}
}
@media(min-width: 1320px) {
.classindex dl {
column-count:3
}
}
/* @group Link Styling */
a {
color: var(--page-link-color);
font-weight: normal;
text-decoration: none;
}
.contents a:visited {
color: var(--page-visited-link-color);
}
span.label a:hover {
text-decoration: none;
background: linear-gradient(to bottom, transparent 0,transparent calc(100% - 1px), currentColor 100%);
}
a.el {
font-weight: bold;
}
a.elRef {
}
a.el, a.el:visited, a.code, a.code:visited, a.line, a.line:visited {
color: var(--page-link-color);
}
a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
color: var(--page-external-link-color);
}
a.code.hl_class { /* style for links to class names in code snippets */ }
a.code.hl_struct { /* style for links to struct names in code snippets */ }
a.code.hl_union { /* style for links to union names in code snippets */ }
a.code.hl_interface { /* style for links to interface names in code snippets */ }
a.code.hl_protocol { /* style for links to protocol names in code snippets */ }
a.code.hl_category { /* style for links to category names in code snippets */ }
a.code.hl_exception { /* style for links to exception names in code snippets */ }
a.code.hl_service { /* style for links to service names in code snippets */ }
a.code.hl_singleton { /* style for links to singleton names in code snippets */ }
a.code.hl_concept { /* style for links to concept names in code snippets */ }
a.code.hl_namespace { /* style for links to namespace names in code snippets */ }
a.code.hl_package { /* style for links to package names in code snippets */ }
a.code.hl_define { /* style for links to macro names in code snippets */ }
a.code.hl_function { /* style for links to function names in code snippets */ }
a.code.hl_variable { /* style for links to variable names in code snippets */ }
a.code.hl_typedef { /* style for links to typedef names in code snippets */ }
a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ }
a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ }
a.code.hl_signal { /* style for links to Qt signal names in code snippets */ }
a.code.hl_slot { /* style for links to Qt slot names in code snippets */ }
a.code.hl_friend { /* style for links to friend names in code snippets */ }
a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ }
a.code.hl_property { /* style for links to property names in code snippets */ }
a.code.hl_event { /* style for links to event names in code snippets */ }
a.code.hl_sequence { /* style for links to sequence names in code snippets */ }
a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ }
/* @end */
dl.el {
margin-left: -1cm;
}
ul.check {
list-style:none;
text-indent: -16px;
padding-left: 38px;
}
li.unchecked:before {
content: "\2610\A0";
}
li.checked:before {
content: "\2611\A0";
}
ol {
text-indent: 0px;
}
ul {
text-indent: 0px;
overflow: visible;
}
ul.multicol {
-moz-column-gap: 1em;
-webkit-column-gap: 1em;
column-gap: 1em;
-moz-column-count: 3;
-webkit-column-count: 3;
column-count: 3;
list-style-type: none;
}
#side-nav ul {
overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
}
#main-nav ul {
overflow: visible; /* reset ul rule for the navigation bar drop down lists */
}
.fragment {
text-align: left;
direction: ltr;
overflow-x: auto;
overflow-y: hidden;
position: relative;
min-height: 12px;
margin: 10px 0px;
padding: 10px 10px;
border: 1px solid var(--fragment-border-color);
border-radius: 4px;
background-color: var(--fragment-background-color);
color: var(--fragment-foreground-color);
}
pre.fragment {
word-wrap: break-word;
font-size: 10pt;
line-height: 125%;
font-family: var(--font-family-monospace);
}
span.tt {
white-space: pre;
font-family: var(--font-family-monospace);
}
.clipboard {
width: 24px;
height: 24px;
right: 5px;
top: 5px;
opacity: 0;
position: absolute;
display: inline;
overflow: hidden;
justify-content: center;
align-items: center;
cursor: pointer;
}
.clipboard.success {
border: 1px solid var(--fragment-foreground-color);
border-radius: 4px;
}
.fragment:hover .clipboard, .clipboard.success {
opacity: .4;
}
.clipboard:hover, .clipboard.success {
opacity: 1 !important;
}
.clipboard:active:not([class~=success]) svg {
transform: scale(.91);
}
.clipboard.success svg {
fill: var(--fragment-copy-ok-color);
}
.clipboard.success {
border-color: var(--fragment-copy-ok-color);
}
div.line {
font-family: var(--font-family-monospace);
font-size: 13px;
min-height: 13px;
line-height: 1.2;
text-wrap: wrap;
word-break: break-all;
white-space: -moz-pre-wrap; /* Moz */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
white-space: pre-wrap; /* CSS3 */
word-wrap: break-word; /* IE 5.5+ */
text-indent: -62px;
padding-left: 62px;
padding-bottom: 0px;
margin: 0px;
-webkit-transition-property: background-color, box-shadow;
-webkit-transition-duration: 0.5s;
-moz-transition-property: background-color, box-shadow;
-moz-transition-duration: 0.5s;
-ms-transition-property: background-color, box-shadow;
-ms-transition-duration: 0.5s;
-o-transition-property: background-color, box-shadow;
-o-transition-duration: 0.5s;
transition-property: background-color, box-shadow;
transition-duration: 0.5s;
}
div.line:after {
content:"\000A";
white-space: pre;
}
div.line.glow {
background-color: var(--glow-color);
box-shadow: 0 0 10px var(--glow-color);
}
span.fold {
display: inline-block;
width: 12px;
height: 12px;
margin-left: 4px;
margin-right: 1px;
}
span.foldnone {
display: inline-block;
position: relative;
cursor: pointer;
user-select: none;
}
span.fold.plus, span.fold.minus {
width: 10px;
height: 10px;
background-color: var(--fragment-background-color);
position: relative;
border: 1px solid var(--fold-line-color);
margin-right: 1px;
}
span.fold.plus::before, span.fold.minus::before {
content: '';
position: absolute;
background-color: var(--fold-line-color);
}
span.fold.plus::before {
width: 2px;
height: 6px;
top: 2px;
left: 4px;
}
span.fold.plus::after {
content: '';
position: absolute;
width: 6px;
height: 2px;
top: 4px;
left: 2px;
background-color: var(--fold-line-color);
}
span.fold.minus::before {
width: 6px;
height: 2px;
top: 4px;
left: 2px;
}
span.lineno {
padding-right: 4px;
margin-right: 9px;
text-align: right;
border-right: 2px solid var(--fragment-lineno-border-color);
color: var(--fragment-lineno-foreground-color);
background-color: var(--fragment-lineno-background-color);
white-space: pre;
}
span.lineno a, span.lineno a:visited {
color: var(--fragment-lineno-link-fg-color);
background-color: var(--fragment-lineno-link-bg-color);
}
span.lineno a:hover {
color: var(--fragment-lineno-link-hover-fg-color);
background-color: var(--fragment-lineno-link-hover-bg-color);
}
.lineno {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
div.classindex ul {
list-style: none;
padding-left: 0;
}
div.classindex span.ai {
display: inline-block;
}
div.groupHeader {
box-shadow: 13px 0 var(--page-background-color),
-13px 0 var(--page-background-color),
13px 1px var(--group-header-separator-color),
-13px 1px var(--group-header-separator-color);
color: var(--group-header-color);
font-size: 110%;
font-weight: 500;
margin-left: 0px;
margin-top: 0em;
margin-bottom: 6px;
padding-top: 8px;
padding-bottom: 4px;
}
div.groupText {
margin-left: 16px;
font-style: italic;
}
body {
color: var(--page-foreground-color);
margin: 0;
}
div.contents {
margin-top: 10px;
margin-left: 12px;
margin-right: 12px;
}
p.formulaDsp {
text-align: center;
}
img.dark-mode-visible {
display: none;
}
img.light-mode-visible {
display: none;
}
img.formulaInl, img.inline {
vertical-align: middle;
}
div.center {
text-align: center;
margin-top: 0px;
margin-bottom: 0px;
padding: 0px;
}
div.center img {
border: 0px;
}
address.footer {
text-align: right;
padding-right: 12px;
}
img.footer {
border: 0px;
vertical-align: middle;
width: var(--footer-logo-width);
}
.compoundTemplParams {
color: var(--memdecl-template-color);
font-size: 80%;
line-height: 120%;
}
/* @group Code Colorization */
span.keyword {
color: var(--code-keyword-color);
}
span.keywordtype {
color: var(--code-type-keyword-color);
}
span.keywordflow {
color: var(--code-flow-keyword-color);
}
span.comment {
color: var(--code-comment-color);
}
span.preprocessor {
color: var(--code-preprocessor-color);
}
span.stringliteral {
color: var(--code-string-literal-color);
}
span.charliteral {
color: var(--code-char-literal-color);
}
span.xmlcdata {
color: var(--code-xml-cdata-color);
}
span.vhdldigit {
color: var(--code-vhdl-digit-color);
}
span.vhdlchar {
color: var(--code-vhdl-char-color);
}
span.vhdlkeyword {
color: var(--code-vhdl-keyword-color);
}
span.vhdllogic {
color: var(--code-vhdl-logic-color);
}
blockquote {
background-color: var(--blockquote-background-color);
border-left: 2px solid var(--blockquote-border-color);
margin: 0 24px 0 4px;
padding: 0 12px 0 16px;
}
/* @end */
td.tiny {
font-size: 75%;
}
.dirtab {
padding: 4px;
border-collapse: collapse;
border: 1px solid var(--table-cell-border-color);
}
th.dirtab {
background-color: var(--table-header-background-color);
color: var(--table-header-foreground-color);
font-weight: bold;
}
hr {
border: none;
margin-top: 16px;
margin-bottom: 16px;
height: 1px;
box-shadow: 13px 0 var(--page-background-color),
-13px 0 var(--page-background-color),
13px 1px var(--group-header-separator-color),
-13px 1px var(--group-header-separator-color);
}
hr.footer {
height: 1px;
}
/* @group Member Descriptions */
table.memberdecls {
border-spacing: 0px;
padding: 0px;
}
.memberdecls td, .fieldtable tr {
transition-property: background-color, box-shadow;
transition-duration: 0.5s;
}
.memberdecls td.glow, .fieldtable tr.glow {
background-color: var(--glow-color);
box-shadow: 0 0 15px var(--glow-color);
}
.memberdecls tr[class^='memitem'] {
font-family: var(--font-family-monospace);
}
.mdescLeft, .mdescRight,
.memItemLeft, .memItemRight {
padding-top: 2px;
padding-bottom: 2px;
}
.memTemplParams {
padding-left: 10px;
padding-top: 5px;
}
.memItemLeft, .memItemRight, .memTemplParams {
background-color: var(--memdecl-background-color);
}
.mdescLeft, .mdescRight {
padding: 0px 8px 4px 8px;
color: var(--memdecl-foreground-color);
}
tr[class^='memdesc'] {
box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,.075);
}
.mdescLeft {
border-left: 1px solid var(--memdecl-border-color);
border-bottom: 1px solid var(--memdecl-border-color);
}
.mdescRight {
border-right: 1px solid var(--memdecl-border-color);
border-bottom: 1px solid var(--memdecl-border-color);
}
.memTemplParams {
color: var(--memdecl-template-color);
white-space: nowrap;
font-size: 80%;
border-left: 1px solid var(--memdecl-border-color);
border-right: 1px solid var(--memdecl-border-color);
}
td.ititle {
border: 1px solid var(--memdecl-border-color);
border-top-left-radius: 4px;
border-top-right-radius: 4px;
padding-left: 10px;
}
tr:not(:first-child) > td.ititle {
border-top: 0;
border-radius: 0;
}
.memItemLeft {
white-space: nowrap;
border-left: 1px solid var(--memdecl-border-color);
border-bottom: 1px solid var(--memdecl-border-color);
padding-left: 10px;
transition: none;
}
.memItemRight {
width: 100%;
border-right: 1px solid var(--memdecl-border-color);
border-bottom: 1px solid var(--memdecl-border-color);
padding-right: 10px;
transition: none;
}
tr.heading + tr[class^='memitem'] td.memItemLeft,
tr.groupHeader + tr[class^='memitem'] td.memItemLeft,
tr.inherit_header + tr[class^='memitem'] td.memItemLeft {
border-top: 1px solid var(--memdecl-border-color);
border-top-left-radius: 4px;
}
tr.heading + tr[class^='memitem'] td.memItemRight,
tr.groupHeader + tr[class^='memitem'] td.memItemRight,
tr.inherit_header + tr[class^='memitem'] td.memItemRight {
border-top: 1px solid var(--memdecl-border-color);
border-top-right-radius: 4px;
}
tr.heading + tr[class^='memitem'] td.memTemplParams,
tr.heading + tr td.ititle,
tr.groupHeader + tr[class^='memitem'] td.memTemplParams,
tr.groupHeader + tr td.ititle,
tr.inherit_header + tr[class^='memitem'] td.memTemplParams {
border-top: 1px solid var(--memdecl-border-color);
border-top-left-radius: 4px;
border-top-right-radius: 4px;
}
table.memberdecls tr:last-child td.memItemLeft,
table.memberdecls tr:last-child td.mdescLeft,
table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemLeft,
table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemLeft,
table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescLeft,
table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescLeft {
border-bottom-left-radius: 4px;
}
table.memberdecls tr:last-child td.memItemRight,
table.memberdecls tr:last-child td.mdescRight,
table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemRight,
table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemRight,
table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescRight,
table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescRight {
border-bottom-right-radius: 4px;
}
tr.template .memItemLeft, tr.template .memItemRight {
border-top: none;
padding-top: 0;
}
/* @end */
/* @group Member Details */
/* Styles for detailed member documentation */
.memtitle {
padding: 8px;
border-top: 1px solid var(--memdef-border-color);
border-left: 1px solid var(--memdef-border-color);
border-right: 1px solid var(--memdef-border-color);
border-top-right-radius: 4px;
border-top-left-radius: 4px;
margin-bottom: -1px;
background-color: var(--memdef-proto-background-color);
line-height: 1.25;
font-family: var(--font-family-monospace);
font-weight: 500;
font-size: 16px;
float:left;
box-shadow: 0 10px 0 -1px var(--memdef-proto-background-color),
0 2px 8px 0 rgba(0,0,0,.075);
position: relative;
}
.memtitle:after {
content: '';
display: block;
background: var(--memdef-proto-background-color);
height: 10px;
bottom: -10px;
left: 0px;
right: -14px;
position: absolute;
border-top-right-radius: 6px;
}
.permalink
{
font-family: var(--font-family-monospace);
font-weight: 500;
line-height: 1.25;
font-size: 16px;
display: inline-block;
vertical-align: middle;
}
.memtemplate {
font-size: 80%;
color: var(--memdef-template-color);
font-family: var(--font-family-monospace);
font-weight: normal;
margin-left: 9px;
}
.mempage {
width: 100%;
}
.memitem {
padding: 0;
margin-bottom: 10px;
margin-right: 5px;
display: table !important;
width: 100%;
box-shadow: 0 2px 8px 0 rgba(0,0,0,.075);
border-radius: 4px;
}
.memitem.glow {
box-shadow: 0 0 15px var(--glow-color);
}
.memname {
font-family: var(--font-family-monospace);
font-size: 13px;
font-weight: 400;
margin-left: 6px;
}
.memname td {
vertical-align: bottom;
}
.memproto, dl.reflist dt {
border-top: 1px solid var(--memdef-border-color);
border-left: 1px solid var(--memdef-border-color);
border-right: 1px solid var(--memdef-border-color);
padding: 6px 0px 6px 0px;
color: var(--memdef-proto-text-color);
font-weight: bold;
background-color: var(--memdef-proto-background-color);
border-top-right-radius: 4px;
border-bottom: 1px solid var(--memdef-border-color);
}
.overload {
font-family: var(--font-family-monospace);
font-size: 65%;
}
.memdoc, dl.reflist dd {
border-bottom: 1px solid var(--memdef-border-color);
border-left: 1px solid var(--memdef-border-color);
border-right: 1px solid var(--memdef-border-color);
padding: 6px 10px 2px 10px;
border-top-width: 0;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
}
dl.reflist dt {
padding: 5px;
}
dl.reflist dd {
margin: 0px 0px 10px 0px;
padding: 5px;
}
.paramkey {
text-align: right;
}
.paramtype {
white-space: nowrap;
padding: 0px;
padding-bottom: 1px;
}
.paramname {
white-space: nowrap;
padding: 0px;
padding-bottom: 1px;
margin-left: 2px;
}
.paramname em {
color: var(--memdef-param-name-color);
font-style: normal;
margin-right: 1px;
}
.paramname .paramdefval {
font-family: var(--font-family-monospace);
}
.params, .retval, .exception, .tparams {
margin-left: 0px;
padding-left: 0px;
}
.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname {
font-weight: bold;
vertical-align: top;
}
.params .paramtype, .tparams .paramtype {
font-style: italic;
vertical-align: top;
}
.params .paramdir, .tparams .paramdir {
font-family: var(--font-family-monospace);
vertical-align: top;
}
table.mlabels {
border-spacing: 0px;
}
td.mlabels-left {
width: 100%;
padding: 0px;
}
td.mlabels-right {
vertical-align: bottom;
padding: 0px;
white-space: nowrap;
}
span.mlabels {
margin-left: 8px;
}
span.mlabel {
background-color: var(--label-background-color);
border-top:1px solid var(--label-left-top-border-color);
border-left:1px solid var(--label-left-top-border-color);
border-right:1px solid var(--label-right-bottom-border-color);
border-bottom:1px solid var(--label-right-bottom-border-color);
text-shadow: none;
color: var(--label-foreground-color);
margin-right: 4px;
padding: 2px 3px;
border-radius: 3px;
font-size: 7pt;
white-space: nowrap;
vertical-align: middle;
}
/* @end */
/* these are for tree view inside a (index) page */
div.directory {
margin: 10px 0px;
width: 100%;
}
.directory table {
border-collapse:collapse;
}
.directory td {
margin: 0px;
padding: 0px;
vertical-align: top;
}
.directory td.entry {
white-space: nowrap;
padding-right: 6px;
padding-top: 3px;
}
.directory td.entry a {
outline:none;
}
.directory td.entry a img {
border: none;
}
.directory td.desc {
width: 100%;
padding-left: 6px;
padding-right: 6px;
padding-top: 3px;
border-left: 1px solid rgba(0,0,0,0.05);
}
.directory tr.odd {
padding-left: 6px;
background-color: var(--index-odd-item-bg-color);
}
.directory tr.even {
padding-left: 6px;
background-color: var(--index-even-item-bg-color);
}
.directory img {
vertical-align: -30%;
}
.directory .levels {
white-space: nowrap;
width: 100%;
text-align: right;
font-size: 9pt;
}
.directory .levels span {
cursor: pointer;
padding-left: 2px;
padding-right: 2px;
color: var(--page-link-color);
}
.arrow {
color: var(--nav-background-color);
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
cursor: pointer;
font-size: 80%;
display: inline-block;
width: 16px;
height: 14px;
transition: opacity 0.3s ease;
}
span.arrowhead {
position: relative;
padding: 0;
margin: 0 0 0 2px;
display: inline-block;
width: 5px;
height: 5px;
border-right: 2px solid var(--nav-arrow-color);
border-bottom: 2px solid var(--nav-arrow-color);
transform: rotate(-45deg);
transition: transform 0.3s ease;
}
span.arrowhead.opened {
transform: rotate(45deg);
}
.selected span.arrowhead {
border-right: 2px solid var(--nav-arrow-selected-color);
border-bottom: 2px solid var(--nav-arrow-selected-color);
}
.icon {
font-family: var(--font-family-icon);
line-height: normal;
font-weight: bold;
font-size: 12px;
height: 14px;
width: 16px;
display: inline-block;
background-color: var(--icon-background-color);
color: var(--icon-foreground-color);
text-align: center;
border-radius: 4px;
margin-left: 2px;
margin-right: 2px;
}
.icona {
width: 24px;
height: 22px;
display: inline-block;
}
.iconfolder {
width: 24px;
height: 18px;
margin-top: 6px;
vertical-align:top;
display: inline-block;
position: relative;
}
.icondoc {
width: 24px;
height: 18px;
margin-top: 3px;
vertical-align:top;
display: inline-block;
position: relative;
}
.folder-icon {
width: 16px;
height: 11px;
background-color: var(--icon-folder-fill-color);
border: 1px solid var(--icon-folder-border-color);
border-radius: 0 2px 2px 2px;
position: relative;
box-sizing: content-box;
}
.folder-icon::after {
content: '';
position: absolute;
top: 2px;
left: -1px;
width: 16px;
height: 7px;
background-color: var(--icon-folder-open-fill-color);
border: 1px solid var(--icon-folder-border-color);
border-radius: 7px 7px 2px 2px;
transform-origin: top left;
opacity: 0;
transition: all 0.3s linear;
}
.folder-icon::before {
content: '';
position: absolute;
top: -3px;
left: -1px;
width: 6px;
height: 2px;
background-color: var(--icon-folder-fill-color);
border-top: 1px solid var(--icon-folder-border-color);
border-left: 1px solid var(--icon-folder-border-color);
border-right: 1px solid var(--icon-folder-border-color);
border-radius: 2px 2px 0 0;
}
.folder-icon.open::after {
top: 3px;
opacity: 1;
}
.doc-icon {
left: 6px;
width: 12px;
height: 16px;
background-color: var(--icon-doc-border-color);
clip-path: polygon(0 0, 66% 0, 100% 25%, 100% 100%, 0 100%);
position: relative;
display: inline-block;
}
.doc-icon::before {
content: "";
left: 1px;
top: 1px;
width: 10px;
height: 14px;
background-color: var(--icon-doc-fill-color);
clip-path: polygon(0 0, 66% 0, 100% 25%, 100% 100%, 0 100%);
position: absolute;
box-sizing: border-box;
}
.doc-icon::after {
content: "";
left: 7px;
top: 0px;
width: 3px;
height: 3px;
background-color: transparent;
position: absolute;
border: 1px solid var(--icon-doc-border-color);
}
/* @end */
div.dynheader {
margin-top: 8px;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
span.dynarrow {
position: relative;
display: inline-block;
width: 12px;
bottom: 1px;
}
address {
font-style: normal;
color: var(--footer-foreground-color);
}
table.doxtable caption {
caption-side: top;
}
table.doxtable {
border-collapse:collapse;
margin-top: 4px;
margin-bottom: 4px;
}
table.doxtable td, table.doxtable th {
border: 1px solid var(--table-cell-border-color);
padding: 3px 7px 2px;
}
table.doxtable th {
background-color: var(--table-header-background-color);
color: var(--table-header-foreground-color);
font-size: 110%;
padding-bottom: 4px;
padding-top: 5px;
}
table.fieldtable {
margin-bottom: 10px;
border: 1px solid var(--memdef-border-color);
border-spacing: 0px;
border-radius: 4px;
box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
}
.fieldtable td, .fieldtable th {
padding: 3px 7px 2px;
}
.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fieldinit {
white-space: nowrap;
border-right: 1px solid var(--memdef-border-color);
border-bottom: 1px solid var(--memdef-border-color);
vertical-align: top;
}
.fieldtable td.fieldname {
padding-top: 3px;
}
.fieldtable td.fieldinit {
padding-top: 3px;
text-align: right;
}
.fieldtable td.fielddoc {
border-bottom: 1px solid var(--memdef-border-color);
}
.fieldtable td.fielddoc p:first-child {
margin-top: 0px;
}
.fieldtable td.fielddoc p:last-child {
margin-bottom: 2px;
}
.fieldtable tr:last-child td {
border-bottom: none;
}
.fieldtable th {
background-color: var(--memdef-title-background-color);
font-size: 90%;
color: var(--memdef-proto-text-color);
padding-bottom: 4px;
padding-top: 5px;
text-align:left;
font-weight: 400;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-bottom: 1px solid var(--memdef-border-color);
}
/* ----------- navigation breadcrumb styling ----------- */
#nav-path ul {
height: 30px;
line-height: 30px;
color: var(--nav-text-normal-color);
overflow: hidden;
margin: 0px;
padding-left: 4px;
background-image: none;
background: var(--page-background-color);
border-bottom: 1px solid var(--nav-breadcrumb-separator-color);
font-size: var(--nav-font-size-level1);
font-family: var(--font-family-nav);
position: relative;
z-index: 100;
}
#main-nav {
border-bottom: 1px solid var(--nav-border-color);
}
.navpath li {
list-style-type:none;
float:left;
color: var(--nav-foreground-color);
}
.navpath li.footer {
list-style-type:none;
float:right;
padding-left:10px;
padding-right:15px;
background-image:none;
background-repeat:no-repeat;
background-position:right;
font-size: 8pt;
color: var(--footer-foreground-color);
}
#nav-path li.navelem {
background-image: none;
display: flex;
align-items: center;
padding-left: 15px;
}
.navpath li.navelem a {
text-shadow: none;
display: inline-block;
color: var(--nav-breadcrumb-color);
position: relative;
top: 0px;
height: 30px;
margin-right: -20px;
}
#nav-path li.navelem:after {
content: '';
display: inline-block;
position: relative;
top: 0;
right: -15px;
width: 30px;
height: 30px;
transform: scaleX(0.5) scale(0.707) rotate(45deg);
z-index: 10;
background: var(--page-background-color);
box-shadow: 2px -2px 0 2px var(--nav-breadcrumb-separator-color);
border-radius: 0 5px 0 50px;
}
#nav-path li.navelem:first-child {
margin-left: -6px;
}
#nav-path li.navelem:hover,
#nav-path li.navelem:hover:after {
background-color: var(--nav-breadcrumb-active-bg);
}
/* ---------------------- */
div.summary
{
float: right;
font-size: 8pt;
padding-right: 5px;
width: 50%;
text-align: right;
}
div.summary a
{
white-space: nowrap;
}
table.classindex
{
margin: 10px;
white-space: nowrap;
margin-left: 3%;
margin-right: 3%;
width: 94%;
border: 0;
border-spacing: 0;
padding: 0;
}
div.ingroups
{
font-size: 8pt;
width: 50%;
text-align: left;
}
div.ingroups a
{
white-space: nowrap;
}
div.header
{
margin: 0px;
background-color: var(--header-background-color);
border-bottom: 1px solid var(--header-separator-color);
}
div.headertitle
{
padding: 5px 5px 5px 10px;
}
dl {
padding: 0 0 0 0;
}
dl.bug dt a, dl.deprecated dt a, dl.todo dt a, dl.test a {
font-weight: bold !important;
}
dl.warning, dl.attention, dl.important, dl.note, dl.deprecated, dl.bug,
dl.invariant, dl.pre, dl.post, dl.todo, dl.test, dl.remark {
padding: 10px;
margin: 10px 0px;
overflow: hidden;
margin-left: 0;
border-radius: 4px;
}
dl.section dd {
margin-bottom: 2px;
}
dl.warning, dl.attention, dl.important {
background: var(--warning-color-bg);
border-left: 8px solid var(--warning-color-hl);
color: var(--warning-color-text);
}
dl.warning dt, dl.attention dt, dl.important dt {
color: var(--warning-color-hl);
}
dl.note, dl.remark {
background: var(--note-color-bg);
border-left: 8px solid var(--note-color-hl);
color: var(--note-color-text);
}
dl.note dt, dl.remark dt {
color: var(--note-color-hl);
}
dl.todo {
background: var(--todo-color-bg);
border-left: 8px solid var(--todo-color-hl);
color: var(--todo-color-text);
}
dl.todo dt {
color: var(--todo-color-hl);
}
dl.test {
background: var(--test-color-bg);
border-left: 8px solid var(--test-color-hl);
color: var(--test-color-text);
}
dl.test dt {
color: var(--test-color-hl);
}
dl.bug dt a {
color: var(--bug-color-hl) !important;
}
dl.bug {
background: var(--bug-color-bg);
border-left: 8px solid var(--bug-color-hl);
color: var(--bug-color-text);
}
dl.bug dt a {
color: var(--bug-color-hl) !important;
}
dl.deprecated {
background: var(--deprecated-color-bg);
border-left: 8px solid var(--deprecated-color-hl);
color: var(--deprecated-color-text);
}
dl.deprecated dt a {
color: var(--deprecated-color-hl) !important;
}
dl.note dd, dl.warning dd, dl.pre dd, dl.post dd,
dl.remark dd, dl.attention dd, dl.important dd, dl.invariant dd,
dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd {
margin-inline-start: 0px;
}
dl.invariant, dl.pre, dl.post {
background: var(--invariant-color-bg);
border-left: 8px solid var(--invariant-color-hl);
color: var(--invariant-color-text);
}
dl.invariant dt, dl.pre dt, dl.post dt {
color: var(--invariant-color-hl);
}
#projectrow
{
height: 56px;
}
#projectlogo
{
text-align: center;
vertical-align: bottom;
border-collapse: separate;
}
#projectlogo img
{
border: 0px none;
}
#projectalign
{
vertical-align: middle;
padding-left: 0.5em;
}
#projectname
{
font-size: 200%;
font-family: var(--font-family-title);
margin: 0;
padding: 0;
}
#side-nav #projectname
{
font-size: 130%;
}
#projectbrief
{
font-size: 90%;
font-family: var(--font-family-title);
margin: 0px;
padding: 0px;
}
#projectnumber
{
font-size: 50%;
font-family: var(--font-family-title);
margin: 0px;
padding: 0px;
}
#titlearea
{
padding: 0 0 0 5px;
margin: 0px;
border-bottom: 1px solid var(--title-separator-color);
background-color: var(--title-background-color);
}
.image
{
text-align: center;
}
.dotgraph
{
text-align: center;
}
.mscgraph
{
text-align: center;
}
.plantumlgraph
{
text-align: center;
}
.diagraph
{
text-align: center;
}
.caption
{
font-weight: bold;
}
dl.citelist {
margin-bottom:50px;
}
dl.citelist dt {
color:var(--citation-label-color);
float:left;
font-weight:bold;
margin-right:10px;
padding:5px;
text-align:right;
width:52px;
}
dl.citelist dd {
margin:2px 0 2px 72px;
padding:5px 0;
}
div.toc {
padding: 14px 25px;
background-color: var(--toc-background-color);
border: 1px solid var(--toc-border-color);
border-radius: 7px 7px 7px 7px;
float: right;
height: auto;
margin: 0 8px 10px 10px;
width: 200px;
}
div.toc li {
background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent;
font: 10px/1.2 var(--font-family-toc);
margin-top: 5px;
padding-left: 10px;
padding-top: 2px;
}
div.toc h3 {
font: bold 12px/1.2 var(--font-family-toc);
color: var(--toc-header-color);
border-bottom: 0 none;
margin: 0;
}
div.toc ul {
list-style: none outside none;
border: medium none;
padding: 0px;
}
div.toc li[class^='level'] {
margin-left: 15px;
}
div.toc li.level1 {
margin-left: 0px;
}
div.toc li.empty {
background-image: none;
margin-top: 0px;
}
span.emoji {
/* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html
* font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort;
*/
}
span.obfuscator {
display: none;
}
.inherit_header {
font-weight: 400;
cursor: pointer;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.inherit_header td {
padding: 6px 0 2px 0;
}
.inherit {
display: none;
}
tr.heading h2 {
margin-top: 12px;
margin-bottom: 12px;
}
/* tooltip related style info */
.ttc {
position: absolute;
display: none;
}
#powerTip {
cursor: default;
color: var(--tooltip-foreground-color);
background-color: var(--tooltip-background-color);
backdrop-filter: var(--tooltip-backdrop-filter);
-webkit-backdrop-filter: var(--tooltip-backdrop-filter);
border: 1px solid var(--tooltip-border-color);
border-radius: 4px;
box-shadow: var(--tooltip-shadow);
display: none;
font-size: smaller;
max-width: 80%;
padding: 1ex 1em 1em;
position: absolute;
z-index: 2147483647;
}
#powerTip div.ttdoc {
color: var(--tooltip-doc-color);
font-style: italic;
}
#powerTip div.ttname a {
font-weight: bold;
}
#powerTip a {
color: var(--tooltip-link-color);
}
#powerTip div.ttname {
font-weight: bold;
}
#powerTip div.ttdeci {
color: var(--tooltip-declaration-color);
}
#powerTip div {
margin: 0px;
padding: 0px;
font-size: 12px;
font-family: var(--font-family-tooltip);
line-height: 16px;
}
#powerTip:before, #powerTip:after {
content: "";
position: absolute;
margin: 0px;
}
#powerTip.n:after, #powerTip.n:before,
#powerTip.s:after, #powerTip.s:before,
#powerTip.w:after, #powerTip.w:before,
#powerTip.e:after, #powerTip.e:before,
#powerTip.ne:after, #powerTip.ne:before,
#powerTip.se:after, #powerTip.se:before,
#powerTip.nw:after, #powerTip.nw:before,
#powerTip.sw:after, #powerTip.sw:before {
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
}
#powerTip.n:after, #powerTip.s:after,
#powerTip.w:after, #powerTip.e:after,
#powerTip.nw:after, #powerTip.ne:after,
#powerTip.sw:after, #powerTip.se:after {
border-color: rgba(255, 255, 255, 0);
}
#powerTip.n:before, #powerTip.s:before,
#powerTip.w:before, #powerTip.e:before,
#powerTip.nw:before, #powerTip.ne:before,
#powerTip.sw:before, #powerTip.se:before {
border-color: rgba(128, 128, 128, 0);
}
#powerTip.n:after, #powerTip.n:before,
#powerTip.ne:after, #powerTip.ne:before,
#powerTip.nw:after, #powerTip.nw:before {
top: 100%;
}
#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
border-top-color: var(--tooltip-arrow-background-color);
border-width: 10px;
margin: 0px -10px;
}
#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before {
border-top-color: var(--tooltip-border-color);
border-width: 11px;
margin: 0px -11px;
}
#powerTip.n:after, #powerTip.n:before {
left: 50%;
}
#powerTip.nw:after, #powerTip.nw:before {
right: 14px;
}
#powerTip.ne:after, #powerTip.ne:before {
left: 14px;
}
#powerTip.s:after, #powerTip.s:before,
#powerTip.se:after, #powerTip.se:before,
#powerTip.sw:after, #powerTip.sw:before {
bottom: 100%;
}
#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
border-bottom-color: var(--tooltip-arrow-background-color);
border-width: 10px;
margin: 0px -10px;
}
#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
border-bottom-color: var(--tooltip-border-color);
border-width: 11px;
margin: 0px -11px;
}
#powerTip.s:after, #powerTip.s:before {
left: 50%;
}
#powerTip.sw:after, #powerTip.sw:before {
right: 14px;
}
#powerTip.se:after, #powerTip.se:before {
left: 14px;
}
#powerTip.e:after, #powerTip.e:before {
left: 100%;
}
#powerTip.e:after {
border-left-color: var(--tooltip-border-color);
border-width: 10px;
top: 50%;
margin-top: -10px;
}
#powerTip.e:before {
border-left-color: var(--tooltip-border-color);
border-width: 11px;
top: 50%;
margin-top: -11px;
}
#powerTip.w:after, #powerTip.w:before {
right: 100%;
}
#powerTip.w:after {
border-right-color: var(--tooltip-border-color);
border-width: 10px;
top: 50%;
margin-top: -10px;
}
#powerTip.w:before {
border-right-color: var(--tooltip-border-color);
border-width: 11px;
top: 50%;
margin-top: -11px;
}
@media print
{
#top { display: none; }
#side-nav { display: none; }
#nav-path { display: none; }
body { overflow:visible; }
h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
.summary { display: none; }
.memitem { page-break-inside: avoid; }
#doc-content
{
margin-left:0 !important;
height:auto !important;
width:auto !important;
overflow:inherit;
display:inline;
}
}
/* @group Markdown */
table.markdownTable {
border-collapse:collapse;
margin-top: 4px;
margin-bottom: 4px;
}
table.markdownTable td, table.markdownTable th {
border: 1px solid var(--table-cell-border-color);
padding: 3px 7px 2px;
}
table.markdownTable tr {
}
th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
background-color: var(--table-header-background-color);
color: var(--table-header-foreground-color);
font-size: 110%;
padding-bottom: 4px;
padding-top: 5px;
}
th.markdownTableHeadLeft, td.markdownTableBodyLeft {
text-align: left
}
th.markdownTableHeadRight, td.markdownTableBodyRight {
text-align: right
}
th.markdownTableHeadCenter, td.markdownTableBodyCenter {
text-align: center
}
tt, code, kbd
{
display: inline-block;
}
tt, code, kbd
{
vertical-align: top;
}
/* @end */
u {
text-decoration: underline;
}
details>summary {
list-style-type: none;
}
details > summary::-webkit-details-marker {
display: none;
}
details>summary::before {
content: "\25ba";
padding-right:4px;
font-size: 80%;
}
details[open]>summary::before {
content: "\25bc";
padding-right:4px;
font-size: 80%;
}
:root {
scrollbar-width: thin;
scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color);
}
::-webkit-scrollbar {
background-color: var(--scrollbar-background-color);
height: 12px;
width: 12px;
}
::-webkit-scrollbar-thumb {
border-radius: 6px;
box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color);
border: solid 2px transparent;
}
::-webkit-scrollbar-corner {
background-color: var(--scrollbar-background-color);
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,169 @@
<!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>
<title>Validator / crawler helper</title>
<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"/>
</head>
<body>
<a href="_____s_e_g_g_e_r___r_t_t___conf_8h_source.html"/>
<a href="____mylibs__config_8h_source.html"/>
<a href="____mylibs__include_8h_source.html"/>
<a href="_s_e_g_g_e_r___r_t_t_8c_source.html"/>
<a href="_s_e_g_g_e_r___r_t_t_8h_source.html"/>
<a href="_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source.html"/>
<a href="_s_e_g_g_e_r___r_t_t__printf_8c_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_7de012165f681bf20d3995ae88f6551e.html"/>
<a href="dir_8eb68c124db7670c3cb56141b10519ea.html"/>
<a href="dir_d4b2573a0c19afb61452cc3d00967af1.html"/>
<a href="doxygen_crawl.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="globals.html"/>
<a href="globals_defs.html"/>
<a href="globals_func.html"/>
<a href="graph_legend.html"/>
<a href="group___b_e_n_c_h___t_i_m_e.html"/>
<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"/>
<a href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga6a122b536ad99ae611c8cf01437af086"/>
<a href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#gafaa2080168b1b6f7281e8bfabab022d1"/>
<a href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html"/>
<a href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga0b97e172659a59ee4fa56f851643ae85"/>
<a href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga8a5051b1292d1019fe8dd3fc5521ab25"/>
<a href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gabeb97579daeb622c6651ed03c4a27479"/>
<a href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gaed082c07b9fc4d1894330d885b9b5518"/>
<a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html"/>
<a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga27b363f333cacdccc15f5174e096b5b3"/>
<a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga590973be111afc3f9ba15e6939530254"/>
<a href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga5d066a5b9781f9437e75d98677489eb9"/>
<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___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___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#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___a_l_l.html"/>
<a href="group___m_y_l_i_b_s___c_o_n_f_i_g.html"/>
<a href="group___m_y_l_i_b_s___d_e_b_u_g___t_o_o_l_s.html"/>
<a href="group___m_y_l_i_b_s___t_o_o_l_s.html"/>
<a href="group___t_r_a_c_e.html"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga00ff2175bdc1fb11c8ec970ea3010dd8"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga0b87e0d3bf5853bcbb0b66a7c48fdc05"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga0c602733a4a359bf8c095d71cd4d0f63"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga3bc1b76864e1d32cbdd174d4caae7724"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga4222e0e400ad81737cefcabeb03fd23b"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga47f454f804b4dbc26cae079e8d8641e6"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga501312b24e322de4dd6755ad442f0ba3"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga76936505ca200d2e61226b7ba68f27c6"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga8e56f75d3ab8a89ddde1404ae23c3297"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#ga92d0d14732edb7dfa21d483304bdb051"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#gaa31234688b333a505aaa57b8ecdedf5b"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#gab8db9704b5d11858aa879689b9d36336"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#gac9eaedc31ab023ce7d6403999216e496"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#gadc960255719c7eff4bdfaa850be9b313"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#gafcc7ea03d4df8f1909e580b519a7f3ca"/>
<a href="group___t_r_a_c_e___c_o_n_f_i_g.html#gafeca0be3688dea07ff443f894668003d"/>
<a href="group___t_r_a_c_e___g_p_i_o.html"/>
<a href="group___t_r_a_c_e___g_p_i_o.html#ga02a6a7b273766121db8ad4a1371373eb"/>
<a href="group___t_r_a_c_e___g_p_i_o.html#ga69741d88c991112e99fe7a62e025108a"/>
<a href="group___t_r_a_c_e___h_a_r_d_f_a_u_l_t.html"/>
<a href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html"/>
<a href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga21353cb4f5af666237739e62ce019cd6"/>
<a href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga734b2ebbf0c77699b739013878cfd146"/>
<a href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga79f222c8ab644de4d47f07528d1edd63"/>
<a href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga8d8c6850e32b42871faefce3352012d1"/>
<a href="group___t_r_a_c_e___s_e_r_i_a_l.html"/>
<a href="group___t_r_a_c_e___s_e_r_i_a_l.html#ga0b87e0d3bf5853bcbb0b66a7c48fdc05"/>
<a href="group___t_r_a_c_e___s_e_r_i_a_l.html#ga730fb7b8d0bbb348dca73c15bd0e0b26"/>
<a href="group___t_r_a_c_e___s_e_r_i_a_l.html#ga9c853b02c22f26023c34d1d404b6d653"/>
<a href="group___t_r_a_c_e___s_e_r_i_a_l.html#gae9b9b8a611e291a2f2aa5abf99f3ebaa"/>
<a href="group___t_r_a_c_k_e_r_s.html"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga063dab1067005e1600ea32531fdf3f8d"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga1b7549afc4a1760b54a9b93b0f6d105e"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga23de0006aa08984cfeddb6aa5e512fa1"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga365a8c60bd13b75154feda649dd21ead"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga39b6ffbc561f8caac276415e1ad32c30"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga47ac59a406ee74d4cd9fe0fbaf63a758"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga49af29ab3927cad105c1d2b018a767e9"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga4b08632669043dfdbd219dda03502bdb"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga50ccb119acf302969b7fdcb58f2130e4"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga5dd8bac8c7ab5832019d55d7a68371b9"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga704f7b9f8c65c9bcec48ce7cb77a2d3b"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga72be24629fedb8bf70e830373d151fbc"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga8017fb05a56a1b667244f1f786fa9c57"/>
<a href="group___t_r_a_c_k_e_r_s.html#ga9dc91e6b798a081f95f2ccef2c288e5e"/>
<a href="group___t_r_a_c_k_e_r_s.html#gaaec7ec19977bb26fa1919dfe920b82d5"/>
<a href="group___t_r_a_c_k_e_r_s.html#gab880911066605602a966641682090169"/>
<a href="group___t_r_a_c_k_e_r_s.html#gad2f4062a9ac8c2ab062a364f640ebc51"/>
<a href="group___t_r_a_c_k_e_r_s.html#gad91d8ca89074270fc040c0449e57cf07"/>
<a href="group___t_r_a_c_k_e_r_s.html#gadd7fd2c6e3a4800f1d5ddab35fd4b43e"/>
<a href="group___t_r_a_c_k_e_r_s.html#gae860b6947c6e317e14d40bd7b4b8eb74"/>
<a href="group___u_t_i_l_s___d_e_f_i_n_e_s.html"/>
<a href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#ga0f22e895ac7781c3d1b68fee182c4291"/>
<a href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#ga996f7be338ccb40d1a2a5abc1ad61759"/>
<a href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#gabf45f2b60eedf80cf9d1dbe4302a741e"/>
<a href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#gaf5e598848326d48e86167e5099a029be"/>
<a href="index.html"/>
<a href="index.html#инструкция-по-подключению"/>
<a href="index.html#общие-утилиты-mylibs-ref-mylibs_tools"/>
<a href="index.html#основные-возможности"/>
<a href="index.html#отладка-ref-mylibs_debug_tools"/>
<a href="index.html#структура-библиотеки"/>
<a href="mylibs__defs_8h.html"/>
<a href="mylibs__defs_8h_source.html"/>
<a href="struct_gen_optimizer__t-members.html"/>
<a href="struct_gen_optimizer__t.html"/>
<a href="struct_r_t_t___flash_header__t-members.html"/>
<a href="struct_r_t_t___flash_header__t.html"/>
<a href="struct_r_t_t___flash_header__t.html#a1100df39b0eccb835946f4c13de23b4e"/>
<a href="struct_r_t_t___flash_header__t.html#a844ee5470a323a749856cbb7a682dc57"/>
<a href="struct_r_t_t___flash_header__t.html#afd1a5c51af6f97d170c2ccbbe3e34699"/>
<a href="struct_s_e_g_g_e_r___r_t_t___b_u_f_f_e_r___d_o_w_n-members.html"/>
<a href="struct_s_e_g_g_e_r___r_t_t___b_u_f_f_e_r___d_o_w_n.html"/>
<a href="struct_s_e_g_g_e_r___r_t_t___b_u_f_f_e_r___u_p-members.html"/>
<a href="struct_s_e_g_g_e_r___r_t_t___b_u_f_f_e_r___u_p.html"/>
<a href="struct_s_e_g_g_e_r___r_t_t___c_b-members.html"/>
<a href="struct_s_e_g_g_e_r___r_t_t___c_b.html"/>
<a href="struct_s_e_g_g_e_r___r_t_t___p_r_i_n_t_f___d_e_s_c-members.html"/>
<a href="struct_s_e_g_g_e_r___r_t_t___p_r_i_n_t_f___d_e_s_c.html"/>
<a href="topics.html"/>
<a href="trace_8h.html"/>
<a href="trace_8h_source.html"/>
<a href="trackers_8h.html"/>
<a href="trackers_8h_source.html"/>
<a href="unionuint16___bit_type_def-members.html"/>
<a href="unionuint16___bit_type_def.html"/>
<a href="unionuint32___bit_type_def-members.html"/>
<a href="unionuint32___bit_type_def.html"/>
<a href="unionuint64___bit_type_def-members.html"/>
<a href="unionuint64___bit_type_def.html"/>
<a href="unionuint8___bit_type_def-members.html"/>
<a href="unionuint8___bit_type_def.html"/>
</body>
</html>

View File

@@ -0,0 +1,198 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function toggleVisibility(linkObj) {
return dynsection.toggleVisibility(linkObj);
}
let dynsection = {
// helper function
updateStripes : function() {
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
$('table.directory tr').
removeClass('odd').filter(':visible:odd').addClass('odd');
},
toggleVisibility : function(linkObj) {
const base = $(linkObj).attr('id');
const summary = $('#'+base+'-summary');
const content = $('#'+base+'-content');
const trigger = $('#'+base+'-trigger');
const src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.slideUp('fast');
summary.show();
$(linkObj).find('.arrowhead').addClass('closed').removeClass('opened');
} else {
content.slideDown('fast');
summary.hide();
$(linkObj).find('.arrowhead').removeClass('closed').addClass('opened');
}
return false;
},
toggleLevel : function(level) {
$('table.directory tr').each(function() {
const l = this.id.split('_').length-1;
const i = $('#img'+this.id.substring(3));
const a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.find('.folder-icon').addClass('open');
a.find('.arrowhead').removeClass('closed').addClass('opened');
$(this).show();
} else if (l==level+1) {
a.find('.arrowhead').removeClass('opened').addClass('closed');
i.find('.folder-icon').removeClass('open');
$(this).show();
} else {
$(this).hide();
}
});
this.updateStripes();
},
toggleFolder : function(id) {
// the clicked row
const currentRow = $('#row_'+id);
// all rows after the clicked row
const rows = currentRow.nextAll("tr");
const re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
const childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
const currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfolder").find('.folder-icon').removeClass("open");
currentRowSpans.filter(".opened").removeClass("opened").addClass("closed");
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
const currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfolder").find('.folder-icon').addClass("open");
currentRowSpans.filter(".closed").removeClass("closed").addClass("opened");
// replace down arrows by right arrows for child rows
const childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfolder").find('.folder-icon').removeClass("open");
childRowsSpans.filter(".opened").removeClass("opened").addClass("closed");
childRows.show(); //show all children
}
this.updateStripes();
},
toggleInherit : function(id) {
let rows = $('tr.inherit.'+id);
let header = $('tr.inherit_header.'+id);
if (rows.filter(':first').is(':visible')===true) {
rows.hide();
$(header).find('.arrowhead').addClass('closed').removeClass('opened');
} else {
rows.show();
$(header).find('.arrowhead').removeClass('closed').addClass('opened');
}
},
};
let codefold = {
opened : true,
// toggle all folding blocks
toggle_all : function() {
if (this.opened) {
$('#fold_all').addClass('plus').removeClass('minus');
$('div[id^=foldopen]').hide();
$('div[id^=foldclosed]').show();
$('div[id^=foldclosed] span.fold').removeClass('minus').addClass('plus');
} else {
$('#fold_all').addClass('minus').removeClass('plus');
$('div[id^=foldopen]').show();
$('div[id^=foldclosed]').hide();
}
this.opened=!this.opened;
},
// toggle single folding block
toggle : function(id) {
$('#foldopen'+id).toggle();
$('#foldclosed'+id).toggle();
$('#foldopen'+id).next().find('span.fold').addClass('plus').removeClass('minus');
},
init : function() {
$('span[class=lineno]').css({
'padding-right':'4px',
'margin-right':'2px',
'display':'inline-block',
'width':'54px',
'background':'linear-gradient(var(--fold-line-color),var(--fold-line-color)) no-repeat 46px/2px 100%'
});
// add global toggle to first line
$('span[class=lineno]:first').append('<span class="fold minus" id="fold_all" '+
'onclick="javascript:codefold.toggle_all();"></span>');
// add vertical lines to other rows
$('span[class=lineno]').not(':eq(0)').append('<span class="fold"></span>');
// add toggle controls to lines with fold divs
$('div[class=foldopen]').each(function() {
// extract specific id to use
const id = $(this).attr('id').replace('foldopen','');
// extract start and end foldable fragment attributes
const start = $(this).attr('data-start');
const end = $(this).attr('data-end');
// replace normal fold span with controls for the first line of a foldable fragment
$(this).find('span[class=fold]:first').replaceWith('<span class="fold minus" '+
'onclick="javascript:codefold.toggle(\''+id+'\');"></span>');
// append div for folded (closed) representation
$(this).after('<div id="foldclosed'+id+'" class="foldclosed" style="display:none;"></div>');
// extract the first line from the "open" section to represent closed content
const line = $(this).children().first().clone();
// remove any glow that might still be active on the original line
$(line).removeClass('glow');
if (start) {
// if line already ends with a start marker (e.g. trailing {), remove it
$(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),''));
}
// replace minus with plus symbol
$(line).find('span[class=fold]').addClass('plus').removeClass('minus');
// append ellipsis
$(line).append(' '+start+'<a href="javascript:codefold.toggle(\''+id+'\')">&#8230;</a>'+end);
// insert constructed line into closed div
$('#foldclosed'+id).html(line);
});
},
};
/* @license-end */
$(function() {
$('.code,.codeRef').each(function() {
$(this).data('powertip',$('#a'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html());
$.fn.powerTip.smartPlacementLists.s = [ 's', 'n', 'ne', 'se' ];
$(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true });
});
});

View File

@@ -0,0 +1,133 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('files.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">File List</div></div>
</div><!--header-->
<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;">&#160;</span><span id="arr_0_" class="arrow" onclick="dynsection.toggleFolder('0_')"><span class="arrowhead opened"></span></span><span id="img_0_" class="iconfolder" onclick="dynsection.toggleFolder('0_')"><div class="folder-icon open"></div></span><a class="el" href="dir_d4b2573a0c19afb61452cc3d00967af1.html" target="_self">MyLibs</a></td><td class="desc"></td></tr>
<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="dynsection.toggleFolder('0_0_')"><span class="arrowhead opened"></span></span><span id="img_0_0_" class="iconfolder" onclick="dynsection.toggleFolder('0_0_')"><div class="folder-icon open"></div></span><a class="el" href="dir_8eb68c124db7670c3cb56141b10519ea.html" target="_self">Inc</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="bench__time_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="bench__time_8h.html" target="_self">bench_time.h</a></td><td class="desc">Заголовочный файл для измерения времени между событиями </td></tr>
<tr id="row_0_0_1_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="bit__access_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="bit__access_8h.html" target="_self">bit_access.h</a></td><td class="desc">Заголочный файл для дефайнов битового доступа </td></tr>
<tr id="row_0_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="gen__optimizer_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="gen__optimizer_8h.html" target="_self">gen_optimizer.h</a></td><td class="desc">Заголовочный файл для адаптивного подбора параметров </td></tr>
<tr id="row_0_0_3_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="mylibs__defs_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="mylibs__defs_8h.html" target="_self">mylibs_defs.h</a></td><td class="desc">Заголочный файл для дефайнов библиотеки MyLibsGeneral </td></tr>
<tr id="row_0_0_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="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_5_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="trackers_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><a class="el" href="trackers_8h.html" target="_self">trackers.h</a></td><td class="desc">Заголочный файл для работы с трекерами <a class="el" href="group___t_r_a_c_k_e_r_s.html">Trackers defines</a> </td></tr>
<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="dynsection.toggleFolder('1_')"><span class="arrowhead opened"></span></span><span id="img_1_" class="iconfolder" onclick="dynsection.toggleFolder('1_')"><div class="folder-icon open"></div></span><a class="el" href="dir_7de012165f681bf20d3995ae88f6551e.html" target="_self">RTT</a></td><td class="desc"></td></tr>
<tr id="row_1_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="_s_e_g_g_e_r___r_t_t_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>SEGGER_RTT.c</b></td><td class="desc"></td></tr>
<tr id="row_1_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="_s_e_g_g_e_r___r_t_t_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>SEGGER_RTT.h</b></td><td class="desc"></td></tr>
<tr id="row_1_2_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="_s_e_g_g_e_r___r_t_t__printf_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>SEGGER_RTT_printf.c</b></td><td class="desc"></td></tr>
<tr id="row_1_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="_s_e_g_g_e_r___r_t_t___syscalls___k_e_i_l_8c_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>SEGGER_RTT_Syscalls_KEIL.c</b></td><td class="desc"></td></tr>
<tr id="row_2_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="____mylibs__config_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>__mylibs_config.h</b></td><td class="desc"></td></tr>
<tr id="row_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="____mylibs__include_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>__mylibs_include.h</b></td><td class="desc"></td></tr>
<tr id="row_4_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="_____s_e_g_g_e_r___r_t_t___conf_8h_source.html"><span class="icondoc"><div class="doc-icon"></div></span></a><b>__SEGGER_RTT_Conf.h</b></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,8 @@
var files_dup =
[
[ "MyLibs", "dir_d4b2573a0c19afb61452cc3d00967af1.html", "dir_d4b2573a0c19afb61452cc3d00967af1" ],
[ "RTT", "dir_7de012165f681bf20d3995ae88f6551e.html", "dir_7de012165f681bf20d3995ae88f6551e" ],
[ "__mylibs_config.h", "____mylibs__config_8h_source.html", null ],
[ "__mylibs_include.h", "____mylibs__include_8h_source.html", null ],
[ "__SEGGER_RTT_Conf.h", "_____s_e_g_g_e_r___r_t_t___conf_8h_source.html", null ]
];

View File

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

View File

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

View File

@@ -0,0 +1,162 @@
<!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/STM_Libs/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>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('gen__optimizer_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">gen_optimizer.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Заголовочный файл для адаптивного подбора параметров
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="mylibs__defs_8h_source.html">mylibs_defs.h</a>&quot;</code><br />
<code>#include &lt;stdint.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
</div><div class="textblock"><div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Include dependency graph for 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="gen__optimizer_8h__incl.png" border="0" usemap="#a_e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m___libs_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_m___libs_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_m___libs_2_s_t_m32___extended_libs_2_my_libs_2_inc_2gen__optimizer_8h">
<area shape="rect" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="77,5,262,64"/>
<area shape="rect" href="mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="10,112,113,139"/>
<area shape="poly" title=" " alt="" coords="136,66,90,104,87,100,133,62"/>
<area shape="rect" title=" " alt="" coords="137,112,202,139"/>
<area shape="poly" title=" " alt="" coords="172,64,172,96,167,96,167,64"/>
<area shape="rect" title=" " alt="" coords="226,112,289,139"/>
<area shape="poly" title=" " alt="" coords="200,62,236,99,232,103,196,66"/>
<area shape="rect" title=" " alt="" coords="5,187,118,213"/>
<area shape="poly" title=" " alt="" coords="64,139,64,171,59,171,59,139"/>
</map>
</div>
</div>
<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:GenOptimizer_5Ft" id="r_GenOptimizer_5Ft"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_gen_optimizer__t.html">GenOptimizer_t</a></td></tr>
</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:ga3e654886869ea8182effbfcb99278670" id="r_ga3e654886869ea8182effbfcb99278670"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga3e654886869ea8182effbfcb99278670">GenOptimizer_Init</a>(opt, n_params, n_cand, n_best, mutation_amp, start_params)</td></tr>
<tr class="memitem:ga33bbb9131ac7f94c3731dd4130321885" id="r_ga33bbb9131ac7f94c3731dd4130321885"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga33bbb9131ac7f94c3731dd4130321885">GenOptimizer_Step</a>(opt, params, LossFunc)</td></tr>
<tr class="memitem:ga83abbcabaff9111c03ae2475ee72ea3e" id="r_ga83abbcabaff9111c03ae2475ee72ea3e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#ga83abbcabaff9111c03ae2475ee72ea3e">PARAM_SCALE</a>(x, min_val, max_val)</td></tr>
<tr class="memitem:gaa1d5510fe5f0bd989473f3ebe324bde3" id="r_gaa1d5510fe5f0bd989473f3ebe324bde3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html#gaa1d5510fe5f0bd989473f3ebe324bde3">PARAM_UNSCALE</a>(val, min_val, max_val)</td></tr>
</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="gen__optimizer_8h_source.html">gen_optimizer.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="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>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<map id="E:/.WORK/STM32/STM_Libs/STM32_ExtendedLibs/MyLibs/Inc/gen_optimizer.h" name="E:/.WORK/STM32/STM_Libs/STM32_ExtendedLibs/MyLibs/Inc/gen_optimizer.h">
<area shape="rect" id="Node000001" title="Заголовочный файл для адаптивного подбора параметров" alt="" coords="77,5,262,64"/>
<area shape="rect" id="Node000002" href="$mylibs__defs_8h.html" title="Заголочный файл для дефайнов библиотеки MyLibsGeneral." alt="" coords="10,112,113,139"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="136,66,90,104,87,100,133,62"/>
<area shape="rect" id="Node000004" title=" " alt="" coords="137,112,202,139"/>
<area shape="poly" id="edge3_Node000001_Node000004" title=" " alt="" coords="172,64,172,96,167,96,167,64"/>
<area shape="rect" id="Node000005" title=" " alt="" coords="226,112,289,139"/>
<area shape="poly" id="edge4_Node000001_Node000005" title=" " alt="" coords="200,62,236,99,232,103,196,66"/>
<area shape="rect" id="Node000003" title=" " alt="" coords="5,187,118,213"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="64,139,64,171,59,171,59,139"/>
</map>

View File

@@ -0,0 +1 @@
cd35cb5867481489f94cce70c426a646

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,202 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div>
<h3 class="doxsection"><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>ABS&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#ga996f7be338ccb40d1a2a5abc1ad61759">mylibs_defs.h</a></li>
<li>assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gadd7fd2c6e3a4800f1d5ddab35fd4b43e">trackers.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>ByteSwap16&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#ga0f22e895ac7781c3d1b68fee182c4291">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>check_null_ptr_1&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga5d066a5b9781f9437e75d98677489eb9">mylibs_defs.h</a></li>
<li>check_null_ptr_2&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga27b363f333cacdccc15f5174e096b5b3">mylibs_defs.h</a></li>
<li>check_null_ptr_3&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga838b40542faa9aa273d18f921b21fda2">mylibs_defs.h</a></li>
<li>check_null_ptr_4&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga590973be111afc3f9ba15e6939530254">mylibs_defs.h</a></li>
<li>check_null_ptr_5&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gaab0aafd7a4a21ec4f338b19269f65490">mylibs_defs.h</a></li>
<li>ClearStruct&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#gaf5e598848326d48e86167e5099a029be">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>Divide_Up&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#gabf45f2b60eedf80cf9d1dbe4302a741e">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>if_assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gad91d8ca89074270fc040c0449e57cf07">trackers.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>local_time&#160;:&#160;<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html#ga9c853b02c22f26023c34d1d404b6d653">trace.h</a></li>
<li>LOG_LEVEL&#160;:&#160;<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html#ga0b87e0d3bf5853bcbb0b66a7c48fdc05">trace.h</a></li>
<li>log_printf&#160;:&#160;<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html#ga730fb7b8d0bbb348dca73c15bd0e0b26">trace.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>msDelay&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gabeb97579daeb622c6651ed03c4a27479">mylibs_defs.h</a></li>
<li>msDelayStart&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga8a5051b1292d1019fe8dd3fc5521ab25">mylibs_defs.h</a></li>
<li>msDelayWaitDone&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gaed082c07b9fc4d1894330d885b9b5518">mylibs_defs.h</a></li>
<li>msDelayWhileActive&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga0b97e172659a59ee4fa56f851643ae85">mylibs_defs.h</a></li>
<li>my_printf&#160;:&#160;<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html#gae9b9b8a611e291a2f2aa5abf99f3ebaa">trace.h</a></li>
<li>MyLibs_Error_Handler&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae110df81afd885a390bbeb152d7b709f">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>num_of_usercnts&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga72be24629fedb8bf70e830373d151fbc">trackers.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>RTT_EraseFlash()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga8d8c6850e32b42871faefce3352012d1">trace.h</a></li>
<li>RTT_FlashPrepare()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga21353cb4f5af666237739e62ce019cd6">trace.h</a></li>
<li>RTT_ReadFromFlash()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga734b2ebbf0c77699b739013878cfd146">trace.h</a></li>
<li>RTT_SaveToFlash()&#160;:&#160;<a class="el" href="group___t_r_a_c_e___r_t_t___f_l_a_s_h.html#ga79f222c8ab644de4d47f07528d1edd63">trace.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>tern_assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga39b6ffbc561f8caac276415e1ad32c30">trackers.h</a></li>
<li>TRACE_GPIO_RESET&#160;:&#160;<a class="el" href="group___t_r_a_c_e___g_p_i_o.html#ga69741d88c991112e99fe7a62e025108a">trace.h</a></li>
<li>TRACE_GPIO_SET&#160;:&#160;<a class="el" href="group___t_r_a_c_e___g_p_i_o.html#ga02a6a7b273766121db8ad4a1371373eb">trace.h</a></li>
<li>TrackerClear_All&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga704f7b9f8c65c9bcec48ce7cb77a2d3b">trackers.h</a></li>
<li>TrackerClear_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gae860b6947c6e317e14d40bd7b4b8eb74">trackers.h</a></li>
<li>TrackerClear_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga5dd8bac8c7ab5832019d55d7a68371b9">trackers.h</a></li>
<li>TrackerClear_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga063dab1067005e1600ea32531fdf3f8d">trackers.h</a></li>
<li>TrackerClear_UserAll&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gaaec7ec19977bb26fa1919dfe920b82d5">trackers.h</a></li>
<li>TrackerClear_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga365a8c60bd13b75154feda649dd21ead">trackers.h</a></li>
<li>TrackerCnt_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga49af29ab3927cad105c1d2b018a767e9">trackers.h</a></li>
<li>TrackerCnt_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga23de0006aa08984cfeddb6aa5e512fa1">trackers.h</a></li>
<li>TrackerCnt_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga1b7549afc4a1760b54a9b93b0f6d105e">trackers.h</a></li>
<li>TrackerCnt_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga8017fb05a56a1b667244f1f786fa9c57">trackers.h</a></li>
<li>TrackerGet_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga9dc91e6b798a081f95f2ccef2c288e5e">trackers.h</a></li>
<li>TrackerGet_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gab880911066605602a966641682090169">trackers.h</a></li>
<li>TrackerGet_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga4b08632669043dfdbd219dda03502bdb">trackers.h</a></li>
<li>TrackerGet_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga47ac59a406ee74d4cd9fe0fbaf63a758">trackers.h</a></li>
<li>TrackerTypeDef&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga50ccb119acf302969b7fdcb58f2130e4">trackers.h</a></li>
<li>TrackerWrite_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gad2f4062a9ac8c2ab062a364f640ebc51">trackers.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_u" name="index_u"></a>- u -</h3><ul>
<li>uint16_bit&#160;:&#160;<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga6a122b536ad99ae611c8cf01437af086">bit_access.h</a></li>
<li>uint32_bit&#160;:&#160;<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#gafaa2080168b1b6f7281e8bfabab022d1">bit_access.h</a></li>
<li>uint64_bit&#160;:&#160;<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga47eb69ce9330a1c73fe8031240f02f0a">bit_access.h</a></li>
<li>uint8_bit&#160;:&#160;<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga57dc3bb3472a66fc92312f89d42d2396">bit_access.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,194 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MyLibs: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('globals_defs.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented macros with links to the documentation:</div>
<h3 class="doxsection"><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>ABS&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#ga996f7be338ccb40d1a2a5abc1ad61759">mylibs_defs.h</a></li>
<li>assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gadd7fd2c6e3a4800f1d5ddab35fd4b43e">trackers.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>ByteSwap16&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#ga0f22e895ac7781c3d1b68fee182c4291">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>check_null_ptr_1&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga5d066a5b9781f9437e75d98677489eb9">mylibs_defs.h</a></li>
<li>check_null_ptr_2&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga27b363f333cacdccc15f5174e096b5b3">mylibs_defs.h</a></li>
<li>check_null_ptr_3&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga838b40542faa9aa273d18f921b21fda2">mylibs_defs.h</a></li>
<li>check_null_ptr_4&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#ga590973be111afc3f9ba15e6939530254">mylibs_defs.h</a></li>
<li>check_null_ptr_5&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gaab0aafd7a4a21ec4f338b19269f65490">mylibs_defs.h</a></li>
<li>ClearStruct&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#gaf5e598848326d48e86167e5099a029be">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>Divide_Up&#160;:&#160;<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html#gabf45f2b60eedf80cf9d1dbe4302a741e">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>if_assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gad91d8ca89074270fc040c0449e57cf07">trackers.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>local_time&#160;:&#160;<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html#ga9c853b02c22f26023c34d1d404b6d653">trace.h</a></li>
<li>LOG_LEVEL&#160;:&#160;<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html#ga0b87e0d3bf5853bcbb0b66a7c48fdc05">trace.h</a></li>
<li>log_printf&#160;:&#160;<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html#ga730fb7b8d0bbb348dca73c15bd0e0b26">trace.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>msDelay&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gabeb97579daeb622c6651ed03c4a27479">mylibs_defs.h</a></li>
<li>msDelayStart&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga8a5051b1292d1019fe8dd3fc5521ab25">mylibs_defs.h</a></li>
<li>msDelayWaitDone&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#gaed082c07b9fc4d1894330d885b9b5518">mylibs_defs.h</a></li>
<li>msDelayWhileActive&#160;:&#160;<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html#ga0b97e172659a59ee4fa56f851643ae85">mylibs_defs.h</a></li>
<li>my_printf&#160;:&#160;<a class="el" href="group___t_r_a_c_e___s_e_r_i_a_l.html#gae9b9b8a611e291a2f2aa5abf99f3ebaa">trace.h</a></li>
<li>MyLibs_Error_Handler&#160;:&#160;<a class="el" href="group___e_r_r_o_r___h_a_n_d_l_e_r___d_e_f_i_n_e_s.html#gae110df81afd885a390bbeb152d7b709f">mylibs_defs.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>num_of_usercnts&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga72be24629fedb8bf70e830373d151fbc">trackers.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>tern_assert_usertracker&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga39b6ffbc561f8caac276415e1ad32c30">trackers.h</a></li>
<li>TRACE_GPIO_RESET&#160;:&#160;<a class="el" href="group___t_r_a_c_e___g_p_i_o.html#ga69741d88c991112e99fe7a62e025108a">trace.h</a></li>
<li>TRACE_GPIO_SET&#160;:&#160;<a class="el" href="group___t_r_a_c_e___g_p_i_o.html#ga02a6a7b273766121db8ad4a1371373eb">trace.h</a></li>
<li>TrackerClear_All&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga704f7b9f8c65c9bcec48ce7cb77a2d3b">trackers.h</a></li>
<li>TrackerClear_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gae860b6947c6e317e14d40bd7b4b8eb74">trackers.h</a></li>
<li>TrackerClear_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga5dd8bac8c7ab5832019d55d7a68371b9">trackers.h</a></li>
<li>TrackerClear_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga063dab1067005e1600ea32531fdf3f8d">trackers.h</a></li>
<li>TrackerClear_UserAll&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gaaec7ec19977bb26fa1919dfe920b82d5">trackers.h</a></li>
<li>TrackerClear_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga365a8c60bd13b75154feda649dd21ead">trackers.h</a></li>
<li>TrackerCnt_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga49af29ab3927cad105c1d2b018a767e9">trackers.h</a></li>
<li>TrackerCnt_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga23de0006aa08984cfeddb6aa5e512fa1">trackers.h</a></li>
<li>TrackerCnt_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga1b7549afc4a1760b54a9b93b0f6d105e">trackers.h</a></li>
<li>TrackerCnt_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga8017fb05a56a1b667244f1f786fa9c57">trackers.h</a></li>
<li>TrackerGet_Err&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga9dc91e6b798a081f95f2ccef2c288e5e">trackers.h</a></li>
<li>TrackerGet_Ok&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gab880911066605602a966641682090169">trackers.h</a></li>
<li>TrackerGet_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga4b08632669043dfdbd219dda03502bdb">trackers.h</a></li>
<li>TrackerGet_Warn&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga47ac59a406ee74d4cd9fe0fbaf63a758">trackers.h</a></li>
<li>TrackerTypeDef&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#ga50ccb119acf302969b7fdcb58f2130e4">trackers.h</a></li>
<li>TrackerWrite_User&#160;:&#160;<a class="el" href="group___t_r_a_c_k_e_r_s.html#gad2f4062a9ac8c2ab062a364f640ebc51">trackers.h</a></li>
</ul>
<h3 class="doxsection"><a id="index_u" name="index_u"></a>- u -</h3><ul>
<li>uint16_bit&#160;:&#160;<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga6a122b536ad99ae611c8cf01437af086">bit_access.h</a></li>
<li>uint32_bit&#160;:&#160;<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#gafaa2080168b1b6f7281e8bfabab022d1">bit_access.h</a></li>
<li>uint64_bit&#160;:&#160;<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga47eb69ce9330a1c73fe8031240f02f0a">bit_access.h</a></li>
<li>uint8_bit&#160;:&#160;<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html#ga57dc3bb3472a66fc92312f89d42d2396">bit_access.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

View File

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

View File

@@ -0,0 +1,173 @@
<!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: Graph Legend</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MyLibs<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Расширенные библиотеки для STM32</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('graph_legend.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">Graph Legend</div></div>
</div><!--header-->
<div class="contents">
<p>This page explains how to interpret the graphs that are generated by doxygen.</p>
<p>Consider the following example: </p><div class="fragment"><div class="line"><span class="comment">/*! Invisible class because of truncation */</span></div>
<div class="line"><span class="keyword">class </span>Invisible { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Truncated class, inheritance relation is hidden */</span></div>
<div class="line"><span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { };</div>
<div class="line"> </div>
<div class="line"><span class="comment">/* Class not documented with doxygen comments */</span></div>
<div class="line"><span class="keyword">class </span>Undocumented { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Class that is inherited using public inheritance */</span></div>
<div class="line"><span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! A template class */</span></div>
<div class="line"><span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">class </span>Templ { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Class that is inherited using protected inheritance */</span></div>
<div class="line"><span class="keyword">class </span>ProtectedBase { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Class that is inherited using private inheritance */</span></div>
<div class="line"><span class="keyword">class </span>PrivateBase { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Class that is used by the Inherited class */</span></div>
<div class="line"><span class="keyword">class </span>Used { };</div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">/*! Super class that inherits a number of other classes */</span></div>
<div class="line"><span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase,</div>
<div class="line"> <span class="keyword">protected</span> ProtectedBase,</div>
<div class="line"> <span class="keyword">private</span> PrivateBase,</div>
<div class="line"> <span class="keyword">public</span> Undocumented,</div>
<div class="line"> <span class="keyword">public</span> Templ&lt;int&gt;</div>
<div class="line">{</div>
<div class="line"> <span class="keyword">private</span>:</div>
<div class="line"> Used *m_usedClass;</div>
<div class="line">};</div>
</div><!-- fragment --><p> This will result in the following graph:</p>
<center><img src="graph_legend.png" alt="" class="inline"/></center><p>The boxes in the above graph have the following meaning: </p>
<ul>
<li>
A filled gray box represents the struct or class for which the graph is generated. </li>
<li>
A box with a black border denotes a documented struct or class. </li>
<li>
A box with a gray border denotes an undocumented struct or class. </li>
<li>
A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li>
</ul>
<p>The arrows have the following meaning: </p>
<ul>
<li>
A blue arrow is used to visualize a public inheritance relation between two classes. </li>
<li>
A dark green arrow is used for protected inheritance. </li>
<li>
A dark red arrow is used for private inheritance. </li>
<li>
A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible. </li>
<li>
A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>

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