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

1396 wiersze
66 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: GCode 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_g_code.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="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</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">GCode Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="GCode" -->
<p><code>#include &lt;<a class="el" href="gcode_8h_source.html">gcode.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_g_code.html#ad627b9fcc8742c59b50cc2ff75986fdf">hasM</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a354c07e91d9f07e5dca7e702c424a2be">hasN</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a0fee0af21babbf94aaea313b312b67b2">hasG</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a59610b3c566738910cef263d6e314d2c">hasX</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#aa9c73c80f058ed5aff18418857b9fc8c">hasY</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a5ce957691cde1a890ea983593834c86a">hasZ</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#aa6448ba2fc12604bd9981ae39273550b">hasNoXYZ</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a7db24ad7e9be70fcf07c0f8ed09f63d4">hasE</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a92de511ac42283493d3cf4845f7825b0">hasF</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a0bc3484c6cd5c74e6f4d3b5842c6451a">hasT</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a7cba976d76f48125857f8265579d63b8">hasS</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a72b307016fc4535d3cfb5ab45685b889">hasP</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a1da244d7365de529cc6b0d25004fde0e">isV2</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#afd8cb53cedf0a0bb6e421e5dba2b063b">hasString</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#ae14c39e21746b24bead2b12f84580957">hasI</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#aefa13cb17bef643abd208b729c8d2846">hasJ</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a08ac8451ce63fab8971d58eb9ace5f78">hasR</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a8e6c5c0ccbc59fc5d684c4cb0583ae7e">getS</a> (long def)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a456e07f5d7f05f2b881221b84bd4d3e1">getP</a> (long def)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a308eedbe63c4ddf89087fcd169788bd7">setFormatError</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a6a7825dd8d9d215960db16ef1718ad55">hasFormatError</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#afc4ad19d7a76a9a51093686c3885e3f6">printCommand</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Print command on serial console. <a href="#afc4ad19d7a76a9a51093686c3885e3f6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a5f5eab7f0c0bdd111bd7e9d4861d2db5">parseBinary</a> (uint8_t *buffer, bool fromSerial)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a6dbf91c2f4a8af6b5a9b71999aee74b2">parseAscii</a> (char *line, bool fromSerial)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#adace9de265fd44792952c40b1f450eb8">popCurrentCommand</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the last returned command from cache. <a href="#adace9de265fd44792952c40b1f450eb8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a407282f1098168f0cd39ac76e71f9017">echoCommand</a> ()</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 <a class="el" href="class_g_code.html">GCode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#af9d3b5b05e1283ab71cc535cf665afde">peekCurrentCommand</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_g_code.html#a87ea6987f10bd02eed4df0f5325addbc">readFromSerial</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read from serial console or sdcard. <a href="#a87ea6987f10bd02eed4df0f5325addbc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#ae32a41a97c43d9dcbf3adeb4c2166fcd">pushCommand</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_g_code.html#a91c98381184c2887d0d9fec16db0f073">executeFString</a> (<a class="el" href="_h_a_l_8h.html#a6c7567c1812b6b6ca9067377476ddc4e">FSTRINGPARAM</a>(cmd))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute commands in progmem stored string. Multiple commands are seperated by <br/>
. <a href="#a91c98381184c2887d0d9fec16db0f073"></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_g_code.html#a08303c4786704f45a8f45077195a7cd1">computeBinarySize</a> (char *ptr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes size of binary data from bitfield. <a href="#a08303c4786704f45a8f45077195a7cd1"></a><br/></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">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#ae8b170dcb376fe60270f4675f84e4477">N</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a68dc0bf731afd0463b8e8cc4ed81c0f8">M</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a8f7aab5ea8436167078632d62232a98a">G</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#ab3c4b737dfc5c78a6aba50dda616f7c3">X</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#ac915220fb659eb2c5958a1ccd81b80d4">Y</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#aa65967cca170d24dcd0d555df0d5ee4f">Z</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a5b514bbfa4713e7bcf9c6a367cb6ebfe">E</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a9ab4bd02302051f763e80ede43fcac71">F</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_g_code.html#a15d9493667828f95bcd674193a8ed3bb">T</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a531ffbc18075585b12607aff08fec9b0">S</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#ad510039b7e7f97aaedeeda277b423624">P</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a145f61de888f096c52a2945234a407b0">I</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a7c20f6b5c2b8c830d450944735b761b3">J</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a4c4b08e61e92b3da1ed512f4e006f34a">R</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a5633b1433389cec21ade3811bbe9ca5b">text</a></td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#aed1ee228d8ce301755b4be98266674f2">debugCommandBuffer</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a3854665196b54a5c671986a0a4c86d0a">checkAndPushCommand</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a0bfee121128af24724c5cd4590b5975e">parseFloatValue</a> (char *s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a917cf7c98ac341743ea4d2e3ca750b71">parseLongValue</a> (char *s)</td></tr>
<tr><td colspan="2"><h2><a name="pri-static-methods"></a>
Static Private 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_g_code.html#aa839f66e08d9ef994b8ac4e3bcd80b7a">requestResend</a> ()</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">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a9575eb2cccc85ee4d0800ceca524e220">params</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#acfbeb6013604a585552007021f3236ba">params2</a></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 <a class="el" href="class_g_code.html">GCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a4a5a5d3e1e9bb4c0aff0d3d46bfb702d">commandsBuffered</a> [<a class="el" href="_configuration_8h.html#af6168edd26520974b8660182d040051a">GCODE_BUFFER_SIZE</a>]</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer for received commands. <a href="#a4a5a5d3e1e9bb4c0aff0d3d46bfb702d"></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_g_code.html#abd13795558ced02f98624f5f4145e8a1">bufferReadIndex</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read position in gcode_buffer. <a href="#abd13795558ced02f98624f5f4145e8a1"></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_g_code.html#aa6d981ef713911418ac058dd7b540b88">bufferWriteIndex</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Write position in gcode_buffer. <a href="#aa6d981ef713911418ac058dd7b540b88"></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_g_code.html#aeb7bfeac07657aa04dbd1972987ef566">commandReceiving</a> [<a class="el" href="gcode_8h.html#a11b2387a44dc0cf3642ddcbe0581276b">MAX_CMD_SIZE</a>]</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Current received command. <a href="#aeb7bfeac07657aa04dbd1972987ef566"></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_g_code.html#a7ae416230b7eaad8baf7876f704c8ed3">commandsReceivingWritePosition</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writing position in gcode_transbuffer. <a href="#a7ae416230b7eaad8baf7876f704c8ed3"></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_g_code.html#a1da565449e87769fab2ad8ed464f7fb4">sendAsBinary</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags the command as binary input. <a href="#a1da565449e87769fab2ad8ed464f7fb4"></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_g_code.html#a46c7e4d550a684389e4a2679285c9426">wasLastCommandReceivedAsBinary</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Was the last successful command in binary mode? <a href="#a46c7e4d550a684389e4a2679285c9426"></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_g_code.html#a2cf13f01620e29dce6e5d5beae802a6a">commentDetected</a> = false</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags true if we are reading the comment part of a command. <a href="#a2cf13f01620e29dce6e5d5beae802a6a"></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_g_code.html#a6857647781cb268444d0db1e4f740895">binaryCommandSize</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Expected size of the incoming binary command. <a href="#a6857647781cb268444d0db1e4f740895"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#afb85e3546bdc44fa2de39178024313e6">waitUntilAllCommandsAreParsed</a> = false</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Don't read until all commands are parsed. Needed if gcode_buffer is misused as storage for strings. <a href="#afb85e3546bdc44fa2de39178024313e6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a1e2b8fd7b74923d5095f172fa664c1dc">lastLineNumber</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Last line number received. <a href="#a1e2b8fd7b74923d5095f172fa664c1dc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#ad5ce1c5e04a84d9eabc4eee25eaf7044">actLineNumber</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Line number of current command. <a href="#ad5ce1c5e04a84d9eabc4eee25eaf7044"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#ad3540c61877acc4ccbc151e51c8f4571">waitingForResend</a> = -1</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Waiting for line to be resend. -1 = no wait. <a href="#ad3540c61877acc4ccbc151e51c8f4571"></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_g_code.html#af50d7a77c05ce98bdf4ac183d3083345">bufferLength</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of commands stored in gcode_buffer. <a href="#af50d7a77c05ce98bdf4ac183d3083345"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="_h_a_l_8h.html#ab14fc3b0e7b9535ec25836108ce96a45">millis_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a83e62d4a64a948fdfb38781ece3c907a">timeOfLastDataPacket</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Time, when we got the last data packet. Used to detect missing uint8_ts. <a href="#a83e62d4a64a948fdfb38781ece3c907a"></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_g_code.html#aeabd970d3e418187a82adf4fbb0894c0">formatErrors</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of sequential format errors. <a href="#aeabd970d3e418187a82adf4fbb0894c0"></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_g_code.html#a0d5f139d8b7a8991eefe478b40b1c60e">SDCard</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_code.html#a9100ab40407fd382a882168b2001f3a3">UIDisplay</a></td></tr>
</table>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a3854665196b54a5c671986a0a4c86d0a"></a><!-- doxytag: member="GCode::checkAndPushCommand" ref="a3854665196b54a5c671986a0a4c86d0a" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_g_code.html#a3854665196b54a5c671986a0a4c86d0a">checkAndPushCommand</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Check if result is plausible. If it is, an ok is send and the command is stored in queue. If not, a resend and ok is send. </p>
</div>
</div>
<a class="anchor" id="a08303c4786704f45a8f45077195a7cd1"></a><!-- doxytag: member="GCode::computeBinarySize" ref="a08303c4786704f45a8f45077195a7cd1" args="(char *ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_g_code.html#a08303c4786704f45a8f45077195a7cd1">computeBinarySize</a> </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Computes size of binary data from bitfield. </p>
<p>In the repetier-protocol in binary mode, the first 2 uint8_ts define the data. From this bitfield, this function computes the size of the command including the 2 uint8_ts of the bitfield and the 2 uint8_ts for the checksum.</p>
<p>Gcode Letter to Bit and Datatype:</p>
<ul>
<li>N : Bit 0 : 16-Bit Integer</li>
<li>M : Bit 1 : 8-Bit unsigned uint8_t</li>
<li>G : Bit 2 : 8-Bit unsigned uint8_t</li>
<li>X : Bit 3 : 32-Bit Float</li>
<li>Y : Bit 4 : 32-Bit Float</li>
<li>Z : Bit 5 : 32-Bit Float</li>
<li>E : Bit 6 : 32-Bit Float</li>
<li>: Bit 7 : always set to distinguish binary from ASCII line.</li>
<li>F : Bit 8 : 32-Bit Float</li>
<li>T : Bit 9 : 8 Bit Integer</li>
<li>S : Bit 10 : 32 Bit Value</li>
<li>P : Bit 11 : 32 Bit Integer</li>
<li>V2 : Bit 12 : Version 2 command for additional commands/sizes</li>
<li>Ext : Bit 13 : There are 2 more uint8_ts following with Bits, only for future versions</li>
<li>Int :Bit 14 : Marks it as internal command,</li>
<li>Text : Bit 15 : 16 Byte ASCII String terminated with 0 Second word if V2:</li>
<li>I : Bit 0 : 32-Bit float</li>
<li>J : Bit 1 : 32-Bit float</li>
<li>R : Bit 2 : 32-Bit float </li>
</ul>
</div>
</div>
<a class="anchor" id="aed1ee228d8ce301755b4be98266674f2"></a><!-- doxytag: member="GCode::debugCommandBuffer" ref="aed1ee228d8ce301755b4be98266674f2" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_g_code.html#aed1ee228d8ce301755b4be98266674f2">debugCommandBuffer</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a407282f1098168f0cd39ac76e71f9017"></a><!-- doxytag: member="GCode::echoCommand" ref="a407282f1098168f0cd39ac76e71f9017" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_g_code.html#a407282f1098168f0cd39ac76e71f9017">echoCommand</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a91c98381184c2887d0d9fec16db0f073"></a><!-- doxytag: member="GCode::executeFString" ref="a91c98381184c2887d0d9fec16db0f073" args="(FSTRINGPARAM(cmd))" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_g_code.html#a91c98381184c2887d0d9fec16db0f073">executeFString</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="_h_a_l_8h.html#a6c7567c1812b6b6ca9067377476ddc4e">FSTRINGPARAM</a>(cmd)&#160;</td>
<td class="paramname"></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Execute commands in progmem stored string. Multiple commands are seperated by <br/>
. </p>
</div>
</div>
<a class="anchor" id="a456e07f5d7f05f2b881221b84bd4d3e1"></a><!-- doxytag: member="GCode::getP" ref="a456e07f5d7f05f2b881221b84bd4d3e1" args="(long def)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">long <a class="el" href="class_g_code.html#a456e07f5d7f05f2b881221b84bd4d3e1">getP</a> </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>def</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a8e6c5c0ccbc59fc5d684c4cb0583ae7e"></a><!-- doxytag: member="GCode::getS" ref="a8e6c5c0ccbc59fc5d684c4cb0583ae7e" args="(long def)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">long <a class="el" href="class_g_code.html#a8e6c5c0ccbc59fc5d684c4cb0583ae7e">getS</a> </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>def</em></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a7db24ad7e9be70fcf07c0f8ed09f63d4"></a><!-- doxytag: member="GCode::hasE" ref="a7db24ad7e9be70fcf07c0f8ed09f63d4" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#a7db24ad7e9be70fcf07c0f8ed09f63d4">hasE</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="a92de511ac42283493d3cf4845f7825b0"></a><!-- doxytag: member="GCode::hasF" ref="a92de511ac42283493d3cf4845f7825b0" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#a92de511ac42283493d3cf4845f7825b0">hasF</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="a6a7825dd8d9d215960db16ef1718ad55"></a><!-- doxytag: member="GCode::hasFormatError" ref="a6a7825dd8d9d215960db16ef1718ad55" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#a6a7825dd8d9d215960db16ef1718ad55">hasFormatError</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="a0fee0af21babbf94aaea313b312b67b2"></a><!-- doxytag: member="GCode::hasG" ref="a0fee0af21babbf94aaea313b312b67b2" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#a0fee0af21babbf94aaea313b312b67b2">hasG</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="ae14c39e21746b24bead2b12f84580957"></a><!-- doxytag: member="GCode::hasI" ref="ae14c39e21746b24bead2b12f84580957" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#ae14c39e21746b24bead2b12f84580957">hasI</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="aefa13cb17bef643abd208b729c8d2846"></a><!-- doxytag: member="GCode::hasJ" ref="aefa13cb17bef643abd208b729c8d2846" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#aefa13cb17bef643abd208b729c8d2846">hasJ</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="ad627b9fcc8742c59b50cc2ff75986fdf"></a><!-- doxytag: member="GCode::hasM" ref="ad627b9fcc8742c59b50cc2ff75986fdf" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#ad627b9fcc8742c59b50cc2ff75986fdf">hasM</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="a354c07e91d9f07e5dca7e702c424a2be"></a><!-- doxytag: member="GCode::hasN" ref="a354c07e91d9f07e5dca7e702c424a2be" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#a354c07e91d9f07e5dca7e702c424a2be">hasN</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="aa6448ba2fc12604bd9981ae39273550b"></a><!-- doxytag: member="GCode::hasNoXYZ" ref="aa6448ba2fc12604bd9981ae39273550b" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#aa6448ba2fc12604bd9981ae39273550b">hasNoXYZ</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="a72b307016fc4535d3cfb5ab45685b889"></a><!-- doxytag: member="GCode::hasP" ref="a72b307016fc4535d3cfb5ab45685b889" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#a72b307016fc4535d3cfb5ab45685b889">hasP</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="a08ac8451ce63fab8971d58eb9ace5f78"></a><!-- doxytag: member="GCode::hasR" ref="a08ac8451ce63fab8971d58eb9ace5f78" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#a08ac8451ce63fab8971d58eb9ace5f78">hasR</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="a7cba976d76f48125857f8265579d63b8"></a><!-- doxytag: member="GCode::hasS" ref="a7cba976d76f48125857f8265579d63b8" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#a7cba976d76f48125857f8265579d63b8">hasS</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="afd8cb53cedf0a0bb6e421e5dba2b063b"></a><!-- doxytag: member="GCode::hasString" ref="afd8cb53cedf0a0bb6e421e5dba2b063b" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#afd8cb53cedf0a0bb6e421e5dba2b063b">hasString</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="a0bc3484c6cd5c74e6f4d3b5842c6451a"></a><!-- doxytag: member="GCode::hasT" ref="a0bc3484c6cd5c74e6f4d3b5842c6451a" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#a0bc3484c6cd5c74e6f4d3b5842c6451a">hasT</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="a59610b3c566738910cef263d6e314d2c"></a><!-- doxytag: member="GCode::hasX" ref="a59610b3c566738910cef263d6e314d2c" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#a59610b3c566738910cef263d6e314d2c">hasX</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="aa9c73c80f058ed5aff18418857b9fc8c"></a><!-- doxytag: member="GCode::hasY" ref="aa9c73c80f058ed5aff18418857b9fc8c" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#aa9c73c80f058ed5aff18418857b9fc8c">hasY</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="a5ce957691cde1a890ea983593834c86a"></a><!-- doxytag: member="GCode::hasZ" ref="a5ce957691cde1a890ea983593834c86a" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#a5ce957691cde1a890ea983593834c86a">hasZ</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="a1da244d7365de529cc6b0d25004fde0e"></a><!-- doxytag: member="GCode::isV2" ref="a1da244d7365de529cc6b0d25004fde0e" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#a1da244d7365de529cc6b0d25004fde0e">isV2</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="a6dbf91c2f4a8af6b5a9b71999aee74b2"></a><!-- doxytag: member="GCode::parseAscii" ref="a6dbf91c2f4a8af6b5a9b71999aee74b2" args="(char *line, bool fromSerial)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#a6dbf91c2f4a8af6b5a9b71999aee74b2">parseAscii</a> </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>line</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>fromSerial</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Converts a ascii <a class="el" href="class_g_code.html">GCode</a> line into a <a class="el" href="class_g_code.html">GCode</a> structure. </p>
</div>
</div>
<a class="anchor" id="a5f5eab7f0c0bdd111bd7e9d4861d2db5"></a><!-- doxytag: member="GCode::parseBinary" ref="a5f5eab7f0c0bdd111bd7e9d4861d2db5" args="(uint8_t *buffer, bool fromSerial)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#a5f5eab7f0c0bdd111bd7e9d4861d2db5">parseBinary</a> </td>
<td>(</td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>fromSerial</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Converts a binary uint8_tfield containing one <a class="el" href="class_g_code.html">GCode</a> line into a <a class="el" href="class_g_code.html">GCode</a> structure. Returns true if checksum was correct. </p>
</div>
</div>
<a class="anchor" id="a0bfee121128af24724c5cd4590b5975e"></a><!-- doxytag: member="GCode::parseFloatValue" ref="a0bfee121128af24724c5cd4590b5975e" args="(char *s)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_g_code.html#a0bfee121128af24724c5cd4590b5975e">parseFloatValue</a> </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>s</em></td><td>)</td>
<td><code> [inline, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a917cf7c98ac341743ea4d2e3ca750b71"></a><!-- doxytag: member="GCode::parseLongValue" ref="a917cf7c98ac341743ea4d2e3ca750b71" args="(char *s)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">long <a class="el" href="class_g_code.html#a917cf7c98ac341743ea4d2e3ca750b71">parseLongValue</a> </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>s</em></td><td>)</td>
<td><code> [inline, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="af9d3b5b05e1283ab71cc535cf665afde"></a><!-- doxytag: member="GCode::peekCurrentCommand" ref="af9d3b5b05e1283ab71cc535cf665afde" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_g_code.html">GCode</a> * <a class="el" href="class_g_code.html#af9d3b5b05e1283ab71cc535cf665afde">peekCurrentCommand</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get next command in command buffer. After the command is processed, call gcode_command_finished()</p>
<p>Get the next buffered command. Returns 0 if no more commands are buffered. For each returned command, the gcode_command_finished() function must be called. </p>
</div>
</div>
<a class="anchor" id="adace9de265fd44792952c40b1f450eb8"></a><!-- doxytag: member="GCode::popCurrentCommand" ref="adace9de265fd44792952c40b1f450eb8" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_g_code.html#adace9de265fd44792952c40b1f450eb8">popCurrentCommand</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Removes the last returned command from cache. </p>
</div>
</div>
<a class="anchor" id="afc4ad19d7a76a9a51093686c3885e3f6"></a><!-- doxytag: member="GCode::printCommand" ref="afc4ad19d7a76a9a51093686c3885e3f6" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_g_code.html#afc4ad19d7a76a9a51093686c3885e3f6">printCommand</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Print command on serial console. </p>
</div>
</div>
<a class="anchor" id="ae32a41a97c43d9dcbf3adeb4c2166fcd"></a><!-- doxytag: member="GCode::pushCommand" ref="ae32a41a97c43d9dcbf3adeb4c2166fcd" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_g_code.html#ae32a41a97c43d9dcbf3adeb4c2166fcd">pushCommand</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="a87ea6987f10bd02eed4df0f5325addbc"></a><!-- doxytag: member="GCode::readFromSerial" ref="a87ea6987f10bd02eed4df0f5325addbc" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_g_code.html#a87ea6987f10bd02eed4df0f5325addbc">readFromSerial</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Read from serial console or sdcard. </p>
<p>Frees the cache used by the last command fetched.</p>
<p>This function is the main function to read the commands from serial console or from sdcard. It must be called frequently to empty the incoming buffer. </p>
</div>
</div>
<a class="anchor" id="aa839f66e08d9ef994b8ac4e3bcd80b7a"></a><!-- doxytag: member="GCode::requestResend" ref="aa839f66e08d9ef994b8ac4e3bcd80b7a" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_g_code.html#aa839f66e08d9ef994b8ac4e3bcd80b7a">requestResend</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a308eedbe63c4ddf89087fcd169788bd7"></a><!-- doxytag: member="GCode::setFormatError" ref="a308eedbe63c4ddf89087fcd169788bd7" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="class_g_code.html#a308eedbe63c4ddf89087fcd169788bd7">setFormatError</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a0d5f139d8b7a8991eefe478b40b1c60e"></a><!-- doxytag: member="GCode::SDCard" ref="a0d5f139d8b7a8991eefe478b40b1c60e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="class_g_code.html#a0d5f139d8b7a8991eefe478b40b1c60e">SDCard</a><code> [friend]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a9100ab40407fd382a882168b2001f3a3"></a><!-- doxytag: member="GCode::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="ad5ce1c5e04a84d9eabc4eee25eaf7044"></a><!-- doxytag: member="GCode::actLineNumber" ref="ad5ce1c5e04a84d9eabc4eee25eaf7044" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t <a class="el" href="class_g_code.html#ad5ce1c5e04a84d9eabc4eee25eaf7044">actLineNumber</a><code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Line number of current command. </p>
</div>
</div>
<a class="anchor" id="a6857647781cb268444d0db1e4f740895"></a><!-- doxytag: member="GCode::binaryCommandSize" ref="a6857647781cb268444d0db1e4f740895" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_g_code.html#a6857647781cb268444d0db1e4f740895">binaryCommandSize</a><code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Expected size of the incoming binary command. </p>
</div>
</div>
<a class="anchor" id="af50d7a77c05ce98bdf4ac183d3083345"></a><!-- doxytag: member="GCode::bufferLength" ref="af50d7a77c05ce98bdf4ac183d3083345" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile uint8_t <a class="el" href="class_g_code.html#af50d7a77c05ce98bdf4ac183d3083345">bufferLength</a> = 0<code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Number of commands stored in gcode_buffer. </p>
</div>
</div>
<a class="anchor" id="abd13795558ced02f98624f5f4145e8a1"></a><!-- doxytag: member="GCode::bufferReadIndex" ref="abd13795558ced02f98624f5f4145e8a1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_g_code.html#abd13795558ced02f98624f5f4145e8a1">bufferReadIndex</a> = 0<code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Read position in gcode_buffer. </p>
</div>
</div>
<a class="anchor" id="aa6d981ef713911418ac058dd7b540b88"></a><!-- doxytag: member="GCode::bufferWriteIndex" ref="aa6d981ef713911418ac058dd7b540b88" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_g_code.html#aa6d981ef713911418ac058dd7b540b88">bufferWriteIndex</a> = 0<code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Write position in gcode_buffer. </p>
</div>
</div>
<a class="anchor" id="aeb7bfeac07657aa04dbd1972987ef566"></a><!-- doxytag: member="GCode::commandReceiving" ref="aeb7bfeac07657aa04dbd1972987ef566" args="[MAX_CMD_SIZE]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_g_code.html#aeb7bfeac07657aa04dbd1972987ef566">commandReceiving</a><code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Current received command. </p>
</div>
</div>
<a class="anchor" id="a4a5a5d3e1e9bb4c0aff0d3d46bfb702d"></a><!-- doxytag: member="GCode::commandsBuffered" ref="a4a5a5d3e1e9bb4c0aff0d3d46bfb702d" args="[GCODE_BUFFER_SIZE]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_g_code.html">GCode</a> <a class="el" href="class_g_code.html#a4a5a5d3e1e9bb4c0aff0d3d46bfb702d">commandsBuffered</a><code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Buffer for received commands. </p>
</div>
</div>
<a class="anchor" id="a7ae416230b7eaad8baf7876f704c8ed3"></a><!-- doxytag: member="GCode::commandsReceivingWritePosition" ref="a7ae416230b7eaad8baf7876f704c8ed3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_g_code.html#a7ae416230b7eaad8baf7876f704c8ed3">commandsReceivingWritePosition</a> = 0<code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Writing position in gcode_transbuffer. </p>
</div>
</div>
<a class="anchor" id="a2cf13f01620e29dce6e5d5beae802a6a"></a><!-- doxytag: member="GCode::commentDetected" ref="a2cf13f01620e29dce6e5d5beae802a6a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_g_code.html#a2cf13f01620e29dce6e5d5beae802a6a">commentDetected</a> = false<code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Flags true if we are reading the comment part of a command. </p>
</div>
</div>
<a class="anchor" id="a5b514bbfa4713e7bcf9c6a367cb6ebfe"></a><!-- doxytag: member="GCode::E" ref="a5b514bbfa4713e7bcf9c6a367cb6ebfe" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_g_code.html#a5b514bbfa4713e7bcf9c6a367cb6ebfe">E</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a9ab4bd02302051f763e80ede43fcac71"></a><!-- doxytag: member="GCode::F" ref="a9ab4bd02302051f763e80ede43fcac71" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_g_code.html#a9ab4bd02302051f763e80ede43fcac71">F</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="aeabd970d3e418187a82adf4fbb0894c0"></a><!-- doxytag: member="GCode::formatErrors" ref="aeabd970d3e418187a82adf4fbb0894c0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_g_code.html#aeabd970d3e418187a82adf4fbb0894c0">formatErrors</a> = 0<code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Number of sequential format errors. </p>
</div>
</div>
<a class="anchor" id="a8f7aab5ea8436167078632d62232a98a"></a><!-- doxytag: member="GCode::G" ref="a8f7aab5ea8436167078632d62232a98a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="class_g_code.html#a8f7aab5ea8436167078632d62232a98a">G</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a145f61de888f096c52a2945234a407b0"></a><!-- doxytag: member="GCode::I" ref="a145f61de888f096c52a2945234a407b0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_g_code.html#a145f61de888f096c52a2945234a407b0">I</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a7c20f6b5c2b8c830d450944735b761b3"></a><!-- doxytag: member="GCode::J" ref="a7c20f6b5c2b8c830d450944735b761b3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_g_code.html#a7c20f6b5c2b8c830d450944735b761b3">J</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a1e2b8fd7b74923d5095f172fa664c1dc"></a><!-- doxytag: member="GCode::lastLineNumber" ref="a1e2b8fd7b74923d5095f172fa664c1dc" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t <a class="el" href="class_g_code.html#a1e2b8fd7b74923d5095f172fa664c1dc">lastLineNumber</a> = 0<code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Last line number received. </p>
</div>
</div>
<a class="anchor" id="a68dc0bf731afd0463b8e8cc4ed81c0f8"></a><!-- doxytag: member="GCode::M" ref="a68dc0bf731afd0463b8e8cc4ed81c0f8" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="class_g_code.html#a68dc0bf731afd0463b8e8cc4ed81c0f8">M</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ae8b170dcb376fe60270f4675f84e4477"></a><!-- doxytag: member="GCode::N" ref="ae8b170dcb376fe60270f4675f84e4477" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="class_g_code.html#ae8b170dcb376fe60270f4675f84e4477">N</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ad510039b7e7f97aaedeeda277b423624"></a><!-- doxytag: member="GCode::P" ref="ad510039b7e7f97aaedeeda277b423624" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">long <a class="el" href="class_g_code.html#ad510039b7e7f97aaedeeda277b423624">P</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a9575eb2cccc85ee4d0800ceca524e220"></a><!-- doxytag: member="GCode::params" ref="a9575eb2cccc85ee4d0800ceca524e220" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="class_g_code.html#a9575eb2cccc85ee4d0800ceca524e220">params</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="acfbeb6013604a585552007021f3236ba"></a><!-- doxytag: member="GCode::params2" ref="acfbeb6013604a585552007021f3236ba" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int <a class="el" href="class_g_code.html#acfbeb6013604a585552007021f3236ba">params2</a><code> [private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a4c4b08e61e92b3da1ed512f4e006f34a"></a><!-- doxytag: member="GCode::R" ref="a4c4b08e61e92b3da1ed512f4e006f34a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_g_code.html#a4c4b08e61e92b3da1ed512f4e006f34a">R</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a531ffbc18075585b12607aff08fec9b0"></a><!-- doxytag: member="GCode::S" ref="a531ffbc18075585b12607aff08fec9b0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">long <a class="el" href="class_g_code.html#a531ffbc18075585b12607aff08fec9b0">S</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a1da565449e87769fab2ad8ed464f7fb4"></a><!-- doxytag: member="GCode::sendAsBinary" ref="a1da565449e87769fab2ad8ed464f7fb4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_g_code.html#a1da565449e87769fab2ad8ed464f7fb4">sendAsBinary</a><code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Flags the command as binary input. </p>
</div>
</div>
<a class="anchor" id="a15d9493667828f95bcd674193a8ed3bb"></a><!-- doxytag: member="GCode::T" ref="a15d9493667828f95bcd674193a8ed3bb" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_g_code.html#a15d9493667828f95bcd674193a8ed3bb">T</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a5633b1433389cec21ade3811bbe9ca5b"></a><!-- doxytag: member="GCode::text" ref="a5633b1433389cec21ade3811bbe9ca5b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* <a class="el" href="class_g_code.html#a5633b1433389cec21ade3811bbe9ca5b">text</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a83e62d4a64a948fdfb38781ece3c907a"></a><!-- doxytag: member="GCode::timeOfLastDataPacket" ref="a83e62d4a64a948fdfb38781ece3c907a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="_h_a_l_8h.html#ab14fc3b0e7b9535ec25836108ce96a45">millis_t</a> <a class="el" href="class_g_code.html#a83e62d4a64a948fdfb38781ece3c907a">timeOfLastDataPacket</a> = 0<code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Time, when we got the last data packet. Used to detect missing uint8_ts. </p>
</div>
</div>
<a class="anchor" id="ad3540c61877acc4ccbc151e51c8f4571"></a><!-- doxytag: member="GCode::waitingForResend" ref="ad3540c61877acc4ccbc151e51c8f4571" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int8_t <a class="el" href="class_g_code.html#ad3540c61877acc4ccbc151e51c8f4571">waitingForResend</a> = -1<code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Waiting for line to be resend. -1 = no wait. </p>
</div>
</div>
<a class="anchor" id="afb85e3546bdc44fa2de39178024313e6"></a><!-- doxytag: member="GCode::waitUntilAllCommandsAreParsed" ref="afb85e3546bdc44fa2de39178024313e6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="class_g_code.html#afb85e3546bdc44fa2de39178024313e6">waitUntilAllCommandsAreParsed</a> = false<code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Don't read until all commands are parsed. Needed if gcode_buffer is misused as storage for strings. </p>
</div>
</div>
<a class="anchor" id="a46c7e4d550a684389e4a2679285c9426"></a><!-- doxytag: member="GCode::wasLastCommandReceivedAsBinary" ref="a46c7e4d550a684389e4a2679285c9426" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="class_g_code.html#a46c7e4d550a684389e4a2679285c9426">wasLastCommandReceivedAsBinary</a> = 0<code> [static, private]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Was the last successful command in binary mode? </p>
</div>
</div>
<a class="anchor" id="ab3c4b737dfc5c78a6aba50dda616f7c3"></a><!-- doxytag: member="GCode::X" ref="ab3c4b737dfc5c78a6aba50dda616f7c3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_g_code.html#ab3c4b737dfc5c78a6aba50dda616f7c3">X</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ac915220fb659eb2c5958a1ccd81b80d4"></a><!-- doxytag: member="GCode::Y" ref="ac915220fb659eb2c5958a1ccd81b80d4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_g_code.html#ac915220fb659eb2c5958a1ccd81b80d4">Y</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="aa65967cca170d24dcd0d555df0d5ee4f"></a><!-- doxytag: member="GCode::Z" ref="aa65967cca170d24dcd0d555df0d5ee4f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="class_g_code.html#aa65967cca170d24dcd0d555df0d5ee4f">Z</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/ArduinoAVR/Repetier/<a class="el" href="gcode_8h_source.html">gcode.h</a></li>
<li>src/ArduinoAVR/Repetier/<a class="el" href="gcode_8cpp.html">gcode.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_g_code.html">GCode</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>