<G-word>G17 G20 G90 G94 G54</G-word><br/>
<G-word>G0 </G-word><Coordinate>Z</Coordinate><Number>0.25</Number><br/>
<Comment>; bla bla</Comment><br/>
<Coordinate>X</Coordinate><Operator>-</Operator><Number>0.5 </Number><Coordinate>Y</Coordinate><Number>0.</Number><br/>
<Coordinate>Z</Coordinate><Number>0.1</Number><br/>
<G-word>G01 </G-word><Coordinate>Z</Coordinate><Number>0. </Number><Tool>F</Tool><Number>5.</Number><br/>
<G-word>G02 </G-word><Coordinate>X</Coordinate><Number>0. </Number><Coordinate>Y</Coordinate><Number>0.5 </Number><G-options>I</G-options><Number>0.5 </Number><G-options>J</G-options><Number>0. </Number><Tool>F</Tool><Number>2.5</Number><br/>
<Coordinate>X</Coordinate><Number>0.5 </Number><Coordinate>Y</Coordinate><Number>0. </Number><G-options>I</G-options><Number>0. </Number><G-options>J</G-options><Operator>-</Operator><Number>0.5</Number><br/>
<Coordinate>X</Coordinate><Number>0. </Number><Coordinate>Y</Coordinate><Operator>-</Operator><Number>0.5 </Number><G-options>I</G-options><Operator>-</Operator><Number>0.5 </Number><G-options>J</G-options><Number>0.</Number><br/>
<Coordinate>X</Coordinate><Operator>-</Operator><Number>0.5 </Number><Coordinate>Y</Coordinate><Number>0. </Number><G-options>I</G-options><Number>0. </Number><G-options>J</G-options><Number>0.5</Number><br/>
<G-word>G01 </G-word><Coordinate>Z</Coordinate><Number>0.1 </Number><Tool>F</Tool><Number>5.</Number><br/>
<G-word>G00 </G-word><Coordinate>X</Coordinate><Number>0. </Number><Coordinate>Y</Coordinate><Number>0. </Number><Coordinate>Z</Coordinate><Number>0.25</Number><br/>
<Param (global)>#3 </Param (global)><Operator>=</Operator><Normal Text> </Normal Text><Number>15 </Number><Comment>(message)</Comment><br/>
<G-word>G 0 0 0 </G-word><Operator>*</Operator><Number>71</Number><br/>
<G-word>G91 </G-word><G-options>@</G-options><Number>.5 </Number><G-options>^</G-options><Number>90</Number><br/>
<O-word>o100 </O-word><Keyword>if</Keyword><Normal Text> </Normal Text><Brackets>[</Brackets><Param (global)>#5399 </Param (global)><Operator>EQ</Operator><Normal Text> </Normal Text><Operator>-</Operator><Number>1</Number><Brackets>]</Brackets><br/>
<Normal Text>    </Normal Text><Message>(MSG, Arc Timeout)</Message><br/>
<Normal Text>    </Normal Text><G-word>G0 </G-word><Coordinate>Z</Coordinate><Number>0.5</Number><br/>
<Normal Text>    </Normal Text><Coordinate>X</Coordinate><Number>0 </Number><Coordinate>Y</Coordinate><Number>0</Number><br/>
<Normal Text>    </Normal Text><M-word>M2 </M-word><Comment>(stop processing here)</Comment><br/>
<O-word>o100</O-word><br/>
<M-word>M1</M-word><br/>
<M-word>M10</M-word><br/>
<M-word (user)>M100</M-word (user)><br/>
<M-word>M1000</M-word><br/>
<M-word>M20</M-word><br/>
<M-word>M200</M-word><br/>
<Line Number>N2 </Line Number><G-word>G0</G-word><br/>
<Alert>O<></Alert><br/>
<Alert>O< ></Alert><br/>
<O-word>O<a></O-word><br/>
<O-word>O12</O-word><br/>
<Param (global)>#12 #<_a></Param (global)><Normal Text> </Normal Text><Param (local)>#<a></Param (local)><Normal Text> </Normal Text><Param (local)>##</Param (local)><br/>
<Alert>#<></Alert><br/>
<Alert>###</Alert><br/>
<M-word>M84 </M-word><G-options>E</G-options><Number>0</Number><Operator>:</Operator><Number>1</Number><Operator>:</Operator><Number>2</Number><Operator>:</Operator><Number>3</Number><Operator>:</Operator><Number>4</Number><br/>
<M-word>M587 </M-word><Tool>S</Tool><String>"MYROUTER"</String><Normal Text> </Normal Text><G-options>P</G-options><String>"ABC</String><Special String Char>'</Special String Char><String>X</String><Special String Char>'</Special String Char><String>Y</String><Special String Char>'</Special String Char><String>Z;</String><Special String Char>"</Special String Char><String>" 123"</String><Normal Text> </Normal Text><Number>123</Number><br/>
<G-word>G1 </G-word><Coordinate>X</Coordinate><Operator>{</Operator><Normal Text>move.axes</Normal Text><Brackets>[</Brackets><Number>0</Number><Brackets>]</Brackets><Normal Text>.</Normal Text><Function>max</Function><Operator>-</Operator><Number>5</Number><Operator>}</Operator><Normal Text> </Normal Text><Coordinate>Y</Coordinate><Operator>{</Operator><Normal Text>move.axes</Normal Text><Brackets>[</Brackets><Number>1</Number><Brackets>]</Brackets><Normal Text>.</Normal Text><Function>min</Function><Operator>+</Operator><Number>5</Number><Operator>}</Operator><Normal Text> </Normal Text><Tool>F</Tool><Number>6000 </Number><Comment>; move to 5mm short of the X and Y axis limits</Comment><br/>
<Function>exists</Function><Comment>(global.defaultSpeed)</Comment><br/>
<O-word>o1001 </O-word><Keyword>while</Keyword><Normal Text> </Normal Text><Brackets>[</Brackets><Param (global)>#11 </Param (global)><Operator>LE</Operator><Normal Text> </Normal Text><Param (global)>#5</Param (global)><Brackets>]</Brackets><br/>
<Normal Text>    </Normal Text><Param (global)>#10 </Param (global)><Operator>=</Operator><Normal Text> </Normal Text><Brackets>[</Brackets><Param (global)>#14 </Param (global)><Operator>*</Operator><Normal Text> </Normal Text><Param (global)>#11 </Param (global)><Operator>/</Operator><Normal Text> </Normal Text><Param (global)>#5</Param (global)><Brackets>]</Brackets><br/>
<Normal Text>    </Normal Text><Param (global)>#12 </Param (global)><Operator>=</Operator><Normal Text> </Normal Text><Brackets>[</Brackets><Param (global)>#1 </Param (global)><Operator>+</Operator><Normal Text> </Normal Text><Brackets>[</Brackets><Param (global)>#3 </Param (global)><Operator>*</Operator><Normal Text> </Normal Text><Function>cos</Function><Brackets>[</Brackets><Param (global)>#10</Param (global)><Brackets>]]]</Brackets><br/>
<Normal Text>    </Normal Text><Param (global)>#13 </Param (global)><Operator>=</Operator><Normal Text> </Normal Text><Brackets>[</Brackets><Param (global)>#2 </Param (global)><Operator>+</Operator><Normal Text> </Normal Text><Brackets>[</Brackets><Param (global)>#4 </Param (global)><Operator>*</Operator><Normal Text> </Normal Text><Function>sin</Function><Brackets>[</Brackets><Param (global)>#10</Param (global)><Brackets>]]]</Brackets><br/>
<Normal Text>    </Normal Text><G-word>g1 </G-word><Coordinate>x</Coordinate><Param (global)>#12 </Param (global)><Coordinate>y</Coordinate><Param (global)>#13</Param (global)><br/>
<Normal Text>    </Normal Text><Param (global)>#11 </Param (global)><Operator>=</Operator><Normal Text> </Normal Text><Brackets>[</Brackets><Param (global)>#11 </Param (global)><Operator>+</Operator><Normal Text> </Normal Text><Number>1</Number><Brackets>]</Brackets><br/>
<O-word>o1001 </O-word><Keyword>endwhile</Keyword><br/>
<G-word>g0 </G-word><Coordinate>z</Coordinate><Param (global)>#7</Param (global)><br/>
<O-word>o1000 </O-word><Sub-program>endsub</Sub-program><br/>
<Comment>(call it like this)</Comment><br/>
<Tool>f</Tool><Number>10</Number><br/>
<O-word>o1000 </O-word><Sub-program>call</Sub-program><Normal Text> </Normal Text><Brackets>[</Brackets><Number>0</Number><Brackets>]</Brackets><Normal Text> </Normal Text><Brackets>[</Brackets><Number>0</Number><Brackets>]</Brackets><Normal Text> </Normal Text><Brackets>[</Brackets><Number>1</Number><Brackets>]</Brackets><Normal Text> </Normal Text><Brackets>[</Brackets><Number>2</Number><Brackets>]</Brackets><Normal Text> </Normal Text><Brackets>[</Brackets><Number>200</Number><Brackets>]</Brackets><Normal Text> </Normal Text><Brackets>[</Brackets><Operator>-</Operator><Number>1</Number><Brackets>]</Brackets><Normal Text> </Normal Text><Brackets>[</Brackets><Number>2</Number><Brackets>]</Brackets><br/>
<Comment>; RepRapFirmware Programming constructs</Comment><br/>
<Keyword>while</Keyword><Normal Text> </Normal Text><Constant>true</Constant><br/>
<Normal Text>  </Normal Text><Keyword>if</Keyword><Normal Text> </Normal Text><Constant>iterations</Constant><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><Number>5</Number><br/>
<Normal Text>    </Normal Text><Keyword>abort</Keyword><Normal Text> </Normal Text><String>"Too many auto calibration attempts"</String><br/>
<Alert>ds</Alert><br/>
