Repetier-Firmware-4-Davinci/api-doc/html/class_print_line.html

2120 wiersze
101 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Repetier-Firmware: PrintLine Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="repetier-logo-trans128.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">Repetier-Firmware
&#160;<span id="projectnumber">0.91</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
</ul>
</div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
initNavTree('class_print_line.html','');
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Data Fields</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#pri-static-attribs">Static Private Attributes</a> &#124;
<a href="#friends">Friends</a> </div>
<div class="headertitle">
<div class="title">PrintLine Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="PrintLine" -->
<p><code>#include &lt;<a class="el" href="motion_8h_source.html">motion.h</a>&gt;</code></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a1d2cbe11872ed43ecf5e7698c6a3753c">areParameterUpToDate</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a133e03a70ead89a6530cfb29e84c4b23">invalidateParameter</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a8078bbbf77346f72ab52e95e7c5c94b6">setParameterUpToDate</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ae9ca9bfdc8d855bf8c449f1db91c7baf">isStartSpeedFixed</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ab18ab9269486043849d90b27c8d0e59e">setStartSpeedFixed</a> (bool newState)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0197c6efb9afd7d6ab13b297f2df73dc">fixStartAndEndSpeed</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a935def6124c31e1b948fc3f659937116">isEndSpeedFixed</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a4ac3e198b5ae2f2c2c02707b5d79fadb">setEndSpeedFixed</a> (bool newState)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aa1b213782c45e8e05c34360768f32131">isWarmUp</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aba0df0f31d8acaa1dd3a8618b2e178e8">getWaitForXLinesFilled</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#abd0ecb7d97383e5cfc4cb495818c389e">setWaitForXLinesFilled</a> (uint8_t b)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a7a4dba3ace1ac871133b0f12839e6f4f">isExtruderForwardMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a7e07c2af0cfe7618067f785518e9e64b">block</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a009e9504e5d9ca912a7567892e0e60bf">unblock</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ae6ec007d68382eb124ed25bc90ae9c17">isBlocked</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a231c85e6f3815511831cb67567d82c95">isCheckEndstops</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a581476729a31739e3faa03a9431e4a05">isNominalMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#acac9d9744a18dfb65430380ff098ab67">setNominalMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a9216eeee5a910d9b97ef7fc9c51486fb">checkEndstops</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aad67d2d7fdc415a10276ef11be6a4ebb">setXMoveFinished</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ae9f3a1556eb7d20e66bede8747f6447b">setYMoveFinished</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a5c2a9f33763e1c2c7f526227ad3d03fa">setZMoveFinished</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a72e2663eddc20d0d43265837ee7c03bd">setXYMoveFinished</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ae48ce1b538c9a4d72bab89516f1ea44b">isXPositiveMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aabc1316f4405ac616dbd4d5ece65fd66">isXNegativeMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a01f9499bddb3765edbfa3ab02d7a4717">isYPositiveMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a393df21fe03ce39f5dce37753510e369">isYNegativeMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0bc2674212b458863e559f31692431c6">isZPositiveMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0730f709b8acdad51a60b2eee220fcdd">isZNegativeMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#af8fa116704ec13fe8fc574016d41769a">isEPositiveMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#adbe7df66129d7bfa99d9e2ceb7457c69">isENegativeMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ae4ce3dd29cb20a699d90c9fb7cc87f28">isXMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ae6f2dadb0a57fe75ae2b49befd8a45eb">isYMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aa38c32d9bee47e266dd198b5d1ca1102">isXOrYMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a34ddbda7b07722da0e1b93001d549a4a">isZMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a303bf057849da5f62827cfdbc2ad6326">isEMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a4833a7f801c417b392ecb5504d0a1cef">isEOnlyMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a589c1fda795565f72c8872cb8a1a389b">isNoMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a04d6b0f87d5f38101802d9ebf704e1fd">isXYZMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0d92e184b7728d79f2d932db5bde6c8d">isMoveOfAxis</a> (uint8_t axis)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a6cc01d8dcc37c4fa8fdaa67b3cbaa9aa">setMoveOfAxis</a> (uint8_t axis)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a58c08ce30a6b0df067300649e37fdbba">setPositiveDirectionForAxis</a> (uint8_t axis)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a02b156fb6ea70b1a333ffad181931916">updateAdvanceSteps</a> (unsigned int v, uint8_t max_loops, bool accelerate)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a185d05cba96f5d94aee41c3d06c9c1cb">moveDecelerating</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0ff391b4272c58fb480c2d7ccb5cae34">moveAccelerating</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a1506bdf7601a311bb8a65369a470595f">isFullstepping</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ad91731df82d6fff7e14a54e1799d0240">startXStep</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a977d33618d886abff53e1e8bedbe7537">startYStep</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0dd7c3d82c092f0a9ae892557c4eacee">startZStep</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ad7634c34ecbb519f55ce563c68e34a35">updateStepsParameter</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a3b93b1bbc75d084e92b47bbc25211f33">safeSpeed</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a1150dd94076ec18892b8d67c7d96984a">calculateMove</a> (float axis_diff[], uint8_t pathOptimize)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a8805ff9aa252959d474ac0adec4388dc">logLine</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a65d5a0b47b70aa42878c4ddd870d6778">getWaitTicks</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aaa5de19d9ddb2912455b5d71daadd184">setWaitTicks</a> (long wait)</td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ab108ad89fc717b8579f35975468f33c7">resetPathPlanner</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ac0f744468b329f082ba63208368e5264">hasLines</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a64ae91c7dc648d0b337d0f324276a4bf">setCurrentLine</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a3389daad6d842f71a2ce60e7cee9b59f">removeCurrentLineForbidInterrupt</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aaf39d3ac51c339076ef1629174482a40">pushLine</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_print_line.html">PrintLine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a9989870df088bf4b9a3928c8a2ded9dc">getNextWriteLine</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a4ac503fa04c929695e63fdb2944e1dd5">computeMaxJunctionSpeed</a> (<a class="el" href="class_print_line.html">PrintLine</a> *previous, <a class="el" href="class_print_line.html">PrintLine</a> *current)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a28814f549b2b24f24dda3d9cabe87891">bresenhamStep</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a25fdee8d93b7445b19b2531646ac2bd5">waitForXFreeLines</a> (uint8_t b=1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a68ee05349131a0547059e83b6759de44">forwardPlanner</a> (uint8_t p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a438c11584123ee62c9d8393a16c17108">backwardPlanner</a> (uint8_t p, uint8_t last)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ae0e4f0562f9d7c223b6024a619205b60">updateTrapezoids</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#abc890f0c9b72c63cfd69ba8acebc93d8">insertWaitMovesIfNeeded</a> (uint8_t pathOptimize, uint8_t waitExtraLines)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a5d5b134b285f04c291d3da308fce3419">queueCartesianMove</a> (uint8_t check_endstops, uint8_t pathOptimize)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aec8285a6e133b08a1edaebdbc7efc48a">moveRelativeDistanceInSteps</a> (long x, long y, long z, long e, float feedrate, bool waitEnd, bool check_endstop)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a7d777929106a32402b16c98b9582e8b2">previousPlannerIndex</a> (uint8_t &amp;p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ab6846ab1a62387be9fc0a53120660580">nextPlannerIndex</a> (uint8_t &amp;p)</td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a5a87d2c42cc21fa0022be9e1450a6877">stepsRemaining</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Remaining steps, until move is finished. <a href="#a5a87d2c42cc21fa0022be9e1450a6877"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_print_line.html">PrintLine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a272556ffc75dd36b17dba53b9e81de88">cur</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Current printing line. <a href="#a272556ffc75dd36b17dba53b9e81de88"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static volatile uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a01dcbe9b4aff4513724de52cc33c43ef">linesCount</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of lines cached 0 = nothing to do. <a href="#a01dcbe9b4aff4513724de52cc33c43ef"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a07bea818f3a912947549699bfdef6a73">primaryAxis</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">volatile uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a27ac1730f3c9b0d5935ac0c406f7b9f3">flags</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a606788ac5a4df6a49dac455473a1bb73">timeInTicks</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a929492d0ab9b4ea4338f81381d08e63e">joinFlags</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aa5bb967d7e0b7e9ec796f65835ee9d6e">halfStep</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">4 = disabled, 1 = halfstep, 2 = fulstep <a href="#aa5bb967d7e0b7e9ec796f65835ee9d6e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a92abda0bec7c1c978fe96f87aad18067">dir</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Direction of movement. 1 = X+, 2 = Y+, 4= Z+, values can be combined. <a href="#a92abda0bec7c1c978fe96f87aad18067"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#acddb9b941799c58b09b9ba557a550ba9">delta</a> [4]</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Steps we want to move. <a href="#acddb9b941799c58b09b9ba557a550ba9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a3c6de671d3ddb66984484dc28d461238">error</a> [4]</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Error calculation for Bresenham algorithm. <a href="#a3c6de671d3ddb66984484dc28d461238"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aa0076a8395b89235fd3411ef7f96bc99">speedX</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Speed in x direction at fullInterval in mm/s. <a href="#aa0076a8395b89235fd3411ef7f96bc99"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a742025f2597ee001a8c61abea1070f0b">speedY</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Speed in y direction at fullInterval in mm/s. <a href="#a742025f2597ee001a8c61abea1070f0b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aec11ac0ec6a0c95d25828f3a5d38f8d3">speedZ</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Speed in z direction at fullInterval in mm/s. <a href="#aec11ac0ec6a0c95d25828f3a5d38f8d3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ab246a6f56412557306bd8525bec07765">speedE</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Speed in E direction at fullInterval in mm/s. <a href="#ab246a6f56412557306bd8525bec07765"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#af2dda87e11a7a84a9ae816f22066d84f">fullSpeed</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Desired speed mm/s. <a href="#af2dda87e11a7a84a9ae816f22066d84f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0009fafd27bac173d490371b1c325202">invFullSpeed</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">1.0/fullSpeed for fatser computation <a href="#a0009fafd27bac173d490371b1c325202"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ab31effe773625c44619f5de770c2596f">accelerationDistance2</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Real 2.0*distanceÜacceleration mm²/s² <a href="#ab31effe773625c44619f5de770c2596f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a2f126b0724528257a5906804414175c3">maxJunctionSpeed</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Max. junction speed between this and next segment. <a href="#a2f126b0724528257a5906804414175c3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0976722c9e2db986c298e6de2f0a966c">startSpeed</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Staring speed in mm/s. <a href="#a0976722c9e2db986c298e6de2f0a966c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#adefb2a3853aa8166b3fb2940d7a78622">endSpeed</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Exit speed in mm/s. <a href="#adefb2a3853aa8166b3fb2940d7a78622"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#abdc3d6a5585f0a78d67b3b51fb38e618">minSpeed</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a06f14a9abd47b91465f895d5259cdc1b">distance</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h_a_l_8h.html#a91c2da9328232ca544377f4be938288d">ticks_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0ca91033188e4f8b4b51caac393d8fe8">fullInterval</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">interval at full speed in ticks/step. <a href="#a0ca91033188e4f8b4b51caac393d8fe8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#afd69a1548f5674700c6ba5fd6a55914c">accelSteps</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">How much steps does it take, to reach the plateau. <a href="#afd69a1548f5674700c6ba5fd6a55914c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a9ff32dda312a8ba553474117042721d4">decelSteps</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">How much steps does it take, to reach the end speed. <a href="#a9ff32dda312a8ba553474117042721d4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ab47d96a0400955944bcb72926bd98841">accelerationPrim</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Acceleration along primary axis. <a href="#ab47d96a0400955944bcb72926bd98841"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a10fa1d8f9dc6cdc51e12bbd86b964b01">fAcceleration</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">accelerationPrim*262144/F_CPU <a href="#a10fa1d8f9dc6cdc51e12bbd86b964b01"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h_a_l_8h.html#a14a0666abcf3bb67c7ff400b4a450467">speed_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a75a36d8192c1f543a9998466dbcdc8ce">vMax</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum reached speed in steps/s. <a href="#a75a36d8192c1f543a9998466dbcdc8ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h_a_l_8h.html#a14a0666abcf3bb67c7ff400b4a450467">speed_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#abe84967de3e7dd73e62a911c58dda57b">vStart</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Starting speed in steps/s. <a href="#abe84967de3e7dd73e62a911c58dda57b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h_a_l_8h.html#a14a0666abcf3bb67c7ff400b4a450467">speed_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#abd65545ed253eff8f6e3ca4b888e5bf2">vEnd</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">End speed in steps/s. <a href="#abd65545ed253eff8f6e3ca4b888e5bf2"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static volatile bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aef1b1ee43dd2cf1e9322f6c2c946c145">nlFlag</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#acad7185c78a2f5cdae2ca5c2d33e0098">linesPos</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Position for executing line movement. <a href="#acad7185c78a2f5cdae2ca5c2d33e0098"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_print_line.html">PrintLine</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a3fc3b5578c9735d1af55e62111fb9f03">lines</a> []</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Cache for print moves. <a href="#a3fc3b5578c9735d1af55e62111fb9f03"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a9b6dff2988e435415f372da23ed41ea1">linesWritePos</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Position where we write the next cached line move. <a href="#a9b6dff2988e435415f372da23ed41ea1"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a9100ab40407fd382a882168b2001f3a3">UIDisplay</a></td></tr>
</table>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a1d2cbe11872ed43ecf5e7698c6a3753c"></a><!-- doxytag: member="PrintLine::areParameterUpToDate" ref="a1d2cbe11872ed43ecf5e7698c6a3753c" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a1d2cbe11872ed43ecf5e7698c6a3753c">areParameterUpToDate</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a438c11584123ee62c9d8393a16c17108"></a><!-- doxytag: member="PrintLine::backwardPlanner" ref="a438c11584123ee62c9d8393a16c17108" args="(uint8_t p, uint8_t last)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a438c11584123ee62c9d8393a16c17108">backwardPlanner</a> </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>start</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>last</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Compute the maximum speed from the last entered move. The backwards planner traverses the moves from last to first looking at deceleration. The RHS of the accelerate/decelerate ramp.</p>
<p>start = last line inserted last = last element until we check </p>
</div>
</div>
<a class="anchor" id="a7e07c2af0cfe7618067f785518e9e64b"></a><!-- doxytag: member="PrintLine::block" ref="a7e07c2af0cfe7618067f785518e9e64b" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a7e07c2af0cfe7618067f785518e9e64b">block</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a28814f549b2b24f24dda3d9cabe87891"></a><!-- doxytag: member="PrintLine::bresenhamStep" ref="a28814f549b2b24f24dda3d9cabe87891" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">long <a class="el" href="class_print_line.html#a28814f549b2b24f24dda3d9cabe87891">bresenhamStep</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a1150dd94076ec18892b8d67c7d96984a"></a><!-- doxytag: member="PrintLine::calculateMove" ref="a1150dd94076ec18892b8d67c7d96984a" args="(float axis_diff[], uint8_t pathOptimize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a1150dd94076ec18892b8d67c7d96984a">calculateMove</a> </td>
<td>(</td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>axis_diff</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>pathOptimize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a9216eeee5a910d9b97ef7fc9c51486fb"></a><!-- doxytag: member="PrintLine::checkEndstops" ref="a9216eeee5a910d9b97ef7fc9c51486fb" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a9216eeee5a910d9b97ef7fc9c51486fb">checkEndstops</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a4ac503fa04c929695e63fdb2944e1dd5"></a><!-- doxytag: member="PrintLine::computeMaxJunctionSpeed" ref="a4ac503fa04c929695e63fdb2944e1dd5" args="(PrintLine *previous, PrintLine *current)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a4ac503fa04c929695e63fdb2944e1dd5">computeMaxJunctionSpeed</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_print_line.html">PrintLine</a> *&#160;</td>
<td class="paramname"><em>previous</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_print_line.html">PrintLine</a> *&#160;</td>
<td class="paramname"><em>current</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a0197c6efb9afd7d6ab13b297f2df73dc"></a><!-- doxytag: member="PrintLine::fixStartAndEndSpeed" ref="a0197c6efb9afd7d6ab13b297f2df73dc" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a0197c6efb9afd7d6ab13b297f2df73dc">fixStartAndEndSpeed</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a68ee05349131a0547059e83b6759de44"></a><!-- doxytag: member="PrintLine::forwardPlanner" ref="a68ee05349131a0547059e83b6759de44" args="(uint8_t p)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a68ee05349131a0547059e83b6759de44">forwardPlanner</a> </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>p</em></td><td>)</td>
<td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a9989870df088bf4b9a3928c8a2ded9dc"></a><!-- doxytag: member="PrintLine::getNextWriteLine" ref="a9989870df088bf4b9a3928c8a2ded9dc" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="class_print_line.html">PrintLine</a>* <a class="el" href="class_print_line.html#a9989870df088bf4b9a3928c8a2ded9dc">getNextWriteLine</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="aba0df0f31d8acaa1dd3a8618b2e178e8"></a><!-- doxytag: member="PrintLine::getWaitForXLinesFilled" ref="aba0df0f31d8acaa1dd3a8618b2e178e8" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_print_line.html#aba0df0f31d8acaa1dd3a8618b2e178e8">getWaitForXLinesFilled</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a65d5a0b47b70aa42878c4ddd870d6778"></a><!-- doxytag: member="PrintLine::getWaitTicks" ref="a65d5a0b47b70aa42878c4ddd870d6778" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">long <a class="el" href="class_print_line.html#a65d5a0b47b70aa42878c4ddd870d6778">getWaitTicks</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ac0f744468b329f082ba63208368e5264"></a><!-- doxytag: member="PrintLine::hasLines" ref="ac0f744468b329f082ba63208368e5264" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static bool <a class="el" href="class_print_line.html#ac0f744468b329f082ba63208368e5264">hasLines</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="abc890f0c9b72c63cfd69ba8acebc93d8"></a><!-- doxytag: member="PrintLine::insertWaitMovesIfNeeded" ref="abc890f0c9b72c63cfd69ba8acebc93d8" args="(uint8_t pathOptimize, uint8_t waitExtraLines)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_print_line.html#abc890f0c9b72c63cfd69ba8acebc93d8">insertWaitMovesIfNeeded</a> </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>pathOptimize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>waitExtraLines</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Check if move is new. If it is insert some dummy moves to allow the path optimizer to work since it does not act on the first two moves in the queue. The stepper timer will spot these moves and leave some time for processing. </p>
</div>
</div>
<a class="anchor" id="a133e03a70ead89a6530cfb29e84c4b23"></a><!-- doxytag: member="PrintLine::invalidateParameter" ref="a133e03a70ead89a6530cfb29e84c4b23" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a133e03a70ead89a6530cfb29e84c4b23">invalidateParameter</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ae6ec007d68382eb124ed25bc90ae9c17"></a><!-- doxytag: member="PrintLine::isBlocked" ref="ae6ec007d68382eb124ed25bc90ae9c17" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#ae6ec007d68382eb124ed25bc90ae9c17">isBlocked</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a231c85e6f3815511831cb67567d82c95"></a><!-- doxytag: member="PrintLine::isCheckEndstops" ref="a231c85e6f3815511831cb67567d82c95" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a231c85e6f3815511831cb67567d82c95">isCheckEndstops</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a303bf057849da5f62827cfdbc2ad6326"></a><!-- doxytag: member="PrintLine::isEMove" ref="a303bf057849da5f62827cfdbc2ad6326" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a303bf057849da5f62827cfdbc2ad6326">isEMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a935def6124c31e1b948fc3f659937116"></a><!-- doxytag: member="PrintLine::isEndSpeedFixed" ref="a935def6124c31e1b948fc3f659937116" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a935def6124c31e1b948fc3f659937116">isEndSpeedFixed</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="adbe7df66129d7bfa99d9e2ceb7457c69"></a><!-- doxytag: member="PrintLine::isENegativeMove" ref="adbe7df66129d7bfa99d9e2ceb7457c69" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#adbe7df66129d7bfa99d9e2ceb7457c69">isENegativeMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a4833a7f801c417b392ecb5504d0a1cef"></a><!-- doxytag: member="PrintLine::isEOnlyMove" ref="a4833a7f801c417b392ecb5504d0a1cef" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a4833a7f801c417b392ecb5504d0a1cef">isEOnlyMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="af8fa116704ec13fe8fc574016d41769a"></a><!-- doxytag: member="PrintLine::isEPositiveMove" ref="af8fa116704ec13fe8fc574016d41769a" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#af8fa116704ec13fe8fc574016d41769a">isEPositiveMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a7a4dba3ace1ac871133b0f12839e6f4f"></a><!-- doxytag: member="PrintLine::isExtruderForwardMove" ref="a7a4dba3ace1ac871133b0f12839e6f4f" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a7a4dba3ace1ac871133b0f12839e6f4f">isExtruderForwardMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a1506bdf7601a311bb8a65369a470595f"></a><!-- doxytag: member="PrintLine::isFullstepping" ref="a1506bdf7601a311bb8a65369a470595f" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a1506bdf7601a311bb8a65369a470595f">isFullstepping</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a0d92e184b7728d79f2d932db5bde6c8d"></a><!-- doxytag: member="PrintLine::isMoveOfAxis" ref="a0d92e184b7728d79f2d932db5bde6c8d" args="(uint8_t axis)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a0d92e184b7728d79f2d932db5bde6c8d">isMoveOfAxis</a> </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>axis</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a581476729a31739e3faa03a9431e4a05"></a><!-- doxytag: member="PrintLine::isNominalMove" ref="a581476729a31739e3faa03a9431e4a05" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a581476729a31739e3faa03a9431e4a05">isNominalMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a589c1fda795565f72c8872cb8a1a389b"></a><!-- doxytag: member="PrintLine::isNoMove" ref="a589c1fda795565f72c8872cb8a1a389b" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a589c1fda795565f72c8872cb8a1a389b">isNoMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ae9ca9bfdc8d855bf8c449f1db91c7baf"></a><!-- doxytag: member="PrintLine::isStartSpeedFixed" ref="ae9ca9bfdc8d855bf8c449f1db91c7baf" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#ae9ca9bfdc8d855bf8c449f1db91c7baf">isStartSpeedFixed</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="aa1b213782c45e8e05c34360768f32131"></a><!-- doxytag: member="PrintLine::isWarmUp" ref="aa1b213782c45e8e05c34360768f32131" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#aa1b213782c45e8e05c34360768f32131">isWarmUp</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ae4ce3dd29cb20a699d90c9fb7cc87f28"></a><!-- doxytag: member="PrintLine::isXMove" ref="ae4ce3dd29cb20a699d90c9fb7cc87f28" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#ae4ce3dd29cb20a699d90c9fb7cc87f28">isXMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="aabc1316f4405ac616dbd4d5ece65fd66"></a><!-- doxytag: member="PrintLine::isXNegativeMove" ref="aabc1316f4405ac616dbd4d5ece65fd66" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#aabc1316f4405ac616dbd4d5ece65fd66">isXNegativeMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="aa38c32d9bee47e266dd198b5d1ca1102"></a><!-- doxytag: member="PrintLine::isXOrYMove" ref="aa38c32d9bee47e266dd198b5d1ca1102" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#aa38c32d9bee47e266dd198b5d1ca1102">isXOrYMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ae48ce1b538c9a4d72bab89516f1ea44b"></a><!-- doxytag: member="PrintLine::isXPositiveMove" ref="ae48ce1b538c9a4d72bab89516f1ea44b" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#ae48ce1b538c9a4d72bab89516f1ea44b">isXPositiveMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a04d6b0f87d5f38101802d9ebf704e1fd"></a><!-- doxytag: member="PrintLine::isXYZMove" ref="a04d6b0f87d5f38101802d9ebf704e1fd" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a04d6b0f87d5f38101802d9ebf704e1fd">isXYZMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ae6f2dadb0a57fe75ae2b49befd8a45eb"></a><!-- doxytag: member="PrintLine::isYMove" ref="ae6f2dadb0a57fe75ae2b49befd8a45eb" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#ae6f2dadb0a57fe75ae2b49befd8a45eb">isYMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a393df21fe03ce39f5dce37753510e369"></a><!-- doxytag: member="PrintLine::isYNegativeMove" ref="a393df21fe03ce39f5dce37753510e369" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a393df21fe03ce39f5dce37753510e369">isYNegativeMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a01f9499bddb3765edbfa3ab02d7a4717"></a><!-- doxytag: member="PrintLine::isYPositiveMove" ref="a01f9499bddb3765edbfa3ab02d7a4717" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a01f9499bddb3765edbfa3ab02d7a4717">isYPositiveMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a34ddbda7b07722da0e1b93001d549a4a"></a><!-- doxytag: member="PrintLine::isZMove" ref="a34ddbda7b07722da0e1b93001d549a4a" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a34ddbda7b07722da0e1b93001d549a4a">isZMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a0730f709b8acdad51a60b2eee220fcdd"></a><!-- doxytag: member="PrintLine::isZNegativeMove" ref="a0730f709b8acdad51a60b2eee220fcdd" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a0730f709b8acdad51a60b2eee220fcdd">isZNegativeMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a0bc2674212b458863e559f31692431c6"></a><!-- doxytag: member="PrintLine::isZPositiveMove" ref="a0bc2674212b458863e559f31692431c6" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a0bc2674212b458863e559f31692431c6">isZPositiveMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a8805ff9aa252959d474ac0adec4388dc"></a><!-- doxytag: member="PrintLine::logLine" ref="a8805ff9aa252959d474ac0adec4388dc" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a8805ff9aa252959d474ac0adec4388dc">logLine</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a0ff391b4272c58fb480c2d7ccb5cae34"></a><!-- doxytag: member="PrintLine::moveAccelerating" ref="a0ff391b4272c58fb480c2d7ccb5cae34" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a0ff391b4272c58fb480c2d7ccb5cae34">moveAccelerating</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a185d05cba96f5d94aee41c3d06c9c1cb"></a><!-- doxytag: member="PrintLine::moveDecelerating" ref="a185d05cba96f5d94aee41c3d06c9c1cb" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a185d05cba96f5d94aee41c3d06c9c1cb">moveDecelerating</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="aec8285a6e133b08a1edaebdbc7efc48a"></a><!-- doxytag: member="PrintLine::moveRelativeDistanceInSteps" ref="aec8285a6e133b08a1edaebdbc7efc48a" args="(long x, long y, long z, long e, float feedrate, bool waitEnd, bool check_endstop)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#aec8285a6e133b08a1edaebdbc7efc48a">moveRelativeDistanceInSteps</a> </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>e</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>feedrate</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>waitEnd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>checkEndstop</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Move printer the given number of steps. Puts the move into the queue. Used by e.g. homing commands. </p>
</div>
</div>
<a class="anchor" id="ab6846ab1a62387be9fc0a53120660580"></a><!-- doxytag: member="PrintLine::nextPlannerIndex" ref="ab6846ab1a62387be9fc0a53120660580" args="(uint8_t &amp;p)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static void <a class="el" href="class_print_line.html#ab6846ab1a62387be9fc0a53120660580">nextPlannerIndex</a> </td>
<td>(</td>
<td class="paramtype">uint8_t &amp;&#160;</td>
<td class="paramname"><em>p</em></td><td>)</td>
<td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a7d777929106a32402b16c98b9582e8b2"></a><!-- doxytag: member="PrintLine::previousPlannerIndex" ref="a7d777929106a32402b16c98b9582e8b2" args="(uint8_t &amp;p)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static void <a class="el" href="class_print_line.html#a7d777929106a32402b16c98b9582e8b2">previousPlannerIndex</a> </td>
<td>(</td>
<td class="paramtype">uint8_t &amp;&#160;</td>
<td class="paramname"><em>p</em></td><td>)</td>
<td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="aaf39d3ac51c339076ef1629174482a40"></a><!-- doxytag: member="PrintLine::pushLine" ref="aaf39d3ac51c339076ef1629174482a40" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static void <a class="el" href="class_print_line.html#aaf39d3ac51c339076ef1629174482a40">pushLine</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a5d5b134b285f04c291d3da308fce3419"></a><!-- doxytag: member="PrintLine::queueCartesianMove" ref="a5d5b134b285f04c291d3da308fce3419" args="(uint8_t check_endstops, uint8_t pathOptimize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a5d5b134b285f04c291d3da308fce3419">queueCartesianMove</a> </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>check_endstops</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>pathOptimize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Put a move to the current destination coordinates into the movement cache. If the cache is full, the method will wait, until a place gets free. During wait communication and temperature control is enabled. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">check_endstops</td><td>Read endstop during move. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a3389daad6d842f71a2ce60e7cee9b59f"></a><!-- doxytag: member="PrintLine::removeCurrentLineForbidInterrupt" ref="a3389daad6d842f71a2ce60e7cee9b59f" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static void <a class="el" href="class_print_line.html#a3389daad6d842f71a2ce60e7cee9b59f">removeCurrentLineForbidInterrupt</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ab108ad89fc717b8579f35975468f33c7"></a><!-- doxytag: member="PrintLine::resetPathPlanner" ref="ab108ad89fc717b8579f35975468f33c7" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static void <a class="el" href="class_print_line.html#ab108ad89fc717b8579f35975468f33c7">resetPathPlanner</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a3b93b1bbc75d084e92b47bbc25211f33"></a><!-- doxytag: member="PrintLine::safeSpeed" ref="a3b93b1bbc75d084e92b47bbc25211f33" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_print_line.html#a3b93b1bbc75d084e92b47bbc25211f33">safeSpeed</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a64ae91c7dc648d0b337d0f324276a4bf"></a><!-- doxytag: member="PrintLine::setCurrentLine" ref="a64ae91c7dc648d0b337d0f324276a4bf" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static void <a class="el" href="class_print_line.html#a64ae91c7dc648d0b337d0f324276a4bf">setCurrentLine</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a4ac3e198b5ae2f2c2c02707b5d79fadb"></a><!-- doxytag: member="PrintLine::setEndSpeedFixed" ref="a4ac3e198b5ae2f2c2c02707b5d79fadb" args="(bool newState)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a4ac3e198b5ae2f2c2c02707b5d79fadb">setEndSpeedFixed</a> </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>newState</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a6cc01d8dcc37c4fa8fdaa67b3cbaa9aa"></a><!-- doxytag: member="PrintLine::setMoveOfAxis" ref="a6cc01d8dcc37c4fa8fdaa67b3cbaa9aa" args="(uint8_t axis)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a6cc01d8dcc37c4fa8fdaa67b3cbaa9aa">setMoveOfAxis</a> </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>axis</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="acac9d9744a18dfb65430380ff098ab67"></a><!-- doxytag: member="PrintLine::setNominalMove" ref="acac9d9744a18dfb65430380ff098ab67" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#acac9d9744a18dfb65430380ff098ab67">setNominalMove</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a8078bbbf77346f72ab52e95e7c5c94b6"></a><!-- doxytag: member="PrintLine::setParameterUpToDate" ref="a8078bbbf77346f72ab52e95e7c5c94b6" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a8078bbbf77346f72ab52e95e7c5c94b6">setParameterUpToDate</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a58c08ce30a6b0df067300649e37fdbba"></a><!-- doxytag: member="PrintLine::setPositiveDirectionForAxis" ref="a58c08ce30a6b0df067300649e37fdbba" args="(uint8_t axis)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a58c08ce30a6b0df067300649e37fdbba">setPositiveDirectionForAxis</a> </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>axis</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ab18ab9269486043849d90b27c8d0e59e"></a><!-- doxytag: member="PrintLine::setStartSpeedFixed" ref="ab18ab9269486043849d90b27c8d0e59e" args="(bool newState)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#ab18ab9269486043849d90b27c8d0e59e">setStartSpeedFixed</a> </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>newState</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="abd0ecb7d97383e5cfc4cb495818c389e"></a><!-- doxytag: member="PrintLine::setWaitForXLinesFilled" ref="abd0ecb7d97383e5cfc4cb495818c389e" args="(uint8_t b)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#abd0ecb7d97383e5cfc4cb495818c389e">setWaitForXLinesFilled</a> </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>b</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="aaa5de19d9ddb2912455b5d71daadd184"></a><!-- doxytag: member="PrintLine::setWaitTicks" ref="aaa5de19d9ddb2912455b5d71daadd184" args="(long wait)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#aaa5de19d9ddb2912455b5d71daadd184">setWaitTicks</a> </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>wait</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="aad67d2d7fdc415a10276ef11be6a4ebb"></a><!-- doxytag: member="PrintLine::setXMoveFinished" ref="aad67d2d7fdc415a10276ef11be6a4ebb" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#aad67d2d7fdc415a10276ef11be6a4ebb">setXMoveFinished</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a72e2663eddc20d0d43265837ee7c03bd"></a><!-- doxytag: member="PrintLine::setXYMoveFinished" ref="a72e2663eddc20d0d43265837ee7c03bd" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a72e2663eddc20d0d43265837ee7c03bd">setXYMoveFinished</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ae9f3a1556eb7d20e66bede8747f6447b"></a><!-- doxytag: member="PrintLine::setYMoveFinished" ref="ae9f3a1556eb7d20e66bede8747f6447b" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#ae9f3a1556eb7d20e66bede8747f6447b">setYMoveFinished</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a5c2a9f33763e1c2c7f526227ad3d03fa"></a><!-- doxytag: member="PrintLine::setZMoveFinished" ref="a5c2a9f33763e1c2c7f526227ad3d03fa" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a5c2a9f33763e1c2c7f526227ad3d03fa">setZMoveFinished</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ad91731df82d6fff7e14a54e1799d0240"></a><!-- doxytag: member="PrintLine::startXStep" ref="ad91731df82d6fff7e14a54e1799d0240" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#ad91731df82d6fff7e14a54e1799d0240">startXStep</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a977d33618d886abff53e1e8bedbe7537"></a><!-- doxytag: member="PrintLine::startYStep" ref="a977d33618d886abff53e1e8bedbe7537" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_print_line.html#a977d33618d886abff53e1e8bedbe7537">startYStep</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a0dd7c3d82c092f0a9ae892557c4eacee"></a><!-- doxytag: member="PrintLine::startZStep" ref="a0dd7c3d82c092f0a9ae892557c4eacee" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a0dd7c3d82c092f0a9ae892557c4eacee">startZStep</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a009e9504e5d9ca912a7567892e0e60bf"></a><!-- doxytag: member="PrintLine::unblock" ref="a009e9504e5d9ca912a7567892e0e60bf" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a009e9504e5d9ca912a7567892e0e60bf">unblock</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a02b156fb6ea70b1a333ffad181931916"></a><!-- doxytag: member="PrintLine::updateAdvanceSteps" ref="a02b156fb6ea70b1a333ffad181931916" args="(unsigned int v, uint8_t max_loops, bool accelerate)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a02b156fb6ea70b1a333ffad181931916">updateAdvanceSteps</a> </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>max_loops</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>accelerate</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ad7634c34ecbb519f55ce563c68e34a35"></a><!-- doxytag: member="PrintLine::updateStepsParameter" ref="ad7634c34ecbb519f55ce563c68e34a35" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#ad7634c34ecbb519f55ce563c68e34a35">updateStepsParameter</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Update parameter used by updateTrapezoids</p>
<p>Computes the acceleration/decelleration steps and advanced parameter associated. </p>
</div>
</div>
<a class="anchor" id="ae0e4f0562f9d7c223b6024a619205b60"></a><!-- doxytag: member="PrintLine::updateTrapezoids" ref="ae0e4f0562f9d7c223b6024a619205b60" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#ae0e4f0562f9d7c223b6024a619205b60">updateTrapezoids</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This is the path planner.</p>
<p>It goes from the last entry and tries to increase the end speed of previous moves in a fashion that the maximum jerk is never exceeded. If a segment with reached maximum speed is met, the planner stops. Everything left from this is already optimal from previous updates. The first 2 entries in the queue are not checked. The first is the one that is already in print and the following will likely become active.</p>
<p>The method is called before lines_count is increased! </p>
</div>
</div>
<a class="anchor" id="a25fdee8d93b7445b19b2531646ac2bd5"></a><!-- doxytag: member="PrintLine::waitForXFreeLines" ref="a25fdee8d93b7445b19b2531646ac2bd5" args="(uint8_t b=1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_print_line.html#a25fdee8d93b7445b19b2531646ac2bd5">waitForXFreeLines</a> </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>b</em> = <code>1</code></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a9100ab40407fd382a882168b2001f3a3"></a><!-- doxytag: member="PrintLine::UIDisplay" ref="a9100ab40407fd382a882168b2001f3a3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="class_u_i_display.html">UIDisplay</a><code> [friend]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<hr/><h2>Field Documentation</h2>
<a class="anchor" id="ab31effe773625c44619f5de770c2596f"></a><!-- doxytag: member="PrintLine::accelerationDistance2" ref="ab31effe773625c44619f5de770c2596f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_print_line.html#ab31effe773625c44619f5de770c2596f">accelerationDistance2</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Real 2.0*distanceÜacceleration mm²/s² </p>
</div>
</div>
<a class="anchor" id="ab47d96a0400955944bcb72926bd98841"></a><!-- doxytag: member="PrintLine::accelerationPrim" ref="ab47d96a0400955944bcb72926bd98841" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned long <a class="el" href="class_print_line.html#ab47d96a0400955944bcb72926bd98841">accelerationPrim</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Acceleration along primary axis. </p>
</div>
</div>
<a class="anchor" id="afd69a1548f5674700c6ba5fd6a55914c"></a><!-- doxytag: member="PrintLine::accelSteps" ref="afd69a1548f5674700c6ba5fd6a55914c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="class_print_line.html#afd69a1548f5674700c6ba5fd6a55914c">accelSteps</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>How much steps does it take, to reach the plateau. </p>
</div>
</div>
<a class="anchor" id="a272556ffc75dd36b17dba53b9e81de88"></a><!-- doxytag: member="PrintLine::cur" ref="a272556ffc75dd36b17dba53b9e81de88" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_print_line.html">PrintLine</a> * <a class="el" href="class_print_line.html#a272556ffc75dd36b17dba53b9e81de88">cur</a> = 0<code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Current printing line. </p>
</div>
</div>
<a class="anchor" id="a9ff32dda312a8ba553474117042721d4"></a><!-- doxytag: member="PrintLine::decelSteps" ref="a9ff32dda312a8ba553474117042721d4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="class_print_line.html#a9ff32dda312a8ba553474117042721d4">decelSteps</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>How much steps does it take, to reach the end speed. </p>
</div>
</div>
<a class="anchor" id="acddb9b941799c58b09b9ba557a550ba9"></a><!-- doxytag: member="PrintLine::delta" ref="acddb9b941799c58b09b9ba557a550ba9" args="[4]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">long <a class="el" href="class_print_line.html#acddb9b941799c58b09b9ba557a550ba9">delta</a>[4]<code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Steps we want to move. </p>
</div>
</div>
<a class="anchor" id="a92abda0bec7c1c978fe96f87aad18067"></a><!-- doxytag: member="PrintLine::dir" ref="a92abda0bec7c1c978fe96f87aad18067" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_print_line.html#a92abda0bec7c1c978fe96f87aad18067">dir</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Direction of movement. 1 = X+, 2 = Y+, 4= Z+, values can be combined. </p>
</div>
</div>
<a class="anchor" id="a06f14a9abd47b91465f895d5259cdc1b"></a><!-- doxytag: member="PrintLine::distance" ref="a06f14a9abd47b91465f895d5259cdc1b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_print_line.html#a06f14a9abd47b91465f895d5259cdc1b">distance</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="adefb2a3853aa8166b3fb2940d7a78622"></a><!-- doxytag: member="PrintLine::endSpeed" ref="adefb2a3853aa8166b3fb2940d7a78622" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_print_line.html#adefb2a3853aa8166b3fb2940d7a78622">endSpeed</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Exit speed in mm/s. </p>
</div>
</div>
<a class="anchor" id="a3c6de671d3ddb66984484dc28d461238"></a><!-- doxytag: member="PrintLine::error" ref="a3c6de671d3ddb66984484dc28d461238" args="[4]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">long <a class="el" href="class_print_line.html#a3c6de671d3ddb66984484dc28d461238">error</a>[4]<code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Error calculation for Bresenham algorithm. </p>
</div>
</div>
<a class="anchor" id="a10fa1d8f9dc6cdc51e12bbd86b964b01"></a><!-- doxytag: member="PrintLine::fAcceleration" ref="a10fa1d8f9dc6cdc51e12bbd86b964b01" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned long <a class="el" href="class_print_line.html#a10fa1d8f9dc6cdc51e12bbd86b964b01">fAcceleration</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>accelerationPrim*262144/F_CPU </p>
</div>
</div>
<a class="anchor" id="a27ac1730f3c9b0d5935ac0c406f7b9f3"></a><!-- doxytag: member="PrintLine::flags" ref="a27ac1730f3c9b0d5935ac0c406f7b9f3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile uint8_t <a class="el" href="class_print_line.html#a27ac1730f3c9b0d5935ac0c406f7b9f3">flags</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a0ca91033188e4f8b4b51caac393d8fe8"></a><!-- doxytag: member="PrintLine::fullInterval" ref="a0ca91033188e4f8b4b51caac393d8fe8" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="_h_a_l_8h.html#a91c2da9328232ca544377f4be938288d">ticks_t</a> <a class="el" href="class_print_line.html#a0ca91033188e4f8b4b51caac393d8fe8">fullInterval</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>interval at full speed in ticks/step. </p>
</div>
</div>
<a class="anchor" id="af2dda87e11a7a84a9ae816f22066d84f"></a><!-- doxytag: member="PrintLine::fullSpeed" ref="af2dda87e11a7a84a9ae816f22066d84f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_print_line.html#af2dda87e11a7a84a9ae816f22066d84f">fullSpeed</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Desired speed mm/s. </p>
</div>
</div>
<a class="anchor" id="aa5bb967d7e0b7e9ec796f65835ee9d6e"></a><!-- doxytag: member="PrintLine::halfStep" ref="aa5bb967d7e0b7e9ec796f65835ee9d6e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_print_line.html#aa5bb967d7e0b7e9ec796f65835ee9d6e">halfStep</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>4 = disabled, 1 = halfstep, 2 = fulstep </p>
</div>
</div>
<a class="anchor" id="a0009fafd27bac173d490371b1c325202"></a><!-- doxytag: member="PrintLine::invFullSpeed" ref="a0009fafd27bac173d490371b1c325202" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_print_line.html#a0009fafd27bac173d490371b1c325202">invFullSpeed</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>1.0/fullSpeed for fatser computation </p>
</div>
</div>
<a class="anchor" id="a929492d0ab9b4ea4338f81381d08e63e"></a><!-- doxytag: member="PrintLine::joinFlags" ref="a929492d0ab9b4ea4338f81381d08e63e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_print_line.html#a929492d0ab9b4ea4338f81381d08e63e">joinFlags</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a3fc3b5578c9735d1af55e62111fb9f03"></a><!-- doxytag: member="PrintLine::lines" ref="a3fc3b5578c9735d1af55e62111fb9f03" args="[]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_print_line.html">PrintLine</a> <a class="el" href="class_print_line.html#a3fc3b5578c9735d1af55e62111fb9f03">lines</a><code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Cache for print moves. </p>
</div>
</div>
<a class="anchor" id="a01dcbe9b4aff4513724de52cc33c43ef"></a><!-- doxytag: member="PrintLine::linesCount" ref="a01dcbe9b4aff4513724de52cc33c43ef" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile uint8_t <a class="el" href="class_print_line.html#a01dcbe9b4aff4513724de52cc33c43ef">linesCount</a> = 0<code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Number of lines cached 0 = nothing to do. </p>
</div>
</div>
<a class="anchor" id="acad7185c78a2f5cdae2ca5c2d33e0098"></a><!-- doxytag: member="PrintLine::linesPos" ref="acad7185c78a2f5cdae2ca5c2d33e0098" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_print_line.html#acad7185c78a2f5cdae2ca5c2d33e0098">linesPos</a> = 0<code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Position for executing line movement. </p>
</div>
</div>
<a class="anchor" id="a9b6dff2988e435415f372da23ed41ea1"></a><!-- doxytag: member="PrintLine::linesWritePos" ref="a9b6dff2988e435415f372da23ed41ea1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_print_line.html#a9b6dff2988e435415f372da23ed41ea1">linesWritePos</a> = 0<code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Position where we write the next cached line move. </p>
</div>
</div>
<a class="anchor" id="a2f126b0724528257a5906804414175c3"></a><!-- doxytag: member="PrintLine::maxJunctionSpeed" ref="a2f126b0724528257a5906804414175c3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_print_line.html#a2f126b0724528257a5906804414175c3">maxJunctionSpeed</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Max. junction speed between this and next segment. </p>
</div>
</div>
<a class="anchor" id="abdc3d6a5585f0a78d67b3b51fb38e618"></a><!-- doxytag: member="PrintLine::minSpeed" ref="abdc3d6a5585f0a78d67b3b51fb38e618" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_print_line.html#abdc3d6a5585f0a78d67b3b51fb38e618">minSpeed</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="aef1b1ee43dd2cf1e9322f6c2c946c145"></a><!-- doxytag: member="PrintLine::nlFlag" ref="aef1b1ee43dd2cf1e9322f6c2c946c145" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile bool <a class="el" href="class_print_line.html#aef1b1ee43dd2cf1e9322f6c2c946c145">nlFlag</a><code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a07bea818f3a912947549699bfdef6a73"></a><!-- doxytag: member="PrintLine::primaryAxis" ref="a07bea818f3a912947549699bfdef6a73" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_print_line.html#a07bea818f3a912947549699bfdef6a73">primaryAxis</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ab246a6f56412557306bd8525bec07765"></a><!-- doxytag: member="PrintLine::speedE" ref="ab246a6f56412557306bd8525bec07765" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_print_line.html#ab246a6f56412557306bd8525bec07765">speedE</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Speed in E direction at fullInterval in mm/s. </p>
</div>
</div>
<a class="anchor" id="aa0076a8395b89235fd3411ef7f96bc99"></a><!-- doxytag: member="PrintLine::speedX" ref="aa0076a8395b89235fd3411ef7f96bc99" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_print_line.html#aa0076a8395b89235fd3411ef7f96bc99">speedX</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Speed in x direction at fullInterval in mm/s. </p>
</div>
</div>
<a class="anchor" id="a742025f2597ee001a8c61abea1070f0b"></a><!-- doxytag: member="PrintLine::speedY" ref="a742025f2597ee001a8c61abea1070f0b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_print_line.html#a742025f2597ee001a8c61abea1070f0b">speedY</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Speed in y direction at fullInterval in mm/s. </p>
</div>
</div>
<a class="anchor" id="aec11ac0ec6a0c95d25828f3a5d38f8d3"></a><!-- doxytag: member="PrintLine::speedZ" ref="aec11ac0ec6a0c95d25828f3a5d38f8d3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_print_line.html#aec11ac0ec6a0c95d25828f3a5d38f8d3">speedZ</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Speed in z direction at fullInterval in mm/s. </p>
</div>
</div>
<a class="anchor" id="a0976722c9e2db986c298e6de2f0a966c"></a><!-- doxytag: member="PrintLine::startSpeed" ref="a0976722c9e2db986c298e6de2f0a966c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_print_line.html#a0976722c9e2db986c298e6de2f0a966c">startSpeed</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Staring speed in mm/s. </p>
</div>
</div>
<a class="anchor" id="a5a87d2c42cc21fa0022be9e1450a6877"></a><!-- doxytag: member="PrintLine::stepsRemaining" ref="a5a87d2c42cc21fa0022be9e1450a6877" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">long <a class="el" href="class_print_line.html#a5a87d2c42cc21fa0022be9e1450a6877">stepsRemaining</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Remaining steps, until move is finished. </p>
</div>
</div>
<a class="anchor" id="a606788ac5a4df6a49dac455473a1bb73"></a><!-- doxytag: member="PrintLine::timeInTicks" ref="a606788ac5a4df6a49dac455473a1bb73" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">long <a class="el" href="class_print_line.html#a606788ac5a4df6a49dac455473a1bb73">timeInTicks</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="abd65545ed253eff8f6e3ca4b888e5bf2"></a><!-- doxytag: member="PrintLine::vEnd" ref="abd65545ed253eff8f6e3ca4b888e5bf2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="_h_a_l_8h.html#a14a0666abcf3bb67c7ff400b4a450467">speed_t</a> <a class="el" href="class_print_line.html#abd65545ed253eff8f6e3ca4b888e5bf2">vEnd</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>End speed in steps/s. </p>
</div>
</div>
<a class="anchor" id="a75a36d8192c1f543a9998466dbcdc8ce"></a><!-- doxytag: member="PrintLine::vMax" ref="a75a36d8192c1f543a9998466dbcdc8ce" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="_h_a_l_8h.html#a14a0666abcf3bb67c7ff400b4a450467">speed_t</a> <a class="el" href="class_print_line.html#a75a36d8192c1f543a9998466dbcdc8ce">vMax</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Maximum reached speed in steps/s. </p>
</div>
</div>
<a class="anchor" id="abe84967de3e7dd73e62a911c58dda57b"></a><!-- doxytag: member="PrintLine::vStart" ref="abe84967de3e7dd73e62a911c58dda57b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="_h_a_l_8h.html#a14a0666abcf3bb67c7ff400b4a450467">speed_t</a> <a class="el" href="class_print_line.html#abe84967de3e7dd73e62a911c58dda57b">vStart</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Starting speed in steps/s. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/ArduinoAVR/Repetier/<a class="el" href="motion_8h_source.html">motion.h</a></li>
<li>src/ArduinoAVR/Repetier/<a class="el" href="motion_8cpp.html">motion.cpp</a></li>
</ul>
</div><!-- contents -->
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="class_print_line.html">PrintLine</a> </li>
<li class="footer">Generated on Mon Dec 30 2013 18:53:03 for Repetier-Firmware by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
</ul>
</div>
</body>
</html>