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

792 lines
38 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: motor 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-attribs">Private Attributes</a> &#124;
<a href="classmotor-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">motor Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Class that functions for interacting with a Motor Driver Carrier.
<a href="classmotor.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="motor_8h_source.html">motor.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:a2a035f9f051ce59d705654966dd95851"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#a2a035f9f051ce59d705654966dd95851">motor</a> (uint8_t pwm_pin1, uint8_t pwm_pin2, uint8_t fb_pin, uint8_t en_pin, uint8_t sf_pin, uint16_t maxSpeed, uint16_t minSpeed)</td></tr>
<tr class="separator:a2a035f9f051ce59d705654966dd95851"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c7a40ef8985fae55eda9b9254d760a7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#a7c7a40ef8985fae55eda9b9254d760a7">init_pin</a> ()</td></tr>
<tr class="memdesc:a7c7a40ef8985fae55eda9b9254d760a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize pins of DC motor driver. <a href="#a7c7a40ef8985fae55eda9b9254d760a7">More...</a><br /></td></tr>
<tr class="separator:a7c7a40ef8985fae55eda9b9254d760a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1aa585ea14305952469f95cb26f3ad2f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#a1aa585ea14305952469f95cb26f3ad2f">init_timer</a> (uint8_t timer, uint16_t divisor)</td></tr>
<tr class="memdesc:a1aa585ea14305952469f95cb26f3ad2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set timer frequency, for timers 0, 1, 2. <a href="#a1aa585ea14305952469f95cb26f3ad2f">More...</a><br /></td></tr>
<tr class="separator:a1aa585ea14305952469f95cb26f3ad2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abee35525f6340b3a8118e8711a6033b4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#abee35525f6340b3a8118e8711a6033b4">enable</a> ()</td></tr>
<tr class="memdesc:abee35525f6340b3a8118e8711a6033b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable motor driver. <a href="#abee35525f6340b3a8118e8711a6033b4">More...</a><br /></td></tr>
<tr class="separator:abee35525f6340b3a8118e8711a6033b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae21d592f52c6aa57a641ca3e99cf52b9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#ae21d592f52c6aa57a641ca3e99cf52b9">disenable</a> ()</td></tr>
<tr class="memdesc:ae21d592f52c6aa57a641ca3e99cf52b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable motor driver. <a href="#ae21d592f52c6aa57a641ca3e99cf52b9">More...</a><br /></td></tr>
<tr class="separator:ae21d592f52c6aa57a641ca3e99cf52b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae106093068947e7b5453cfb70c06e83d"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#ae106093068947e7b5453cfb70c06e83d">get_load</a> ()</td></tr>
<tr class="memdesc:ae106093068947e7b5453cfb70c06e83d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the load of DC motor. <a href="#ae106093068947e7b5453cfb70c06e83d">More...</a><br /></td></tr>
<tr class="separator:ae106093068947e7b5453cfb70c06e83d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fb941091e69025a6ed7b66b2458b302"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#a3fb941091e69025a6ed7b66b2458b302">get_fault</a> ()</td></tr>
<tr class="memdesc:a3fb941091e69025a6ed7b66b2458b302"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the status flag of motor driver. <a href="#a3fb941091e69025a6ed7b66b2458b302">More...</a><br /></td></tr>
<tr class="separator:a3fb941091e69025a6ed7b66b2458b302"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01f848ad7e9ff16b4cb61174d3a5a084"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#a01f848ad7e9ff16b4cb61174d3a5a084">move</a> (int16_t <a class="el" href="globals_8h.html#a011a2a3681d95bf0def772367ba6ad33a3d18b3fd8daa40d26a07452c9de67a87">speed</a>)</td></tr>
<tr class="memdesc:a01f848ad7e9ff16b4cb61174d3a5a084"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move the DC motor with constant voltage (~speed) <a href="#a01f848ad7e9ff16b4cb61174d3a5a084">More...</a><br /></td></tr>
<tr class="separator:a01f848ad7e9ff16b4cb61174d3a5a084"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9395e462f009a775c5fbe11f4c39150c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#a9395e462f009a775c5fbe11f4c39150c">stop</a> ()</td></tr>
<tr class="memdesc:a9395e462f009a775c5fbe11f4c39150c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop moving the DC motor. <a href="#a9395e462f009a775c5fbe11f4c39150c">More...</a><br /></td></tr>
<tr class="separator:a9395e462f009a775c5fbe11f4c39150c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcebea9102569fa416a2872f0d33b32e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#afcebea9102569fa416a2872f0d33b32e">set_min</a> (uint16_t min)</td></tr>
<tr class="memdesc:afcebea9102569fa416a2872f0d33b32e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the minimum speed of DC motor. <a href="#afcebea9102569fa416a2872f0d33b32e">More...</a><br /></td></tr>
<tr class="separator:afcebea9102569fa416a2872f0d33b32e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9881112348f2cf0d338fc47fefd66f15"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#a9881112348f2cf0d338fc47fefd66f15">set_max</a> (uint16_t max)</td></tr>
<tr class="memdesc:a9881112348f2cf0d338fc47fefd66f15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the maximum speed of DC motor. <a href="#a9881112348f2cf0d338fc47fefd66f15">More...</a><br /></td></tr>
<tr class="separator:a9881112348f2cf0d338fc47fefd66f15"><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:aad1f7bbc1a73c605947ce4a80a8019f8"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#aad1f7bbc1a73c605947ce4a80a8019f8">_pwm_pin1</a></td></tr>
<tr class="separator:aad1f7bbc1a73c605947ce4a80a8019f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc3ee3c3243453a974ca0e9f96e93bce"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#acc3ee3c3243453a974ca0e9f96e93bce">_pwm_pin2</a></td></tr>
<tr class="separator:acc3ee3c3243453a974ca0e9f96e93bce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a0c29d8c7332855eba796dc9d17d516"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#a0a0c29d8c7332855eba796dc9d17d516">_fb_pin</a></td></tr>
<tr class="separator:a0a0c29d8c7332855eba796dc9d17d516"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8dc53ecf02031b944ef6658c2b14fde"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#aa8dc53ecf02031b944ef6658c2b14fde">_en_pin</a></td></tr>
<tr class="separator:aa8dc53ecf02031b944ef6658c2b14fde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3782417f957c2c0806bb37df3709b4a"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#ad3782417f957c2c0806bb37df3709b4a">_sf_pin</a></td></tr>
<tr class="separator:ad3782417f957c2c0806bb37df3709b4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a8635dc94a8eb9a410b5dff9c658d09"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#a7a8635dc94a8eb9a410b5dff9c658d09">_maxSpeed</a></td></tr>
<tr class="separator:a7a8635dc94a8eb9a410b5dff9c658d09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14521e2beea4039acb94a5a20f3282ca"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmotor.html#a14521e2beea4039acb94a5a20f3282ca">_minSpeed</a></td></tr>
<tr class="separator:a14521e2beea4039acb94a5a20f3282ca"><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 Motor Driver Carrier. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pwm_pin1</td><td>PWM pin, regulate the duty cycle </td></tr>
<tr><td class="paramname">pwm_pin2</td><td>PWM pin, regulate the duty cycle </td></tr>
<tr><td class="paramname">fb_pin</td><td>Analog pin that measure the analog current-sense feedback </td></tr>
<tr><td class="paramname">en_pin</td><td>Digital pin that enable and disable the motor driver </td></tr>
<tr><td class="paramname">sf_pin</td><td>Digital pin that read if the motor driver works properly or not </td></tr>
<tr><td class="paramname">maxSpeed</td><td>Set the maximum PWM value that the DC motor can handle, e.g. max 255 (8 bit timer) </td></tr>
<tr><td class="paramname">minSpeed</td><td>Set the minimum PWM value that the DC motor can handle, e.g. min 5 (8-bit timer) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="motor_8h_source.html#l00035">35</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a2a035f9f051ce59d705654966dd95851"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a035f9f051ce59d705654966dd95851">&#9670;&nbsp;</a></span>motor()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">motor::motor </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>pwm_pin1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>pwm_pin2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>fb_pin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>en_pin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>sf_pin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>maxSpeed</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>minSpeed</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> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="motor_8h_source.html#l00038">38</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
<p class="reference">References <a class="el" href="motor_8h_source.html#l00242">_en_pin</a>, <a class="el" href="motor_8h_source.html#l00242">_fb_pin</a>, <a class="el" href="motor_8h_source.html#l00243">_maxSpeed</a>, <a class="el" href="motor_8h_source.html#l00243">_minSpeed</a>, <a class="el" href="motor_8h_source.html#l00242">_pwm_pin1</a>, <a class="el" href="motor_8h_source.html#l00242">_pwm_pin2</a>, <a class="el" href="motor_8h_source.html#l00242">_sf_pin</a>, and <a class="el" href="motor_8h_source.html#l00214">stop()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classmotor_a2a035f9f051ce59d705654966dd95851_cgraph.png" border="0" usemap="#classmotor_a2a035f9f051ce59d705654966dd95851_cgraph" alt=""/></div>
<map name="classmotor_a2a035f9f051ce59d705654966dd95851_cgraph" id="classmotor_a2a035f9f051ce59d705654966dd95851_cgraph">
<area shape="rect" id="node2" href="classmotor.html#a9395e462f009a775c5fbe11f4c39150c" title="Stop moving the DC motor. " alt="" coords="161,5,259,32"/>
</map>
</div>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ae21d592f52c6aa57a641ca3e99cf52b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae21d592f52c6aa57a641ca3e99cf52b9">&#9670;&nbsp;</a></span>disenable()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void motor::disenable </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>Disable motor driver. </p>
<p class="definition">Definition at line <a class="el" href="motor_8h_source.html#l00155">155</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
<p class="reference">References <a class="el" href="motor_8h_source.html#l00242">_en_pin</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="abee35525f6340b3a8118e8711a6033b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abee35525f6340b3a8118e8711a6033b4">&#9670;&nbsp;</a></span>enable()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void motor::enable </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>Enable motor driver. </p>
<p class="definition">Definition at line <a class="el" href="motor_8h_source.html#l00146">146</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
<p class="reference">References <a class="el" href="motor_8h_source.html#l00242">_en_pin</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="a3fb941091e69025a6ed7b66b2458b302"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3fb941091e69025a6ed7b66b2458b302">&#9670;&nbsp;</a></span>get_fault()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t motor::get_fault </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 status flag of motor driver. </p>
<dl class="section return"><dt>Returns</dt><dd>HIGH the motor driver is working properly LOW an over-current (short circuit) or over-temperature event </dd></dl>
<p class="definition">Definition at line <a class="el" href="motor_8h_source.html#l00176">176</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
<p class="reference">References <a class="el" href="motor_8h_source.html#l00242">_sf_pin</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="ae106093068947e7b5453cfb70c06e83d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae106093068947e7b5453cfb70c06e83d">&#9670;&nbsp;</a></span>get_load()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint16_t motor::get_load </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 load of DC motor. </p>
<dl class="section return"><dt>Returns</dt><dd>Return an analog read value 0-1023 </dd></dl>
<p class="definition">Definition at line <a class="el" href="motor_8h_source.html#l00165">165</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
<p class="reference">References <a class="el" href="motor_8h_source.html#l00242">_fb_pin</a>.</p>
</div>
</div>
<a id="a7c7a40ef8985fae55eda9b9254d760a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c7a40ef8985fae55eda9b9254d760a7">&#9670;&nbsp;</a></span>init_pin()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void motor::init_pin </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 pins of DC motor driver. </p>
<p class="definition">Definition at line <a class="el" href="motor_8h_source.html#l00055">55</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
<p class="reference">References <a class="el" href="motor_8h_source.html#l00242">_en_pin</a>, <a class="el" href="motor_8h_source.html#l00242">_fb_pin</a>, <a class="el" href="motor_8h_source.html#l00242">_pwm_pin1</a>, <a class="el" href="motor_8h_source.html#l00242">_pwm_pin2</a>, and <a class="el" href="motor_8h_source.html#l00242">_sf_pin</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="a1aa585ea14305952469f95cb26f3ad2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1aa585ea14305952469f95cb26f3ad2f">&#9670;&nbsp;</a></span>init_timer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void motor::init_timer </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>timer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>divisor</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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set timer frequency, for timers 0, 1, 2. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">timer</td><td>PWM frequency for D5 &amp; D6, set timer 0 PWM frequency for D9 &amp; D10, set timer 1 PWM frequency for D3 &amp; D11, set timer 2 </td></tr>
<tr><td class="paramname">divisor</td><td>For timer 0 divisor to 1 for PWM frequency of 62500.00 Hz divisor to 8 for PWM frequency of 7812.50 Hz divisor to 64 for PWM frequency of 976.56 Hz (The DEFAULT) divisor to 256 for PWM frequency of 244.14 Hz divisor to 1024 for PWM frequency of 61.04 Hz For timer 1 divisor to 1 for PWM frequency of 31372.55 Hz divisor to 8 for PWM frequency of 3921.16 Hz divisor to 64 for PWM frequency of 490.20 Hz (The DEFAULT) divisor to 256 for PWM frequency of 122.55 Hz divisor to 1024 for PWM frequency of 30.64 Hz For timer 2 divisor to 1 for PWM frequency of 31372.55 Hz divisor to 8 for PWM frequency of 3921.16 Hz divisor to 32 for PWM frequency of 980.39 Hz divisor to 64 for PWM frequency of 490.20 Hz (The DEFAULT) divisor to 128 for PWM frequency of 245.10 Hz divisor to 256 for PWM frequency of 122.55 Hz divisor to 1024 for PWM frequency of 30.64 Hz </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="motor_8h_source.html#l00095">95</a> of file <a class="el" href="motor_8h_source.html">motor.h</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="a01f848ad7e9ff16b4cb61174d3a5a084"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01f848ad7e9ff16b4cb61174d3a5a084">&#9670;&nbsp;</a></span>move()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void motor::move </td>
<td>(</td>
<td class="paramtype">int16_t&#160;</td>
<td class="paramname"><em>speed</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>Move the DC motor with constant voltage (~speed) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">speed</td><td>Range minSpeed - maxSpeed, -255 - +255 </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="motor_8h_source.html#l00188">188</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
<p class="reference">References <a class="el" href="motor_8h_source.html#l00243">_maxSpeed</a>, <a class="el" href="motor_8h_source.html#l00243">_minSpeed</a>, <a class="el" href="motor_8h_source.html#l00242">_pwm_pin1</a>, <a class="el" href="motor_8h_source.html#l00242">_pwm_pin2</a>, <a class="el" href="globals_8h_source.html#l00026">speed</a>, and <a class="el" href="motor_8h_source.html#l00214">stop()</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 class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classmotor_a01f848ad7e9ff16b4cb61174d3a5a084_cgraph.png" border="0" usemap="#classmotor_a01f848ad7e9ff16b4cb61174d3a5a084_cgraph" alt=""/></div>
<map name="classmotor_a01f848ad7e9ff16b4cb61174d3a5a084_cgraph" id="classmotor_a01f848ad7e9ff16b4cb61174d3a5a084_cgraph">
<area shape="rect" id="node2" href="classmotor.html#a9395e462f009a775c5fbe11f4c39150c" title="Stop moving the DC motor. " alt="" coords="160,5,257,32"/>
</map>
</div>
</div>
</div>
<a id="a9881112348f2cf0d338fc47fefd66f15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9881112348f2cf0d338fc47fefd66f15">&#9670;&nbsp;</a></span>set_max()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void motor::set_max </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>max</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>Update the maximum speed of DC motor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">max</td><td>Maximum speed, e.g. a range of 170 - 255 </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="motor_8h_source.html#l00237">237</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
<p class="reference">References <a class="el" href="motor_8h_source.html#l00243">_maxSpeed</a>.</p>
</div>
</div>
<a id="afcebea9102569fa416a2872f0d33b32e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afcebea9102569fa416a2872f0d33b32e">&#9670;&nbsp;</a></span>set_min()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void motor::set_min </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>min</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>Update the minimum speed of DC motor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">min</td><td>Minimum speed, e.g. a range of 0 - 40 </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="motor_8h_source.html#l00226">226</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
<p class="reference">References <a class="el" href="motor_8h_source.html#l00243">_minSpeed</a>.</p>
</div>
</div>
<a id="a9395e462f009a775c5fbe11f4c39150c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9395e462f009a775c5fbe11f4c39150c">&#9670;&nbsp;</a></span>stop()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void motor::stop </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>Stop moving the DC motor. </p>
<p class="definition">Definition at line <a class="el" href="motor_8h_source.html#l00214">214</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
<p class="reference">References <a class="el" href="motor_8h_source.html#l00242">_pwm_pin1</a>, and <a class="el" href="motor_8h_source.html#l00242">_pwm_pin2</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>, <a class="el" href="motor_8h_source.html#l00038">motor()</a>, and <a class="el" href="motor_8h_source.html#l00188">move()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="aa8dc53ecf02031b944ef6658c2b14fde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8dc53ecf02031b944ef6658c2b14fde">&#9670;&nbsp;</a></span>_en_pin</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t motor::_en_pin</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="motor_8h_source.html#l00242">242</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="motor_8h_source.html#l00155">disenable()</a>, <a class="el" href="motor_8h_source.html#l00146">enable()</a>, <a class="el" href="motor_8h_source.html#l00055">init_pin()</a>, and <a class="el" href="motor_8h_source.html#l00038">motor()</a>.</p>
</div>
</div>
<a id="a0a0c29d8c7332855eba796dc9d17d516"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a0c29d8c7332855eba796dc9d17d516">&#9670;&nbsp;</a></span>_fb_pin</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t motor::_fb_pin</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="motor_8h_source.html#l00242">242</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="motor_8h_source.html#l00165">get_load()</a>, <a class="el" href="motor_8h_source.html#l00055">init_pin()</a>, and <a class="el" href="motor_8h_source.html#l00038">motor()</a>.</p>
</div>
</div>
<a id="a7a8635dc94a8eb9a410b5dff9c658d09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a8635dc94a8eb9a410b5dff9c658d09">&#9670;&nbsp;</a></span>_maxSpeed</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int16_t motor::_maxSpeed</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="motor_8h_source.html#l00243">243</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="motor_8h_source.html#l00038">motor()</a>, <a class="el" href="motor_8h_source.html#l00188">move()</a>, and <a class="el" href="motor_8h_source.html#l00237">set_max()</a>.</p>
</div>
</div>
<a id="a14521e2beea4039acb94a5a20f3282ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14521e2beea4039acb94a5a20f3282ca">&#9670;&nbsp;</a></span>_minSpeed</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int16_t motor::_minSpeed</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="motor_8h_source.html#l00243">243</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="motor_8h_source.html#l00038">motor()</a>, <a class="el" href="motor_8h_source.html#l00188">move()</a>, and <a class="el" href="motor_8h_source.html#l00226">set_min()</a>.</p>
</div>
</div>
<a id="aad1f7bbc1a73c605947ce4a80a8019f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad1f7bbc1a73c605947ce4a80a8019f8">&#9670;&nbsp;</a></span>_pwm_pin1</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t motor::_pwm_pin1</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="motor_8h_source.html#l00242">242</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="motor_8h_source.html#l00055">init_pin()</a>, <a class="el" href="motor_8h_source.html#l00038">motor()</a>, <a class="el" href="motor_8h_source.html#l00188">move()</a>, and <a class="el" href="motor_8h_source.html#l00214">stop()</a>.</p>
</div>
</div>
<a id="acc3ee3c3243453a974ca0e9f96e93bce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc3ee3c3243453a974ca0e9f96e93bce">&#9670;&nbsp;</a></span>_pwm_pin2</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t motor::_pwm_pin2</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="motor_8h_source.html#l00242">242</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="motor_8h_source.html#l00055">init_pin()</a>, <a class="el" href="motor_8h_source.html#l00038">motor()</a>, <a class="el" href="motor_8h_source.html#l00188">move()</a>, and <a class="el" href="motor_8h_source.html#l00214">stop()</a>.</p>
</div>
</div>
<a id="ad3782417f957c2c0806bb37df3709b4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3782417f957c2c0806bb37df3709b4a">&#9670;&nbsp;</a></span>_sf_pin</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t motor::_sf_pin</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="motor_8h_source.html#l00242">242</a> of file <a class="el" href="motor_8h_source.html">motor.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="motor_8h_source.html#l00176">get_fault()</a>, <a class="el" href="motor_8h_source.html#l00055">init_pin()</a>, and <a class="el" href="motor_8h_source.html#l00038">motor()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>libraries/<a class="el" href="motor_8h_source.html">motor.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>