From 4f7e5e54557ee6f08c0192fa931d6bb256caee6d Mon Sep 17 00:00:00 2001 From: gerritv <3d58b8e6@opayq.com> Date: Tue, 6 Jan 2015 10:04:41 -0500 Subject: [PATCH] Fixes for V1.0.3.0, see CHANGES.txt --- Grbl-Panel/App.config | 6 + Grbl-Panel/CHANGES.txt | 6 + Grbl-Panel/CREDITS.txt | 1 + Grbl-Panel/GrblGcode.vb | 13 +- Grbl-Panel/GrblGui.vb | 98 ++- Grbl-Panel/GrblIF.vb | 310 +++++++-- Grbl-Panel/GrblJogging.vb | 1 + Grbl-Panel/My Project/AssemblyInfo.vb | 6 +- Grbl-Panel/My Project/Settings.Designer.vb | 24 + Grbl-Panel/My Project/Settings.settings | 6 + Grbl-Panel/grblgui.Designer.vb | 724 +++++++++++---------- Grbl-Panel/grblgui.resx | 3 + 12 files changed, 783 insertions(+), 415 deletions(-) diff --git a/Grbl-Panel/App.config b/Grbl-Panel/App.config index 3b62d80..5fea735 100644 --- a/Grbl-Panel/App.config +++ b/Grbl-Panel/App.config @@ -100,6 +100,12 @@ + + + + + 0 + diff --git a/Grbl-Panel/CHANGES.txt b/Grbl-Panel/CHANGES.txt index db24692..342678d 100644 --- a/Grbl-Panel/CHANGES.txt +++ b/Grbl-Panel/CHANGES.txt @@ -1,4 +1,10 @@ This file documents changes made: +V1.0.3.0 - 2014 Dec 30 + - Release file handle immediately after loading, Issue #19 + - Ensure we always treat '.' as decimal, force Locale, Issue #17 + - Ignore "%" in gcode file, Issue #20 + - Fix layout errors when screen is set to 125%, Issue #18 and others + - Add IP address as a connection, thanks Tyler for designing and implementing this feature. V1.0.2.0 - 2014 Dec 5 - Prevent keyboard jogging if running a gcode file or in MDI, Issue #15 - Add Reload for gcode file, reloads same file from scratch, Issue #11-5, 15 diff --git a/Grbl-Panel/CREDITS.txt b/Grbl-Panel/CREDITS.txt index 3f65756..5d33746 100644 --- a/Grbl-Panel/CREDITS.txt +++ b/Grbl-Panel/CREDITS.txt @@ -9,4 +9,5 @@ This tool would not have been possible without: - Tortoise SVN for providing a simple to use code version control system - Sonny Jeon's support by maintaining Grbl and providing useful input to design of GrblPanel as well as testing - Legendaire for testing beta versions +- Tyler for adding IP connectivity - Peter Smid, for his amazing books on CNC and Gcode \ No newline at end of file diff --git a/Grbl-Panel/GrblGcode.vb b/Grbl-Panel/GrblGcode.vb index 0722daa..9cd4fe0 100644 --- a/Grbl-Panel/GrblGcode.vb +++ b/Grbl-Panel/GrblGcode.vb @@ -37,6 +37,7 @@ Partial Class GrblGui End Sub Public Function loadGCodeFile(ByVal file As String) As Boolean + Dim data As String ' Start from clean slate resetGcode(True) @@ -45,11 +46,19 @@ Partial Class GrblGui ' count the lines while loading up _inputcount = 0 Do While Not _inputfh.EndOfStream - _gui.gcodeview.Insert(_inputfh.ReadLine(), _inputcount) - _inputcount += 1 + data = _inputfh.ReadLine() ' Issue #20, ignore '%' + If data <> "%" Then + _gui.gcodeview.Insert(data, _inputcount) + _inputcount += 1 + End If Loop lineCount = _inputcount + + If Not IsNothing(_inputfh) Then + _inputfh.Close() + End If ' Issue #19 + Return True End Function diff --git a/Grbl-Panel/GrblGui.vb b/Grbl-Panel/GrblGui.vb index c62b3fe..5cd5c03 100644 --- a/Grbl-Panel/GrblGui.vb +++ b/Grbl-Panel/GrblGui.vb @@ -1,4 +1,7 @@ -Imports System.Threading.Thread +Imports System.Globalization +Imports System.Threading +Imports System.Threading.Thread + Public Class GrblGui @@ -13,7 +16,7 @@ Public Class GrblGui Public settings As GrblSettings ' To handle Settings related ops Public Sub myhandler(ByVal sender As Object, args As UnhandledExceptionEventArgs) - ' Show exception in useable manner + ' Show exception in usable manner Dim e As Exception = DirectCast(args.ExceptionObject, Exception) MessageBox.Show("Exception: " + e.Message + vbLf + e.InnerException.Message + vbLf + e.StackTrace) End Sub @@ -23,6 +26,9 @@ Public Class GrblGui ' Use handler below to trap wierd problems at Form creation, e.g. when going from .Net 4 to 3.5 AddHandler AppDomain.CurrentDomain.UnhandledException, AddressOf myhandler + ' Ensure that we always interpret things such as '.' as decimal (instead of ',' in EU) + Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-CA") + ' Set user preferences/defaults Application.EnableVisualStyles() @@ -52,9 +58,11 @@ Public Class GrblGui End If cbBaud.SelectedText = My.Settings.Baud - grblPort.baudrate = Convert.ToInt32(My.Settings.Baud) + tcConnection.SelectedIndex = My.Settings.ConnectionType + tbIPAddress.Text = My.Settings.IPAddress + If cbSettingsConnectOnLoad.Checked Then ' auto connect btnConnDisconnect_Click(btnConnect, Nothing) @@ -92,29 +100,36 @@ Public Class GrblGui End Sub Private Sub SwitchSides(ByVal side As Boolean) - ' We switch GUI sides, this needs to be fixed EVERYTIME that the layout changes! + ' We switch GUI sides + Dim ctl As Control + + ' Get existing locations for X ' Issue #17,18 and others fix + Dim left_X As Integer + Dim right_X As Integer + left_X = gbJogging.Width + 3 + right_X = gbPosition.Width + 3 + If side Then ' we are going left handed For Each ctl In {gbGrbl, gbJogging, gbGcode} ctl.Location = New Point(3, ctl.Location.Y) Next - gbMDI.Location = New Point(3 + 184, gbMDI.Location.Y) + gbMDI.Location = New Point(3 + gbGrbl.Width + 3, gbMDI.Location.Y) For Each ctl In {gbPosition, gbStatus, gbControl} - - ctl.Location = New Point(3 + 3 + 520, ctl.Location.Y) + ctl.Location = New Point(3 + left_X, ctl.Location.Y) Next Else For Each ctl In {gbGrbl, gbJogging, gbGcode} - ctl.Location = New Point(3 + 403, ctl.Location.Y) + ctl.Location = New Point(3 + right_X, ctl.Location.Y) Next - gbMDI.Location = New Point(3 + 400 + 187, gbMDI.Location.Y) + gbMDI.Location = New Point(3 + right_X + gbGrbl.Width + 3, gbMDI.Location.Y) For Each ctl In {gbPosition, gbStatus, gbControl} - ctl.Location = New Point(3, ctl.Location.Y) Next End If + End Sub Private Sub cbSettingsLeftHanded_CheckedChanged(sender As Object, e As EventArgs) Handles cbSettingsLeftHanded.CheckedChanged @@ -126,7 +141,7 @@ Public Class GrblGui ' set desired com port ' always remember as new default ' allow re-connect to new port - grblPort.port = cbPorts.SelectedItem + grblPort.comport = cbPorts.SelectedItem ' Set as new default My.Settings.Port = cbPorts.SelectedItem btnConnect.Enabled = True @@ -142,22 +157,53 @@ Public Class GrblGui End Sub - Private Sub btnConnDisconnect_Click(sender As Object, e As EventArgs) Handles btnConnect.Click + Private Sub btnConnDisconnect_Click(sender As Object, e As EventArgs) Handles btnConnect.Click, btnIPConnect.Click ' Open connection to Grbl - Dim btn As Button = sender + ' This routine is used for both Com and IP connections. Buttons are differentiated by using Tag property. - If grblPort.port = "" Then - MessageBox.Show("Please select a Com port" + vbCr + "or connect the cable", "Connect Error", MessageBoxButtons.OK) - grblPort.rescan() - Return - End If + Dim btn As Button = sender + Dim connected As Boolean Select Case btn.Text Case "Connect" - If grblPort.Connect() = True Then - ' disable Connect button to prevent reconnects - btnConnect.Text = "Disconnect" - + Select Case btn.Tag + Case "COM" + connected = grblPort.Connect(GrblIF.ConnectionType.Serial) + If connected = True Then + ' disable other Connect button to prevent reconnects + btn.Text = "Disconnect" + btnIPConnect.Enabled = False + Else + MessageBox.Show("Please select a Com port" + vbCr + "or connect the cable", "Connect Error", MessageBoxButtons.OK) + grblPort.rescan() + Return + End If + Case "IP" + If tbIPAddress.TextLength <= 0 Then + MessageBox.Show("Please enter an IP Address" + vbCr + "and a port number in the format" + vbCr + """:""", "Connect Error", MessageBoxButtons.OK) + Return + End If + + Dim address As String() = tbIPAddress.Text.Split({":"}, StringSplitOptions.RemoveEmptyEntries) + grblPort.ipaddress = System.Net.IPAddress.Parse(address(0)) + grblPort.portnum = Integer.Parse(address(1)) + + If grblPort.portnum = 0 Then + MessageBox.Show("Please enter an IP Address" + vbCr + "and a port number in the format" + vbCr + """:""", "Connect Error", MessageBoxButtons.OK) + Return + End If + ' finally we try to connect + connected = grblPort.Connect(GrblIF.ConnectionType.IP) + If connected = True Then + ' disable other Connect button to prevent reconnects + btn.Text = "Disconnect" + btnConnect.Enabled = False + Else + MessageBox.Show("Please enter an IP Address" + vbCr + "and a port number in the format" + vbCr + """:""", "Connect Error", MessageBoxButtons.OK) + Return + End If + End Select + If connected = True Then ' Wake up the subsystems ' TODO Replace these calls with Event Connected handling in each object status.enableStatus(True) @@ -172,15 +218,14 @@ Public Class GrblGui Sleep(tbSettingsStartupDelay.Text * 1000) ' Give Grbl time to wake up from Reset RaiseEvent Connected("Connected") ' tell everyone of the happy event - Else - MessageBox.Show("Please select a Com port" + vbCr + "or connect the cable", "Connect Error", MessageBoxButtons.OK) - grblPort.rescan() - Return End If Case "Disconnect" ' it must be a disconnect grblPort.Disconnect() btnConnect.Text = "Connect" + btnIPConnect.Text = "Connect" + btnConnect.Enabled = True + btnIPConnect.Enabled = True ' Stop the status poller ' TODO Replace these calls with Event Disconnected handling in each object @@ -286,4 +331,5 @@ Public Class GrblGui ' Raised when we succesfully connected to Grbl Public Event Connected(ByVal msg As String) + End Class diff --git a/Grbl-Panel/GrblIF.vb b/Grbl-Panel/GrblIF.vb index 6cce01a..242c374 100644 --- a/Grbl-Panel/GrblIF.vb +++ b/Grbl-Panel/GrblIF.vb @@ -1,12 +1,21 @@ -Imports System.IO.Ports +Imports System.IO +Imports System.IO.Ports Imports System.Collections.Queue +Imports System.Net.Sockets +Imports System.Net Imports System.Text ' -' Usefule serialport tips, #3 is important!!!! +' Useful serialport tips, #3 is important!!!! ' http://blogs.msdn.com/b/bclteam/archive/2006/10/10/top-5-serialport-tips-_5b00_kim-hamilton_5d00_.aspx ' Public Class GrblIF + Public Enum ConnectionType + IP + Serial + None + End Enum + ' A class to handle serial port list/open/close/read/write Private _commports As String() ' the comm ports available @@ -14,6 +23,12 @@ Public Class GrblIF Private _commport As String ' desired comm port Private _baudrate As Integer ' active baudrate Private _connected As Boolean = False + Private _client As New TcpClient() + Private _remoteHost As IPAddress ' desired remote host + Private _portNum As Integer = 0 ' remote port number + Private _type As ConnectionType + + Private Delegate Sub _dataReceived() ' The inbound queue supports delegates to call when a line of data arrives Public Delegate Sub grblDataReceived(ByVal data As String) @@ -28,26 +43,62 @@ Public Class GrblIF End Sub - Public Function Connect() As Boolean - If _port.IsOpen Then - Return False - End If - _port.PortName = _commport - _port.BaudRate = _baudrate + ''' + ''' Starts the connection to grbl, via IP or Serial (COM). Expects to have the needed properties set beforehand. + ''' + ''' Specifies if we're connecting via IP or Serial. None as safety/exception case + ''' Returns True if the connection succeeded, false otherwise. + Public Function Connect(typeIn As ConnectionType) As Boolean + _type = typeIn - Try - _port.Open() - Catch ex As System.IO.IOException - Return False - End Try - ' Reset the board - _port.DtrEnable = True - _port.DtrEnable = False - _connected = True - Return True + Select Case _type + Case ConnectionType.IP + If _client.Connected Then + Return False + End If + + Try + _client = New TcpClient() + _client.Connect(_remoteHost, _portNum) + + Dim d As _dataReceived = AddressOf _client_DataReceived + d.BeginInvoke(Nothing, Nothing) + + Catch ex As Exception + Return False + End Try + _connected = True + Return True + Case ConnectionType.Serial + If _port.IsOpen Then + Return False + End If + _port.PortName = _commport + _port.BaudRate = _baudrate + + Try + _port.Open() + Catch ex As System.IO.IOException + Return False + End Try + ' Reset the board + _port.DtrEnable = True + _port.DtrEnable = False + _connected = True + Return True + Case Else + Return False ' This should never happen, just in case. + End Select End Function + ''' + ''' Closes the connection. + ''' Public Sub Disconnect() + Select Case _type + Case ConnectionType.IP + _client.Close() + Case ConnectionType.Serial ' disconnect from Grbl Try If _port.IsOpen Then @@ -59,15 +110,20 @@ Public Class GrblIF ' This happens for sure if user disconnects the USB cable MessageBox.Show("Error on close of Grbl port") End Try + End Select _connected = False + _type = ConnectionType.None End Sub Public Function rescan() As String() ' scan for com ports again Return IO.Ports.SerialPort.GetPortNames End Function - - ReadOnly Property ports() As String() + ''' + ''' Lists the available COM ports on the system. + ''' + ''' String Array of COM ports + ReadOnly Property comports() As String() Get ' get list of available com ports _commports = IO.Ports.SerialPort.GetPortNames() @@ -75,7 +131,12 @@ Public Class GrblIF End Get End Property - Property port() As String + ''' + ''' COM port to use if connected via COM + ''' + ''' The COM port to use + ''' The selected COM port + Property comport() As String Get Return _commport End Get @@ -84,6 +145,11 @@ Public Class GrblIF End Set End Property + ''' + ''' Baudrate to use if connected via COM + ''' + ''' The baudrate, as an integer. 9600 (0.8c) and 115200 (0.9g) are common values. + ''' The configured baudrate Property baudrate() As Integer Get Return _baudrate @@ -93,6 +159,44 @@ Public Class GrblIF End Set End Property + ''' + ''' IP Address to use if connected via IP + ''' + ''' The IP Address to connect to + ''' The IP Address currently configured + Property ipaddress() As IPAddress + Get + Return _remoteHost + End Get + Set(value As IPAddress) + _remoteHost = value + End Set + End Property + + ''' + ''' Port Number to use if connected via IP + ''' + ''' Port number to use, as an integer between 1 and 65,535. WiFly defaults to 2000 + ''' + ''' + Property portnum() As Integer + Get + Return _portNum + End Get + Set(value As Integer) + If value > 65535 Or value < 0 Then + 'port number passed in is outside of valid bounds, default to 2000. + _portNum = 2000 + Else + _portNum = value + End If + + End Set + End Property + + ''' + ''' Are we connected to grbl? + ''' ReadOnly Property Connected ' Are we connected to Grbl? Get @@ -119,7 +223,50 @@ Public Class GrblIF Return True End Function - Private Sub _port_DataReceived(sender As Object, e As IO.Ports.SerialDataReceivedEventArgs) Handles _port.DataReceived + Private Sub _client_DataReceived() 'sender As Object, e As IO.Ports.SerialDataReceivedEventArgs) Handles _stream.DataReceived + ' THIS RUNS IN ITS OWN THREAD!!!!! with no direct access to UI elements + ' By using ReadLine here, we should block this thread until the rest of a line is available, set ReceivedBytesThreshold low (2) + ' All registered delegates are called, any new receive events get queued up 'in the system' + + Dim data As String + + Dim _stream As NetworkStream = _client.GetStream() + Dim _reader As New StreamReader(_stream) + + While _connected + + Try + + data = _reader.ReadLine() + + If data.Length <> 0 Then + + 'Dim lines As String() = data.Split({10, 13}, StringSplitOptions.RemoveEmptyEntries) + 'If lines.Length > 0 Then + 'For Each line In lines + For Each callback In _recvDelegates + 'Console.WriteLine("recvDelegates:") + callback.Invoke(data) + Next + 'Next + 'End If + + End If + + Catch ex As Exception + ' various exceptions occur when closing app + ' all due to race conditions because we process receive events on + ' different thread from gui. + ' This Catch handles data=Nothing from passing to rest of code at exit + 'Disconnect() + 'Return + End Try + + End While + + End Sub + + Private Sub _port_COM_DataReceived(sender As Object, e As IO.Ports.SerialDataReceivedEventArgs) Handles _port.DataReceived ' THIS RUNS IN ITS OWN THREAD!!!!! with no direct access to UI elements ' By using ReadLine here, we should block this thread until the rest of a line is available, set ReceivedBytesThreshold low (2) ' All registered delegates are called, any new receive events get queued up 'in the system' @@ -143,43 +290,92 @@ Public Class GrblIF End Sub + ''' + ''' Sends a byte of data to grbl + ''' + ''' The data to send to grbl + ''' True if send was successful, false otherwise Public Function sendData(ByVal data As String) As Boolean - ' We depend on the caller to not over send the 127 byte limit TODO HOW DO I PREVENT THIS??? - - If _connected And _port.IsOpen Then - ' Write data to Grbl - ' TODO implement simple and aggressive sending - ' Simple is send data, wait for ok before sending next block - ' Aggressive is determing how full the Grbl buffer is and sending as much as possible. - ' This requires tracking ok's, see Grbl Wiki - ' For now we just write - If data.Length = 1 Then ' no CRLF at end, it should be an immediate command such as ! or ~ or ? - '_port.Write(data) - Dim c As Byte() = ASCIIEncoding.ASCII.GetBytes(data) - Try - _port.BaseStream.Write(c, 0, c.Length) - Catch - _connected = False - ' _port.Close() - MessageBox.Show("Fatal error on write to Grbl") - End Try - 'Console.WriteLine("GrblIF::sendData Sent: " + data + " to Grbl") - Else - Dim c As Byte() = ASCIIEncoding.ASCII.GetBytes(data + vbLf) - Try - _port.BaseStream.Write(c, 0, c.Length) - Catch - _connected = False - '_port.Close() - MessageBox.Show("Fatal error on write to Grbl") - End Try - 'Console.WriteLine("GrblIF::sendData Sent: " + data + " to Grbl") - End If - Return True - Else - Return False - End If + Select Case _type + Case ConnectionType.IP + ' We depend on the caller to not over send the 127 byte limit TODO HOW DO I PREVENT THIS??? + + If _connected And _client.Connected Then + ' Write data to Grbl + ' TODO implement simple and aggressive sending + ' Simple is send data, wait for ok before sending next block + ' Aggressive is determing how full the Grbl buffer is and sending as much as possible. + ' This requires tracking ok's, see Grbl Wiki + ' For now we just write + If data.Length = 1 Then ' no CRLF at end, it should be an immediate command such as ! or ~ or ? + '_port.Write(data) + Dim c As Byte() = ASCIIEncoding.ASCII.GetBytes(data) + Try + _client.GetStream().Write(c, 0, c.Length) + Catch + _connected = False + ' _port.Close() + MessageBox.Show("Fatal error on write to Grbl") + End Try + + 'Console.WriteLine("GrblIF::sendData Sent: " + data + " to Grbl") + Else + Dim c As Byte() = ASCIIEncoding.ASCII.GetBytes(data + vbLf) + Try + _client.GetStream().Write(c, 0, c.Length) + Catch + _connected = False + '_port.Close() + MessageBox.Show("Fatal error on write to Grbl") + End Try + 'Console.WriteLine("GrblIF::sendData Sent: " + data + " to Grbl") + End If + Return True + Else + Return False + End If + + Case ConnectionType.Serial + ' We depend on the caller to not over send the 127 byte limit TODO HOW DO I PREVENT THIS??? + + If _connected And _port.IsOpen Then + ' Write data to Grbl + ' TODO implement simple and aggressive sending + ' Simple is send data, wait for ok before sending next block + ' Aggressive is determing how full the Grbl buffer is and sending as much as possible. + ' This requires tracking ok's, see Grbl Wiki + ' For now we just write + If data.Length = 1 Then ' no CRLF at end, it should be an immediate command such as ! or ~ or ? + '_port.Write(data) + Dim c As Byte() = ASCIIEncoding.ASCII.GetBytes(data) + Try + _port.BaseStream.Write(c, 0, c.Length) + Catch + _connected = False + ' _port.Close() + MessageBox.Show("Fatal error on write to Grbl") + End Try + + 'Console.WriteLine("GrblIF::sendData Sent: " + data + " to Grbl") + Else + Dim c As Byte() = ASCIIEncoding.ASCII.GetBytes(data + vbLf) + Try + _port.BaseStream.Write(c, 0, c.Length) + Catch + _connected = False + '_port.Close() + MessageBox.Show("Fatal error on write to Grbl") + End Try + 'Console.WriteLine("GrblIF::sendData Sent: " + data + " to Grbl") + End If + Return True + Else + Return False + End If + Case Else + Return False 'This should not happen if connected, just in case. + End Select End Function End Class diff --git a/Grbl-Panel/GrblJogging.vb b/Grbl-Panel/GrblJogging.vb index 4beb886..c53b950 100644 --- a/Grbl-Panel/GrblJogging.vb +++ b/Grbl-Panel/GrblJogging.vb @@ -10,6 +10,7 @@ Partial Class GrblGui _gui = gui ' Do set up things + With My.Settings _gui.tbSettingsFIImperial.Text = .JoggingFIImperial _gui.tbSettingsFRImperial.Text = .JoggingFRImperial diff --git a/Grbl-Panel/My Project/AssemblyInfo.vb b/Grbl-Panel/My Project/AssemblyInfo.vb index b253936..2d60595 100644 --- a/Grbl-Panel/My Project/AssemblyInfo.vb +++ b/Grbl-Panel/My Project/AssemblyInfo.vb @@ -14,7 +14,7 @@ Imports System.Runtime.InteropServices - + @@ -33,7 +33,7 @@ Imports System.Runtime.InteropServices ' by using the '*' as shown below: ' - - + + \ No newline at end of file diff --git a/Grbl-Panel/My Project/Settings.Designer.vb b/Grbl-Panel/My Project/Settings.Designer.vb index 33c91fd..1a53024 100644 --- a/Grbl-Panel/My Project/Settings.Designer.vb +++ b/Grbl-Panel/My Project/Settings.Designer.vb @@ -413,6 +413,30 @@ Namespace My Me("DefaultFileExt") = value End Set End Property + + _ + Public Property IPAddress() As String + Get + Return CType(Me("IPAddress"),String) + End Get + Set + Me("IPAddress") = value + End Set + End Property + + _ + Public Property ConnectionType() As String + Get + Return CType(Me("ConnectionType"),String) + End Get + Set + Me("ConnectionType") = value + End Set + End Property End Class End Namespace diff --git a/Grbl-Panel/My Project/Settings.settings b/Grbl-Panel/My Project/Settings.settings index 8593113..ea65264 100644 --- a/Grbl-Panel/My Project/Settings.settings +++ b/Grbl-Panel/My Project/Settings.settings @@ -92,5 +92,11 @@ + + + + + 0 + \ No newline at end of file diff --git a/Grbl-Panel/grblgui.Designer.vb b/Grbl-Panel/grblgui.Designer.vb index 8036512..f4b6ce3 100644 --- a/Grbl-Panel/grblgui.Designer.vb +++ b/Grbl-Panel/grblgui.Designer.vb @@ -92,6 +92,7 @@ Partial Class GrblGui Me.Label24 = New System.Windows.Forms.Label() Me.prgbRxBuf = New System.Windows.Forms.ProgressBar() Me.prgBarQ = New System.Windows.Forms.ProgressBar() + Me.cbVerbose = New System.Windows.Forms.CheckBox() Me.lbResponses = New System.Windows.Forms.ListBox() Me.gbGcode = New System.Windows.Forms.GroupBox() Me.btnFileReload = New System.Windows.Forms.Button() @@ -109,10 +110,15 @@ Partial Class GrblGui Me.lvColGCode = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) Me.btnFileStop = New System.Windows.Forms.Button() Me.gbGrbl = New System.Windows.Forms.GroupBox() + Me.tcConnection = New System.Windows.Forms.TabControl() + Me.tbGrblCOM = New System.Windows.Forms.TabPage() Me.btnRescanPorts = New System.Windows.Forms.Button() - Me.cbBaud = New System.Windows.Forms.ComboBox() Me.cbPorts = New System.Windows.Forms.ComboBox() Me.btnConnect = New System.Windows.Forms.Button() + Me.cbBaud = New System.Windows.Forms.ComboBox() + Me.tbGrblIP = New System.Windows.Forms.TabPage() + Me.btnIPConnect = New System.Windows.Forms.Button() + Me.tbIPAddress = New System.Windows.Forms.TextBox() Me.gbPosition = New System.Windows.Forms.GroupBox() Me.tabCtlPosition = New System.Windows.Forms.TabControl() Me.tpWork = New System.Windows.Forms.TabPage() @@ -186,6 +192,7 @@ Partial Class GrblGui Me.tabPgSettings = New System.Windows.Forms.TabPage() Me.gbGrblSettings = New System.Windows.Forms.GroupBox() Me.Label4 = New System.Windows.Forms.Label() + Me.tbSettingsGrblLastParam = New System.Windows.Forms.TextBox() Me.dgGrblSettings = New System.Windows.Forms.DataGridView() Me.btnSettingsGrbl = New System.Windows.Forms.Button() Me.gbSettingsOffsets = New System.Windows.Forms.GroupBox() @@ -204,63 +211,61 @@ Partial Class GrblGui Me.Label69 = New System.Windows.Forms.Label() Me.Label42 = New System.Windows.Forms.Label() Me.gbSettingsMisc = New System.Windows.Forms.GroupBox() + Me.tbSettingsDefaultExt = New System.Windows.Forms.TextBox() Me.Label5 = New System.Windows.Forms.Label() + Me.Label6 = New System.Windows.Forms.Label() + Me.tbSettingsStartupDelay = New System.Windows.Forms.TextBox() + Me.cbSettingsLeftHanded = New System.Windows.Forms.CheckBox() + Me.cbSettingsConnectOnLoad = New System.Windows.Forms.CheckBox() + Me.cbSettingsPauseOnError = New System.Windows.Forms.CheckBox() + Me.cbStatusPollEnable = New System.Windows.Forms.CheckBox() Me.btnSettingsRefreshMisc = New System.Windows.Forms.Button() Me.Label37 = New System.Windows.Forms.Label() Me.Label36 = New System.Windows.Forms.Label() + Me.tbSettingsRBuffSize = New System.Windows.Forms.TextBox() + Me.tbSettingsQSize = New System.Windows.Forms.TextBox() Me.Label26 = New System.Windows.Forms.Label() + Me.tbSettingsPollRate = New System.Windows.Forms.TextBox() Me.gbSettingsPosition = New System.Windows.Forms.GroupBox() Me.Label8 = New System.Windows.Forms.Label() + Me.tbSettingsSpclPosition2 = New System.Windows.Forms.TextBox() Me.btnSettingsRefreshPosition = New System.Windows.Forms.Button() Me.Label29 = New System.Windows.Forms.Label() + Me.tbWorkZ0Cmd = New System.Windows.Forms.TextBox() Me.Label28 = New System.Windows.Forms.Label() + Me.tbWorkY0Cmd = New System.Windows.Forms.TextBox() Me.Label13 = New System.Windows.Forms.Label() Me.Label12 = New System.Windows.Forms.Label() + Me.tbWorkX0Cmd = New System.Windows.Forms.TextBox() + Me.tbSettingsZeroXYZCmd = New System.Windows.Forms.TextBox() Me.Label11 = New System.Windows.Forms.Label() + Me.tbSettingsSpclPosition1 = New System.Windows.Forms.TextBox() Me.gbSettingsJogging = New System.Windows.Forms.GroupBox() + Me.cbSettingsKeyboardJogging = New System.Windows.Forms.CheckBox() Me.btnSettingsRefreshJogging = New System.Windows.Forms.Button() Me.Label41 = New System.Windows.Forms.Label() Me.Label40 = New System.Windows.Forms.Label() Me.Label39 = New System.Windows.Forms.Label() Me.Label38 = New System.Windows.Forms.Label() + Me.tbSettingsZRepeat = New System.Windows.Forms.TextBox() + Me.tbSettingsYRepeat = New System.Windows.Forms.TextBox() + Me.tbSettingsXRepeat = New System.Windows.Forms.TextBox() Me.Label35 = New System.Windows.Forms.Label() Me.Label34 = New System.Windows.Forms.Label() Me.Label32 = New System.Windows.Forms.Label() + Me.tbSettingsFRMetric = New System.Windows.Forms.TextBox() Me.Label33 = New System.Windows.Forms.Label() + Me.tbSettingsFIMetric = New System.Windows.Forms.TextBox() Me.Label31 = New System.Windows.Forms.Label() + Me.tbSettingsFRImperial = New System.Windows.Forms.TextBox() Me.Label30 = New System.Windows.Forms.Label() + Me.cbSettingsMetric = New System.Windows.Forms.CheckBox() + Me.tbSettingsFIImperial = New System.Windows.Forms.TextBox() Me.ofdGcodeFile = New System.Windows.Forms.OpenFileDialog() Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components) Me.sfdOffsets = New System.Windows.Forms.SaveFileDialog() Me.ofdOffsets = New System.Windows.Forms.OpenFileDialog() Me.GrblSettingsBindingSource = New System.Windows.Forms.BindingSource(Me.components) - Me.Label6 = New System.Windows.Forms.Label() - Me.cbVerbose = New System.Windows.Forms.CheckBox() - Me.tbSettingsGrblLastParam = New System.Windows.Forms.TextBox() - Me.tbSettingsDefaultExt = New System.Windows.Forms.TextBox() - Me.tbSettingsStartupDelay = New System.Windows.Forms.TextBox() - Me.cbSettingsLeftHanded = New System.Windows.Forms.CheckBox() - Me.cbSettingsConnectOnLoad = New System.Windows.Forms.CheckBox() - Me.cbSettingsPauseOnError = New System.Windows.Forms.CheckBox() - Me.cbStatusPollEnable = New System.Windows.Forms.CheckBox() - Me.tbSettingsRBuffSize = New System.Windows.Forms.TextBox() - Me.tbSettingsQSize = New System.Windows.Forms.TextBox() - Me.tbSettingsPollRate = New System.Windows.Forms.TextBox() - Me.tbSettingsSpclPosition2 = New System.Windows.Forms.TextBox() - Me.tbWorkZ0Cmd = New System.Windows.Forms.TextBox() - Me.tbWorkY0Cmd = New System.Windows.Forms.TextBox() - Me.tbWorkX0Cmd = New System.Windows.Forms.TextBox() - Me.tbSettingsZeroXYZCmd = New System.Windows.Forms.TextBox() - Me.tbSettingsSpclPosition1 = New System.Windows.Forms.TextBox() - Me.cbSettingsKeyboardJogging = New System.Windows.Forms.CheckBox() - Me.tbSettingsZRepeat = New System.Windows.Forms.TextBox() - Me.tbSettingsYRepeat = New System.Windows.Forms.TextBox() - Me.tbSettingsXRepeat = New System.Windows.Forms.TextBox() - Me.tbSettingsFRMetric = New System.Windows.Forms.TextBox() - Me.tbSettingsFIMetric = New System.Windows.Forms.TextBox() - Me.tbSettingsFRImperial = New System.Windows.Forms.TextBox() - Me.cbSettingsMetric = New System.Windows.Forms.CheckBox() - Me.tbSettingsFIImperial = New System.Windows.Forms.TextBox() Me.MenuStrip1.SuspendLayout() Me.TabControl1.SuspendLayout() Me.tabPgInterface.SuspendLayout() @@ -275,6 +280,9 @@ Partial Class GrblGui Me.gbStatus.SuspendLayout() Me.gbGcode.SuspendLayout() Me.gbGrbl.SuspendLayout() + Me.tcConnection.SuspendLayout() + Me.tbGrblCOM.SuspendLayout() + Me.tbGrblIP.SuspendLayout() Me.gbPosition.SuspendLayout() Me.tabCtlPosition.SuspendLayout() Me.tpWork.SuspendLayout() @@ -705,7 +713,7 @@ Partial Class GrblGui Me.gbMDI.Controls.Add(Me.tbSendData) Me.gbMDI.Location = New System.Drawing.Point(187, 3) Me.gbMDI.Name = "gbMDI" - Me.gbMDI.Size = New System.Drawing.Size(336, 79) + Me.gbMDI.Size = New System.Drawing.Size(336, 89) Me.gbMDI.TabIndex = 15 Me.gbMDI.TabStop = False Me.gbMDI.Text = "MDI" @@ -740,6 +748,8 @@ Partial Class GrblGui ' 'gbJogging ' + Me.gbJogging.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.gbJogging.Controls.Add(Me.btnZMinus) Me.gbJogging.Controls.Add(Me.btnZPlus) Me.gbJogging.Controls.Add(Me.btnXPlus) @@ -750,9 +760,9 @@ Partial Class GrblGui Me.gbJogging.Controls.Add(Me.gbDistance) Me.gbJogging.Controls.Add(Me.cbUnits) Me.gbJogging.Enabled = False - Me.gbJogging.Location = New System.Drawing.Point(3, 83) + Me.gbJogging.Location = New System.Drawing.Point(3, 95) Me.gbJogging.Name = "gbJogging" - Me.gbJogging.Size = New System.Drawing.Size(520, 215) + Me.gbJogging.Size = New System.Drawing.Size(520, 212) Me.gbJogging.TabIndex = 0 Me.gbJogging.TabStop = False Me.gbJogging.Text = "Jogging" @@ -951,9 +961,9 @@ Partial Class GrblGui Me.cbUnits.AutoSize = True Me.cbUnits.Location = New System.Drawing.Point(123, 192) Me.cbUnits.Name = "cbUnits" - Me.cbUnits.Size = New System.Drawing.Size(55, 17) + Me.cbUnits.Size = New System.Drawing.Size(73, 17) Me.cbUnits.TabIndex = 16 - Me.cbUnits.Text = "Metric" + Me.cbUnits.Text = "Metric " Me.cbUnits.UseVisualStyleBackColor = True ' 'gbStatus @@ -1022,6 +1032,18 @@ Partial Class GrblGui Me.prgBarQ.Style = System.Windows.Forms.ProgressBarStyle.Continuous Me.prgBarQ.TabIndex = 20 ' + 'cbVerbose + ' + Me.cbVerbose.AutoSize = True + Me.cbVerbose.Checked = Global.GrblPanel.My.MySettings.Default.StatusVerbose + Me.cbVerbose.DataBindings.Add(New System.Windows.Forms.Binding("Checked", Global.GrblPanel.My.MySettings.Default, "statusVerbose", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.cbVerbose.Location = New System.Drawing.Point(87, 20) + Me.cbVerbose.Name = "cbVerbose" + Me.cbVerbose.Size = New System.Drawing.Size(83, 17) + Me.cbVerbose.TabIndex = 15 + Me.cbVerbose.Text = "Verbose " + Me.cbVerbose.UseVisualStyleBackColor = True + ' 'lbResponses ' Me.lbResponses.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ @@ -1035,8 +1057,9 @@ Partial Class GrblGui ' 'gbGcode ' - Me.gbGcode.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ - Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.gbGcode.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.gbGcode.Controls.Add(Me.btnFileReload) Me.gbGcode.Controls.Add(Me.tbGCodeMessage) Me.gbGcode.Controls.Add(Me.Label27) @@ -1049,7 +1072,7 @@ Partial Class GrblGui Me.gbGcode.Controls.Add(Me.lvGcode) Me.gbGcode.Controls.Add(Me.btnFileStop) Me.gbGcode.Enabled = False - Me.gbGcode.Location = New System.Drawing.Point(3, 298) + Me.gbGcode.Location = New System.Drawing.Point(3, 310) Me.gbGcode.Name = "gbGcode" Me.gbGcode.Size = New System.Drawing.Size(520, 376) Me.gbGcode.TabIndex = 14 @@ -1193,40 +1216,54 @@ Partial Class GrblGui ' 'gbGrbl ' - Me.gbGrbl.Controls.Add(Me.btnRescanPorts) - Me.gbGrbl.Controls.Add(Me.cbBaud) - Me.gbGrbl.Controls.Add(Me.cbPorts) - Me.gbGrbl.Controls.Add(Me.btnConnect) + Me.gbGrbl.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.gbGrbl.Controls.Add(Me.tcConnection) Me.gbGrbl.Location = New System.Drawing.Point(3, 3) Me.gbGrbl.Name = "gbGrbl" - Me.gbGrbl.Size = New System.Drawing.Size(178, 79) + Me.gbGrbl.Size = New System.Drawing.Size(178, 89) Me.gbGrbl.TabIndex = 3 Me.gbGrbl.TabStop = False Me.gbGrbl.Text = "Grbl" ' + 'tcConnection + ' + Me.tcConnection.Controls.Add(Me.tbGrblCOM) + Me.tcConnection.Controls.Add(Me.tbGrblIP) + Me.tcConnection.Location = New System.Drawing.Point(6, 16) + Me.tcConnection.Name = "tcConnection" + Me.tcConnection.SelectedIndex = 0 + Me.tcConnection.Size = New System.Drawing.Size(162, 71) + Me.tcConnection.TabIndex = 0 + ' + 'tbGrblCOM + ' + Me.tbGrblCOM.Controls.Add(Me.btnRescanPorts) + Me.tbGrblCOM.Controls.Add(Me.cbPorts) + Me.tbGrblCOM.Controls.Add(Me.btnConnect) + Me.tbGrblCOM.Controls.Add(Me.cbBaud) + Me.tbGrblCOM.Location = New System.Drawing.Point(4, 22) + Me.tbGrblCOM.Name = "tbGrblCOM" + Me.tbGrblCOM.Padding = New System.Windows.Forms.Padding(3) + Me.tbGrblCOM.Size = New System.Drawing.Size(154, 45) + Me.tbGrblCOM.TabIndex = 0 + Me.tbGrblCOM.Text = "COM" + Me.tbGrblCOM.UseVisualStyleBackColor = True + ' 'btnRescanPorts ' Me.btnRescanPorts.FlatStyle = System.Windows.Forms.FlatStyle.System - Me.btnRescanPorts.Location = New System.Drawing.Point(90, 46) + Me.btnRescanPorts.Location = New System.Drawing.Point(88, 18) Me.btnRescanPorts.Name = "btnRescanPorts" Me.btnRescanPorts.Size = New System.Drawing.Size(68, 23) Me.btnRescanPorts.TabIndex = 5 Me.btnRescanPorts.Text = "ReScan" Me.btnRescanPorts.UseVisualStyleBackColor = True ' - 'cbBaud - ' - Me.cbBaud.FormattingEnabled = True - Me.cbBaud.Items.AddRange(New Object() {"9600", "115200"}) - Me.cbBaud.Location = New System.Drawing.Point(12, 47) - Me.cbBaud.Name = "cbBaud" - Me.cbBaud.Size = New System.Drawing.Size(72, 21) - Me.cbBaud.TabIndex = 4 - ' 'cbPorts ' Me.cbPorts.FormattingEnabled = True - Me.cbPorts.Location = New System.Drawing.Point(12, 17) + Me.cbPorts.Location = New System.Drawing.Point(10, 0) Me.cbPorts.Name = "cbPorts" Me.cbPorts.Size = New System.Drawing.Size(72, 21) Me.cbPorts.TabIndex = 3 @@ -1234,13 +1271,53 @@ Partial Class GrblGui 'btnConnect ' Me.btnConnect.FlatStyle = System.Windows.Forms.FlatStyle.System - Me.btnConnect.Location = New System.Drawing.Point(90, 15) + Me.btnConnect.Location = New System.Drawing.Point(88, -2) Me.btnConnect.Name = "btnConnect" Me.btnConnect.Size = New System.Drawing.Size(68, 23) Me.btnConnect.TabIndex = 1 + Me.btnConnect.Tag = "COM" Me.btnConnect.Text = "Connect" Me.btnConnect.UseVisualStyleBackColor = True ' + 'cbBaud + ' + Me.cbBaud.FormattingEnabled = True + Me.cbBaud.Items.AddRange(New Object() {"9600", "115200"}) + Me.cbBaud.Location = New System.Drawing.Point(10, 20) + Me.cbBaud.Name = "cbBaud" + Me.cbBaud.Size = New System.Drawing.Size(72, 21) + Me.cbBaud.TabIndex = 4 + ' + 'tbGrblIP + ' + Me.tbGrblIP.Controls.Add(Me.btnIPConnect) + Me.tbGrblIP.Controls.Add(Me.tbIPAddress) + Me.tbGrblIP.Location = New System.Drawing.Point(4, 22) + Me.tbGrblIP.Name = "tbGrblIP" + Me.tbGrblIP.Padding = New System.Windows.Forms.Padding(3) + Me.tbGrblIP.Size = New System.Drawing.Size(154, 61) + Me.tbGrblIP.TabIndex = 1 + Me.tbGrblIP.Text = "IP" + Me.tbGrblIP.UseVisualStyleBackColor = True + ' + 'btnIPConnect + ' + Me.btnIPConnect.Location = New System.Drawing.Point(12, 20) + Me.btnIPConnect.Name = "btnIPConnect" + Me.btnIPConnect.Size = New System.Drawing.Size(131, 23) + Me.btnIPConnect.TabIndex = 1 + Me.btnIPConnect.Tag = "IP" + Me.btnIPConnect.Text = "Connect" + Me.btnIPConnect.UseVisualStyleBackColor = True + ' + 'tbIPAddress + ' + Me.tbIPAddress.Location = New System.Drawing.Point(12, 0) + Me.tbIPAddress.Name = "tbIPAddress" + Me.tbIPAddress.Size = New System.Drawing.Size(131, 20) + Me.tbIPAddress.TabIndex = 0 + Me.ToolTip1.SetToolTip(Me.tbIPAddress, "Enter IP Address and port as "":""") + ' 'gbPosition ' Me.gbPosition.Controls.Add(Me.tabCtlPosition) @@ -2053,6 +2130,16 @@ Partial Class GrblGui Me.Label4.TabIndex = 7 Me.Label4.Text = "Last Grbl Param" ' + 'tbSettingsGrblLastParam + ' + Me.tbSettingsGrblLastParam.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "GrblLastParamID", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.tbSettingsGrblLastParam.Location = New System.Drawing.Point(6, 552) + Me.tbSettingsGrblLastParam.Name = "tbSettingsGrblLastParam" + Me.tbSettingsGrblLastParam.Size = New System.Drawing.Size(45, 20) + Me.tbSettingsGrblLastParam.TabIndex = 6 + Me.tbSettingsGrblLastParam.Text = Global.GrblPanel.My.MySettings.Default.GrblLastParamID + Me.ToolTip1.SetToolTip(Me.tbSettingsGrblLastParam, "Change this to reflect the highest Grbl Parameter number") + ' 'dgGrblSettings ' Me.dgGrblSettings.AllowUserToAddRows = False @@ -2261,6 +2348,15 @@ Partial Class GrblGui Me.gbSettingsMisc.TabStop = False Me.gbSettingsMisc.Text = "Misc" ' + 'tbSettingsDefaultExt + ' + Me.tbSettingsDefaultExt.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "DefaultFileExt", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.tbSettingsDefaultExt.Location = New System.Drawing.Point(12, 120) + Me.tbSettingsDefaultExt.Name = "tbSettingsDefaultExt" + Me.tbSettingsDefaultExt.Size = New System.Drawing.Size(43, 20) + Me.tbSettingsDefaultExt.TabIndex = 22 + Me.tbSettingsDefaultExt.Text = Global.GrblPanel.My.MySettings.Default.DefaultFileExt + ' 'Label5 ' Me.Label5.AutoSize = True @@ -2270,6 +2366,75 @@ Partial Class GrblGui Me.Label5.TabIndex = 20 Me.Label5.Text = "Startup delay" ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(70, 123) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(77, 13) + Me.Label6.TabIndex = 21 + Me.Label6.Text = "Default File ext" + ' + 'tbSettingsStartupDelay + ' + Me.tbSettingsStartupDelay.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "StartupDelay", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.tbSettingsStartupDelay.Location = New System.Drawing.Point(12, 94) + Me.tbSettingsStartupDelay.Name = "tbSettingsStartupDelay" + Me.tbSettingsStartupDelay.Size = New System.Drawing.Size(44, 20) + Me.tbSettingsStartupDelay.TabIndex = 19 + Me.tbSettingsStartupDelay.Text = Global.GrblPanel.My.MySettings.Default.StartupDelay + ' + 'cbSettingsLeftHanded + ' + Me.cbSettingsLeftHanded.AutoSize = True + Me.cbSettingsLeftHanded.Checked = Global.GrblPanel.My.MySettings.Default.LeftHandedGUI + Me.cbSettingsLeftHanded.DataBindings.Add(New System.Windows.Forms.Binding("Checked", Global.GrblPanel.My.MySettings.Default, "LeftHandedGUI", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.cbSettingsLeftHanded.Location = New System.Drawing.Point(124, 187) + Me.cbSettingsLeftHanded.Name = "cbSettingsLeftHanded" + Me.cbSettingsLeftHanded.Size = New System.Drawing.Size(107, 17) + Me.cbSettingsLeftHanded.TabIndex = 18 + Me.cbSettingsLeftHanded.Text = "Left Handed GUI" + Me.cbSettingsLeftHanded.UseVisualStyleBackColor = True + ' + 'cbSettingsConnectOnLoad + ' + Me.cbSettingsConnectOnLoad.AutoSize = True + Me.cbSettingsConnectOnLoad.Checked = Global.GrblPanel.My.MySettings.Default.GrblConnectOnLoad + Me.cbSettingsConnectOnLoad.DataBindings.Add(New System.Windows.Forms.Binding("Checked", Global.GrblPanel.My.MySettings.Default, "GrblConnectOnLoad", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.cbSettingsConnectOnLoad.Location = New System.Drawing.Point(11, 169) + Me.cbSettingsConnectOnLoad.Name = "cbSettingsConnectOnLoad" + Me.cbSettingsConnectOnLoad.Size = New System.Drawing.Size(108, 17) + Me.cbSettingsConnectOnLoad.TabIndex = 12 + Me.cbSettingsConnectOnLoad.Text = "Connect on Load" + Me.ToolTip1.SetToolTip(Me.cbSettingsConnectOnLoad, "Connect automatically to last port") + Me.cbSettingsConnectOnLoad.UseVisualStyleBackColor = True + ' + 'cbSettingsPauseOnError + ' + Me.cbSettingsPauseOnError.AutoSize = True + Me.cbSettingsPauseOnError.Checked = Global.GrblPanel.My.MySettings.Default.GCodePauseOnError + Me.cbSettingsPauseOnError.CheckState = System.Windows.Forms.CheckState.Checked + Me.cbSettingsPauseOnError.DataBindings.Add(New System.Windows.Forms.Binding("Checked", Global.GrblPanel.My.MySettings.Default, "GCodePauseOnError", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.cbSettingsPauseOnError.Location = New System.Drawing.Point(11, 152) + Me.cbSettingsPauseOnError.Name = "cbSettingsPauseOnError" + Me.cbSettingsPauseOnError.Size = New System.Drawing.Size(96, 17) + Me.cbSettingsPauseOnError.TabIndex = 7 + Me.cbSettingsPauseOnError.Text = "Pause on Error" + Me.cbSettingsPauseOnError.UseVisualStyleBackColor = True + ' + 'cbStatusPollEnable + ' + Me.cbStatusPollEnable.AutoSize = True + Me.cbStatusPollEnable.Checked = Global.GrblPanel.My.MySettings.Default.StatusPollEnabled + Me.cbStatusPollEnable.CheckState = System.Windows.Forms.CheckState.Checked + Me.cbStatusPollEnable.DataBindings.Add(New System.Windows.Forms.Binding("Checked", Global.GrblPanel.My.MySettings.Default, "StatusPollEnabled", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.cbStatusPollEnable.Location = New System.Drawing.Point(10, 187) + Me.cbStatusPollEnable.Name = "cbStatusPollEnable" + Me.cbStatusPollEnable.Size = New System.Drawing.Size(76, 17) + Me.cbStatusPollEnable.TabIndex = 17 + Me.cbStatusPollEnable.Text = "Status Poll" + Me.cbStatusPollEnable.UseVisualStyleBackColor = True + ' 'btnSettingsRefreshMisc ' Me.btnSettingsRefreshMisc.Location = New System.Drawing.Point(0, 235) @@ -2298,6 +2463,24 @@ Partial Class GrblGui Me.Label36.TabIndex = 4 Me.Label36.Text = "Q Max Size" ' + 'tbSettingsRBuffSize + ' + Me.tbSettingsRBuffSize.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "RBuffMaxSize", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.tbSettingsRBuffSize.Location = New System.Drawing.Point(12, 68) + Me.tbSettingsRBuffSize.Name = "tbSettingsRBuffSize" + Me.tbSettingsRBuffSize.Size = New System.Drawing.Size(43, 20) + Me.tbSettingsRBuffSize.TabIndex = 3 + Me.tbSettingsRBuffSize.Text = Global.GrblPanel.My.MySettings.Default.RBuffMaxSize + ' + 'tbSettingsQSize + ' + Me.tbSettingsQSize.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "QBuffMaxSize", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.tbSettingsQSize.Location = New System.Drawing.Point(12, 42) + Me.tbSettingsQSize.Name = "tbSettingsQSize" + Me.tbSettingsQSize.Size = New System.Drawing.Size(43, 20) + Me.tbSettingsQSize.TabIndex = 2 + Me.tbSettingsQSize.Text = Global.GrblPanel.My.MySettings.Default.QBuffMaxSize + ' 'Label26 ' Me.Label26.AutoSize = True @@ -2307,6 +2490,15 @@ Partial Class GrblGui Me.Label26.TabIndex = 1 Me.Label26.Text = "Poll Interval (ms)" ' + 'tbSettingsPollRate + ' + Me.tbSettingsPollRate.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "statusPollInterval", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.tbSettingsPollRate.Location = New System.Drawing.Point(12, 19) + Me.tbSettingsPollRate.Name = "tbSettingsPollRate" + Me.tbSettingsPollRate.Size = New System.Drawing.Size(43, 20) + Me.tbSettingsPollRate.TabIndex = 0 + Me.tbSettingsPollRate.Text = Global.GrblPanel.My.MySettings.Default.StatusPollInterval + ' 'gbSettingsPosition ' Me.gbSettingsPosition.Controls.Add(Me.Label8) @@ -2338,6 +2530,15 @@ Partial Class GrblGui Me.Label8.TabIndex = 12 Me.Label8.Text = "GoTo Spcl Posn 2" ' + 'tbSettingsSpclPosition2 + ' + Me.tbSettingsSpclPosition2.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "MachineSpclPosition2", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.tbSettingsSpclPosition2.Location = New System.Drawing.Point(12, 44) + Me.tbSettingsSpclPosition2.Name = "tbSettingsSpclPosition2" + Me.tbSettingsSpclPosition2.Size = New System.Drawing.Size(117, 20) + Me.tbSettingsSpclPosition2.TabIndex = 11 + Me.tbSettingsSpclPosition2.Text = Global.GrblPanel.My.MySettings.Default.MachineSpclPosition2 + ' 'btnSettingsRefreshPosition ' Me.btnSettingsRefreshPosition.Location = New System.Drawing.Point(-2, 182) @@ -2357,6 +2558,15 @@ Partial Class GrblGui Me.Label29.TabIndex = 9 Me.Label29.Text = "Work Z 0 cmd" ' + 'tbWorkZ0Cmd + ' + Me.tbWorkZ0Cmd.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "WorkZ0Cmd", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.tbWorkZ0Cmd.Location = New System.Drawing.Point(12, 147) + Me.tbWorkZ0Cmd.Name = "tbWorkZ0Cmd" + Me.tbWorkZ0Cmd.Size = New System.Drawing.Size(117, 20) + Me.tbWorkZ0Cmd.TabIndex = 8 + Me.tbWorkZ0Cmd.Text = Global.GrblPanel.My.MySettings.Default.WorkZ0Cmd + ' 'Label28 ' Me.Label28.AutoSize = True @@ -2366,6 +2576,15 @@ Partial Class GrblGui Me.Label28.TabIndex = 7 Me.Label28.Text = "Work Y 0 cmd" ' + 'tbWorkY0Cmd + ' + Me.tbWorkY0Cmd.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "WorkY0Cmd", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.tbWorkY0Cmd.Location = New System.Drawing.Point(12, 121) + Me.tbWorkY0Cmd.Name = "tbWorkY0Cmd" + Me.tbWorkY0Cmd.Size = New System.Drawing.Size(117, 20) + Me.tbWorkY0Cmd.TabIndex = 6 + Me.tbWorkY0Cmd.Text = Global.GrblPanel.My.MySettings.Default.WorkY0Cmd + ' 'Label13 ' Me.Label13.AutoSize = True @@ -2384,6 +2603,24 @@ Partial Class GrblGui Me.Label12.TabIndex = 4 Me.Label12.Text = "Zero All Cmd" ' + 'tbWorkX0Cmd + ' + Me.tbWorkX0Cmd.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "WorkX0Cmd", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.tbWorkX0Cmd.Location = New System.Drawing.Point(12, 96) + Me.tbWorkX0Cmd.Name = "tbWorkX0Cmd" + Me.tbWorkX0Cmd.Size = New System.Drawing.Size(117, 20) + Me.tbWorkX0Cmd.TabIndex = 3 + Me.tbWorkX0Cmd.Text = Global.GrblPanel.My.MySettings.Default.WorkX0Cmd + ' + 'tbSettingsZeroXYZCmd + ' + Me.tbSettingsZeroXYZCmd.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "Work0Cmd", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.tbSettingsZeroXYZCmd.Location = New System.Drawing.Point(12, 70) + Me.tbSettingsZeroXYZCmd.Name = "tbSettingsZeroXYZCmd" + Me.tbSettingsZeroXYZCmd.Size = New System.Drawing.Size(117, 20) + Me.tbSettingsZeroXYZCmd.TabIndex = 2 + Me.tbSettingsZeroXYZCmd.Text = Global.GrblPanel.My.MySettings.Default.Work0Cmd + ' 'Label11 ' Me.Label11.AutoSize = True @@ -2394,12 +2631,21 @@ Partial Class GrblGui Me.Label11.Text = "Go To Spcl Posn1" Me.ToolTip1.SetToolTip(Me.Label11, "Also known as Soft Home") ' - 'gbSettingsJogging + 'tbSettingsSpclPosition1 ' - Me.gbSettingsJogging.Controls.Add(Me.cbSettingsKeyboardJogging) - Me.gbSettingsJogging.Controls.Add(Me.btnSettingsRefreshJogging) - Me.gbSettingsJogging.Controls.Add(Me.Label41) - Me.gbSettingsJogging.Controls.Add(Me.Label40) + Me.tbSettingsSpclPosition1.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "MachineSpclPosition1", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.tbSettingsSpclPosition1.Location = New System.Drawing.Point(12, 18) + Me.tbSettingsSpclPosition1.Name = "tbSettingsSpclPosition1" + Me.tbSettingsSpclPosition1.Size = New System.Drawing.Size(117, 20) + Me.tbSettingsSpclPosition1.TabIndex = 0 + Me.tbSettingsSpclPosition1.Text = Global.GrblPanel.My.MySettings.Default.MachineSpclPosition1 + ' + 'gbSettingsJogging + ' + Me.gbSettingsJogging.Controls.Add(Me.cbSettingsKeyboardJogging) + Me.gbSettingsJogging.Controls.Add(Me.btnSettingsRefreshJogging) + Me.gbSettingsJogging.Controls.Add(Me.Label41) + Me.gbSettingsJogging.Controls.Add(Me.Label40) Me.gbSettingsJogging.Controls.Add(Me.Label39) Me.gbSettingsJogging.Controls.Add(Me.Label38) Me.gbSettingsJogging.Controls.Add(Me.tbSettingsZRepeat) @@ -2423,6 +2669,19 @@ Partial Class GrblGui Me.gbSettingsJogging.TabStop = False Me.gbSettingsJogging.Text = "Jogging" ' + 'cbSettingsKeyboardJogging + ' + Me.cbSettingsKeyboardJogging.AutoSize = True + Me.cbSettingsKeyboardJogging.Checked = Global.GrblPanel.My.MySettings.Default.JoggingUseKeyboard + Me.cbSettingsKeyboardJogging.DataBindings.Add(New System.Windows.Forms.Binding("Checked", Global.GrblPanel.My.MySettings.Default, "JoggingUseKeyboard", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.cbSettingsKeyboardJogging.Location = New System.Drawing.Point(6, 267) + Me.cbSettingsKeyboardJogging.Name = "cbSettingsKeyboardJogging" + Me.cbSettingsKeyboardJogging.Size = New System.Drawing.Size(140, 17) + Me.cbSettingsKeyboardJogging.TabIndex = 27 + Me.cbSettingsKeyboardJogging.Text = "Enable keyboard arrows" + Me.ToolTip1.SetToolTip(Me.cbSettingsKeyboardJogging, "Allow arrows, pg up, pg dn to do jogging") + Me.cbSettingsKeyboardJogging.UseVisualStyleBackColor = True + ' 'btnSettingsRefreshJogging ' Me.btnSettingsRefreshJogging.Location = New System.Drawing.Point(0, 301) @@ -2470,6 +2729,33 @@ Partial Class GrblGui Me.Label38.TabIndex = 23 Me.Label38.Text = "X Repeat Rate" ' + 'tbSettingsZRepeat + ' + Me.tbSettingsZRepeat.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "JoggingZRepeat", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.tbSettingsZRepeat.Location = New System.Drawing.Point(6, 241) + Me.tbSettingsZRepeat.Name = "tbSettingsZRepeat" + Me.tbSettingsZRepeat.Size = New System.Drawing.Size(45, 20) + Me.tbSettingsZRepeat.TabIndex = 22 + Me.tbSettingsZRepeat.Text = Global.GrblPanel.My.MySettings.Default.JoggingZRepeat + ' + 'tbSettingsYRepeat + ' + Me.tbSettingsYRepeat.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "JoggingYRepeat", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.tbSettingsYRepeat.Location = New System.Drawing.Point(6, 215) + Me.tbSettingsYRepeat.Name = "tbSettingsYRepeat" + Me.tbSettingsYRepeat.Size = New System.Drawing.Size(45, 20) + Me.tbSettingsYRepeat.TabIndex = 21 + Me.tbSettingsYRepeat.Text = Global.GrblPanel.My.MySettings.Default.JoggingYRepeat + ' + 'tbSettingsXRepeat + ' + Me.tbSettingsXRepeat.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "JoggingXRepeat", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) + Me.tbSettingsXRepeat.Location = New System.Drawing.Point(6, 189) + Me.tbSettingsXRepeat.Name = "tbSettingsXRepeat" + Me.tbSettingsXRepeat.Size = New System.Drawing.Size(45, 20) + Me.tbSettingsXRepeat.TabIndex = 20 + Me.tbSettingsXRepeat.Text = Global.GrblPanel.My.MySettings.Default.JoggingXRepeat + ' 'Label35 ' Me.Label35.AutoSize = True @@ -2499,275 +2785,6 @@ Partial Class GrblGui Me.Label32.TabIndex = 17 Me.Label32.Text = "Feed Rates" ' - 'Label33 - ' - Me.Label33.AutoSize = True - Me.Label33.Location = New System.Drawing.Point(129, 120) - Me.Label33.Name = "Label33" - Me.Label33.Size = New System.Drawing.Size(86, 13) - Me.Label33.TabIndex = 15 - Me.Label33.Text = "Feed Increments" - ' - 'Label31 - ' - Me.Label31.AutoSize = True - Me.Label31.Location = New System.Drawing.Point(129, 85) - Me.Label31.Name = "Label31" - Me.Label31.Size = New System.Drawing.Size(62, 13) - Me.Label31.TabIndex = 13 - Me.Label31.Text = "Feed Rates" - ' - 'Label30 - ' - Me.Label30.AutoSize = True - Me.Label30.Location = New System.Drawing.Point(129, 59) - Me.Label30.Name = "Label30" - Me.Label30.Size = New System.Drawing.Size(86, 13) - Me.Label30.TabIndex = 11 - Me.Label30.Text = "Feed Increments" - ' - 'ofdGcodeFile - ' - Me.ofdGcodeFile.DefaultExt = "ngc" - Me.ofdGcodeFile.FileName = "*.*" - Me.ofdGcodeFile.Filter = "All files (*.*)|*.*" - ' - 'sfdOffsets - ' - Me.sfdOffsets.DefaultExt = "xml" - Me.sfdOffsets.Filter = "WorkOffset Files|*.xml" - ' - 'ofdOffsets - ' - Me.ofdOffsets.DefaultExt = "xml" - Me.ofdOffsets.FileName = "OpenFileDialog1" - Me.ofdOffsets.Filter = "WorkOffset Files|*.xml" - ' - 'GrblSettingsBindingSource - ' - Me.GrblSettingsBindingSource.DataSource = GetType(GrblPanel.GrblGui.GrblSettings) - ' - 'Label6 - ' - Me.Label6.AutoSize = True - Me.Label6.Location = New System.Drawing.Point(70, 123) - Me.Label6.Name = "Label6" - Me.Label6.Size = New System.Drawing.Size(77, 13) - Me.Label6.TabIndex = 21 - Me.Label6.Text = "Default File ext" - ' - 'cbVerbose - ' - Me.cbVerbose.AutoSize = True - Me.cbVerbose.Checked = Global.GrblPanel.My.MySettings.Default.StatusVerbose - Me.cbVerbose.DataBindings.Add(New System.Windows.Forms.Binding("Checked", Global.GrblPanel.My.MySettings.Default, "statusVerbose", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.cbVerbose.Location = New System.Drawing.Point(87, 20) - Me.cbVerbose.Name = "cbVerbose" - Me.cbVerbose.Size = New System.Drawing.Size(65, 17) - Me.cbVerbose.TabIndex = 15 - Me.cbVerbose.Text = "Verbose" - Me.cbVerbose.UseVisualStyleBackColor = True - ' - 'tbSettingsGrblLastParam - ' - Me.tbSettingsGrblLastParam.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "GrblLastParamID", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.tbSettingsGrblLastParam.Location = New System.Drawing.Point(6, 552) - Me.tbSettingsGrblLastParam.Name = "tbSettingsGrblLastParam" - Me.tbSettingsGrblLastParam.Size = New System.Drawing.Size(45, 20) - Me.tbSettingsGrblLastParam.TabIndex = 6 - Me.tbSettingsGrblLastParam.Text = Global.GrblPanel.My.MySettings.Default.GrblLastParamID - Me.ToolTip1.SetToolTip(Me.tbSettingsGrblLastParam, "Change this to reflect the highest Grbl Parameter number") - ' - 'tbSettingsDefaultExt - ' - Me.tbSettingsDefaultExt.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "DefaultFileExt", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.tbSettingsDefaultExt.Location = New System.Drawing.Point(12, 120) - Me.tbSettingsDefaultExt.Name = "tbSettingsDefaultExt" - Me.tbSettingsDefaultExt.Size = New System.Drawing.Size(43, 20) - Me.tbSettingsDefaultExt.TabIndex = 22 - Me.tbSettingsDefaultExt.Text = Global.GrblPanel.My.MySettings.Default.DefaultFileExt - ' - 'tbSettingsStartupDelay - ' - Me.tbSettingsStartupDelay.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "StartupDelay", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.tbSettingsStartupDelay.Location = New System.Drawing.Point(12, 94) - Me.tbSettingsStartupDelay.Name = "tbSettingsStartupDelay" - Me.tbSettingsStartupDelay.Size = New System.Drawing.Size(44, 20) - Me.tbSettingsStartupDelay.TabIndex = 19 - Me.tbSettingsStartupDelay.Text = Global.GrblPanel.My.MySettings.Default.StartupDelay - ' - 'cbSettingsLeftHanded - ' - Me.cbSettingsLeftHanded.AutoSize = True - Me.cbSettingsLeftHanded.Checked = Global.GrblPanel.My.MySettings.Default.LeftHandedGUI - Me.cbSettingsLeftHanded.DataBindings.Add(New System.Windows.Forms.Binding("Checked", Global.GrblPanel.My.MySettings.Default, "LeftHandedGUI", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.cbSettingsLeftHanded.Location = New System.Drawing.Point(124, 187) - Me.cbSettingsLeftHanded.Name = "cbSettingsLeftHanded" - Me.cbSettingsLeftHanded.Size = New System.Drawing.Size(107, 17) - Me.cbSettingsLeftHanded.TabIndex = 18 - Me.cbSettingsLeftHanded.Text = "Left Handed GUI" - Me.cbSettingsLeftHanded.UseVisualStyleBackColor = True - ' - 'cbSettingsConnectOnLoad - ' - Me.cbSettingsConnectOnLoad.AutoSize = True - Me.cbSettingsConnectOnLoad.Checked = Global.GrblPanel.My.MySettings.Default.GrblConnectOnLoad - Me.cbSettingsConnectOnLoad.DataBindings.Add(New System.Windows.Forms.Binding("Checked", Global.GrblPanel.My.MySettings.Default, "GrblConnectOnLoad", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.cbSettingsConnectOnLoad.Location = New System.Drawing.Point(11, 169) - Me.cbSettingsConnectOnLoad.Name = "cbSettingsConnectOnLoad" - Me.cbSettingsConnectOnLoad.Size = New System.Drawing.Size(108, 17) - Me.cbSettingsConnectOnLoad.TabIndex = 12 - Me.cbSettingsConnectOnLoad.Text = "Connect on Load" - Me.ToolTip1.SetToolTip(Me.cbSettingsConnectOnLoad, "Connect automatically to last port") - Me.cbSettingsConnectOnLoad.UseVisualStyleBackColor = True - ' - 'cbSettingsPauseOnError - ' - Me.cbSettingsPauseOnError.AutoSize = True - Me.cbSettingsPauseOnError.Checked = Global.GrblPanel.My.MySettings.Default.GCodePauseOnError - Me.cbSettingsPauseOnError.CheckState = System.Windows.Forms.CheckState.Checked - Me.cbSettingsPauseOnError.DataBindings.Add(New System.Windows.Forms.Binding("Checked", Global.GrblPanel.My.MySettings.Default, "GCodePauseOnError", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.cbSettingsPauseOnError.Location = New System.Drawing.Point(11, 152) - Me.cbSettingsPauseOnError.Name = "cbSettingsPauseOnError" - Me.cbSettingsPauseOnError.Size = New System.Drawing.Size(96, 17) - Me.cbSettingsPauseOnError.TabIndex = 7 - Me.cbSettingsPauseOnError.Text = "Pause on Error" - Me.cbSettingsPauseOnError.UseVisualStyleBackColor = True - ' - 'cbStatusPollEnable - ' - Me.cbStatusPollEnable.AutoSize = True - Me.cbStatusPollEnable.Checked = Global.GrblPanel.My.MySettings.Default.StatusPollEnabled - Me.cbStatusPollEnable.CheckState = System.Windows.Forms.CheckState.Checked - Me.cbStatusPollEnable.DataBindings.Add(New System.Windows.Forms.Binding("Checked", Global.GrblPanel.My.MySettings.Default, "StatusPollEnabled", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.cbStatusPollEnable.Location = New System.Drawing.Point(10, 187) - Me.cbStatusPollEnable.Name = "cbStatusPollEnable" - Me.cbStatusPollEnable.Size = New System.Drawing.Size(76, 17) - Me.cbStatusPollEnable.TabIndex = 17 - Me.cbStatusPollEnable.Text = "Status Poll" - Me.cbStatusPollEnable.UseVisualStyleBackColor = True - ' - 'tbSettingsRBuffSize - ' - Me.tbSettingsRBuffSize.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "RBuffMaxSize", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.tbSettingsRBuffSize.Location = New System.Drawing.Point(12, 68) - Me.tbSettingsRBuffSize.Name = "tbSettingsRBuffSize" - Me.tbSettingsRBuffSize.Size = New System.Drawing.Size(43, 20) - Me.tbSettingsRBuffSize.TabIndex = 3 - Me.tbSettingsRBuffSize.Text = Global.GrblPanel.My.MySettings.Default.RBuffMaxSize - ' - 'tbSettingsQSize - ' - Me.tbSettingsQSize.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "QBuffMaxSize", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.tbSettingsQSize.Location = New System.Drawing.Point(12, 42) - Me.tbSettingsQSize.Name = "tbSettingsQSize" - Me.tbSettingsQSize.Size = New System.Drawing.Size(43, 20) - Me.tbSettingsQSize.TabIndex = 2 - Me.tbSettingsQSize.Text = Global.GrblPanel.My.MySettings.Default.QBuffMaxSize - ' - 'tbSettingsPollRate - ' - Me.tbSettingsPollRate.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "statusPollInterval", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.tbSettingsPollRate.Location = New System.Drawing.Point(12, 19) - Me.tbSettingsPollRate.Name = "tbSettingsPollRate" - Me.tbSettingsPollRate.Size = New System.Drawing.Size(43, 20) - Me.tbSettingsPollRate.TabIndex = 0 - Me.tbSettingsPollRate.Text = Global.GrblPanel.My.MySettings.Default.StatusPollInterval - ' - 'tbSettingsSpclPosition2 - ' - Me.tbSettingsSpclPosition2.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "MachineSpclPosition2", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.tbSettingsSpclPosition2.Location = New System.Drawing.Point(12, 44) - Me.tbSettingsSpclPosition2.Name = "tbSettingsSpclPosition2" - Me.tbSettingsSpclPosition2.Size = New System.Drawing.Size(117, 20) - Me.tbSettingsSpclPosition2.TabIndex = 11 - Me.tbSettingsSpclPosition2.Text = Global.GrblPanel.My.MySettings.Default.MachineSpclPosition2 - ' - 'tbWorkZ0Cmd - ' - Me.tbWorkZ0Cmd.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "WorkZ0Cmd", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.tbWorkZ0Cmd.Location = New System.Drawing.Point(12, 147) - Me.tbWorkZ0Cmd.Name = "tbWorkZ0Cmd" - Me.tbWorkZ0Cmd.Size = New System.Drawing.Size(117, 20) - Me.tbWorkZ0Cmd.TabIndex = 8 - Me.tbWorkZ0Cmd.Text = Global.GrblPanel.My.MySettings.Default.WorkZ0Cmd - ' - 'tbWorkY0Cmd - ' - Me.tbWorkY0Cmd.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "WorkY0Cmd", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.tbWorkY0Cmd.Location = New System.Drawing.Point(12, 121) - Me.tbWorkY0Cmd.Name = "tbWorkY0Cmd" - Me.tbWorkY0Cmd.Size = New System.Drawing.Size(117, 20) - Me.tbWorkY0Cmd.TabIndex = 6 - Me.tbWorkY0Cmd.Text = Global.GrblPanel.My.MySettings.Default.WorkY0Cmd - ' - 'tbWorkX0Cmd - ' - Me.tbWorkX0Cmd.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "WorkX0Cmd", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.tbWorkX0Cmd.Location = New System.Drawing.Point(12, 96) - Me.tbWorkX0Cmd.Name = "tbWorkX0Cmd" - Me.tbWorkX0Cmd.Size = New System.Drawing.Size(117, 20) - Me.tbWorkX0Cmd.TabIndex = 3 - Me.tbWorkX0Cmd.Text = Global.GrblPanel.My.MySettings.Default.WorkX0Cmd - ' - 'tbSettingsZeroXYZCmd - ' - Me.tbSettingsZeroXYZCmd.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "Work0Cmd", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.tbSettingsZeroXYZCmd.Location = New System.Drawing.Point(12, 70) - Me.tbSettingsZeroXYZCmd.Name = "tbSettingsZeroXYZCmd" - Me.tbSettingsZeroXYZCmd.Size = New System.Drawing.Size(117, 20) - Me.tbSettingsZeroXYZCmd.TabIndex = 2 - Me.tbSettingsZeroXYZCmd.Text = Global.GrblPanel.My.MySettings.Default.Work0Cmd - ' - 'tbSettingsSpclPosition1 - ' - Me.tbSettingsSpclPosition1.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "MachineSpclPosition1", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.tbSettingsSpclPosition1.Location = New System.Drawing.Point(12, 18) - Me.tbSettingsSpclPosition1.Name = "tbSettingsSpclPosition1" - Me.tbSettingsSpclPosition1.Size = New System.Drawing.Size(117, 20) - Me.tbSettingsSpclPosition1.TabIndex = 0 - Me.tbSettingsSpclPosition1.Text = Global.GrblPanel.My.MySettings.Default.MachineSpclPosition1 - ' - 'cbSettingsKeyboardJogging - ' - Me.cbSettingsKeyboardJogging.AutoSize = True - Me.cbSettingsKeyboardJogging.Checked = Global.GrblPanel.My.MySettings.Default.JoggingUseKeyboard - Me.cbSettingsKeyboardJogging.DataBindings.Add(New System.Windows.Forms.Binding("Checked", Global.GrblPanel.My.MySettings.Default, "JoggingUseKeyboard", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.cbSettingsKeyboardJogging.Location = New System.Drawing.Point(6, 267) - Me.cbSettingsKeyboardJogging.Name = "cbSettingsKeyboardJogging" - Me.cbSettingsKeyboardJogging.Size = New System.Drawing.Size(140, 17) - Me.cbSettingsKeyboardJogging.TabIndex = 27 - Me.cbSettingsKeyboardJogging.Text = "Enable keyboard arrows" - Me.ToolTip1.SetToolTip(Me.cbSettingsKeyboardJogging, "Allow arrows, pg up, pg dn to do jogging") - Me.cbSettingsKeyboardJogging.UseVisualStyleBackColor = True - ' - 'tbSettingsZRepeat - ' - Me.tbSettingsZRepeat.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "JoggingZRepeat", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.tbSettingsZRepeat.Location = New System.Drawing.Point(6, 241) - Me.tbSettingsZRepeat.Name = "tbSettingsZRepeat" - Me.tbSettingsZRepeat.Size = New System.Drawing.Size(45, 20) - Me.tbSettingsZRepeat.TabIndex = 22 - Me.tbSettingsZRepeat.Text = Global.GrblPanel.My.MySettings.Default.JoggingZRepeat - ' - 'tbSettingsYRepeat - ' - Me.tbSettingsYRepeat.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "JoggingYRepeat", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.tbSettingsYRepeat.Location = New System.Drawing.Point(6, 215) - Me.tbSettingsYRepeat.Name = "tbSettingsYRepeat" - Me.tbSettingsYRepeat.Size = New System.Drawing.Size(45, 20) - Me.tbSettingsYRepeat.TabIndex = 21 - Me.tbSettingsYRepeat.Text = Global.GrblPanel.My.MySettings.Default.JoggingYRepeat - ' - 'tbSettingsXRepeat - ' - Me.tbSettingsXRepeat.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "JoggingXRepeat", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - Me.tbSettingsXRepeat.Location = New System.Drawing.Point(6, 189) - Me.tbSettingsXRepeat.Name = "tbSettingsXRepeat" - Me.tbSettingsXRepeat.Size = New System.Drawing.Size(45, 20) - Me.tbSettingsXRepeat.TabIndex = 20 - Me.tbSettingsXRepeat.Text = Global.GrblPanel.My.MySettings.Default.JoggingXRepeat - ' 'tbSettingsFRMetric ' Me.tbSettingsFRMetric.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "JoggingFRMetric", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) @@ -2777,6 +2794,15 @@ Partial Class GrblGui Me.tbSettingsFRMetric.TabIndex = 16 Me.tbSettingsFRMetric.Text = Global.GrblPanel.My.MySettings.Default.JoggingFRMetric ' + 'Label33 + ' + Me.Label33.AutoSize = True + Me.Label33.Location = New System.Drawing.Point(129, 120) + Me.Label33.Name = "Label33" + Me.Label33.Size = New System.Drawing.Size(86, 13) + Me.Label33.TabIndex = 15 + Me.Label33.Text = "Feed Increments" + ' 'tbSettingsFIMetric ' Me.tbSettingsFIMetric.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "JoggingFIMEtric", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) @@ -2786,6 +2812,15 @@ Partial Class GrblGui Me.tbSettingsFIMetric.TabIndex = 14 Me.tbSettingsFIMetric.Text = Global.GrblPanel.My.MySettings.Default.JoggingFIMEtric ' + 'Label31 + ' + Me.Label31.AutoSize = True + Me.Label31.Location = New System.Drawing.Point(129, 85) + Me.Label31.Name = "Label31" + Me.Label31.Size = New System.Drawing.Size(62, 13) + Me.Label31.TabIndex = 13 + Me.Label31.Text = "Feed Rates" + ' 'tbSettingsFRImperial ' Me.tbSettingsFRImperial.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.GrblPanel.My.MySettings.Default, "JoggingFRImperial", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) @@ -2795,6 +2830,15 @@ Partial Class GrblGui Me.tbSettingsFRImperial.TabIndex = 12 Me.tbSettingsFRImperial.Text = Global.GrblPanel.My.MySettings.Default.JoggingFRImperial ' + 'Label30 + ' + Me.Label30.AutoSize = True + Me.Label30.Location = New System.Drawing.Point(129, 59) + Me.Label30.Name = "Label30" + Me.Label30.Size = New System.Drawing.Size(86, 13) + Me.Label30.TabIndex = 11 + Me.Label30.Text = "Feed Increments" + ' 'cbSettingsMetric ' Me.cbSettingsMetric.AutoSize = True @@ -2816,6 +2860,23 @@ Partial Class GrblGui Me.tbSettingsFIImperial.TabIndex = 10 Me.tbSettingsFIImperial.Text = Global.GrblPanel.My.MySettings.Default.JoggingFIImperial ' + 'ofdGcodeFile + ' + Me.ofdGcodeFile.DefaultExt = "ngc" + Me.ofdGcodeFile.FileName = "*.*" + Me.ofdGcodeFile.Filter = "All files (*.*)|*.*" + ' + 'sfdOffsets + ' + Me.sfdOffsets.DefaultExt = "xml" + Me.sfdOffsets.Filter = "WorkOffset Files|*.xml" + ' + 'ofdOffsets + ' + Me.ofdOffsets.DefaultExt = "xml" + Me.ofdOffsets.FileName = "OpenFileDialog1" + Me.ofdOffsets.Filter = "WorkOffset Files|*.xml" + ' 'GrblGui ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -2854,6 +2915,10 @@ Partial Class GrblGui Me.gbGcode.ResumeLayout(False) Me.gbGcode.PerformLayout() Me.gbGrbl.ResumeLayout(False) + Me.tcConnection.ResumeLayout(False) + Me.tbGrblCOM.ResumeLayout(False) + Me.tbGrblIP.ResumeLayout(False) + Me.tbGrblIP.PerformLayout() Me.gbPosition.ResumeLayout(False) Me.tabCtlPosition.ResumeLayout(False) Me.tpWork.ResumeLayout(False) @@ -3123,6 +3188,11 @@ Partial Class GrblGui Friend WithEvents tbSettingsStartupDelay As System.Windows.Forms.TextBox Friend WithEvents tbSettingsDefaultExt As System.Windows.Forms.TextBox Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents tcConnection As System.Windows.Forms.TabControl + Friend WithEvents tbGrblCOM As System.Windows.Forms.TabPage + Friend WithEvents tbGrblIP As System.Windows.Forms.TabPage + Friend WithEvents btnIPConnect As System.Windows.Forms.Button + Friend WithEvents tbIPAddress As System.Windows.Forms.TextBox End Class diff --git a/Grbl-Panel/grblgui.resx b/Grbl-Panel/grblgui.resx index 459cca4..81f0408 100644 --- a/Grbl-Panel/grblgui.resx +++ b/Grbl-Panel/grblgui.resx @@ -137,6 +137,9 @@ pt8v2DdsDxWa3I61cYqDg4PDMuBy/QBTm19yV5itLgAAAABJRU5ErkJggg== + + 526, 15 + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAEBJREFUSEtj