├── .gitignore
├── 3dpBurnerSender.csproj
├── ClassDiagram1.cd
├── Form1.Designer.cs
├── Form1.cs
├── Form1.resx
├── Form2.Designer.cs
├── Form2.cs
├── Form2.resx
├── LICENSE
├── Laser Black.ico
├── Program.cs
├── Properties
├── AssemblyInfo.cs
├── Resources.Designer.cs
├── Resources.resx
├── Settings1.Designer.cs
└── Settings1.settings
├── README.md
├── Resources
└── refresh.png
├── app.config
└── bin
└── Release
└── 3dpBurnerSender.exe
/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/villamany/3dpBurner-sender/a20800440bfaea1e6f647430e17fd636c878b041/.gitignore
--------------------------------------------------------------------------------
/3dpBurnerSender.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {2DD7864D-116F-4E5C-830F-B98F6CC07325}
8 | WinExe
9 | Properties
10 | _3dpBurner
11 | 3dpBurnerSender
12 | v4.0
13 | 512
14 | publish\
15 | true
16 | Disk
17 | false
18 | Foreground
19 | 7
20 | Days
21 | false
22 | false
23 | true
24 | 0
25 | 0.1.0.%2a
26 | false
27 | false
28 | true
29 |
30 |
31 |
32 | AnyCPU
33 | true
34 | full
35 | false
36 | bin\Debug\
37 | DEBUG;TRACE
38 | prompt
39 | 4
40 |
41 |
42 | AnyCPU
43 | pdbonly
44 | true
45 | bin\Release\
46 | TRACE
47 | prompt
48 | 4
49 |
50 |
51 | Laser Black.ico
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 | Form
70 |
71 |
72 | Form1.cs
73 |
74 |
75 | Form
76 |
77 |
78 | Form2.cs
79 |
80 |
81 |
82 |
83 | True
84 | True
85 | Resources.resx
86 |
87 |
88 | True
89 | True
90 | Settings1.settings
91 |
92 |
93 | Form1.cs
94 |
95 |
96 | Form2.cs
97 |
98 |
99 | ResXFileCodeGenerator
100 | Resources.Designer.cs
101 |
102 |
103 |
104 |
105 | False
106 | Microsoft .NET Framework 4.5 %28x86 and x64%29
107 | true
108 |
109 |
110 | False
111 | .NET Framework 3.5 SP1 Client Profile
112 | false
113 |
114 |
115 | False
116 | .NET Framework 3.5 SP1
117 | false
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 | Designer
127 |
128 |
129 |
130 | SettingsSingleFileGenerator
131 | Settings1.Designer.cs
132 |
133 |
134 |
135 |
136 |
143 |
--------------------------------------------------------------------------------
/ClassDiagram1.cd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | YBgghSAQhSqiKR5XgIbhagGCQAGpxwxgwu68ARZBxJA=
7 | Form1.cs
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Form1.Designer.cs:
--------------------------------------------------------------------------------
1 | /* 3dpBurner Sender. A GCODE sender for GRBL based devices.
2 | This file is part of 3dpBurner Sender application.
3 |
4 | Copyright (C) 2014-2015 Adrian V. J. (villamany) contact: villamany@gmail.com
5 |
6 | This program is free software: you can redistribute it and/or modify
7 | it under the terms of the GNU General Public License as published by
8 | the Free Software Foundation, either version 3 of the License, or
9 | (at your option) any later version.
10 |
11 | This program is distributed in the hope that it will be useful,
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | GNU General Public License for more details.
15 |
16 | You should have received a copy of the GNU General Public License
17 | along with this program. If not, see .
18 | */
19 | //Form 1 (Main form) design
20 |
21 | namespace _3dpBurner
22 | {
23 | partial class frm3dpBurner
24 | {
25 | ///
26 | /// Required designer variable.
27 | ///
28 | private System.ComponentModel.IContainer components = null;
29 |
30 | ///
31 | /// Clean up any resources being used.
32 | ///
33 | /// true if managed resources should be disposed; otherwise, false.
34 | protected override void Dispose(bool disposing)
35 | {
36 | if (disposing && (components != null))
37 | {
38 | components.Dispose();
39 | }
40 | base.Dispose(disposing);
41 | }
42 |
43 | #region Windows Form Designer generated code
44 |
45 | ///
46 | /// Required method for Designer support - do not modify
47 | /// the contents of this method with the code editor.
48 | ///
49 | private void InitializeComponent()
50 | {
51 | this.components = new System.ComponentModel.Container();
52 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frm3dpBurner));
53 | this.bOpenPort = new System.Windows.Forms.Button();
54 | this.cbPort = new System.Windows.Forms.ComboBox();
55 | this.serialPort1 = new System.IO.Ports.SerialPort(this.components);
56 | this.btnLaserOn = new System.Windows.Forms.Button();
57 | this.btsLaserOff = new System.Windows.Forms.Button();
58 | this.btnCustom1 = new System.Windows.Forms.Button();
59 | this.tbFile = new System.Windows.Forms.TextBox();
60 | this.bOpenfile = new System.Windows.Forms.Button();
61 | this.bSendCmd = new System.Windows.Forms.Button();
62 | this.bHome = new System.Windows.Forms.Button();
63 | this.tbStepSize = new System.Windows.Forms.TextBox();
64 | this.pbFile = new System.Windows.Forms.ProgressBar();
65 | this.btnCustom2 = new System.Windows.Forms.Button();
66 | this.tbCustom1 = new System.Windows.Forms.TextBox();
67 | this.tbCustom2 = new System.Windows.Forms.TextBox();
68 | this.button12 = new System.Windows.Forms.Button();
69 | this.button19 = new System.Windows.Forms.Button();
70 | this.button20 = new System.Windows.Forms.Button();
71 | this.button21 = new System.Windows.Forms.Button();
72 | this.button22 = new System.Windows.Forms.Button();
73 | this.gbJog = new System.Windows.Forms.GroupBox();
74 | this.bYdown = new System.Windows.Forms.Button();
75 | this.bXup = new System.Windows.Forms.Button();
76 | this.bXdown = new System.Windows.Forms.Button();
77 | this.bYup = new System.Windows.Forms.Button();
78 | this.button1 = new System.Windows.Forms.Button();
79 | this.groupBox2 = new System.Windows.Forms.GroupBox();
80 | this.btnFileStart = new System.Windows.Forms.Button();
81 | this.lblRemaining = new System.Windows.Forms.Label();
82 | this.label1 = new System.Windows.Forms.Label();
83 | this.lblElapsed = new System.Windows.Forms.Label();
84 | this.label8 = new System.Windows.Forms.Label();
85 | this.lblFileProgress = new System.Windows.Forms.Label();
86 | this.tbLaserPwr = new System.Windows.Forms.TextBox();
87 | this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
88 | this.tmrUpdates = new System.Windows.Forms.Timer(this.components);
89 | this.gbConecction = new System.Windows.Forms.GroupBox();
90 | this.btnPortsInfo = new System.Windows.Forms.Button();
91 | this.gbLaserControl = new System.Windows.Forms.GroupBox();
92 | this.btnLaserPwr = new System.Windows.Forms.Button();
93 | this.tbCommand = new System.Windows.Forms.TextBox();
94 | this.gbConsole = new System.Windows.Forms.GroupBox();
95 | this.panel1 = new System.Windows.Forms.Panel();
96 | this.rtbLog = new System.Windows.Forms.RichTextBox();
97 | this.btlClearLog = new System.Windows.Forms.Button();
98 | this.gbReference = new System.Windows.Forms.GroupBox();
99 | this.btnGotoXoYo = new System.Windows.Forms.Button();
100 | this.btnZero = new System.Windows.Forms.Button();
101 | this.gbCustom = new System.Windows.Forms.GroupBox();
102 | this.menuStrip1 = new System.Windows.Forms.MenuStrip();
103 | this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
104 | this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
105 | this.view3dpBurnerSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
106 | this.sendConfigurationFileTo3dpBurnerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
107 | this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
108 | this.restoreSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
109 | this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
110 | this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
111 | this.statusStrip1 = new System.Windows.Forms.StatusStrip();
112 | this.toolStripStatusLabel2 = new System.Windows.Forms.ToolStripStatusLabel();
113 | this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
114 | this.tmrControlsUpdate = new System.Windows.Forms.Timer(this.components);
115 | this.bStart = new System.Windows.Forms.Button();
116 | this.bPause = new System.Windows.Forms.Button();
117 | this.panel5 = new System.Windows.Forms.Panel();
118 | this.btnReset = new System.Windows.Forms.Button();
119 | this.panel19 = new System.Windows.Forms.Panel();
120 | this.btnUnlock = new System.Windows.Forms.Button();
121 | this.gbJog.SuspendLayout();
122 | this.groupBox2.SuspendLayout();
123 | this.gbConecction.SuspendLayout();
124 | this.gbLaserControl.SuspendLayout();
125 | this.gbConsole.SuspendLayout();
126 | this.panel1.SuspendLayout();
127 | this.gbReference.SuspendLayout();
128 | this.gbCustom.SuspendLayout();
129 | this.menuStrip1.SuspendLayout();
130 | this.statusStrip1.SuspendLayout();
131 | this.panel5.SuspendLayout();
132 | this.panel19.SuspendLayout();
133 | this.SuspendLayout();
134 | //
135 | // bOpenPort
136 | //
137 | this.bOpenPort.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(108)))), ((int)(((byte)(196)))), ((int)(((byte)(23)))));
138 | this.bOpenPort.FlatAppearance.BorderColor = System.Drawing.Color.Black;
139 | this.bOpenPort.FlatAppearance.BorderSize = 3;
140 | this.bOpenPort.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
141 | this.bOpenPort.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
142 | this.bOpenPort.Location = new System.Drawing.Point(93, 16);
143 | this.bOpenPort.Name = "bOpenPort";
144 | this.bOpenPort.Size = new System.Drawing.Size(109, 31);
145 | this.bOpenPort.TabIndex = 2;
146 | this.bOpenPort.Text = "Connect";
147 | this.bOpenPort.UseVisualStyleBackColor = false;
148 | this.bOpenPort.Click += new System.EventHandler(this.button1_Click);
149 | //
150 | // cbPort
151 | //
152 | this.cbPort.BackColor = System.Drawing.Color.Snow;
153 | this.cbPort.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
154 | this.cbPort.FormattingEnabled = true;
155 | this.cbPort.Location = new System.Drawing.Point(9, 22);
156 | this.cbPort.MaxLength = 10;
157 | this.cbPort.Name = "cbPort";
158 | this.cbPort.Size = new System.Drawing.Size(75, 21);
159 | this.cbPort.TabIndex = 1;
160 | this.cbPort.Text = "COM1";
161 | this.cbPort.DropDown += new System.EventHandler(this.cbPort_DropDown);
162 | //
163 | // serialPort1
164 | //
165 | this.serialPort1.BaudRate = 115200;
166 | this.serialPort1.ReadBufferSize = 2048;
167 | this.serialPort1.ReadTimeout = 500;
168 | this.serialPort1.WriteTimeout = 3000;
169 | this.serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(this.serialPort1_DataReceived);
170 | //
171 | // btnLaserOn
172 | //
173 | this.btnLaserOn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(21)))), ((int)(((byte)(137)))), ((int)(((byte)(255)))));
174 | this.btnLaserOn.FlatAppearance.BorderColor = System.Drawing.Color.Black;
175 | this.btnLaserOn.FlatAppearance.BorderSize = 3;
176 | this.btnLaserOn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
177 | this.btnLaserOn.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
178 | this.btnLaserOn.ForeColor = System.Drawing.Color.White;
179 | this.btnLaserOn.Location = new System.Drawing.Point(6, 16);
180 | this.btnLaserOn.Name = "btnLaserOn";
181 | this.btnLaserOn.Size = new System.Drawing.Size(88, 49);
182 | this.btnLaserOn.TabIndex = 1;
183 | this.btnLaserOn.Text = "On";
184 | this.btnLaserOn.UseVisualStyleBackColor = false;
185 | this.btnLaserOn.Click += new System.EventHandler(this.btnLaserOn_Click);
186 | //
187 | // btsLaserOff
188 | //
189 | this.btsLaserOff.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(21)))), ((int)(((byte)(137)))), ((int)(((byte)(255)))));
190 | this.btsLaserOff.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
191 | this.btsLaserOff.FlatAppearance.BorderColor = System.Drawing.Color.Black;
192 | this.btsLaserOff.FlatAppearance.BorderSize = 3;
193 | this.btsLaserOff.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
194 | this.btsLaserOff.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
195 | this.btsLaserOff.ForeColor = System.Drawing.Color.White;
196 | this.btsLaserOff.Location = new System.Drawing.Point(101, 16);
197 | this.btsLaserOff.Name = "btsLaserOff";
198 | this.btsLaserOff.Size = new System.Drawing.Size(86, 85);
199 | this.btsLaserOff.TabIndex = 2;
200 | this.btsLaserOff.Text = "Off";
201 | this.btsLaserOff.UseVisualStyleBackColor = false;
202 | this.btsLaserOff.Click += new System.EventHandler(this.btsLaserOff_Click);
203 | //
204 | // btnCustom1
205 | //
206 | this.btnCustom1.BackColor = System.Drawing.Color.Black;
207 | this.btnCustom1.FlatAppearance.BorderColor = System.Drawing.Color.White;
208 | this.btnCustom1.FlatAppearance.BorderSize = 0;
209 | this.btnCustom1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
210 | this.btnCustom1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
211 | this.btnCustom1.ForeColor = System.Drawing.Color.White;
212 | this.btnCustom1.Location = new System.Drawing.Point(8, 17);
213 | this.btnCustom1.Name = "btnCustom1";
214 | this.btnCustom1.Size = new System.Drawing.Size(90, 28);
215 | this.btnCustom1.TabIndex = 1;
216 | this.btnCustom1.Text = "Custom1";
217 | this.btnCustom1.UseVisualStyleBackColor = false;
218 | this.btnCustom1.Click += new System.EventHandler(this.btnCustom1_Click);
219 | //
220 | // tbFile
221 | //
222 | this.tbFile.BackColor = System.Drawing.Color.Snow;
223 | this.tbFile.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
224 | this.tbFile.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
225 | this.tbFile.Location = new System.Drawing.Point(7, 17);
226 | this.tbFile.Name = "tbFile";
227 | this.tbFile.Size = new System.Drawing.Size(237, 20);
228 | this.tbFile.TabIndex = 1;
229 | //
230 | // bOpenfile
231 | //
232 | this.bOpenfile.BackColor = System.Drawing.Color.Gainsboro;
233 | this.bOpenfile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
234 | this.bOpenfile.FlatAppearance.BorderColor = System.Drawing.Color.DimGray;
235 | this.bOpenfile.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
236 | this.bOpenfile.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
237 | this.bOpenfile.Location = new System.Drawing.Point(200, 44);
238 | this.bOpenfile.Name = "bOpenfile";
239 | this.bOpenfile.Size = new System.Drawing.Size(42, 28);
240 | this.bOpenfile.TabIndex = 3;
241 | this.bOpenfile.Text = "...";
242 | this.bOpenfile.UseVisualStyleBackColor = false;
243 | this.bOpenfile.Click += new System.EventHandler(this.bOpenfile_Click);
244 | //
245 | // bSendCmd
246 | //
247 | this.bSendCmd.BackColor = System.Drawing.Color.Gainsboro;
248 | this.bSendCmd.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
249 | this.bSendCmd.FlatAppearance.BorderColor = System.Drawing.Color.DimGray;
250 | this.bSendCmd.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
251 | this.bSendCmd.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
252 | this.bSendCmd.Location = new System.Drawing.Point(612, 119);
253 | this.bSendCmd.Name = "bSendCmd";
254 | this.bSendCmd.Size = new System.Drawing.Size(54, 27);
255 | this.bSendCmd.TabIndex = 4;
256 | this.bSendCmd.Text = "Send";
257 | this.bSendCmd.UseVisualStyleBackColor = false;
258 | this.bSendCmd.Click += new System.EventHandler(this.bSendCmd_Click);
259 | //
260 | // bHome
261 | //
262 | this.bHome.BackColor = System.Drawing.Color.DarkOrange;
263 | this.bHome.FlatAppearance.BorderColor = System.Drawing.Color.Black;
264 | this.bHome.FlatAppearance.BorderSize = 3;
265 | this.bHome.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
266 | this.bHome.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
267 | this.bHome.Location = new System.Drawing.Point(130, 20);
268 | this.bHome.Name = "bHome";
269 | this.bHome.Size = new System.Drawing.Size(58, 47);
270 | this.bHome.TabIndex = 3;
271 | this.bHome.Text = "Homing";
272 | this.bHome.UseVisualStyleBackColor = false;
273 | this.bHome.Click += new System.EventHandler(this.bHome_Click);
274 | //
275 | // tbStepSize
276 | //
277 | this.tbStepSize.BackColor = System.Drawing.Color.Snow;
278 | this.tbStepSize.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
279 | this.tbStepSize.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
280 | this.tbStepSize.Location = new System.Drawing.Point(62, 87);
281 | this.tbStepSize.MaxLength = 3;
282 | this.tbStepSize.Name = "tbStepSize";
283 | this.tbStepSize.Size = new System.Drawing.Size(40, 22);
284 | this.tbStepSize.TabIndex = 5;
285 | this.tbStepSize.Text = "1";
286 | this.tbStepSize.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
287 | //
288 | // pbFile
289 | //
290 | this.pbFile.BackColor = System.Drawing.Color.White;
291 | this.pbFile.Location = new System.Drawing.Point(8, 113);
292 | this.pbFile.Name = "pbFile";
293 | this.pbFile.Size = new System.Drawing.Size(190, 14);
294 | this.pbFile.Step = 1;
295 | this.pbFile.Style = System.Windows.Forms.ProgressBarStyle.Continuous;
296 | this.pbFile.TabIndex = 40;
297 | //
298 | // btnCustom2
299 | //
300 | this.btnCustom2.BackColor = System.Drawing.Color.Black;
301 | this.btnCustom2.FlatAppearance.BorderColor = System.Drawing.Color.White;
302 | this.btnCustom2.FlatAppearance.BorderSize = 0;
303 | this.btnCustom2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
304 | this.btnCustom2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
305 | this.btnCustom2.ForeColor = System.Drawing.Color.White;
306 | this.btnCustom2.Location = new System.Drawing.Point(345, 17);
307 | this.btnCustom2.Name = "btnCustom2";
308 | this.btnCustom2.Size = new System.Drawing.Size(90, 28);
309 | this.btnCustom2.TabIndex = 3;
310 | this.btnCustom2.Text = "Custom2";
311 | this.btnCustom2.UseVisualStyleBackColor = false;
312 | this.btnCustom2.Click += new System.EventHandler(this.btnCustom2_Click);
313 | //
314 | // tbCustom1
315 | //
316 | this.tbCustom1.BackColor = System.Drawing.Color.Snow;
317 | this.tbCustom1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
318 | this.tbCustom1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
319 | this.tbCustom1.Location = new System.Drawing.Point(103, 20);
320 | this.tbCustom1.MaxLength = 79;
321 | this.tbCustom1.Name = "tbCustom1";
322 | this.tbCustom1.Size = new System.Drawing.Size(223, 20);
323 | this.tbCustom1.TabIndex = 2;
324 | this.tbCustom1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.tbCustom1_KeyPress);
325 | //
326 | // tbCustom2
327 | //
328 | this.tbCustom2.BackColor = System.Drawing.Color.Snow;
329 | this.tbCustom2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
330 | this.tbCustom2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
331 | this.tbCustom2.Location = new System.Drawing.Point(441, 20);
332 | this.tbCustom2.MaxLength = 79;
333 | this.tbCustom2.Name = "tbCustom2";
334 | this.tbCustom2.Size = new System.Drawing.Size(223, 20);
335 | this.tbCustom2.TabIndex = 4;
336 | this.tbCustom2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.tbCustom2_KeyPress);
337 | //
338 | // button12
339 | //
340 | this.button12.BackColor = System.Drawing.Color.Gainsboro;
341 | this.button12.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
342 | this.button12.FlatAppearance.BorderColor = System.Drawing.Color.DimGray;
343 | this.button12.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
344 | this.button12.Location = new System.Drawing.Point(165, 17);
345 | this.button12.Name = "button12";
346 | this.button12.Size = new System.Drawing.Size(39, 25);
347 | this.button12.TabIndex = 6;
348 | this.button12.Text = ".01";
349 | this.button12.UseVisualStyleBackColor = false;
350 | this.button12.Click += new System.EventHandler(this.button12_Click);
351 | //
352 | // button19
353 | //
354 | this.button19.BackColor = System.Drawing.Color.Gainsboro;
355 | this.button19.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
356 | this.button19.FlatAppearance.BorderColor = System.Drawing.Color.DimGray;
357 | this.button19.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
358 | this.button19.Location = new System.Drawing.Point(165, 45);
359 | this.button19.Name = "button19";
360 | this.button19.Size = new System.Drawing.Size(39, 25);
361 | this.button19.TabIndex = 7;
362 | this.button19.Text = ".1";
363 | this.button19.UseVisualStyleBackColor = false;
364 | this.button19.Click += new System.EventHandler(this.button19_Click);
365 | //
366 | // button20
367 | //
368 | this.button20.BackColor = System.Drawing.Color.Gainsboro;
369 | this.button20.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
370 | this.button20.FlatAppearance.BorderColor = System.Drawing.Color.DimGray;
371 | this.button20.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
372 | this.button20.Location = new System.Drawing.Point(165, 73);
373 | this.button20.Name = "button20";
374 | this.button20.Size = new System.Drawing.Size(39, 25);
375 | this.button20.TabIndex = 8;
376 | this.button20.Text = "1";
377 | this.button20.UseVisualStyleBackColor = false;
378 | this.button20.Click += new System.EventHandler(this.button20_Click);
379 | //
380 | // button21
381 | //
382 | this.button21.BackColor = System.Drawing.Color.Gainsboro;
383 | this.button21.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
384 | this.button21.FlatAppearance.BorderColor = System.Drawing.Color.DimGray;
385 | this.button21.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
386 | this.button21.Location = new System.Drawing.Point(165, 129);
387 | this.button21.Name = "button21";
388 | this.button21.Size = new System.Drawing.Size(39, 25);
389 | this.button21.TabIndex = 10;
390 | this.button21.Text = "10";
391 | this.button21.UseVisualStyleBackColor = false;
392 | this.button21.Click += new System.EventHandler(this.button21_Click);
393 | //
394 | // button22
395 | //
396 | this.button22.BackColor = System.Drawing.Color.Gainsboro;
397 | this.button22.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
398 | this.button22.FlatAppearance.BorderColor = System.Drawing.Color.DimGray;
399 | this.button22.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
400 | this.button22.Location = new System.Drawing.Point(165, 157);
401 | this.button22.Name = "button22";
402 | this.button22.Size = new System.Drawing.Size(39, 25);
403 | this.button22.TabIndex = 11;
404 | this.button22.Text = "100";
405 | this.button22.UseVisualStyleBackColor = false;
406 | this.button22.Click += new System.EventHandler(this.button22_Click);
407 | //
408 | // gbJog
409 | //
410 | this.gbJog.BackColor = System.Drawing.Color.White;
411 | this.gbJog.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
412 | this.gbJog.Controls.Add(this.bYdown);
413 | this.gbJog.Controls.Add(this.bXup);
414 | this.gbJog.Controls.Add(this.bXdown);
415 | this.gbJog.Controls.Add(this.bYup);
416 | this.gbJog.Controls.Add(this.button1);
417 | this.gbJog.Controls.Add(this.button22);
418 | this.gbJog.Controls.Add(this.button21);
419 | this.gbJog.Controls.Add(this.button20);
420 | this.gbJog.Controls.Add(this.button19);
421 | this.gbJog.Controls.Add(this.button12);
422 | this.gbJog.Controls.Add(this.tbStepSize);
423 | this.gbJog.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
424 | this.gbJog.Location = new System.Drawing.Point(264, 28);
425 | this.gbJog.Name = "gbJog";
426 | this.gbJog.Size = new System.Drawing.Size(213, 195);
427 | this.gbJog.TabIndex = 3;
428 | this.gbJog.TabStop = false;
429 | this.gbJog.Text = "Motion";
430 | //
431 | // bYdown
432 | //
433 | this.bYdown.BackColor = System.Drawing.Color.DimGray;
434 | this.bYdown.FlatAppearance.BorderColor = System.Drawing.Color.Black;
435 | this.bYdown.FlatAppearance.BorderSize = 3;
436 | this.bYdown.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
437 | this.bYdown.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
438 | this.bYdown.ForeColor = System.Drawing.Color.White;
439 | this.bYdown.Location = new System.Drawing.Point(57, 131);
440 | this.bYdown.Name = "bYdown";
441 | this.bYdown.Size = new System.Drawing.Size(51, 51);
442 | this.bYdown.TabIndex = 4;
443 | this.bYdown.Text = "Y-";
444 | this.bYdown.UseVisualStyleBackColor = false;
445 | this.bYdown.Click += new System.EventHandler(this.bYdown_Click);
446 | //
447 | // bXup
448 | //
449 | this.bXup.BackColor = System.Drawing.Color.DimGray;
450 | this.bXup.FlatAppearance.BorderColor = System.Drawing.Color.Black;
451 | this.bXup.FlatAppearance.BorderSize = 3;
452 | this.bXup.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
453 | this.bXup.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
454 | this.bXup.ForeColor = System.Drawing.Color.White;
455 | this.bXup.Location = new System.Drawing.Point(108, 74);
456 | this.bXup.Name = "bXup";
457 | this.bXup.Size = new System.Drawing.Size(51, 51);
458 | this.bXup.TabIndex = 3;
459 | this.bXup.Text = "X+";
460 | this.bXup.UseVisualStyleBackColor = false;
461 | this.bXup.Click += new System.EventHandler(this.bXup_Click);
462 | //
463 | // bXdown
464 | //
465 | this.bXdown.BackColor = System.Drawing.Color.DimGray;
466 | this.bXdown.FlatAppearance.BorderColor = System.Drawing.Color.Black;
467 | this.bXdown.FlatAppearance.BorderSize = 3;
468 | this.bXdown.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
469 | this.bXdown.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
470 | this.bXdown.ForeColor = System.Drawing.Color.White;
471 | this.bXdown.Location = new System.Drawing.Point(7, 74);
472 | this.bXdown.Name = "bXdown";
473 | this.bXdown.Size = new System.Drawing.Size(51, 51);
474 | this.bXdown.TabIndex = 2;
475 | this.bXdown.Text = "X-";
476 | this.bXdown.UseVisualStyleBackColor = false;
477 | this.bXdown.Click += new System.EventHandler(this.bXdown_Click);
478 | //
479 | // bYup
480 | //
481 | this.bYup.BackColor = System.Drawing.Color.DimGray;
482 | this.bYup.FlatAppearance.BorderColor = System.Drawing.Color.Black;
483 | this.bYup.FlatAppearance.BorderSize = 3;
484 | this.bYup.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
485 | this.bYup.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
486 | this.bYup.ForeColor = System.Drawing.Color.White;
487 | this.bYup.Location = new System.Drawing.Point(57, 18);
488 | this.bYup.Name = "bYup";
489 | this.bYup.Size = new System.Drawing.Size(51, 51);
490 | this.bYup.TabIndex = 1;
491 | this.bYup.Text = "Y+";
492 | this.bYup.UseVisualStyleBackColor = false;
493 | this.bYup.Click += new System.EventHandler(this.bYup_Click);
494 | //
495 | // button1
496 | //
497 | this.button1.BackColor = System.Drawing.Color.Gainsboro;
498 | this.button1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
499 | this.button1.FlatAppearance.BorderColor = System.Drawing.Color.DimGray;
500 | this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
501 | this.button1.Location = new System.Drawing.Point(165, 101);
502 | this.button1.Name = "button1";
503 | this.button1.Size = new System.Drawing.Size(39, 25);
504 | this.button1.TabIndex = 9;
505 | this.button1.Text = "5";
506 | this.button1.UseVisualStyleBackColor = false;
507 | this.button1.Click += new System.EventHandler(this.button1_Click_1);
508 | //
509 | // groupBox2
510 | //
511 | this.groupBox2.BackColor = System.Drawing.Color.White;
512 | this.groupBox2.Controls.Add(this.btnFileStart);
513 | this.groupBox2.Controls.Add(this.lblRemaining);
514 | this.groupBox2.Controls.Add(this.label1);
515 | this.groupBox2.Controls.Add(this.lblElapsed);
516 | this.groupBox2.Controls.Add(this.label8);
517 | this.groupBox2.Controls.Add(this.lblFileProgress);
518 | this.groupBox2.Controls.Add(this.pbFile);
519 | this.groupBox2.Controls.Add(this.bOpenfile);
520 | this.groupBox2.Controls.Add(this.tbFile);
521 | this.groupBox2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
522 | this.groupBox2.Location = new System.Drawing.Point(5, 89);
523 | this.groupBox2.Name = "groupBox2";
524 | this.groupBox2.Size = new System.Drawing.Size(251, 134);
525 | this.groupBox2.TabIndex = 2;
526 | this.groupBox2.TabStop = false;
527 | this.groupBox2.Text = "File";
528 | //
529 | // btnFileStart
530 | //
531 | this.btnFileStart.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(108)))), ((int)(((byte)(196)))), ((int)(((byte)(23)))));
532 | this.btnFileStart.FlatAppearance.BorderColor = System.Drawing.Color.Black;
533 | this.btnFileStart.FlatAppearance.BorderSize = 3;
534 | this.btnFileStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
535 | this.btnFileStart.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
536 | this.btnFileStart.Location = new System.Drawing.Point(7, 44);
537 | this.btnFileStart.Name = "btnFileStart";
538 | this.btnFileStart.Size = new System.Drawing.Size(188, 29);
539 | this.btnFileStart.TabIndex = 2;
540 | this.btnFileStart.Text = "Send File";
541 | this.btnFileStart.UseVisualStyleBackColor = false;
542 | this.btnFileStart.Click += new System.EventHandler(this.btnFileStart_Click);
543 | //
544 | // lblRemaining
545 | //
546 | this.lblRemaining.AutoSize = true;
547 | this.lblRemaining.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
548 | this.lblRemaining.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
549 | this.lblRemaining.Location = new System.Drawing.Point(144, 92);
550 | this.lblRemaining.Name = "lblRemaining";
551 | this.lblRemaining.Size = new System.Drawing.Size(72, 17);
552 | this.lblRemaining.TabIndex = 49;
553 | this.lblRemaining.Text = "00:00:00";
554 | //
555 | // label1
556 | //
557 | this.label1.AutoSize = true;
558 | this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
559 | this.label1.Location = new System.Drawing.Point(150, 78);
560 | this.label1.Name = "label1";
561 | this.label1.Size = new System.Drawing.Size(60, 13);
562 | this.label1.TabIndex = 48;
563 | this.label1.Text = "Remaining:";
564 | //
565 | // lblElapsed
566 | //
567 | this.lblElapsed.AutoSize = true;
568 | this.lblElapsed.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
569 | this.lblElapsed.ForeColor = System.Drawing.Color.Blue;
570 | this.lblElapsed.Location = new System.Drawing.Point(32, 92);
571 | this.lblElapsed.Name = "lblElapsed";
572 | this.lblElapsed.Size = new System.Drawing.Size(72, 17);
573 | this.lblElapsed.TabIndex = 45;
574 | this.lblElapsed.Text = "00:00:00";
575 | //
576 | // label8
577 | //
578 | this.label8.AutoSize = true;
579 | this.label8.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
580 | this.label8.Location = new System.Drawing.Point(44, 78);
581 | this.label8.Name = "label8";
582 | this.label8.Size = new System.Drawing.Size(48, 13);
583 | this.label8.TabIndex = 46;
584 | this.label8.Text = "Elapsed:";
585 | //
586 | // lblFileProgress
587 | //
588 | this.lblFileProgress.AutoSize = true;
589 | this.lblFileProgress.BackColor = System.Drawing.Color.Transparent;
590 | this.lblFileProgress.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
591 | this.lblFileProgress.Location = new System.Drawing.Point(205, 110);
592 | this.lblFileProgress.Name = "lblFileProgress";
593 | this.lblFileProgress.Size = new System.Drawing.Size(48, 17);
594 | this.lblFileProgress.TabIndex = 44;
595 | this.lblFileProgress.Text = "100%";
596 | //
597 | // tbLaserPwr
598 | //
599 | this.tbLaserPwr.BackColor = System.Drawing.Color.Snow;
600 | this.tbLaserPwr.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
601 | this.tbLaserPwr.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
602 | this.tbLaserPwr.Location = new System.Drawing.Point(58, 75);
603 | this.tbLaserPwr.MaxLength = 4;
604 | this.tbLaserPwr.Name = "tbLaserPwr";
605 | this.tbLaserPwr.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
606 | this.tbLaserPwr.Size = new System.Drawing.Size(37, 22);
607 | this.tbLaserPwr.TabIndex = 4;
608 | this.tbLaserPwr.Text = "0";
609 | this.tbLaserPwr.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
610 | this.tbLaserPwr.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.tbLaserPwr_KeyPress);
611 | //
612 | // openFileDialog1
613 | //
614 | this.openFileDialog1.FileName = "openFileDialog1";
615 | this.openFileDialog1.Filter = "G-Code Files(*.CNC;*.NC;*.TAP;*.TXT)|*.CNC;*.NC;*.TAP;*.TXT|All files (*.*)|*.*";
616 | //
617 | // tmrUpdates
618 | //
619 | this.tmrUpdates.Enabled = true;
620 | this.tmrUpdates.Interval = 500;
621 | this.tmrUpdates.Tick += new System.EventHandler(this.tmrUpdates_Tick);
622 | //
623 | // gbConecction
624 | //
625 | this.gbConecction.Controls.Add(this.btnPortsInfo);
626 | this.gbConecction.Controls.Add(this.cbPort);
627 | this.gbConecction.Controls.Add(this.bOpenPort);
628 | this.gbConecction.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
629 | this.gbConecction.Location = new System.Drawing.Point(5, 28);
630 | this.gbConecction.Name = "gbConecction";
631 | this.gbConecction.Size = new System.Drawing.Size(252, 56);
632 | this.gbConecction.TabIndex = 1;
633 | this.gbConecction.TabStop = false;
634 | this.gbConecction.Text = "Connection";
635 | //
636 | // btnPortsInfo
637 | //
638 | this.btnPortsInfo.BackColor = System.Drawing.Color.Gainsboro;
639 | this.btnPortsInfo.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
640 | this.btnPortsInfo.FlatAppearance.BorderColor = System.Drawing.Color.DimGray;
641 | this.btnPortsInfo.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
642 | this.btnPortsInfo.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
643 | this.btnPortsInfo.Location = new System.Drawing.Point(212, 18);
644 | this.btnPortsInfo.Name = "btnPortsInfo";
645 | this.btnPortsInfo.Size = new System.Drawing.Size(27, 27);
646 | this.btnPortsInfo.TabIndex = 3;
647 | this.btnPortsInfo.Text = "i";
648 | this.btnPortsInfo.UseVisualStyleBackColor = false;
649 | this.btnPortsInfo.Click += new System.EventHandler(this.btnPortsInfo_Click);
650 | //
651 | // gbLaserControl
652 | //
653 | this.gbLaserControl.Controls.Add(this.btnLaserPwr);
654 | this.gbLaserControl.Controls.Add(this.tbLaserPwr);
655 | this.gbLaserControl.Controls.Add(this.btsLaserOff);
656 | this.gbLaserControl.Controls.Add(this.btnLaserOn);
657 | this.gbLaserControl.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
658 | this.gbLaserControl.Location = new System.Drawing.Point(485, 28);
659 | this.gbLaserControl.Name = "gbLaserControl";
660 | this.gbLaserControl.Size = new System.Drawing.Size(193, 110);
661 | this.gbLaserControl.TabIndex = 4;
662 | this.gbLaserControl.TabStop = false;
663 | this.gbLaserControl.Text = "Laser";
664 | //
665 | // btnLaserPwr
666 | //
667 | this.btnLaserPwr.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(21)))), ((int)(((byte)(137)))), ((int)(((byte)(255)))));
668 | this.btnLaserPwr.FlatAppearance.BorderColor = System.Drawing.Color.Black;
669 | this.btnLaserPwr.FlatAppearance.BorderSize = 3;
670 | this.btnLaserPwr.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
671 | this.btnLaserPwr.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
672 | this.btnLaserPwr.ForeColor = System.Drawing.Color.White;
673 | this.btnLaserPwr.Location = new System.Drawing.Point(6, 72);
674 | this.btnLaserPwr.Name = "btnLaserPwr";
675 | this.btnLaserPwr.Size = new System.Drawing.Size(46, 30);
676 | this.btnLaserPwr.TabIndex = 3;
677 | this.btnLaserPwr.Text = "PWR";
678 | this.btnLaserPwr.UseVisualStyleBackColor = false;
679 | this.btnLaserPwr.Click += new System.EventHandler(this.btnLaserPwr_Click);
680 | //
681 | // tbCommand
682 | //
683 | this.tbCommand.BackColor = System.Drawing.Color.Snow;
684 | this.tbCommand.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
685 | this.tbCommand.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
686 | this.tbCommand.Location = new System.Drawing.Point(86, 122);
687 | this.tbCommand.Name = "tbCommand";
688 | this.tbCommand.Size = new System.Drawing.Size(521, 20);
689 | this.tbCommand.TabIndex = 3;
690 | this.tbCommand.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.tbCommand_KeyPress);
691 | //
692 | // gbConsole
693 | //
694 | this.gbConsole.Controls.Add(this.panel1);
695 | this.gbConsole.Controls.Add(this.btlClearLog);
696 | this.gbConsole.Controls.Add(this.bSendCmd);
697 | this.gbConsole.Controls.Add(this.tbCommand);
698 | this.gbConsole.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
699 | this.gbConsole.Location = new System.Drawing.Point(5, 381);
700 | this.gbConsole.Name = "gbConsole";
701 | this.gbConsole.Size = new System.Drawing.Size(672, 154);
702 | this.gbConsole.TabIndex = 9;
703 | this.gbConsole.TabStop = false;
704 | this.gbConsole.Text = "Console";
705 | //
706 | // panel1
707 | //
708 | this.panel1.BackColor = System.Drawing.Color.Black;
709 | this.panel1.Controls.Add(this.rtbLog);
710 | this.panel1.Location = new System.Drawing.Point(7, 16);
711 | this.panel1.Name = "panel1";
712 | this.panel1.Size = new System.Drawing.Size(657, 97);
713 | this.panel1.TabIndex = 30;
714 | //
715 | // rtbLog
716 | //
717 | this.rtbLog.BackColor = System.Drawing.SystemColors.Window;
718 | this.rtbLog.BorderStyle = System.Windows.Forms.BorderStyle.None;
719 | this.rtbLog.DetectUrls = false;
720 | this.rtbLog.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
721 | this.rtbLog.Location = new System.Drawing.Point(1, 1);
722 | this.rtbLog.Name = "rtbLog";
723 | this.rtbLog.ReadOnly = true;
724 | this.rtbLog.RightToLeft = System.Windows.Forms.RightToLeft.No;
725 | this.rtbLog.Size = new System.Drawing.Size(655, 95);
726 | this.rtbLog.TabIndex = 1;
727 | this.rtbLog.Text = "";
728 | this.rtbLog.WordWrap = false;
729 | //
730 | // btlClearLog
731 | //
732 | this.btlClearLog.BackColor = System.Drawing.Color.Gainsboro;
733 | this.btlClearLog.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
734 | this.btlClearLog.FlatAppearance.BorderColor = System.Drawing.Color.DimGray;
735 | this.btlClearLog.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
736 | this.btlClearLog.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
737 | this.btlClearLog.Location = new System.Drawing.Point(6, 119);
738 | this.btlClearLog.Name = "btlClearLog";
739 | this.btlClearLog.Size = new System.Drawing.Size(74, 28);
740 | this.btlClearLog.TabIndex = 2;
741 | this.btlClearLog.Text = "ClearLog";
742 | this.btlClearLog.UseVisualStyleBackColor = false;
743 | this.btlClearLog.Click += new System.EventHandler(this.btlClearLog_Click);
744 | //
745 | // gbReference
746 | //
747 | this.gbReference.Controls.Add(this.btnGotoXoYo);
748 | this.gbReference.Controls.Add(this.btnZero);
749 | this.gbReference.Controls.Add(this.bHome);
750 | this.gbReference.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
751 | this.gbReference.Location = new System.Drawing.Point(485, 145);
752 | this.gbReference.Name = "gbReference";
753 | this.gbReference.Size = new System.Drawing.Size(193, 78);
754 | this.gbReference.TabIndex = 5;
755 | this.gbReference.TabStop = false;
756 | this.gbReference.Text = "Reference";
757 | //
758 | // btnGotoXoYo
759 | //
760 | this.btnGotoXoYo.BackColor = System.Drawing.Color.DarkOrange;
761 | this.btnGotoXoYo.FlatAppearance.BorderColor = System.Drawing.Color.Black;
762 | this.btnGotoXoYo.FlatAppearance.BorderSize = 3;
763 | this.btnGotoXoYo.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
764 | this.btnGotoXoYo.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
765 | this.btnGotoXoYo.ForeColor = System.Drawing.SystemColors.ControlText;
766 | this.btnGotoXoYo.Location = new System.Drawing.Point(6, 17);
767 | this.btnGotoXoYo.Name = "btnGotoXoYo";
768 | this.btnGotoXoYo.Size = new System.Drawing.Size(59, 52);
769 | this.btnGotoXoYo.TabIndex = 1;
770 | this.btnGotoXoYo.Text = "GoTo 0,0";
771 | this.btnGotoXoYo.UseVisualStyleBackColor = false;
772 | this.btnGotoXoYo.Click += new System.EventHandler(this.btnGotoXoYo_Click);
773 | //
774 | // btnZero
775 | //
776 | this.btnZero.BackColor = System.Drawing.Color.DarkOrange;
777 | this.btnZero.FlatAppearance.BorderColor = System.Drawing.Color.Black;
778 | this.btnZero.FlatAppearance.BorderSize = 3;
779 | this.btnZero.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
780 | this.btnZero.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
781 | this.btnZero.Location = new System.Drawing.Point(69, 20);
782 | this.btnZero.Name = "btnZero";
783 | this.btnZero.Size = new System.Drawing.Size(58, 47);
784 | this.btnZero.TabIndex = 2;
785 | this.btnZero.Text = "Zero";
786 | this.btnZero.UseVisualStyleBackColor = false;
787 | this.btnZero.Click += new System.EventHandler(this.btnZero_Click);
788 | //
789 | // gbCustom
790 | //
791 | this.gbCustom.Controls.Add(this.tbCustom2);
792 | this.gbCustom.Controls.Add(this.tbCustom1);
793 | this.gbCustom.Controls.Add(this.btnCustom2);
794 | this.gbCustom.Controls.Add(this.btnCustom1);
795 | this.gbCustom.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
796 | this.gbCustom.Location = new System.Drawing.Point(6, 228);
797 | this.gbCustom.Name = "gbCustom";
798 | this.gbCustom.Size = new System.Drawing.Size(672, 52);
799 | this.gbCustom.TabIndex = 6;
800 | this.gbCustom.TabStop = false;
801 | this.gbCustom.Text = "Custom";
802 | //
803 | // menuStrip1
804 | //
805 | this.menuStrip1.BackColor = System.Drawing.Color.DarkOrange;
806 | this.menuStrip1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold);
807 | this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
808 | this.settingsToolStripMenuItem,
809 | this.helpToolStripMenuItem});
810 | this.menuStrip1.Location = new System.Drawing.Point(0, 0);
811 | this.menuStrip1.Name = "menuStrip1";
812 | this.menuStrip1.Size = new System.Drawing.Size(684, 24);
813 | this.menuStrip1.TabIndex = 0;
814 | this.menuStrip1.Text = "menuStrip1";
815 | //
816 | // settingsToolStripMenuItem
817 | //
818 | this.settingsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
819 | this.toolStripMenuItem1,
820 | this.view3dpBurnerSettingsToolStripMenuItem,
821 | this.sendConfigurationFileTo3dpBurnerToolStripMenuItem,
822 | this.toolStripMenuItem2,
823 | this.restoreSettingsToolStripMenuItem});
824 | this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
825 | this.settingsToolStripMenuItem.Size = new System.Drawing.Size(65, 20);
826 | this.settingsToolStripMenuItem.Text = "Settings";
827 | //
828 | // toolStripMenuItem1
829 | //
830 | this.toolStripMenuItem1.Name = "toolStripMenuItem1";
831 | this.toolStripMenuItem1.Size = new System.Drawing.Size(284, 6);
832 | //
833 | // view3dpBurnerSettingsToolStripMenuItem
834 | //
835 | this.view3dpBurnerSettingsToolStripMenuItem.Name = "view3dpBurnerSettingsToolStripMenuItem";
836 | this.view3dpBurnerSettingsToolStripMenuItem.Size = new System.Drawing.Size(287, 22);
837 | this.view3dpBurnerSettingsToolStripMenuItem.Text = "View 3dpBurner configuration";
838 | this.view3dpBurnerSettingsToolStripMenuItem.Click += new System.EventHandler(this.view3dpBurnerSettingsToolStripMenuItem_Click);
839 | //
840 | // sendConfigurationFileTo3dpBurnerToolStripMenuItem
841 | //
842 | this.sendConfigurationFileTo3dpBurnerToolStripMenuItem.Name = "sendConfigurationFileTo3dpBurnerToolStripMenuItem";
843 | this.sendConfigurationFileTo3dpBurnerToolStripMenuItem.Size = new System.Drawing.Size(287, 22);
844 | this.sendConfigurationFileTo3dpBurnerToolStripMenuItem.Text = "Send configuration file to 3dpBurner...";
845 | this.sendConfigurationFileTo3dpBurnerToolStripMenuItem.Click += new System.EventHandler(this.sendConfigurationFileTo3dpBurnerToolStripMenuItem_Click);
846 | //
847 | // toolStripMenuItem2
848 | //
849 | this.toolStripMenuItem2.Name = "toolStripMenuItem2";
850 | this.toolStripMenuItem2.Size = new System.Drawing.Size(284, 6);
851 | //
852 | // restoreSettingsToolStripMenuItem
853 | //
854 | this.restoreSettingsToolStripMenuItem.Name = "restoreSettingsToolStripMenuItem";
855 | this.restoreSettingsToolStripMenuItem.Size = new System.Drawing.Size(287, 22);
856 | this.restoreSettingsToolStripMenuItem.Text = "Restore application settings";
857 | this.restoreSettingsToolStripMenuItem.Click += new System.EventHandler(this.restoreSettingsToolStripMenuItem_Click);
858 | //
859 | // helpToolStripMenuItem
860 | //
861 | this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
862 | this.aboutToolStripMenuItem});
863 | this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
864 | this.helpToolStripMenuItem.Size = new System.Drawing.Size(45, 20);
865 | this.helpToolStripMenuItem.Text = "Help";
866 | //
867 | // aboutToolStripMenuItem
868 | //
869 | this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
870 | this.aboutToolStripMenuItem.Size = new System.Drawing.Size(108, 22);
871 | this.aboutToolStripMenuItem.Text = "About";
872 | this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
873 | //
874 | // statusStrip1
875 | //
876 | this.statusStrip1.BackColor = System.Drawing.SystemColors.Control;
877 | this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
878 | this.toolStripStatusLabel2,
879 | this.toolStripStatusLabel1});
880 | this.statusStrip1.Location = new System.Drawing.Point(0, 539);
881 | this.statusStrip1.Name = "statusStrip1";
882 | this.statusStrip1.Size = new System.Drawing.Size(684, 22);
883 | this.statusStrip1.SizingGrip = false;
884 | this.statusStrip1.TabIndex = 64;
885 | this.statusStrip1.Text = "statusStrip1";
886 | //
887 | // toolStripStatusLabel2
888 | //
889 | this.toolStripStatusLabel2.Name = "toolStripStatusLabel2";
890 | this.toolStripStatusLabel2.Size = new System.Drawing.Size(42, 17);
891 | this.toolStripStatusLabel2.Text = "Status:";
892 | //
893 | // toolStripStatusLabel1
894 | //
895 | this.toolStripStatusLabel1.Name = "toolStripStatusLabel1";
896 | this.toolStripStatusLabel1.Size = new System.Drawing.Size(28, 17);
897 | this.toolStripStatusLabel1.Text = " ";
898 | //
899 | // tmrControlsUpdate
900 | //
901 | this.tmrControlsUpdate.Enabled = true;
902 | this.tmrControlsUpdate.Interval = 250;
903 | this.tmrControlsUpdate.Tick += new System.EventHandler(this.tmrControlsUpdate_Tick);
904 | //
905 | // bStart
906 | //
907 | this.bStart.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(108)))), ((int)(((byte)(196)))), ((int)(((byte)(23)))));
908 | this.bStart.FlatAppearance.BorderColor = System.Drawing.Color.Black;
909 | this.bStart.FlatAppearance.BorderSize = 5;
910 | this.bStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
911 | this.bStart.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
912 | this.bStart.Location = new System.Drawing.Point(574, 7);
913 | this.bStart.Name = "bStart";
914 | this.bStart.Size = new System.Drawing.Size(83, 76);
915 | this.bStart.TabIndex = 4;
916 | this.bStart.Text = "Resume";
917 | this.bStart.UseVisualStyleBackColor = false;
918 | this.bStart.Click += new System.EventHandler(this.bStart_Click);
919 | //
920 | // bPause
921 | //
922 | this.bPause.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(10)))));
923 | this.bPause.FlatAppearance.BorderColor = System.Drawing.Color.Black;
924 | this.bPause.FlatAppearance.BorderSize = 5;
925 | this.bPause.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
926 | this.bPause.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
927 | this.bPause.Location = new System.Drawing.Point(483, 7);
928 | this.bPause.Name = "bPause";
929 | this.bPause.Size = new System.Drawing.Size(83, 76);
930 | this.bPause.TabIndex = 3;
931 | this.bPause.Text = "Hold";
932 | this.bPause.UseVisualStyleBackColor = false;
933 | this.bPause.Click += new System.EventHandler(this.bPause_Click);
934 | //
935 | // panel5
936 | //
937 | this.panel5.BackColor = System.Drawing.Color.Black;
938 | this.panel5.Controls.Add(this.btnReset);
939 | this.panel5.Location = new System.Drawing.Point(10, 6);
940 | this.panel5.Name = "panel5";
941 | this.panel5.Size = new System.Drawing.Size(376, 81);
942 | this.panel5.TabIndex = 1;
943 | //
944 | // btnReset
945 | //
946 | this.btnReset.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(246)))), ((int)(((byte)(34)))), ((int)(((byte)(23)))));
947 | this.btnReset.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(10)))));
948 | this.btnReset.FlatAppearance.BorderSize = 5;
949 | this.btnReset.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
950 | this.btnReset.Font = new System.Drawing.Font("Microsoft Sans Serif", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
951 | this.btnReset.ForeColor = System.Drawing.Color.Black;
952 | this.btnReset.Location = new System.Drawing.Point(5, 5);
953 | this.btnReset.Name = "btnReset";
954 | this.btnReset.Size = new System.Drawing.Size(365, 71);
955 | this.btnReset.TabIndex = 1;
956 | this.btnReset.Text = "Reset";
957 | this.btnReset.UseVisualStyleBackColor = false;
958 | this.btnReset.Click += new System.EventHandler(this.btnReset_Click);
959 | //
960 | // panel19
961 | //
962 | this.panel19.BackColor = System.Drawing.Color.White;
963 | this.panel19.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
964 | this.panel19.Controls.Add(this.btnUnlock);
965 | this.panel19.Controls.Add(this.panel5);
966 | this.panel19.Controls.Add(this.bPause);
967 | this.panel19.Controls.Add(this.bStart);
968 | this.panel19.Location = new System.Drawing.Point(6, 284);
969 | this.panel19.Name = "panel19";
970 | this.panel19.Size = new System.Drawing.Size(671, 93);
971 | this.panel19.TabIndex = 8;
972 | //
973 | // btnUnlock
974 | //
975 | this.btnUnlock.BackColor = System.Drawing.Color.Silver;
976 | this.btnUnlock.FlatAppearance.BorderColor = System.Drawing.Color.Black;
977 | this.btnUnlock.FlatAppearance.BorderSize = 5;
978 | this.btnUnlock.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
979 | this.btnUnlock.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
980 | this.btnUnlock.ForeColor = System.Drawing.SystemColors.ControlLightLight;
981 | this.btnUnlock.Location = new System.Drawing.Point(391, 17);
982 | this.btnUnlock.Name = "btnUnlock";
983 | this.btnUnlock.Size = new System.Drawing.Size(72, 59);
984 | this.btnUnlock.TabIndex = 2;
985 | this.btnUnlock.Text = "Unlock";
986 | this.btnUnlock.UseVisualStyleBackColor = false;
987 | this.btnUnlock.Click += new System.EventHandler(this.button11_Click);
988 | //
989 | // frm3dpBurner
990 | //
991 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
992 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
993 | this.BackColor = System.Drawing.Color.White;
994 | this.ClientSize = new System.Drawing.Size(684, 561);
995 | this.Controls.Add(this.statusStrip1);
996 | this.Controls.Add(this.gbCustom);
997 | this.Controls.Add(this.gbReference);
998 | this.Controls.Add(this.gbConsole);
999 | this.Controls.Add(this.gbLaserControl);
1000 | this.Controls.Add(this.gbConecction);
1001 | this.Controls.Add(this.groupBox2);
1002 | this.Controls.Add(this.gbJog);
1003 | this.Controls.Add(this.menuStrip1);
1004 | this.Controls.Add(this.panel19);
1005 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
1006 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
1007 | this.MainMenuStrip = this.menuStrip1;
1008 | this.MaximizeBox = false;
1009 | this.Name = "frm3dpBurner";
1010 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
1011 | this.Text = "3dpBurner";
1012 | this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frm3dpBurner_FormClosing);
1013 | this.Load += new System.EventHandler(this.Form1_Load);
1014 | this.gbJog.ResumeLayout(false);
1015 | this.gbJog.PerformLayout();
1016 | this.groupBox2.ResumeLayout(false);
1017 | this.groupBox2.PerformLayout();
1018 | this.gbConecction.ResumeLayout(false);
1019 | this.gbLaserControl.ResumeLayout(false);
1020 | this.gbLaserControl.PerformLayout();
1021 | this.gbConsole.ResumeLayout(false);
1022 | this.gbConsole.PerformLayout();
1023 | this.panel1.ResumeLayout(false);
1024 | this.gbReference.ResumeLayout(false);
1025 | this.gbCustom.ResumeLayout(false);
1026 | this.gbCustom.PerformLayout();
1027 | this.menuStrip1.ResumeLayout(false);
1028 | this.menuStrip1.PerformLayout();
1029 | this.statusStrip1.ResumeLayout(false);
1030 | this.statusStrip1.PerformLayout();
1031 | this.panel5.ResumeLayout(false);
1032 | this.panel19.ResumeLayout(false);
1033 | this.ResumeLayout(false);
1034 | this.PerformLayout();
1035 |
1036 | }
1037 |
1038 | #endregion
1039 |
1040 | private System.Windows.Forms.Button bOpenPort;
1041 | private System.Windows.Forms.ComboBox cbPort;
1042 | private System.IO.Ports.SerialPort serialPort1;
1043 | private System.Windows.Forms.Button btnLaserOn;
1044 | private System.Windows.Forms.Button btsLaserOff;
1045 | private System.Windows.Forms.Button btnCustom1;
1046 | private System.Windows.Forms.TextBox tbFile;
1047 | private System.Windows.Forms.Button bOpenfile;
1048 | private System.Windows.Forms.Button bSendCmd;
1049 | private System.Windows.Forms.Button bHome;
1050 | private System.Windows.Forms.TextBox tbStepSize;
1051 | private System.Windows.Forms.ProgressBar pbFile;
1052 | private System.Windows.Forms.Button btnCustom2;
1053 | private System.Windows.Forms.TextBox tbCustom1;
1054 | private System.Windows.Forms.TextBox tbCustom2;
1055 | private System.Windows.Forms.Button button12;
1056 | private System.Windows.Forms.Button button19;
1057 | private System.Windows.Forms.Button button20;
1058 | private System.Windows.Forms.Button button21;
1059 | private System.Windows.Forms.Button button22;
1060 | private System.Windows.Forms.GroupBox gbJog;
1061 | private System.Windows.Forms.GroupBox groupBox2;
1062 | private System.Windows.Forms.TextBox tbLaserPwr;
1063 | private System.Windows.Forms.OpenFileDialog openFileDialog1;
1064 | private System.Windows.Forms.Label lblFileProgress;
1065 | private System.Windows.Forms.Label lblElapsed;
1066 | private System.Windows.Forms.Timer tmrUpdates;
1067 | private System.Windows.Forms.Label label8;
1068 | private System.Windows.Forms.GroupBox gbConecction;
1069 | private System.Windows.Forms.Button button1;
1070 | private System.Windows.Forms.GroupBox gbLaserControl;
1071 | private System.Windows.Forms.TextBox tbCommand;
1072 | private System.Windows.Forms.GroupBox gbConsole;
1073 | private System.Windows.Forms.GroupBox gbReference;
1074 | private System.Windows.Forms.GroupBox gbCustom;
1075 | private System.Windows.Forms.Button btnLaserPwr;
1076 | private System.Windows.Forms.Button btlClearLog;
1077 | private System.Windows.Forms.Button btnZero;
1078 | private System.Windows.Forms.Panel panel1;
1079 | private System.Windows.Forms.RichTextBox rtbLog;
1080 | private System.Windows.Forms.MenuStrip menuStrip1;
1081 | private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem;
1082 | private System.Windows.Forms.ToolStripMenuItem restoreSettingsToolStripMenuItem;
1083 | private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;
1084 | private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem;
1085 | private System.Windows.Forms.StatusStrip statusStrip1;
1086 | private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
1087 | private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel2;
1088 | private System.Windows.Forms.Label lblRemaining;
1089 | private System.Windows.Forms.Label label1;
1090 | private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
1091 | private System.Windows.Forms.Button bXdown;
1092 | private System.Windows.Forms.Button bYup;
1093 | private System.Windows.Forms.Button bXup;
1094 | private System.Windows.Forms.Button bYdown;
1095 | private System.Windows.Forms.Button btnFileStart;
1096 | private System.Windows.Forms.Timer tmrControlsUpdate;
1097 | private System.Windows.Forms.Button btnPortsInfo;
1098 | private System.Windows.Forms.Button bStart;
1099 | private System.Windows.Forms.Button bPause;
1100 | private System.Windows.Forms.Panel panel5;
1101 | private System.Windows.Forms.Button btnReset;
1102 | private System.Windows.Forms.Panel panel19;
1103 | private System.Windows.Forms.Button btnUnlock;
1104 | private System.Windows.Forms.Button btnGotoXoYo;
1105 | private System.Windows.Forms.ToolStripMenuItem sendConfigurationFileTo3dpBurnerToolStripMenuItem;
1106 | private System.Windows.Forms.ToolStripSeparator toolStripMenuItem2;
1107 | private System.Windows.Forms.ToolStripMenuItem view3dpBurnerSettingsToolStripMenuItem;
1108 | }
1109 | }
1110 |
1111 |
--------------------------------------------------------------------------------
/Form1.cs:
--------------------------------------------------------------------------------
1 | /* 3dpBurner Sender. A GCODE sender for GRBL based devices.
2 | This file is part of 3dpBurner Sender application.
3 |
4 | Copyright (C) 2014-2015 Adrian V. J. (villamany) contact: villamany@gmail.com
5 |
6 | This program is free software: you can redistribute it and/or modify
7 | it under the terms of the GNU General Public License as published by
8 | the Free Software Foundation, either version 3 of the License, or
9 | (at your option) any later version.
10 |
11 | This program is distributed in the hope that it will be useful,
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | GNU General Public License for more details.
15 |
16 | You should have received a copy of the GNU General Public License
17 | along with this program. If not, see .
18 | */
19 | //Main form
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | //using System.ComponentModel;
24 | //using System.Data;
25 | using System.Drawing;
26 | //using System.Linq;
27 | //using System.Text;
28 | //using System.Threading.Tasks;
29 | using System.Windows.Forms;
30 | using System.IO.Ports;
31 | using System.IO;
32 | //using System.Threading;
33 | using System.Management;//for serial port device names
34 |
35 | using System.Runtime.InteropServices;
36 | // for DllImportAttribute //For prevent entering standby/switching the display device off.
37 |
38 | //Latest changes
39 |
40 | //-A more precise remaining time
41 | //-Code cleanup
42 | //-Other minor bugs and improvements
43 |
44 | namespace _3dpBurner
45 | {
46 |
47 | public partial class frm3dpBurner : Form
48 | {
49 | const string ver = "1.2";//app version
50 | string rxString;
51 | List fileLines;
52 | Int32 fileLinesCount;//for file streaming control
53 | Int32 fileLinesSent;//for file streaming control
54 | Int32 fileLinesConfirmed;//for file streaming control
55 | const int grblBuferSize = 127;//rx bufer size of grbl on arduino
56 | int bufFree = grblBuferSize;//actual suposed free bytes on grbl buffer
57 |
58 | TimeSpan elapsed;//elapsed time from file burnin
59 | TimeSpan remaining;//remaining time (estimated)
60 | DateTime timeInit;//time start to burning file
61 |
62 | bool transfer = false;//true whe transfer in progress
63 | bool dataProcessing;//false when no data processing pending
64 |
65 | bool jogging=false;//true when we are jogging
66 |
67 | int GRBL_errCount = 0;// aux for grbl errors count for auto close port when more than some continuous errors ocurrs (prevents pplication hangs)
68 | const int GRBL_errMax = 2;//Number of grbl response errors for auto close ports
69 |
70 | bool connected;//for log the connected message
71 |
72 | //Thread exception
73 | private void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
74 | {
75 | ClosePort();
76 | Exception ex = e.Exception;
77 | MessageBox.Show(ex.Message, "Thread exception");
78 | }
79 | //Unhandled exception
80 | private void Application_UnhandledException(object sender, UnhandledExceptionEventArgs e)
81 | {
82 | if (e.ExceptionObject != null)
83 | {
84 | ClosePort();
85 | Exception ex = (Exception)e.ExceptionObject;
86 | MessageBox.Show(ex.Message, "Application exception");
87 | }
88 | }
89 | //For prevent entering standby/switching the display device off.
90 | [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
91 | static extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE esFlags);
92 | [FlagsAttribute]
93 | public enum EXECUTION_STATE : uint
94 | {
95 | ES_AWAYMODE_REQUIRED = 0x00000040,
96 | ES_CONTINUOUS = 0x80000000,
97 | ES_DISPLAY_REQUIRED = 0x00000002,
98 | ES_SYSTEM_REQUIRED = 0x00000001
99 | // Legacy flag, should not be used.
100 | // ES_USER_PRESENT = 0x00000004
101 | }
102 | //Constructor
103 | public frm3dpBurner()
104 | {
105 | InitializeComponent();
106 | System.Windows.Forms.Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
107 | AppDomain currentDomain = AppDomain.CurrentDomain;
108 | currentDomain.UnhandledException += new UnhandledExceptionEventHandler(Application_UnhandledException);
109 | }
110 | //log serial port dataReceive thread error message
111 | public void logErrorThr(object sender, EventArgs e)
112 | {
113 | logError(mens,err);
114 | }
115 | //log a error message
116 | private void logError(string message, Exception err)
117 | {
118 | string textmsg = "\r\n[ERROR]: " + message + ". ";
119 | if (err != null) textmsg += err.Message;
120 | textmsg += "\r\n";
121 | rtbLog.AppendText(textmsg);
122 | rtbLog.ScrollToCaret();
123 | }
124 | private void setTransferTrue()
125 | {
126 | transfer = true;
127 | //prevent system idle
128 | SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS | EXECUTION_STATE.ES_SYSTEM_REQUIRED | EXECUTION_STATE.ES_AWAYMODE_REQUIRED | EXECUTION_STATE.ES_DISPLAY_REQUIRED);
129 | }
130 | private void setTransferFalse()
131 | {
132 | transfer = false;
133 | //restore system idle state
134 | SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS);
135 | }
136 | //Process the received data line
137 | private void dataRx(object sender, EventArgs e)
138 | {
139 | //staus message?
140 | if ((rxString.Length > 0) && (rxString[0] == '<'))
141 | {
142 | toolStripStatusLabel1.Text =rxString;
143 | if (!connected)
144 | {
145 | rtbLog.AppendText("\r\n[CONNECTED]\r\n");
146 | rtbLog.ScrollToCaret();
147 | rtbLog.Refresh();
148 | connected=true;
149 | }
150 |
151 | if (rxString.Contains("Run")) statusStrip1.BackColor = Color.DodgerBlue;
152 | else
153 | if (rxString.Contains("Idle")) statusStrip1.BackColor = Color.YellowGreen;
154 | else
155 | if (rxString.Contains("Alarm")) statusStrip1.BackColor = Color.DarkOrange;
156 | else
157 | if (rxString.Contains("Home")) statusStrip1.BackColor = Color.Violet;
158 | else
159 | if (rxString.Contains("Queue")) statusStrip1.BackColor = Color.FromArgb(255,255,10);
160 | else
161 | toolStripStatusLabel1.BackColor = SystemColors.Control;
162 |
163 | dataProcessing = false;
164 | return;
165 | }
166 | //If no transfer in progress
167 | if (!transfer)
168 | {
169 | rtbLog.AppendText(rxString);//print received line response
170 | rtbLog.AppendText("\r");
171 | rtbLog.ScrollToCaret();
172 | dataProcessing = false;
173 | }
174 | //jogging response?
175 | if (jogging)
176 | {
177 | jogging = false;
178 | sendLine("G90");//add a G90 absolute coords command
179 | dataProcessing = false;
180 | return;
181 | }
182 | //if no transfer, no any more to do
183 | if (!transfer) return;
184 | //line transfer response
185 | if (rxString != "ok")//Add line-response only if not ok (if many lines the stream procces is slowly)
186 | {
187 | rtbLog.AppendText(fileLines[fileLinesConfirmed] + " >" + rxString+"\r");
188 | rtbLog.ScrollToCaret();
189 | }
190 | bufFree += (fileLines[fileLinesConfirmed].Length + 1);//update bytes supose to be free on grbl rx bufer
191 | fileLinesConfirmed++;//line processed
192 | if (fileLinesConfirmed >= fileLinesCount)//Transfer finished and processed? Update status and controls
193 | {
194 | setTransferFalse();
195 | pbFile.Value = 100;
196 | lblFileProgress.Text = "100%";
197 | lblRemaining.Text = "00:00:00";
198 | // updateProgress();
199 | rtbLog.AppendText("[Yeah!. Burning Done! @" + lblElapsed.Text + "]\r\n");
200 | rtbLog.ScrollToCaret();
201 | }
202 | else//not finished
203 | {
204 | if (fileLinesSent < fileLinesCount) sendNextLine();//If more lines on file, send it
205 | }
206 | //updateProgress();
207 | dataProcessing = false;
208 | }
209 | //Send next line from fileStreaming
210 | private void sendNextLine()
211 | {
212 | try
213 | {
214 | while ((fileLinesSent < fileLinesCount) && (bufFree >= fileLines[fileLinesSent].Length + 1))
215 | {
216 | serialPort1.Write(fileLines[fileLinesSent] + "\r");
217 | bufFree -= (fileLines[fileLinesSent].Length + 1);
218 | fileLinesSent++;
219 | }
220 | }
221 | catch (Exception er)
222 | {
223 | logError("Error sending next line", er);
224 | ClosePort();
225 | }
226 | }
227 | //Rx from serial port
228 | string mens;
229 | Exception err;
230 | private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
231 | {
232 | while ((serialPort1.IsOpen)&& (serialPort1.BytesToRead > 0))
233 | {
234 | rxString = string.Empty;
235 | try
236 | {
237 | rxString = serialPort1.ReadTo("\r\n");//read line from grbl, discard CR LF
238 | dataProcessing = true;
239 | this.Invoke(new EventHandler(dataRx));//tigger rx process
240 | while ((serialPort1.IsOpen) && (dataProcessing)) ;//wait previous data line processed done
241 | }
242 | catch (Exception errort)
243 | {
244 | mens = "Error reading line from serial port";
245 | ClosePort();
246 | err = errort;
247 | this.Invoke(new EventHandler(logErrorThr));
248 | }
249 | }
250 | }
251 | //Send a line adding a CR and log it
252 | private void sendLine(string data)
253 | {
254 | try
255 | {
256 | serialPort1.Write(data + "\r");
257 | rtbLog.AppendText(data + " >");//if not in transfer log the txLine
258 | }
259 | catch(Exception err)
260 | {
261 | logError("Sending line", err);
262 | }
263 | }
264 | //Open port
265 | private bool OpenPort()
266 | {
267 | try
268 | {
269 | connected = false;
270 | toolStripStatusLabel1.Text = "";
271 | toolStripStatusLabel1.BackColor=SystemColors.Control;
272 | rtbLog.AppendText("\r\n[CONNECTING]\r\n");
273 | rtbLog.ScrollToCaret();
274 | rtbLog.Refresh();
275 |
276 | serialPort1.PortName = cbPort.Text;
277 |
278 | serialPort1.Open();
279 | serialPort1.DiscardInBuffer();
280 | serialPort1.DiscardOutBuffer();
281 |
282 | dataProcessing = true;
283 | GRBL_errCount = 0;
284 | return (true);
285 | }
286 | catch (Exception err)
287 | {
288 | logError("Opening port", err);
289 | ClosePort();
290 | return (false);
291 | }
292 | }
293 | private bool ClosePort()
294 | {
295 | if (transfer) { button5_Click(this, null); return (false);}
296 | else
297 | {
298 | try
299 | {
300 | setTransferFalse();
301 | if (serialPort1.IsOpen)
302 | {
303 | serialPort1.DiscardInBuffer();
304 | serialPort1.DiscardOutBuffer();
305 | serialPort1.Close();
306 | rtbLog.AppendText("\r\n[DISCONNECTED]\r\n");
307 | rtbLog.ScrollToCaret();
308 | toolStripStatusLabel1.BackColor = SystemColors.Control;
309 |
310 | }
311 | toolStripStatusLabel1.Text = "";
312 | toolStripStatusLabel1.BackColor = SystemColors.Control;
313 | return (true);
314 | }
315 | catch (Exception err)
316 | {
317 | logError("Closing port", err);
318 | return (false);
319 | }
320 | }
321 | }
322 | //Send reset sentence
323 | private void grblReset()//Stop/reset button
324 | {
325 | try
326 | {
327 | setTransferFalse();
328 | rtbLog.AppendText("[RESET]");
329 | var dataArray = new byte[] { 24 };//Ctrl-X
330 | serialPort1.Write(dataArray, 0, 1);
331 | }
332 | catch (Exception err)
333 | {
334 | logError("Reset command fail", err);
335 | }
336 |
337 | }
338 | //Open port button
339 | private void button1_Click(object sender, EventArgs e)
340 | {
341 | if (serialPort1.IsOpen) ClosePort(); else OpenPort();
342 | }
343 | //Refresh port names on the combo box
344 | private void refreshPorts()
345 | {
346 | try
347 | {
348 | List tList = new List();
349 | cbPort.Items.Clear();
350 | foreach (string s in SerialPort.GetPortNames()) tList.Add(s);
351 | if (tList.Count < 1) logError("No serial ports found", null);
352 | else
353 | {
354 | tList.Sort();
355 | cbPort.Items.AddRange(tList.ToArray());
356 | }
357 | }
358 | catch (Exception e)
359 | {
360 | logError("Refreshing available ports", e);
361 | }
362 | }
363 | //Form on load
364 | private void Form1_Load(object sender, EventArgs e)
365 | {
366 | Text = "3dpBurner Sender v" + ver;
367 | btnGotoXoYo.Text = "GoTo\r\nX0,Y0";
368 | bHome.Text = "Homing\r\nXY";
369 | btnZero.Text = "Zero\r\nXY";
370 | btnUnlock.Text = "Alarm\r\nUnlock";
371 | loadSettings();
372 | }
373 | //Load settings
374 | private void loadSettings()
375 | {
376 | try
377 | {
378 | cbPort.Text = Properties.Settings1.Default.port;
379 | tbFile.Text = Properties.Settings1.Default.file;
380 | tbStepSize.Text = Properties.Settings1.Default.step;
381 | tbLaserPwr.Text = Properties.Settings1.Default.pwr;
382 | tbCustom1.Text = Properties.Settings1.Default.custom1;
383 | tbCustom2.Text = Properties.Settings1.Default.custom2;
384 | }
385 | catch (Exception e)
386 | {
387 | logError("Loading settings",e);
388 | }
389 | }
390 | //Save settings
391 | private void saveSettings()
392 | {
393 | try
394 | {
395 | Properties.Settings1.Default.port = cbPort.Text;
396 | Properties.Settings1.Default.file = tbFile.Text;
397 | Properties.Settings1.Default.step = tbStepSize.Text;
398 | Properties.Settings1.Default.pwr = tbLaserPwr.Text;
399 | Properties.Settings1.Default.custom1 = tbCustom1.Text;
400 | Properties.Settings1.Default.custom2 = tbCustom2.Text;
401 | Properties.Settings1.Default.Save();
402 |
403 | }
404 | catch (Exception e)
405 | {
406 | logError("Saving settings", e);
407 | }
408 | }
409 | //Send command button
410 | private void bSendCmd_Click(object sender, EventArgs e)
411 | {
412 | sendLine(tbCommand.Text);
413 | tbCommand.Clear();
414 | }
415 | //TextBox manual command
416 | private void tbCommand_KeyPress(object sender, KeyPressEventArgs e)
417 | {
418 | if (e.KeyChar != (char)13) return;
419 | sendLine(tbCommand.Text);
420 | tbCommand.Clear();
421 | }
422 | //Jog X+ button
423 | private void bXup_Click(object sender, EventArgs e)
424 | {
425 | jogging = true;
426 | sendLine("G91G0X+" + tbStepSize.Text);
427 | }
428 | //Jog X- button
429 | private void bXdown_Click(object sender, EventArgs e)
430 | {
431 | jogging = true;
432 | sendLine("G91G0X-" + tbStepSize.Text);
433 | }
434 | //Jog Y+ button
435 | private void bYup_Click(object sender, EventArgs e)
436 | {
437 | jogging = true;
438 | sendLine("G91G0Y+" + tbStepSize.Text);
439 | }
440 | //Jog Y- button
441 | private void bYdown_Click(object sender, EventArgs e)
442 | {
443 | jogging = true;
444 | sendLine("G91G0Y-" + tbStepSize.Text);
445 | }
446 | //GoTo X0, Y0 button
447 | private void btnGotoXoYo_Click(object sender, EventArgs e)
448 | {
449 | sendLine("G0 X0 Y0");
450 | }
451 | //Homming button
452 | private void bHome_Click(object sender, EventArgs e)
453 | {
454 | sendLine("$H");
455 | }
456 | //.01 Step button
457 | private void button12_Click(object sender, EventArgs e)
458 | {
459 | tbStepSize.Text="0.01";
460 | }
461 | //.1 Step button
462 | private void button19_Click(object sender, EventArgs e)
463 | {
464 | tbStepSize.Text = "0.1";
465 | }
466 | //1 Step button
467 | private void button20_Click(object sender, EventArgs e)
468 | {
469 | tbStepSize.Text = "1";
470 | }
471 | //5 step button
472 | private void button1_Click_1(object sender, EventArgs e)
473 | {
474 | tbStepSize.Text = "5";
475 | }
476 | //10 Step button
477 | private void button21_Click(object sender, EventArgs e)
478 | {
479 | tbStepSize.Text = "10";
480 | }
481 | //100 Step button
482 | private void button22_Click(object sender, EventArgs e)
483 | {
484 | tbStepSize.Text = "100";
485 | }
486 | //Fornm on close
487 | private void frm3dpBurner_FormClosing(object sender, FormClosingEventArgs e)
488 | {
489 | saveSettings();
490 | if (transfer)
491 | {
492 | button5_Click(this, null);
493 | e.Cancel=true;
494 | }
495 | else
496 | {
497 | ClosePort();
498 | }
499 | }
500 | //Open file
501 | private void bOpenfile_Click(object sender, EventArgs e)
502 | {
503 | openFileDialog1.FileName = "";
504 | if (openFileDialog1.ShowDialog() == DialogResult.OK)
505 | {
506 | tbFile.Text = openFileDialog1.FileName;
507 | }
508 | }
509 | //Prepare file
510 | private void prepareFile()
511 | {
512 | rtbLog.AppendText("[Optimizing file...]\r\n");
513 | rtbLog.ScrollToCaret();
514 | rtbLog.Refresh();
515 | fileLinesSent = 0;
516 | fileLinesCount = 0;
517 | fileLinesConfirmed = 0;
518 | bufFree = grblBuferSize;
519 | if (File.Exists(tbFile.Text))
520 | {
521 | fileLines = new List();
522 | StreamReader file = new StreamReader(tbFile.Text);
523 | string line = "";
524 | line = file.ReadLine();
525 | while (line!= null)
526 | {
527 | line=line.Replace(" ", "");//remove spaces
528 | line = line.Replace("\r", " ");//remove CR
529 | line = line.Replace("\n", " ");//remove LF
530 | line = line.ToUpper();//all uppercase
531 | line = line.Trim();
532 | if ((!string.IsNullOrEmpty(line))&&(line[0]!='('))//trim lines and remove all empty lines and comment lines
533 | {
534 | fileLines.Add(line);//add line to list to send
535 | fileLinesCount++;//Count total lines
536 | }
537 | line = file.ReadLine();
538 | }
539 | file.Close();
540 | elapsed = TimeSpan.Zero;
541 | lblElapsed.Text = elapsed.ToString(@"hh\:mm\:ss");
542 | }
543 | }
544 | //Resume button
545 | private void bStart_Click(object sender, EventArgs e)
546 | {
547 | {
548 | rtbLog.AppendText("[RESUME]\r\n");
549 | rtbLog.ScrollToCaret();
550 |
551 | try
552 | {
553 | serialPort1.Write("~");
554 | }
555 | catch (Exception err)
556 | {
557 | logError("Sending command", err);
558 | }
559 |
560 | }
561 | }
562 | //Reset button
563 | private void button5_Click(object sender, EventArgs e)
564 | {
565 | grblReset();
566 | }
567 | //Unlock alarm button
568 | private void button11_Click(object sender, EventArgs e)
569 | {
570 | sendLine("$X");
571 | }
572 | //Update time elapsed
573 | private void tmrUpdates_Tick(object sender, EventArgs e)
574 | {
575 | //Unlockl button flashing
576 | if (statusStrip1.BackColor == Color.DarkOrange)//is in alarm mode?
577 | {
578 | if (btnUnlock.BackColor == Color.Silver) btnUnlock.BackColor = Color.DarkOrange; else btnUnlock.BackColor = Color.Silver;
579 | }
580 | else btnUnlock.BackColor = Color.Silver;
581 |
582 | if (transfer)//if active transfer update elapsed/remaining time time
583 | {
584 | float progressPorc;
585 |
586 | //file progress status
587 | if ((!File.Exists(tbFile.Text)) || (fileLinesCount < 1))//|| (fileLinesSent < 1))
588 | progressPorc = 0;
589 | else
590 | {
591 | progressPorc = (float)(fileLinesConfirmed * 100.0 / fileLinesCount);
592 | //Text = Convert.ToString(fileLinesConfirmed) + "/" + Convert.ToString(fileLinesCount) + " lines "+ Convert.ToString (fileLinesConfirmed * 100.0 / fileLinesCount)+"%";//debug
593 | }
594 | pbFile.Value = Convert.ToInt32(progressPorc);
595 | lblFileProgress.Text = Convert.ToString((Int32)progressPorc) + "%";// "% (" + Convert.ToString(fileLinesConfirmed) + "/" + Convert.ToString(fileLinesCount) + " lines)";
596 |
597 |
598 |
599 | elapsed = DateTime.UtcNow - timeInit;
600 | lblElapsed.Text = elapsed.ToString(@"hh\:mm\:ss");
601 | if (fileLinesConfirmed>0)
602 | remaining = TimeSpan.FromSeconds((100 - progressPorc) * (elapsed.TotalSeconds / progressPorc));
603 | lblRemaining.Text = remaining.ToString(@"hh\:mm\:ss");
604 |
605 | }
606 | //retrieve GRBL status
607 | if (serialPort1.IsOpen)
608 | {
609 | try
610 | {
611 | var dataArray = new byte[] { Convert.ToByte('?') };
612 | serialPort1.Write(dataArray, 0, 1);
613 | GRBL_errCount=0;
614 | }
615 | catch (Exception er)
616 | {
617 | GRBL_errCount ++;
618 | logError("Retrieving 3dpBurner status ( TRY " + GRBL_errCount.ToString() + " / " + GRBL_errMax.ToString() + " )", er);
619 |
620 | if (GRBL_errCount >= GRBL_errMax)
621 | {
622 | logError("3dpBurner seem to not respond", null);
623 | ClosePort();
624 | }
625 | }
626 | }
627 | }
628 | //Laser On button
629 | private void btnLaserOn_Click(object sender, EventArgs e)
630 | {
631 | sendLine("M3");
632 | }
633 | //Laser Off button
634 | private void btsLaserOff_Click(object sender, EventArgs e)
635 | {
636 | sendLine("M5");
637 | }
638 | //Custom 1 button
639 | private void btnCustom1_Click(object sender, EventArgs e)
640 | {
641 | sendLine(tbCustom1.Text);
642 | }
643 | //Custom 1 textBox
644 | private void tbCustom1_KeyPress(object sender, KeyPressEventArgs e)
645 | {
646 | if (e.KeyChar != (char)13) return;
647 | sendLine(tbCustom1.Text);
648 | }
649 | //Custom2 button
650 | private void btnCustom2_Click(object sender, EventArgs e)
651 | {
652 | sendLine(tbCustom2.Text);
653 | }
654 | //Custom 2 textBox
655 | private void tbCustom2_KeyPress(object sender, KeyPressEventArgs e)
656 | {
657 | if (e.KeyChar != (char)13) return;
658 | sendLine(tbCustom2.Text);
659 | }
660 | //Homing button
661 | private void btnZero_Click(object sender, EventArgs e)
662 | {
663 | sendLine("G92X0Y0");
664 | }
665 | //Clear log button
666 | private void btlClearLog_Click(object sender, EventArgs e)
667 | {
668 | rtbLog.Clear();
669 | }
670 | //Laser PWR button
671 | private void btnLaserPwr_Click(object sender, EventArgs e)
672 | {
673 | sendLine("S" + tbLaserPwr.Text);//Variable spindle PWM managed by 'Z'
674 | }
675 |
676 | //Zero XY button
677 | private void btnZeroXY_Click(object sender, EventArgs e)
678 | {
679 | sendLine("G92X0Y0");
680 | }
681 | //Zero Z button
682 | private void btnZeroZ_Click(object sender, EventArgs e)
683 | {
684 | sendLine("G92Z0");
685 | }
686 | //Restore settings
687 | private void restoreSettingsToolStripMenuItem_Click(object sender, EventArgs e)
688 | {
689 | if (MessageBox.Show("Restore Settings?", "Restore Settings", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) != DialogResult.OK) return;
690 | Properties.Settings1.Default.Reset();
691 | Properties.Settings1.Default.Save();
692 | loadSettings();
693 | }
694 | //About dialog
695 | private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
696 | {
697 | frmAbout frmAb = new frmAbout();
698 | frmAb.ShowDialog();
699 | }
700 | //Enter on power texbox-Send Sxx command
701 | private void tbLaserPwr_KeyPress(object sender, KeyPressEventArgs e)
702 | {
703 | {
704 | if (e.KeyChar != (char)13) return;
705 | sendLine("S"+tbLaserPwr.Text);
706 | }
707 | }
708 | //Serial port selection
709 | private void cbPort_DropDown(object sender, EventArgs e)
710 | {
711 | refreshPorts();
712 | }
713 | //Pause button
714 | private void bPause_Click(object sender, EventArgs e)
715 | {
716 | rtbLog.AppendText("[PAUSE]\r\n");
717 | rtbLog.ScrollToCaret();
718 | rtbLog.Refresh();
719 | try
720 | {
721 | serialPort1.Write("!");//ensure pause is received
722 | }
723 | catch (Exception err)
724 | {
725 | logError("Sending command", err);
726 | }
727 | }
728 | //Reset button
729 | private void btnReset_Click(object sender, EventArgs e)
730 | {
731 | grblReset();
732 | }
733 |
734 | //Send file button
735 | private void btnFileStart_Click(object sender, EventArgs e)
736 | {
737 | if (!transfer)
738 | {
739 | if (!File.Exists(tbFile.Text))
740 | {
741 | logError("Error opening file", null);
742 | return;
743 | }
744 | btnFileStart.Text = "Abort File";
745 | btnFileStart.BackColor = Color.Salmon;
746 | bOpenfile.Enabled = false;
747 | Refresh();
748 | prepareFile();
749 | rtbLog.AppendText("[Sending file...]\r\n");
750 | rtbLog.ScrollToCaret();
751 | rtbLog.Refresh();
752 | setTransferTrue();
753 | fileLinesConfirmed = 0;
754 | timeInit = DateTime.UtcNow;
755 | sendNextLine();
756 | }
757 | else
758 | {
759 | setTransferFalse();
760 | pbFile.Value = 0;
761 | rtbLog.AppendText("[Stop]\r\n");
762 | rtbLog.ScrollToCaret();
763 | }
764 | }
765 | //Visual controls updates
766 | private void tmrControlsUpdate_Tick(object sender, EventArgs e)
767 | {
768 | if (serialPort1.IsOpen)
769 | {
770 | bOpenPort.Text = "Disconnect";
771 | bOpenPort.BackColor = Color.Salmon;
772 | }
773 | else
774 | {
775 | bOpenPort.Text = "Connect";
776 | bOpenPort.BackColor = Color.YellowGreen;
777 | }
778 |
779 | if (transfer)
780 | {
781 | btnFileStart.Text="Abort File";
782 | btnFileStart.BackColor = Color.Salmon;
783 | bOpenfile.Enabled = false;
784 | }
785 | else
786 | {
787 | btnFileStart.Text = "Send File";
788 | btnFileStart.BackColor = Color.YellowGreen;
789 | bOpenfile.Enabled = true;
790 | }
791 | if (toolStripStatusLabel1.Text== "") statusStrip1.BackColor = SystemColors.Control;
792 | }
793 | //Serial ports info button
794 | private void btnPortsInfo_Click(object sender, EventArgs e)
795 | {
796 | try
797 | {
798 | //Display port and device names on the console
799 | rtbLog.AppendText("\r\n[PORTS INFO]\r\n");
800 | rtbLog.ScrollToCaret();
801 | ManagementObjectSearcher searcher =
802 | new ManagementObjectSearcher("root\\CIMV2",
803 | "SELECT * FROM Win32_PnPEntity");
804 |
805 | foreach (ManagementObject queryObj in searcher.Get())
806 | {
807 | if ((queryObj["Caption"] != null) && (queryObj["Name"].ToString().Contains("(COM")))
808 | {
809 |
810 | rtbLog.AppendText((queryObj["Caption"]).ToString()+"\r\n");
811 | rtbLog.ScrollToCaret();
812 | }
813 | }
814 | rtbLog.AppendText("\r\n");
815 | }
816 | catch (Exception er)
817 | {
818 | logError("Geting available ports info", er);
819 | }
820 | }
821 | //Send configuration file to machine
822 | private void sendConfigurationFileTo3dpBurnerToolStripMenuItem_Click(object sender, EventArgs e)
823 | {
824 | try
825 | {
826 | if (!connected)//if no connectio
827 | {
828 | logError("Connect first!" + "\r\n", null);
829 | rtbLog.ScrollToCaret();
830 | return;
831 | }
832 | if (transfer)//if transfering file the exit
833 | {
834 | logError("Stop the file transfer first!" + "\r\n",null);
835 | rtbLog.ScrollToCaret();
836 | return;
837 | }
838 |
839 | openFileDialog1.FileName = "";
840 | if (openFileDialog1.ShowDialog() != DialogResult.OK) return;
841 | if (!File.Exists(openFileDialog1.FileName))
842 | {
843 | logError("Error opening file", null);
844 | return;
845 | }
846 | rtbLog.AppendText("[Sending configuration file...]\r\n");
847 | rtbLog.ScrollToCaret();
848 | rtbLog.Refresh();
849 |
850 | StreamReader file = new StreamReader(openFileDialog1.FileName);
851 | try
852 | {
853 | string line = file.ReadLine();
854 | while (line!=null )//line=null mean end of file
855 | {
856 | rtbLog.AppendText(line + " >>> ");
857 | dataProcessing = true;
858 | serialPort1.Write(line + "\r");
859 |
860 | while (dataProcessing) Application.DoEvents() ;//wait response processed
861 | line = file.ReadLine();
862 | }
863 | }
864 | catch (Exception er)
865 | {
866 | logError("Error sending file", er);
867 | }
868 | file.Close();
869 | }
870 | catch (Exception err)
871 | {
872 | logError("Sending configuration file", err);
873 | }
874 | }
875 | //View 3dpBurner configuration
876 | private void view3dpBurnerSettingsToolStripMenuItem_Click(object sender, EventArgs e)
877 | {
878 | try
879 | {
880 | if (!connected)//if no connectio
881 | {
882 | logError("Connect first!" + "\r\n", null);
883 | rtbLog.ScrollToCaret();
884 | return;
885 | }
886 | if (transfer)//if transfering file the exit
887 | {
888 | logError("Stop the file transfer first!" + "\r\n", null);
889 | rtbLog.ScrollToCaret();
890 | return;
891 | }
892 |
893 | rtbLog.AppendText("[Getting configuration...]\r\n");
894 | serialPort1.Write("$$\r$N\r");
895 | }
896 | catch(Exception err)
897 | {
898 | logError("Retrieving configuration", err);
899 | }
900 |
901 | }
902 |
903 |
904 |
905 | }
906 | }
907 |
--------------------------------------------------------------------------------
/Form2.Designer.cs:
--------------------------------------------------------------------------------
1 | /* 3dpBurner Sender. A GCODE sender for GRBL based devices.
2 | This file is part of 3dpBurner Sender application.
3 |
4 | Copyright (C) 2014-2015 Adrian V. J. (villamany) contact: villamany@gmail.com
5 |
6 | This program is free software: you can redistribute it and/or modify
7 | it under the terms of the GNU General Public License as published by
8 | the Free Software Foundation, either version 3 of the License, or
9 | (at your option) any later version.
10 |
11 | This program is distributed in the hope that it will be useful,
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | GNU General Public License for more details.
15 |
16 | You should have received a copy of the GNU General Public License
17 | along with this program. If not, see .
18 | */
19 | //Form 2 (About dialog) design
20 |
21 | namespace _3dpBurner
22 | {
23 | partial class frmAbout
24 | {
25 | ///
26 | /// Required designer variable.
27 | ///
28 | private System.ComponentModel.IContainer components = null;
29 |
30 | ///
31 | /// Clean up any resources being used.
32 | ///
33 | /// true if managed resources should be disposed; otherwise, false.
34 | protected override void Dispose(bool disposing)
35 | {
36 | if (disposing && (components != null))
37 | {
38 | components.Dispose();
39 | }
40 | base.Dispose(disposing);
41 | }
42 |
43 | #region Windows Form Designer generated code
44 |
45 | ///
46 | /// Required method for Designer support - do not modify
47 | /// the contents of this method with the code editor.
48 | ///
49 | private void InitializeComponent()
50 | {
51 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmAbout));
52 | this.richTextBox1 = new System.Windows.Forms.RichTextBox();
53 | this.SuspendLayout();
54 | //
55 | // richTextBox1
56 | //
57 | this.richTextBox1.BackColor = System.Drawing.Color.White;
58 | this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
59 | this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
60 | this.richTextBox1.Location = new System.Drawing.Point(0, 0);
61 | this.richTextBox1.Name = "richTextBox1";
62 | this.richTextBox1.ReadOnly = true;
63 | this.richTextBox1.Size = new System.Drawing.Size(434, 212);
64 | this.richTextBox1.TabIndex = 0;
65 | this.richTextBox1.Text = resources.GetString("richTextBox1.Text");
66 | //
67 | // frmAbout
68 | //
69 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
70 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
71 | this.ClientSize = new System.Drawing.Size(434, 212);
72 | this.Controls.Add(this.richTextBox1);
73 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
74 | this.MaximizeBox = false;
75 | this.MinimizeBox = false;
76 | this.Name = "frmAbout";
77 | this.ShowIcon = false;
78 | this.ShowInTaskbar = false;
79 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
80 | this.Text = "About 3dpBurner-Sender";
81 | this.ResumeLayout(false);
82 |
83 | }
84 |
85 | #endregion
86 |
87 | private System.Windows.Forms.RichTextBox richTextBox1;
88 | }
89 | }
--------------------------------------------------------------------------------
/Form2.cs:
--------------------------------------------------------------------------------
1 | /* 3dpBurner Sender. A GCODE sender for GRBL based devices.
2 | This file is part of 3dpBurner Sender application.
3 |
4 | Copyright (C) 2014-2015 Adrian V. J. (villamany) contact: villamany@gmail.com
5 |
6 | This program is free software: you can redistribute it and/or modify
7 | it under the terms of the GNU General Public License as published by
8 | the Free Software Foundation, either version 3 of the License, or
9 | (at your option) any later version.
10 |
11 | This program is distributed in the hope that it will be useful,
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | GNU General Public License for more details.
15 |
16 | You should have received a copy of the GNU General Public License
17 | along with this program. If not, see .
18 | */
19 | //Form 2 (About dialog)
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.ComponentModel;
24 | using System.Data;
25 | using System.Drawing;
26 | using System.Linq;
27 | using System.Text;
28 | using System.Windows.Forms;
29 |
30 | namespace _3dpBurner
31 | {
32 | public partial class frmAbout : Form
33 | {
34 | public frmAbout()
35 | {
36 | InitializeComponent();
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/Form2.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | 3dpBurner-Sender is a free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
122 |
123 | 3dpBurner-Sender is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
124 |
125 | You should have received a copy of the GNU General Public License along with 3dpBurner-Sender. If not, see <http://www.gnu.org/licenses/>.
126 |
127 | Check for lastest release and source code: https://github.com/villamany/3dpBurner-sender
128 |
129 | Copyright (C) 2014-2018 Adrian V. J. (villamany) contact: villamany@gmail.com
130 |
131 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/villamany/3dpBurner-sender/a20800440bfaea1e6f647430e17fd636c878b041/LICENSE
--------------------------------------------------------------------------------
/Laser Black.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/villamany/3dpBurner-sender/a20800440bfaea1e6f647430e17fd636c878b041/Laser Black.ico
--------------------------------------------------------------------------------
/Program.cs:
--------------------------------------------------------------------------------
1 | /* 3dpBurner Sender. A GCODE sender for GRBL based devices.
2 | This file is part of 3dpBurner Sender application.
3 |
4 | Copyright (C) 2014-2015 Adrian V. J. (villamany) contact: villamany@gmail.com
5 |
6 | This program is free software: you can redistribute it and/or modify
7 | it under the terms of the GNU General Public License as published by
8 | the Free Software Foundation, either version 3 of the License, or
9 | (at your option) any later version.
10 |
11 | This program is distributed in the hope that it will be useful,
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | GNU General Public License for more details.
15 |
16 | You should have received a copy of the GNU General Public License
17 | along with this program. If not, see .
18 | */
19 | // Main program
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.Linq;
24 | using System.Threading.Tasks;
25 | using System.Windows.Forms;
26 |
27 | namespace _3dpBurner
28 | {
29 | static class Program
30 | {
31 | ///
32 | /// The main entry point for the application.
33 | ///
34 | [STAThread]
35 | static void Main()
36 | {
37 | Application.EnableVisualStyles();
38 | Application.SetCompatibleTextRenderingDefault(false);
39 | Application.Run(new frm3dpBurner());
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("3dpBurner Sender")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("3dpBurner Sender")]
13 | [assembly: AssemblyCopyright("Copyright © 2015")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("9a7949fd-61c6-4577-8ea6-8c8ff5ac7859")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("0.0.0.0")]
36 | [assembly: AssemblyFileVersion("0.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | /* 3dpBurner Sender. A GCODE sender for GRBL based devices.
2 | This file is part of 3dpBurner Sender application.
3 |
4 | Copyright (C) 2014-2015 Adrian V. J. (villamany)
5 |
6 | This program is free software: you can redistribute it and/or modify
7 | it under the terms of the GNU General Public License as published by
8 | the Free Software Foundation, either version 3 of the License, or
9 | (at your option) any later version.
10 |
11 | This program is distributed in the hope that it will be useful,
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | GNU General Public License for more details.
15 |
16 | You should have received a copy of the GNU General Public License
17 | along with this program. If not, see .
18 | */
19 | //------------------------------------------------------------------------------
20 | //
21 | // This code was generated by a tool.
22 | // Runtime Version:4.0.30319.18408
23 | //
24 | // Changes to this file may cause incorrect behavior and will be lost if
25 | // the code is regenerated.
26 | //
27 | //------------------------------------------------------------------------------
28 |
29 | namespace _3dpBurner.Properties {
30 | using System;
31 |
32 |
33 | ///
34 | /// A strongly-typed resource class, for looking up localized strings, etc.
35 | ///
36 | // This class was auto-generated by the StronglyTypedResourceBuilder
37 | // class via a tool like ResGen or Visual Studio.
38 | // To add or remove a member, edit your .ResX file then rerun ResGen
39 | // with the /str option, or rebuild your VS project.
40 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
41 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
42 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
43 | internal class Resources {
44 |
45 | private static global::System.Resources.ResourceManager resourceMan;
46 |
47 | private static global::System.Globalization.CultureInfo resourceCulture;
48 |
49 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
50 | internal Resources() {
51 | }
52 |
53 | ///
54 | /// Returns the cached ResourceManager instance used by this class.
55 | ///
56 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
57 | internal static global::System.Resources.ResourceManager ResourceManager {
58 | get {
59 | if (object.ReferenceEquals(resourceMan, null)) {
60 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("_3dpBurner.Properties.Resources", typeof(Resources).Assembly);
61 | resourceMan = temp;
62 | }
63 | return resourceMan;
64 | }
65 | }
66 |
67 | ///
68 | /// Overrides the current thread's CurrentUICulture property for all
69 | /// resource lookups using this strongly typed resource class.
70 | ///
71 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
72 | internal static global::System.Globalization.CultureInfo Culture {
73 | get {
74 | return resourceCulture;
75 | }
76 | set {
77 | resourceCulture = value;
78 | }
79 | }
80 |
81 | ///
82 | /// Looks up a localized resource of type System.Drawing.Bitmap.
83 | ///
84 | internal static System.Drawing.Bitmap refresh {
85 | get {
86 | object obj = ResourceManager.GetObject("refresh", resourceCulture);
87 | return ((System.Drawing.Bitmap)(obj));
88 | }
89 | }
90 | }
91 | }
92 |
--------------------------------------------------------------------------------
/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | ..\Resources\refresh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
123 |
124 |
--------------------------------------------------------------------------------
/Properties/Settings1.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.18408
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace _3dpBurner.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
16 | internal sealed partial class Settings1 : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings1 defaultInstance = ((Settings1)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings1())));
19 |
20 | public static Settings1 Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 |
26 | [global::System.Configuration.UserScopedSettingAttribute()]
27 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
28 | [global::System.Configuration.DefaultSettingValueAttribute("COM1")]
29 | public string port {
30 | get {
31 | return ((string)(this["port"]));
32 | }
33 | set {
34 | this["port"] = value;
35 | }
36 | }
37 |
38 | [global::System.Configuration.UserScopedSettingAttribute()]
39 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
40 | [global::System.Configuration.DefaultSettingValueAttribute("115200")]
41 | public string baud {
42 | get {
43 | return ((string)(this["baud"]));
44 | }
45 | set {
46 | this["baud"] = value;
47 | }
48 | }
49 |
50 | [global::System.Configuration.UserScopedSettingAttribute()]
51 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
52 | [global::System.Configuration.DefaultSettingValueAttribute("")]
53 | public string file {
54 | get {
55 | return ((string)(this["file"]));
56 | }
57 | set {
58 | this["file"] = value;
59 | }
60 | }
61 |
62 | [global::System.Configuration.UserScopedSettingAttribute()]
63 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
64 | [global::System.Configuration.DefaultSettingValueAttribute("1")]
65 | public string step {
66 | get {
67 | return ((string)(this["step"]));
68 | }
69 | set {
70 | this["step"] = value;
71 | }
72 | }
73 |
74 | [global::System.Configuration.UserScopedSettingAttribute()]
75 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
76 | [global::System.Configuration.DefaultSettingValueAttribute("0")]
77 | public string pwr {
78 | get {
79 | return ((string)(this["pwr"]));
80 | }
81 | set {
82 | this["pwr"] = value;
83 | }
84 | }
85 |
86 | [global::System.Configuration.UserScopedSettingAttribute()]
87 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
88 | [global::System.Configuration.DefaultSettingValueAttribute("G0 X0 Y0")]
89 | public string custom1 {
90 | get {
91 | return ((string)(this["custom1"]));
92 | }
93 | set {
94 | this["custom1"] = value;
95 | }
96 | }
97 |
98 | [global::System.Configuration.UserScopedSettingAttribute()]
99 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
100 | [global::System.Configuration.DefaultSettingValueAttribute("G0 X10 Y10")]
101 | public string custom2 {
102 | get {
103 | return ((string)(this["custom2"]));
104 | }
105 | set {
106 | this["custom2"] = value;
107 | }
108 | }
109 |
110 | [global::System.Configuration.UserScopedSettingAttribute()]
111 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
112 | [global::System.Configuration.DefaultSettingValueAttribute("2axisLasePWR_S")]
113 | public string mode {
114 | get {
115 | return ((string)(this["mode"]));
116 | }
117 | set {
118 | this["mode"] = value;
119 | }
120 | }
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/Properties/Settings1.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | COM1
7 |
8 |
9 | 115200
10 |
11 |
12 |
13 |
14 |
15 | 1
16 |
17 |
18 | 0
19 |
20 |
21 | G0 X0 Y0
22 |
23 |
24 | G0 X10 Y10
25 |
26 |
27 | 2axisLasePWR_S
28 |
29 |
30 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | /* 3dpBurner Sender. A GCODE sender for GRBL based devices.
2 | This file is part of 3dpBurner Sender application.
3 |
4 | Copyright (C) 2014-2015 Adrian V. J. (villamany) contact: villamany@gmail.com
5 |
6 | This program is free software: you can redistribute it and/or modify
7 | it under the terms of the GNU General Public License as published by
8 | the Free Software Foundation, either version 3 of the License, or
9 | (at your option) any later version.
10 |
11 | This program is distributed in the hope that it will be useful,
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | GNU General Public License for more details.
15 |
16 | You should have received a copy of the GNU General Public License
17 | along with this program. If not, see .
18 | */
19 |
20 | GitHub notes:
21 | The master branch contain the development version.
22 | Check the "Releases" for release versions and .exe files.
23 |
24 | //-------------------------------------------------------
25 | //-------------------- Changelog ------------------------
26 | //-------------------------------------------------------
27 | //-------------------------------------------------------
28 | v1.0beta2
29 | //-------------------------------------------------------
30 | //-Minor cosmetic changes since latest beta.
31 | //-------------------------------------------------------
32 | v1.0beta2
33 | //-------------------------------------------------------
34 | //-A more precise remaining time
35 | //-Code cleanup
36 | //-Other minor bugs and improvements
37 | //-------------------------------------------------------
38 | v1.0beta
39 | //-------------------------------------------------------
40 | -The application has been centered for simplicity and 3dpBurner best performance instead compatibility with general GRBL based devices (there are other better alternatives for these). Mode menu and port speed selection has been removed.
41 | -Corrected stability issues.
42 | -Added "hold" and "Resume" buttons.
43 | -When sending files the screen and system will prevent to entering in idle mode returning to default mode when no transfer in progress (prevent hangs and micropauses issues when streaming).
44 | -New look and other minor functions added.
45 | //-------------------------------------------------------
46 | v0.2.1
47 | //-------------------------------------------------------
48 | -Minors bugs and stability issues fix
49 | -Added estimated remaining time
50 | //-------------------------------------------------------
51 | v0.2
52 | //-------------------------------------------------------
53 | -Some stability issues fixed.
54 | -Added support for 2 and 3 axis laser cutter and 3 axis milling.
55 | -Visual improvments
56 | -Code cleanup
57 | -Added more info about license
58 | //-------------------------------------------------------
59 | v0.1.1
60 | //-------------------------------------------------------
61 | -Improved file streaming speed: On file streaming all line responses was added to log console. this produce a slowly file streaming due many visual lines to move. Now only add lines if response is not "ok"
62 | -Removed "stop" button it no was canceling instantly, now only "start" button enabled/disabled during streaming, press reset if you want to cancel the work.
63 | -Added bufer status text near progress bar
64 | -Added total processed lines on the total lines label
65 | -Other minor changes
66 | //-------------------------------------------------------
67 | v0.1
68 | //-------------------------------------------------------
69 | -Initial release
--------------------------------------------------------------------------------
/Resources/refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/villamany/3dpBurner-sender/a20800440bfaea1e6f647430e17fd636c878b041/Resources/refresh.png
--------------------------------------------------------------------------------
/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | <_3dpBurner.Properties.Settings1>
10 |
11 | COM1
12 |
13 |
14 | 115200
15 |
16 |
17 |
18 |
19 |
20 | 1
21 |
22 |
23 | 0
24 |
25 |
26 | G0 X0 Y0
27 |
28 |
29 | G0 X10 Y10
30 |
31 |
32 | 2axisLasePWR_S
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/bin/Release/3dpBurnerSender.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/villamany/3dpBurner-sender/a20800440bfaea1e6f647430e17fd636c878b041/bin/Release/3dpBurnerSender.exe
--------------------------------------------------------------------------------