Files
M5Unit-FINGER/unit___finger2_8hpp_source.html

716 lines
161 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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.11.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>M5Unit-FINGER: src/unit/unit_Finger2.hpp 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="resize.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>
<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">M5Unit-FINGER<span id="projectnumber">&#160;0.1.0 git rev:4cebcb2</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.11.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</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">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('unit___finger2_8hpp_source.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">unit_Finger2.hpp</div></div>
</div><!--header-->
<div class="contents">
<a href="unit___finger2_8hpp.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"> * SPDX-FileCopyrightText: 2025 M5Stack Technology CO LTD</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> *</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * SPDX-License-Identifier: MIT</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="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#ifndef M5_UNIT_FINGER_UNIT_FINGER2_HPP</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#define M5_UNIT_FINGER_UNIT_FINGER2_HPP</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &lt;M5UnitComponent.hpp&gt;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;array&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacem5.html">m5</a> {</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespaceunit.html">unit</a> {</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacefinger2.html">finger2</a> {</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="foldopen" id="foldopen00029" data-start="{" data-end="};">
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="unit___finger2_8hpp.html#a5773711ddd7ae0f4f37a485953ec3cc3"> 29</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#a5773711ddd7ae0f4f37a485953ec3cc3">WorkMode</a> : uint8_t {</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a5773711ddd7ae0f4f37a485953ec3cc3ab692a8c65d48edd50155ff86e08ec19e">ScheduledSleep</a>, </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a5773711ddd7ae0f4f37a485953ec3cc3a44ca03069265e45e1c7ed851549b34dd">AlwaysActive</a>, </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span>};</div>
</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</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="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9d"> 39</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9d">LEDMode</a> : uint8_t {</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9da6adf97f83acf6453d4a6a4b1070f3754">None</a>, </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9da382f1d7e8d99f3ee29d872432b560c16">Breath</a>, </div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9dacfad0a7419f44ea0c64db24197abbf70">Blink</a>, </div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9da521c36a31c2762741cf0f8890cbe05e3">On</a>, </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9dad15305d7a4e34e02489c74a5ef542f36">Off</a>, </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9da5c47e9858ab884ceca52e8d9959368ed">Fadein</a>, </div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9da93b5e2eadc7b94177fa6c6e9b5b76224">Fadeout</a>, </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9da4aca5ee9a087fb9218bfb662fe92605c">Rainbow</a>, </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9dabd400f6e14b1e4c36872fdbc21d1aade">Bleath</a> = <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9da382f1d7e8d99f3ee29d872432b560c16">Breath</a>, </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span>};</div>
</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</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="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42"> 55</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42">LEDColor</a> : uint8_t {</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42ae90dfb84e30edf611e326eeb04d680de">Black</a>, </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42a9594eec95be70e7b1710f730fdda33d9">Blue</a>, </div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42ad382816a3cbeed082c9e216e7392eed1">Green</a>, </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42a023c239d2f2538f140a20e72c7b73f20">Cyan</a>, </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42aee38e4d5dd68c4e440825018d549cb47">Red</a>, </div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42ab91cc2c1416fcca942b61c7ac5b1a9ac">Magenta</a>, </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42a51e6cd92b6c45f9affdc158ecca2b8b8">Yellow</a>, </div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42a25a81701fbfa4a1efdf660a950c1d006">White</a> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span>};</div>
</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
<div class="foldopen" id="foldopen00070" data-start="{" data-end="};">
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="unit___finger2_8hpp.html#ae378c867c6de3829e71399995973fcc2"> 70</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#ae378c867c6de3829e71399995973fcc2">RegisterID</a> : uint8_t {</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#ae378c867c6de3829e71399995973fcc2a1eb898097fbbaceb1322d33022f1908c">PacketSize</a> = 6, </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span>};</div>
</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
<div class="foldopen" id="foldopen00078" data-start="{" data-end="};">
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html"> 78</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html">SystemBasicParams</a> {</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#ab8137eff0daa193f8510dc72125d5cb7"> 79</a></span> uint16_t <a class="code hl_variable" href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#ab8137eff0daa193f8510dc72125d5cb7">status</a>{}; </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#afdff7de0f87d488e974d3ddf06b09f7d"> 80</a></span> uint16_t <a class="code hl_variable" href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#afdff7de0f87d488e974d3ddf06b09f7d">sensor_type</a>{}; </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#ad36118aee58f22a3e41c30d8ee028ab6"> 81</a></span> uint16_t <a class="code hl_variable" href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#ad36118aee58f22a3e41c30d8ee028ab6">database_capacity</a>{}; </div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#a63473d77290536ba3f47359aa9caa409"> 82</a></span> uint16_t <a class="code hl_variable" href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#a63473d77290536ba3f47359aa9caa409">score_level</a>{}; </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#a5980dee18db29c808aef56e8cc3bb3b0"> 83</a></span> uint32_t <a class="code hl_variable" href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#a5980dee18db29c808aef56e8cc3bb3b0">address</a>{}; </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#a076a4d071ad1100abc27b756904cd77e"> 84</a></span> uint16_t <a class="code hl_variable" href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#a076a4d071ad1100abc27b756904cd77e">packet_size</a>{}; </div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#a29041cdf7a65fe6b7dbfe5680161407d"> 85</a></span> uint16_t <a class="code hl_variable" href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#a29041cdf7a65fe6b7dbfe5680161407d">baud_rate</a>{}; </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span>} __attribute__((packed));</div>
</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"><a class="line" href="unit___finger2_8hpp.html#aaa4d455237126dce0e9e47f4aa854d3f"> 89</a></span><span class="keyword">using </span><a class="code hl_typedef" href="unit___finger2_8hpp.html#aaa4d455237126dce0e9e47f4aa854d3f">auto_enroll_flag_t</a> = uint16_t; </div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="unit___finger2_8hpp.html#a0ac4d20b114942e2b2ca258e8e2c3b88"> 90</a></span><span class="keyword">using </span><a class="code hl_typedef" href="unit___finger2_8hpp.html#a0ac4d20b114942e2b2ca258e8e2c3b88">auto_identify_flag_t</a> = uint16_t; </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespaceauto__enroll__flag.html">auto_enroll_flag</a> {</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="unit___finger2_8hpp.html#aef0011fa5d29d6506c953c5793331dd0"> 97</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="unit___finger2_8hpp.html#aaa4d455237126dce0e9e47f4aa854d3f">auto_enroll_flag_t</a> <a class="code hl_variable" href="unit___finger2_8hpp.html#aef0011fa5d29d6506c953c5793331dd0">DONT_RETURN_INTERMEDIATE_RESULTS</a>{1U &lt;&lt; 2}; </div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="unit___finger2_8hpp.html#ac20e5e8c5cf97d7823f685150bc21f95"> 98</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="unit___finger2_8hpp.html#aaa4d455237126dce0e9e47f4aa854d3f">auto_enroll_flag_t</a> <a class="code hl_variable" href="unit___finger2_8hpp.html#ac20e5e8c5cf97d7823f685150bc21f95">ALLOW_OVERWRITE_PAGE</a>{1U &lt;&lt; 3}; </div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="unit___finger2_8hpp.html#a8df757b95c98ae73bdc33c734601557e"> 99</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="unit___finger2_8hpp.html#aaa4d455237126dce0e9e47f4aa854d3f">auto_enroll_flag_t</a> <a class="code hl_variable" href="unit___finger2_8hpp.html#a8df757b95c98ae73bdc33c734601557e">PROHIBIT_DUPLICATE_TEMPLATE</a>{1U &lt;&lt; 4}; </div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="unit___finger2_8hpp.html#aeced9d214b0046b26f3128da3105ba2a"> 100</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="unit___finger2_8hpp.html#aaa4d455237126dce0e9e47f4aa854d3f">auto_enroll_flag_t</a> <a class="code hl_variable" href="unit___finger2_8hpp.html#aeced9d214b0046b26f3128da3105ba2a">NO_NEED_RELEASE_FINGER</a>{1U &lt;&lt; 5}; </div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="unit___finger2_8hpp.html#ae1ba4ac72a4594b7f982397632a8e5c3"> 103</a></span>[[deprecated(<span class="stringliteral">&quot;use NO_NEED_RELEASE_FINGER&quot;</span>)]] <span class="keyword">constexpr</span> <a class="code hl_typedef" href="unit___finger2_8hpp.html#aaa4d455237126dce0e9e47f4aa854d3f">auto_enroll_flag_t</a> <a class="code hl_variable" href="unit___finger2_8hpp.html#ae1ba4ac72a4594b7f982397632a8e5c3">NO_NEED_RELAESE_FINGER</a> =</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <a class="code hl_variable" href="unit___finger2_8hpp.html#aeced9d214b0046b26f3128da3105ba2a">NO_NEED_RELEASE_FINGER</a>;</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="comment">// namespace auto_enroll_flag</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespaceauto__identify__flag.html">auto_identify_flag</a> {</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="unit___finger2_8hpp.html#a4b9338fdaf620d8327d7d5a843b9baaf"> 113</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="unit___finger2_8hpp.html#a0ac4d20b114942e2b2ca258e8e2c3b88">auto_identify_flag_t</a> DONT_RETURN_INTERMEDIATE_RESULTS{1U &lt;&lt; 2}; </div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span>} <span class="comment">// namespace auto_identify_flag</span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> </div>
<div class="foldopen" id="foldopen00120" data-start="{" data-end="};">
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"><a class="line" href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20b"> 120</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20b">AutoEnrollStage</a> : uint8_t {</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20ba926d7fc41ba4b7cf621a5a6b686728bc">VerifyCommand</a>, </div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20ba40d4d354b32c7259bcb82379de2deb67">GetImage</a>, </div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20ba221b0c21b8b12036da3765b6dfc133cd">GenerateCharacteristic</a>, </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20ba44b1cd86cd1d4dc768f46d7db6f6eb86">ReleasedFinger</a>, </div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20baaeb818dae11b6e94b9b69afd654382a9">MergeTemplate</a>, </div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20bab4faa7ed9568d022a0cd8e6b6d510999">Inspection</a>, </div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20ba1a21cc7d3d936507d9307ee627a0819a">StoreTemplate</a>, </div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span>};</div>
</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div>
<div class="foldopen" id="foldopen00134" data-start="{" data-end="};">
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"><a class="line" href="unit___finger2_8hpp.html#a46784bb5ac5c7d7eadaf4bff2b4e74fc"> 134</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#a46784bb5ac5c7d7eadaf4bff2b4e74fc">AutoIdentifyStage</a> : uint8_t {</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20ba926d7fc41ba4b7cf621a5a6b686728bc">VerifyCommand</a>, </div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20ba40d4d354b32c7259bcb82379de2deb67">GetImage</a>, </div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a46784bb5ac5c7d7eadaf4bff2b4e74fca8eea62084ca7e541d918e823422bd82e">Result</a> = 0x05, </div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span>};</div>
</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> </div>
<div class="foldopen" id="foldopen00144" data-start="{" data-end="};">
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"><a class="line" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43"> 144</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43">ConfirmCode</a> : uint8_t {</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ae0aa021e21dddbd6d8cecec71e9cf564">OK</a>, </div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43adee3724d77b4d8fca677636453c4bb89">PacketError</a>, </div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ac5cb4b78e7bff58f76e165335539e078">NoFinger</a>, </div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a3a0dd9b6c096fa74bfaf57e4638eff75">ImageFailed</a>, </div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ad55345eba32a58827336e1a76d5c2ea8">ImageTooDry</a>, </div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a17c9ac1938a4f2ee8e84452dc30225b9">ImageTooHumid</a>, </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a7de3043521c77e94fd69b089e26a1376">ImageTooAmorphous</a>, </div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a050225c3bef104008920a17351d0657a">ImageTooFew</a>, </div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a164fe50bf145ff772a4229487cba0b50">Unmatched</a>, </div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a38c300f4fc9ce8a77aad4a30de05cad8">NotFound</a>, </div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a940c8b63ac9d9321a8f94eaa4976ec6f">MergeFailed</a>, </div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a4afa6b2071b190f846d9d9478dc86864">AddressOverflow</a>, </div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a22959bc52be05c7c62a4d682bf2ae948">ReadTemplateFailed</a>, </div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a974e73d4dba552e1ca3dc63b4d7ed281">UploadFailed</a>, </div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43af0dc5b8dbf46673b612bb962a4b05a83">ReceiveFailed</a>, </div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a03c86e63d056c3dd90b501546ab5358c">UploadImageFailed</a>, </div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a222b63a5d60da8abc643b370c1bbab1a">DeleteFailed</a>, </div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a27e9c4d9241f40c867f08a7002765a91">ClearFailed</a>, </div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ae4377505854820bcf6f0fdfb9bec0e01">LowPowerFailed</a>, </div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a6761e4fd00ffd18ba1883f248b718190">PasswordIncorrect</a>, </div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a1146ac1333f9770279495caf794dd75a">ResetFailed</a>, </div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43af49ae8fe8248723951485ee429a017db">ResettFailed</a> = <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a1146ac1333f9770279495caf794dd75a">ResetFailed</a>, </div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43abbc6fbaf4e96a46ed525bfabfb1b6c29">NoValidImage</a>, </div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43acb8992c2192fb2bdc4f5f8bfbd392ae8">UpgradeFailed</a>, </div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a36a34b26fd53cd389df8f3c9f3b40332">IncompleteFinger</a>, </div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a8dc2b8bce6b6535303ba6c3e5671976e">FlashError</a>, </div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a20d2bbd050e3b61460e21725c6958fa8">RandomError</a>, </div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43af58e66bc89ff44f129d186365d8b88f8">InvalidRegister</a>, </div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a1228b94748cada1774376467864079ac">RegisterError</a>, </div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a11e535097662952d0405a55b85b96bad">NotepadPageError</a>, </div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a970946fb47e239a9c4e193783f3d66e7">PortError</a>, </div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a6d11f6343414bdc2e52afac606a88d1a">AutoEnrollFailed</a>, </div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a2421ade0d1ecc7309dd01434c876a58d">DatabaseFull</a>, </div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a509f3bfe141489b3f6c67dc6e5d8ebdf">IncorrectAddress</a>, </div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ad7843474f9328c8d99cc6f87ae3bc2cf">VerifyPassword</a>, </div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a38a954523618d9f075178a4403a6da05">TemplateNotEmpty</a>, </div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a660698f4f63ac5ee13a16e66cc10e05d">TemplateEmpty</a>, </div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ac7c76add973d7131bdee9556667dbab6">DatabaseEmpty</a>, </div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a597e77fd4c7057bfcf09ffe16e8a8675">IncorrectEnrollCount</a>, </div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ac85a251cc457840f1e032f1b733e9398">Timeout</a>, </div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a89b69484680b18e9179e826c6e023805">AlreadyExists</a>, </div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43afe5f5cf61a809d0dd4f355b34caaf648">FeatureAssociated</a>, </div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a6c38620d8dfc4596db149f65151d2582">InitializeFailed</a>, </div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a44e88b15b351e7b43a74fe65c5468336">initializeFailed</a> = <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a6c38620d8dfc4596db149f65151d2582">InitializeFailed</a>, </div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a3cd2ea98f70f19a1973f09d0dd740aa5">InformationNotEmpty</a>, </div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ae3293c9dc28f533e13252a85c986cc28">InformationEmpty</a>, </div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a13f74c3a7213b9610f823357cd688320">OTPFailed</a>, </div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43af4d400d118a84177492a1935036d2209">KeyGenerateFailed</a>, </div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ac2740dba93725fbd5afa204fb481a9a3">KeyNotExist</a>, </div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43abe5d01a8700656acd0d4742ee4b9d7cc">AlgorithmFailed</a>, </div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43aaaa7b48d044ca8154aa3cfa0ddb2587c">IncorrectResult</a>, </div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a2bfcf6acc23028e8d94e0843d793dd59">MismatchFunction</a>, </div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a12325cd82765622cd656ceaac963c636">KeyLocked</a>, </div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a858be3ee54610680c81b63c4b5df28f8">SmallImage</a>, </div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ad51f16520866bdfa8ac73ee63d256e58">StaticObjectInImage</a>, </div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a6e4f8a52dbac837449d22ee3fd9f3d99">IllegalData</a>, </div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a5a59267a6dbfd428114c81b8799da8ea">PacketTimeout</a> = 0xF9, </div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ae2262dc63f9bb77e4c1db31d65b1791b">PacketBad</a>, </div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a5eb281a5c10f1efd32ab0abc35d5c648">PacketOverflow</a>, </div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a694829c5919d4c1bacb8f1599e4de884">OperationBlocked</a>, </div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a189976b733e988a6903e4d19d8cd2fea">ParameterError</a>, </div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a2b2c350e9a20a57773a9efa14c8c36e5">NotActive</a>, </div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <a class="code hl_enumvalue" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a4de677b08b4f8fbede897517c2a23460">PassiveActivation</a> = 0xFF, </div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span>};</div>
</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> </div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"><a class="line" href="unit___finger2_8hpp.html#a2a8752fbc6f204322a1838d28c3e4fc2"> 221</a></span><span class="keyword">using </span><a class="code hl_typedef" href="unit___finger2_8hpp.html#a2a8752fbc6f204322a1838d28c3e4fc2">auto_enroll_callback_t</a> = bool (*)(<span class="keyword">const</span> uint16_t call_times, <span class="keyword">const</span> uint16_t page_id, <span class="keyword">const</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43">ConfirmCode</a> confirm,</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <span class="keyword">const</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20b">AutoEnrollStage</a> stage, <span class="keyword">const</span> uint8_t state);</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"><a class="line" href="unit___finger2_8hpp.html#a00f3e5cdc06d9cdbf0ac53c5a065ff74"> 231</a></span><span class="keyword">using </span><a class="code hl_typedef" href="unit___finger2_8hpp.html#a00f3e5cdc06d9cdbf0ac53c5a065ff74">auto_identify_callback_t</a> = bool (*)(<span class="keyword">const</span> uint16_t call_times, <span class="keyword">const</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43">ConfirmCode</a> confirm,</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <span class="keyword">const</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#a46784bb5ac5c7d7eadaf4bff2b4e74fc">AutoIdentifyStage</a> stage);</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> </div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"><a class="line" href="unit___finger2_8hpp.html#a218f92e2852cdf2a802d680f38639f1e"> 245</a></span><span class="keyword">using </span><a class="code hl_typedef" href="unit___finger2_8hpp.html#a218f92e2852cdf2a802d680f38639f1e">batch_callback_t</a> = bool (*)(<span class="keyword">const</span> uint16_t call_times, <span class="keyword">const</span> uint16_t actual_size, <span class="keyword">const</span> uint16_t batch_size,</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <span class="keyword">const</span> uint16_t total_size, <span class="keyword">const</span> uint16_t planned_size, <span class="keyword">const</span> <span class="keywordtype">bool</span> completed);</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> </div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span>} <span class="comment">// namespace finger2</span></div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> </div>
<div class="foldopen" id="foldopen00254" data-start="{" data-end="};">
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"><a class="line" href="classm5_1_1unit_1_1_unit_finger2.html"> 254</a></span><span class="keyword">class </span><a class="code hl_class" href="classm5_1_1unit_1_1_unit_finger2.html">UnitFinger2</a> : <span class="keyword">public</span> Component {</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> M5_UNIT_COMPONENT_HPP_BUILDER(<a class="code hl_class" href="classm5_1_1unit_1_1_unit_finger2.html">UnitFinger2</a>, 0x00);</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> </div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"><a class="line" href="classm5_1_1unit_1_1_unit_finger2.html#a264d024d9e47a18e8e1f20bf75d9cf0b"> 258</a></span> <span class="keyword">static</span> <span class="keyword">constexpr</span> uint32_t <a class="code hl_variable" href="classm5_1_1unit_1_1_unit_finger2.html#a264d024d9e47a18e8e1f20bf75d9cf0b">DEFAULT_MODULE_ADDRESS</a>{0xFFFFFFFF}; </div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="keyword">using </span>Packet = std::vector&lt;uint8_t&gt;;</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> </div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"><a class="line" href="classm5_1_1unit_1_1_unit_finger2.html#accf855ed789e91a349b49c5c729114db"> 261</a></span> <span class="keyword">static</span> <span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="classm5_1_1unit_1_1_unit_finger2.html#accf855ed789e91a349b49c5c729114db">IMAGE_WIDTH</a>{80}; </div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"><a class="line" href="classm5_1_1unit_1_1_unit_finger2.html#a460a0077bb12f66cef8210edebe378a5"> 262</a></span> <span class="keyword">static</span> <span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="classm5_1_1unit_1_1_unit_finger2.html#a460a0077bb12f66cef8210edebe378a5">IMAGE_HEIGHT</a>{208}; </div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"><a class="line" href="classm5_1_1unit_1_1_unit_finger2.html#a69a308e878ba8646307a368dc513f278"> 263</a></span> <span class="keyword">static</span> <span class="keyword">constexpr</span> uint16_t <a class="code hl_variable" href="classm5_1_1unit_1_1_unit_finger2.html#a69a308e878ba8646307a368dc513f278">TEMPLATE_SIZE</a>{7262}; </div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> </div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span><span class="keyword">protected</span>:</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <span class="keyword">explicit</span> <a class="code hl_class" href="classm5_1_1unit_1_1_unit_finger2.html">UnitFinger2</a>(<span class="keyword">const</span> uint32_t device_address) : Component(DEFAULT_ADDRESS), _address{device_address}</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> }</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> </div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> UnitFinger2() : UnitFinger2(<a class="code hl_variable" href="classm5_1_1unit_1_1_unit_finger2.html#a264d024d9e47a18e8e1f20bf75d9cf0b">DEFAULT_MODULE_ADDRESS</a>)</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> }</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> </div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> <span class="keyword">virtual</span> ~UnitFinger2() = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> </div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#afb56c39e6b76bd5ebfe0956b31bc9afb">begin</a>() <span class="keyword">override</span>;</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> </div>
<div class="foldopen" id="foldopen00284" data-start="{" data-end="};">
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"><a class="line" href="structm5_1_1unit_1_1_unit_finger2_1_1config__t.html"> 284</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structm5_1_1unit_1_1_unit_finger2_1_1config__t.html">config_t</a> {</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"><a class="line" href="structm5_1_1unit_1_1_unit_finger2_1_1config__t.html#ab8d1259f8a7553358d6c4b07d9ebb30a"> 285</a></span> uint32_t <a class="code hl_variable" href="structm5_1_1unit_1_1_unit_finger2_1_1config__t.html#ab8d1259f8a7553358d6c4b07d9ebb30a">timeout_ms</a>{1000 * 4}; </div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"><a class="line" href="structm5_1_1unit_1_1_unit_finger2_1_1config__t.html#abe7ac4b1b0d5b732c7af00537dd02f41"> 286</a></span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#a5773711ddd7ae0f4f37a485953ec3cc3">finger2::WorkMode</a> <a class="code hl_variable" href="structm5_1_1unit_1_1_unit_finger2_1_1config__t.html#abe7ac4b1b0d5b732c7af00537dd02f41">work_mode</a>{finger2::WorkMode::ScheduledSleep}; </div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"><a class="line" href="structm5_1_1unit_1_1_unit_finger2_1_1config__t.html#ac29e3e562e0f0b2f24ff1daf35ff479c"> 287</a></span> uint8_t <a class="code hl_variable" href="structm5_1_1unit_1_1_unit_finger2_1_1config__t.html#ac29e3e562e0f0b2f24ff1daf35ff479c">sleep_time</a>{10}; </div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> };</div>
</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> </div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> </div>
<div class="foldopen" id="foldopen00293" data-start="{" data-end="}">
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"><a class="line" href="classm5_1_1unit_1_1_unit_finger2.html#a670e103aa4e3954ab55e05d8f16842ea"> 293</a></span> <span class="keyword">inline</span> <a class="code hl_struct" href="structm5_1_1unit_1_1_unit_finger2_1_1config__t.html">config_t</a> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a670e103aa4e3954ab55e05d8f16842ea">config</a>()</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> {</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> <span class="keywordflow">return</span> _cfg;</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> }</div>
</div>
<div class="foldopen" id="foldopen00298" data-start="{" data-end="}">
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"><a class="line" href="classm5_1_1unit_1_1_unit_finger2.html#a31d35a3c2af95e2ebbb6a714c5ba3383"> 298</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a31d35a3c2af95e2ebbb6a714c5ba3383">config</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structm5_1_1unit_1_1_unit_finger2_1_1config__t.html">config_t</a>&amp; cfg)</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> {</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> _cfg = cfg;</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> }</div>
</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> </div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> </div>
<div class="foldopen" id="foldopen00310" data-start="{" data-end="}">
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"><a class="line" href="classm5_1_1unit_1_1_unit_finger2.html#a17c10dc580d47b1f7ac1939721bac615"> 310</a></span> uint32_t <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a17c10dc580d47b1f7ac1939721bac615">deviceAddress</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">return</span> _address;</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> }</div>
</div>
<div class="foldopen" id="foldopen00315" data-start="{" data-end="}">
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"><a class="line" href="classm5_1_1unit_1_1_unit_finger2.html#a8ee0c3af954a2227c8ce962273006bdd"> 315</a></span> <span class="keyword">inline</span> <span class="keyword">constexpr</span> uint16_t <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a8ee0c3af954a2227c8ce962273006bdd">imageWidth</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classm5_1_1unit_1_1_unit_finger2.html#accf855ed789e91a349b49c5c729114db">IMAGE_WIDTH</a>;</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> }</div>
</div>
<div class="foldopen" id="foldopen00320" data-start="{" data-end="}">
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"><a class="line" href="classm5_1_1unit_1_1_unit_finger2.html#a6204acd02be5940f7bf900fb7f6da2a2"> 320</a></span> <span class="keyword">inline</span> <span class="keyword">constexpr</span> uint16_t <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a6204acd02be5940f7bf900fb7f6da2a2">imageHeight</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classm5_1_1unit_1_1_unit_finger2.html#a460a0077bb12f66cef8210edebe378a5">IMAGE_HEIGHT</a>;</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> }</div>
</div>
<div class="foldopen" id="foldopen00328" data-start="{" data-end="}">
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"><a class="line" href="classm5_1_1unit_1_1_unit_finger2.html#ac09c3075a4fa240415f78dcbe6d5b8f9"> 328</a></span> <span class="keyword">inline</span> uint16_t <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#ac09c3075a4fa240415f78dcbe6d5b8f9">capacity</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> <span class="keywordflow">return</span> _pageCapacity;</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> }</div>
</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> </div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a6afa72c97425c2647edd5588ead9796e">readModuleStatus</a>(<span class="keywordtype">bool</span>&amp; awake);</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> </div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a10046b1678181292ecaf36d57c99c53f">wakeup</a>();</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> </div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> </div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a9eb6f146b98aeaee7d16767f84cd78af">readWorkMode</a>(<a class="code hl_enumeration" href="unit___finger2_8hpp.html#a5773711ddd7ae0f4f37a485953ec3cc3">finger2::WorkMode</a>&amp; wm);</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#ae8f806850b5226ed4e74288f6229348c">writeWorkMode</a>(<span class="keyword">const</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#a5773711ddd7ae0f4f37a485953ec3cc3">finger2::WorkMode</a> wm);</div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#ad36f7fb616a0624a4096eeba1e2efb3f">saveWorkMode</a>();</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> </div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a56647f2c0ea31dfa2637acd9c0e4461a">readSleepTime</a>(uint8_t&amp; sec);</div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a511dded7a3257c42d383e109b9030afb">writeSleepTime</a>(<span class="keyword">const</span> uint8_t sec);</div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#afce0125f589f88c2427775f91d358423">saveSleepTime</a>();</div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> </div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a1eca82a14a10ee7f2ad4a16b26dc5b86">readSystemParams</a>(<a class="code hl_struct" href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html">finger2::SystemBasicParams</a>&amp; params);</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> </div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a5017d3596461567e4f5a30d390bc8ada">writeSystemRegister</a>(<span class="keyword">const</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#ae378c867c6de3829e71399995973fcc2">finger2::RegisterID</a> reg_id, <span class="keyword">const</span> uint8_t value);</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> </div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#aa68ca79c3356f05142f0bc5ae754cc8d">writeControlLED</a>(<span class="keyword">const</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9d">finger2::LEDMode</a> mode, <span class="keyword">const</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42">finger2::LEDColor</a> clr, <span class="keyword">const</span> uint8_t cycle = 0,</div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> <span class="keyword">const</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42">finger2::LEDColor</a> eclr = finger2::LEDColor::Black);</div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> </div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#adaaae692c4432d6864cd34b82e3085fe">writeControlLEDRainbow</a>(<span class="keyword">const</span> uint8_t tm, <span class="keyword">const</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42">finger2::LEDColor</a>* colors, <span class="keyword">const</span> uint8_t colors_num,</div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> <span class="keyword">const</span> uint8_t cycle);</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> </div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> </div>
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a7dbd0016396bf57346ce43a0b551c3d2">capture</a>(<span class="keywordtype">bool</span>&amp; detected, <span class="keyword">const</span> <span class="keywordtype">bool</span> enroll = <span class="keyword">false</span>);</div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> </div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a9492e10a5cd489632f40e49b89be95f2">readImageInformation</a>(uint8_t&amp; percentage, <span class="keywordtype">bool</span>&amp; quality);</div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> </div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#acd6cf20e49738cb61c107fa301eab3d2">readImage</a>(std::vector&lt;uint8_t&gt;&amp; img);</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> </div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a21bde6f13991f089ee71424dbf148a98">generateCharacteristic</a>(<span class="keyword">const</span> uint8_t buffer_id = 1);</div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> </div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a7cffde2a17f7e34689c441dfb6c64086">generateTemplate</a>();</div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span> </div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a33effad1d4401f0cf767ad6a0d27709b">storeTemplate</a>(<span class="keyword">const</span> uint16_t page_id, <span class="keyword">const</span> uint8_t buffer_id = 1);</div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> </div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a6785d5f6ae8c07f26a1d4d40ae84b96b">match</a>(<span class="keywordtype">bool</span>&amp; matched, uint16_t&amp; score);</div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> </div>
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a57a6952ff65cd98966743c62a0ccda14">search</a>(<span class="keywordtype">bool</span>&amp; matched, uint16_t&amp; matching_page_id, uint16_t&amp; score, <span class="keyword">const</span> uint8_t buffer_id = 1,</div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span> <span class="keyword">const</span> uint16_t start_page = 0, <span class="keyword">const</span> uint16_t page_num = 0);</div>
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span> </div>
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a5a4d34db17d80844e321d6fc85a74a18">searchNow</a>(<span class="keywordtype">bool</span>&amp; matched, uint16_t&amp; matching_page_id, uint16_t&amp; score, <span class="keyword">const</span> uint16_t start_page = 0,</div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span> <span class="keyword">const</span> uint16_t page_num = 0);</div>
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> </div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> </div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> </div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a8095c9d84ebae075051c58d6eb1b66ba">loadTemplate</a>(<span class="keyword">const</span> uint8_t buffer_id, <span class="keyword">const</span> uint16_t page_id);</div>
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span> </div>
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"> 574</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a37ea67a21c91f7be91e3e87a84478898">readTemplate</a>(uint16_t&amp; actual_size, uint8_t* buf, <span class="keyword">const</span> uint16_t buf_size, <span class="keyword">const</span> uint16_t offset);</div>
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span> </div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a24d88407b0c284c3d1f7171c59c73667">readTemplateAllBatches</a>(uint16_t&amp; actual_size, uint8_t* buf, <span class="keyword">const</span> uint16_t buf_size,</div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span> <span class="keyword">const</span> uint16_t batch_size = 128, <a class="code hl_typedef" href="unit___finger2_8hpp.html#a218f92e2852cdf2a802d680f38639f1e">finger2::batch_callback_t</a> callback = <span class="keyword">nullptr</span>);</div>
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"> 594</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#aeb74772c127e3e7c80d6c92532632eea">writeTemplate</a>(<span class="keyword">const</span> uint16_t offset, <span class="keyword">const</span> uint8_t* buf, <span class="keyword">const</span> uint16_t buf_size);</div>
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"> 603</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#afe02ada6752ce8baa44c9e8fc94b8e00">writeTemplateAllBatches</a>(<span class="keyword">const</span> uint8_t* buf, <span class="keyword">const</span> uint16_t buf_size, <span class="keyword">const</span> uint16_t batch_size = 128,</div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"> 604</span> <a class="code hl_typedef" href="unit___finger2_8hpp.html#a218f92e2852cdf2a802d680f38639f1e">finger2::batch_callback_t</a> callback = <span class="keyword">nullptr</span>);</div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span> </div>
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a4675bf57fe76eadef26ecef278f2f5b7">deleteTemplate</a>(<span class="keyword">const</span> uint16_t page_id, <span class="keyword">const</span> uint16_t num = 1);</div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"> 614</span> </div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a18b55a9f1c7095288d5c59a44fc2ec47">clear</a>();</div>
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span> </div>
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno"> 629</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a01ff39f53211f0c2722211ed107c8aab">readValidTemplates</a>(uint16_t&amp; num);</div>
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"> 630</span> </div>
<div class="line"><a id="l00638" name="l00638"></a><span class="lineno"> 638</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#aee91e068740035d8ec55f9e659b0623a">readIndexTable</a>(uint8_t table[32]);</div>
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno"> 639</span> </div>
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno"> 649</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a3cd81f31dd62f340240d10831f1d40a9">existsTemplate</a>(<span class="keyword">const</span> uint16_t page_id);</div>
<div class="line"><a id="l00650" name="l00650"></a><span class="lineno"> 650</span> </div>
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"> 656</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a119fb58f602062fdf90f4c5fc2904ff9">findLowestAvailablePage</a>(uint16_t&amp; page);</div>
<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"> 657</span> </div>
<div class="line"><a id="l00663" name="l00663"></a><span class="lineno"> 663</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a2b140f7aa83103b9e032a4349b1e0321">findHighestAvailablePage</a>(uint16_t&amp; page);</div>
<div class="line"><a id="l00665" name="l00665"></a><span class="lineno"> 665</span> </div>
<div class="line"><a id="l00669" name="l00669"></a><span class="lineno"> 669</span> </div>
<div class="line"><a id="l00682" name="l00682"></a><span class="lineno"> 682</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#aa1ed2780f6226ab8827b339bb1724c70">autoEnroll</a>(<a class="code hl_enumeration" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43">finger2::ConfirmCode</a>&amp; confirm, <span class="keyword">const</span> uint16_t page_id, <span class="keyword">const</span> uint8_t capture_times = 5,</div>
<div class="line"><a id="l00683" name="l00683"></a><span class="lineno"> 683</span> <span class="keyword">const</span> <a class="code hl_typedef" href="unit___finger2_8hpp.html#aaa4d455237126dce0e9e47f4aa854d3f">finger2::auto_enroll_flag_t</a> flags = 0, <a class="code hl_typedef" href="unit___finger2_8hpp.html#a2a8752fbc6f204322a1838d28c3e4fc2">finger2::auto_enroll_callback_t</a> callback = <span class="keyword">nullptr</span>);</div>
<div class="line"><a id="l00684" name="l00684"></a><span class="lineno"> 684</span> </div>
<div class="line"><a id="l00698" name="l00698"></a><span class="lineno"> 698</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a3ab8ab8fe092e8418533e3f120f6afa4">autoIdentify</a>(<span class="keywordtype">bool</span>&amp; matched, uint16_t&amp; matching_page_id, uint16_t&amp; score, <span class="keyword">const</span> uint16_t page_id = 0xFFFF,</div>
<div class="line"><a id="l00699" name="l00699"></a><span class="lineno"> 699</span> <span class="keyword">const</span> uint8_t security_level = 0, <a class="code hl_typedef" href="unit___finger2_8hpp.html#a0ac4d20b114942e2b2ca258e8e2c3b88">finger2::auto_identify_flag_t</a> flags = 0,</div>
<div class="line"><a id="l00700" name="l00700"></a><span class="lineno"> 700</span> <span class="keyword">const</span> <a class="code hl_typedef" href="unit___finger2_8hpp.html#a00f3e5cdc06d9cdbf0ac53c5a065ff74">finger2::auto_identify_callback_t</a> callback = <span class="keyword">nullptr</span>);</div>
<div class="line"><a id="l00701" name="l00701"></a><span class="lineno"> 701</span> </div>
<div class="line"><a id="l00707" name="l00707"></a><span class="lineno"> 707</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a413e1fb642aed98717febae08b6dcac2">cancel</a>();</div>
<div class="line"><a id="l00709" name="l00709"></a><span class="lineno"> 709</span> </div>
<div class="line"><a id="l00712" name="l00712"></a><span class="lineno"> 712</span> </div>
<div class="line"><a id="l00721" name="l00721"></a><span class="lineno"> 721</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a6105a12a476d54699680951773bb6735">readNotepad</a>(uint8_t buf[32], <span class="keyword">const</span> uint8_t page);</div>
<div class="line"><a id="l00733" name="l00733"></a><span class="lineno"> 733</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a9f75a9b899e8e001636d0b28876619ba">writeNotepad</a>(<span class="keyword">const</span> uint8_t page, <span class="keyword">const</span> uint8_t* buf, <span class="keyword">const</span> uint8_t len);</div>
<div class="line"><a id="l00735" name="l00735"></a><span class="lineno"> 735</span> </div>
<div class="line"><a id="l00742" name="l00742"></a><span class="lineno"> 742</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#afda95458a18b92da806b360f9b2babbd">readInformationPage</a>(uint8_t info[512]);</div>
<div class="line"><a id="l00743" name="l00743"></a><span class="lineno"> 743</span> </div>
<div class="line"><a id="l00752" name="l00752"></a><span class="lineno"> 752</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#ac3a4ac66e5a14167a86c1d5f54cf241f">readRandomNumber</a>(uint32_t&amp; value);</div>
<div class="line"><a id="l00753" name="l00753"></a><span class="lineno"> 753</span> </div>
<div class="line"><a id="l00761" name="l00761"></a><span class="lineno"> 761</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a8f4a12ae15bb0c6096d2ec177840f053">handshake</a>(<span class="keywordtype">bool</span>&amp; status);</div>
<div class="line"><a id="l00769" name="l00769"></a><span class="lineno"> 769</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#ab4c2283241d9a67f9bb8e4d4cbefe31c">checkSensor</a>(<span class="keywordtype">bool</span>&amp; status);</div>
<div class="line"><a id="l00770" name="l00770"></a><span class="lineno"> 770</span> </div>
<div class="line"><a id="l00778" name="l00778"></a><span class="lineno"> 778</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a1fb15ccf97b47dae3e1d525d139400b0">readSerialNumber</a>(uint8_t sn[32]);</div>
<div class="line"><a id="l00779" name="l00779"></a><span class="lineno"> 779</span> </div>
<div class="line"><a id="l00786" name="l00786"></a><span class="lineno"> 786</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classm5_1_1unit_1_1_unit_finger2.html#a9cdea35fbda77b3fab6517663951aa22">readFirmwareVersion</a>(uint8_t&amp; ver);</div>
<div class="line"><a id="l00787" name="l00787"></a><span class="lineno"> 787</span> </div>
<div class="line"><a id="l00788" name="l00788"></a><span class="lineno"> 788</span><span class="keyword">protected</span>:</div>
<div class="line"><a id="l00789" name="l00789"></a><span class="lineno"> 789</span> <span class="keywordtype">bool</span> write_command(<span class="keyword">const</span> uint8_t cmd, <span class="keyword">const</span> uint32_t addr, <span class="keyword">const</span> uint8_t* payload = <span class="keyword">nullptr</span>,</div>
<div class="line"><a id="l00790" name="l00790"></a><span class="lineno"> 790</span> <span class="keyword">const</span> uint16_t payload_len = 0);</div>
<div class="line"><a id="l00791" name="l00791"></a><span class="lineno"> 791</span> <a class="code hl_enumeration" href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43">finger2::ConfirmCode</a> read_response(Packet&amp; rbuf);</div>
<div class="line"><a id="l00792" name="l00792"></a><span class="lineno"> 792</span> <span class="keywordtype">bool</span> transceive_command(Packet&amp; rbuf, <span class="keyword">const</span> uint8_t cmd, <span class="keyword">const</span> uint32_t addr, <span class="keyword">const</span> uint8_t* payload = <span class="keyword">nullptr</span>,</div>
<div class="line"><a id="l00793" name="l00793"></a><span class="lineno"> 793</span> <span class="keyword">const</span> uint16_t payload_len = 0);</div>
<div class="line"><a id="l00794" name="l00794"></a><span class="lineno"> 794</span> <span class="keywordtype">bool</span> transceive_command8(Packet&amp; rbuf, <span class="keyword">const</span> uint8_t cmd, <span class="keyword">const</span> uint32_t addr, <span class="keyword">const</span> uint8_t value);</div>
<div class="line"><a id="l00795" name="l00795"></a><span class="lineno"> 795</span> uint8_t read_data(Packet&amp; rbuf);</div>
<div class="line"><a id="l00796" name="l00796"></a><span class="lineno"> 796</span> </div>
<div class="line"><a id="l00797" name="l00797"></a><span class="lineno"> 797</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00798" name="l00798"></a><span class="lineno"> 798</span> config_t _cfg{};</div>
<div class="line"><a id="l00799" name="l00799"></a><span class="lineno"> 799</span> uint32_t _address{};</div>
<div class="line"><a id="l00800" name="l00800"></a><span class="lineno"> 800</span> uint16_t _pageCapacity{};</div>
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno"> 801</span>};</div>
</div>
<div class="line"><a id="l00802" name="l00802"></a><span class="lineno"> 802</span> </div>
<div class="line"><a id="l00803" name="l00803"></a><span class="lineno"> 803</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacefinger2.html">finger2</a> {</div>
<div class="line"><a id="l00804" name="l00804"></a><span class="lineno"> 804</span><span class="keyword">namespace </span>command {</div>
<div class="line"><a id="l00806" name="l00806"></a><span class="lineno"> 806</span><span class="keyword">constexpr</span> uint8_t CMD_GET_IMAGE{0x01};</div>
<div class="line"><a id="l00807" name="l00807"></a><span class="lineno"> 807</span><span class="keyword">constexpr</span> uint8_t CMD_GET_ENROLL_IMAGE{0x29};</div>
<div class="line"><a id="l00808" name="l00808"></a><span class="lineno"> 808</span><span class="keyword">constexpr</span> uint8_t CMD_GENERATE_CHARACTERISTIC{0x02};</div>
<div class="line"><a id="l00809" name="l00809"></a><span class="lineno"> 809</span><span class="keyword">constexpr</span> uint8_t CMD_MATCH{0x03};</div>
<div class="line"><a id="l00810" name="l00810"></a><span class="lineno"> 810</span><span class="keyword">constexpr</span> uint8_t CMD_SEARCH{0x04};</div>
<div class="line"><a id="l00811" name="l00811"></a><span class="lineno"> 811</span><span class="keyword">constexpr</span> uint8_t CMD_SEARCH_NOW{0x3E};</div>
<div class="line"><a id="l00812" name="l00812"></a><span class="lineno"> 812</span><span class="keyword">constexpr</span> uint8_t CMD_REGISTER_MODEL{0x05};</div>
<div class="line"><a id="l00813" name="l00813"></a><span class="lineno"> 813</span><span class="keyword">constexpr</span> uint8_t CMD_STORE_TEMPLATE{0x06};</div>
<div class="line"><a id="l00814" name="l00814"></a><span class="lineno"> 814</span><span class="keyword">constexpr</span> uint8_t CMD_LOAD_TEMPLATE{0x07};</div>
<div class="line"><a id="l00815" name="l00815"></a><span class="lineno"> 815</span> </div>
<div class="line"><a id="l00816" name="l00816"></a><span class="lineno"> 816</span><span class="keyword">constexpr</span> uint8_t CMD_UPLOAD_IMAGE{0x0A};</div>
<div class="line"><a id="l00817" name="l00817"></a><span class="lineno"> 817</span><span class="keyword">constexpr</span> uint8_t CMD_DELETE_TEMPLATE{0x0C};</div>
<div class="line"><a id="l00818" name="l00818"></a><span class="lineno"> 818</span><span class="keyword">constexpr</span> uint8_t CMD_EMPTY{0x0D};</div>
<div class="line"><a id="l00819" name="l00819"></a><span class="lineno"> 819</span> </div>
<div class="line"><a id="l00820" name="l00820"></a><span class="lineno"> 820</span><span class="keyword">constexpr</span> uint8_t CMD_WRITE_REGISTER{0x0E};</div>
<div class="line"><a id="l00821" name="l00821"></a><span class="lineno"> 821</span><span class="keyword">constexpr</span> uint8_t CMD_READ_SYSTEM_PARAMETER{0x0F};</div>
<div class="line"><a id="l00822" name="l00822"></a><span class="lineno"> 822</span><span class="keyword">constexpr</span> uint8_t CMD_GET_RANDOM{0x14};</div>
<div class="line"><a id="l00823" name="l00823"></a><span class="lineno"> 823</span><span class="keyword">constexpr</span> uint8_t CMD_READ_FLASH_INFORMATION{0x16};</div>
<div class="line"><a id="l00824" name="l00824"></a><span class="lineno"> 824</span><span class="keyword">constexpr</span> uint8_t CMD_WRITE_NOTEPAD{0x18};</div>
<div class="line"><a id="l00825" name="l00825"></a><span class="lineno"> 825</span><span class="keyword">constexpr</span> uint8_t CMD_READ_NOTEPAD{0x19};</div>
<div class="line"><a id="l00826" name="l00826"></a><span class="lineno"> 826</span> </div>
<div class="line"><a id="l00827" name="l00827"></a><span class="lineno"> 827</span><span class="keyword">constexpr</span> uint8_t CMD_READ_VALID_TEMPLATE_NUMBER{0x1D};</div>
<div class="line"><a id="l00828" name="l00828"></a><span class="lineno"> 828</span><span class="keyword">constexpr</span> uint8_t CMD_READ_INDEX_TABLE{0x1F};</div>
<div class="line"><a id="l00829" name="l00829"></a><span class="lineno"> 829</span> </div>
<div class="line"><a id="l00830" name="l00830"></a><span class="lineno"> 830</span><span class="keyword">constexpr</span> uint8_t CMD_CANCEL{0x30};</div>
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"> 831</span><span class="keyword">constexpr</span> uint8_t CMD_AUTO_ENROLL{0x31};</div>
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"> 832</span><span class="keyword">constexpr</span> uint8_t CMD_AUTO_IDENTIFY{0x32};</div>
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"> 833</span> </div>
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span><span class="keyword">constexpr</span> uint8_t CMD_GET_SERIAL{0x34};</div>
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"> 835</span><span class="keyword">constexpr</span> uint8_t CMD_HANDSHAKE{0x35};</div>
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span><span class="keyword">constexpr</span> uint8_t CMD_CHECK_SENSOR{0x36};</div>
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span><span class="keyword">constexpr</span> uint8_t CMD_CONTROL_BLN{0x3C};</div>
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"> 838</span><span class="keyword">constexpr</span> uint8_t CMD_GET_IMAGE_INFORMATION{0x3D};</div>
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"> 839</span> </div>
<div class="line"><a id="l00840" name="l00840"></a><span class="lineno"> 840</span><span class="keyword">constexpr</span> uint8_t CMD_UPLOAD_TEMPLATE{0x7A};</div>
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"> 841</span><span class="keyword">constexpr</span> uint8_t CMD_DOWNLOAD_TEMPLATE{0x7B};</div>
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> </div>
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span><span class="keyword">constexpr</span> uint8_t CMD_SET_SLEEP_TIME{0xD0};</div>
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span><span class="keyword">constexpr</span> uint8_t CMD_GET_SLEEP_TIME{0xD1};</div>
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span><span class="keyword">constexpr</span> uint8_t CMD_SET_WORK_MODE{0xD2};</div>
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span><span class="keyword">constexpr</span> uint8_t CMD_GET_WORK_MODE{0xD3};</div>
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span><span class="keyword">constexpr</span> uint8_t CMD_ACTIVATE_MODULE{0xD4};</div>
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span><span class="keyword">constexpr</span> uint8_t CMD_GET_MODULE_STATUS{0xD5};</div>
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span><span class="keyword">constexpr</span> uint8_t CMD_SAVE_CONFIGURATION{0xD6};</div>
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span><span class="keyword">constexpr</span> uint8_t CMD_GET_FIRMWARE_VERSION{0xD7};</div>
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span>} <span class="comment">// namespace command</span></div>
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span>} <span class="comment">// namespace finger2</span></div>
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> </div>
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span>} <span class="comment">// namespace unit</span></div>
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span>} <span class="comment">// namespace m5</span></div>
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html">m5::unit::UnitFinger2</a></div><div class="ttdoc">Fingerprint unit.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:254</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a01ff39f53211f0c2722211ed107c8aab"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a01ff39f53211f0c2722211ed107c8aab">m5::unit::UnitFinger2::readValidTemplates</a></div><div class="ttdeci">bool readValidTemplates(uint16_t &amp;num)</div><div class="ttdoc">Read the number of valid templates.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:633</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a10046b1678181292ecaf36d57c99c53f"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a10046b1678181292ecaf36d57c99c53f">m5::unit::UnitFinger2::wakeup</a></div><div class="ttdeci">bool wakeup()</div><div class="ttdoc">Wakeup.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:930</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a119fb58f602062fdf90f4c5fc2904ff9"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a119fb58f602062fdf90f4c5fc2904ff9">m5::unit::UnitFinger2::findLowestAvailablePage</a></div><div class="ttdeci">bool findLowestAvailablePage(uint16_t &amp;page)</div><div class="ttdoc">Find the lowest available page number.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:957</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a17c10dc580d47b1f7ac1939721bac615"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a17c10dc580d47b1f7ac1939721bac615">m5::unit::UnitFinger2::deviceAddress</a></div><div class="ttdeci">uint32_t deviceAddress() const</div><div class="ttdoc">Get the device address.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:310</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a18b55a9f1c7095288d5c59a44fc2ec47"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a18b55a9f1c7095288d5c59a44fc2ec47">m5::unit::UnitFinger2::clear</a></div><div class="ttdeci">bool clear()</div><div class="ttdoc">Clear fingerprint database (delete all templates)</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:565</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a1eca82a14a10ee7f2ad4a16b26dc5b86"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a1eca82a14a10ee7f2ad4a16b26dc5b86">m5::unit::UnitFinger2::readSystemParams</a></div><div class="ttdeci">bool readSystemParams(finger2::SystemBasicParams &amp;params)</div><div class="ttdoc">Read the system basic parameters.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:196</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a1fb15ccf97b47dae3e1d525d139400b0"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a1fb15ccf97b47dae3e1d525d139400b0">m5::unit::UnitFinger2::readSerialNumber</a></div><div class="ttdeci">bool readSerialNumber(uint8_t sn[32])</div><div class="ttdoc">Read the serial number (32 bytes)</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:936</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a21bde6f13991f089ee71424dbf148a98"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a21bde6f13991f089ee71424dbf148a98">m5::unit::UnitFinger2::generateCharacteristic</a></div><div class="ttdeci">bool generateCharacteristic(const uint8_t buffer_id=1)</div><div class="ttdoc">Generate characteristic from captured image.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:300</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a24d88407b0c284c3d1f7171c59c73667"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a24d88407b0c284c3d1f7171c59c73667">m5::unit::UnitFinger2::readTemplateAllBatches</a></div><div class="ttdeci">bool readTemplateAllBatches(uint16_t &amp;actual_size, uint8_t *buf, const uint16_t buf_size, const uint16_t batch_size=128, finger2::batch_callback_t callback=nullptr)</div><div class="ttdoc">Read the template.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:471</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a264d024d9e47a18e8e1f20bf75d9cf0b"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a264d024d9e47a18e8e1f20bf75d9cf0b">m5::unit::UnitFinger2::DEFAULT_MODULE_ADDRESS</a></div><div class="ttdeci">static constexpr uint32_t DEFAULT_MODULE_ADDRESS</div><div class="ttdoc">Default device address.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:258</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a2b140f7aa83103b9e032a4349b1e0321"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a2b140f7aa83103b9e032a4349b1e0321">m5::unit::UnitFinger2::findHighestAvailablePage</a></div><div class="ttdeci">bool findHighestAvailablePage(uint16_t &amp;page)</div><div class="ttdoc">Find the highest available page number.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:991</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a31d35a3c2af95e2ebbb6a714c5ba3383"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a31d35a3c2af95e2ebbb6a714c5ba3383">m5::unit::UnitFinger2::config</a></div><div class="ttdeci">void config(const config_t &amp;cfg)</div><div class="ttdoc">Set the configuration.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:298</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a33effad1d4401f0cf767ad6a0d27709b"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a33effad1d4401f0cf767ad6a0d27709b">m5::unit::UnitFinger2::storeTemplate</a></div><div class="ttdeci">bool storeTemplate(const uint16_t page_id, const uint8_t buffer_id=1)</div><div class="ttdoc">Store template.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:317</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a37ea67a21c91f7be91e3e87a84478898"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a37ea67a21c91f7be91e3e87a84478898">m5::unit::UnitFinger2::readTemplate</a></div><div class="ttdeci">bool readTemplate(uint16_t &amp;actual_size, uint8_t *buf, const uint16_t buf_size, const uint16_t offset)</div><div class="ttdoc">Read the specific size template from the specific offset.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:442</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a3ab8ab8fe092e8418533e3f120f6afa4"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a3ab8ab8fe092e8418533e3f120f6afa4">m5::unit::UnitFinger2::autoIdentify</a></div><div class="ttdeci">bool autoIdentify(bool &amp;matched, uint16_t &amp;matching_page_id, uint16_t &amp;score, const uint16_t page_id=0xFFFF, const uint8_t security_level=0, finger2::auto_identify_flag_t flags=0, const finger2::auto_identify_callback_t callback=nullptr)</div><div class="ttdoc">Automatic identify (1:1, 1:N)</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:811</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a3cd81f31dd62f340240d10831f1d40a9"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a3cd81f31dd62f340240d10831f1d40a9">m5::unit::UnitFinger2::existsTemplate</a></div><div class="ttdeci">bool existsTemplate(const uint16_t page_id)</div><div class="ttdoc">Exists template?</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:671</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a413e1fb642aed98717febae08b6dcac2"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a413e1fb642aed98717febae08b6dcac2">m5::unit::UnitFinger2::cancel</a></div><div class="ttdeci">bool cancel()</div><div class="ttdoc">Abort automatic functions.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:878</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a460a0077bb12f66cef8210edebe378a5"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a460a0077bb12f66cef8210edebe378a5">m5::unit::UnitFinger2::IMAGE_HEIGHT</a></div><div class="ttdeci">static constexpr uint16_t IMAGE_HEIGHT</div><div class="ttdoc">Captured image height.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:262</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a4675bf57fe76eadef26ecef278f2f5b7"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a4675bf57fe76eadef26ecef278f2f5b7">m5::unit::UnitFinger2::deleteTemplate</a></div><div class="ttdeci">bool deleteTemplate(const uint16_t page_id, const uint16_t num=1)</div><div class="ttdoc">Delete templates.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:549</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a5017d3596461567e4f5a30d390bc8ada"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a5017d3596461567e4f5a30d390bc8ada">m5::unit::UnitFinger2::writeSystemRegister</a></div><div class="ttdeci">bool writeSystemRegister(const finger2::RegisterID reg_id, const uint8_t value)</div><div class="ttdoc">Write the value to register for settings.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:571</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a511dded7a3257c42d383e109b9030afb"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a511dded7a3257c42d383e109b9030afb">m5::unit::UnitFinger2::writeSleepTime</a></div><div class="ttdeci">bool writeSleepTime(const uint8_t sec)</div><div class="ttdoc">Write the time to go to sleep (second)</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:227</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a56647f2c0ea31dfa2637acd9c0e4461a"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a56647f2c0ea31dfa2637acd9c0e4461a">m5::unit::UnitFinger2::readSleepTime</a></div><div class="ttdeci">bool readSleepTime(uint8_t &amp;sec)</div><div class="ttdoc">Read the time to go to sleep (second)</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:215</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a57a6952ff65cd98966743c62a0ccda14"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a57a6952ff65cd98966743c62a0ccda14">m5::unit::UnitFinger2::search</a></div><div class="ttdeci">bool search(bool &amp;matched, uint16_t &amp;matching_page_id, uint16_t &amp;score, const uint8_t buffer_id=1, const uint16_t start_page=0, const uint16_t page_num=0)</div><div class="ttdoc">Search for matching template (1:N)</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:372</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a5a4d34db17d80844e321d6fc85a74a18"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a5a4d34db17d80844e321d6fc85a74a18">m5::unit::UnitFinger2::searchNow</a></div><div class="ttdeci">bool searchNow(bool &amp;matched, uint16_t &amp;matching_page_id, uint16_t &amp;score, const uint16_t start_page=0, const uint16_t page_num=0)</div><div class="ttdoc">Search for matching template using the last extracted template (1:N)</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:410</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a6105a12a476d54699680951773bb6735"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a6105a12a476d54699680951773bb6735">m5::unit::UnitFinger2::readNotepad</a></div><div class="ttdeci">bool readNotepad(uint8_t buf[32], const uint8_t page)</div><div class="ttdoc">Read the notepad(Flash) data.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:884</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a6204acd02be5940f7bf900fb7f6da2a2"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a6204acd02be5940f7bf900fb7f6da2a2">m5::unit::UnitFinger2::imageHeight</a></div><div class="ttdeci">constexpr uint16_t imageHeight() const</div><div class="ttdoc">Get the image height.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:320</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a670e103aa4e3954ab55e05d8f16842ea"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a670e103aa4e3954ab55e05d8f16842ea">m5::unit::UnitFinger2::config</a></div><div class="ttdeci">config_t config()</div><div class="ttdoc">Gets the configuration.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:293</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a6785d5f6ae8c07f26a1d4d40ae84b96b"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a6785d5f6ae8c07f26a1d4d40ae84b96b">m5::unit::UnitFinger2::match</a></div><div class="ttdeci">bool match(bool &amp;matched, uint16_t &amp;score)</div><div class="ttdoc">Is match buffer 1 and 2? (1:1)</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:355</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a69a308e878ba8646307a368dc513f278"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a69a308e878ba8646307a368dc513f278">m5::unit::UnitFinger2::TEMPLATE_SIZE</a></div><div class="ttdeci">static constexpr uint16_t TEMPLATE_SIZE</div><div class="ttdoc">Template size.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:263</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a6afa72c97425c2647edd5588ead9796e"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a6afa72c97425c2647edd5588ead9796e">m5::unit::UnitFinger2::readModuleStatus</a></div><div class="ttdeci">bool readModuleStatus(bool &amp;awake)</div><div class="ttdoc">Read the module status.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:160</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a7cffde2a17f7e34689c441dfb6c64086"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a7cffde2a17f7e34689c441dfb6c64086">m5::unit::UnitFinger2::generateTemplate</a></div><div class="ttdeci">bool generateTemplate()</div><div class="ttdoc">Generate template from merged characteristics.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:311</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a7dbd0016396bf57346ce43a0b551c3d2"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a7dbd0016396bf57346ce43a0b551c3d2">m5::unit::UnitFinger2::capture</a></div><div class="ttdeci">bool capture(bool &amp;detected, const bool enroll=false)</div><div class="ttdoc">Capture the fingerprint image.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:243</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a8095c9d84ebae075051c58d6eb1b66ba"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a8095c9d84ebae075051c58d6eb1b66ba">m5::unit::UnitFinger2::loadTemplate</a></div><div class="ttdeci">bool loadTemplate(const uint8_t buffer_id, const uint16_t page_id)</div><div class="ttdoc">Load template to buffer.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:336</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a8ee0c3af954a2227c8ce962273006bdd"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a8ee0c3af954a2227c8ce962273006bdd">m5::unit::UnitFinger2::imageWidth</a></div><div class="ttdeci">constexpr uint16_t imageWidth() const</div><div class="ttdoc">Get the image width.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:315</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a8f4a12ae15bb0c6096d2ec177840f053"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a8f4a12ae15bb0c6096d2ec177840f053">m5::unit::UnitFinger2::handshake</a></div><div class="ttdeci">bool handshake(bool &amp;status)</div><div class="ttdoc">Verify that the module is working properly.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:687</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a9492e10a5cd489632f40e49b89be95f2"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a9492e10a5cd489632f40e49b89be95f2">m5::unit::UnitFinger2::readImageInformation</a></div><div class="ttdeci">bool readImageInformation(uint8_t &amp;percentage, bool &amp;quality)</div><div class="ttdoc">Capture the fingerprint and read image information.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:259</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a9cdea35fbda77b3fab6517663951aa22"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a9cdea35fbda77b3fab6517663951aa22">m5::unit::UnitFinger2::readFirmwareVersion</a></div><div class="ttdeci">bool readFirmwareVersion(uint8_t &amp;ver)</div><div class="ttdoc">Read the firmware version.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:946</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a9eb6f146b98aeaee7d16767f84cd78af"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a9eb6f146b98aeaee7d16767f84cd78af">m5::unit::UnitFinger2::readWorkMode</a></div><div class="ttdeci">bool readWorkMode(finger2::WorkMode &amp;wm)</div><div class="ttdoc">Read the work mode.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:172</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_a9f75a9b899e8e001636d0b28876619ba"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#a9f75a9b899e8e001636d0b28876619ba">m5::unit::UnitFinger2::writeNotepad</a></div><div class="ttdeci">bool writeNotepad(const uint8_t page, const uint8_t *buf, const uint8_t len)</div><div class="ttdoc">Write the notepad(Flash) data.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:899</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_aa1ed2780f6226ab8827b339bb1724c70"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#aa1ed2780f6226ab8827b339bb1724c70">m5::unit::UnitFinger2::autoEnroll</a></div><div class="ttdeci">bool autoEnroll(finger2::ConfirmCode &amp;confirm, const uint16_t page_id, const uint8_t capture_times=5, const finger2::auto_enroll_flag_t flags=0, finger2::auto_enroll_callback_t callback=nullptr)</div><div class="ttdoc">Automatic registration.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:748</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_aa68ca79c3356f05142f0bc5ae754cc8d"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#aa68ca79c3356f05142f0bc5ae754cc8d">m5::unit::UnitFinger2::writeControlLED</a></div><div class="ttdeci">bool writeControlLED(const finger2::LEDMode mode, const finger2::LEDColor clr, const uint8_t cycle=0, const finger2::LEDColor eclr=finger2::LEDColor::Black)</div><div class="ttdoc">Write the LED control.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:705</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_ab4c2283241d9a67f9bb8e4d4cbefe31c"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#ab4c2283241d9a67f9bb8e4d4cbefe31c">m5::unit::UnitFinger2::checkSensor</a></div><div class="ttdeci">bool checkSensor(bool &amp;status)</div><div class="ttdoc">Verify whether the sensor is working properly.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:696</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_ac09c3075a4fa240415f78dcbe6d5b8f9"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#ac09c3075a4fa240415f78dcbe6d5b8f9">m5::unit::UnitFinger2::capacity</a></div><div class="ttdeci">uint16_t capacity() const</div><div class="ttdoc">Get the capacity of templates.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:328</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_ac3a4ac66e5a14167a86c1d5f54cf241f"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#ac3a4ac66e5a14167a86c1d5f54cf241f">m5::unit::UnitFinger2::readRandomNumber</a></div><div class="ttdeci">bool readRandomNumber(uint32_t &amp;value)</div><div class="ttdoc">Read the random number (32bits)</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:917</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_accf855ed789e91a349b49c5c729114db"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#accf855ed789e91a349b49c5c729114db">m5::unit::UnitFinger2::IMAGE_WIDTH</a></div><div class="ttdeci">static constexpr uint16_t IMAGE_WIDTH</div><div class="ttdoc">Capture image width.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:261</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_acd6cf20e49738cb61c107fa301eab3d2"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#acd6cf20e49738cb61c107fa301eab3d2">m5::unit::UnitFinger2::readImage</a></div><div class="ttdeci">bool readImage(std::vector&lt; uint8_t &gt; &amp;img)</div><div class="ttdoc">Read the finger image.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:273</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_ad36f7fb616a0624a4096eeba1e2efb3f"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#ad36f7fb616a0624a4096eeba1e2efb3f">m5::unit::UnitFinger2::saveWorkMode</a></div><div class="ttdeci">bool saveWorkMode()</div><div class="ttdoc">Write the current work mode to internal flash.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:190</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_adaaae692c4432d6864cd34b82e3085fe"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#adaaae692c4432d6864cd34b82e3085fe">m5::unit::UnitFinger2::writeControlLEDRainbow</a></div><div class="ttdeci">bool writeControlLEDRainbow(const uint8_t tm, const finger2::LEDColor *colors, const uint8_t colors_num, const uint8_t cycle)</div><div class="ttdoc">Write the LED control for LEDMode::Rainbow.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:722</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_ae8f806850b5226ed4e74288f6229348c"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#ae8f806850b5226ed4e74288f6229348c">m5::unit::UnitFinger2::writeWorkMode</a></div><div class="ttdeci">bool writeWorkMode(const finger2::WorkMode wm)</div><div class="ttdoc">Write the work mode.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:184</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_aeb74772c127e3e7c80d6c92532632eea"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#aeb74772c127e3e7c80d6c92532632eea">m5::unit::UnitFinger2::writeTemplate</a></div><div class="ttdeci">bool writeTemplate(const uint16_t offset, const uint8_t *buf, const uint16_t buf_size)</div><div class="ttdoc">Write the specific size template to the specific offset.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:502</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_aee91e068740035d8ec55f9e659b0623a"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#aee91e068740035d8ec55f9e659b0623a">m5::unit::UnitFinger2::readIndexTable</a></div><div class="ttdeci">bool readIndexTable(uint8_t table[32])</div><div class="ttdoc">Read the index table (Bits of existing templates)</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:645</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_afb56c39e6b76bd5ebfe0956b31bc9afb"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#afb56c39e6b76bd5ebfe0956b31bc9afb">m5::unit::UnitFinger2::begin</a></div><div class="ttdeci">virtual bool begin() override</div><div class="ttdoc">Begin communication with the unit.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:102</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_afce0125f589f88c2427775f91d358423"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#afce0125f589f88c2427775f91d358423">m5::unit::UnitFinger2::saveSleepTime</a></div><div class="ttdeci">bool saveSleepTime()</div><div class="ttdoc">Write the current sleep time to internal flash.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:237</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_afda95458a18b92da806b360f9b2babbd"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#afda95458a18b92da806b360f9b2babbd">m5::unit::UnitFinger2::readInformationPage</a></div><div class="ttdeci">bool readInformationPage(uint8_t info[512])</div><div class="ttdoc">Read the the information page in FLASH( 512 bytes)</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:597</div></div>
<div class="ttc" id="aclassm5_1_1unit_1_1_unit_finger2_html_afe02ada6752ce8baa44c9e8fc94b8e00"><div class="ttname"><a href="classm5_1_1unit_1_1_unit_finger2.html#afe02ada6752ce8baa44c9e8fc94b8e00">m5::unit::UnitFinger2::writeTemplateAllBatches</a></div><div class="ttdeci">bool writeTemplateAllBatches(const uint8_t *buf, const uint16_t buf_size, const uint16_t batch_size=128, finger2::batch_callback_t callback=nullptr)</div><div class="ttdoc">Write the template.</div><div class="ttdef"><b>Definition</b> unit_Finger2.cpp:523</div></div>
<div class="ttc" id="anamespaceauto__enroll__flag_html"><div class="ttname"><a href="namespaceauto__enroll__flag.html">auto_enroll_flag</a></div><div class="ttdoc">Flags for autoEnroll.</div></div>
<div class="ttc" id="anamespaceauto__identify__flag_html"><div class="ttname"><a href="namespaceauto__identify__flag.html">auto_identify_flag</a></div><div class="ttdoc">Flags for autoIdentify.</div></div>
<div class="ttc" id="anamespacefinger2_html"><div class="ttname"><a href="namespacefinger2.html">finger2</a></div><div class="ttdoc">For UnitFinger2.</div></div>
<div class="ttc" id="anamespacem5_html"><div class="ttname"><a href="namespacem5.html">m5</a></div><div class="ttdoc">Top level namespace of M5stack.</div></div>
<div class="ttc" id="anamespaceunit_html"><div class="ttname"><a href="namespaceunit.html">unit</a></div><div class="ttdoc">Unit-related namespace.</div></div>
<div class="ttc" id="astructm5_1_1unit_1_1_unit_finger2_1_1config__t_html"><div class="ttname"><a href="structm5_1_1unit_1_1_unit_finger2_1_1config__t.html">m5::unit::UnitFinger2::config_t</a></div><div class="ttdoc">Settings for begin.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:284</div></div>
<div class="ttc" id="astructm5_1_1unit_1_1_unit_finger2_1_1config__t_html_ab8d1259f8a7553358d6c4b07d9ebb30a"><div class="ttname"><a href="structm5_1_1unit_1_1_unit_finger2_1_1config__t.html#ab8d1259f8a7553358d6c4b07d9ebb30a">m5::unit::UnitFinger2::config_t::timeout_ms</a></div><div class="ttdeci">uint32_t timeout_ms</div><div class="ttdoc">Serial I/O timeout (ms)</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:285</div></div>
<div class="ttc" id="astructm5_1_1unit_1_1_unit_finger2_1_1config__t_html_abe7ac4b1b0d5b732c7af00537dd02f41"><div class="ttname"><a href="structm5_1_1unit_1_1_unit_finger2_1_1config__t.html#abe7ac4b1b0d5b732c7af00537dd02f41">m5::unit::UnitFinger2::config_t::work_mode</a></div><div class="ttdeci">finger2::WorkMode work_mode</div><div class="ttdoc">Work mode.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:286</div></div>
<div class="ttc" id="astructm5_1_1unit_1_1_unit_finger2_1_1config__t_html_ac29e3e562e0f0b2f24ff1daf35ff479c"><div class="ttname"><a href="structm5_1_1unit_1_1_unit_finger2_1_1config__t.html#ac29e3e562e0f0b2f24ff1daf35ff479c">m5::unit::UnitFinger2::config_t::sleep_time</a></div><div class="ttdeci">uint8_t sleep_time</div><div class="ttdoc">Scheduled sleep time (10 - 254) sec.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:287</div></div>
<div class="ttc" id="astructm5_1_1unit_1_1finger2_1_1_system_basic_params_html"><div class="ttname"><a href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html">m5::unit::finger2::SystemBasicParams</a></div><div class="ttdoc">The module’s basic parameters.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:78</div></div>
<div class="ttc" id="astructm5_1_1unit_1_1finger2_1_1_system_basic_params_html_a076a4d071ad1100abc27b756904cd77e"><div class="ttname"><a href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#a076a4d071ad1100abc27b756904cd77e">m5::unit::finger2::SystemBasicParams::packet_size</a></div><div class="ttdeci">uint16_t packet_size</div><div class="ttdoc">Packet size (See also RegisterID::PacketSize)</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:84</div></div>
<div class="ttc" id="astructm5_1_1unit_1_1finger2_1_1_system_basic_params_html_a29041cdf7a65fe6b7dbfe5680161407d"><div class="ttname"><a href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#a29041cdf7a65fe6b7dbfe5680161407d">m5::unit::finger2::SystemBasicParams::baud_rate</a></div><div class="ttdeci">uint16_t baud_rate</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:85</div></div>
<div class="ttc" id="astructm5_1_1unit_1_1finger2_1_1_system_basic_params_html_a5980dee18db29c808aef56e8cc3bb3b0"><div class="ttname"><a href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#a5980dee18db29c808aef56e8cc3bb3b0">m5::unit::finger2::SystemBasicParams::address</a></div><div class="ttdeci">uint32_t address</div><div class="ttdoc">Device address.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:83</div></div>
<div class="ttc" id="astructm5_1_1unit_1_1finger2_1_1_system_basic_params_html_a63473d77290536ba3f47359aa9caa409"><div class="ttname"><a href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#a63473d77290536ba3f47359aa9caa409">m5::unit::finger2::SystemBasicParams::score_level</a></div><div class="ttdeci">uint16_t score_level</div><div class="ttdoc">Match threshold (See also RegisterID::ScoreLevel)</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:82</div></div>
<div class="ttc" id="astructm5_1_1unit_1_1finger2_1_1_system_basic_params_html_ab8137eff0daa193f8510dc72125d5cb7"><div class="ttname"><a href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#ab8137eff0daa193f8510dc72125d5cb7">m5::unit::finger2::SystemBasicParams::status</a></div><div class="ttdeci">uint16_t status</div><div class="ttdoc">System operational status.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:79</div></div>
<div class="ttc" id="astructm5_1_1unit_1_1finger2_1_1_system_basic_params_html_ad36118aee58f22a3e41c30d8ee028ab6"><div class="ttname"><a href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#ad36118aee58f22a3e41c30d8ee028ab6">m5::unit::finger2::SystemBasicParams::database_capacity</a></div><div class="ttdeci">uint16_t database_capacity</div><div class="ttdoc">Fingerprint database capacity.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:81</div></div>
<div class="ttc" id="astructm5_1_1unit_1_1finger2_1_1_system_basic_params_html_afdff7de0f87d488e974d3ddf06b09f7d"><div class="ttname"><a href="structm5_1_1unit_1_1finger2_1_1_system_basic_params.html#afdff7de0f87d488e974d3ddf06b09f7d">m5::unit::finger2::SystemBasicParams::sensor_type</a></div><div class="ttdeci">uint16_t sensor_type</div><div class="ttdoc">Sensor type.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:80</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a00f3e5cdc06d9cdbf0ac53c5a065ff74"><div class="ttname"><a href="unit___finger2_8hpp.html#a00f3e5cdc06d9cdbf0ac53c5a065ff74">m5::unit::finger2::auto_identify_callback_t</a></div><div class="ttdeci">bool(*)(const uint16_t call_times, const ConfirmCode confirm, const AutoIdentifyStage stage) auto_identify_callback_t</div><div class="ttdoc">Callback function for autoIdentify.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:231</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a0ac4d20b114942e2b2ca258e8e2c3b88"><div class="ttname"><a href="unit___finger2_8hpp.html#a0ac4d20b114942e2b2ca258e8e2c3b88">m5::unit::finger2::auto_identify_flag_t</a></div><div class="ttdeci">uint16_t auto_identify_flag_t</div><div class="ttdoc">Flags for autoIdentify.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:90</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a17a64e7478304d0d4eb456b9ceab4d42"><div class="ttname"><a href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42">m5::unit::finger2::LEDColor</a></div><div class="ttdeci">LEDColor</div><div class="ttdoc">Color for LED.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:55</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a17a64e7478304d0d4eb456b9ceab4d42a023c239d2f2538f140a20e72c7b73f20"><div class="ttname"><a href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42a023c239d2f2538f140a20e72c7b73f20">m5::unit::finger2::LEDColor::Cyan</a></div><div class="ttdeci">@ Cyan</div><div class="ttdoc">Cyan.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a17a64e7478304d0d4eb456b9ceab4d42a25a81701fbfa4a1efdf660a950c1d006"><div class="ttname"><a href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42a25a81701fbfa4a1efdf660a950c1d006">m5::unit::finger2::LEDColor::White</a></div><div class="ttdeci">@ White</div><div class="ttdoc">White.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a17a64e7478304d0d4eb456b9ceab4d42a51e6cd92b6c45f9affdc158ecca2b8b8"><div class="ttname"><a href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42a51e6cd92b6c45f9affdc158ecca2b8b8">m5::unit::finger2::LEDColor::Yellow</a></div><div class="ttdeci">@ Yellow</div><div class="ttdoc">Yellow.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a17a64e7478304d0d4eb456b9ceab4d42a9594eec95be70e7b1710f730fdda33d9"><div class="ttname"><a href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42a9594eec95be70e7b1710f730fdda33d9">m5::unit::finger2::LEDColor::Blue</a></div><div class="ttdeci">@ Blue</div><div class="ttdoc">Blue (as default)</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a17a64e7478304d0d4eb456b9ceab4d42ab91cc2c1416fcca942b61c7ac5b1a9ac"><div class="ttname"><a href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42ab91cc2c1416fcca942b61c7ac5b1a9ac">m5::unit::finger2::LEDColor::Magenta</a></div><div class="ttdeci">@ Magenta</div><div class="ttdoc">Magenta.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a17a64e7478304d0d4eb456b9ceab4d42ad382816a3cbeed082c9e216e7392eed1"><div class="ttname"><a href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42ad382816a3cbeed082c9e216e7392eed1">m5::unit::finger2::LEDColor::Green</a></div><div class="ttdeci">@ Green</div><div class="ttdoc">Green.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a17a64e7478304d0d4eb456b9ceab4d42ae90dfb84e30edf611e326eeb04d680de"><div class="ttname"><a href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42ae90dfb84e30edf611e326eeb04d680de">m5::unit::finger2::LEDColor::Black</a></div><div class="ttdeci">@ Black</div><div class="ttdoc">Lights off.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a17a64e7478304d0d4eb456b9ceab4d42aee38e4d5dd68c4e440825018d549cb47"><div class="ttname"><a href="unit___finger2_8hpp.html#a17a64e7478304d0d4eb456b9ceab4d42aee38e4d5dd68c4e440825018d549cb47">m5::unit::finger2::LEDColor::Red</a></div><div class="ttdeci">@ Red</div><div class="ttdoc">Red.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a218f92e2852cdf2a802d680f38639f1e"><div class="ttname"><a href="unit___finger2_8hpp.html#a218f92e2852cdf2a802d680f38639f1e">m5::unit::finger2::batch_callback_t</a></div><div class="ttdeci">bool(*)(const uint16_t call_times, const uint16_t actual_size, const uint16_t batch_size, const uint16_t total_size, const uint16_t planned_size, const bool completed) batch_callback_t</div><div class="ttdoc">Callback for batch read/write.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:245</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a2a8752fbc6f204322a1838d28c3e4fc2"><div class="ttname"><a href="unit___finger2_8hpp.html#a2a8752fbc6f204322a1838d28c3e4fc2">m5::unit::finger2::auto_enroll_callback_t</a></div><div class="ttdeci">bool(*)(const uint16_t call_times, const uint16_t page_id, const ConfirmCode confirm, const AutoEnrollStage stage, const uint8_t state) auto_enroll_callback_t</div><div class="ttdoc">Callback function for autoEnroll.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:221</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a46784bb5ac5c7d7eadaf4bff2b4e74fc"><div class="ttname"><a href="unit___finger2_8hpp.html#a46784bb5ac5c7d7eadaf4bff2b4e74fc">m5::unit::finger2::AutoIdentifyStage</a></div><div class="ttdeci">AutoIdentifyStage</div><div class="ttdoc">Interim stage of AutoIdentify.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:134</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a46784bb5ac5c7d7eadaf4bff2b4e74fca8eea62084ca7e541d918e823422bd82e"><div class="ttname"><a href="unit___finger2_8hpp.html#a46784bb5ac5c7d7eadaf4bff2b4e74fca8eea62084ca7e541d918e823422bd82e">m5::unit::finger2::AutoIdentifyStage::Result</a></div><div class="ttdeci">@ Result</div><div class="ttdoc">Result.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a5773711ddd7ae0f4f37a485953ec3cc3"><div class="ttname"><a href="unit___finger2_8hpp.html#a5773711ddd7ae0f4f37a485953ec3cc3">m5::unit::finger2::WorkMode</a></div><div class="ttdeci">WorkMode</div><div class="ttdoc">Work mode.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:29</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a5773711ddd7ae0f4f37a485953ec3cc3a44ca03069265e45e1c7ed851549b34dd"><div class="ttname"><a href="unit___finger2_8hpp.html#a5773711ddd7ae0f4f37a485953ec3cc3a44ca03069265e45e1c7ed851549b34dd">m5::unit::finger2::WorkMode::AlwaysActive</a></div><div class="ttdeci">@ AlwaysActive</div><div class="ttdoc">Always active.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a5773711ddd7ae0f4f37a485953ec3cc3ab692a8c65d48edd50155ff86e08ec19e"><div class="ttname"><a href="unit___finger2_8hpp.html#a5773711ddd7ae0f4f37a485953ec3cc3ab692a8c65d48edd50155ff86e08ec19e">m5::unit::finger2::WorkMode::ScheduledSleep</a></div><div class="ttdeci">@ ScheduledSleep</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43">m5::unit::finger2::ConfirmCode</a></div><div class="ttdeci">ConfirmCode</div><div class="ttdoc">Confirmation code.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:144</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a03c86e63d056c3dd90b501546ab5358c"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a03c86e63d056c3dd90b501546ab5358c">m5::unit::finger2::ConfirmCode::UploadImageFailed</a></div><div class="ttdeci">@ UploadImageFailed</div><div class="ttdoc">0x0F:Image uploading failed</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a050225c3bef104008920a17351d0657a"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a050225c3bef104008920a17351d0657a">m5::unit::finger2::ConfirmCode::ImageTooFew</a></div><div class="ttdeci">@ ImageTooFew</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a1146ac1333f9770279495caf794dd75a"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a1146ac1333f9770279495caf794dd75a">m5::unit::finger2::ConfirmCode::ResetFailed</a></div><div class="ttdeci">@ ResetFailed</div><div class="ttdoc">0x14:The system reset failed</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a11e535097662952d0405a55b85b96bad"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a11e535097662952d0405a55b85b96bad">m5::unit::finger2::ConfirmCode::NotepadPageError</a></div><div class="ttdeci">@ NotepadPageError</div><div class="ttdoc">0x1C:Notepad page number appointing error</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a1228b94748cada1774376467864079ac"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a1228b94748cada1774376467864079ac">m5::unit::finger2::ConfirmCode::RegisterError</a></div><div class="ttdeci">@ RegisterError</div><div class="ttdoc">0x1B:Register distributing content wrong number</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a12325cd82765622cd656ceaac963c636"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a12325cd82765622cd656ceaac963c636">m5::unit::finger2::ConfirmCode::KeyLocked</a></div><div class="ttdeci">@ KeyLocked</div><div class="ttdoc">0x32:The key has been locked</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a13f74c3a7213b9610f823357cd688320"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a13f74c3a7213b9610f823357cd688320">m5::unit::finger2::ConfirmCode::OTPFailed</a></div><div class="ttdeci">@ OTPFailed</div><div class="ttdoc">0x2C:OTP operation failed</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a164fe50bf145ff772a4229487cba0b50"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a164fe50bf145ff772a4229487cba0b50">m5::unit::finger2::ConfirmCode::Unmatched</a></div><div class="ttdeci">@ Unmatched</div><div class="ttdoc">0x08:The fingerprint unmatched</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a17c9ac1938a4f2ee8e84452dc30225b9"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a17c9ac1938a4f2ee8e84452dc30225b9">m5::unit::finger2::ConfirmCode::ImageTooHumid</a></div><div class="ttdeci">@ ImageTooHumid</div><div class="ttdoc">0x05:The fingerprint image is too humid or too blurry to generate feature</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a189976b733e988a6903e4d19d8cd2fea"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a189976b733e988a6903e4d19d8cd2fea">m5::unit::finger2::ConfirmCode::ParameterError</a></div><div class="ttdeci">@ ParameterError</div><div class="ttdoc">0xFD:Parameter error</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a20d2bbd050e3b61460e21725c6958fa8"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a20d2bbd050e3b61460e21725c6958fa8">m5::unit::finger2::ConfirmCode::RandomError</a></div><div class="ttdeci">@ RandomError</div><div class="ttdoc">0x19:Random number generation failed</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a222b63a5d60da8abc643b370c1bbab1a"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a222b63a5d60da8abc643b370c1bbab1a">m5::unit::finger2::ConfirmCode::DeleteFailed</a></div><div class="ttdeci">@ DeleteFailed</div><div class="ttdoc">0x10:Module deleting failed</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a22959bc52be05c7c62a4d682bf2ae948"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a22959bc52be05c7c62a4d682bf2ae948">m5::unit::finger2::ConfirmCode::ReadTemplateFailed</a></div><div class="ttdeci">@ ReadTemplateFailed</div><div class="ttdoc">0x0C:Template reading error or invalid from the fingerprint database</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a2421ade0d1ecc7309dd01434c876a58d"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a2421ade0d1ecc7309dd01434c876a58d">m5::unit::finger2::ConfirmCode::DatabaseFull</a></div><div class="ttdeci">@ DatabaseFull</div><div class="ttdoc">0x1F:Fingerprint database is full</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a27e9c4d9241f40c867f08a7002765a91"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a27e9c4d9241f40c867f08a7002765a91">m5::unit::finger2::ConfirmCode::ClearFailed</a></div><div class="ttdeci">@ ClearFailed</div><div class="ttdoc">0x11:The fingerprint database clearing failed</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a2b2c350e9a20a57773a9efa14c8c36e5"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a2b2c350e9a20a57773a9efa14c8c36e5">m5::unit::finger2::ConfirmCode::NotActive</a></div><div class="ttdeci">@ NotActive</div><div class="ttdoc">0xFE:The fingerprint module is not activated</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a2bfcf6acc23028e8d94e0843d793dd59"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a2bfcf6acc23028e8d94e0843d793dd59">m5::unit::finger2::ConfirmCode::MismatchFunction</a></div><div class="ttdeci">@ MismatchFunction</div><div class="ttdoc">0x31:Functionality does not match the encryption level</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a36a34b26fd53cd389df8f3c9f3b40332"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a36a34b26fd53cd389df8f3c9f3b40332">m5::unit::finger2::ConfirmCode::IncompleteFinger</a></div><div class="ttdeci">@ IncompleteFinger</div><div class="ttdoc">0x17:There are incomplete fingerprint or finger stay still between twice image capturing</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a38a954523618d9f075178a4403a6da05"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a38a954523618d9f075178a4403a6da05">m5::unit::finger2::ConfirmCode::TemplateNotEmpty</a></div><div class="ttdeci">@ TemplateNotEmpty</div><div class="ttdoc">0x22:Fingerprint template is NOT empty</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a38c300f4fc9ce8a77aad4a30de05cad8"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a38c300f4fc9ce8a77aad4a30de05cad8">m5::unit::finger2::ConfirmCode::NotFound</a></div><div class="ttdeci">@ NotFound</div><div class="ttdoc">0x09:No fingerprint searched</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a3a0dd9b6c096fa74bfaf57e4638eff75"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a3a0dd9b6c096fa74bfaf57e4638eff75">m5::unit::finger2::ConfirmCode::ImageFailed</a></div><div class="ttdeci">@ ImageFailed</div><div class="ttdoc">0x03:Getting fingerprint image failed</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a3cd2ea98f70f19a1973f09d0dd740aa5"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a3cd2ea98f70f19a1973f09d0dd740aa5">m5::unit::finger2::ConfirmCode::InformationNotEmpty</a></div><div class="ttdeci">@ InformationNotEmpty</div><div class="ttdoc">0x2A:Module information is NOT empty</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a44e88b15b351e7b43a74fe65c5468336"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a44e88b15b351e7b43a74fe65c5468336">m5::unit::finger2::ConfirmCode::initializeFailed</a></div><div class="ttdeci">@ initializeFailed</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a4afa6b2071b190f846d9d9478dc86864"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a4afa6b2071b190f846d9d9478dc86864">m5::unit::finger2::ConfirmCode::AddressOverflow</a></div><div class="ttdeci">@ AddressOverflow</div><div class="ttdoc">0x0B:The address SN exceeding the range of fingerprint database when accessing to it</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a4de677b08b4f8fbede897517c2a23460"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a4de677b08b4f8fbede897517c2a23460">m5::unit::finger2::ConfirmCode::PassiveActivation</a></div><div class="ttdeci">@ PassiveActivation</div><div class="ttdoc">0xFF:Passive activation</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a509f3bfe141489b3f6c67dc6e5d8ebdf"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a509f3bfe141489b3f6c67dc6e5d8ebdf">m5::unit::finger2::ConfirmCode::IncorrectAddress</a></div><div class="ttdeci">@ IncorrectAddress</div><div class="ttdoc">0x20:Incorrect device address</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a597e77fd4c7057bfcf09ffe16e8a8675"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a597e77fd4c7057bfcf09ffe16e8a8675">m5::unit::finger2::ConfirmCode::IncorrectEnrollCount</a></div><div class="ttdeci">@ IncorrectEnrollCount</div><div class="ttdoc">0x25;Incorrect entry count setting</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a5a59267a6dbfd428114c81b8799da8ea"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a5a59267a6dbfd428114c81b8799da8ea">m5::unit::finger2::ConfirmCode::PacketTimeout</a></div><div class="ttdeci">@ PacketTimeout</div><div class="ttdoc">0xF9:Receive packet timeout</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a5eb281a5c10f1efd32ab0abc35d5c648"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a5eb281a5c10f1efd32ab0abc35d5c648">m5::unit::finger2::ConfirmCode::PacketOverflow</a></div><div class="ttdeci">@ PacketOverflow</div><div class="ttdoc">0xFB:Packet overflow (e.g., when a packet exceeds the maximum length)</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a660698f4f63ac5ee13a16e66cc10e05d"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a660698f4f63ac5ee13a16e66cc10e05d">m5::unit::finger2::ConfirmCode::TemplateEmpty</a></div><div class="ttdeci">@ TemplateEmpty</div><div class="ttdoc">0x23:Fingerprint template is empty</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a6761e4fd00ffd18ba1883f248b718190"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a6761e4fd00ffd18ba1883f248b718190">m5::unit::finger2::ConfirmCode::PasswordIncorrect</a></div><div class="ttdeci">@ PasswordIncorrect</div><div class="ttdoc">0x13:The password incorrect</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a694829c5919d4c1bacb8f1599e4de884"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a694829c5919d4c1bacb8f1599e4de884">m5::unit::finger2::ConfirmCode::OperationBlocked</a></div><div class="ttdeci">@ OperationBlocked</div><div class="ttdoc">0xFC:This operation has been blocked</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a6c38620d8dfc4596db149f65151d2582"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a6c38620d8dfc4596db149f65151d2582">m5::unit::finger2::ConfirmCode::InitializeFailed</a></div><div class="ttdeci">@ InitializeFailed</div><div class="ttdoc">0x29:Sensor initialization failed</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a6d11f6343414bdc2e52afac606a88d1a"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a6d11f6343414bdc2e52afac606a88d1a">m5::unit::finger2::ConfirmCode::AutoEnrollFailed</a></div><div class="ttdeci">@ AutoEnrollFailed</div><div class="ttdoc">0x1E:Automatic enroll failed</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a6e4f8a52dbac837449d22ee3fd9f3d99"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a6e4f8a52dbac837449d22ee3fd9f3d99">m5::unit::finger2::ConfirmCode::IllegalData</a></div><div class="ttdeci">@ IllegalData</div><div class="ttdoc">0x35:The data is illegal</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a7de3043521c77e94fd69b089e26a1376"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a7de3043521c77e94fd69b089e26a1376">m5::unit::finger2::ConfirmCode::ImageTooAmorphous</a></div><div class="ttdeci">@ ImageTooAmorphous</div><div class="ttdoc">0x06:The fingerprint image is too amorphous to generate feature</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a858be3ee54610680c81b63c4b5df28f8"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a858be3ee54610680c81b63c4b5df28f8">m5::unit::finger2::ConfirmCode::SmallImage</a></div><div class="ttdeci">@ SmallImage</div><div class="ttdoc">0x33:Image too small</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a89b69484680b18e9179e826c6e023805"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a89b69484680b18e9179e826c6e023805">m5::unit::finger2::ConfirmCode::AlreadyExists</a></div><div class="ttdeci">@ AlreadyExists</div><div class="ttdoc">0x27:Fingerprint already exists</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a8dc2b8bce6b6535303ba6c3e5671976e"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a8dc2b8bce6b6535303ba6c3e5671976e">m5::unit::finger2::ConfirmCode::FlashError</a></div><div class="ttdeci">@ FlashError</div><div class="ttdoc">0x18:Read-write FLASH error</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a940c8b63ac9d9321a8f94eaa4976ec6f"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a940c8b63ac9d9321a8f94eaa4976ec6f">m5::unit::finger2::ConfirmCode::MergeFailed</a></div><div class="ttdeci">@ MergeFailed</div><div class="ttdoc">0x0A:The feature merging failed</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a970946fb47e239a9c4e193783f3d66e7"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a970946fb47e239a9c4e193783f3d66e7">m5::unit::finger2::ConfirmCode::PortError</a></div><div class="ttdeci">@ PortError</div><div class="ttdoc">0x1D:Port operation failed</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43a974e73d4dba552e1ca3dc63b4d7ed281"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43a974e73d4dba552e1ca3dc63b4d7ed281">m5::unit::finger2::ConfirmCode::UploadFailed</a></div><div class="ttdeci">@ UploadFailed</div><div class="ttdoc">0x0D:Feature uploading failed</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43aaaa7b48d044ca8154aa3cfa0ddb2587c"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43aaaa7b48d044ca8154aa3cfa0ddb2587c">m5::unit::finger2::ConfirmCode::IncorrectResult</a></div><div class="ttdeci">@ IncorrectResult</div><div class="ttdoc">0x30:The encryption/decryption results of the security algorithm are incorrect</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43abbc6fbaf4e96a46ed525bfabfb1b6c29"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43abbc6fbaf4e96a46ed525bfabfb1b6c29">m5::unit::finger2::ConfirmCode::NoValidImage</a></div><div class="ttdeci">@ NoValidImage</div><div class="ttdoc">0x15:There is no valid original image in buffer to generate image</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43abe5d01a8700656acd0d4742ee4b9d7cc"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43abe5d01a8700656acd0d4742ee4b9d7cc">m5::unit::finger2::ConfirmCode::AlgorithmFailed</a></div><div class="ttdeci">@ AlgorithmFailed</div><div class="ttdoc">0x2F:Security algorithm execution failed</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43ac2740dba93725fbd5afa204fb481a9a3"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ac2740dba93725fbd5afa204fb481a9a3">m5::unit::finger2::ConfirmCode::KeyNotExist</a></div><div class="ttdeci">@ KeyNotExist</div><div class="ttdoc">0x2E:The key does not exist</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43ac5cb4b78e7bff58f76e165335539e078"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ac5cb4b78e7bff58f76e165335539e078">m5::unit::finger2::ConfirmCode::NoFinger</a></div><div class="ttdeci">@ NoFinger</div><div class="ttdoc">0x02:No finger on the sensor</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43ac7c76add973d7131bdee9556667dbab6"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ac7c76add973d7131bdee9556667dbab6">m5::unit::finger2::ConfirmCode::DatabaseEmpty</a></div><div class="ttdeci">@ DatabaseEmpty</div><div class="ttdoc">0x24:The fingerprint database is empty</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43ac85a251cc457840f1e032f1b733e9398"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ac85a251cc457840f1e032f1b733e9398">m5::unit::finger2::ConfirmCode::Timeout</a></div><div class="ttdeci">@ Timeout</div><div class="ttdoc">0x26:Timeout</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43acb8992c2192fb2bdc4f5f8bfbd392ae8"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43acb8992c2192fb2bdc4f5f8bfbd392ae8">m5::unit::finger2::ConfirmCode::UpgradeFailed</a></div><div class="ttdeci">@ UpgradeFailed</div><div class="ttdoc">0x16:On-line upgrading failed;</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43ad51f16520866bdfa8ac73ee63d256e58"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ad51f16520866bdfa8ac73ee63d256e58">m5::unit::finger2::ConfirmCode::StaticObjectInImage</a></div><div class="ttdeci">@ StaticObjectInImage</div><div class="ttdoc">0x34:Static foreign object in the image (Orange)</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43ad55345eba32a58827336e1a76d5c2ea8"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ad55345eba32a58827336e1a76d5c2ea8">m5::unit::finger2::ConfirmCode::ImageTooDry</a></div><div class="ttdeci">@ ImageTooDry</div><div class="ttdoc">0x04:The fingerprint image is too dry or too light to generate feature</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43ad7843474f9328c8d99cc6f87ae3bc2cf"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ad7843474f9328c8d99cc6f87ae3bc2cf">m5::unit::finger2::ConfirmCode::VerifyPassword</a></div><div class="ttdeci">@ VerifyPassword</div><div class="ttdoc">0x21:Must verify password first</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43adee3724d77b4d8fca677636453c4bb89"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43adee3724d77b4d8fca677636453c4bb89">m5::unit::finger2::ConfirmCode::PacketError</a></div><div class="ttdeci">@ PacketError</div><div class="ttdoc">0x01:Data packet receiving error</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43ae0aa021e21dddbd6d8cecec71e9cf564"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ae0aa021e21dddbd6d8cecec71e9cf564">m5::unit::finger2::ConfirmCode::OK</a></div><div class="ttdeci">@ OK</div><div class="ttdoc">0x00:Instruction implementing end or OK</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43ae2262dc63f9bb77e4c1db31d65b1791b"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ae2262dc63f9bb77e4c1db31d65b1791b">m5::unit::finger2::ConfirmCode::PacketBad</a></div><div class="ttdeci">@ PacketBad</div><div class="ttdoc">0xFA:Error Packet (e.g., data not fully received, other packet received)</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43ae3293c9dc28f533e13252a85c986cc28"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ae3293c9dc28f533e13252a85c986cc28">m5::unit::finger2::ConfirmCode::InformationEmpty</a></div><div class="ttdeci">@ InformationEmpty</div><div class="ttdoc">0x2B:Module information is empty</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43ae4377505854820bcf6f0fdfb9bec0e01"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43ae4377505854820bcf6f0fdfb9bec0e01">m5::unit::finger2::ConfirmCode::LowPowerFailed</a></div><div class="ttdeci">@ LowPowerFailed</div><div class="ttdoc">0x12:Cannot be in low power consumption</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43af0dc5b8dbf46673b612bb962a4b05a83"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43af0dc5b8dbf46673b612bb962a4b05a83">m5::unit::finger2::ConfirmCode::ReceiveFailed</a></div><div class="ttdeci">@ ReceiveFailed</div><div class="ttdoc">0x0E:The module cannot receive continue data packet</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43af49ae8fe8248723951485ee429a017db"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43af49ae8fe8248723951485ee429a017db">m5::unit::finger2::ConfirmCode::ResettFailed</a></div><div class="ttdeci">@ ResettFailed</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43af4d400d118a84177492a1935036d2209"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43af4d400d118a84177492a1935036d2209">m5::unit::finger2::ConfirmCode::KeyGenerateFailed</a></div><div class="ttdeci">@ KeyGenerateFailed</div><div class="ttdoc">0x2D:Key generation failed</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43af58e66bc89ff44f129d186365d8b88f8"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43af58e66bc89ff44f129d186365d8b88f8">m5::unit::finger2::ConfirmCode::InvalidRegister</a></div><div class="ttdeci">@ InvalidRegister</div><div class="ttdoc">0x1A:Invalid register number</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a61296099c4dc3e43e13761d01976ee43afe5f5cf61a809d0dd4f355b34caaf648"><div class="ttname"><a href="unit___finger2_8hpp.html#a61296099c4dc3e43e13761d01976ee43afe5f5cf61a809d0dd4f355b34caaf648">m5::unit::finger2::ConfirmCode::FeatureAssociated</a></div><div class="ttdeci">@ FeatureAssociated</div><div class="ttdoc">0x28:Fingerprint features are associated</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a7d12c9dad2f1174965a737e05727ce9d"><div class="ttname"><a href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9d">m5::unit::finger2::LEDMode</a></div><div class="ttdeci">LEDMode</div><div class="ttdoc">LED operation mode.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:39</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a7d12c9dad2f1174965a737e05727ce9da382f1d7e8d99f3ee29d872432b560c16"><div class="ttname"><a href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9da382f1d7e8d99f3ee29d872432b560c16">m5::unit::finger2::LEDMode::Breath</a></div><div class="ttdeci">@ Breath</div><div class="ttdoc">Roundtrip between light up and out gradually (as default)</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a7d12c9dad2f1174965a737e05727ce9da4aca5ee9a087fb9218bfb662fe92605c"><div class="ttname"><a href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9da4aca5ee9a087fb9218bfb662fe92605c">m5::unit::finger2::LEDMode::Rainbow</a></div><div class="ttdeci">@ Rainbow</div><div class="ttdoc">Roundtrip rainbow color.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a7d12c9dad2f1174965a737e05727ce9da521c36a31c2762741cf0f8890cbe05e3"><div class="ttname"><a href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9da521c36a31c2762741cf0f8890cbe05e3">m5::unit::finger2::LEDMode::On</a></div><div class="ttdeci">@ On</div><div class="ttdoc">Light up.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a7d12c9dad2f1174965a737e05727ce9da5c47e9858ab884ceca52e8d9959368ed"><div class="ttname"><a href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9da5c47e9858ab884ceca52e8d9959368ed">m5::unit::finger2::LEDMode::Fadein</a></div><div class="ttdeci">@ Fadein</div><div class="ttdoc">Light up gradually.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a7d12c9dad2f1174965a737e05727ce9da6adf97f83acf6453d4a6a4b1070f3754"><div class="ttname"><a href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9da6adf97f83acf6453d4a6a4b1070f3754">m5::unit::finger2::LEDMode::None</a></div><div class="ttdeci">@ None</div><div class="ttdoc">None.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a7d12c9dad2f1174965a737e05727ce9da93b5e2eadc7b94177fa6c6e9b5b76224"><div class="ttname"><a href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9da93b5e2eadc7b94177fa6c6e9b5b76224">m5::unit::finger2::LEDMode::Fadeout</a></div><div class="ttdeci">@ Fadeout</div><div class="ttdoc">Light out gradually.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a7d12c9dad2f1174965a737e05727ce9dabd400f6e14b1e4c36872fdbc21d1aade"><div class="ttname"><a href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9dabd400f6e14b1e4c36872fdbc21d1aade">m5::unit::finger2::LEDMode::Bleath</a></div><div class="ttdeci">@ Bleath</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a7d12c9dad2f1174965a737e05727ce9dacfad0a7419f44ea0c64db24197abbf70"><div class="ttname"><a href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9dacfad0a7419f44ea0c64db24197abbf70">m5::unit::finger2::LEDMode::Blink</a></div><div class="ttdeci">@ Blink</div><div class="ttdoc">Blinking.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a7d12c9dad2f1174965a737e05727ce9dad15305d7a4e34e02489c74a5ef542f36"><div class="ttname"><a href="unit___finger2_8hpp.html#a7d12c9dad2f1174965a737e05727ce9dad15305d7a4e34e02489c74a5ef542f36">m5::unit::finger2::LEDMode::Off</a></div><div class="ttdeci">@ Off</div><div class="ttdoc">Light out.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_a8df757b95c98ae73bdc33c734601557e"><div class="ttname"><a href="unit___finger2_8hpp.html#a8df757b95c98ae73bdc33c734601557e">m5::unit::finger2::auto_enroll_flag::PROHIBIT_DUPLICATE_TEMPLATE</a></div><div class="ttdeci">constexpr auto_enroll_flag_t PROHIBIT_DUPLICATE_TEMPLATE</div><div class="ttdoc">Template Duplication prohibited.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:99</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_aaa4d455237126dce0e9e47f4aa854d3f"><div class="ttname"><a href="unit___finger2_8hpp.html#aaa4d455237126dce0e9e47f4aa854d3f">m5::unit::finger2::auto_enroll_flag_t</a></div><div class="ttdeci">uint16_t auto_enroll_flag_t</div><div class="ttdoc">Flags for autoEnroll.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:89</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_ac20e5e8c5cf97d7823f685150bc21f95"><div class="ttname"><a href="unit___finger2_8hpp.html#ac20e5e8c5cf97d7823f685150bc21f95">m5::unit::finger2::auto_enroll_flag::ALLOW_OVERWRITE_PAGE</a></div><div class="ttdeci">constexpr auto_enroll_flag_t ALLOW_OVERWRITE_PAGE</div><div class="ttdoc">Allow overwriting of page_id.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:98</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_ad9a809694e7081f91b26d1da8bb0f20b"><div class="ttname"><a href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20b">m5::unit::finger2::AutoEnrollStage</a></div><div class="ttdeci">AutoEnrollStage</div><div class="ttdoc">Interim stage of AutoEnroll.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:120</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_ad9a809694e7081f91b26d1da8bb0f20ba1a21cc7d3d936507d9307ee627a0819a"><div class="ttname"><a href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20ba1a21cc7d3d936507d9307ee627a0819a">m5::unit::finger2::AutoEnrollStage::StoreTemplate</a></div><div class="ttdeci">@ StoreTemplate</div><div class="ttdoc">PS_StoreChar.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_ad9a809694e7081f91b26d1da8bb0f20ba221b0c21b8b12036da3765b6dfc133cd"><div class="ttname"><a href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20ba221b0c21b8b12036da3765b6dfc133cd">m5::unit::finger2::AutoEnrollStage::GenerateCharacteristic</a></div><div class="ttdeci">@ GenerateCharacteristic</div><div class="ttdoc">PS_GenChar.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_ad9a809694e7081f91b26d1da8bb0f20ba40d4d354b32c7259bcb82379de2deb67"><div class="ttname"><a href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20ba40d4d354b32c7259bcb82379de2deb67">m5::unit::finger2::AutoEnrollStage::GetImage</a></div><div class="ttdeci">@ GetImage</div><div class="ttdoc">PS_GetEnrollImage.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_ad9a809694e7081f91b26d1da8bb0f20ba44b1cd86cd1d4dc768f46d7db6f6eb86"><div class="ttname"><a href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20ba44b1cd86cd1d4dc768f46d7db6f6eb86">m5::unit::finger2::AutoEnrollStage::ReleasedFinger</a></div><div class="ttdeci">@ ReleasedFinger</div><div class="ttdoc">Detected that the finger was released.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_ad9a809694e7081f91b26d1da8bb0f20ba926d7fc41ba4b7cf621a5a6b686728bc"><div class="ttname"><a href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20ba926d7fc41ba4b7cf621a5a6b686728bc">m5::unit::finger2::AutoEnrollStage::VerifyCommand</a></div><div class="ttdeci">@ VerifyCommand</div><div class="ttdoc">Command verification.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_ad9a809694e7081f91b26d1da8bb0f20baaeb818dae11b6e94b9b69afd654382a9"><div class="ttname"><a href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20baaeb818dae11b6e94b9b69afd654382a9">m5::unit::finger2::AutoEnrollStage::MergeTemplate</a></div><div class="ttdeci">@ MergeTemplate</div><div class="ttdoc">PS_RegModel.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_ad9a809694e7081f91b26d1da8bb0f20bab4faa7ed9568d022a0cd8e6b6d510999"><div class="ttname"><a href="unit___finger2_8hpp.html#ad9a809694e7081f91b26d1da8bb0f20bab4faa7ed9568d022a0cd8e6b6d510999">m5::unit::finger2::AutoEnrollStage::Inspection</a></div><div class="ttdeci">@ Inspection</div><div class="ttdoc">Inspection.</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_ae1ba4ac72a4594b7f982397632a8e5c3"><div class="ttname"><a href="unit___finger2_8hpp.html#ae1ba4ac72a4594b7f982397632a8e5c3">m5::unit::finger2::auto_enroll_flag::NO_NEED_RELAESE_FINGER</a></div><div class="ttdeci">constexpr auto_enroll_flag_t NO_NEED_RELAESE_FINGER</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:103</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_ae378c867c6de3829e71399995973fcc2"><div class="ttname"><a href="unit___finger2_8hpp.html#ae378c867c6de3829e71399995973fcc2">m5::unit::finger2::RegisterID</a></div><div class="ttdeci">RegisterID</div><div class="ttdoc">PS_WriteReg target register.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:70</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_ae378c867c6de3829e71399995973fcc2a1eb898097fbbaceb1322d33022f1908c"><div class="ttname"><a href="unit___finger2_8hpp.html#ae378c867c6de3829e71399995973fcc2a1eb898097fbbaceb1322d33022f1908c">m5::unit::finger2::RegisterID::PacketSize</a></div><div class="ttdeci">@ PacketSize</div><div class="ttdoc">0x06:Data packet size (0:32,1:64,2:128,3:256) (1 as default)</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_aeced9d214b0046b26f3128da3105ba2a"><div class="ttname"><a href="unit___finger2_8hpp.html#aeced9d214b0046b26f3128da3105ba2a">m5::unit::finger2::auto_enroll_flag::NO_NEED_RELEASE_FINGER</a></div><div class="ttdeci">constexpr auto_enroll_flag_t NO_NEED_RELEASE_FINGER</div><div class="ttdoc">No need to release finger.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:100</div></div>
<div class="ttc" id="aunit___finger2_8hpp_html_aef0011fa5d29d6506c953c5793331dd0"><div class="ttname"><a href="unit___finger2_8hpp.html#aef0011fa5d29d6506c953c5793331dd0">m5::unit::finger2::auto_enroll_flag::DONT_RETURN_INTERMEDIATE_RESULTS</a></div><div class="ttdeci">constexpr auto_enroll_flag_t DONT_RETURN_INTERMEDIATE_RESULTS</div><div class="ttdoc">Do not return intermediate results.</div><div class="ttdef"><b>Definition</b> unit_Finger2.hpp:97</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b9225a18e54a15d8544a67849bf5de50.html">unit</a></li><li class="navelem"><a class="el" href="unit___finger2_8hpp.html">unit_Finger2.hpp</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.11.0 </li>
</ul>
</div>
</body>
</html>