<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://w.arbores.tech/w/index.php?action=history&amp;feed=atom&amp;title=Leetro</id>
	<title>Leetro - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://w.arbores.tech/w/index.php?action=history&amp;feed=atom&amp;title=Leetro"/>
	<link rel="alternate" type="text/html" href="http://w.arbores.tech/w/index.php?title=Leetro&amp;action=history"/>
	<updated>2026-04-06T23:27:11Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.11</generator>
	<entry>
		<id>http://w.arbores.tech/w/index.php?title=Leetro&amp;diff=16332&amp;oldid=prev</id>
		<title>Daniel K. Schneider: Text replacement - &quot;$&quot; to &quot;
{{edutechwiki}}&quot;</title>
		<link rel="alternate" type="text/html" href="http://w.arbores.tech/w/index.php?title=Leetro&amp;diff=16332&amp;oldid=prev"/>
		<updated>2021-04-10T00:19:21Z</updated>

		<summary type="html">&lt;p&gt;Text replacement - &amp;quot;$&amp;quot; to &amp;quot; {{edutechwiki}}&amp;quot;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:19, 10 April 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l394&quot;&gt;Line 394:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 394:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[category: laser cutting]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[category: laser cutting]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{edutechwiki}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Daniel K. Schneider</name></author>
	</entry>
	<entry>
		<id>http://w.arbores.tech/w/index.php?title=Leetro&amp;diff=15925&amp;oldid=prev</id>
		<title>Daniel K. Schneider: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://w.arbores.tech/w/index.php?title=Leetro&amp;diff=15925&amp;oldid=prev"/>
		<updated>2021-04-09T23:01:38Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 01:01, 10 April 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Daniel K. Schneider</name></author>
	</entry>
	<entry>
		<id>http://w.arbores.tech/w/index.php?title=Leetro&amp;diff=15924&amp;oldid=prev</id>
		<title>edutechwiki_en&gt;Tatarize: /* Leetro Commands */</title>
		<link rel="alternate" type="text/html" href="http://w.arbores.tech/w/index.php?title=Leetro&amp;diff=15924&amp;oldid=prev"/>
		<updated>2020-06-06T08:35:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Leetro Commands&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Leetro =&lt;br /&gt;
&lt;br /&gt;
The Leetro laser cutter board is a proprietary controller with proprietary software. In the case of Leetro this software is called `LaserCut`. Like most proprietary laser cutting software intended for a specific board it has significant disadvantages and the only open source solutions are attempts at reverse engineering. In this case the reverse engineering is still very minor and scattershot. To the point that there do not seem to be any third party applications that work with the software.&lt;br /&gt;
&lt;br /&gt;
== USB Protocol ==&lt;br /&gt;
&lt;br /&gt;
The usb device is located at vendor 0548 with a PID of 1005&lt;br /&gt;
&lt;br /&gt;
These are sent to endpoint 0x04 and read from 0x88.&lt;br /&gt;
&lt;br /&gt;
== Leetro Commands ==&lt;br /&gt;
&lt;br /&gt;
There are some parsing attempts made through London Hackerspace to decode .mol files, here&amp;#039;s a list of the commands and their values:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command !! Length !! Code !! Parameters !! Ranges&lt;br /&gt;
|-&lt;br /&gt;
| arc_center || 4 || 0x4020300 || (p1, p2), p3, p4, (p5, p6) || &lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 2 &amp;lt;= p2 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| c_arc_curve || 3 || 0x3000c09 || p1, p2, (p3,p4) || &lt;br /&gt;
|-&lt;br /&gt;
| c_bzerve_curve || 8 || 0x8000b09 || p1, p2, p3, p4, p5, p6, p7, p8 || &lt;br /&gt;
|-&lt;br /&gt;
| c_change_multi_voltage || 3 || 0x3003509 || p1, p2, 0x3003509 || &lt;br /&gt;
 0 &amp;lt;= p1 &amp;lt;= 10,000,&lt;br /&gt;
 0 &amp;lt;= p2 &amp;lt;= 10,000,&lt;br /&gt;
 0x2000003&lt;br /&gt;
|-&lt;br /&gt;
| c_change_voltage || 2 || 0x2003509 || p1, 0x2003509 ||&lt;br /&gt;
 0 &amp;lt;= p1 &amp;lt;= 10,000,&lt;br /&gt;
 0x2000003&lt;br /&gt;
|-&lt;br /&gt;
| c_curve_begin || 1 || 0x1000109 || (p1, p2) || &lt;br /&gt;
|-&lt;br /&gt;
| c_curve_end || 0 || 0x209 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| c_delay_time || 2 || 0x2003209 || p1 * 20, 0x2003209 ||&lt;br /&gt;
 0 &amp;lt;= p1,&lt;br /&gt;
 0x2000004&lt;br /&gt;
|-&lt;br /&gt;
| c_fast_line2 || 2 || 0x2020309 || p1, p2 || &lt;br /&gt;
|-&lt;br /&gt;
| c_outport_bit || 2 || 0x2003609 ||  (p2 hi/lo &amp;lt;&amp;lt; 8) | (p1 - 1), 0x2003609  || &lt;br /&gt;
|-&lt;br /&gt;
| c_outport_byte || 2 || 0x2003709 || p1 &amp;amp; 3F, 0x2003709 || &lt;br /&gt;
|-&lt;br /&gt;
| c_set_laser_mode || 2 || 0x2003409 || p1, 0x2003409 || &lt;br /&gt;
|-&lt;br /&gt;
| c_set_lkh_length || 1 || 0x1000e09 || p1 || &lt;br /&gt;
|-&lt;br /&gt;
| c_set_lkh_step || 1 || 0x1000d09 || p1 || &lt;br /&gt;
|-&lt;br /&gt;
| c_set_max_accel || 1 || 0x1004509 || (p1, p2) || &lt;br /&gt;
|-&lt;br /&gt;
| c_set_move_profile || 3 || 0x3000a09 || (p1,p2), (p3,p4), (p4,p5)||&lt;br /&gt;
 0 &amp;lt;= (p2,p1) &amp;lt;= 1m,&lt;br /&gt;
 0 &amp;lt;= (p4,p3) &amp;lt;= 1m,&lt;br /&gt;
 0x2000002&lt;br /&gt;
|-&lt;br /&gt;
| c_set_multi_power || 7 || 0x7002009 || p1, p2, p3, p4, (p5,p6), (p7,p8), p9||&lt;br /&gt;
 0 &amp;lt;= (p6,p5) &amp;lt;= 1m,&lt;br /&gt;
 0 &amp;lt;= (p8,p7) &amp;lt;= 1m,&lt;br /&gt;
 0 &amp;lt;= p1 &amp;lt;= 10,000,&lt;br /&gt;
 0 &amp;lt;= p2 &amp;lt;= 10,000,&lt;br /&gt;
 0 &amp;lt;= p3 &amp;lt;= 10,000,&lt;br /&gt;
 0 &amp;lt;= p4 &amp;lt;= 10,000,&lt;br /&gt;
 0x2000002&lt;br /&gt;
|-&lt;br /&gt;
| c_set_power || 5 || 0x5002009 || p1, p2, (p3, p4), (p5,p6), p7 ||&lt;br /&gt;
 0 &amp;lt;= (p4,p3) &amp;lt;= 1m,&lt;br /&gt;
 0 &amp;lt;= (p6,p5) &amp;lt;= 1m,&lt;br /&gt;
 0 &amp;lt;= p1 &amp;lt;= 10,000,&lt;br /&gt;
 0 &amp;lt;= p2 &amp;lt;= 10,0000,&lt;br /&gt;
 0x2000003&lt;br /&gt;
|-&lt;br /&gt;
| c_set_vector_profile || 3 || 0x3000409 || (p1, p2), (p3, p4), (p5, p6) ||&lt;br /&gt;
 0 &amp;lt;= (p2,p1) &amp;lt;= 1m,&lt;br /&gt;
 0 &amp;lt;= (p4,p3) &amp;lt;= 1m,&lt;br /&gt;
 0x2000002&lt;br /&gt;
|-&lt;br /&gt;
| c_write_data || 3 || 0x3003309 || p1, p2, 0x3003309 || &lt;br /&gt;
|-&lt;br /&gt;
| change_multi_voltage || 2 || 0x2000120 || p1, p2 ||&lt;br /&gt;
 0 &amp;lt;= p1 &amp;lt;= 10,000,&lt;br /&gt;
 0 &amp;lt;= p2 &amp;lt;= 10,000,&lt;br /&gt;
 0x2000003&lt;br /&gt;
|-&lt;br /&gt;
| change_power_ontime || 1 || 0x1020109 || p1 || &lt;br /&gt;
|-&lt;br /&gt;
| change_speed_ontime || 1 || 0x1020009 || (p1,p2) || &lt;br /&gt;
|-&lt;br /&gt;
| change_voltage || 1 || 0x1000120 || p1 ||&lt;br /&gt;
 0 &amp;lt;= p1 &amp;lt;= 10,000,&lt;br /&gt;
 0x2000003&lt;br /&gt;
|-&lt;br /&gt;
| change_voltage2 || 1 || 0x1000b20 || p1 ||&lt;br /&gt;
 0 &amp;lt;= p1 &amp;lt;= 10,000,&lt;br /&gt;
 0x2000003&lt;br /&gt;
|-&lt;br /&gt;
| check_batch_done || - || - || - (not export command) || &lt;br /&gt;
|-&lt;br /&gt;
| check_done || - || - || p1 (not export command) || &lt;br /&gt;
|-&lt;br /&gt;
| check_home || - || - || p1 (not export command) || &lt;br /&gt;
|-&lt;br /&gt;
| check_limit || - || - || p1 (not export command) || &lt;br /&gt;
|-&lt;br /&gt;
| check_SD || - || - || p1 (not export command) || &lt;br /&gt;
|-&lt;br /&gt;
| check_status || - || - || p1 (not export command) || &lt;br /&gt;
|-&lt;br /&gt;
| check_status32 || - || - || p1 (not export command) || &lt;br /&gt;
|-&lt;br /&gt;
| checkin_bit || - || - || (p2 hi/lo &amp;lt;&amp;lt; 8) | (p1 - 1) (not export command) || &lt;br /&gt;
|-&lt;br /&gt;
| checkin_byte || - || - ||- (not export command) || &lt;br /&gt;
|-&lt;br /&gt;
| con_hmove || 2 || 0x2010200 || p1, p2 ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| con_hmove2 || 3 || 0x3020200 || (p1, p3), p2, p4 ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 2 &amp;lt;= p3 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| con_line2 || 3 || 0x3022000 || (p1, p3), p2, p4 ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 2 &amp;lt;= p3 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| con_pmove || 2 || 0x2010000 || p1, p2 ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| con_pmove2 || 3 || 0x3020000 || (p1, p3), p2, p4 ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 2 &amp;lt;= p3 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| con_vmove || 2 || 0x2010100 || p1, p2 ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| con_vmove2 || 3 || 0x3020100 || (p1, p3), p2, p2 (yes, p2 twice) ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 2 &amp;lt;= p3 &amp;lt;= 4, &lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| con_decel_stop || 1 || 0x1010102 || p1 ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| con_decel_stop2 || 1 || 0x1020102 || (p1,p2) ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 2 &amp;lt;= p2 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| con_decel_stop3 || 1 || 0x1030102 || (p1,p2,p3) ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 2 &amp;lt;= p2 &amp;lt;= 4,&lt;br /&gt;
 2 &amp;lt;= p3 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| delay_time || 1 || 0x1000602 || p1 * 20 ||&lt;br /&gt;
 0 &amp;lt;= p1,&lt;br /&gt;
 0x2000004&lt;br /&gt;
|-&lt;br /&gt;
| end_backlash || 1 || 0x1004b01 || (p1,0) ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| fast_arc_center || 4 || 0x4024300 || (p1, p2), p3, p4, (p5,p6) ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 2 &amp;lt;= p2 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| fast_hmove || 2 || 0x2014200 || p1, p2 ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| fast_hmove2 || 3 || 0x3024200 || (p1, p3), p2, p4||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 2 &amp;lt;= p3 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| fast_line2 || 3 || 0x3026000 || (p1, p3), p2, p4 ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 2 &amp;lt;= p3 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| fast_pmove || 2 || 0x2014000 || p1, p2 ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| fast_pmove2 || 3 || 0x3024000 || (p1, p3), p2, p4 ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 2 &amp;lt;= p3 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| fast_vmove || 2 || 0x2014100 || p1, p2 || &lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| fast_vmove2 || 3 || 0x3024100 || (p1, p3), p2, p4|| &lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4, &lt;br /&gt;
 2 &amp;lt;= p3 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| get_abs_pos || - || - || p1, *p2 (not export command) || &lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 p2 (return)&lt;br /&gt;
|-&lt;br /&gt;
| get_fmw_ver || - || - || - (not export command) || &lt;br /&gt;
|-&lt;br /&gt;
| get_hdw_ver || - || - || - (not export command) || &lt;br /&gt;
|-&lt;br /&gt;
| get_lib_ver || - || - || - (not export command) || &lt;br /&gt;
|-&lt;br /&gt;
| get_sn || - || - || - (not export command) || &lt;br /&gt;
|-&lt;br /&gt;
| get_init_board || - || - || - (not export command) || &lt;br /&gt;
|-&lt;br /&gt;
| move_pause || 0 || 0x202 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| move_resume || 0 || 0x302 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| outport_bit || 1 || 0x1000105 ||  p1 &amp;lt;&amp;lt; 8 | (p1 -1) || &lt;br /&gt;
|-&lt;br /&gt;
| outport_byte || 1 || 0x1000205 || p1 &amp;amp; 0x3F || &lt;br /&gt;
|-&lt;br /&gt;
| read_data || - || - || p1 (not export command) || &lt;br /&gt;
|-&lt;br /&gt;
| reset_pos || - || 0x2014501 || defers to set_abs_pos(p1, 0)|| &lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| set_abs_pos || 2 || 0x2014501 || p1, p2 || &lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| set_axis_ratio || 2 || 0x2015001 || p1, (p2, p3) ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| set_backlash || 2 || 0x2004a01 || p1, p2 ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| set_batch_flag || - || - || - (not exported) || &lt;br /&gt;
|-&lt;br /&gt;
| set_conacc_start_speed || 1 || 0x1025101 || (p1,p2) || &lt;br /&gt;
|-&lt;br /&gt;
| set_conspeed || 2 || 0x2010001 || p1, (p2,p3) ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| set_cmd_counter || 2 || 0x2004c01 || p1, p2 || &lt;br /&gt;
|-&lt;br /&gt;
| set_home_mode || 1 || 0x1014001 || (p1,p2) ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| set_laser_mode || 1 || 0x1000220 || p1 || &lt;br /&gt;
 0 &amp;lt;= p1 &amp;lt;= 4 (crimped),&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| set_level_in || 1 || 0x1014d01 || defers to set_level_sprt(p1, (p2)?9:0) ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4, &lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| set_level_sprt || 1 || 0x1014d01 || (p1, p2 &amp;amp; 0xF) ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| set_maxspeed || 2 || 0x2014301 || p1, (p2, p3) ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0 &amp;lt;= (p3,p2) &amp;lt;= 1m,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| set_outmode || 1 || 0x1014101 || (p1,p2,p3) ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| set_power_mode || 1  || 0x1000320 || p1 ||&lt;br /&gt;
 0 &amp;lt;= p1 &amp;lt;= 4 (crimped),&lt;br /&gt;
 No fail value.&lt;br /&gt;
|-&lt;br /&gt;
| set_profile || 4 || 0x4010101 || p1, (p2,p3), (p4,p5), (p6,p7) ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0 &amp;lt;= (p3,p2) &amp;lt;= 1m,&lt;br /&gt;
 0 &amp;lt;= (p5,p4) &amp;lt;= 1m&lt;br /&gt;
 0x2000002&lt;br /&gt;
|-&lt;br /&gt;
| set_pwm2_frq || 1 || 0x1000a20 || p1 ||&lt;br /&gt;
 0 &amp;lt;= p1 &amp;lt; 60000,&lt;br /&gt;
 fail returns -1&lt;br /&gt;
|-&lt;br /&gt;
| set_pwm_frq || 1 || 0x1000420 || p1  ||&lt;br /&gt;
 0 &amp;lt;= p1 &amp;lt; 60000,&lt;br /&gt;
 fail returns -1&lt;br /&gt;
|-&lt;br /&gt;
| set_scan_startpos || 1 || 0x1000620 || p1 || &lt;br /&gt;
|-&lt;br /&gt;
| set_scan_step || 1 || 0x1000520 || p1 - 1  || &lt;br /&gt;
|-&lt;br /&gt;
| set_signal_in || 1 || 0x1014e01 || (p1, p2 &amp;amp; 0x1F) ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| set_vector_conspeed || 1 || 0x1000201 || (p1, p2) ||&lt;br /&gt;
 0 &amp;lt;= (p2,p1) &amp;lt;= 1m&lt;br /&gt;
|-&lt;br /&gt;
| set_vector_profile || 3 || 0x3000301 || (p1, p2), (p2, p3), (p5,p6) ||&lt;br /&gt;
 0 &amp;lt;= (p2,p1) &amp;lt;= 1m,&lt;br /&gt;
 0 &amp;lt;= (p4,p3) &amp;lt;= 1m,&lt;br /&gt;
 0x2000002&lt;br /&gt;
|-&lt;br /&gt;
| start_backlash || 1 || 0x1004b01 || (p1,2) ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| sudden_stop || 1 || 0x1010002 || p1 ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| sudden_stop2 || 2 || 0x1020002 || (p1,p2) ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 2 &amp;lt;= p2 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| sudden_stop3 || 1 || 0x1030002 || (p1,p2,p3) ||&lt;br /&gt;
 2 &amp;lt;= p1 &amp;lt;= 4,&lt;br /&gt;
 2 &amp;lt;= p2 &amp;lt;= 4,&lt;br /&gt;
 2 &amp;lt;= p3 &amp;lt;= 4,&lt;br /&gt;
 0x2000001&lt;br /&gt;
|-&lt;br /&gt;
| write_data || 2 || 0x2000305 || p1, p2 || &lt;br /&gt;
|-&lt;br /&gt;
| write_data_block || p1 || 0x80000720 || p1, p2 ||&lt;br /&gt;
|-&lt;br /&gt;
| write_power_data || p1 || 0x80000820 || p1, p2 || &lt;br /&gt;
|-&lt;br /&gt;
| write_power_tab || (p1,p2) || 0x80000920 || p1, p2, p3 ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
init_board calls a series of commands to set these to valid and acceptable defaults:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command Called !! Static Paramaters Used&lt;br /&gt;
|-&lt;br /&gt;
| set_batch_flag || 1&lt;br /&gt;
|-&lt;br /&gt;
| set_maxspeed || 0, 0x412e8480&lt;br /&gt;
|-&lt;br /&gt;
| set_out_mode || 1, 0&lt;br /&gt;
|-&lt;br /&gt;
| set_home_mode || 0&lt;br /&gt;
|-&lt;br /&gt;
| set_con_speed || 0 , 0x409f4000&lt;br /&gt;
|-&lt;br /&gt;
| set_profile || 0, 0x409f4000, 0, 0x40bf4000, 0, 0x40f38800&lt;br /&gt;
|-&lt;br /&gt;
| set_vector_conspeed || 0, 0x409f4000&lt;br /&gt;
|-&lt;br /&gt;
| set_vector_profile || 0, 0x409f4000, 0, 0x40bf4000, 0, 0x40f38800&lt;br /&gt;
|-&lt;br /&gt;
| set_laser_mode || 0 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Reverse engineering resources. ==&lt;br /&gt;
&lt;br /&gt;
* Richard-sim has a fake dll that pretends to be the relevant controller dll and replaces the actual dll used in LaserCut so that it will write all the materials rather than send them to a laser. https://github.com/richard-sim/mpc05ls&lt;br /&gt;
* The London Hackerspace Wiki has a great collection of resources for Leetro reverse engineering. (https://wiki.london.hackspace.org.uk/view/Project:RELaserSoftware)&lt;br /&gt;
* The Mol parser also from London Hacker Space. https://github.com/londonhackspace/dumpmol&lt;br /&gt;
* The explanation for the files format.  https://wiki.london.hackspace.org.uk/view/Project:RELaserSoftware/USB_protocol&lt;br /&gt;
* Some cursory work done to control the laser. https://pointless.net/hg/mpc6515/&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
== Official ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.leetro.com/english/sale/1-1.html Leetro]&lt;br /&gt;
&lt;br /&gt;
== Other Sources ==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.london.hackspace.org.uk/view/Project:RELaserSoftware London HackerSpace] London Hackerspace resources&lt;br /&gt;
&lt;br /&gt;
[[category: laser cutting]]&lt;/div&gt;</summary>
		<author><name>edutechwiki_en&gt;Tatarize</name></author>
	</entry>
</feed>