satnogs-rotator-firmware/doxygen_files/html/classAS5601.html

656 lines
33 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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>satnogs-rotator-firmware: AS5601 Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<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 style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">satnogs-rotator-firmware
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- 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">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classAS5601-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">AS5601 Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Class that functions for interacting with <a class="el" href="classAS5601.html" title="Class that functions for interacting with AS5601 magnetic rotary position sensor. ...">AS5601</a> magnetic rotary position sensor.
<a href="classAS5601.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="as5601_8h_source.html">as5601.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a51af9d44432ad5ccaa764a98d2450ec3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAS5601.html#a51af9d44432ad5ccaa764a98d2450ec3">Begin</a> ()</td></tr>
<tr class="memdesc:a51af9d44432ad5ccaa764a98d2450ec3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the I2C bus. <a href="#a51af9d44432ad5ccaa764a98d2450ec3">More...</a><br /></td></tr>
<tr class="separator:a51af9d44432ad5ccaa764a98d2450ec3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cbfc7e9a35fd7b4c0cfa04fec4bf0c5"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAS5601.html#a9cbfc7e9a35fd7b4c0cfa04fec4bf0c5">get_pos</a> (double *new_pos)</td></tr>
<tr class="memdesc:a9cbfc7e9a35fd7b4c0cfa04fec4bf0c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate an unwrap the position. <a href="#a9cbfc7e9a35fd7b4c0cfa04fec4bf0c5">More...</a><br /></td></tr>
<tr class="separator:a9cbfc7e9a35fd7b4c0cfa04fec4bf0c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8192e27c57aaef265e0649876ca6bf2"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAS5601.html#ad8192e27c57aaef265e0649876ca6bf2">get_agc</a> ()</td></tr>
<tr class="memdesc:ad8192e27c57aaef265e0649876ca6bf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the automatic gain control (AGC) <a href="#ad8192e27c57aaef265e0649876ca6bf2">More...</a><br /></td></tr>
<tr class="separator:ad8192e27c57aaef265e0649876ca6bf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fd828b9871407420fb8a277d13e769c"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAS5601.html#a6fd828b9871407420fb8a277d13e769c">get_magnitude</a> ()</td></tr>
<tr class="memdesc:a6fd828b9871407420fb8a277d13e769c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the magnitude value of the internal CORDIC output. <a href="#a6fd828b9871407420fb8a277d13e769c">More...</a><br /></td></tr>
<tr class="separator:a6fd828b9871407420fb8a277d13e769c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfce6bb3f9888bca6c8527ea0d4fad88"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAS5601.html#abfce6bb3f9888bca6c8527ea0d4fad88">get_conf</a> ()</td></tr>
<tr class="memdesc:abfce6bb3f9888bca6c8527ea0d4fad88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the configuration register. <a href="#abfce6bb3f9888bca6c8527ea0d4fad88">More...</a><br /></td></tr>
<tr class="separator:abfce6bb3f9888bca6c8527ea0d4fad88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af760a7dd400974baf9daebad22920bdb"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAS5601.html#af760a7dd400974baf9daebad22920bdb">set_zero</a> ()</td></tr>
<tr class="memdesc:af760a7dd400974baf9daebad22920bdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set zero by setting offset angle. <a href="#af760a7dd400974baf9daebad22920bdb">More...</a><br /></td></tr>
<tr class="separator:af760a7dd400974baf9daebad22920bdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a865a4971a787bbdb9ff64fd31e2eb348"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAS5601.html#a865a4971a787bbdb9ff64fd31e2eb348">init_zero</a> ()</td></tr>
<tr class="memdesc:a865a4971a787bbdb9ff64fd31e2eb348"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset zero position set the offset to zero. <a href="#a865a4971a787bbdb9ff64fd31e2eb348">More...</a><br /></td></tr>
<tr class="separator:a865a4971a787bbdb9ff64fd31e2eb348"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb9eb168d26d44261dc37d4ca54ae24f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAS5601.html#aeb9eb168d26d44261dc37d4ca54ae24f">set_gear_ratio</a> (uint8_t enc_ratio)</td></tr>
<tr class="memdesc:aeb9eb168d26d44261dc37d4ca54ae24f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the gear ratio between encoder and measure axis. <a href="#aeb9eb168d26d44261dc37d4ca54ae24f">More...</a><br /></td></tr>
<tr class="separator:aeb9eb168d26d44261dc37d4ca54ae24f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:afcac1b1abeeea88e465694373136168a"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAS5601.html#afcac1b1abeeea88e465694373136168a">i2c_byte_transaction</a> (uint8_t i2c_address, uint8_t i2c_register)</td></tr>
<tr class="separator:afcac1b1abeeea88e465694373136168a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d48c32082d4bfa19bde77d614cc78dc"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAS5601.html#a2d48c32082d4bfa19bde77d614cc78dc">i2c_word_transaction</a> (uint8_t i2c_address, uint8_t i2c_register)</td></tr>
<tr class="separator:a2d48c32082d4bfa19bde77d614cc78dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a9b2058241b8e88142e6376ac5a8abeb4"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAS5601.html#a9b2058241b8e88142e6376ac5a8abeb4">_angle_offset</a> = 0</td></tr>
<tr class="separator:a9b2058241b8e88142e6376ac5a8abeb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6524caff1a797ace0b48dfcad375f37a"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAS5601.html#a6524caff1a797ace0b48dfcad375f37a">_n</a> = 0</td></tr>
<tr class="separator:a6524caff1a797ace0b48dfcad375f37a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a104f193f38617cb45e2af426f10971af"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAS5601.html#a104f193f38617cb45e2af426f10971af">_raw_prev_pos</a> = 0</td></tr>
<tr class="separator:a104f193f38617cb45e2af426f10971af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6523b0a1e1d9451b1df96398e7212b90"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAS5601.html#a6523b0a1e1d9451b1df96398e7212b90">_enc_ratio</a> = 0</td></tr>
<tr class="separator:a6523b0a1e1d9451b1df96398e7212b90"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Class that functions for interacting with <a class="el" href="classAS5601.html" title="Class that functions for interacting with AS5601 magnetic rotary position sensor. ...">AS5601</a> magnetic rotary position sensor. </p>
<p class="definition">Definition at line <a class="el" href="as5601_8h_source.html#l00035">35</a> of file <a class="el" href="as5601_8h_source.html">as5601.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a51af9d44432ad5ccaa764a98d2450ec3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51af9d44432ad5ccaa764a98d2450ec3">&#9670;&nbsp;</a></span>Begin()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void AS5601::Begin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize the I2C bus. </p>
<p class="definition">Definition at line <a class="el" href="as5601_8h_source.html#l00043">43</a> of file <a class="el" href="as5601_8h_source.html">as5601.h</a>.</p>
<p class="reference">References <a class="el" href="as5601_8h_source.html#l00017">I2C_FREQ</a>.</p>
</div>
</div>
<a id="ad8192e27c57aaef265e0649876ca6bf2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8192e27c57aaef265e0649876ca6bf2">&#9670;&nbsp;</a></span>get_agc()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t AS5601::get_agc </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculate the automatic gain control (AGC) </p>
<dl class="section return"><dt>Returns</dt><dd>The AGC range is 0-255 counts, the gain value should be in the center of its range </dd></dl>
<p class="definition">Definition at line <a class="el" href="as5601_8h_source.html#l00096">96</a> of file <a class="el" href="as5601_8h_source.html">as5601.h</a>.</p>
<p class="reference">References <a class="el" href="as5601_8h_source.html#l00023">AGC</a>, <a class="el" href="as5601_8h_source.html#l00019">AS5601_ID</a>, and <a class="el" href="as5601_8h_source.html#l00162">i2c_byte_transaction()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classAS5601_ad8192e27c57aaef265e0649876ca6bf2_cgraph.png" border="0" usemap="#classAS5601_ad8192e27c57aaef265e0649876ca6bf2_cgraph" alt=""/></div>
<map name="classAS5601_ad8192e27c57aaef265e0649876ca6bf2_cgraph" id="classAS5601_ad8192e27c57aaef265e0649876ca6bf2_cgraph">
<area shape="rect" id="node2" href="classAS5601.html#afcac1b1abeeea88e465694373136168a" title="AS5601::i2c_byte_transaction" alt="" coords="184,5,399,32"/>
</map>
</div>
</div>
</div>
<a id="abfce6bb3f9888bca6c8527ea0d4fad88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfce6bb3f9888bca6c8527ea0d4fad88">&#9670;&nbsp;</a></span>get_conf()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint16_t AS5601::get_conf </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the configuration register. </p>
<dl class="section return"><dt>Returns</dt><dd>The Configuration register </dd></dl>
<p class="definition">Definition at line <a class="el" href="as5601_8h_source.html#l00116">116</a> of file <a class="el" href="as5601_8h_source.html">as5601.h</a>.</p>
<p class="reference">References <a class="el" href="as5601_8h_source.html#l00019">AS5601_ID</a>, <a class="el" href="as5601_8h_source.html#l00026">CONF_HIGH</a>, and <a class="el" href="as5601_8h_source.html#l00172">i2c_word_transaction()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classAS5601_abfce6bb3f9888bca6c8527ea0d4fad88_cgraph.png" border="0" usemap="#classAS5601_abfce6bb3f9888bca6c8527ea0d4fad88_cgraph" alt=""/></div>
<map name="classAS5601_abfce6bb3f9888bca6c8527ea0d4fad88_cgraph" id="classAS5601_abfce6bb3f9888bca6c8527ea0d4fad88_cgraph">
<area shape="rect" id="node2" href="classAS5601.html#a2d48c32082d4bfa19bde77d614cc78dc" title="AS5601::i2c_word_transaction" alt="" coords="188,5,405,32"/>
<area shape="rect" id="node3" href="classAS5601.html#afcac1b1abeeea88e465694373136168a" title="AS5601::i2c_byte_transaction" alt="" coords="453,5,668,32"/>
</map>
</div>
</div>
</div>
<a id="a6fd828b9871407420fb8a277d13e769c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fd828b9871407420fb8a277d13e769c">&#9670;&nbsp;</a></span>get_magnitude()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint16_t AS5601::get_magnitude </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the magnitude value of the internal CORDIC output. </p>
<dl class="section return"><dt>Returns</dt><dd>The magnitude value of the internal CORDIC output </dd></dl>
<p class="definition">Definition at line <a class="el" href="as5601_8h_source.html#l00106">106</a> of file <a class="el" href="as5601_8h_source.html">as5601.h</a>.</p>
<p class="reference">References <a class="el" href="as5601_8h_source.html#l00019">AS5601_ID</a>, <a class="el" href="as5601_8h_source.html#l00172">i2c_word_transaction()</a>, and <a class="el" href="as5601_8h_source.html#l00024">MAGNITUDE_HIGH</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classAS5601_a6fd828b9871407420fb8a277d13e769c_cgraph.png" border="0" usemap="#classAS5601_a6fd828b9871407420fb8a277d13e769c_cgraph" alt=""/></div>
<map name="classAS5601_a6fd828b9871407420fb8a277d13e769c_cgraph" id="classAS5601_a6fd828b9871407420fb8a277d13e769c_cgraph">
<area shape="rect" id="node2" href="classAS5601.html#a2d48c32082d4bfa19bde77d614cc78dc" title="AS5601::i2c_word_transaction" alt="" coords="231,5,448,32"/>
<area shape="rect" id="node3" href="classAS5601.html#afcac1b1abeeea88e465694373136168a" title="AS5601::i2c_byte_transaction" alt="" coords="496,5,711,32"/>
</map>
</div>
</div>
</div>
<a id="a9cbfc7e9a35fd7b4c0cfa04fec4bf0c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9cbfc7e9a35fd7b4c0cfa04fec4bf0c5">&#9670;&nbsp;</a></span>get_pos()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t AS5601::get_pos </td>
<td>(</td>
<td class="paramtype">double *&#160;</td>
<td class="paramname"><em>new_pos</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculate an unwrap the position. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">new_pos</td><td>Calculate the current position of the sensor </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The state of the <a class="el" href="classAS5601.html" title="Class that functions for interacting with AS5601 magnetic rotary position sensor. ...">AS5601</a>: Magnet is too strong Magnet is too weak Magnet was detect </dd></dl>
<p class="definition">Definition at line <a class="el" href="as5601_8h_source.html#l00059">59</a> of file <a class="el" href="as5601_8h_source.html">as5601.h</a>.</p>
<p class="reference">References <a class="el" href="as5601_8h_source.html#l00157">_angle_offset</a>, <a class="el" href="as5601_8h_source.html#l00160">_enc_ratio</a>, <a class="el" href="as5601_8h_source.html#l00158">_n</a>, <a class="el" href="as5601_8h_source.html#l00159">_raw_prev_pos</a>, <a class="el" href="as5601_8h_source.html#l00019">AS5601_ID</a>, <a class="el" href="as5601_8h_source.html#l00162">i2c_byte_transaction()</a>, <a class="el" href="as5601_8h_source.html#l00172">i2c_word_transaction()</a>, <a class="el" href="as5601_8h_source.html#l00020">RAW_ANG_HIGH</a>, and <a class="el" href="as5601_8h_source.html#l00022">STATUS_REG</a>.</p>
<p class="reference">Referenced by <a class="el" href="dc__motor__controller_8ino_source.html#l00214">homing()</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00105">loop()</a>, and <a class="el" href="as5601_8h_source.html#l00129">set_zero()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classAS5601_a9cbfc7e9a35fd7b4c0cfa04fec4bf0c5_cgraph.png" border="0" usemap="#classAS5601_a9cbfc7e9a35fd7b4c0cfa04fec4bf0c5_cgraph" alt=""/></div>
<map name="classAS5601_a9cbfc7e9a35fd7b4c0cfa04fec4bf0c5_cgraph" id="classAS5601_a9cbfc7e9a35fd7b4c0cfa04fec4bf0c5_cgraph">
<area shape="rect" id="node2" href="classAS5601.html#afcac1b1abeeea88e465694373136168a" title="AS5601::i2c_byte_transaction" alt="" coords="449,5,664,32"/>
<area shape="rect" id="node3" href="classAS5601.html#a2d48c32082d4bfa19bde77d614cc78dc" title="AS5601::i2c_word_transaction" alt="" coords="184,31,401,57"/>
</map>
</div>
</div>
</div>
<a id="afcac1b1abeeea88e465694373136168a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afcac1b1abeeea88e465694373136168a">&#9670;&nbsp;</a></span>i2c_byte_transaction()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t AS5601::i2c_byte_transaction </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>i2c_address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>i2c_register</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="as5601_8h_source.html#l00162">162</a> of file <a class="el" href="as5601_8h_source.html">as5601.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="as5601_8h_source.html#l00096">get_agc()</a>, <a class="el" href="as5601_8h_source.html#l00059">get_pos()</a>, and <a class="el" href="as5601_8h_source.html#l00172">i2c_word_transaction()</a>.</p>
</div>
</div>
<a id="a2d48c32082d4bfa19bde77d614cc78dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d48c32082d4bfa19bde77d614cc78dc">&#9670;&nbsp;</a></span>i2c_word_transaction()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint16_t AS5601::i2c_word_transaction </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>i2c_address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>i2c_register</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="as5601_8h_source.html#l00172">172</a> of file <a class="el" href="as5601_8h_source.html">as5601.h</a>.</p>
<p class="reference">References <a class="el" href="as5601_8h_source.html#l00162">i2c_byte_transaction()</a>.</p>
<p class="reference">Referenced by <a class="el" href="as5601_8h_source.html#l00116">get_conf()</a>, <a class="el" href="as5601_8h_source.html#l00106">get_magnitude()</a>, and <a class="el" href="as5601_8h_source.html#l00059">get_pos()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classAS5601_a2d48c32082d4bfa19bde77d614cc78dc_cgraph.png" border="0" usemap="#classAS5601_a2d48c32082d4bfa19bde77d614cc78dc_cgraph" alt=""/></div>
<map name="classAS5601_a2d48c32082d4bfa19bde77d614cc78dc_cgraph" id="classAS5601_a2d48c32082d4bfa19bde77d614cc78dc_cgraph">
<area shape="rect" id="node2" href="classAS5601.html#afcac1b1abeeea88e465694373136168a" title="AS5601::i2c_byte_transaction" alt="" coords="271,5,485,32"/>
</map>
</div>
</div>
</div>
<a id="a865a4971a787bbdb9ff64fd31e2eb348"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a865a4971a787bbdb9ff64fd31e2eb348">&#9670;&nbsp;</a></span>init_zero()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void AS5601::init_zero </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reset zero position set the offset to zero. </p>
<p class="definition">Definition at line <a class="el" href="as5601_8h_source.html#l00141">141</a> of file <a class="el" href="as5601_8h_source.html">as5601.h</a>.</p>
<p class="reference">References <a class="el" href="as5601_8h_source.html#l00157">_angle_offset</a>.</p>
<p class="reference">Referenced by <a class="el" href="dc__motor__controller_8ino_source.html#l00214">homing()</a>.</p>
</div>
</div>
<a id="aeb9eb168d26d44261dc37d4ca54ae24f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb9eb168d26d44261dc37d4ca54ae24f">&#9670;&nbsp;</a></span>set_gear_ratio()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void AS5601::set_gear_ratio </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>enc_ratio</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the gear ratio between encoder and measure axis. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">enc_ratio</td><td>An uitn8_t, that represents the gear ratio </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="as5601_8h_source.html#l00152">152</a> of file <a class="el" href="as5601_8h_source.html">as5601.h</a>.</p>
<p class="reference">References <a class="el" href="as5601_8h_source.html#l00160">_enc_ratio</a>.</p>
<p class="reference">Referenced by <a class="el" href="dc__motor__controller_8ino_source.html#l00071">setup()</a>.</p>
</div>
</div>
<a id="af760a7dd400974baf9daebad22920bdb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af760a7dd400974baf9daebad22920bdb">&#9670;&nbsp;</a></span>set_zero()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t AS5601::set_zero </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set zero by setting offset angle. </p>
<dl class="section return"><dt>Returns</dt><dd>The state of the <a class="el" href="classAS5601.html" title="Class that functions for interacting with AS5601 magnetic rotary position sensor. ...">AS5601</a>: Magnet is too strong Magnet is too weak Magnet was detect </dd></dl>
<p class="definition">Definition at line <a class="el" href="as5601_8h_source.html#l00129">129</a> of file <a class="el" href="as5601_8h_source.html">as5601.h</a>.</p>
<p class="reference">References <a class="el" href="as5601_8h_source.html#l00157">_angle_offset</a>, and <a class="el" href="as5601_8h_source.html#l00059">get_pos()</a>.</p>
<p class="reference">Referenced by <a class="el" href="dc__motor__controller_8ino_source.html#l00214">homing()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classAS5601_af760a7dd400974baf9daebad22920bdb_cgraph.png" border="0" usemap="#classAS5601_af760a7dd400974baf9daebad22920bdb_cgraph" alt=""/></div>
<map name="classAS5601_af760a7dd400974baf9daebad22920bdb_cgraph" id="classAS5601_af760a7dd400974baf9daebad22920bdb_cgraph">
<area shape="rect" id="node2" href="classAS5601.html#a9cbfc7e9a35fd7b4c0cfa04fec4bf0c5" title="Calculate an unwrap the position. " alt="" coords="188,5,319,32"/>
<area shape="rect" id="node3" href="classAS5601.html#afcac1b1abeeea88e465694373136168a" title="AS5601::i2c_byte_transaction" alt="" coords="632,5,847,32"/>
<area shape="rect" id="node4" href="classAS5601.html#a2d48c32082d4bfa19bde77d614cc78dc" title="AS5601::i2c_word_transaction" alt="" coords="367,31,584,57"/>
</map>
</div>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a9b2058241b8e88142e6376ac5a8abeb4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b2058241b8e88142e6376ac5a8abeb4">&#9670;&nbsp;</a></span>_angle_offset</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double AS5601::_angle_offset = 0</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="as5601_8h_source.html#l00157">157</a> of file <a class="el" href="as5601_8h_source.html">as5601.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="as5601_8h_source.html#l00059">get_pos()</a>, <a class="el" href="as5601_8h_source.html#l00141">init_zero()</a>, and <a class="el" href="as5601_8h_source.html#l00129">set_zero()</a>.</p>
</div>
</div>
<a id="a6523b0a1e1d9451b1df96398e7212b90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6523b0a1e1d9451b1df96398e7212b90">&#9670;&nbsp;</a></span>_enc_ratio</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t AS5601::_enc_ratio = 0</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="as5601_8h_source.html#l00160">160</a> of file <a class="el" href="as5601_8h_source.html">as5601.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="as5601_8h_source.html#l00059">get_pos()</a>, and <a class="el" href="as5601_8h_source.html#l00152">set_gear_ratio()</a>.</p>
</div>
</div>
<a id="a6524caff1a797ace0b48dfcad375f37a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6524caff1a797ace0b48dfcad375f37a">&#9670;&nbsp;</a></span>_n</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int32_t AS5601::_n = 0</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="as5601_8h_source.html#l00158">158</a> of file <a class="el" href="as5601_8h_source.html">as5601.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="as5601_8h_source.html#l00059">get_pos()</a>.</p>
</div>
</div>
<a id="a104f193f38617cb45e2af426f10971af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a104f193f38617cb45e2af426f10971af">&#9670;&nbsp;</a></span>_raw_prev_pos</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float AS5601::_raw_prev_pos = 0</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="as5601_8h_source.html#l00159">159</a> of file <a class="el" href="as5601_8h_source.html">as5601.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="as5601_8h_source.html#l00059">get_pos()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>libraries/<a class="el" href="as5601_8h_source.html">as5601.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>