update to 1.64

- 1.62 2022-05-22 Added link to AccelStepper - The Missing Manual.
- Fixed a problem when setting the maxSpeed to 1.0 due to incomplete initialisation. Reported by Olivier Pécheux.
- 1.63 2022-06-30 Added virtual destructor at the request of Jan.
- 1.64 2022-10-31 Patch courtesy acwest: Changes to make AccelStepper more subclassable. These changes are largely oriented to implementing new step-scheduling algorithms.
This commit is contained in:
Patrick 2022-11-23 20:19:36 -05:00
parent a9bf2f93bf
commit 1255ab5682
13 changed files with 707 additions and 280 deletions

View File

@ -1,4 +1,4 @@
This software is Copyright (C) 2008 Mike McCauley. Use is subject to license This software is Copyright (C) Mike McCauley. Use is subject to license
conditions. The main licensing options available are GPL V3 or Commercial: conditions. The main licensing options available are GPL V3 or Commercial:
Open Source Licensing GPL V3 Open Source Licensing GPL V3
@ -14,4 +14,4 @@ Commercial Licensing
This is the appropriate option if you are creating proprietary applications This is the appropriate option if you are creating proprietary applications
and you are not prepared to distribute and share the source code of your and you are not prepared to distribute and share the source code of your
application. Contact info@open.com.au for details. application. Contact info@airspayce for details.

View File

@ -1,9 +1,9 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/> <meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AccelStepper: Class List</title> <title>AccelStepper: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="tabs.css" rel="stylesheet" type="text/css"/>
@ -26,14 +26,15 @@
</table> </table>
</div> </div>
<!-- end header part --> <!-- end header part -->
<!-- Generated by Doxygen 1.8.13 --> <!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script> <script type="text/javascript" src="menu.js"></script>
<script type="text/javascript"> <script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() { $(function() {
initMenu('',false,false,'search.php','Search'); initMenu('',false,false,'search.php','Search');
}); });
</script> /* @license-end */</script>
<div id="main-nav"></div> <div id="main-nav"></div>
</div><!-- top --> </div><!-- top -->
<div class="header"> <div class="header">
@ -50,9 +51,7 @@ $(function() {
</div><!-- contents --> </div><!-- contents -->
<!-- start footer part --> <!-- start footer part -->
<hr class="footer"/><address class="footer"><small> <hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html"> Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address> </small></address>
</body> </body>
</html> </html>

View File

@ -1,9 +1,9 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/> <meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AccelStepper: Member List</title> <title>AccelStepper: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="tabs.css" rel="stylesheet" type="text/css"/>
@ -26,14 +26,15 @@
</table> </table>
</div> </div>
<!-- end header part --> <!-- end header part -->
<!-- Generated by Doxygen 1.8.13 --> <!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script> <script type="text/javascript" src="menu.js"></script>
<script type="text/javascript"> <script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() { $(function() {
initMenu('',false,false,'search.php','Search'); initMenu('',false,false,'search.php','Search');
}); });
</script> /* @license-end */</script>
<div id="main-nav"></div> <div id="main-nav"></div>
</div><!-- top --> </div><!-- top -->
<div class="header"> <div class="header">
@ -45,9 +46,11 @@ $(function() {
<p>This is the complete list of members for <a class="el" href="classAccelStepper.html">AccelStepper</a>, including all inherited members.</p> <p>This is the complete list of members for <a class="el" href="classAccelStepper.html">AccelStepper</a>, including all inherited members.</p>
<table class="directory"> <table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a></td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">protected</span></td></tr> <tr class="even"><td class="entry"><a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a></td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="classAccelStepper.html#a744fa74c2e181e75509a34b17c02e984">_stepInterval</a></td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classAccelStepper.html#a8b76f1ae6a49d2c2887b9fea30b8d84f">acceleration</a>()</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classAccelStepper.html#a3bc75bd6571b98a6177838ca81ac39ab">AccelStepper</a>(uint8_t interface=AccelStepper::FULL4WIRE, uint8_t pin1=2, uint8_t pin2=3, uint8_t pin3=4, uint8_t pin4=5, bool enable=true)</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="classAccelStepper.html#a3bc75bd6571b98a6177838ca81ac39ab">AccelStepper</a>(uint8_t interface=AccelStepper::FULL4WIRE, uint8_t pin1=2, uint8_t pin2=3, uint8_t pin3=4, uint8_t pin4=5, bool enable=true)</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classAccelStepper.html#afa3061ce813303a8f2fa206ee8d012bd">AccelStepper</a>(void(*forward)(), void(*backward)())</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="classAccelStepper.html#afa3061ce813303a8f2fa206ee8d012bd">AccelStepper</a>(void(*forward)(), void(*backward)())</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classAccelStepper.html#affbee789b5c19165846cf0409860ae79">computeNewSpeed</a>()</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">protected</span></td></tr> <tr><td class="entry"><a class="el" href="classAccelStepper.html#aab5944f43f869675958939c421bd9a01">computeNewSpeed</a>()</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classAccelStepper.html#a5dce13ab2a1b02b8f443318886bf6fc5">currentPosition</a>()</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="classAccelStepper.html#a5dce13ab2a1b02b8f443318886bf6fc5">currentPosition</a>()</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228">Direction</a> enum name</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">protected</span></td></tr> <tr><td class="entry"><a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228">Direction</a> enum name</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228a6959a4549f734bd771d418f995ba4fb4">DIRECTION_CCW</a> enum value</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">protected</span></td></tr> <tr class="even"><td class="entry"><a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228a6959a4549f734bd771d418f995ba4fb4">DIRECTION_CCW</a> enum value</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
@ -90,14 +93,15 @@ $(function() {
<tr><td class="entry"><a class="el" href="classAccelStepper.html#a8910bd9218a54dfb7e2372a6d0bcca0c">step4</a>(long step)</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr> <tr><td class="entry"><a class="el" href="classAccelStepper.html#a8910bd9218a54dfb7e2372a6d0bcca0c">step4</a>(long step)</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classAccelStepper.html#a4b0faf1ebc0c584ab606c0c0f66986b0">step6</a>(long step)</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr> <tr class="even"><td class="entry"><a class="el" href="classAccelStepper.html#a4b0faf1ebc0c584ab606c0c0f66986b0">step6</a>(long step)</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classAccelStepper.html#aa909c6c3fcd3ea4b3ee1aa8b4d0f7e87">step8</a>(long step)</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr> <tr><td class="entry"><a class="el" href="classAccelStepper.html#aa909c6c3fcd3ea4b3ee1aa8b4d0f7e87">step8</a>(long step)</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classAccelStepper.html#af8abc9ede47286fa33b518e0bf297c6a">stepBackward</a>()</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="classAccelStepper.html#af4908b53e1821f0a6d2dab509257b3e6">stepForward</a>()</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classAccelStepper.html#a638817b85aed9d5cd15c76a76c00aced">stop</a>()</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="classAccelStepper.html#a638817b85aed9d5cd15c76a76c00aced">stop</a>()</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classAccelStepper.html#a96685e0945b7cf75d5959da679cd911e">targetPosition</a>()</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="classAccelStepper.html#a96685e0945b7cf75d5959da679cd911e">targetPosition</a>()</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classAccelStepper.html#a89c4c8de0c983e7a59de6a959481aff1">~AccelStepper</a>()</td><td class="entry"><a class="el" href="classAccelStepper.html">AccelStepper</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents --> </table></div><!-- contents -->
<!-- start footer part --> <!-- start footer part -->
<hr class="footer"/><address class="footer"><small> <hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html"> Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address> </small></address>
</body> </body>
</html> </html>

View File

@ -1,9 +1,9 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/> <meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AccelStepper: AccelStepper Class Reference</title> <title>AccelStepper: AccelStepper Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="tabs.css" rel="stylesheet" type="text/css"/>
@ -26,14 +26,15 @@
</table> </table>
</div> </div>
<!-- end header part --> <!-- end header part -->
<!-- Generated by Doxygen 1.8.13 --> <!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script> <script type="text/javascript" src="menu.js"></script>
<script type="text/javascript"> <script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() { $(function() {
initMenu('',false,false,'search.php','Search'); initMenu('',false,false,'search.php','Search');
}); });
</script> /* @license-end */</script>
<div id="main-nav"></div> <div id="main-nav"></div>
</div><!-- top --> </div><!-- top -->
<div class="header"> <div class="header">
@ -57,17 +58,17 @@ $(function() {
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr> Public Types</h2></td></tr>
<tr class="memitem:a73bdecf1273d98d8c5fbcb764cabeea5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5">MotorInterfaceType</a> { <br /> <tr class="memitem:a73bdecf1273d98d8c5fbcb764cabeea5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5">MotorInterfaceType</a> { <br />
&#160;&#160;<a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5af5bb99ad9d67ad2d85f840e3abcfe068">FUNCTION</a> = 0, &#160;&#160;<a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5af5bb99ad9d67ad2d85f840e3abcfe068">FUNCTION</a> = 0
<a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5ac3523e4cf6763ba518d16fec3708ef23">DRIVER</a> = 1, , <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5ac3523e4cf6763ba518d16fec3708ef23">DRIVER</a> = 1
<a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5a62a305b52f749ff8c89138273fbb012d">FULL2WIRE</a> = 2, , <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5a62a305b52f749ff8c89138273fbb012d">FULL2WIRE</a> = 2
<a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5a0b8eea5cf0f8ce70b1959d2977ccc996">FULL3WIRE</a> = 3, , <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5a0b8eea5cf0f8ce70b1959d2977ccc996">FULL3WIRE</a> = 3
, <br />
&#160;&#160;<a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5adedd394a375190a3df8d4519c0d4dc2f">FULL4WIRE</a> = 4
, <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5a00c2387a5af43d8e97639699ab7a5c7f">HALF3WIRE</a> = 6
, <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5aecc0900c55b777d2e885581b8c434b07">HALF4WIRE</a> = 8
<br /> <br />
&#160;&#160;<a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5adedd394a375190a3df8d4519c0d4dc2f">FULL4WIRE</a> = 4, }</td></tr>
<a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5a00c2387a5af43d8e97639699ab7a5c7f">HALF3WIRE</a> = 6, <tr class="memdesc:a73bdecf1273d98d8c5fbcb764cabeea5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Symbolic names for number of pins. Use this in the pins argument the <a class="el" href="classAccelStepper.html" title="Support for stepper motors with acceleration etc.">AccelStepper</a> constructor to provide a symbolic name for the number of pins to use. <a href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5">More...</a><br /></td></tr>
<a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5aecc0900c55b777d2e885581b8c434b07">HALF4WIRE</a> = 8
<br />
}<tr class="memdesc:a73bdecf1273d98d8c5fbcb764cabeea5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Symbolic names for number of pins. Use this in the pins argument the <a class="el" href="classAccelStepper.html" title="Support for stepper motors with acceleration etc. ">AccelStepper</a> constructor to provide a symbolic name for the number of pins to use. <a href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a73bdecf1273d98d8c5fbcb764cabeea5"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a73bdecf1273d98d8c5fbcb764cabeea5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls"> </table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
@ -88,8 +89,10 @@ Public Member Functions</h2></td></tr>
<tr class="separator:abee8d466229b87accba33d6ec929c18f"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:abee8d466229b87accba33d6ec929c18f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6123a1dfb4495d8bd2646288eae60d7f"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a6123a1dfb4495d8bd2646288eae60d7f">maxSpeed</a> ()</td></tr> <tr class="memitem:a6123a1dfb4495d8bd2646288eae60d7f"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a6123a1dfb4495d8bd2646288eae60d7f">maxSpeed</a> ()</td></tr>
<tr class="separator:a6123a1dfb4495d8bd2646288eae60d7f"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a6123a1dfb4495d8bd2646288eae60d7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfb19e3cd2a028a1fe78131787604fd1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#adfb19e3cd2a028a1fe78131787604fd1">setAcceleration</a> (float acceleration)</td></tr> <tr class="memitem:adfb19e3cd2a028a1fe78131787604fd1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#adfb19e3cd2a028a1fe78131787604fd1">setAcceleration</a> (float <a class="el" href="classAccelStepper.html#a8b76f1ae6a49d2c2887b9fea30b8d84f">acceleration</a>)</td></tr>
<tr class="separator:adfb19e3cd2a028a1fe78131787604fd1"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:adfb19e3cd2a028a1fe78131787604fd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b76f1ae6a49d2c2887b9fea30b8d84f"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a8b76f1ae6a49d2c2887b9fea30b8d84f">acceleration</a> ()</td></tr>
<tr class="separator:a8b76f1ae6a49d2c2887b9fea30b8d84f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae79c49ad69d5ccc9da0ee691fa4ca235"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#ae79c49ad69d5ccc9da0ee691fa4ca235">setSpeed</a> (float <a class="el" href="classAccelStepper.html#a4f0989d0ae264e7eadfe1fa720769fb6">speed</a>)</td></tr> <tr class="memitem:ae79c49ad69d5ccc9da0ee691fa4ca235"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#ae79c49ad69d5ccc9da0ee691fa4ca235">setSpeed</a> (float <a class="el" href="classAccelStepper.html#a4f0989d0ae264e7eadfe1fa720769fb6">speed</a>)</td></tr>
<tr class="separator:ae79c49ad69d5ccc9da0ee691fa4ca235"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:ae79c49ad69d5ccc9da0ee691fa4ca235"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f0989d0ae264e7eadfe1fa720769fb6"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a4f0989d0ae264e7eadfe1fa720769fb6">speed</a> ()</td></tr> <tr class="memitem:a4f0989d0ae264e7eadfe1fa720769fb6"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a4f0989d0ae264e7eadfe1fa720769fb6">speed</a> ()</td></tr>
@ -124,23 +127,31 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a38298ac2dd852fb22259f6c4bbe08c94"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a38298ac2dd852fb22259f6c4bbe08c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a60cc0b962f8ceb81ee1e6f36443ceb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a3a60cc0b962f8ceb81ee1e6f36443ceb">isRunning</a> ()</td></tr> <tr class="memitem:a3a60cc0b962f8ceb81ee1e6f36443ceb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a3a60cc0b962f8ceb81ee1e6f36443ceb">isRunning</a> ()</td></tr>
<tr class="separator:a3a60cc0b962f8ceb81ee1e6f36443ceb"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a3a60cc0b962f8ceb81ee1e6f36443ceb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89c4c8de0c983e7a59de6a959481aff1"><td class="memItemLeft" align="right" valign="top"><a id="a89c4c8de0c983e7a59de6a959481aff1"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a89c4c8de0c983e7a59de6a959481aff1">~AccelStepper</a> ()</td></tr>
<tr class="memdesc:a89c4c8de0c983e7a59de6a959481aff1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor to prevent warnings during delete. <br /></td></tr>
<tr class="separator:a89c4c8de0c983e7a59de6a959481aff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls"> </table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
Protected Types</h2></td></tr> Protected Types</h2></td></tr>
<tr class="memitem:a7468f91a925c689c3ba250f8d074d228"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228">Direction</a> { <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228a6959a4549f734bd771d418f995ba4fb4">DIRECTION_CCW</a> = 0, <tr class="memitem:a7468f91a925c689c3ba250f8d074d228"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228">Direction</a> { <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228a6959a4549f734bd771d418f995ba4fb4">DIRECTION_CCW</a> = 0
<a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228ad604e0047f7cb47662c5a1cf6999337c">DIRECTION_CW</a> = 1 , <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228ad604e0047f7cb47662c5a1cf6999337c">DIRECTION_CW</a> = 1
}<tr class="memdesc:a7468f91a925c689c3ba250f8d074d228"><td class="mdescLeft">&#160;</td><td class="mdescRight">Direction indicator Symbolic names for the direction the motor is turning. <a href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228">More...</a><br /></td></tr> }</td></tr>
</td></tr> <tr class="memdesc:a7468f91a925c689c3ba250f8d074d228"><td class="mdescLeft">&#160;</td><td class="mdescRight">Direction indicator Symbolic names for the direction the motor is turning. <a href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228">More...</a><br /></td></tr>
<tr class="separator:a7468f91a925c689c3ba250f8d074d228"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a7468f91a925c689c3ba250f8d074d228"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls"> </table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr> Protected Member Functions</h2></td></tr>
<tr class="memitem:affbee789b5c19165846cf0409860ae79"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#affbee789b5c19165846cf0409860ae79">computeNewSpeed</a> ()</td></tr> <tr class="memitem:aab5944f43f869675958939c421bd9a01"><td class="memItemLeft" align="right" valign="top">virtual unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#aab5944f43f869675958939c421bd9a01">computeNewSpeed</a> ()</td></tr>
<tr class="separator:affbee789b5c19165846cf0409860ae79"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:aab5944f43f869675958939c421bd9a01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3c2516b6ce7c1ecbc2004107bb2a9ce"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#af3c2516b6ce7c1ecbc2004107bb2a9ce">setOutputPins</a> (uint8_t mask)</td></tr> <tr class="memitem:af3c2516b6ce7c1ecbc2004107bb2a9ce"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#af3c2516b6ce7c1ecbc2004107bb2a9ce">setOutputPins</a> (uint8_t mask)</td></tr>
<tr class="separator:af3c2516b6ce7c1ecbc2004107bb2a9ce"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:af3c2516b6ce7c1ecbc2004107bb2a9ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a419121702399d8ac66df4cc47481f4"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step</a> (long step)</td></tr> <tr class="memitem:a8a419121702399d8ac66df4cc47481f4"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step</a> (long step)</td></tr>
<tr class="separator:a8a419121702399d8ac66df4cc47481f4"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a8a419121702399d8ac66df4cc47481f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4908b53e1821f0a6d2dab509257b3e6"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#af4908b53e1821f0a6d2dab509257b3e6">stepForward</a> ()</td></tr>
<tr class="separator:af4908b53e1821f0a6d2dab509257b3e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8abc9ede47286fa33b518e0bf297c6a"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#af8abc9ede47286fa33b518e0bf297c6a">stepBackward</a> ()</td></tr>
<tr class="separator:af8abc9ede47286fa33b518e0bf297c6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2913db789e6fa05756579ff82fe6e7e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#aa2913db789e6fa05756579ff82fe6e7e">step0</a> (long <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step</a>)</td></tr> <tr class="memitem:aa2913db789e6fa05756579ff82fe6e7e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#aa2913db789e6fa05756579ff82fe6e7e">step0</a> (long <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step</a>)</td></tr>
<tr class="separator:aa2913db789e6fa05756579ff82fe6e7e"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:aa2913db789e6fa05756579ff82fe6e7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63ef416bc039da539294e84a41e7d7dc"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a63ef416bc039da539294e84a41e7d7dc">step1</a> (long <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step</a>)</td></tr> <tr class="memitem:a63ef416bc039da539294e84a41e7d7dc"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a63ef416bc039da539294e84a41e7d7dc">step1</a> (long <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step</a>)</td></tr>
@ -160,6 +171,8 @@ Protected Member Functions</h2></td></tr>
Protected Attributes</h2></td></tr> Protected Attributes</h2></td></tr>
<tr class="memitem:a35162cdf8ed9a98f98984c177d5ade58"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a></td></tr> <tr class="memitem:a35162cdf8ed9a98f98984c177d5ade58"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a></td></tr>
<tr class="separator:a35162cdf8ed9a98f98984c177d5ade58"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a35162cdf8ed9a98f98984c177d5ade58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a744fa74c2e181e75509a34b17c02e984"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAccelStepper.html#a744fa74c2e181e75509a34b17c02e984">_stepInterval</a></td></tr>
<tr class="separator:a744fa74c2e181e75509a34b17c02e984"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table> </table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Support for stepper motors with acceleration etc. </p> <div class="textblock"><p>Support for stepper motors with acceleration etc. </p>
@ -294,7 +307,7 @@ Protected Attributes</h2></td></tr>
</dd> </dd>
</dl> </dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228a6959a4549f734bd771d418f995ba4fb4">DIRECTION_CCW</a>, <a class="el" href="classAccelStepper.html#aa279a50d30d0413f570c692cff071643">enableOutputs()</a>, and <a class="el" href="classAccelStepper.html#adfb19e3cd2a028a1fe78131787604fd1">setAcceleration()</a>.</p> <p class="reference">References <a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a>, <a class="el" href="classAccelStepper.html#a744fa74c2e181e75509a34b17c02e984">_stepInterval</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228a6959a4549f734bd771d418f995ba4fb4">DIRECTION_CCW</a>, <a class="el" href="classAccelStepper.html#aa279a50d30d0413f570c692cff071643">enableOutputs()</a>, <a class="el" href="classAccelStepper.html#adfb19e3cd2a028a1fe78131787604fd1">setAcceleration()</a>, and <a class="el" href="classAccelStepper.html#abee8d466229b87accba33d6ec929c18f">setMaxSpeed()</a>.</p>
</div> </div>
</div> </div>
@ -331,13 +344,33 @@ Protected Attributes</h2></td></tr>
</dd> </dd>
</dl> </dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228a6959a4549f734bd771d418f995ba4fb4">DIRECTION_CCW</a>, and <a class="el" href="classAccelStepper.html#adfb19e3cd2a028a1fe78131787604fd1">setAcceleration()</a>.</p> <p class="reference">References <a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a>, <a class="el" href="classAccelStepper.html#a744fa74c2e181e75509a34b17c02e984">_stepInterval</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228a6959a4549f734bd771d418f995ba4fb4">DIRECTION_CCW</a>, <a class="el" href="classAccelStepper.html#adfb19e3cd2a028a1fe78131787604fd1">setAcceleration()</a>, and <a class="el" href="classAccelStepper.html#abee8d466229b87accba33d6ec929c18f">setMaxSpeed()</a>.</p>
</div> </div>
</div> </div>
<h2 class="groupheader">Member Function Documentation</h2> <h2 class="groupheader">Member Function Documentation</h2>
<a id="affbee789b5c19165846cf0409860ae79"></a> <a id="a8b76f1ae6a49d2c2887b9fea30b8d84f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#affbee789b5c19165846cf0409860ae79">&#9670;&nbsp;</a></span>computeNewSpeed()</h2> <h2 class="memtitle"><span class="permalink"><a href="#a8b76f1ae6a49d2c2887b9fea30b8d84f">&#9670;&nbsp;</a></span>acceleration()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float AccelStepper::acceleration </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the acceleration/deceleration rate configured for this stepper that was previously set by <a class="el" href="classAccelStepper.html#adfb19e3cd2a028a1fe78131787604fd1">setAcceleration()</a>; </p><dl class="section return"><dt>Returns</dt><dd>The currently configured acceleration/deceleration </dd></dl>
<p class="reference">Referenced by <a class="el" href="classAccelStepper.html#adfb19e3cd2a028a1fe78131787604fd1">setAcceleration()</a>.</p>
</div>
</div>
<a id="aab5944f43f869675958939c421bd9a01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab5944f43f869675958939c421bd9a01">&#9670;&nbsp;</a></span>computeNewSpeed()</h2>
<div class="memitem"> <div class="memitem">
<div class="memproto"> <div class="memproto">
@ -346,7 +379,7 @@ Protected Attributes</h2></td></tr>
<td class="mlabels-left"> <td class="mlabels-left">
<table class="memname"> <table class="memname">
<tr> <tr>
<td class="memname">void AccelStepper::computeNewSpeed </td> <td class="memname">unsigned long AccelStepper::computeNewSpeed </td>
<td>(</td> <td>(</td>
<td class="paramname"></td><td>)</td> <td class="paramname"></td><td>)</td>
<td></td> <td></td>
@ -354,7 +387,7 @@ Protected Attributes</h2></td></tr>
</table> </table>
</td> </td>
<td class="mlabels-right"> <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
@ -362,10 +395,11 @@ Protected Attributes</h2></td></tr>
<li>after each step </li> <li>after each step </li>
<li>after change to maxSpeed through <a class="el" href="classAccelStepper.html#abee8d466229b87accba33d6ec929c18f">setMaxSpeed()</a> </li> <li>after change to maxSpeed through <a class="el" href="classAccelStepper.html#abee8d466229b87accba33d6ec929c18f">setMaxSpeed()</a> </li>
<li>after change to acceleration through <a class="el" href="classAccelStepper.html#adfb19e3cd2a028a1fe78131787604fd1">setAcceleration()</a> </li> <li>after change to acceleration through <a class="el" href="classAccelStepper.html#adfb19e3cd2a028a1fe78131787604fd1">setAcceleration()</a> </li>
<li>after change to target position (relative or absolute) through <a class="el" href="classAccelStepper.html#a68942c66e78fb7f7b5f0cdade6eb7f06">move()</a> or <a class="el" href="classAccelStepper.html#ace236ede35f87c63d18da25810ec9736">moveTo()</a> </li> <li>after change to target position (relative or absolute) through <a class="el" href="classAccelStepper.html#a68942c66e78fb7f7b5f0cdade6eb7f06">move()</a> or <a class="el" href="classAccelStepper.html#ace236ede35f87c63d18da25810ec9736">moveTo()</a> <dl class="section return"><dt>Returns</dt><dd>the new step interval </dd></dl>
</li>
</ul> </ul>
<p class="reference">References <a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228a6959a4549f734bd771d418f995ba4fb4">DIRECTION_CCW</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228ad604e0047f7cb47662c5a1cf6999337c">DIRECTION_CW</a>, and <a class="el" href="classAccelStepper.html#a748665c3962e66fbc0e9373eb14c69c1">distanceToGo()</a>.</p> <p class="reference">References <a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a>, <a class="el" href="classAccelStepper.html#a744fa74c2e181e75509a34b17c02e984">_stepInterval</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228a6959a4549f734bd771d418f995ba4fb4">DIRECTION_CCW</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228ad604e0047f7cb47662c5a1cf6999337c">DIRECTION_CW</a>, and <a class="el" href="classAccelStepper.html#a748665c3962e66fbc0e9373eb14c69c1">distanceToGo()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classAccelStepper.html#ace236ede35f87c63d18da25810ec9736">moveTo()</a>, <a class="el" href="classAccelStepper.html#a608b2395b64ac15451d16d0371fe13ce">run()</a>, <a class="el" href="classAccelStepper.html#adfb19e3cd2a028a1fe78131787604fd1">setAcceleration()</a>, and <a class="el" href="classAccelStepper.html#abee8d466229b87accba33d6ec929c18f">setMaxSpeed()</a>.</p> <p class="reference">Referenced by <a class="el" href="classAccelStepper.html#ace236ede35f87c63d18da25810ec9736">moveTo()</a>, <a class="el" href="classAccelStepper.html#a608b2395b64ac15451d16d0371fe13ce">run()</a>, <a class="el" href="classAccelStepper.html#adfb19e3cd2a028a1fe78131787604fd1">setAcceleration()</a>, and <a class="el" href="classAccelStepper.html#abee8d466229b87accba33d6ec929c18f">setMaxSpeed()</a>.</p>
@ -435,7 +469,7 @@ Protected Attributes</h2></td></tr>
</div><div class="memdoc"> </div><div class="memdoc">
<p>The distance from the current position to the target position. </p><dl class="section return"><dt>Returns</dt><dd>the distance from the current position to the target position in steps. Positive is clockwise from the current position. </dd></dl> <p>The distance from the current position to the target position. </p><dl class="section return"><dt>Returns</dt><dd>the distance from the current position to the target position in steps. Positive is clockwise from the current position. </dd></dl>
<p class="reference">Referenced by <a class="el" href="classAccelStepper.html#affbee789b5c19165846cf0409860ae79">computeNewSpeed()</a>, and <a class="el" href="classAccelStepper.html#a608b2395b64ac15451d16d0371fe13ce">run()</a>.</p> <p class="reference">Referenced by <a class="el" href="classAccelStepper.html#aab5944f43f869675958939c421bd9a01">computeNewSpeed()</a>, and <a class="el" href="classAccelStepper.html#a608b2395b64ac15451d16d0371fe13ce">run()</a>.</p>
</div> </div>
</div> </div>
@ -557,7 +591,7 @@ Protected Attributes</h2></td></tr>
</dd> </dd>
</dl> </dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#affbee789b5c19165846cf0409860ae79">computeNewSpeed()</a>.</p> <p class="reference">References <a class="el" href="classAccelStepper.html#aab5944f43f869675958939c421bd9a01">computeNewSpeed()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a68942c66e78fb7f7b5f0cdade6eb7f06">move()</a>, <a class="el" href="classMultiStepper.html#a291fec32a79390b6eb00296cffac49ee">MultiStepper::moveTo()</a>, and <a class="el" href="classAccelStepper.html#a176c5d2e4c2f21e9e92b12e39a6f0e67">runToNewPosition()</a>.</p> <p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a68942c66e78fb7f7b5f0cdade6eb7f06">move()</a>, <a class="el" href="classMultiStepper.html#a291fec32a79390b6eb00296cffac49ee">MultiStepper::moveTo()</a>, and <a class="el" href="classAccelStepper.html#a176c5d2e4c2f21e9e92b12e39a6f0e67">runToNewPosition()</a>.</p>
@ -579,7 +613,7 @@ Protected Attributes</h2></td></tr>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Poll the motor and step it if a step is due, implementing accelerations and decelerations to achieve the target position. You must call this as frequently as possible, but at least once per minimum step time interval, preferably in your main loop. Note that each call to <a class="el" href="classAccelStepper.html#a608b2395b64ac15451d16d0371fe13ce">run()</a> will make at most one step, and then only when a step is due, based on the current speed and the time since the last step. </p><dl class="section return"><dt>Returns</dt><dd>true if the motor is still running to the target position. </dd></dl> <p>Poll the motor and step it if a step is due, implementing accelerations and decelerations to achieve the target position. You must call this as frequently as possible, but at least once per minimum step time interval, preferably in your main loop. Note that each call to <a class="el" href="classAccelStepper.html#a608b2395b64ac15451d16d0371fe13ce">run()</a> will make at most one step, and then only when a step is due, based on the current speed and the time since the last step. </p><dl class="section return"><dt>Returns</dt><dd>true if the motor is still running to the target position. </dd></dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#affbee789b5c19165846cf0409860ae79">computeNewSpeed()</a>, <a class="el" href="classAccelStepper.html#a748665c3962e66fbc0e9373eb14c69c1">distanceToGo()</a>, and <a class="el" href="classAccelStepper.html#aa4a6bdf99f698284faaeb5542b0b7514">runSpeed()</a>.</p> <p class="reference">References <a class="el" href="classAccelStepper.html#aab5944f43f869675958939c421bd9a01">computeNewSpeed()</a>, <a class="el" href="classAccelStepper.html#a748665c3962e66fbc0e9373eb14c69c1">distanceToGo()</a>, and <a class="el" href="classAccelStepper.html#aa4a6bdf99f698284faaeb5542b0b7514">runSpeed()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a344f58fef8cc34ac5aa75ba4b665d21c">runToPosition()</a>.</p> <p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a344f58fef8cc34ac5aa75ba4b665d21c">runToPosition()</a>.</p>
@ -601,9 +635,9 @@ Protected Attributes</h2></td></tr>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Poll the motor and step it if a step is due, implementing a constant speed as set by the most recent call to <a class="el" href="classAccelStepper.html#ae79c49ad69d5ccc9da0ee691fa4ca235">setSpeed()</a>. You must call this as frequently as possible, but at least once per step interval, </p><dl class="section return"><dt>Returns</dt><dd>true if the motor was stepped. </dd></dl> <p>Poll the motor and step it if a step is due, implementing a constant speed as set by the most recent call to <a class="el" href="classAccelStepper.html#ae79c49ad69d5ccc9da0ee691fa4ca235">setSpeed()</a>. You must call this as frequently as possible, but at least once per step interval, </p><dl class="section return"><dt>Returns</dt><dd>true if the motor was stepped. </dd></dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228ad604e0047f7cb47662c5a1cf6999337c">DIRECTION_CW</a>, and <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p> <p class="reference">References <a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a>, <a class="el" href="classAccelStepper.html#a744fa74c2e181e75509a34b17c02e984">_stepInterval</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228ad604e0047f7cb47662c5a1cf6999337c">DIRECTION_CW</a>, and <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classMultiStepper.html#a26c2f53b1e7ddf5d5dfb333f6fb7fb92">MultiStepper::run()</a>, <a class="el" href="classAccelStepper.html#a608b2395b64ac15451d16d0371fe13ce">run()</a>, and <a class="el" href="classAccelStepper.html#a9270d20336e76ac1fd5bcd5b9c34f301">runSpeedToPosition()</a>.</p> <p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a608b2395b64ac15451d16d0371fe13ce">run()</a>, <a class="el" href="classMultiStepper.html#a26c2f53b1e7ddf5d5dfb333f6fb7fb92">MultiStepper::run()</a>, and <a class="el" href="classAccelStepper.html#a9270d20336e76ac1fd5bcd5b9c34f301">runSpeedToPosition()</a>.</p>
</div> </div>
</div> </div>
@ -621,7 +655,7 @@ Protected Attributes</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Runs at the currently selected speed until the target position is reached. Does not implement accelerations. </p><dl class="section return"><dt>Returns</dt><dd>true if it stepped </dd></dl> <p>Executes <a class="el" href="classAccelStepper.html#aa4a6bdf99f698284faaeb5542b0b7514">runSpeed()</a> unless the targetPosition is reached. This function needs to be called often just like <a class="el" href="classAccelStepper.html#aa4a6bdf99f698284faaeb5542b0b7514">runSpeed()</a> or <a class="el" href="classAccelStepper.html#a608b2395b64ac15451d16d0371fe13ce">run()</a>. Will step the motor if a step is required at the currently selected speed unless the target position has been reached. Does not implement accelerations. </p><dl class="section return"><dt>Returns</dt><dd>true if it stepped </dd></dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228a6959a4549f734bd771d418f995ba4fb4">DIRECTION_CCW</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228ad604e0047f7cb47662c5a1cf6999337c">DIRECTION_CW</a>, and <a class="el" href="classAccelStepper.html#aa4a6bdf99f698284faaeb5542b0b7514">runSpeed()</a>.</p> <p class="reference">References <a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228a6959a4549f734bd771d418f995ba4fb4">DIRECTION_CCW</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228ad604e0047f7cb47662c5a1cf6999337c">DIRECTION_CW</a>, and <a class="el" href="classAccelStepper.html#aa4a6bdf99f698284faaeb5542b0b7514">runSpeed()</a>.</p>
@ -697,7 +731,7 @@ Protected Attributes</h2></td></tr>
</dd> </dd>
</dl> </dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#affbee789b5c19165846cf0409860ae79">computeNewSpeed()</a>.</p> <p class="reference">References <a class="el" href="classAccelStepper.html#a8b76f1ae6a49d2c2887b9fea30b8d84f">acceleration()</a>, and <a class="el" href="classAccelStepper.html#aab5944f43f869675958939c421bd9a01">computeNewSpeed()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a3bc75bd6571b98a6177838ca81ac39ab">AccelStepper()</a>.</p> <p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a3bc75bd6571b98a6177838ca81ac39ab">AccelStepper()</a>.</p>
@ -725,6 +759,8 @@ Protected Attributes</h2></td></tr>
</dd> </dd>
</dl> </dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#a744fa74c2e181e75509a34b17c02e984">_stepInterval</a>.</p>
<p class="reference">Referenced by <a class="el" href="classMultiStepper.html#a26c2f53b1e7ddf5d5dfb333f6fb7fb92">MultiStepper::run()</a>.</p> <p class="reference">Referenced by <a class="el" href="classMultiStepper.html#a26c2f53b1e7ddf5d5dfb333f6fb7fb92">MultiStepper::run()</a>.</p>
</div> </div>
@ -776,7 +812,9 @@ Protected Attributes</h2></td></tr>
</dd> </dd>
</dl> </dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#affbee789b5c19165846cf0409860ae79">computeNewSpeed()</a>, and <a class="el" href="classAccelStepper.html#a4f0989d0ae264e7eadfe1fa720769fb6">speed()</a>.</p> <p class="reference">References <a class="el" href="classAccelStepper.html#aab5944f43f869675958939c421bd9a01">computeNewSpeed()</a>, and <a class="el" href="classAccelStepper.html#a4f0989d0ae264e7eadfe1fa720769fb6">speed()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a3bc75bd6571b98a6177838ca81ac39ab">AccelStepper()</a>.</p>
</div> </div>
</div> </div>
@ -797,7 +835,8 @@ Protected Attributes</h2></td></tr>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Sets the minimum pulse width allowed by the stepper driver. The minimum practical pulse width is approximately 20 microseconds. Times less than 20 microseconds will usually result in 20 microseconds or so. </p><dl class="params"><dt>Parameters</dt><dd> <p>Sets the minimum pulse width allowed by the stepper driver. The minimum practical pulse width is approximately 20 microseconds. Times less than 20 microseconds will usually result in 20 microseconds or so. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params"> <table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">minWidth</td><td>The minimum pulse width in microseconds. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">minWidth</td><td>The minimum pulse width in microseconds. <br />
</td></tr>
</table> </table>
</dd> </dd>
</dl> </dl>
@ -955,7 +994,7 @@ Protected Attributes</h2></td></tr>
</dd> </dd>
</dl> </dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228a6959a4549f734bd771d418f995ba4fb4">DIRECTION_CCW</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228ad604e0047f7cb47662c5a1cf6999337c">DIRECTION_CW</a>, and <a class="el" href="classAccelStepper.html#a4f0989d0ae264e7eadfe1fa720769fb6">speed()</a>.</p> <p class="reference">References <a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a>, <a class="el" href="classAccelStepper.html#a744fa74c2e181e75509a34b17c02e984">_stepInterval</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228a6959a4549f734bd771d418f995ba4fb4">DIRECTION_CCW</a>, <a class="el" href="classAccelStepper.html#a7468f91a925c689c3ba250f8d074d228ad604e0047f7cb47662c5a1cf6999337c">DIRECTION_CW</a>, and <a class="el" href="classAccelStepper.html#a4f0989d0ae264e7eadfe1fa720769fb6">speed()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classMultiStepper.html#a291fec32a79390b6eb00296cffac49ee">MultiStepper::moveTo()</a>.</p> <p class="reference">Referenced by <a class="el" href="classMultiStepper.html#a291fec32a79390b6eb00296cffac49ee">MultiStepper::moveTo()</a>.</p>
@ -1013,7 +1052,7 @@ Protected Attributes</h2></td></tr>
<p class="reference">References <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5ac3523e4cf6763ba518d16fec3708ef23">DRIVER</a>, <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5a62a305b52f749ff8c89138273fbb012d">FULL2WIRE</a>, <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5a0b8eea5cf0f8ce70b1959d2977ccc996">FULL3WIRE</a>, <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5adedd394a375190a3df8d4519c0d4dc2f">FULL4WIRE</a>, <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5af5bb99ad9d67ad2d85f840e3abcfe068">FUNCTION</a>, <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5a00c2387a5af43d8e97639699ab7a5c7f">HALF3WIRE</a>, <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5aecc0900c55b777d2e885581b8c434b07">HALF4WIRE</a>, <a class="el" href="classAccelStepper.html#aa2913db789e6fa05756579ff82fe6e7e">step0()</a>, <a class="el" href="classAccelStepper.html#a63ef416bc039da539294e84a41e7d7dc">step1()</a>, <a class="el" href="classAccelStepper.html#a674e48a6bf99e7ad1f013c1e4414565a">step2()</a>, <a class="el" href="classAccelStepper.html#ad73c61aade2e10243dfb02aefa7ab8fd">step3()</a>, <a class="el" href="classAccelStepper.html#a8910bd9218a54dfb7e2372a6d0bcca0c">step4()</a>, <a class="el" href="classAccelStepper.html#a4b0faf1ebc0c584ab606c0c0f66986b0">step6()</a>, and <a class="el" href="classAccelStepper.html#aa909c6c3fcd3ea4b3ee1aa8b4d0f7e87">step8()</a>.</p> <p class="reference">References <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5ac3523e4cf6763ba518d16fec3708ef23">DRIVER</a>, <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5a62a305b52f749ff8c89138273fbb012d">FULL2WIRE</a>, <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5a0b8eea5cf0f8ce70b1959d2977ccc996">FULL3WIRE</a>, <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5adedd394a375190a3df8d4519c0d4dc2f">FULL4WIRE</a>, <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5af5bb99ad9d67ad2d85f840e3abcfe068">FUNCTION</a>, <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5a00c2387a5af43d8e97639699ab7a5c7f">HALF3WIRE</a>, <a class="el" href="classAccelStepper.html#a73bdecf1273d98d8c5fbcb764cabeea5aecc0900c55b777d2e885581b8c434b07">HALF4WIRE</a>, <a class="el" href="classAccelStepper.html#aa2913db789e6fa05756579ff82fe6e7e">step0()</a>, <a class="el" href="classAccelStepper.html#a63ef416bc039da539294e84a41e7d7dc">step1()</a>, <a class="el" href="classAccelStepper.html#a674e48a6bf99e7ad1f013c1e4414565a">step2()</a>, <a class="el" href="classAccelStepper.html#ad73c61aade2e10243dfb02aefa7ab8fd">step3()</a>, <a class="el" href="classAccelStepper.html#a8910bd9218a54dfb7e2372a6d0bcca0c">step4()</a>, <a class="el" href="classAccelStepper.html#a4b0faf1ebc0c584ab606c0c0f66986b0">step6()</a>, and <a class="el" href="classAccelStepper.html#aa909c6c3fcd3ea4b3ee1aa8b4d0f7e87">step8()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classAccelStepper.html#aa4a6bdf99f698284faaeb5542b0b7514">runSpeed()</a>.</p> <p class="reference">Referenced by <a class="el" href="classAccelStepper.html#aa4a6bdf99f698284faaeb5542b0b7514">runSpeed()</a>, <a class="el" href="classAccelStepper.html#aa2913db789e6fa05756579ff82fe6e7e">step0()</a>, <a class="el" href="classAccelStepper.html#a63ef416bc039da539294e84a41e7d7dc">step1()</a>, <a class="el" href="classAccelStepper.html#a674e48a6bf99e7ad1f013c1e4414565a">step2()</a>, <a class="el" href="classAccelStepper.html#ad73c61aade2e10243dfb02aefa7ab8fd">step3()</a>, <a class="el" href="classAccelStepper.html#a8910bd9218a54dfb7e2372a6d0bcca0c">step4()</a>, <a class="el" href="classAccelStepper.html#a4b0faf1ebc0c584ab606c0c0f66986b0">step6()</a>, <a class="el" href="classAccelStepper.html#aa909c6c3fcd3ea4b3ee1aa8b4d0f7e87">step8()</a>, <a class="el" href="classAccelStepper.html#af8abc9ede47286fa33b518e0bf297c6a">stepBackward()</a>, and <a class="el" href="classAccelStepper.html#af4908b53e1821f0a6d2dab509257b3e6">stepForward()</a>.</p>
</div> </div>
</div> </div>
@ -1047,6 +1086,8 @@ Protected Attributes</h2></td></tr>
</dd> </dd>
</dl> </dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p> <p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p>
</div> </div>
@ -1081,7 +1122,7 @@ Protected Attributes</h2></td></tr>
</dd> </dd>
</dl> </dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a>, and <a class="el" href="classAccelStepper.html#af3c2516b6ce7c1ecbc2004107bb2a9ce">setOutputPins()</a>.</p> <p class="reference">References <a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">_direction</a>, <a class="el" href="classAccelStepper.html#af3c2516b6ce7c1ecbc2004107bb2a9ce">setOutputPins()</a>, and <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p> <p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p>
@ -1117,7 +1158,7 @@ Protected Attributes</h2></td></tr>
</dd> </dd>
</dl> </dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#af3c2516b6ce7c1ecbc2004107bb2a9ce">setOutputPins()</a>.</p> <p class="reference">References <a class="el" href="classAccelStepper.html#af3c2516b6ce7c1ecbc2004107bb2a9ce">setOutputPins()</a>, and <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p> <p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p>
@ -1153,7 +1194,7 @@ Protected Attributes</h2></td></tr>
</dd> </dd>
</dl> </dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#af3c2516b6ce7c1ecbc2004107bb2a9ce">setOutputPins()</a>.</p> <p class="reference">References <a class="el" href="classAccelStepper.html#af3c2516b6ce7c1ecbc2004107bb2a9ce">setOutputPins()</a>, and <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p> <p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p>
@ -1189,7 +1230,7 @@ Protected Attributes</h2></td></tr>
</dd> </dd>
</dl> </dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#af3c2516b6ce7c1ecbc2004107bb2a9ce">setOutputPins()</a>.</p> <p class="reference">References <a class="el" href="classAccelStepper.html#af3c2516b6ce7c1ecbc2004107bb2a9ce">setOutputPins()</a>, and <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p> <p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p>
@ -1225,7 +1266,7 @@ Protected Attributes</h2></td></tr>
</dd> </dd>
</dl> </dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#af3c2516b6ce7c1ecbc2004107bb2a9ce">setOutputPins()</a>.</p> <p class="reference">References <a class="el" href="classAccelStepper.html#af3c2516b6ce7c1ecbc2004107bb2a9ce">setOutputPins()</a>, and <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p> <p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p>
@ -1254,17 +1295,73 @@ Protected Attributes</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Called to execute a step on a 4 pin half-steper motor. Only called when a new step is required. Subclasses may override to implement new stepping interfaces. The default sets or clears the outputs of pin1, pin2, pin3, pin4. </p><dl class="params"><dt>Parameters</dt><dd> <p>Called to execute a step on a 4 pin half-stepper motor. Only called when a new step is required. Subclasses may override to implement new stepping interfaces. The default sets or clears the outputs of pin1, pin2, pin3, pin4. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params"> <table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">step</td><td>The current step phase number (0 to 7) </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">step</td><td>The current step phase number (0 to 7) </td></tr>
</table> </table>
</dd> </dd>
</dl> </dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#af3c2516b6ce7c1ecbc2004107bb2a9ce">setOutputPins()</a>.</p> <p class="reference">References <a class="el" href="classAccelStepper.html#af3c2516b6ce7c1ecbc2004107bb2a9ce">setOutputPins()</a>, and <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p>
<p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p> <p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p>
</div>
</div>
<a id="af8abc9ede47286fa33b518e0bf297c6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8abc9ede47286fa33b518e0bf297c6a">&#9670;&nbsp;</a></span>stepBackward()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">long AccelStepper::stepBackward </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Called to execute a counter-clockwise(-) step. Only called when a new step is required. This decrements the _currentPos and calls <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a> </p><dl class="section return"><dt>Returns</dt><dd>the updated current position </dd></dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p>
</div>
</div>
<a id="af4908b53e1821f0a6d2dab509257b3e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4908b53e1821f0a6d2dab509257b3e6">&#9670;&nbsp;</a></span>stepForward()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">long AccelStepper::stepForward </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Called to execute a clockwise(+) step. Only called when a new step is required. This increments the _currentPos and calls <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a> </p><dl class="section return"><dt>Returns</dt><dd>the updated current position </dd></dl>
<p class="reference">References <a class="el" href="classAccelStepper.html#a8a419121702399d8ac66df4cc47481f4">step()</a>.</p>
</div> </div>
</div> </div>
<a id="a638817b85aed9d5cd15c76a76c00aced"></a> <a id="a638817b85aed9d5cd15c76a76c00aced"></a>
@ -1327,7 +1424,32 @@ Protected Attributes</h2></td></tr>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Current direction motor is spinning in Protected because some peoples subclasses need it to be so </p> <p>Current direction motor is spinning in Protected because some peoples subclasses need it to be so </p>
<p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a3bc75bd6571b98a6177838ca81ac39ab">AccelStepper()</a>, <a class="el" href="classAccelStepper.html#affbee789b5c19165846cf0409860ae79">computeNewSpeed()</a>, <a class="el" href="classAccelStepper.html#aa4a6bdf99f698284faaeb5542b0b7514">runSpeed()</a>, <a class="el" href="classAccelStepper.html#a9270d20336e76ac1fd5bcd5b9c34f301">runSpeedToPosition()</a>, <a class="el" href="classAccelStepper.html#ae79c49ad69d5ccc9da0ee691fa4ca235">setSpeed()</a>, and <a class="el" href="classAccelStepper.html#a63ef416bc039da539294e84a41e7d7dc">step1()</a>.</p> <p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a3bc75bd6571b98a6177838ca81ac39ab">AccelStepper()</a>, <a class="el" href="classAccelStepper.html#aab5944f43f869675958939c421bd9a01">computeNewSpeed()</a>, <a class="el" href="classAccelStepper.html#aa4a6bdf99f698284faaeb5542b0b7514">runSpeed()</a>, <a class="el" href="classAccelStepper.html#a9270d20336e76ac1fd5bcd5b9c34f301">runSpeedToPosition()</a>, <a class="el" href="classAccelStepper.html#ae79c49ad69d5ccc9da0ee691fa4ca235">setSpeed()</a>, and <a class="el" href="classAccelStepper.html#a63ef416bc039da539294e84a41e7d7dc">step1()</a>.</p>
</div>
</div>
<a id="a744fa74c2e181e75509a34b17c02e984"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a744fa74c2e181e75509a34b17c02e984">&#9670;&nbsp;</a></span>_stepInterval</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned long AccelStepper::_stepInterval</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The current interval between steps in microseconds. 0 means the motor is currently stopped with _speed == 0 </p>
<p class="reference">Referenced by <a class="el" href="classAccelStepper.html#a3bc75bd6571b98a6177838ca81ac39ab">AccelStepper()</a>, <a class="el" href="classAccelStepper.html#aab5944f43f869675958939c421bd9a01">computeNewSpeed()</a>, <a class="el" href="classAccelStepper.html#aa4a6bdf99f698284faaeb5542b0b7514">runSpeed()</a>, <a class="el" href="classAccelStepper.html#a9d917f014317fb9d3b5dc14e66f6c689">setCurrentPosition()</a>, and <a class="el" href="classAccelStepper.html#ae79c49ad69d5ccc9da0ee691fa4ca235">setSpeed()</a>.</p>
</div> </div>
</div> </div>
@ -1338,9 +1460,7 @@ Protected Attributes</h2></td></tr>
</div><!-- contents --> </div><!-- contents -->
<!-- start footer part --> <!-- start footer part -->
<hr class="footer"/><address class="footer"><small> <hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html"> Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address> </small></address>
</body> </body>
</html> </html>

View File

@ -1,4 +1,4 @@
/* The standard CSS for doxygen 1.8.13 */ /* The standard CSS for doxygen 1.9.1 */
body, table, div, p, dl { body, table, div, p, dl {
font: 400 14px/22px Roboto,sans-serif; font: 400 14px/22px Roboto,sans-serif;
@ -53,17 +53,24 @@ dt {
font-weight: bold; font-weight: bold;
} }
div.multicol { ul.multicol {
-moz-column-gap: 1em; -moz-column-gap: 1em;
-webkit-column-gap: 1em; -webkit-column-gap: 1em;
column-gap: 1em;
-moz-column-count: 3; -moz-column-count: 3;
-webkit-column-count: 3; -webkit-column-count: 3;
column-count: 3;
} }
p.startli, p.startdd { p.startli, p.startdd {
margin-top: 2px; margin-top: 2px;
} }
th p.starttd, th p.intertd, th p.endtd {
font-size: 100%;
font-weight: 700;
}
p.starttd { p.starttd {
margin-top: 0px; margin-top: 0px;
} }
@ -80,6 +87,15 @@ p.endtd {
margin-bottom: 2px; margin-bottom: 2px;
} }
p.interli {
}
p.interdd {
}
p.intertd {
}
/* @end */ /* @end */
caption { caption {
@ -96,21 +112,87 @@ h3.version {
text-align: center; text-align: center;
} }
div.qindex, div.navtab{ div.navtab {
background-color: #EBEFF6; border-right: 1px solid #A3B4D7;
border: 1px solid #A3B4D7; padding-right: 15px;
text-align: center; text-align: right;
line-height: 110%;
} }
div.qindex, div.navpath { div.navtab table {
border-spacing: 0;
}
td.navtab {
padding-right: 6px;
padding-left: 6px;
}
td.navtabHL {
background-image: url('tab_a.png');
background-repeat:repeat-x;
padding-right: 6px;
padding-left: 6px;
}
td.navtabHL a, td.navtabHL a:visited {
color: #fff;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
}
a.navtab {
font-weight: bold;
}
div.qindex{
text-align: center;
width: 100%; width: 100%;
line-height: 140%; line-height: 140%;
font-size: 130%;
color: #A0A0A0;
} }
div.navtab { dt.alphachar{
margin-right: 15px; font-size: 180%;
font-weight: bold;
} }
.alphachar a{
color: black;
}
.alphachar a:hover, .alphachar a:visited{
text-decoration: none;
}
.classindex dl {
padding: 25px;
column-count:1
}
.classindex dd {
display:inline-block;
margin-left: 50px;
width: 90%;
line-height: 1.15em;
}
.classindex dl.odd {
background-color: #F8F9FC;
}
@media(min-width: 1120px) {
.classindex dl {
column-count:2
}
}
@media(min-width: 1320px) {
.classindex dl {
column-count:3
}
}
/* @group Link Styling */ /* @group Link Styling */
a { a {
@ -127,19 +209,8 @@ a:hover {
text-decoration: underline; text-decoration: underline;
} }
a.qindex {
font-weight: bold;
}
a.qindexHL {
font-weight: bold;
background-color: #9CAFD4;
color: #ffffff;
border: 1px double #869DCA;
}
.contents a.qindexHL:visited { .contents a.qindexHL:visited {
color: #ffffff; color: #FFFFFF;
} }
a.el { a.el {
@ -163,6 +234,25 @@ dl.el {
margin-left: -1cm; margin-left: -1cm;
} }
ul {
overflow: hidden; /*Fixed: list item bullets overlap floating elements*/
}
#side-nav ul {
overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
}
#main-nav ul {
overflow: visible; /* reset ul rule for the navigation bar drop down lists */
}
.fragment {
text-align: left;
direction: ltr;
overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/
overflow-y: hidden;
}
pre.fragment { pre.fragment {
border: 1px solid #C4CFE5; border: 1px solid #C4CFE5;
background-color: #FBFCFD; background-color: #FBFCFD;
@ -177,7 +267,7 @@ pre.fragment {
} }
div.fragment { div.fragment {
padding: 0px; padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/
margin: 4px 8px 4px 2px; margin: 4px 8px 4px 2px;
background-color: #FBFCFD; background-color: #FBFCFD;
border: 1px solid #C4CFE5; border: 1px solid #C4CFE5;
@ -248,7 +338,7 @@ span.lineno a:hover {
div.ah, span.ah { div.ah, span.ah {
background-color: black; background-color: black;
font-weight: bold; font-weight: bold;
color: #ffffff; color: #FFFFFF;
margin-bottom: 3px; margin-bottom: 3px;
margin-top: 3px; margin-top: 3px;
padding: 0.2em; padding: 0.2em;
@ -324,7 +414,7 @@ img.formulaDsp {
} }
img.formulaInl { img.formulaInl, img.inline {
vertical-align: middle; vertical-align: middle;
} }
@ -402,6 +492,13 @@ blockquote {
padding: 0 12px 0 16px; padding: 0 12px 0 16px;
} }
blockquote.DocNodeRTL {
border-left: 0;
border-right: 2px solid #9CAFD4;
margin: 0 4px 0 24px;
padding: 0 16px 0 12px;
}
/* @end */ /* @end */
/* /*
@ -498,7 +595,7 @@ table.memberdecls {
white-space: nowrap; white-space: nowrap;
} }
.memItemRight { .memItemRight, .memTemplItemRight {
width: 100%; width: 100%;
} }
@ -666,17 +763,17 @@ dl.reflist dd {
padding-left: 0px; padding-left: 0px;
} }
.params .paramname, .retval .paramname { .params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname {
font-weight: bold; font-weight: bold;
vertical-align: top; vertical-align: top;
} }
.params .paramtype { .params .paramtype, .tparams .paramtype {
font-style: italic; font-style: italic;
vertical-align: top; vertical-align: top;
} }
.params .paramdir { .params .paramdir, .tparams .paramdir {
font-family: "courier new",courier,monospace; font-family: "courier new",courier,monospace;
vertical-align: top; vertical-align: top;
} }
@ -1081,74 +1178,145 @@ div.headertitle
padding: 5px 5px 5px 10px; padding: 5px 5px 5px 10px;
} }
dl .PageDocRTL-title div.headertitle {
{ text-align: right;
padding: 0 0 0 10px; direction: rtl;
} }
/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ dl {
dl.section padding: 0 0 0 0;
{ }
/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */
dl.section {
margin-left: 0px; margin-left: 0px;
padding-left: 0px; padding-left: 0px;
} }
dl.note dl.section.DocNodeRTL {
{ margin-right: 0px;
padding-right: 0px;
}
dl.note {
margin-left: -7px; margin-left: -7px;
padding-left: 3px; padding-left: 3px;
border-left: 4px solid; border-left: 4px solid;
border-color: #D0C000; border-color: #D0C000;
} }
dl.warning, dl.attention dl.note.DocNodeRTL {
{ margin-left: 0;
padding-left: 0;
border-left: 0;
margin-right: -7px;
padding-right: 3px;
border-right: 4px solid;
border-color: #D0C000;
}
dl.warning, dl.attention {
margin-left: -7px; margin-left: -7px;
padding-left: 3px; padding-left: 3px;
border-left: 4px solid; border-left: 4px solid;
border-color: #FF0000; border-color: #FF0000;
} }
dl.pre, dl.post, dl.invariant dl.warning.DocNodeRTL, dl.attention.DocNodeRTL {
{ margin-left: 0;
padding-left: 0;
border-left: 0;
margin-right: -7px;
padding-right: 3px;
border-right: 4px solid;
border-color: #FF0000;
}
dl.pre, dl.post, dl.invariant {
margin-left: -7px; margin-left: -7px;
padding-left: 3px; padding-left: 3px;
border-left: 4px solid; border-left: 4px solid;
border-color: #00D000; border-color: #00D000;
} }
dl.deprecated dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL {
{ margin-left: 0;
padding-left: 0;
border-left: 0;
margin-right: -7px;
padding-right: 3px;
border-right: 4px solid;
border-color: #00D000;
}
dl.deprecated {
margin-left: -7px; margin-left: -7px;
padding-left: 3px; padding-left: 3px;
border-left: 4px solid; border-left: 4px solid;
border-color: #505050; border-color: #505050;
} }
dl.todo dl.deprecated.DocNodeRTL {
{ margin-left: 0;
padding-left: 0;
border-left: 0;
margin-right: -7px;
padding-right: 3px;
border-right: 4px solid;
border-color: #505050;
}
dl.todo {
margin-left: -7px; margin-left: -7px;
padding-left: 3px; padding-left: 3px;
border-left: 4px solid; border-left: 4px solid;
border-color: #00C0E0; border-color: #00C0E0;
} }
dl.test dl.todo.DocNodeRTL {
{ margin-left: 0;
padding-left: 0;
border-left: 0;
margin-right: -7px;
padding-right: 3px;
border-right: 4px solid;
border-color: #00C0E0;
}
dl.test {
margin-left: -7px; margin-left: -7px;
padding-left: 3px; padding-left: 3px;
border-left: 4px solid; border-left: 4px solid;
border-color: #3030E0; border-color: #3030E0;
} }
dl.bug dl.test.DocNodeRTL {
{ margin-left: 0;
padding-left: 0;
border-left: 0;
margin-right: -7px;
padding-right: 3px;
border-right: 4px solid;
border-color: #3030E0;
}
dl.bug {
margin-left: -7px; margin-left: -7px;
padding-left: 3px; padding-left: 3px;
border-left: 4px solid; border-left: 4px solid;
border-color: #C08050; border-color: #C08050;
} }
dl.bug.DocNodeRTL {
margin-left: 0;
padding-left: 0;
border-left: 0;
margin-right: -7px;
padding-right: 3px;
border-right: 4px solid;
border-color: #C08050;
}
dl.section dd { dl.section dd {
margin-bottom: 6px; margin-bottom: 6px;
} }
@ -1245,10 +1413,12 @@ dl.citelist dt {
font-weight:bold; font-weight:bold;
margin-right:10px; margin-right:10px;
padding:5px; padding:5px;
text-align:right;
width:52px;
} }
dl.citelist dd { dl.citelist dd {
margin:2px 0; margin:2px 0 2px 72px;
padding:5px 0; padding:5px 0;
} }
@ -1263,6 +1433,11 @@ div.toc {
width: 200px; width: 200px;
} }
.PageDocRTL-title div.toc {
float: left !important;
text-align: right;
}
div.toc li { div.toc li {
background: url("bdwn.png") no-repeat scroll 0 5px transparent; background: url("bdwn.png") no-repeat scroll 0 5px transparent;
font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
@ -1271,6 +1446,12 @@ div.toc li {
padding-top: 2px; padding-top: 2px;
} }
.PageDocRTL-title div.toc li {
background-position-x: right !important;
padding-left: 0 !important;
padding-right: 10px;
}
div.toc h3 { div.toc h3 {
font: bold 12px/1.2 Arial,FreeSans,sans-serif; font: bold 12px/1.2 Arial,FreeSans,sans-serif;
color: #4665A2; color: #4665A2;
@ -1300,6 +1481,32 @@ div.toc li.level4 {
margin-left: 45px; margin-left: 45px;
} }
span.emoji {
/* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html
* font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort;
*/
}
.PageDocRTL-title div.toc li.level1 {
margin-left: 0 !important;
margin-right: 0;
}
.PageDocRTL-title div.toc li.level2 {
margin-left: 0 !important;
margin-right: 15px;
}
.PageDocRTL-title div.toc li.level3 {
margin-left: 0 !important;
margin-right: 30px;
}
.PageDocRTL-title div.toc li.level4 {
margin-left: 0 !important;
margin-right: 45px;
}
.inherit_header { .inherit_header {
font-weight: bold; font-weight: bold;
color: gray; color: gray;
@ -1413,7 +1620,7 @@ tr.heading h2 {
} }
#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
border-top-color: #ffffff; border-top-color: #FFFFFF;
border-width: 10px; border-width: 10px;
margin: 0px -10px; margin: 0px -10px;
} }
@ -1441,7 +1648,7 @@ tr.heading h2 {
} }
#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
border-bottom-color: #ffffff; border-bottom-color: #FFFFFF;
border-width: 10px; border-width: 10px;
margin: 0px -10px; margin: 0px -10px;
} }
@ -1468,7 +1675,7 @@ tr.heading h2 {
left: 100%; left: 100%;
} }
#powerTip.e:after { #powerTip.e:after {
border-left-color: #ffffff; border-left-color: #FFFFFF;
border-width: 10px; border-width: 10px;
top: 50%; top: 50%;
margin-top: -10px; margin-top: -10px;
@ -1484,7 +1691,7 @@ tr.heading h2 {
right: 100%; right: 100%;
} }
#powerTip.w:after { #powerTip.w:after {
border-right-color: #ffffff; border-right-color: #FFFFFF;
border-width: 10px; border-width: 10px;
top: 50%; top: 50%;
margin-top: -10px; margin-top: -10px;
@ -1517,47 +1724,6 @@ tr.heading h2 {
/* @group Markdown */ /* @group Markdown */
/*
table.markdownTable {
border-collapse:collapse;
margin-top: 4px;
margin-bottom: 4px;
}
table.markdownTable td, table.markdownTable th {
border: 1px solid #2D4068;
padding: 3px 7px 2px;
}
table.markdownTableHead tr {
}
table.markdownTableBodyLeft td, table.markdownTable th {
border: 1px solid #2D4068;
padding: 3px 7px 2px;
}
th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone {
background-color: #374F7F;
color: #FFFFFF;
font-size: 110%;
padding-bottom: 4px;
padding-top: 5px;
}
th.markdownTableHeadLeft {
text-align: left
}
th.markdownTableHeadRight {
text-align: right
}
th.markdownTableHeadCenter {
text-align: center
}
*/
table.markdownTable { table.markdownTable {
border-collapse:collapse; border-collapse:collapse;
margin-top: 4px; margin-top: 4px;
@ -1592,5 +1758,36 @@ th.markdownTableHeadCenter, td.markdownTableBodyCenter {
text-align: center text-align: center
} }
.DocNodeRTL {
text-align: right;
direction: rtl;
}
.DocNodeLTR {
text-align: left;
direction: ltr;
}
table.DocNodeRTL {
width: auto;
margin-right: 0;
margin-left: auto;
}
table.DocNodeLTR {
width: auto;
margin-right: auto;
margin-left: 0;
}
tt, code, kbd, samp
{
display: inline-block;
direction:ltr;
}
/* @end */ /* @end */
u {
text-decoration: underline;
}

View File

@ -1,9 +1,9 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/> <meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AccelStepper: File List</title> <title>AccelStepper: File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="tabs.css" rel="stylesheet" type="text/css"/>
@ -26,14 +26,15 @@
</table> </table>
</div> </div>
<!-- end header part --> <!-- end header part -->
<!-- Generated by Doxygen 1.8.13 --> <!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script> <script type="text/javascript" src="menu.js"></script>
<script type="text/javascript"> <script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() { $(function() {
initMenu('',false,false,'search.php','Search'); initMenu('',false,false,'search.php','Search');
}); });
</script> /* @license-end */</script>
<div id="main-nav"></div> <div id="main-nav"></div>
</div><!-- top --> </div><!-- top -->
<div class="header"> <div class="header">
@ -50,9 +51,7 @@ $(function() {
</div><!-- contents --> </div><!-- contents -->
<!-- start footer part --> <!-- start footer part -->
<hr class="footer"/><address class="footer"><small> <hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html"> Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address> </small></address>
</body> </body>
</html> </html>

View File

@ -1,9 +1,9 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/> <meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AccelStepper: Class Members</title> <title>AccelStepper: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="tabs.css" rel="stylesheet" type="text/css"/>
@ -26,27 +26,34 @@
</table> </table>
</div> </div>
<!-- end header part --> <!-- end header part -->
<!-- Generated by Doxygen 1.8.13 --> <!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script> <script type="text/javascript" src="menu.js"></script>
<script type="text/javascript"> <script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() { $(function() {
initMenu('',false,false,'search.php','Search'); initMenu('',false,false,'search.php','Search');
}); });
</script> /* @license-end */</script>
<div id="main-nav"></div> <div id="main-nav"></div>
</div><!-- top --> </div><!-- top -->
<div class="contents"> <div class="contents">
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div> <div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
<h3><a id="index__"></a>- _ -</h3><ul> <h3><a id="index__5F"></a>- _ -</h3><ul>
<li>_direction <li>_direction
: <a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">AccelStepper</a> : <a class="el" href="classAccelStepper.html#a35162cdf8ed9a98f98984c177d5ade58">AccelStepper</a>
</li> </li>
<li>_stepInterval
: <a class="el" href="classAccelStepper.html#a744fa74c2e181e75509a34b17c02e984">AccelStepper</a>
</li>
</ul> </ul>
<h3><a id="index_a"></a>- a -</h3><ul> <h3><a id="index_a"></a>- a -</h3><ul>
<li>acceleration()
: <a class="el" href="classAccelStepper.html#a8b76f1ae6a49d2c2887b9fea30b8d84f">AccelStepper</a>
</li>
<li>AccelStepper() <li>AccelStepper()
: <a class="el" href="classAccelStepper.html#a3bc75bd6571b98a6177838ca81ac39ab">AccelStepper</a> : <a class="el" href="classAccelStepper.html#a3bc75bd6571b98a6177838ca81ac39ab">AccelStepper</a>
</li> </li>
@ -58,7 +65,7 @@ $(function() {
<h3><a id="index_c"></a>- c -</h3><ul> <h3><a id="index_c"></a>- c -</h3><ul>
<li>computeNewSpeed() <li>computeNewSpeed()
: <a class="el" href="classAccelStepper.html#affbee789b5c19165846cf0409860ae79">AccelStepper</a> : <a class="el" href="classAccelStepper.html#aab5944f43f869675958939c421bd9a01">AccelStepper</a>
</li> </li>
<li>currentPosition() <li>currentPosition()
: <a class="el" href="classAccelStepper.html#a5dce13ab2a1b02b8f443318886bf6fc5">AccelStepper</a> : <a class="el" href="classAccelStepper.html#a5dce13ab2a1b02b8f443318886bf6fc5">AccelStepper</a>
@ -221,6 +228,12 @@ $(function() {
<li>step8() <li>step8()
: <a class="el" href="classAccelStepper.html#aa909c6c3fcd3ea4b3ee1aa8b4d0f7e87">AccelStepper</a> : <a class="el" href="classAccelStepper.html#aa909c6c3fcd3ea4b3ee1aa8b4d0f7e87">AccelStepper</a>
</li> </li>
<li>stepBackward()
: <a class="el" href="classAccelStepper.html#af8abc9ede47286fa33b518e0bf297c6a">AccelStepper</a>
</li>
<li>stepForward()
: <a class="el" href="classAccelStepper.html#af4908b53e1821f0a6d2dab509257b3e6">AccelStepper</a>
</li>
<li>stop() <li>stop()
: <a class="el" href="classAccelStepper.html#a638817b85aed9d5cd15c76a76c00aced">AccelStepper</a> : <a class="el" href="classAccelStepper.html#a638817b85aed9d5cd15c76a76c00aced">AccelStepper</a>
</li> </li>
@ -232,12 +245,17 @@ $(function() {
: <a class="el" href="classAccelStepper.html#a96685e0945b7cf75d5959da679cd911e">AccelStepper</a> : <a class="el" href="classAccelStepper.html#a96685e0945b7cf75d5959da679cd911e">AccelStepper</a>
</li> </li>
</ul> </ul>
<h3><a id="index__7E"></a>- ~ -</h3><ul>
<li>~AccelStepper()
: <a class="el" href="classAccelStepper.html#a89c4c8de0c983e7a59de6a959481aff1">AccelStepper</a>
</li>
</ul>
</div><!-- contents --> </div><!-- contents -->
<!-- start footer part --> <!-- start footer part -->
<hr class="footer"/><address class="footer"><small> <hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html"> Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address> </small></address>
</body> </body>
</html> </html>

View File

@ -1,9 +1,9 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/> <meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AccelStepper: Class Members - Functions</title> <title>AccelStepper: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="tabs.css" rel="stylesheet" type="text/css"/>
@ -26,20 +26,24 @@
</table> </table>
</div> </div>
<!-- end header part --> <!-- end header part -->
<!-- Generated by Doxygen 1.8.13 --> <!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script> <script type="text/javascript" src="menu.js"></script>
<script type="text/javascript"> <script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() { $(function() {
initMenu('',false,false,'search.php','Search'); initMenu('',false,false,'search.php','Search');
}); });
</script> /* @license-end */</script>
<div id="main-nav"></div> <div id="main-nav"></div>
</div><!-- top --> </div><!-- top -->
<div class="contents"> <div class="contents">
&#160; &#160;
<h3><a id="index_a"></a>- a -</h3><ul> <h3><a id="index_a"></a>- a -</h3><ul>
<li>acceleration()
: <a class="el" href="classAccelStepper.html#a8b76f1ae6a49d2c2887b9fea30b8d84f">AccelStepper</a>
</li>
<li>AccelStepper() <li>AccelStepper()
: <a class="el" href="classAccelStepper.html#a3bc75bd6571b98a6177838ca81ac39ab">AccelStepper</a> : <a class="el" href="classAccelStepper.html#a3bc75bd6571b98a6177838ca81ac39ab">AccelStepper</a>
</li> </li>
@ -51,7 +55,7 @@ $(function() {
<h3><a id="index_c"></a>- c -</h3><ul> <h3><a id="index_c"></a>- c -</h3><ul>
<li>computeNewSpeed() <li>computeNewSpeed()
: <a class="el" href="classAccelStepper.html#affbee789b5c19165846cf0409860ae79">AccelStepper</a> : <a class="el" href="classAccelStepper.html#aab5944f43f869675958939c421bd9a01">AccelStepper</a>
</li> </li>
<li>currentPosition() <li>currentPosition()
: <a class="el" href="classAccelStepper.html#a5dce13ab2a1b02b8f443318886bf6fc5">AccelStepper</a> : <a class="el" href="classAccelStepper.html#a5dce13ab2a1b02b8f443318886bf6fc5">AccelStepper</a>
@ -141,7 +145,7 @@ $(function() {
: <a class="el" href="classAccelStepper.html#af3c2516b6ce7c1ecbc2004107bb2a9ce">AccelStepper</a> : <a class="el" href="classAccelStepper.html#af3c2516b6ce7c1ecbc2004107bb2a9ce">AccelStepper</a>
</li> </li>
<li>setPinsInverted() <li>setPinsInverted()
: <a class="el" href="classAccelStepper.html#a38298ac2dd852fb22259f6c4bbe08c94">AccelStepper</a> : <a class="el" href="classAccelStepper.html#ac62cae590c2f9c303519a3a1c4adc8ab">AccelStepper</a>
</li> </li>
<li>setSpeed() <li>setSpeed()
: <a class="el" href="classAccelStepper.html#ae79c49ad69d5ccc9da0ee691fa4ca235">AccelStepper</a> : <a class="el" href="classAccelStepper.html#ae79c49ad69d5ccc9da0ee691fa4ca235">AccelStepper</a>
@ -173,6 +177,12 @@ $(function() {
<li>step8() <li>step8()
: <a class="el" href="classAccelStepper.html#aa909c6c3fcd3ea4b3ee1aa8b4d0f7e87">AccelStepper</a> : <a class="el" href="classAccelStepper.html#aa909c6c3fcd3ea4b3ee1aa8b4d0f7e87">AccelStepper</a>
</li> </li>
<li>stepBackward()
: <a class="el" href="classAccelStepper.html#af8abc9ede47286fa33b518e0bf297c6a">AccelStepper</a>
</li>
<li>stepForward()
: <a class="el" href="classAccelStepper.html#af4908b53e1821f0a6d2dab509257b3e6">AccelStepper</a>
</li>
<li>stop() <li>stop()
: <a class="el" href="classAccelStepper.html#a638817b85aed9d5cd15c76a76c00aced">AccelStepper</a> : <a class="el" href="classAccelStepper.html#a638817b85aed9d5cd15c76a76c00aced">AccelStepper</a>
</li> </li>
@ -184,12 +194,17 @@ $(function() {
: <a class="el" href="classAccelStepper.html#a96685e0945b7cf75d5959da679cd911e">AccelStepper</a> : <a class="el" href="classAccelStepper.html#a96685e0945b7cf75d5959da679cd911e">AccelStepper</a>
</li> </li>
</ul> </ul>
<h3><a id="index__7E"></a>- ~ -</h3><ul>
<li>~AccelStepper()
: <a class="el" href="classAccelStepper.html#a89c4c8de0c983e7a59de6a959481aff1">AccelStepper</a>
</li>
</ul>
</div><!-- contents --> </div><!-- contents -->
<!-- start footer part --> <!-- start footer part -->
<hr class="footer"/><address class="footer"><small> <hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html"> Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address> </small></address>
</body> </body>
</html> </html>

View File

@ -1,9 +1,9 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/> <meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AccelStepper: AccelStepper library for Arduino</title> <title>AccelStepper: AccelStepper library for Arduino</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="tabs.css" rel="stylesheet" type="text/css"/>
@ -26,17 +26,18 @@
</table> </table>
</div> </div>
<!-- end header part --> <!-- end header part -->
<!-- Generated by Doxygen 1.8.13 --> <!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script> <script type="text/javascript" src="menu.js"></script>
<script type="text/javascript"> <script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() { $(function() {
initMenu('',false,false,'search.php','Search'); initMenu('',false,false,'search.php','Search');
}); });
</script> /* @license-end */</script>
<div id="main-nav"></div> <div id="main-nav"></div>
</div><!-- top --> </div><!-- top -->
<div class="header"> <div class="PageDoc"><div class="header">
<div class="headertitle"> <div class="headertitle">
<div class="title"><a class="el" href="classAccelStepper.html" title="Support for stepper motors with acceleration etc.">AccelStepper</a> library for Arduino </div> </div> <div class="title"><a class="el" href="classAccelStepper.html" title="Support for stepper motors with acceleration etc.">AccelStepper</a> library for Arduino </div> </div>
</div><!--header--> </div><!--header-->
@ -54,13 +55,17 @@ $(function() {
<li>Extensive API </li> <li>Extensive API </li>
<li>Subclass support</li> <li>Subclass support</li>
</ul> </ul>
<p>The latest version of this documentation can be downloaded from <a href="http://www.airspayce.com/mikem/arduino/AccelStepper">http://www.airspayce.com/mikem/arduino/AccelStepper</a> The version of the package that this documentation refers to can be downloaded from <a href="http://www.airspayce.com/mikem/arduino/AccelStepper/AccelStepper-1.61.zip">http://www.airspayce.com/mikem/arduino/AccelStepper/AccelStepper-1.61.zip</a></p> <p>The latest version of this documentation can be downloaded from <a href="http://www.airspayce.com/mikem/arduino/AccelStepper">http://www.airspayce.com/mikem/arduino/AccelStepper</a> The version of the package that this documentation refers to can be downloaded from <a href="http://www.airspayce.com/mikem/arduino/AccelStepper/AccelStepper-1.64.zip">http://www.airspayce.com/mikem/arduino/AccelStepper/AccelStepper-1.64.zip</a></p>
<p>Example Arduino programs are included to show the main modes of use.</p> <p>Example Arduino programs are included to show the main modes of use.</p>
<p>You can also find online help and discussion at <a href="http://groups.google.com/group/accelstepper">http://groups.google.com/group/accelstepper</a> Please use that group for all questions and discussions on this topic. Do not contact the author directly, unless it is to discuss commercial licensing. Before asking a question or reporting a bug, please read</p><ul> <p>You can also find online help and discussion at <a href="http://groups.google.com/group/accelstepper">http://groups.google.com/group/accelstepper</a> Please use that group for all questions and discussions on this topic. Do not contact the author directly, unless it is to discuss commercial licensing. Before asking a question or reporting a bug, please read</p><ul>
<li><a href="http://en.wikipedia.org/wiki/Wikipedia:Reference_desk/How_to_ask_a_software_question">http://en.wikipedia.org/wiki/Wikipedia:Reference_desk/How_to_ask_a_software_question</a></li> <li><a href="http://en.wikipedia.org/wiki/Wikipedia:Reference_desk/How_to_ask_a_software_question">http://en.wikipedia.org/wiki/Wikipedia:Reference_desk/How_to_ask_a_software_question</a></li>
<li><a href="http://www.catb.org/esr/faqs/smart-questions.html">http://www.catb.org/esr/faqs/smart-questions.html</a></li> <li><a href="http://www.catb.org/esr/faqs/smart-questions.html">http://www.catb.org/esr/faqs/smart-questions.html</a></li>
<li><a href="http://www.chiark.greenend.org.uk/~shgtatham/bugs.html">http://www.chiark.greenend.org.uk/~shgtatham/bugs.html</a></li> <li><a href="http://www.chiark.greenend.org.uk/~shgtatham/bugs.html">http://www.chiark.greenend.org.uk/~shgtatham/bugs.html</a></li>
</ul> </ul>
<p>Beginners to C++ and stepper motors in general may find this helpful:</p><ul>
<li><a href="https://hackaday.io/project/183279-accelstepper-the-missing-manual">https://hackaday.io/project/183279-accelstepper-the-missing-manual</a></li>
<li><a href="https://hackaday.io/project/183713-using-the-arduino-accelstepper-library">https://hackaday.io/project/183713-using-the-arduino-accelstepper-library</a></li>
</ul>
<p>Tested on Arduino Diecimila and Mega with arduino-0018 &amp; arduino-0021 on OpenSuSE 11.1 and avr-libc-1.6.1-1.15, cross-avr-binutils-2.19-9.1, cross-avr-gcc-4.1.3_20080612-26.5. Tested on Teensy <a href="http://www.pjrc.com/teensy">http://www.pjrc.com/teensy</a> including Teensy 3.1 built using Arduino IDE 1.0.5 with teensyduino addon 1.18 and later.</p> <p>Tested on Arduino Diecimila and Mega with arduino-0018 &amp; arduino-0021 on OpenSuSE 11.1 and avr-libc-1.6.1-1.15, cross-avr-binutils-2.19-9.1, cross-avr-gcc-4.1.3_20080612-26.5. Tested on Teensy <a href="http://www.pjrc.com/teensy">http://www.pjrc.com/teensy</a> including Teensy 3.1 built using Arduino IDE 1.0.5 with teensyduino addon 1.18 and later.</p>
<dl class="section user"><dt>Installation</dt><dd></dd></dl> <dl class="section user"><dt>Installation</dt><dd></dd></dl>
<p>Install in the usual way: unzip the distribution zip file to the libraries sub-folder of your sketchbook.</p> <p>Install in the usual way: unzip the distribution zip file to the libraries sub-folder of your sketchbook.</p>
@ -74,7 +79,7 @@ $(function() {
<dl class="section user"><dt>Trademarks</dt><dd></dd></dl> <dl class="section user"><dt>Trademarks</dt><dd></dd></dl>
<p><a class="el" href="classAccelStepper.html" title="Support for stepper motors with acceleration etc.">AccelStepper</a> is a trademark of AirSpayce Pty Ltd. The <a class="el" href="classAccelStepper.html" title="Support for stepper motors with acceleration etc.">AccelStepper</a> mark was first used on April 26 2010 for international trade, and is used only in relation to motor control hardware and software. It is not to be confused with any other similar marks covering other goods and services.</p> <p><a class="el" href="classAccelStepper.html" title="Support for stepper motors with acceleration etc.">AccelStepper</a> is a trademark of AirSpayce Pty Ltd. The <a class="el" href="classAccelStepper.html" title="Support for stepper motors with acceleration etc.">AccelStepper</a> mark was first used on April 26 2010 for international trade, and is used only in relation to motor control hardware and software. It is not to be confused with any other similar marks covering other goods and services.</p>
<dl class="section user"><dt>Copyright</dt><dd></dd></dl> <dl class="section user"><dt>Copyright</dt><dd></dd></dl>
<p>This software is Copyright (C) 2010-2018 Mike McCauley. Use is subject to license conditions. The main licensing options available are GPL V3 or Commercial:</p> <p>This software is Copyright (C) 2010-2021 Mike McCauley. Use is subject to license conditions. The main licensing options available are GPL V3 or Commercial:</p>
<dl class="section user"><dt>Open Source Licensing GPL V3</dt><dd>This is the appropriate option if you want to share the source code of your application with everyone you distribute it to, and you also want to give them the right to share who uses it. If you wish to use this software under Open Source Licensing, you must contribute all your source code to the open source community in accordance with the GPL Version 23 when your application is distributed. See <a href="https://www.gnu.org/licenses/gpl-3.0.html">https://www.gnu.org/licenses/gpl-3.0.html</a></dd></dl> <dl class="section user"><dt>Open Source Licensing GPL V3</dt><dd>This is the appropriate option if you want to share the source code of your application with everyone you distribute it to, and you also want to give them the right to share who uses it. If you wish to use this software under Open Source Licensing, you must contribute all your source code to the open source community in accordance with the GPL Version 23 when your application is distributed. See <a href="https://www.gnu.org/licenses/gpl-3.0.html">https://www.gnu.org/licenses/gpl-3.0.html</a></dd></dl>
<dl class="section user"><dt>Commercial Licensing</dt><dd>This is the appropriate option if you are creating proprietary applications and you are not prepared to distribute and share the source code of your application. To purchase a commercial license, contact <a href="#" onclick="location.href='mai'+'lto:'+'inf'+'o@'+'air'+'sp'+'ayc'+'e.'+'com'; return false;">info@<span style="display: none;">.nosp@m.</span>airs<span style="display: none;">.nosp@m.</span>payce<span style="display: none;">.nosp@m.</span>.com</a></dd></dl> <dl class="section user"><dt>Commercial Licensing</dt><dd>This is the appropriate option if you are creating proprietary applications and you are not prepared to distribute and share the source code of your application. To purchase a commercial license, contact <a href="#" onclick="location.href='mai'+'lto:'+'inf'+'o@'+'air'+'sp'+'ayc'+'e.'+'com'; return false;">info@<span style="display: none;">.nosp@m.</span>airs<span style="display: none;">.nosp@m.</span>payce<span style="display: none;">.nosp@m.</span>.com</a></dd></dl>
<dl class="section user"><dt>Revision History</dt><dd></dd></dl> <dl class="section user"><dt>Revision History</dt><dd></dd></dl>
@ -213,14 +218,22 @@ $(function() {
<dd> <dd>
1.60 2020-03-07 Release under GPL V3 </dd> 1.60 2020-03-07 Release under GPL V3 </dd>
<dd> <dd>
1.61 2020-04-20 Added yield() call in runToPosition(), so that platforms like esp8266 dont hang/crash during long runs.</dd></dl> 1.61 2020-04-20 Added yield() call in runToPosition(), so that platforms like esp8266 dont hang/crash during long runs. </dd>
<dl class="section author"><dt>Author</dt><dd>Mike McCauley (<a href="#" onclick="location.href='mai'+'lto:'+'mik'+'em'+'@ai'+'rs'+'pay'+'ce'+'.co'+'m'; return false;">mikem<span style="display: none;">.nosp@m.</span>@air<span style="display: none;">.nosp@m.</span>spayc<span style="display: none;">.nosp@m.</span>e.co<span style="display: none;">.nosp@m.</span>m</a>) DO NOT CONTACT THE AUTHOR DIRECTLY: USE THE LISTS </dd></dl> <dd>
</div></div><!-- contents --> 1.62 2022-05-22 Added link to <a class="el" href="classAccelStepper.html" title="Support for stepper motors with acceleration etc.">AccelStepper</a> - The Missing Manual.<br />
Fixed a problem when setting the maxSpeed to 1.0 due to incomplete initialisation. Reported by Olivier Pécheux. <br />
</dd>
<dd>
1.63 2022-06-30 Added virtual destructor at the request of Jan.<br />
</dd>
<dd>
1.64 2022-10-31 Patch courtesy acwest: Changes to make <a class="el" href="classAccelStepper.html" title="Support for stepper motors with acceleration etc.">AccelStepper</a> more subclassable. These changes are largely oriented to implementing new step-scheduling algorithms.</dd></dl>
<dl class="section author"><dt>Author</dt><dd>Mike McCauley (<a href="#" onclick="location.href='mai'+'lto:'+'mik'+'em'+'@ai'+'rs'+'pay'+'ce'+'.co'+'m'; return false;">mikem<span style="display: none;">.nosp@m.</span>@air<span style="display: none;">.nosp@m.</span>spayc<span style="display: none;">.nosp@m.</span>e.co<span style="display: none;">.nosp@m.</span>m</a>) DO NOT CONTACT THE AUTHOR DIRECTLY: USE THE GOOGLE GROUP </dd></dl>
</div></div><!-- PageDoc -->
</div><!-- contents -->
<!-- start footer part --> <!-- start footer part -->
<hr class="footer"/><address class="footer"><small> <hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html"> Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address> </small></address>
</body> </body>
</html> </html>

View File

@ -35,6 +35,7 @@ setMinPulseWidth KEYWORD2
setEnablePin KEYWORD2 setEnablePin KEYWORD2
setPinsInverted KEYWORD2 setPinsInverted KEYWORD2
maxSpeed KEYWORD2 maxSpeed KEYWORD2
isRunning KEYWORD2
####################################### #######################################
# Constants (LITERAL1) # Constants (LITERAL1)
####################################### #######################################

View File

@ -1,5 +1,5 @@
name=AccelStepper name=AccelStepper
version=1.61 version=1.64
author=Mike McCauley <mikem@airspayce.com> author=Mike McCauley <mikem@airspayce.com>
maintainer=Patrick Wasp <patrickwasp@gmail.com> maintainer=Patrick Wasp <patrickwasp@gmail.com>
sentence=Allows Arduino boards to control a variety of stepper motors. sentence=Allows Arduino boards to control a variety of stepper motors.

View File

@ -1,6 +1,6 @@
// AccelStepper.cpp // AccelStepper.cpp
// //
// Copyright (C) 2009-2013 Mike McCauley // Copyright (C) 2009-2020 Mike McCauley
// $Id: AccelStepper.cpp,v 1.24 2020/04/20 00:15:03 mikem Exp mikem $ // $Id: AccelStepper.cpp,v 1.24 2020/04/20 00:15:03 mikem Exp mikem $
#include "AccelStepper.h" #include "AccelStepper.h"
@ -94,7 +94,8 @@ void AccelStepper::setCurrentPosition(long position)
_speed = 0.0; _speed = 0.0;
} }
void AccelStepper::computeNewSpeed() // Subclasses can override
unsigned long AccelStepper::computeNewSpeed()
{ {
long distanceTo = distanceToGo(); // +ve is clockwise from curent location long distanceTo = distanceToGo(); // +ve is clockwise from curent location
@ -106,7 +107,7 @@ void AccelStepper::computeNewSpeed()
_stepInterval = 0; _stepInterval = 0;
_speed = 0.0; _speed = 0.0;
_n = 0; _n = 0;
return; return _stepInterval;
} }
if (distanceTo > 0) if (distanceTo > 0)
@ -174,6 +175,7 @@ void AccelStepper::computeNewSpeed()
Serial.println(stepsToStop); Serial.println(stepsToStop);
Serial.println("-----"); Serial.println("-----");
#endif #endif
return _stepInterval;
} }
// Run the motor to implement speed and acceleration in order to proceed to the target position // Run the motor to implement speed and acceleration in order to proceed to the target position
@ -193,7 +195,7 @@ AccelStepper::AccelStepper(uint8_t interface, uint8_t pin1, uint8_t pin2, uint8_
_currentPos = 0; _currentPos = 0;
_targetPos = 0; _targetPos = 0;
_speed = 0.0; _speed = 0.0;
_maxSpeed = 1.0; _maxSpeed = 0.0;
_acceleration = 0.0; _acceleration = 0.0;
_sqrt_twoa = 1.0; _sqrt_twoa = 1.0;
_stepInterval = 0; _stepInterval = 0;
@ -220,6 +222,7 @@ AccelStepper::AccelStepper(uint8_t interface, uint8_t pin1, uint8_t pin2, uint8_
enableOutputs(); enableOutputs();
// Some reasonable default // Some reasonable default
setAcceleration(1); setAcceleration(1);
setMaxSpeed(1);
} }
AccelStepper::AccelStepper(void (*forward)(), void (*backward)()) AccelStepper::AccelStepper(void (*forward)(), void (*backward)())
@ -228,7 +231,7 @@ AccelStepper::AccelStepper(void (*forward)(), void (*backward)())
_currentPos = 0; _currentPos = 0;
_targetPos = 0; _targetPos = 0;
_speed = 0.0; _speed = 0.0;
_maxSpeed = 1.0; _maxSpeed = 0.0;
_acceleration = 0.0; _acceleration = 0.0;
_sqrt_twoa = 1.0; _sqrt_twoa = 1.0;
_stepInterval = 0; _stepInterval = 0;
@ -254,6 +257,7 @@ AccelStepper::AccelStepper(void (*forward)(), void (*backward)())
_pinInverted[i] = 0; _pinInverted[i] = 0;
// Some reasonable default // Some reasonable default
setAcceleration(1); setAcceleration(1);
setMaxSpeed(1);
} }
void AccelStepper::setMaxSpeed(float speed) void AccelStepper::setMaxSpeed(float speed)
@ -295,6 +299,11 @@ void AccelStepper::setAcceleration(float acceleration)
} }
} }
float AccelStepper::acceleration()
{
return _acceleration;
}
void AccelStepper::setSpeed(float speed) void AccelStepper::setSpeed(float speed)
{ {
if (speed == _speed) if (speed == _speed)
@ -350,6 +359,24 @@ void AccelStepper::step(long step)
} }
} }
long AccelStepper::stepForward()
{
// Clockwise
_currentPos += 1;
step(_currentPos);
_lastStepTime = micros();
return _currentPos;
}
long AccelStepper::stepBackward()
{
// Counter-clockwise
_currentPos -= 1;
step(_currentPos);
_lastStepTime = micros();
return _currentPos;
}
// You might want to override this to implement eg serial output // You might want to override this to implement eg serial output
// bit 0 of the mask corresponds to _pin[0] // bit 0 of the mask corresponds to _pin[0]
// bit 1 of the mask corresponds to _pin[1] // bit 1 of the mask corresponds to _pin[1]

View File

@ -23,7 +23,7 @@
/// The latest version of this documentation can be downloaded from /// The latest version of this documentation can be downloaded from
/// http://www.airspayce.com/mikem/arduino/AccelStepper /// http://www.airspayce.com/mikem/arduino/AccelStepper
/// The version of the package that this documentation refers to can be downloaded /// The version of the package that this documentation refers to can be downloaded
/// from http://www.airspayce.com/mikem/arduino/AccelStepper/AccelStepper-1.61.zip /// from http://www.airspayce.com/mikem/arduino/AccelStepper/AccelStepper-1.64.zip
/// ///
/// Example Arduino programs are included to show the main modes of use. /// Example Arduino programs are included to show the main modes of use.
/// ///
@ -35,6 +35,10 @@
/// - http://www.catb.org/esr/faqs/smart-questions.html /// - http://www.catb.org/esr/faqs/smart-questions.html
/// - http://www.chiark.greenend.org.uk/~shgtatham/bugs.html /// - http://www.chiark.greenend.org.uk/~shgtatham/bugs.html
/// ///
/// Beginners to C++ and stepper motors in general may find this helpful:
/// - https://hackaday.io/project/183279-accelstepper-the-missing-manual
/// - https://hackaday.io/project/183713-using-the-arduino-accelstepper-library
///
/// Tested on Arduino Diecimila and Mega with arduino-0018 & arduino-0021 /// Tested on Arduino Diecimila and Mega with arduino-0018 & arduino-0021
/// on OpenSuSE 11.1 and avr-libc-1.6.1-1.15, /// on OpenSuSE 11.1 and avr-libc-1.6.1-1.15,
/// cross-avr-binutils-2.19-9.1, cross-avr-gcc-4.1.3_20080612-26.5. /// cross-avr-binutils-2.19-9.1, cross-avr-gcc-4.1.3_20080612-26.5.
@ -81,7 +85,7 @@
/// ///
/// \par Copyright /// \par Copyright
/// ///
/// This software is Copyright (C) 2010-2018 Mike McCauley. Use is subject to license /// This software is Copyright (C) 2010-2021 Mike McCauley. Use is subject to license
/// conditions. The main licensing options available are GPL V3 or Commercial: /// conditions. The main licensing options available are GPL V3 or Commercial:
/// ///
/// \par Open Source Licensing GPL V3 /// \par Open Source Licensing GPL V3
@ -249,9 +253,18 @@
/// \version 1.61 2020-04-20 /// \version 1.61 2020-04-20
/// Added yield() call in runToPosition(), so that platforms like esp8266 dont hang/crash /// Added yield() call in runToPosition(), so that platforms like esp8266 dont hang/crash
/// during long runs. /// during long runs.
/// \version 1.62 2022-05-22
/// Added link to AccelStepper - The Missing Manual.<br>
/// Fixed a problem when setting the maxSpeed to 1.0 due to incomplete initialisation.
/// Reported by Olivier Pécheux. <br>
/// \version 1.63 2022-06-30
/// Added virtual destructor at the request of Jan.<br>
/// \version 1.64 2022-10-31
/// Patch courtesy acwest: Changes to make AccelStepper more subclassable. These changes are
/// largely oriented to implementing new step-scheduling algorithms.
/// ///
/// \author Mike McCauley (mikem@airspayce.com) DO NOT CONTACT THE AUTHOR DIRECTLY: USE THE LISTS /// \author Mike McCauley (mikem@airspayce.com) DO NOT CONTACT THE AUTHOR DIRECTLY: USE THE GOOGLE GROUP
// Copyright (C) 2009-2013 Mike McCauley // Copyright (C) 2009-2020 Mike McCauley
// $Id: AccelStepper.h,v 1.28 2020/04/20 00:15:03 mikem Exp mikem $ // $Id: AccelStepper.h,v 1.28 2020/04/20 00:15:03 mikem Exp mikem $
#ifndef AccelStepper_h #ifndef AccelStepper_h
@ -429,6 +442,11 @@ public:
/// root to be calculated. Dont call more ofthen than needed /// root to be calculated. Dont call more ofthen than needed
void setAcceleration(float acceleration); void setAcceleration(float acceleration);
/// Returns the acceleration/deceleration rate configured for this stepper
/// that was previously set by setAcceleration();
/// \return The currently configured acceleration/deceleration
float acceleration();
/// Sets the desired constant speed for use with runSpeed(). /// Sets the desired constant speed for use with runSpeed().
/// \param[in] speed The desired constant speed in steps per /// \param[in] speed The desired constant speed in steps per
/// second. Positive is clockwise. Speeds of more than 1000 steps per /// second. Positive is clockwise. Speeds of more than 1000 steps per
@ -471,7 +489,10 @@ public:
/// position. Dont use this in event loops, since it blocks. /// position. Dont use this in event loops, since it blocks.
void runToPosition(); void runToPosition();
/// Runs at the currently selected speed until the target position is reached. /// Executes runSpeed() unless the targetPosition is reached.
/// This function needs to be called often just like runSpeed() or run().
/// Will step the motor if a step is required at the currently selected
/// speed unless the target position has been reached.
/// Does not implement accelerations. /// Does not implement accelerations.
/// \return true if it stepped /// \return true if it stepped
boolean runSpeedToPosition(); boolean runSpeedToPosition();
@ -533,6 +554,8 @@ public:
/// \return true if the speed is not zero or not at the target position /// \return true if the speed is not zero or not at the target position
bool isRunning(); bool isRunning();
/// Virtual destructor to prevent warnings during delete
virtual ~AccelStepper() {};
protected: protected:
/// \brief Direction indicator /// \brief Direction indicator
@ -551,7 +574,8 @@ protected:
/// \li after change to acceleration through setAcceleration() /// \li after change to acceleration through setAcceleration()
/// \li after change to target position (relative or absolute) through /// \li after change to target position (relative or absolute) through
/// move() or moveTo() /// move() or moveTo()
void computeNewSpeed(); /// \return the new step interval
virtual unsigned long computeNewSpeed();
/// Low level function to set the motor output pins /// Low level function to set the motor output pins
/// bit 0 of the mask corresponds to _pin[0] /// bit 0 of the mask corresponds to _pin[0]
@ -567,6 +591,16 @@ protected:
/// \param[in] step The current step phase number (0 to 7) /// \param[in] step The current step phase number (0 to 7)
virtual void step(long step); virtual void step(long step);
/// Called to execute a clockwise(+) step. Only called when a new step is
/// required. This increments the _currentPos and calls step()
/// \return the updated current position
long stepForward();
/// Called to execute a counter-clockwise(-) step. Only called when a new step is
/// required. This decrements the _currentPos and calls step()
/// \return the updated current position
long stepBackward();
/// Called to execute a step using stepper functions (pins = 0) Only called when a new step is /// Called to execute a step using stepper functions (pins = 0) Only called when a new step is
/// required. Calls _forward() or _backward() to perform the step /// required. Calls _forward() or _backward() to perform the step
/// \param[in] step The current step phase number (0 to 7) /// \param[in] step The current step phase number (0 to 7)
@ -607,7 +641,7 @@ protected:
/// \param[in] step The current step phase number (0 to 7) /// \param[in] step The current step phase number (0 to 7)
virtual void step6(long step); virtual void step6(long step);
/// Called to execute a step on a 4 pin half-steper motor. Only called when a new step is /// Called to execute a step on a 4 pin half-stepper motor. Only called when a new step is
/// required. Subclasses may override to implement new stepping /// required. Subclasses may override to implement new stepping
/// interfaces. The default sets or clears the outputs of pin1, pin2, /// interfaces. The default sets or clears the outputs of pin1, pin2,
/// pin3, pin4. /// pin3, pin4.
@ -618,6 +652,10 @@ protected:
/// Protected because some peoples subclasses need it to be so /// Protected because some peoples subclasses need it to be so
boolean _direction; // 1 == CW boolean _direction; // 1 == CW
/// The current interval between steps in microseconds.
/// 0 means the motor is currently stopped with _speed == 0
unsigned long _stepInterval;
private: private:
/// Number of pins on the stepper motor. Permits 2 or 4. 2 pins is a /// Number of pins on the stepper motor. Permits 2 or 4. 2 pins is a
/// bipolar, and 4 pins is a unipolar. /// bipolar, and 4 pins is a unipolar.
@ -650,10 +688,6 @@ private:
float _acceleration; float _acceleration;
float _sqrt_twoa; // Precomputed sqrt(2*_acceleration) float _sqrt_twoa; // Precomputed sqrt(2*_acceleration)
/// The current interval between steps in microseconds.
/// 0 means the motor is currently stopped with _speed == 0
unsigned long _stepInterval;
/// The last step time in microseconds /// The last step time in microseconds
unsigned long _lastStepTime; unsigned long _lastStepTime;