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

901 lines
70 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: dc_motor_controller/dc_motor_controller.ino File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_ef2cc0c7252f5b7b7f405f3ca6708486.html">dc_motor_controller</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">dc_motor_controller.ino File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;PID_v1.h&gt;</code><br />
<code>#include &lt;Wire.h&gt;</code><br />
<code>#include &quot;<a class="el" href="globals_8h_source.html">../libraries/globals.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="easycomm_8h_source.html">../libraries/easycomm.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="rotator__pins_8h_source.html">../libraries/rotator_pins.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="endstop_8h_source.html">../libraries/endstop.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="watchdog_8h_source.html">../libraries/watchdog.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="i2c__mux_8h_source.html">../libraries/i2c_mux.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="tc74_8h_source.html">../libraries/tc74.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="motor_8h_source.html">../libraries/motor.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="as5601_8h_source.html">../libraries/as5601.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for dc_motor_controller.ino:</div>
<div class="dyncontent">
<div class="center"><img src="dc__motor__controller_8ino__incl.png" border="0" usemap="#dc__motor__controller_2dc__motor__controller_8ino" alt=""/></div>
<map name="dc__motor__controller_2dc__motor__controller_8ino" id="dc__motor__controller_2dc__motor__controller_8ino">
<area shape="rect" id="node4" href="globals_8h.html" title="../libraries/globals.h" alt="" coords="449,244,600,271"/>
<area shape="rect" id="node6" href="easycomm_8h.html" title="../libraries/easycomm.h" alt="" coords="709,169,884,196"/>
<area shape="rect" id="node10" href="rotator__pins_8h.html" title="rotator_pins.h" alt="" coords="987,244,1099,271"/>
<area shape="rect" id="node11" href="endstop_8h.html" title="../libraries/endstop.h" alt="" coords="1061,95,1215,121"/>
<area shape="rect" id="node12" href="watchdog_8h.html" title="../libraries/watchdog.h" alt="" coords="775,95,941,121"/>
<area shape="rect" id="node13" href="i2c__mux_8h.html" title="../libraries/i2c_mux.h" alt="" coords="108,95,267,121"/>
<area shape="rect" id="node14" href="tc74_8h.html" title="../libraries/tc74.h" alt="" coords="291,95,422,121"/>
<area shape="rect" id="node15" href="motor_8h.html" title="../libraries/motor.h" alt="" coords="1239,95,1381,121"/>
<area shape="rect" id="node16" href="as5601_8h.html" title="../libraries/as5601.h" alt="" coords="447,95,597,121"/>
<area shape="rect" id="node9" href="rs485_8h.html" title="rs485.h" alt="" coords="785,244,856,271"/>
</map>
</div>
</div>
<p><a href="dc__motor__controller_8ino_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a6f6f49388c74bb24a8f63771bd997d97"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a6f6f49388c74bb24a8f63771bd997d97">SAMPLE_TIME</a>&#160;&#160;&#160;0.1</td></tr>
<tr class="memdesc:a6f6f49388c74bb24a8f63771bd997d97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Control loop in s. <a href="#a6f6f49388c74bb24a8f63771bd997d97">More...</a><br /></td></tr>
<tr class="separator:a6f6f49388c74bb24a8f63771bd997d97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e8b3c8482e593df0ace933ad3de22ee"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a7e8b3c8482e593df0ace933ad3de22ee">RATIO</a>&#160;&#160;&#160;54</td></tr>
<tr class="memdesc:a7e8b3c8482e593df0ace933ad3de22ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gear ratio of rotator gear box. <a href="#a7e8b3c8482e593df0ace933ad3de22ee">More...</a><br /></td></tr>
<tr class="separator:a7e8b3c8482e593df0ace933ad3de22ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1df990f1a1fc97b95e8d53f719968026"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a1df990f1a1fc97b95e8d53f719968026">MAX_PWM</a>&#160;&#160;&#160;180</td></tr>
<tr class="memdesc:a1df990f1a1fc97b95e8d53f719968026"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set max Speed. <a href="#a1df990f1a1fc97b95e8d53f719968026">More...</a><br /></td></tr>
<tr class="separator:a1df990f1a1fc97b95e8d53f719968026"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8507f3c11d3addead8ca0fbd55616c62"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a8507f3c11d3addead8ca0fbd55616c62">MIN_PWM</a>&#160;&#160;&#160;5</td></tr>
<tr class="memdesc:a8507f3c11d3addead8ca0fbd55616c62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set min Speed. <a href="#a8507f3c11d3addead8ca0fbd55616c62">More...</a><br /></td></tr>
<tr class="separator:a8507f3c11d3addead8ca0fbd55616c62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a962555911ea5b066ed756407100097eb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a962555911ea5b066ed756407100097eb">POSITION_DEADZONE</a>&#160;&#160;&#160;0.2</td></tr>
<tr class="memdesc:a962555911ea5b066ed756407100097eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Control dead zone. <a href="#a962555911ea5b066ed756407100097eb">More...</a><br /></td></tr>
<tr class="separator:a962555911ea5b066ed756407100097eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38d90dee2ed358ec8876fd872c901708"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a38d90dee2ed358ec8876fd872c901708">PCA9540_ID</a>&#160;&#160;&#160;0x70</td></tr>
<tr class="memdesc:a38d90dee2ed358ec8876fd872c901708"><td class="mdescLeft">&#160;</td><td class="mdescRight">I2C Multiplexer ID. <a href="#a38d90dee2ed358ec8876fd872c901708">More...</a><br /></td></tr>
<tr class="separator:a38d90dee2ed358ec8876fd872c901708"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d702f8ac756be3372676abde2bba4d1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a7d702f8ac756be3372676abde2bba4d1">PCA9540_CH0</a>&#160;&#160;&#160;0x04</td></tr>
<tr class="memdesc:a7d702f8ac756be3372676abde2bba4d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">I2C Multiplexer CHO. <a href="#a7d702f8ac756be3372676abde2bba4d1">More...</a><br /></td></tr>
<tr class="separator:a7d702f8ac756be3372676abde2bba4d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a474aca7989d2890727807058edc26bab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a474aca7989d2890727807058edc26bab">PCA9540_CH1</a>&#160;&#160;&#160;0x05</td></tr>
<tr class="memdesc:a474aca7989d2890727807058edc26bab"><td class="mdescLeft">&#160;</td><td class="mdescRight">I2C Multiplexer CH1. <a href="#a474aca7989d2890727807058edc26bab">More...</a><br /></td></tr>
<tr class="separator:a474aca7989d2890727807058edc26bab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc66ef1790bc83e927ba7e4f3686e65c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#adc66ef1790bc83e927ba7e4f3686e65c">TC74_ID</a>&#160;&#160;&#160;0x48</td></tr>
<tr class="memdesc:adc66ef1790bc83e927ba7e4f3686e65c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Temperature Sensor ID. <a href="#adc66ef1790bc83e927ba7e4f3686e65c">More...</a><br /></td></tr>
<tr class="separator:adc66ef1790bc83e927ba7e4f3686e65c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc250636bd54c7aa250dc02e87be44d3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#adc250636bd54c7aa250dc02e87be44d3">OVER_TEMP</a>&#160;&#160;&#160;60</td></tr>
<tr class="memdesc:adc250636bd54c7aa250dc02e87be44d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Over temperature limit. <a href="#adc250636bd54c7aa250dc02e87be44d3">More...</a><br /></td></tr>
<tr class="separator:adc250636bd54c7aa250dc02e87be44d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4f907593fd23cbef61e6c99a4f6a781"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#ac4f907593fd23cbef61e6c99a4f6a781">ENC_RATIO</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:ac4f907593fd23cbef61e6c99a4f6a781"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encoder <a class="el" href="classAS5601.html" title="Class that functions for interacting with AS5601 magnetic rotary position sensor. ...">AS5601</a> gear ratio. <a href="#ac4f907593fd23cbef61e6c99a4f6a781">More...</a><br /></td></tr>
<tr class="separator:ac4f907593fd23cbef61e6c99a4f6a781"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4acc4b3e38c809c8ca4d84d5c1083cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#af4acc4b3e38c809c8ca4d84d5c1083cf">MIN_M1_ANGLE</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:af4acc4b3e38c809c8ca4d84d5c1083cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum angle of azimuth. <a href="#af4acc4b3e38c809c8ca4d84d5c1083cf">More...</a><br /></td></tr>
<tr class="separator:af4acc4b3e38c809c8ca4d84d5c1083cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac81f1607c784261cee0a9759a35f18ff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#ac81f1607c784261cee0a9759a35f18ff">MAX_M1_ANGLE</a>&#160;&#160;&#160;360</td></tr>
<tr class="memdesc:ac81f1607c784261cee0a9759a35f18ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum angle of azimuth. <a href="#ac81f1607c784261cee0a9759a35f18ff">More...</a><br /></td></tr>
<tr class="separator:ac81f1607c784261cee0a9759a35f18ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45dd8cb284dc0672f292e90909ecc530"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a45dd8cb284dc0672f292e90909ecc530">MIN_M2_ANGLE</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a45dd8cb284dc0672f292e90909ecc530"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum angle of elevation. <a href="#a45dd8cb284dc0672f292e90909ecc530">More...</a><br /></td></tr>
<tr class="separator:a45dd8cb284dc0672f292e90909ecc530"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaea33d85a46b9afdd404f6a45da8470"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#acaea33d85a46b9afdd404f6a45da8470">MAX_M2_ANGLE</a>&#160;&#160;&#160;180</td></tr>
<tr class="memdesc:acaea33d85a46b9afdd404f6a45da8470"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum angle of elevation. <a href="#acaea33d85a46b9afdd404f6a45da8470">More...</a><br /></td></tr>
<tr class="separator:acaea33d85a46b9afdd404f6a45da8470"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9fdf484ccfc3264b1505135c801aadc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#aa9fdf484ccfc3264b1505135c801aadc">DEFAULT_HOME_STATE</a>&#160;&#160;&#160;HIGH</td></tr>
<tr class="memdesc:aa9fdf484ccfc3264b1505135c801aadc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change to LOW according to Home sensor. <a href="#aa9fdf484ccfc3264b1505135c801aadc">More...</a><br /></td></tr>
<tr class="separator:aa9fdf484ccfc3264b1505135c801aadc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fb1602dc5cc8f75b91e38ea0e8ce5bd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a7fb1602dc5cc8f75b91e38ea0e8ce5bd">HOME_SPEED</a>&#160;&#160;&#160;100</td></tr>
<tr class="memdesc:a7fb1602dc5cc8f75b91e38ea0e8ce5bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set speed to find home, duty cycle of 8-bit timer. <a href="#a7fb1602dc5cc8f75b91e38ea0e8ce5bd">More...</a><br /></td></tr>
<tr class="separator:a7fb1602dc5cc8f75b91e38ea0e8ce5bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:acb27c796ddcae7f932e2898cba368c3b"><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="globals_8h.html#a455fc53a09c638322a14f309a295e7f1">_rotator_error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#acb27c796ddcae7f932e2898cba368c3b">homing</a> ()</td></tr>
<tr class="memdesc:acb27c796ddcae7f932e2898cba368c3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move both axis with one direction in order to find home position, end-stop switches. <a href="#acb27c796ddcae7f932e2898cba368c3b">More...</a><br /></td></tr>
<tr class="separator:acb27c796ddcae7f932e2898cba368c3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fc01d736fe50cf5b977f755b675f11d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a4fc01d736fe50cf5b977f755b675f11d">setup</a> ()</td></tr>
<tr class="separator:a4fc01d736fe50cf5b977f755b675f11d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe461d27b9c48d5921c00d521181f12f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#afe461d27b9c48d5921c00d521181f12f">loop</a> ()</td></tr>
<tr class="separator:afe461d27b9c48d5921c00d521181f12f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ab758c64f84e0623e98a61e37b9bdd2b7"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#ab758c64f84e0623e98a61e37b9bdd2b7">t_run</a> = 0</td></tr>
<tr class="separator:ab758c64f84e0623e98a61e37b9bdd2b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43731445552d0e8cea4cbc7c75ba56cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classeasycomm.html">easycomm</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a43731445552d0e8cea4cbc7c75ba56cb">comm</a></td></tr>
<tr class="separator:a43731445552d0e8cea4cbc7c75ba56cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93ae915cd10983ab1234aa4a6b7910b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmotor.html">motor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a93ae915cd10983ab1234aa4a6b7910b3">motor_az</a> (<a class="el" href="rotator__pins_8h.html#a52eb32b92f0d0d1fdfc59a83e22d389d">M1IN1</a>, <a class="el" href="rotator__pins_8h.html#a157fe9dc9b50d6f912b57b3422848700">M1IN2</a>, <a class="el" href="rotator__pins_8h.html#a4e12c241b5699b8487b50dbda38a2714">M1FB</a>, <a class="el" href="rotator__pins_8h.html#a30b8dc781a6fe8ee7745feac552cb858">MOTOR_EN</a>, <a class="el" href="rotator__pins_8h.html#a1bef437ea4477b69d7417946685cc582">M1SF</a>, <a class="el" href="dc__motor__controller_8ino.html#a1df990f1a1fc97b95e8d53f719968026">MAX_PWM</a>, <a class="el" href="dc__motor__controller_8ino.html#a8507f3c11d3addead8ca0fbd55616c62">MIN_PWM</a>)</td></tr>
<tr class="separator:a93ae915cd10983ab1234aa4a6b7910b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60cac79aef5df2246c291f606098d33b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmotor.html">motor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a60cac79aef5df2246c291f606098d33b">motor_el</a> (<a class="el" href="rotator__pins_8h.html#ad43a98121cb04032302978a3319ba24e">M2IN1</a>, <a class="el" href="rotator__pins_8h.html#a1f7e92e76bed5849fc1edc2e42c995dc">M2IN2</a>, <a class="el" href="rotator__pins_8h.html#a756234870d4fec1dfb965e5a4ef4b5cd">M2FB</a>, <a class="el" href="rotator__pins_8h.html#a30b8dc781a6fe8ee7745feac552cb858">MOTOR_EN</a>, <a class="el" href="rotator__pins_8h.html#a84c33ece7372e98a2b47c81491a06474">M2SF</a>, <a class="el" href="dc__motor__controller_8ino.html#a1df990f1a1fc97b95e8d53f719968026">MAX_PWM</a>, <a class="el" href="dc__motor__controller_8ino.html#a8507f3c11d3addead8ca0fbd55616c62">MIN_PWM</a>)</td></tr>
<tr class="separator:a60cac79aef5df2246c291f606098d33b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f4a4d4b871eb2a5ffbf72d413092114"><td class="memItemLeft" align="right" valign="top">PID pid_az &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a7f4a4d4b871eb2a5ffbf72d413092114">control_az</a></td></tr>
<tr class="separator:a7f4a4d4b871eb2a5ffbf72d413092114"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a961d3c110bf0dbe986c469b9b164f109"><td class="memItemLeft" align="right" valign="top">PID pid_el &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a961d3c110bf0dbe986c469b9b164f109">control_el</a></td></tr>
<tr class="separator:a961d3c110bf0dbe986c469b9b164f109"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c0a9fc59fead4da5429a12a827f6e92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classendstop.html">endstop</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a0c0a9fc59fead4da5429a12a827f6e92">switch_az</a> (<a class="el" href="rotator__pins_8h.html#ad98a4599f8bbf48bb5b425ce5edb5a42">SW1</a>, <a class="el" href="stepper__motor__controller_8ino.html#aa9fdf484ccfc3264b1505135c801aadc">DEFAULT_HOME_STATE</a>)</td></tr>
<tr class="separator:a0c0a9fc59fead4da5429a12a827f6e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0886ffe9fa915cc70ac3ed7e528145d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classendstop.html">endstop</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a0886ffe9fa915cc70ac3ed7e528145d9">switch_el</a> (<a class="el" href="rotator__pins_8h.html#a276a7c4ba0f813d53715e2ec2595d906">SW2</a>, <a class="el" href="stepper__motor__controller_8ino.html#aa9fdf484ccfc3264b1505135c801aadc">DEFAULT_HOME_STATE</a>)</td></tr>
<tr class="separator:a0886ffe9fa915cc70ac3ed7e528145d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7741af4fcf4d529c3183cff30f191c5d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classi2c__mux.html">i2c_mux</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a7741af4fcf4d529c3183cff30f191c5d">pca9540</a> (<a class="el" href="dc__motor__controller_8ino.html#a38d90dee2ed358ec8876fd872c901708">PCA9540_ID</a>, <a class="el" href="dc__motor__controller_8ino.html#a7d702f8ac756be3372676abde2bba4d1">PCA9540_CH0</a>, <a class="el" href="dc__motor__controller_8ino.html#a474aca7989d2890727807058edc26bab">PCA9540_CH1</a>)</td></tr>
<tr class="separator:a7741af4fcf4d529c3183cff30f191c5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2499307ac3e6e8f80aa5c12b27668b4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtc74.html">tc74</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a2499307ac3e6e8f80aa5c12b27668b4b">temp_sensor</a> (<a class="el" href="dc__motor__controller_8ino.html#adc66ef1790bc83e927ba7e4f3686e65c">TC74_ID</a>)</td></tr>
<tr class="separator:a2499307ac3e6e8f80aa5c12b27668b4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7b945823a2a9518064aa22ce612fcaf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classAS5601.html">AS5601</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#ad7b945823a2a9518064aa22ce612fcaf">encoder_az</a></td></tr>
<tr class="separator:ad7b945823a2a9518064aa22ce612fcaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35ce9a059097bea4c32ee620078a659c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classAS5601.html">AS5601</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#a35ce9a059097bea4c32ee620078a659c">encoder_el</a></td></tr>
<tr class="separator:a35ce9a059097bea4c32ee620078a659c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa21a88a61f63525bb1db8401772e7f70"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classwdt__timer.html">wdt_timer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dc__motor__controller_8ino.html#aa21a88a61f63525bb1db8401772e7f70">wdt</a></td></tr>
<tr class="separator:aa21a88a61f63525bb1db8401772e7f70"><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>This is the documentation for satnogs rotator controller firmware for dc motors configuration. The board (PCB) is placed in <a href="https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller">satnogs-rotator-controller </a> and is for releases: v2.0 v2.1 v2.2 <a href="https://wiki.satnogs.org/SatNOGS_Rotator_Controller">wiki page </a></p>
<h1><a class="anchor" id="dependencies"></a>
Dependencies</h1>
<p>This firmware depends on <a href="https://github.com/br3ttb/Arduino-PID-Library">Arduino-PID-Library</a> being present on your system. Please make sure you have installed the latest version before using this firmware.</p>
<h1><a class="anchor" id="license"></a>
License</h1>
<p>Licensed under the GPLv3. </p>
<p class="definition">Definition in file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="aa9fdf484ccfc3264b1505135c801aadc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9fdf484ccfc3264b1505135c801aadc">&#9670;&nbsp;</a></span>DEFAULT_HOME_STATE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEFAULT_HOME_STATE&#160;&#160;&#160;HIGH</td>
</tr>
</table>
</div><div class="memdoc">
<p>Change to LOW according to Home sensor. </p>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00040">40</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
</div>
</div>
<a id="ac4f907593fd23cbef61e6c99a4f6a781"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4f907593fd23cbef61e6c99a4f6a781">&#9670;&nbsp;</a></span>ENC_RATIO</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ENC_RATIO&#160;&#160;&#160;2</td>
</tr>
</table>
</div><div class="memdoc">
<p>Encoder <a class="el" href="classAS5601.html" title="Class that functions for interacting with AS5601 magnetic rotary position sensor. ...">AS5601</a> gear ratio. </p>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00035">35</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</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="a7fb1602dc5cc8f75b91e38ea0e8ce5bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fb1602dc5cc8f75b91e38ea0e8ce5bd">&#9670;&nbsp;</a></span>HOME_SPEED</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define HOME_SPEED&#160;&#160;&#160;100</td>
</tr>
</table>
</div><div class="memdoc">
<p>Set speed to find home, duty cycle of 8-bit timer. </p>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00041">41</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</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="ac81f1607c784261cee0a9759a35f18ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac81f1607c784261cee0a9759a35f18ff">&#9670;&nbsp;</a></span>MAX_M1_ANGLE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MAX_M1_ANGLE&#160;&#160;&#160;360</td>
</tr>
</table>
</div><div class="memdoc">
<p>Maximum angle of azimuth. </p>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00037">37</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</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="acaea33d85a46b9afdd404f6a45da8470"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acaea33d85a46b9afdd404f6a45da8470">&#9670;&nbsp;</a></span>MAX_M2_ANGLE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MAX_M2_ANGLE&#160;&#160;&#160;180</td>
</tr>
</table>
</div><div class="memdoc">
<p>Maximum angle of elevation. </p>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00039">39</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</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="a1df990f1a1fc97b95e8d53f719968026"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1df990f1a1fc97b95e8d53f719968026">&#9670;&nbsp;</a></span>MAX_PWM</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MAX_PWM&#160;&#160;&#160;180</td>
</tr>
</table>
</div><div class="memdoc">
<p>Set max Speed. </p>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00027">27</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</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="af4acc4b3e38c809c8ca4d84d5c1083cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4acc4b3e38c809c8ca4d84d5c1083cf">&#9670;&nbsp;</a></span>MIN_M1_ANGLE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MIN_M1_ANGLE&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>Minimum angle of azimuth. </p>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00036">36</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
</div>
</div>
<a id="a45dd8cb284dc0672f292e90909ecc530"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45dd8cb284dc0672f292e90909ecc530">&#9670;&nbsp;</a></span>MIN_M2_ANGLE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MIN_M2_ANGLE&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>Minimum angle of elevation. </p>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00038">38</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
</div>
</div>
<a id="a8507f3c11d3addead8ca0fbd55616c62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8507f3c11d3addead8ca0fbd55616c62">&#9670;&nbsp;</a></span>MIN_PWM</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MIN_PWM&#160;&#160;&#160;5</td>
</tr>
</table>
</div><div class="memdoc">
<p>Set min Speed. </p>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00028">28</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
</div>
</div>
<a id="adc250636bd54c7aa250dc02e87be44d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc250636bd54c7aa250dc02e87be44d3">&#9670;&nbsp;</a></span>OVER_TEMP</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define OVER_TEMP&#160;&#160;&#160;60</td>
</tr>
</table>
</div><div class="memdoc">
<p>Over temperature limit. </p>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00034">34</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
<p class="reference">Referenced by <a class="el" href="dc__motor__controller_8ino_source.html#l00105">loop()</a>.</p>
</div>
</div>
<a id="a7d702f8ac756be3372676abde2bba4d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d702f8ac756be3372676abde2bba4d1">&#9670;&nbsp;</a></span>PCA9540_CH0</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PCA9540_CH0&#160;&#160;&#160;0x04</td>
</tr>
</table>
</div><div class="memdoc">
<p>I2C Multiplexer CHO. </p>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00031">31</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
<p class="reference">Referenced by <a class="el" href="dc__motor__controller_8ino_source.html#l00214">homing()</a>, and <a class="el" href="dc__motor__controller_8ino_source.html#l00105">loop()</a>.</p>
</div>
</div>
<a id="a474aca7989d2890727807058edc26bab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a474aca7989d2890727807058edc26bab">&#9670;&nbsp;</a></span>PCA9540_CH1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PCA9540_CH1&#160;&#160;&#160;0x05</td>
</tr>
</table>
</div><div class="memdoc">
<p>I2C Multiplexer CH1. </p>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00032">32</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
<p class="reference">Referenced by <a class="el" href="dc__motor__controller_8ino_source.html#l00214">homing()</a>, and <a class="el" href="dc__motor__controller_8ino_source.html#l00105">loop()</a>.</p>
</div>
</div>
<a id="a38d90dee2ed358ec8876fd872c901708"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38d90dee2ed358ec8876fd872c901708">&#9670;&nbsp;</a></span>PCA9540_ID</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PCA9540_ID&#160;&#160;&#160;0x70</td>
</tr>
</table>
</div><div class="memdoc">
<p>I2C Multiplexer ID. </p>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00030">30</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
</div>
</div>
<a id="a962555911ea5b066ed756407100097eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a962555911ea5b066ed756407100097eb">&#9670;&nbsp;</a></span>POSITION_DEADZONE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define POSITION_DEADZONE&#160;&#160;&#160;0.2</td>
</tr>
</table>
</div><div class="memdoc">
<p>Control dead zone. </p>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00029">29</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
<p class="reference">Referenced by <a class="el" href="dc__motor__controller_8ino_source.html#l00105">loop()</a>.</p>
</div>
</div>
<a id="a7e8b3c8482e593df0ace933ad3de22ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e8b3c8482e593df0ace933ad3de22ee">&#9670;&nbsp;</a></span>RATIO</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RATIO&#160;&#160;&#160;54</td>
</tr>
</table>
</div><div class="memdoc">
<p>Gear ratio of rotator gear box. </p>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00026">26</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
</div>
</div>
<a id="a6f6f49388c74bb24a8f63771bd997d97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f6f49388c74bb24a8f63771bd997d97">&#9670;&nbsp;</a></span>SAMPLE_TIME</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SAMPLE_TIME&#160;&#160;&#160;0.1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Control loop in s. </p>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00025">25</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
<p class="reference">Referenced by <a class="el" href="dc__motor__controller_8ino_source.html#l00105">loop()</a>, and <a class="el" href="dc__motor__controller_8ino_source.html#l00071">setup()</a>.</p>
</div>
</div>
<a id="adc66ef1790bc83e927ba7e4f3686e65c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc66ef1790bc83e927ba7e4f3686e65c">&#9670;&nbsp;</a></span>TC74_ID</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define TC74_ID&#160;&#160;&#160;0x48</td>
</tr>
</table>
</div><div class="memdoc">
<p>Temperature Sensor ID. </p>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00033">33</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="acb27c796ddcae7f932e2898cba368c3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb27c796ddcae7f932e2898cba368c3b">&#9670;&nbsp;</a></span>homing()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="globals_8h.html#a455fc53a09c638322a14f309a295e7f1">_rotator_error</a> homing </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Move both axis with one direction in order to find home position, end-stop switches. </p>
<dl class="section return"><dt>Returns</dt><dd>_rotator_error </dd></dl>
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00214">214</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
<p class="reference">References <a class="el" href="dc__motor__controller_8ino_source.html#l00059">control_az</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00061">control_el</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00066">encoder_az</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00066">encoder_el</a>, <a class="el" href="as5601_8h_source.html#l00059">AS5601::get_pos()</a>, <a class="el" href="endstop_8h_source.html#l00045">endstop::get_state()</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00041">HOME_SPEED</a>, <a class="el" href="globals_8h_source.html#l00021">homing_error</a>, <a class="el" href="as5601_8h_source.html#l00141">AS5601::init_zero()</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00037">MAX_M1_ANGLE</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00039">MAX_M2_ANGLE</a>, <a class="el" href="dc__motor__controller_8ino.html#a93ae915cd10983ab1234aa4a6b7910b3">motor_az</a>, <a class="el" href="dc__motor__controller_8ino.html#a60cac79aef5df2246c291f606098d33b">motor_el</a>, <a class="el" href="motor_8h_source.html#l00188">motor::move()</a>, <a class="el" href="globals_8h_source.html#l00021">no_error</a>, <a class="el" href="dc__motor__controller_8ino.html#a7741af4fcf4d529c3183cff30f191c5d">pca9540</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00031">PCA9540_CH0</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00032">PCA9540_CH1</a>, <a class="el" href="i2c__mux_8h_source.html#l00054">i2c_mux::set_channel()</a>, <a class="el" href="as5601_8h_source.html#l00129">AS5601::set_zero()</a>, <a class="el" href="motor_8h_source.html#l00214">motor::stop()</a>, <a class="el" href="dc__motor__controller_8ino.html#a0c0a9fc59fead4da5429a12a827f6e92">switch_az</a>, <a class="el" href="dc__motor__controller_8ino.html#a0886ffe9fa915cc70ac3ed7e528145d9">switch_el</a>, <a class="el" href="watchdog_8h_source.html#l00045">wdt_timer::watchdog_reset()</a>, and <a class="el" href="dc__motor__controller_8ino_source.html#l00067">wdt</a>.</p>
<p class="reference">Referenced by <a class="el" href="dc__motor__controller_8ino_source.html#l00105">loop()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="dc__motor__controller_8ino_acb27c796ddcae7f932e2898cba368c3b_cgraph.png" border="0" usemap="#dc__motor__controller_8ino_acb27c796ddcae7f932e2898cba368c3b_cgraph" alt=""/></div>
<map name="dc__motor__controller_8ino_acb27c796ddcae7f932e2898cba368c3b_cgraph" id="dc__motor__controller_8ino_acb27c796ddcae7f932e2898cba368c3b_cgraph">
<area shape="rect" id="node2" href="classAS5601.html#a9cbfc7e9a35fd7b4c0cfa04fec4bf0c5" title="Calculate an unwrap the position. " alt="" coords="335,62,465,89"/>
<area shape="rect" id="node5" href="classendstop.html#a530a60aaf81bd5022e56df71c194dfbc" title="Get the state of end&#45;stop. " alt="" coords="134,37,277,64"/>
<area shape="rect" id="node6" href="classAS5601.html#a865a4971a787bbdb9ff64fd31e2eb348" title="Reset zero position set the offset to zero. " alt="" coords="138,88,273,114"/>
<area shape="rect" id="node7" href="classmotor.html#a01f848ad7e9ff16b4cb61174d3a5a084" title="Move the DC motor with constant voltage (~speed) " alt="" coords="152,290,259,317"/>
<area shape="rect" id="node8" href="classmotor.html#a9395e462f009a775c5fbe11f4c39150c" title="Stop moving the DC motor. " alt="" coords="351,240,449,266"/>
<area shape="rect" id="node9" href="classi2c__mux.html#af4a7327c09d2f0ea8ee5a5797871e876" title="Change the channel. " alt="" coords="124,240,287,266"/>
<area shape="rect" id="node10" href="classAS5601.html#af760a7dd400974baf9daebad22920bdb" title="Set zero by setting offset angle. " alt="" coords="138,138,273,165"/>
<area shape="rect" id="node11" href="classwdt__timer.html#a1be743743ff4d19d726a45c2d49fbada" title="Reset the watchdog timer. " alt="" coords="126,342,285,383"/>
<area shape="rect" id="node3" href="classAS5601.html#a2d48c32082d4bfa19bde77d614cc78dc" title="AS5601::i2c_word_transaction" alt="" coords="513,37,731,64"/>
<area shape="rect" id="node4" href="classAS5601.html#afcac1b1abeeea88e465694373136168a" title="AS5601::i2c_byte_transaction" alt="" coords="779,62,993,89"/>
</map>
</div>
</div>
</div>
<a id="afe461d27b9c48d5921c00d521181f12f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe461d27b9c48d5921c00d521181f12f">&#9670;&nbsp;</a></span>loop()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void loop </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00105">105</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
<p class="reference">References <a class="el" href="dc__motor__controller_8ino_source.html#l00056">comm</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00059">control_az</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00061">control_el</a>, <a class="el" href="globals_8h_source.html#l00043">_rotator::control_mode</a>, <a class="el" href="motor_8h_source.html#l00155">motor::disenable()</a>, <a class="el" href="easycomm_8h_source.html#l00048">easycomm::easycomm_proc()</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00066">encoder_az</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00066">encoder_el</a>, <a class="el" href="globals_8h_source.html#l00017">error</a>, <a class="el" href="globals_8h_source.html#l00047">_rotator::fault_az</a>, <a class="el" href="globals_8h_source.html#l00047">_rotator::fault_el</a>, <a class="el" href="motor_8h_source.html#l00176">motor::get_fault()</a>, <a class="el" href="as5601_8h_source.html#l00059">AS5601::get_pos()</a>, <a class="el" href="endstop_8h_source.html#l00045">endstop::get_state()</a>, <a class="el" href="tc74_8h_source.html#l00059">tc74::get_temp()</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00214">homing()</a>, <a class="el" href="globals_8h_source.html#l00021">homing_error</a>, <a class="el" href="globals_8h_source.html#l00044">_rotator::homing_flag</a>, <a class="el" href="globals_8h_source.html#l00017">idle</a>, <a class="el" href="globals_8h_source.html#l00045">_rotator::inside_temperature</a>, <a class="el" href="dc__motor__controller_8ino.html#a93ae915cd10983ab1234aa4a6b7910b3">motor_az</a>, <a class="el" href="dc__motor__controller_8ino.html#a60cac79aef5df2246c291f606098d33b">motor_el</a>, <a class="el" href="globals_8h_source.html#l00021">motor_error</a>, <a class="el" href="motor_8h_source.html#l00188">motor::move()</a>, <a class="el" href="globals_8h_source.html#l00017">moving</a>, <a class="el" href="globals_8h_source.html#l00021">no_error</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00034">OVER_TEMP</a>, <a class="el" href="globals_8h_source.html#l00022">over_temperature</a>, <a class="el" href="dc__motor__controller_8ino.html#a7741af4fcf4d529c3183cff30f191c5d">pca9540</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00031">PCA9540_CH0</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00032">PCA9540_CH1</a>, <a class="el" href="globals_8h_source.html#l00017">pointing</a>, <a class="el" href="globals_8h_source.html#l00026">position</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00029">POSITION_DEADZONE</a>, <a class="el" href="globals_8h_source.html#l00057">rotator</a>, <a class="el" href="globals_8h_source.html#l00042">_rotator::rotator_error</a>, <a class="el" href="globals_8h_source.html#l00041">_rotator::rotator_status</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00025">SAMPLE_TIME</a>, <a class="el" href="i2c__mux_8h_source.html#l00054">i2c_mux::set_channel()</a>, <a class="el" href="tc74_8h_source.html#l00110">tc74::sleep()</a>, <a class="el" href="globals_8h_source.html#l00026">speed</a>, <a class="el" href="motor_8h_source.html#l00214">motor::stop()</a>, <a class="el" href="globals_8h_source.html#l00048">_rotator::switch_az</a>, <a class="el" href="dc__motor__controller_8ino.html#a0c0a9fc59fead4da5429a12a827f6e92">switch_az</a>, <a class="el" href="globals_8h_source.html#l00048">_rotator::switch_el</a>, <a class="el" href="dc__motor__controller_8ino.html#a0886ffe9fa915cc70ac3ed7e528145d9">switch_el</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00055">t_run</a>, <a class="el" href="dc__motor__controller_8ino.html#a2499307ac3e6e8f80aa5c12b27668b4b">temp_sensor</a>, <a class="el" href="tc74_8h_source.html#l00094">tc74::wake_up()</a>, <a class="el" href="watchdog_8h_source.html#l00045">wdt_timer::watchdog_reset()</a>, and <a class="el" href="dc__motor__controller_8ino_source.html#l00067">wdt</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="dc__motor__controller_8ino_afe461d27b9c48d5921c00d521181f12f_cgraph.png" border="0" usemap="#dc__motor__controller_8ino_afe461d27b9c48d5921c00d521181f12f_cgraph" alt=""/></div>
<map name="dc__motor__controller_8ino_afe461d27b9c48d5921c00d521181f12f_cgraph" id="dc__motor__controller_8ino_afe461d27b9c48d5921c00d521181f12f_cgraph">
<area shape="rect" id="node2" href="classmotor.html#ae21d592f52c6aa57a641ca3e99cf52b9" title="Disable motor driver. " alt="" coords="143,107,275,133"/>
<area shape="rect" id="node3" href="classeasycomm.html#a68c229f5c44074fae9992ec9ea605046" title="Get the commands from RS485 and response to the client. " alt="" coords="104,157,313,184"/>
<area shape="rect" id="node9" href="classmotor.html#a3fb941091e69025a6ed7b66b2458b302" title="Get the status flag of motor driver. " alt="" coords="145,208,272,235"/>
<area shape="rect" id="node10" href="classAS5601.html#a9cbfc7e9a35fd7b4c0cfa04fec4bf0c5" title="Calculate an unwrap the position. " alt="" coords="575,360,705,387"/>
<area shape="rect" id="node13" href="classendstop.html#a530a60aaf81bd5022e56df71c194dfbc" title="Get the state of end&#45;stop. " alt="" coords="373,309,515,336"/>
<area shape="rect" id="node14" href="classtc74.html#a5e923d126027ab1e7102b4a203698eb3" title="Reads the int8_t in temperature measurement register. " alt="" coords="149,777,269,804"/>
<area shape="rect" id="node15" href="dc__motor__controller_8ino.html#acb27c796ddcae7f932e2898cba368c3b" title="Move both axis with one direction in order to find home position, end&#45;stop switches. " alt="" coords="173,512,244,539"/>
<area shape="rect" id="node17" href="classmotor.html#a01f848ad7e9ff16b4cb61174d3a5a084" title="Move the DC motor with constant voltage (~speed) " alt="" coords="391,563,497,589"/>
<area shape="rect" id="node18" href="classmotor.html#a9395e462f009a775c5fbe11f4c39150c" title="Stop moving the DC motor. " alt="" coords="591,563,689,589"/>
<area shape="rect" id="node19" href="classi2c__mux.html#af4a7327c09d2f0ea8ee5a5797871e876" title="Change the channel. " alt="" coords="363,613,525,640"/>
<area shape="rect" id="node21" href="classwdt__timer.html#a1be743743ff4d19d726a45c2d49fbada" title="Reset the watchdog timer. " alt="" coords="365,665,523,706"/>
<area shape="rect" id="node22" href="classtc74.html#a5304cfec3e2fd0955db133ae0892c734" title="Sleep device request to the sensor on the specified address. " alt="" coords="162,879,255,905"/>
<area shape="rect" id="node24" href="classtc74.html#a9e10af3dbd52592f902f81885dc166d2" title="Wake up request to the sensor on the specified address. " alt="" coords="151,828,267,855"/>
<area shape="rect" id="node4" href="classrs485.html#a204229ca0c3ee5d24d4c5eac9a543ef7" title="The number of chars/uint8_t that are available in RS485 buffer. " alt="" coords="381,157,507,184"/>
<area shape="rect" id="node5" href="classrs485.html#ac549517006a6b2cff970e3390ccd2c45" title="Read a char/uint8_t from RS485 bus. " alt="" coords="397,208,491,235"/>
<area shape="rect" id="node6" href="classrs485.html#acffe305907c9de94dda20135bc6ad93a" title="Print a string to RS485 bus. " alt="" coords="396,5,492,32"/>
<area shape="rect" id="node7" href="classeasycomm.html#a0da8917b93ae0d477791a86e1edeefb9" title="easycomm::isNumber" alt="" coords="361,56,527,83"/>
<area shape="rect" id="node8" href="classrs485.html#af02e2635ac5bb688bc9f05895a983704" title="Waits for the transmission of outgoing serial data to complete. " alt="" coords="395,107,493,133"/>
<area shape="rect" id="node11" href="classAS5601.html#a2d48c32082d4bfa19bde77d614cc78dc" title="AS5601::i2c_word_transaction" alt="" coords="753,385,971,412"/>
<area shape="rect" id="node12" href="classAS5601.html#afcac1b1abeeea88e465694373136168a" title="AS5601::i2c_byte_transaction" alt="" coords="1019,360,1233,387"/>
<area shape="rect" id="node16" href="classAS5601.html#a865a4971a787bbdb9ff64fd31e2eb348" title="Reset zero position set the offset to zero. " alt="" coords="377,512,511,539"/>
<area shape="rect" id="node20" href="classAS5601.html#af760a7dd400974baf9daebad22920bdb" title="Set zero by setting offset angle. " alt="" coords="377,360,511,387"/>
<area shape="rect" id="node23" href="classtc74.html#a91d194f87d6153a0556ab5fd857e66ee" title="Reads the int8_t in status register. " alt="" coords="381,853,507,880"/>
</map>
</div>
</div>
</div>
<a id="a4fc01d736fe50cf5b977f755b675f11d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4fc01d736fe50cf5b977f755b675f11d">&#9670;&nbsp;</a></span>setup()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void setup </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00071">71</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
<p class="reference">References <a class="el" href="dc__motor__controller_8ino_source.html#l00056">comm</a>, <a class="el" href="easycomm_8h_source.html#l00039">easycomm::easycomm_init()</a>, <a class="el" href="motor_8h_source.html#l00146">motor::enable()</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00035">ENC_RATIO</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00066">encoder_az</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00066">encoder_el</a>, <a class="el" href="endstop_8h_source.html#l00035">endstop::init()</a>, <a class="el" href="i2c__mux_8h_source.html#l00042">i2c_mux::init()</a>, <a class="el" href="motor_8h_source.html#l00055">motor::init_pin()</a>, <a class="el" href="motor_8h_source.html#l00095">motor::init_timer()</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00027">MAX_PWM</a>, <a class="el" href="dc__motor__controller_8ino.html#a93ae915cd10983ab1234aa4a6b7910b3">motor_az</a>, <a class="el" href="dc__motor__controller_8ino.html#a60cac79aef5df2246c291f606098d33b">motor_el</a>, <a class="el" href="dc__motor__controller_8ino.html#a7741af4fcf4d529c3183cff30f191c5d">pca9540</a>, <a class="el" href="dc__motor__controller_8ino_source.html#l00025">SAMPLE_TIME</a>, <a class="el" href="as5601_8h_source.html#l00152">AS5601::set_gear_ratio()</a>, <a class="el" href="dc__motor__controller_8ino.html#a0c0a9fc59fead4da5429a12a827f6e92">switch_az</a>, <a class="el" href="dc__motor__controller_8ino.html#a0886ffe9fa915cc70ac3ed7e528145d9">switch_el</a>, <a class="el" href="watchdog_8h_source.html#l00032">wdt_timer::watchdog_init()</a>, and <a class="el" href="dc__motor__controller_8ino_source.html#l00067">wdt</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="dc__motor__controller_8ino_a4fc01d736fe50cf5b977f755b675f11d_cgraph.png" border="0" usemap="#dc__motor__controller_8ino_a4fc01d736fe50cf5b977f755b675f11d_cgraph" alt=""/></div>
<map name="dc__motor__controller_8ino_a4fc01d736fe50cf5b977f755b675f11d_cgraph" id="dc__motor__controller_8ino_a4fc01d736fe50cf5b977f755b675f11d_cgraph">
<area shape="rect" id="node2" href="classeasycomm.html#a7db30a0f3a754dc281cbedab461d76f6" title="Initialize the RS485 bus. " alt="" coords="112,5,315,32"/>
<area shape="rect" id="node4" href="classmotor.html#abee35525f6340b3a8118e8711a6033b4" title="Enable motor driver. " alt="" coords="157,56,270,83"/>
<area shape="rect" id="node5" href="classendstop.html#a6d24d7ed95ded92431288da42a6aebf9" title="Initialize the Input pin for end&#45;stop. " alt="" coords="162,107,265,133"/>
<area shape="rect" id="node6" href="classi2c__mux.html#a297c753f7c9fd03b7a6be09a7d3bd87a" title="Initialize the I2C bus. " alt="" coords="160,157,267,184"/>
<area shape="rect" id="node7" href="classmotor.html#a7c7a40ef8985fae55eda9b9254d760a7" title="Initialize pins of DC motor driver. " alt="" coords="155,208,272,235"/>
<area shape="rect" id="node8" href="classmotor.html#a1aa585ea14305952469f95cb26f3ad2f" title="Set timer frequency, for timers 0, 1, 2. " alt="" coords="147,259,279,285"/>
<area shape="rect" id="node9" href="classAS5601.html#aeb9eb168d26d44261dc37d4ca54ae24f" title="Set the gear ratio between encoder and measure axis. " alt="" coords="127,309,299,336"/>
<area shape="rect" id="node10" href="classwdt__timer.html#a4463b57c8af9b89797cb222c745c0355" title="Initialize watchdog timer to 2sec time out and to set up interrupt routine. " alt="" coords="120,360,307,387"/>
<area shape="rect" id="node3" href="classrs485.html#ab7cf3f6e3b6e6d79dc490145aa3c1b12" title="Initialize the RS485 transceiver. " alt="" coords="363,5,465,32"/>
</map>
</div>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a43731445552d0e8cea4cbc7c75ba56cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43731445552d0e8cea4cbc7c75ba56cb">&#9670;&nbsp;</a></span>comm</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classeasycomm.html">easycomm</a> comm</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00056">56</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
<p class="reference">Referenced by <a class="el" href="dc__motor__controller_8ino_source.html#l00105">loop()</a>, and <a class="el" href="dc__motor__controller_8ino_source.html#l00071">setup()</a>.</p>
</div>
</div>
<a id="a7f4a4d4b871eb2a5ffbf72d413092114"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f4a4d4b871eb2a5ffbf72d413092114">&#9670;&nbsp;</a></span>control_az</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PID pid_az&amp; control_az</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00059">59</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
<p class="reference">Referenced by <a class="el" href="dc__motor__controller_8ino_source.html#l00214">homing()</a>, and <a class="el" href="dc__motor__controller_8ino_source.html#l00105">loop()</a>.</p>
</div>
</div>
<a id="a961d3c110bf0dbe986c469b9b164f109"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a961d3c110bf0dbe986c469b9b164f109">&#9670;&nbsp;</a></span>control_el</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PID pid_el&amp; control_el</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00061">61</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
<p class="reference">Referenced by <a class="el" href="dc__motor__controller_8ino_source.html#l00214">homing()</a>, and <a class="el" href="dc__motor__controller_8ino_source.html#l00105">loop()</a>.</p>
</div>
</div>
<a id="ad7b945823a2a9518064aa22ce612fcaf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7b945823a2a9518064aa22ce612fcaf">&#9670;&nbsp;</a></span>encoder_az</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classAS5601.html">AS5601</a> encoder_az</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00066">66</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</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="dc__motor__controller_8ino_source.html#l00071">setup()</a>.</p>
</div>
</div>
<a id="a35ce9a059097bea4c32ee620078a659c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35ce9a059097bea4c32ee620078a659c">&#9670;&nbsp;</a></span>encoder_el</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classAS5601.html">AS5601</a> encoder_el</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00066">66</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</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="dc__motor__controller_8ino_source.html#l00071">setup()</a>.</p>
</div>
</div>
<a id="a93ae915cd10983ab1234aa4a6b7910b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93ae915cd10983ab1234aa4a6b7910b3">&#9670;&nbsp;</a></span>motor_az</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmotor.html">motor</a> motor_az(<a class="el" href="rotator__pins_8h.html#a52eb32b92f0d0d1fdfc59a83e22d389d">M1IN1</a>, <a class="el" href="rotator__pins_8h.html#a157fe9dc9b50d6f912b57b3422848700">M1IN2</a>, <a class="el" href="rotator__pins_8h.html#a4e12c241b5699b8487b50dbda38a2714">M1FB</a>, <a class="el" href="rotator__pins_8h.html#a30b8dc781a6fe8ee7745feac552cb858">MOTOR_EN</a>, <a class="el" href="rotator__pins_8h.html#a1bef437ea4477b69d7417946685cc582">M1SF</a>, <a class="el" href="dc__motor__controller_8ino.html#a1df990f1a1fc97b95e8d53f719968026">MAX_PWM</a>, <a class="el" href="dc__motor__controller_8ino.html#a8507f3c11d3addead8ca0fbd55616c62">MIN_PWM</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<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="dc__motor__controller_8ino_source.html#l00071">setup()</a>.</p>
</div>
</div>
<a id="a60cac79aef5df2246c291f606098d33b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60cac79aef5df2246c291f606098d33b">&#9670;&nbsp;</a></span>motor_el</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmotor.html">motor</a> motor_el(<a class="el" href="rotator__pins_8h.html#ad43a98121cb04032302978a3319ba24e">M2IN1</a>, <a class="el" href="rotator__pins_8h.html#a1f7e92e76bed5849fc1edc2e42c995dc">M2IN2</a>, <a class="el" href="rotator__pins_8h.html#a756234870d4fec1dfb965e5a4ef4b5cd">M2FB</a>, <a class="el" href="rotator__pins_8h.html#a30b8dc781a6fe8ee7745feac552cb858">MOTOR_EN</a>, <a class="el" href="rotator__pins_8h.html#a84c33ece7372e98a2b47c81491a06474">M2SF</a>, <a class="el" href="dc__motor__controller_8ino.html#a1df990f1a1fc97b95e8d53f719968026">MAX_PWM</a>, <a class="el" href="dc__motor__controller_8ino.html#a8507f3c11d3addead8ca0fbd55616c62">MIN_PWM</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<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="dc__motor__controller_8ino_source.html#l00071">setup()</a>.</p>
</div>
</div>
<a id="a7741af4fcf4d529c3183cff30f191c5d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7741af4fcf4d529c3183cff30f191c5d">&#9670;&nbsp;</a></span>pca9540</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classi2c__mux.html">i2c_mux</a> pca9540(<a class="el" href="dc__motor__controller_8ino.html#a38d90dee2ed358ec8876fd872c901708">PCA9540_ID</a>, <a class="el" href="dc__motor__controller_8ino.html#a7d702f8ac756be3372676abde2bba4d1">PCA9540_CH0</a>, <a class="el" href="dc__motor__controller_8ino.html#a474aca7989d2890727807058edc26bab">PCA9540_CH1</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<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="dc__motor__controller_8ino_source.html#l00071">setup()</a>.</p>
</div>
</div>
<a id="a0c0a9fc59fead4da5429a12a827f6e92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c0a9fc59fead4da5429a12a827f6e92">&#9670;&nbsp;</a></span>switch_az</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classendstop.html">endstop</a> switch_az(<a class="el" href="rotator__pins_8h.html#ad98a4599f8bbf48bb5b425ce5edb5a42">SW1</a>, <a class="el" href="stepper__motor__controller_8ino.html#aa9fdf484ccfc3264b1505135c801aadc">DEFAULT_HOME_STATE</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<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="dc__motor__controller_8ino_source.html#l00071">setup()</a>.</p>
</div>
</div>
<a id="a0886ffe9fa915cc70ac3ed7e528145d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0886ffe9fa915cc70ac3ed7e528145d9">&#9670;&nbsp;</a></span>switch_el</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classendstop.html">endstop</a> switch_el(<a class="el" href="rotator__pins_8h.html#a276a7c4ba0f813d53715e2ec2595d906">SW2</a>, <a class="el" href="stepper__motor__controller_8ino.html#aa9fdf484ccfc3264b1505135c801aadc">DEFAULT_HOME_STATE</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<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="dc__motor__controller_8ino_source.html#l00071">setup()</a>.</p>
</div>
</div>
<a id="ab758c64f84e0623e98a61e37b9bdd2b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab758c64f84e0623e98a61e37b9bdd2b7">&#9670;&nbsp;</a></span>t_run</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t t_run = 0</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00055">55</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</a>.</p>
<p class="reference">Referenced by <a class="el" href="dc__motor__controller_8ino_source.html#l00105">loop()</a>.</p>
</div>
</div>
<a id="a2499307ac3e6e8f80aa5c12b27668b4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2499307ac3e6e8f80aa5c12b27668b4b">&#9670;&nbsp;</a></span>temp_sensor</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classtc74.html">tc74</a> temp_sensor(<a class="el" href="dc__motor__controller_8ino.html#adc66ef1790bc83e927ba7e4f3686e65c">TC74_ID</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="reference">Referenced by <a class="el" href="dc__motor__controller_8ino_source.html#l00105">loop()</a>.</p>
</div>
</div>
<a id="aa21a88a61f63525bb1db8401772e7f70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa21a88a61f63525bb1db8401772e7f70">&#9670;&nbsp;</a></span>wdt</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classwdt__timer.html">wdt_timer</a> wdt</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dc__motor__controller_8ino_source.html#l00067">67</a> of file <a class="el" href="dc__motor__controller_8ino_source.html">dc_motor_controller.ino</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="dc__motor__controller_8ino_source.html#l00071">setup()</a>.</p>
</div>
</div>
</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>