MCUXpresso_MIMXRT1052xxxxB/docs/MCUXpresso SDK API Referenc.../a00024.html

1552 lines
94 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>MCUXpresso SDK API Reference Manual: ENC: Quadrature Encoder/Decoder</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>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.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 style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="fs_logo.gif"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">MCUXpresso SDK API Reference Manual
&#160;<span id="projectnumber">Rev 2.15.000</span>
</div>
<div id="projectbrief">NXP Semiconductors</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>API&#160;Reference</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</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">
$(document).ready(function(){initNavTree('a00024.html','');});
</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)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">ENC: Quadrature Encoder/Decoder</div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<p>The MCUXpresso SDK provides a peripheral driver for the Quadrature Encoder/Decoder (ENC) module of MCUXpresso SDK devices.</p>
<p>This section describes the programming interface of the ENC Peripheral driver. The ENC driver configures the ENC module and provides a functional interface for the user to build the ENC application.</p>
<h1><a class="anchor" id="ENCFunGrps"></a>
Function groups</h1>
<h2><a class="anchor" id="ENCInit"></a>
Initialization and De-initialization</h2>
<p>This function group initializes default configuration structure for the ENC counter and initializes ENC counter with the normal configuration and de-initialize ENC module. Some APIs are also created to control the features.</p>
<h2><a class="anchor" id="ENCSta"></a>
Status</h2>
<p>This function group get/clear the ENC status.</p>
<h2><a class="anchor" id="ENCInt"></a>
Interrupts</h2>
<p>This function group enable/disable the ENC interrupts.</p>
<h2><a class="anchor" id="ENCValOps"></a>
Value Operation</h2>
<p>This function group get the counter/hold value of positions.</p>
<h1><a class="anchor" id="ENCTpyUC"></a>
Typical use case</h1>
<h2><a class="anchor" id="ENCPolConfig"></a>
Polling Configuration</h2>
<p>Refer to the driver examples codes located at &lt;SDK_ROOT&gt;/boards/&lt;BOARD&gt;/driver_examples/enc </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:a00360"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a00360">_enc_config</a></td></tr>
<tr class="memdesc:a00360"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define user configuration structure for ENC module. <a href="a00024.html#a00360">More...</a><br/></td></tr>
<tr class="separator:a00360"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00361"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a00361">_enc_self_test_config</a></td></tr>
<tr class="memdesc:a00361"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define configuration structure for self test module. <a href="a00024.html#a00361">More...</a><br/></td></tr>
<tr class="separator:a00361"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga88e8835d32fcf55bb143a1fe619bfd53"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00024.html#ga3f3efffe910c1611816a08ba17ce7c9e">_enc_home_trigger_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga88e8835d32fcf55bb143a1fe619bfd53">enc_home_trigger_mode_t</a></td></tr>
<tr class="memdesc:ga88e8835d32fcf55bb143a1fe619bfd53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define HOME signal's trigger mode. <a href="#ga88e8835d32fcf55bb143a1fe619bfd53">More...</a><br/></td></tr>
<tr class="separator:ga88e8835d32fcf55bb143a1fe619bfd53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2c9746fc8a7bcad2cfaa2d3f3f035c90"><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
<a class="el" href="a00024.html#ga29de01f066a7b20c96b51fdb392fe1b4">_enc_index_trigger_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga2c9746fc8a7bcad2cfaa2d3f3f035c90">enc_index_trigger_mode_t</a></td></tr>
<tr class="memdesc:ga2c9746fc8a7bcad2cfaa2d3f3f035c90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define INDEX signal's trigger mode. <a href="#ga2c9746fc8a7bcad2cfaa2d3f3f035c90">More...</a><br/></td></tr>
<tr class="separator:ga2c9746fc8a7bcad2cfaa2d3f3f035c90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab0beff48cfdfaf49f5f3a6e9133e81a5"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00024.html#gab0ab18a69b9eb5c4489686d527be38d1">_enc_decoder_work_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#gab0beff48cfdfaf49f5f3a6e9133e81a5">enc_decoder_work_mode_t</a></td></tr>
<tr class="memdesc:gab0beff48cfdfaf49f5f3a6e9133e81a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define type for decoder work mode. <a href="#gab0beff48cfdfaf49f5f3a6e9133e81a5">More...</a><br/></td></tr>
<tr class="separator:gab0beff48cfdfaf49f5f3a6e9133e81a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaee9062a7faa53f64b0f96009613bc2f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaaee9062a7faa53f64b0f96009613bc2f"></a>
typedef enum <br class="typebreak"/>
<a class="el" href="a00024.html#gadf524ed65a40db2e53c463e9c47d06c2">_enc_position_match_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#gaaee9062a7faa53f64b0f96009613bc2f">enc_position_match_mode_t</a></td></tr>
<tr class="memdesc:gaaee9062a7faa53f64b0f96009613bc2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define type for the condition of POSMATCH pulses. <br/></td></tr>
<tr class="separator:gaaee9062a7faa53f64b0f96009613bc2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f5c9d7aa77ae4e798079e7670f73801"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5f5c9d7aa77ae4e798079e7670f73801"></a>
typedef enum <br class="typebreak"/>
<a class="el" href="a00024.html#gae23ed261bb1bdfd8641019354769e69d">_enc_revolution_count_condition</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga5f5c9d7aa77ae4e798079e7670f73801">enc_revolution_count_condition_t</a></td></tr>
<tr class="memdesc:ga5f5c9d7aa77ae4e798079e7670f73801"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define type for determining how the revolution counter (REV) is incremented/decremented. <br/></td></tr>
<tr class="separator:ga5f5c9d7aa77ae4e798079e7670f73801"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadac7b390ef77fd7af12c271abd2a6ebc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadac7b390ef77fd7af12c271abd2a6ebc"></a>
typedef enum <br class="typebreak"/>
<a class="el" href="a00024.html#ga638c95c62f924d71ba7e541d916b6df7">_enc_self_test_direction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#gadac7b390ef77fd7af12c271abd2a6ebc">enc_self_test_direction_t</a></td></tr>
<tr class="memdesc:gadac7b390ef77fd7af12c271abd2a6ebc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define type for direction of self test generated signal. <br/></td></tr>
<tr class="separator:gadac7b390ef77fd7af12c271abd2a6ebc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef1fed8a3da13886d58499365e1b6047"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaef1fed8a3da13886d58499365e1b6047"></a>
typedef struct <a class="el" href="a00024.html#a00360">_enc_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#gaef1fed8a3da13886d58499365e1b6047">enc_config_t</a></td></tr>
<tr class="memdesc:gaef1fed8a3da13886d58499365e1b6047"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define user configuration structure for ENC module. <br/></td></tr>
<tr class="separator:gaef1fed8a3da13886d58499365e1b6047"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga89f150375e09c8bc136d2498339fa0c3"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="a00024.html#a00361">_enc_self_test_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga89f150375e09c8bc136d2498339fa0c3">enc_self_test_config_t</a></td></tr>
<tr class="memdesc:ga89f150375e09c8bc136d2498339fa0c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define configuration structure for self test module. <a href="#ga89f150375e09c8bc136d2498339fa0c3">More...</a><br/></td></tr>
<tr class="separator:ga89f150375e09c8bc136d2498339fa0c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga055521dd59bdb3746db74e6ae43f8509"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga055521dd59bdb3746db74e6ae43f8509">_enc_interrupt_enable</a> { <br/>
&#160;&#160;<a class="el" href="a00024.html#gga055521dd59bdb3746db74e6ae43f8509a75ab3bda44fc6a0e49a958c49a8446f9">kENC_HOMETransitionInterruptEnable</a> = (1U &lt;&lt; 0U),
<br/>
&#160;&#160;<a class="el" href="a00024.html#gga055521dd59bdb3746db74e6ae43f8509a2f4a6c1f0192740025e83543ff7bb4ff">kENC_INDEXPulseInterruptEnable</a> = (1U &lt;&lt; 1U),
<br/>
&#160;&#160;<a class="el" href="a00024.html#gga055521dd59bdb3746db74e6ae43f8509ac9f8e6941282b3208d6e9d800e38e4b4">kENC_WatchdogTimeoutInterruptEnable</a> = (1U &lt;&lt; 2U),
<br/>
&#160;&#160;<a class="el" href="a00024.html#gga055521dd59bdb3746db74e6ae43f8509a2c8392a5dbb845809d1057342f5c096d">kENC_PositionCompareInerruptEnable</a> = (1U &lt;&lt; 3U),
<br/>
&#160;&#160;<a class="el" href="a00024.html#gga055521dd59bdb3746db74e6ae43f8509a9db4d5821d6d96decf02a2cecd25bdf5">kENC_PositionRollOverInterruptEnable</a> = (1U &lt;&lt; 5U),
<br/>
&#160;&#160;<a class="el" href="a00024.html#gga055521dd59bdb3746db74e6ae43f8509aa0efb17e632b690b4453599bef9803ae">kENC_PositionRollUnderInterruptEnable</a> = (1U &lt;&lt; 6U)
<br/>
}</td></tr>
<tr class="memdesc:ga055521dd59bdb3746db74e6ae43f8509"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt enable/disable mask. <a href="a00024.html#ga055521dd59bdb3746db74e6ae43f8509">More...</a><br/></td></tr>
<tr class="separator:ga055521dd59bdb3746db74e6ae43f8509"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga19fd9d919dd4a1847677d7199c378bf6"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga19fd9d919dd4a1847677d7199c378bf6">_enc_status_flags</a> { <br/>
&#160;&#160;<a class="el" href="a00024.html#gga19fd9d919dd4a1847677d7199c378bf6ae9b2bd10da6ba16f5c8fea53447f0812">kENC_HOMETransitionFlag</a> = (1U &lt;&lt; 0U),
<br/>
&#160;&#160;<a class="el" href="a00024.html#gga19fd9d919dd4a1847677d7199c378bf6a55ba421b0dfb18097ac76ec21c8d0630">kENC_INDEXPulseFlag</a> = (1U &lt;&lt; 1U),
<br/>
&#160;&#160;<a class="el" href="a00024.html#gga19fd9d919dd4a1847677d7199c378bf6a8e7a89029ba7dde8e75ae843440f6585">kENC_WatchdogTimeoutFlag</a> = (1U &lt;&lt; 2U),
<br/>
&#160;&#160;<a class="el" href="a00024.html#gga19fd9d919dd4a1847677d7199c378bf6ac9448fc907e5a1122271afd48e3eff45">kENC_PositionCompareFlag</a> = (1U &lt;&lt; 3U),
<br/>
&#160;&#160;<a class="el" href="a00024.html#gga19fd9d919dd4a1847677d7199c378bf6a73afb47bdd635d7a086167e9cbfa4604">kENC_PositionRollOverFlag</a> = (1U &lt;&lt; 5U),
<br/>
&#160;&#160;<a class="el" href="a00024.html#gga19fd9d919dd4a1847677d7199c378bf6a8c44bd8327bdf3ef396d32abdf2c7826">kENC_PositionRollUnderFlag</a> = (1U &lt;&lt; 6U),
<br/>
&#160;&#160;<a class="el" href="a00024.html#gga19fd9d919dd4a1847677d7199c378bf6aeac7a2ef9ce248e4ef4d1a824d10edf8">kENC_LastCountDirectionFlag</a> = (1U &lt;&lt; 7U)
<br/>
}</td></tr>
<tr class="memdesc:ga19fd9d919dd4a1847677d7199c378bf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Status flag mask. <a href="a00024.html#ga19fd9d919dd4a1847677d7199c378bf6">More...</a><br/></td></tr>
<tr class="separator:ga19fd9d919dd4a1847677d7199c378bf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabcad4dcf0536b020cfbea8cb4374626a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#gabcad4dcf0536b020cfbea8cb4374626a">_enc_signal_status_flags</a> { <br/>
&#160;&#160;<a class="el" href="a00024.html#ggabcad4dcf0536b020cfbea8cb4374626aa7c2d8b020d3fd84c4726e12e4eabf656">kENC_RawHOMEStatusFlag</a> = ENC_IMR_HOME_MASK,
<br/>
&#160;&#160;<a class="el" href="a00024.html#ggabcad4dcf0536b020cfbea8cb4374626aa65070778b3f99e299d1c860705849773">kENC_RawINDEXStatusFlag</a> = ENC_IMR_INDEX_MASK,
<br/>
&#160;&#160;<a class="el" href="a00024.html#ggabcad4dcf0536b020cfbea8cb4374626aa1e1e36e91eb52e966cc9701e9c8cfd77">kENC_RawPHBStatusFlag</a> = ENC_IMR_PHB_MASK,
<br/>
&#160;&#160;<a class="el" href="a00024.html#ggabcad4dcf0536b020cfbea8cb4374626aaddf548234f6b197e04edef4936c5f3cf">kENC_RawPHAEXStatusFlag</a> = ENC_IMR_PHA_MASK,
<br/>
&#160;&#160;<a class="el" href="a00024.html#ggabcad4dcf0536b020cfbea8cb4374626aafbd74b303a2b2a1c1dc97b0d0b696552">kENC_FilteredHOMEStatusFlag</a> = ENC_IMR_FHOM_MASK,
<br/>
&#160;&#160;<a class="el" href="a00024.html#ggabcad4dcf0536b020cfbea8cb4374626aaf9b35682459d731cfbddbe4588425da7">kENC_FilteredINDEXStatusFlag</a> = ENC_IMR_FIND_MASK,
<br/>
&#160;&#160;<a class="el" href="a00024.html#ggabcad4dcf0536b020cfbea8cb4374626aa5406ade4d6ac443d8a0430dd4e2cb3b1">kENC_FilteredPHBStatusFlag</a> = ENC_IMR_FPHB_MASK,
<br/>
&#160;&#160;<a class="el" href="a00024.html#ggabcad4dcf0536b020cfbea8cb4374626aab54a4269314ff279f7bdfc84c58af5ff">kENC_FilteredPHAStatusFlag</a> = ENC_IMR_FPHA_MASK
<br/>
}</td></tr>
<tr class="memdesc:gabcad4dcf0536b020cfbea8cb4374626a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signal status flag mask. <a href="a00024.html#gabcad4dcf0536b020cfbea8cb4374626a">More...</a><br/></td></tr>
<tr class="separator:gabcad4dcf0536b020cfbea8cb4374626a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f3efffe910c1611816a08ba17ce7c9e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga3f3efffe910c1611816a08ba17ce7c9e">_enc_home_trigger_mode</a> { <br/>
&#160;&#160;<a class="el" href="a00024.html#gga3f3efffe910c1611816a08ba17ce7c9ea14f8fc3da25b327522b1bf6b9341a10c">kENC_HOMETriggerDisabled</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00024.html#gga3f3efffe910c1611816a08ba17ce7c9ea2640b2c847b9d69a9b2382cb7f7a1481">kENC_HOMETriggerOnRisingEdge</a>,
<br/>
&#160;&#160;<a class="el" href="a00024.html#gga3f3efffe910c1611816a08ba17ce7c9ea79e8a6e80fc98d6d88a84c937ef7e378">kENC_HOMETriggerOnFallingEdge</a>
<br/>
}</td></tr>
<tr class="memdesc:ga3f3efffe910c1611816a08ba17ce7c9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define HOME signal's trigger mode. <a href="a00024.html#ga3f3efffe910c1611816a08ba17ce7c9e">More...</a><br/></td></tr>
<tr class="separator:ga3f3efffe910c1611816a08ba17ce7c9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29de01f066a7b20c96b51fdb392fe1b4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga29de01f066a7b20c96b51fdb392fe1b4">_enc_index_trigger_mode</a> { <br/>
&#160;&#160;<a class="el" href="a00024.html#gga29de01f066a7b20c96b51fdb392fe1b4ae8376e76cb334d80c7cfc1c7f77e13ea">kENC_INDEXTriggerDisabled</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00024.html#gga29de01f066a7b20c96b51fdb392fe1b4ab5095f768a55185cc1bfbc089903d7b3">kENC_INDEXTriggerOnRisingEdge</a>,
<br/>
&#160;&#160;<a class="el" href="a00024.html#gga29de01f066a7b20c96b51fdb392fe1b4a1f0da068b8eb44cfbeafb6f88426163b">kENC_INDEXTriggerOnFallingEdge</a>
<br/>
}</td></tr>
<tr class="memdesc:ga29de01f066a7b20c96b51fdb392fe1b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define INDEX signal's trigger mode. <a href="a00024.html#ga29de01f066a7b20c96b51fdb392fe1b4">More...</a><br/></td></tr>
<tr class="separator:ga29de01f066a7b20c96b51fdb392fe1b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab0ab18a69b9eb5c4489686d527be38d1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#gab0ab18a69b9eb5c4489686d527be38d1">_enc_decoder_work_mode</a> { <br/>
&#160;&#160;<a class="el" href="a00024.html#ggab0ab18a69b9eb5c4489686d527be38d1af661773e581845df10715016acc53092">kENC_DecoderWorkAsNormalMode</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00024.html#ggab0ab18a69b9eb5c4489686d527be38d1a052a9bce9a3071c02b28238615b607a2">kENC_DecoderWorkAsSignalPhaseCountMode</a>
<br/>
}</td></tr>
<tr class="memdesc:gab0ab18a69b9eb5c4489686d527be38d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define type for decoder work mode. <a href="a00024.html#gab0ab18a69b9eb5c4489686d527be38d1">More...</a><br/></td></tr>
<tr class="separator:gab0ab18a69b9eb5c4489686d527be38d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf524ed65a40db2e53c463e9c47d06c2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#gadf524ed65a40db2e53c463e9c47d06c2">_enc_position_match_mode</a> { <br/>
&#160;&#160;<a class="el" href="a00024.html#ggadf524ed65a40db2e53c463e9c47d06c2ac7207e66be9333b516ef1b5d4079a6b4">kENC_POSMATCHOnPositionCounterEqualToComapreValue</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00024.html#ggadf524ed65a40db2e53c463e9c47d06c2ad546a2325a4a1b0d94ea19024cee663a">kENC_POSMATCHOnReadingAnyPositionCounter</a>
<br/>
}</td></tr>
<tr class="memdesc:gadf524ed65a40db2e53c463e9c47d06c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define type for the condition of POSMATCH pulses. <a href="a00024.html#gadf524ed65a40db2e53c463e9c47d06c2">More...</a><br/></td></tr>
<tr class="separator:gadf524ed65a40db2e53c463e9c47d06c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae23ed261bb1bdfd8641019354769e69d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#gae23ed261bb1bdfd8641019354769e69d">_enc_revolution_count_condition</a> { <br/>
&#160;&#160;<a class="el" href="a00024.html#ggae23ed261bb1bdfd8641019354769e69da6704d1629d730f19652da91096eb5a27">kENC_RevolutionCountOnINDEXPulse</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00024.html#ggae23ed261bb1bdfd8641019354769e69da2ff1ec8052b541a253c50c2a6069dea8">kENC_RevolutionCountOnRollOverModulus</a>
<br/>
}</td></tr>
<tr class="memdesc:gae23ed261bb1bdfd8641019354769e69d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define type for determining how the revolution counter (REV) is incremented/decremented. <a href="a00024.html#gae23ed261bb1bdfd8641019354769e69d">More...</a><br/></td></tr>
<tr class="separator:gae23ed261bb1bdfd8641019354769e69d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga638c95c62f924d71ba7e541d916b6df7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga638c95c62f924d71ba7e541d916b6df7">_enc_self_test_direction</a> { <br/>
&#160;&#160;<a class="el" href="a00024.html#gga638c95c62f924d71ba7e541d916b6df7a15fa41a761cf10c06dc032ad51b9d72c">kENC_SelfTestDirectionPositive</a> = 0U,
<br/>
&#160;&#160;<a class="el" href="a00024.html#gga638c95c62f924d71ba7e541d916b6df7a1536128883baf0c538ecf287c5b65a4a">kENC_SelfTestDirectionNegative</a>
<br/>
}</td></tr>
<tr class="memdesc:ga638c95c62f924d71ba7e541d916b6df7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define type for direction of self test generated signal. <a href="a00024.html#ga638c95c62f924d71ba7e541d916b6df7">More...</a><br/></td></tr>
<tr class="separator:ga638c95c62f924d71ba7e541d916b6df7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Initialization and De-initialization</h2></td></tr>
<tr class="memitem:ga3137a28cb8af9082c19244923faa6c7a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga3137a28cb8af9082c19244923faa6c7a">ENC_Init</a> (ENC_Type *base, const <a class="el" href="a00024.html#gaef1fed8a3da13886d58499365e1b6047">enc_config_t</a> *config)</td></tr>
<tr class="memdesc:ga3137a28cb8af9082c19244923faa6c7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization for the ENC module. <a href="#ga3137a28cb8af9082c19244923faa6c7a">More...</a><br/></td></tr>
<tr class="separator:ga3137a28cb8af9082c19244923faa6c7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae5541a81fcbffecd6184d3c88eb7ae4b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#gae5541a81fcbffecd6184d3c88eb7ae4b">ENC_Deinit</a> (ENC_Type *base)</td></tr>
<tr class="memdesc:gae5541a81fcbffecd6184d3c88eb7ae4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-initialization for the ENC module. <a href="#gae5541a81fcbffecd6184d3c88eb7ae4b">More...</a><br/></td></tr>
<tr class="separator:gae5541a81fcbffecd6184d3c88eb7ae4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga812eaa30d800dd8901fada028ef14562"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga812eaa30d800dd8901fada028ef14562">ENC_GetDefaultConfig</a> (<a class="el" href="a00024.html#gaef1fed8a3da13886d58499365e1b6047">enc_config_t</a> *config)</td></tr>
<tr class="memdesc:ga812eaa30d800dd8901fada028ef14562"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an available pre-defined settings for ENC's configuration. <a href="#ga812eaa30d800dd8901fada028ef14562">More...</a><br/></td></tr>
<tr class="separator:ga812eaa30d800dd8901fada028ef14562"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga813809b8cc5b8e3ecde96fa048854a78"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga813809b8cc5b8e3ecde96fa048854a78">ENC_DoSoftwareLoadInitialPositionValue</a> (ENC_Type *base)</td></tr>
<tr class="memdesc:ga813809b8cc5b8e3ecde96fa048854a78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load the initial position value to position counter. <a href="#ga813809b8cc5b8e3ecde96fa048854a78">More...</a><br/></td></tr>
<tr class="separator:ga813809b8cc5b8e3ecde96fa048854a78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba180b2066b162e2e89107622102583f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#gaba180b2066b162e2e89107622102583f">ENC_SetSelfTestConfig</a> (ENC_Type *base, const <a class="el" href="a00024.html#ga89f150375e09c8bc136d2498339fa0c3">enc_self_test_config_t</a> *config)</td></tr>
<tr class="memdesc:gaba180b2066b162e2e89107622102583f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable and configure the self test function. <a href="#gaba180b2066b162e2e89107622102583f">More...</a><br/></td></tr>
<tr class="separator:gaba180b2066b162e2e89107622102583f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga16862bf181ab5cbfab0281f3d95c6001"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga16862bf181ab5cbfab0281f3d95c6001">ENC_EnableWatchdog</a> (ENC_Type *base, bool enable)</td></tr>
<tr class="memdesc:ga16862bf181ab5cbfab0281f3d95c6001"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable watchdog for ENC module. <a href="#ga16862bf181ab5cbfab0281f3d95c6001">More...</a><br/></td></tr>
<tr class="separator:ga16862bf181ab5cbfab0281f3d95c6001"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga40e842e391413986e2593643445eec34"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga40e842e391413986e2593643445eec34">ENC_SetInitialPositionValue</a> (ENC_Type *base, uint32_t value)</td></tr>
<tr class="memdesc:ga40e842e391413986e2593643445eec34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set initial position value for ENC module. <a href="#ga40e842e391413986e2593643445eec34">More...</a><br/></td></tr>
<tr class="separator:ga40e842e391413986e2593643445eec34"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Status</h2></td></tr>
<tr class="memitem:gac6d4b61f9be15c7f02aea388b4a227b5"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#gac6d4b61f9be15c7f02aea388b4a227b5">ENC_GetStatusFlags</a> (ENC_Type *base)</td></tr>
<tr class="memdesc:gac6d4b61f9be15c7f02aea388b4a227b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the status flags. <a href="#gac6d4b61f9be15c7f02aea388b4a227b5">More...</a><br/></td></tr>
<tr class="separator:gac6d4b61f9be15c7f02aea388b4a227b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga339ef1f5da9195843d761dc9cc2a4096"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga339ef1f5da9195843d761dc9cc2a4096">ENC_ClearStatusFlags</a> (ENC_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga339ef1f5da9195843d761dc9cc2a4096"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the status flags. <a href="#ga339ef1f5da9195843d761dc9cc2a4096">More...</a><br/></td></tr>
<tr class="separator:ga339ef1f5da9195843d761dc9cc2a4096"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5680b84c11d6abd61e0a8bb1e855a0c0"><td class="memItemLeft" align="right" valign="top">static uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga5680b84c11d6abd61e0a8bb1e855a0c0">ENC_GetSignalStatusFlags</a> (ENC_Type *base)</td></tr>
<tr class="memdesc:ga5680b84c11d6abd61e0a8bb1e855a0c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the signals' real-time status. <a href="#ga5680b84c11d6abd61e0a8bb1e855a0c0">More...</a><br/></td></tr>
<tr class="separator:ga5680b84c11d6abd61e0a8bb1e855a0c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Interrupts</h2></td></tr>
<tr class="memitem:ga381d452d1280b3c96438d23daa53feb7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga381d452d1280b3c96438d23daa53feb7">ENC_EnableInterrupts</a> (ENC_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga381d452d1280b3c96438d23daa53feb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable the interrupts. <a href="#ga381d452d1280b3c96438d23daa53feb7">More...</a><br/></td></tr>
<tr class="separator:ga381d452d1280b3c96438d23daa53feb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafc42fec40149f8dddcd32a5425e6cabd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#gafc42fec40149f8dddcd32a5425e6cabd">ENC_DisableInterrupts</a> (ENC_Type *base, uint32_t mask)</td></tr>
<tr class="memdesc:gafc42fec40149f8dddcd32a5425e6cabd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable the interrupts. <a href="#gafc42fec40149f8dddcd32a5425e6cabd">More...</a><br/></td></tr>
<tr class="separator:gafc42fec40149f8dddcd32a5425e6cabd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga30209697ff01356ddb1c2c481046114f"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga30209697ff01356ddb1c2c481046114f">ENC_GetEnabledInterrupts</a> (ENC_Type *base)</td></tr>
<tr class="memdesc:ga30209697ff01356ddb1c2c481046114f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the enabled interrupts' flags. <a href="#ga30209697ff01356ddb1c2c481046114f">More...</a><br/></td></tr>
<tr class="separator:ga30209697ff01356ddb1c2c481046114f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Value Operation</h2></td></tr>
<tr class="memitem:ga20710a64c9be86f39f1e3e07611418d0"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga20710a64c9be86f39f1e3e07611418d0">ENC_GetPositionValue</a> (ENC_Type *base)</td></tr>
<tr class="memdesc:ga20710a64c9be86f39f1e3e07611418d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current position counter's value. <a href="#ga20710a64c9be86f39f1e3e07611418d0">More...</a><br/></td></tr>
<tr class="separator:ga20710a64c9be86f39f1e3e07611418d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabb415676c9ed37e70302447ba74c079a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#gabb415676c9ed37e70302447ba74c079a">ENC_GetHoldPositionValue</a> (ENC_Type *base)</td></tr>
<tr class="memdesc:gabb415676c9ed37e70302447ba74c079a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the hold position counter's value. <a href="#gabb415676c9ed37e70302447ba74c079a">More...</a><br/></td></tr>
<tr class="separator:gabb415676c9ed37e70302447ba74c079a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6174b059531f941c244f4ba4bb0334f"><td class="memItemLeft" align="right" valign="top">static uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#gac6174b059531f941c244f4ba4bb0334f">ENC_GetPositionDifferenceValue</a> (ENC_Type *base)</td></tr>
<tr class="memdesc:gac6174b059531f941c244f4ba4bb0334f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the position difference counter's value. <a href="#gac6174b059531f941c244f4ba4bb0334f">More...</a><br/></td></tr>
<tr class="separator:gac6174b059531f941c244f4ba4bb0334f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c1d85fb1ae43b29b5956c94ed73364f"><td class="memItemLeft" align="right" valign="top">static uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga0c1d85fb1ae43b29b5956c94ed73364f">ENC_GetHoldPositionDifferenceValue</a> (ENC_Type *base)</td></tr>
<tr class="memdesc:ga0c1d85fb1ae43b29b5956c94ed73364f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the hold position difference counter's value. <a href="#ga0c1d85fb1ae43b29b5956c94ed73364f">More...</a><br/></td></tr>
<tr class="separator:ga0c1d85fb1ae43b29b5956c94ed73364f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61378ace000c47c8020aa956fe153f16"><td class="memItemLeft" align="right" valign="top">static uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ga61378ace000c47c8020aa956fe153f16">ENC_GetRevolutionValue</a> (ENC_Type *base)</td></tr>
<tr class="memdesc:ga61378ace000c47c8020aa956fe153f16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the position revolution counter's value. <a href="#ga61378ace000c47c8020aa956fe153f16">More...</a><br/></td></tr>
<tr class="separator:ga61378ace000c47c8020aa956fe153f16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad7c69f91e436ff10454c22fb7ae5b7e4"><td class="memItemLeft" align="right" valign="top">static uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#gad7c69f91e436ff10454c22fb7ae5b7e4">ENC_GetHoldRevolutionValue</a> (ENC_Type *base)</td></tr>
<tr class="memdesc:gad7c69f91e436ff10454c22fb7ae5b7e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the hold position revolution counter's value. <a href="#gad7c69f91e436ff10454c22fb7ae5b7e4">More...</a><br/></td></tr>
<tr class="separator:gad7c69f91e436ff10454c22fb7ae5b7e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="a00360" id="a00360"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _enc_config</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:ad754ab4be68e450ac01f5c5def997762"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ad754ab4be68e450ac01f5c5def997762">enableReverseDirection</a></td></tr>
<tr class="memdesc:ad754ab4be68e450ac01f5c5def997762"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable reverse direction counting. <a href="#ad754ab4be68e450ac01f5c5def997762">More...</a><br/></td></tr>
<tr class="separator:ad754ab4be68e450ac01f5c5def997762"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac55e95a1ebbf9a703c63a05c723e040a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00024.html#gab0beff48cfdfaf49f5f3a6e9133e81a5">enc_decoder_work_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ac55e95a1ebbf9a703c63a05c723e040a">decoderWorkMode</a></td></tr>
<tr class="memdesc:ac55e95a1ebbf9a703c63a05c723e040a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable signal phase count mode. <a href="#ac55e95a1ebbf9a703c63a05c723e040a">More...</a><br/></td></tr>
<tr class="separator:ac55e95a1ebbf9a703c63a05c723e040a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c57c0fef10c4148b7bbf0014af81e27"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00024.html#ga88e8835d32fcf55bb143a1fe619bfd53">enc_home_trigger_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a4c57c0fef10c4148b7bbf0014af81e27">HOMETriggerMode</a></td></tr>
<tr class="memdesc:a4c57c0fef10c4148b7bbf0014af81e27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable HOME to initialize position counters. <a href="#a4c57c0fef10c4148b7bbf0014af81e27">More...</a><br/></td></tr>
<tr class="separator:a4c57c0fef10c4148b7bbf0014af81e27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a254d6094c2d9f4cb8febc3ef2498ea49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00024.html#ga2c9746fc8a7bcad2cfaa2d3f3f035c90">enc_index_trigger_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a254d6094c2d9f4cb8febc3ef2498ea49">INDEXTriggerMode</a></td></tr>
<tr class="memdesc:a254d6094c2d9f4cb8febc3ef2498ea49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable INDEX to initialize position counters. <a href="#a254d6094c2d9f4cb8febc3ef2498ea49">More...</a><br/></td></tr>
<tr class="separator:a254d6094c2d9f4cb8febc3ef2498ea49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ea8fda8e285c9d85d7594272cf026a3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a7ea8fda8e285c9d85d7594272cf026a3">enableTRIGGERClearPositionCounter</a></td></tr>
<tr class="memdesc:a7ea8fda8e285c9d85d7594272cf026a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear POSD, REV, UPOS and LPOS on rising edge of TRIGGER, or not. <a href="#a7ea8fda8e285c9d85d7594272cf026a3">More...</a><br/></td></tr>
<tr class="separator:a7ea8fda8e285c9d85d7594272cf026a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84c1b8172f384e77bbd71a026ad2087e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a84c1b8172f384e77bbd71a026ad2087e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a84c1b8172f384e77bbd71a026ad2087e">enableTRIGGERClearHoldPositionCounter</a></td></tr>
<tr class="memdesc:a84c1b8172f384e77bbd71a026ad2087e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable update of hold registers on rising edge of TRIGGER, or not. <br/></td></tr>
<tr class="separator:a84c1b8172f384e77bbd71a026ad2087e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17c4c8a51a6d44a81e0a61fd03525623"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a17c4c8a51a6d44a81e0a61fd03525623">enableWatchdog</a></td></tr>
<tr class="memdesc:a17c4c8a51a6d44a81e0a61fd03525623"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable the watchdog to detect if the target is moving or not. <a href="#a17c4c8a51a6d44a81e0a61fd03525623">More...</a><br/></td></tr>
<tr class="separator:a17c4c8a51a6d44a81e0a61fd03525623"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a7a86c52cc98695d57781e8323d1491"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a8a7a86c52cc98695d57781e8323d1491">watchdogTimeoutValue</a></td></tr>
<tr class="memdesc:a8a7a86c52cc98695d57781e8323d1491"><td class="mdescLeft">&#160;</td><td class="mdescRight">Watchdog timeout count value. <a href="#a8a7a86c52cc98695d57781e8323d1491">More...</a><br/></td></tr>
<tr class="separator:a8a7a86c52cc98695d57781e8323d1491"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51959cb2969010b93e3c0e61a2e7d783"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a51959cb2969010b93e3c0e61a2e7d783">filterCount</a></td></tr>
<tr class="memdesc:a51959cb2969010b93e3c0e61a2e7d783"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input Filter Sample Count. <a href="#a51959cb2969010b93e3c0e61a2e7d783">More...</a><br/></td></tr>
<tr class="separator:a51959cb2969010b93e3c0e61a2e7d783"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a255edb31b7f52fa56a899225183a161d"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a255edb31b7f52fa56a899225183a161d">filterSamplePeriod</a></td></tr>
<tr class="memdesc:a255edb31b7f52fa56a899225183a161d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input Filter Sample Period. <a href="#a255edb31b7f52fa56a899225183a161d">More...</a><br/></td></tr>
<tr class="separator:a255edb31b7f52fa56a899225183a161d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19fd34ae83be2d5a24ecc939671bb002"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00024.html#gaaee9062a7faa53f64b0f96009613bc2f">enc_position_match_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a19fd34ae83be2d5a24ecc939671bb002">positionMatchMode</a></td></tr>
<tr class="memdesc:a19fd34ae83be2d5a24ecc939671bb002"><td class="mdescLeft">&#160;</td><td class="mdescRight">The condition of POSMATCH pulses. <a href="#a19fd34ae83be2d5a24ecc939671bb002">More...</a><br/></td></tr>
<tr class="separator:a19fd34ae83be2d5a24ecc939671bb002"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaec5b01b6e9661c6df0610708c21c44d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#aaec5b01b6e9661c6df0610708c21c44d">positionCompareValue</a></td></tr>
<tr class="memdesc:aaec5b01b6e9661c6df0610708c21c44d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Position compare value. <a href="#aaec5b01b6e9661c6df0610708c21c44d">More...</a><br/></td></tr>
<tr class="separator:aaec5b01b6e9661c6df0610708c21c44d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c2b18b1b738a004a1a42eab4318ed03"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00024.html#ga5f5c9d7aa77ae4e798079e7670f73801">enc_revolution_count_condition_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a7c2b18b1b738a004a1a42eab4318ed03">revolutionCountCondition</a></td></tr>
<tr class="memdesc:a7c2b18b1b738a004a1a42eab4318ed03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Revolution Counter Modulus Enable. <a href="#a7c2b18b1b738a004a1a42eab4318ed03">More...</a><br/></td></tr>
<tr class="separator:a7c2b18b1b738a004a1a42eab4318ed03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b795d9ea719e7cff3951689ab65a930"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a8b795d9ea719e7cff3951689ab65a930">enableModuloCountMode</a></td></tr>
<tr class="memdesc:a8b795d9ea719e7cff3951689ab65a930"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable Modulo Counting. <a href="#a8b795d9ea719e7cff3951689ab65a930">More...</a><br/></td></tr>
<tr class="separator:a8b795d9ea719e7cff3951689ab65a930"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad24588974b896443abc282fb81d9a910"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ad24588974b896443abc282fb81d9a910">positionModulusValue</a></td></tr>
<tr class="memdesc:ad24588974b896443abc282fb81d9a910"><td class="mdescLeft">&#160;</td><td class="mdescRight">Position modulus value. <a href="#ad24588974b896443abc282fb81d9a910">More...</a><br/></td></tr>
<tr class="separator:ad24588974b896443abc282fb81d9a910"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc59884c4cdd242858612d085604c84e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#adc59884c4cdd242858612d085604c84e">positionInitialValue</a></td></tr>
<tr class="memdesc:adc59884c4cdd242858612d085604c84e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Position initial value. <a href="#adc59884c4cdd242858612d085604c84e">More...</a><br/></td></tr>
<tr class="separator:adc59884c4cdd242858612d085604c84e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="ad754ab4be68e450ac01f5c5def997762"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _enc_config::enableReverseDirection</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac55e95a1ebbf9a703c63a05c723e040a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00024.html#gab0beff48cfdfaf49f5f3a6e9133e81a5">enc_decoder_work_mode_t</a> _enc_config::decoderWorkMode</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a4c57c0fef10c4148b7bbf0014af81e27"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00024.html#ga88e8835d32fcf55bb143a1fe619bfd53">enc_home_trigger_mode_t</a> _enc_config::HOMETriggerMode</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a254d6094c2d9f4cb8febc3ef2498ea49"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00024.html#ga2c9746fc8a7bcad2cfaa2d3f3f035c90">enc_index_trigger_mode_t</a> _enc_config::INDEXTriggerMode</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7ea8fda8e285c9d85d7594272cf026a3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _enc_config::enableTRIGGERClearPositionCounter</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a17c4c8a51a6d44a81e0a61fd03525623"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _enc_config::enableWatchdog</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8a7a86c52cc98695d57781e8323d1491"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enc_config::watchdogTimeoutValue</td>
</tr>
</table>
</div><div class="memdoc">
<p>It stores the timeout count for the quadrature decoder module watchdog timer. This field is only available when "enableWatchdog" = true. The available value is a 16-bit unsigned number. </p>
</div>
</div>
<a class="anchor" id="a51959cb2969010b93e3c0e61a2e7d783"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enc_config::filterCount</td>
</tr>
</table>
</div><div class="memdoc">
<p>This value should be chosen to reduce the probability of noisy samples causing an incorrect transition to be recognized. The value represent the number of consecutive samples that must agree prior to the input filter accepting an input transition. A value of 0x0 represents 3 samples. A value of 0x7 represents 10 samples. The Available range is 0 - 7. </p>
</div>
</div>
<a class="anchor" id="a255edb31b7f52fa56a899225183a161d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enc_config::filterSamplePeriod</td>
</tr>
</table>
</div><div class="memdoc">
<p>This value should be set such that the sampling period is larger than the period of the expected noise. This value represents the sampling period (in IPBus clock cycles) of the decoder input signals. The available range is 0 - 255. </p>
</div>
</div>
<a class="anchor" id="a19fd34ae83be2d5a24ecc939671bb002"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00024.html#gaaee9062a7faa53f64b0f96009613bc2f">enc_position_match_mode_t</a> _enc_config::positionMatchMode</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aaec5b01b6e9661c6df0610708c21c44d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enc_config::positionCompareValue</td>
</tr>
</table>
</div><div class="memdoc">
<p>The available value is a 32-bit number. </p>
</div>
</div>
<a class="anchor" id="a7c2b18b1b738a004a1a42eab4318ed03"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00024.html#ga5f5c9d7aa77ae4e798079e7670f73801">enc_revolution_count_condition_t</a> _enc_config::revolutionCountCondition</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8b795d9ea719e7cff3951689ab65a930"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool _enc_config::enableModuloCountMode</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ad24588974b896443abc282fb81d9a910"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enc_config::positionModulusValue</td>
</tr>
</table>
</div><div class="memdoc">
<p>This value would be available only when "enableModuloCountMode" = true. The available value is a 32-bit number. </p>
</div>
</div>
<a class="anchor" id="adc59884c4cdd242858612d085604c84e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t _enc_config::positionInitialValue</td>
</tr>
</table>
</div><div class="memdoc">
<p>The available value is a 32-bit number. </p>
</div>
</div>
</div>
</div>
<a name="a00361" id="a00361"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _enc_self_test_config</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"><p>The self test module provides a quadrature test signal to the inputs of the quadrature decoder module. This is a factory test feature. It is also useful to customers' software development and testing. </p>
</div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:af93dbcfe3bdec619dc4c3137ab435ef0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00024.html#gadac7b390ef77fd7af12c271abd2a6ebc">enc_self_test_direction_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#af93dbcfe3bdec619dc4c3137ab435ef0">signalDirection</a></td></tr>
<tr class="memdesc:af93dbcfe3bdec619dc4c3137ab435ef0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Direction of self test generated signal. <a href="#af93dbcfe3bdec619dc4c3137ab435ef0">More...</a><br/></td></tr>
<tr class="separator:af93dbcfe3bdec619dc4c3137ab435ef0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88b049ae384312c2b4fb74c59924f7f5"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a88b049ae384312c2b4fb74c59924f7f5">signalCount</a></td></tr>
<tr class="memdesc:a88b049ae384312c2b4fb74c59924f7f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hold the number of quadrature advances to generate. <a href="#a88b049ae384312c2b4fb74c59924f7f5">More...</a><br/></td></tr>
<tr class="separator:a88b049ae384312c2b4fb74c59924f7f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a232136f38b57ce15fdf30a430a3ebff3"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a232136f38b57ce15fdf30a430a3ebff3">signalPeriod</a></td></tr>
<tr class="memdesc:a232136f38b57ce15fdf30a430a3ebff3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hold the period of quadrature phase in IPBus clock cycles. <a href="#a232136f38b57ce15fdf30a430a3ebff3">More...</a><br/></td></tr>
<tr class="separator:a232136f38b57ce15fdf30a430a3ebff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="af93dbcfe3bdec619dc4c3137ab435ef0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00024.html#gadac7b390ef77fd7af12c271abd2a6ebc">enc_self_test_direction_t</a> _enc_self_test_config::signalDirection</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a88b049ae384312c2b4fb74c59924f7f5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enc_self_test_config::signalCount</td>
</tr>
</table>
</div><div class="memdoc">
<p>The available range is 0 - 255. </p>
</div>
</div>
<a class="anchor" id="a232136f38b57ce15fdf30a430a3ebff3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t _enc_self_test_config::signalPeriod</td>
</tr>
</table>
</div><div class="memdoc">
<p>The available range is 0 - 31. </p>
</div>
</div>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga88e8835d32fcf55bb143a1fe619bfd53"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00024.html#ga3f3efffe910c1611816a08ba17ce7c9e">_enc_home_trigger_mode</a> <a class="el" href="a00024.html#ga88e8835d32fcf55bb143a1fe619bfd53">enc_home_trigger_mode_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The ENC would count the trigger from HOME signal line. </p>
</div>
</div>
<a class="anchor" id="ga2c9746fc8a7bcad2cfaa2d3f3f035c90"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00024.html#ga29de01f066a7b20c96b51fdb392fe1b4">_enc_index_trigger_mode</a> <a class="el" href="a00024.html#ga2c9746fc8a7bcad2cfaa2d3f3f035c90">enc_index_trigger_mode_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The ENC would count the trigger from INDEX signal line. </p>
</div>
</div>
<a class="anchor" id="gab0beff48cfdfaf49f5f3a6e9133e81a5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="a00024.html#gab0ab18a69b9eb5c4489686d527be38d1">_enc_decoder_work_mode</a> <a class="el" href="a00024.html#gab0beff48cfdfaf49f5f3a6e9133e81a5">enc_decoder_work_mode_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The normal work mode uses the standard quadrature decoder with PHASEA and PHASEB. When in signal phase count mode, a positive transition of the PHASEA input generates a count signal while the PHASEB input and the reverse direction control the counter direction. If the reverse direction is not enabled, PHASEB = 0 means counting up and PHASEB = 1 means counting down. Otherwise, the direction is reversed. </p>
</div>
</div>
<a class="anchor" id="ga89f150375e09c8bc136d2498339fa0c3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="a00024.html#a00361">_enc_self_test_config</a> <a class="el" href="a00024.html#ga89f150375e09c8bc136d2498339fa0c3">enc_self_test_config_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The self test module provides a quadrature test signal to the inputs of the quadrature decoder module. This is a factory test feature. It is also useful to customers' software development and testing. </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga055521dd59bdb3746db74e6ae43f8509"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00024.html#ga055521dd59bdb3746db74e6ae43f8509">_enc_interrupt_enable</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga055521dd59bdb3746db74e6ae43f8509a75ab3bda44fc6a0e49a958c49a8446f9"></a>kENC_HOMETransitionInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>HOME interrupt enable. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga055521dd59bdb3746db74e6ae43f8509a2f4a6c1f0192740025e83543ff7bb4ff"></a>kENC_INDEXPulseInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>INDEX pulse interrupt enable. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga055521dd59bdb3746db74e6ae43f8509ac9f8e6941282b3208d6e9d800e38e4b4"></a>kENC_WatchdogTimeoutInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Watchdog timeout interrupt enable. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga055521dd59bdb3746db74e6ae43f8509a2c8392a5dbb845809d1057342f5c096d"></a>kENC_PositionCompareInerruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Position compare interrupt enable. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga055521dd59bdb3746db74e6ae43f8509a9db4d5821d6d96decf02a2cecd25bdf5"></a>kENC_PositionRollOverInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Roll-over interrupt enable. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga055521dd59bdb3746db74e6ae43f8509aa0efb17e632b690b4453599bef9803ae"></a>kENC_PositionRollUnderInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Roll-under interrupt enable. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga19fd9d919dd4a1847677d7199c378bf6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00024.html#ga19fd9d919dd4a1847677d7199c378bf6">_enc_status_flags</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>These flags indicate the counter's events. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga19fd9d919dd4a1847677d7199c378bf6ae9b2bd10da6ba16f5c8fea53447f0812"></a>kENC_HOMETransitionFlag</em>&nbsp;</td><td class="fielddoc">
<p>HOME signal transition interrupt request. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga19fd9d919dd4a1847677d7199c378bf6a55ba421b0dfb18097ac76ec21c8d0630"></a>kENC_INDEXPulseFlag</em>&nbsp;</td><td class="fielddoc">
<p>INDEX Pulse Interrupt Request. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga19fd9d919dd4a1847677d7199c378bf6a8e7a89029ba7dde8e75ae843440f6585"></a>kENC_WatchdogTimeoutFlag</em>&nbsp;</td><td class="fielddoc">
<p>Watchdog timeout interrupt request. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga19fd9d919dd4a1847677d7199c378bf6ac9448fc907e5a1122271afd48e3eff45"></a>kENC_PositionCompareFlag</em>&nbsp;</td><td class="fielddoc">
<p>Position compare interrupt request. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga19fd9d919dd4a1847677d7199c378bf6a73afb47bdd635d7a086167e9cbfa4604"></a>kENC_PositionRollOverFlag</em>&nbsp;</td><td class="fielddoc">
<p>Roll-over interrupt request. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga19fd9d919dd4a1847677d7199c378bf6a8c44bd8327bdf3ef396d32abdf2c7826"></a>kENC_PositionRollUnderFlag</em>&nbsp;</td><td class="fielddoc">
<p>Roll-under interrupt request. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga19fd9d919dd4a1847677d7199c378bf6aeac7a2ef9ce248e4ef4d1a824d10edf8"></a>kENC_LastCountDirectionFlag</em>&nbsp;</td><td class="fielddoc">
<p>Last count was in the up direction, or the down direction. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gabcad4dcf0536b020cfbea8cb4374626a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00024.html#gabcad4dcf0536b020cfbea8cb4374626a">_enc_signal_status_flags</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>These flags indicate the counter's signal. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggabcad4dcf0536b020cfbea8cb4374626aa7c2d8b020d3fd84c4726e12e4eabf656"></a>kENC_RawHOMEStatusFlag</em>&nbsp;</td><td class="fielddoc">
<p>Raw HOME input. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabcad4dcf0536b020cfbea8cb4374626aa65070778b3f99e299d1c860705849773"></a>kENC_RawINDEXStatusFlag</em>&nbsp;</td><td class="fielddoc">
<p>Raw INDEX input. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabcad4dcf0536b020cfbea8cb4374626aa1e1e36e91eb52e966cc9701e9c8cfd77"></a>kENC_RawPHBStatusFlag</em>&nbsp;</td><td class="fielddoc">
<p>Raw PHASEB input. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabcad4dcf0536b020cfbea8cb4374626aaddf548234f6b197e04edef4936c5f3cf"></a>kENC_RawPHAEXStatusFlag</em>&nbsp;</td><td class="fielddoc">
<p>Raw PHASEA input. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabcad4dcf0536b020cfbea8cb4374626aafbd74b303a2b2a1c1dc97b0d0b696552"></a>kENC_FilteredHOMEStatusFlag</em>&nbsp;</td><td class="fielddoc">
<p>The filtered version of HOME input. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabcad4dcf0536b020cfbea8cb4374626aaf9b35682459d731cfbddbe4588425da7"></a>kENC_FilteredINDEXStatusFlag</em>&nbsp;</td><td class="fielddoc">
<p>The filtered version of INDEX input. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabcad4dcf0536b020cfbea8cb4374626aa5406ade4d6ac443d8a0430dd4e2cb3b1"></a>kENC_FilteredPHBStatusFlag</em>&nbsp;</td><td class="fielddoc">
<p>The filtered version of PHASEB input. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabcad4dcf0536b020cfbea8cb4374626aab54a4269314ff279f7bdfc84c58af5ff"></a>kENC_FilteredPHAStatusFlag</em>&nbsp;</td><td class="fielddoc">
<p>The filtered version of PHASEA input. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga3f3efffe910c1611816a08ba17ce7c9e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00024.html#ga3f3efffe910c1611816a08ba17ce7c9e">_enc_home_trigger_mode</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The ENC would count the trigger from HOME signal line. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga3f3efffe910c1611816a08ba17ce7c9ea14f8fc3da25b327522b1bf6b9341a10c"></a>kENC_HOMETriggerDisabled</em>&nbsp;</td><td class="fielddoc">
<p>HOME signal's trigger is disabled. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga3f3efffe910c1611816a08ba17ce7c9ea2640b2c847b9d69a9b2382cb7f7a1481"></a>kENC_HOMETriggerOnRisingEdge</em>&nbsp;</td><td class="fielddoc">
<p>Use positive going edge-to-trigger initialization of position counters. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga3f3efffe910c1611816a08ba17ce7c9ea79e8a6e80fc98d6d88a84c937ef7e378"></a>kENC_HOMETriggerOnFallingEdge</em>&nbsp;</td><td class="fielddoc">
<p>Use negative going edge-to-trigger initialization of position counters. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga29de01f066a7b20c96b51fdb392fe1b4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00024.html#ga29de01f066a7b20c96b51fdb392fe1b4">_enc_index_trigger_mode</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The ENC would count the trigger from INDEX signal line. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga29de01f066a7b20c96b51fdb392fe1b4ae8376e76cb334d80c7cfc1c7f77e13ea"></a>kENC_INDEXTriggerDisabled</em>&nbsp;</td><td class="fielddoc">
<p>INDEX signal's trigger is disabled. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga29de01f066a7b20c96b51fdb392fe1b4ab5095f768a55185cc1bfbc089903d7b3"></a>kENC_INDEXTriggerOnRisingEdge</em>&nbsp;</td><td class="fielddoc">
<p>Use positive going edge-to-trigger initialization of position counters. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga29de01f066a7b20c96b51fdb392fe1b4a1f0da068b8eb44cfbeafb6f88426163b"></a>kENC_INDEXTriggerOnFallingEdge</em>&nbsp;</td><td class="fielddoc">
<p>Use negative going edge-to-trigger initialization of position counters. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gab0ab18a69b9eb5c4489686d527be38d1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00024.html#gab0ab18a69b9eb5c4489686d527be38d1">_enc_decoder_work_mode</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The normal work mode uses the standard quadrature decoder with PHASEA and PHASEB. When in signal phase count mode, a positive transition of the PHASEA input generates a count signal while the PHASEB input and the reverse direction control the counter direction. If the reverse direction is not enabled, PHASEB = 0 means counting up and PHASEB = 1 means counting down. Otherwise, the direction is reversed. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggab0ab18a69b9eb5c4489686d527be38d1af661773e581845df10715016acc53092"></a>kENC_DecoderWorkAsNormalMode</em>&nbsp;</td><td class="fielddoc">
<p>Use standard quadrature decoder with PHASEA and PHASEB. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab0ab18a69b9eb5c4489686d527be38d1a052a9bce9a3071c02b28238615b607a2"></a>kENC_DecoderWorkAsSignalPhaseCountMode</em>&nbsp;</td><td class="fielddoc">
<p>PHASEA input generates a count signal while PHASEB input control the direction. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gadf524ed65a40db2e53c463e9c47d06c2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00024.html#gadf524ed65a40db2e53c463e9c47d06c2">_enc_position_match_mode</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggadf524ed65a40db2e53c463e9c47d06c2ac7207e66be9333b516ef1b5d4079a6b4"></a>kENC_POSMATCHOnPositionCounterEqualToComapreValue</em>&nbsp;</td><td class="fielddoc">
<p>POSMATCH pulses when a match occurs between the position counters (POS) and the compare value (COMP). </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadf524ed65a40db2e53c463e9c47d06c2ad546a2325a4a1b0d94ea19024cee663a"></a>kENC_POSMATCHOnReadingAnyPositionCounter</em>&nbsp;</td><td class="fielddoc">
<p>POSMATCH pulses when any position counter register is read. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gae23ed261bb1bdfd8641019354769e69d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00024.html#gae23ed261bb1bdfd8641019354769e69d">_enc_revolution_count_condition</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggae23ed261bb1bdfd8641019354769e69da6704d1629d730f19652da91096eb5a27"></a>kENC_RevolutionCountOnINDEXPulse</em>&nbsp;</td><td class="fielddoc">
<p>Use INDEX pulse to increment/decrement revolution counter. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae23ed261bb1bdfd8641019354769e69da2ff1ec8052b541a253c50c2a6069dea8"></a>kENC_RevolutionCountOnRollOverModulus</em>&nbsp;</td><td class="fielddoc">
<p>Use modulus counting roll-over/under to increment/decrement revolution counter. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga638c95c62f924d71ba7e541d916b6df7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="a00024.html#ga638c95c62f924d71ba7e541d916b6df7">_enc_self_test_direction</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga638c95c62f924d71ba7e541d916b6df7a15fa41a761cf10c06dc032ad51b9d72c"></a>kENC_SelfTestDirectionPositive</em>&nbsp;</td><td class="fielddoc">
<p>Self test generates the signal in positive direction. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga638c95c62f924d71ba7e541d916b6df7a1536128883baf0c538ecf287c5b65a4a"></a>kENC_SelfTestDirectionNegative</em>&nbsp;</td><td class="fielddoc">
<p>Self test generates the signal in negative direction. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga3137a28cb8af9082c19244923faa6c7a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENC_Init </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="a00024.html#gaef1fed8a3da13886d58499365e1b6047">enc_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function is to make the initialization for the ENC module. It should be called firstly before any operation to the ENC with the operations like:</p>
<ul>
<li>Enable the clock for ENC module.</li>
<li>Configure the ENC's working attributes.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address. </td></tr>
<tr><td class="paramname">config</td><td>Pointer to configuration structure. See to "enc_config_t". </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae5541a81fcbffecd6184d3c88eb7ae4b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENC_Deinit </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function is to make the de-initialization for the ENC module. It could be called when ENC is no longer used with the operations like:</p>
<ul>
<li>Disable the clock for ENC module.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga812eaa30d800dd8901fada028ef14562"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENC_GetDefaultConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00024.html#gaef1fed8a3da13886d58499365e1b6047">enc_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function initializes the ENC configuration structure with an available settings, the default value are: </p>
<div class="fragment"><div class="line">* config-&gt;enableReverseDirection = <span class="keyword">false</span>;</div>
<div class="line">* config-&gt;decoderWorkMode = <a class="code" href="a00024.html#ggab0ab18a69b9eb5c4489686d527be38d1af661773e581845df10715016acc53092">kENC_DecoderWorkAsNormalMode</a>;</div>
<div class="line">* config-&gt;HOMETriggerMode = <a class="code" href="a00024.html#gga3f3efffe910c1611816a08ba17ce7c9ea14f8fc3da25b327522b1bf6b9341a10c">kENC_HOMETriggerDisabled</a>;</div>
<div class="line">* config-&gt;INDEXTriggerMode = <a class="code" href="a00024.html#gga29de01f066a7b20c96b51fdb392fe1b4ae8376e76cb334d80c7cfc1c7f77e13ea">kENC_INDEXTriggerDisabled</a>;</div>
<div class="line">* config-&gt;enableTRIGGERClearPositionCounter = <span class="keyword">false</span>;</div>
<div class="line">* config-&gt;enableTRIGGERClearHoldPositionCounter = <span class="keyword">false</span>;</div>
<div class="line">* config-&gt;enableWatchdog = <span class="keyword">false</span>;</div>
<div class="line">* config-&gt;watchdogTimeoutValue = 0U;</div>
<div class="line">* config-&gt;filterCount = 0U;</div>
<div class="line">* config-&gt;filterSamplePeriod = 0U;</div>
<div class="line">* config-&gt;positionMatchMode = <a class="code" href="a00024.html#ggadf524ed65a40db2e53c463e9c47d06c2ac7207e66be9333b516ef1b5d4079a6b4">kENC_POSMATCHOnPositionCounterEqualToComapreValue</a>;</div>
<div class="line">* config-&gt;positionCompareValue = 0xFFFFFFFFU;</div>
<div class="line">* config-&gt;revolutionCountCondition = <a class="code" href="a00024.html#ggae23ed261bb1bdfd8641019354769e69da6704d1629d730f19652da91096eb5a27">kENC_RevolutionCountOnINDEXPulse</a>;</div>
<div class="line">* config-&gt;enableModuloCountMode = <span class="keyword">false</span>;</div>
<div class="line">* config-&gt;positionModulusValue = 0U;</div>
<div class="line">* config-&gt;positionInitialValue = 0U;</div>
<div class="line">* config-&gt;prescalerValue = kENC_ClockDiv1;</div>
<div class="line">* config-&gt;enablePeriodMeasurementFunction = <span class="keyword">true</span>;</div>
<div class="line">* </div>
</div><!-- fragment --> <dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>Pointer to a variable of configuration structure. See to "enc_config_t". </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga813809b8cc5b8e3ecde96fa048854a78"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENC_DoSoftwareLoadInitialPositionValue </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function is to transfer the initial position value (UINIT and LINIT) contents to position counter (UPOS and LPOS), so that to provide the consistent operation the position counter registers.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaba180b2066b162e2e89107622102583f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENC_SetSelfTestConfig </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="a00024.html#ga89f150375e09c8bc136d2498339fa0c3">enc_self_test_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function is to enable and configuration the self test function. It controls and sets the frequency of a quadrature signal generator. It provides a quadrature test signal to the inputs of the quadrature decoder module. It is a factory test feature; however, it may be useful to customers' software development and testing.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address. </td></tr>
<tr><td class="paramname">config</td><td>Pointer to configuration structure. See to "enc_self_test_config_t". Pass "NULL" to disable. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga16862bf181ab5cbfab0281f3d95c6001"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENC_EnableWatchdog </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address </td></tr>
<tr><td class="paramname">enable</td><td>Enables or disables the watchdog </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga40e842e391413986e2593643445eec34"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENC_SetInitialPositionValue </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address </td></tr>
<tr><td class="paramname">value</td><td>Positive initial value </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac6d4b61f9be15c7f02aea388b4a227b5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t ENC_GetStatusFlags </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Mask value of status flags. For available mask, see to "_enc_status_flags". </dd></dl>
</div>
</div>
<a class="anchor" id="ga339ef1f5da9195843d761dc9cc2a4096"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENC_ClearStatusFlags </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>Mask value of status flags to be cleared. For available mask, see to "_enc_status_flags". </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga5680b84c11d6abd61e0a8bb1e855a0c0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint16_t ENC_GetSignalStatusFlags </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Mask value of signals' real-time status. For available mask, see to "_enc_signal_status_flags" </dd></dl>
</div>
</div>
<a class="anchor" id="ga381d452d1280b3c96438d23daa53feb7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENC_EnableInterrupts </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>Mask value of interrupts to be enabled. For available mask, see to "_enc_interrupt_enable". </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gafc42fec40149f8dddcd32a5425e6cabd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ENC_DisableInterrupts </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address. </td></tr>
<tr><td class="paramname">mask</td><td>Mask value of interrupts to be disabled. For available mask, see to "_enc_interrupt_enable". </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga30209697ff01356ddb1c2c481046114f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t ENC_GetEnabledInterrupts </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Mask value of enabled interrupts. </dd></dl>
</div>
</div>
<a class="anchor" id="ga20710a64c9be86f39f1e3e07611418d0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t ENC_GetPositionValue </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Current position counter's value. </dd></dl>
</div>
</div>
<a class="anchor" id="gabb415676c9ed37e70302447ba74c079a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t ENC_GetHoldPositionValue </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>When any of the counter registers is read, the contents of each counter register is written to the corresponding hold register. Taking a snapshot of the counters' values provides a consistent view of a system position and a velocity to be attained.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Hold position counter's value. </dd></dl>
</div>
</div>
<a class="anchor" id="gac6174b059531f941c244f4ba4bb0334f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint16_t ENC_GetPositionDifferenceValue </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The position difference counter's value. </dd></dl>
</div>
</div>
<a class="anchor" id="ga0c1d85fb1ae43b29b5956c94ed73364f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint16_t ENC_GetHoldPositionDifferenceValue </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>When any of the counter registers is read, the contents of each counter register is written to the corresponding hold register. Taking a snapshot of the counters' values provides a consistent view of a system position and a velocity to be attained.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Hold position difference counter's value. </dd></dl>
</div>
</div>
<a class="anchor" id="ga61378ace000c47c8020aa956fe153f16"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint16_t ENC_GetRevolutionValue </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The position revolution counter's value. </dd></dl>
</div>
</div>
<a class="anchor" id="gad7c69f91e436ff10454c22fb7ae5b7e4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint16_t ENC_GetHoldRevolutionValue </td>
<td>(</td>
<td class="paramtype">ENC_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>When any of the counter registers is read, the contents of each counter register is written to the corresponding hold register. Taking a snapshot of the counters' values provides a consistent view of a system position and a velocity to be attained.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>ENC peripheral base address.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Hold position revolution counter's value. </dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.5-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul class="foot">
<li class="footer">&copy; 2016 NXP Semiconductors. All rights reserved.
</li>
</ul>
</div>
</body>
</html>