├── .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 --------------------------------------------------------------------------------