Giter VIP home page Giter VIP logo

grbl-panel's Introduction

Grbl-Panel

A control panel for Grbl

grbl-panel's People

Contributors

bernardg avatar electrokean avatar gerritv avatar joebananas10 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

grbl-panel's Issues

Feature Request - MDI

For the MDI command text box, I think the following features would be useful.

  • After you click send, the text box is cleared
  • While in the text box, up and down arrows scroll through the history

GRBL Panel questions

@gerritv , I have been working on my version of a GRBL interface, which you have seen on the grbl github pages. I have it running very well, and did a comparison of cycle time between mine and GRBL Panel. I consistently get slightly higher cycle times with my program vs GRBL-Panel and Universal G-code sender. The latter two are very close in cycle time. I am trying to figure it out and had a few questions for you since you seem pretty knowledgable in programming respects.

1 - is GRBL-Panel using a simple send/read response streaming protocol, or is it using a buffer fillinf character counting scheme as described in the grbl WIKI? Mine is just using a simple:
send....wait for "ok"...send....wait for "ok"...send.... type protocol. I'm hoping you will tell me that you used character counting and that is why mine is slower, because that is something I can fix later.

2 - If the answer to 1 is that you are using the simple send/read response protocol, then I have something else going on. As you may recall, I am using Visual Basic 2005 because I'm targeting a windows 98 machine. Do you think that there would be a difference in speed of the resulting program using VB2005 vs VS2013?

3 - What operations are your performing on the g-code lines before sending? For example, are you parsing every line? Checking for g-code errors? etc...

I have my parser set up to do the following:

a: Read every line and separate into individual "words" (single letter followed by numbers)
b; Sort and save the "words" into a string array for later use by things like canned cycles subroutine.
This string array has a certain value for each array index. (ie: index 0 is for Motion group codes (G0, G1, G2....)
c: Check the array index value for motion codes to see if the sent line is GRBL supported, and if so, put the line back together and send it to GRBL (the sent line is without spaces or comments).
d: if the Array index value for motion modes is one supported by my GUI, then act on it. If not, then send a message to the user that an command not supported by GRBL or the GUI was found.

Thanks in advance,

John Brannen

Feature Request - custom command buttons

I'd like to see a couple buttons that are linked to custom gcode. They would work just like Go To Spcl Posn1 and Posn2 buttons. For example, I have a command that I use all the time for my touch plate: G20 G38.2 Z-2 F0.118
It would be nice if in addition to storing the command, the user could also name the button, so you'd have two text fields, one for the button name, one for the Gcode

Macro Miss-behaving.

So I use this G-Code in a macro.
G90
G21
$H
M00
G92 Z0
G01 Z-20 F1000
F500
G38.2 Z-60
G92 Z0
G01 Z5
F50
G38.2 Z-7
G92 Z6.6
G01 Z30 F1500
G53 X-708 Y-1463.7 F4000
G92 X0 Y0

On the last line, the G92 dont set my X0 Y0.

On my very next move I receive a error Invalid gcode ID:24

If I load the G-Code as a file, it works great.

What do you think that could be.

Error reported on 1.0.9.0

Just downloaded the new version 1.0.9.0
When trying to Jog get the following error

************** Exception Text **************
System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: value
at System.Windows.Forms.DataGridView.set_FirstDisplayedScrollingRowIndex(Int32 value)
at GrblPanel.GrblGui.GrblGcodeView.UpdateGCodeStatus(String stat, Int32 index)
at GrblPanel.GrblGui.processLineEvent(String data)
at GrblPanel.GrblIF.raiseAppSerialDataEvent(String data)
at GrblPanel.GrblIF.VB$StateMachine_40__client_ComReadData.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.b__6_0(Object state)

went back to 1.0.8.0 all working ok

Mega2560 not communicating

I am not able to get the Mega2560 to communicate to the Grbl-Panel.

It is working for Arduino Serial Console, UGS & Putty. So I know that serial communication from the controller is working.

Do you have any suggestions?

Settings value not being updated

Hi,

I am using CNC xPRO V2 driver
windows 10
first time user.
New Setting parameter value are not being updated.
I am going to into filed changing value in settings.
e.g. changing $132 from 200 to 80.
The edit mode pencil image comes up.
I go to different field so that value is changed automatically on the driver board.
Connect , disconnect , the settings parameter value remains default to 200

Some new features.. inch position display and g code single step

Hi,

I added a checkbox to set the 3 axis position displays to inches or mm. Code change just divides the positions by 25.4 before setting the numerical text boxes for position display.. I'm an old 'inches' guy.. I thought there might be a user setting to set this, but I could not find it.. My grbl is working in inches but the display was always mm..

I also added another command button to the open/ run/ pause/ stop group box. The new button is "single step". I was trying out a new g-code generator, and needed to see where things were going bad.. Single stepping thru the g code helped this process. Again, not a rocket science addition, but helped me out.

I'm new to this 'community software' effort.. willing to work on problems/ feature ads/ share my code if anyone is interested.. just do not know how or what are 'the accepted methods/ process for doing so'.. Love the mixture of software/ making things work..

Thanks again for making a nice program..

Version 1.0.5.0 reports as 1.0.3.0

I've been testing the new build (1.0.5.0) and love the improvements you've made.

Thank you!

Just so you know, Help, About and file details still report the exe as version 1.0.3.0

homing cycle, zero xyz problem

I'm relatively new to the CNC world and finished assembling my c-beam machine last week. I got it working fine by following the 2 hour tutorial and was able to successfully cutout a couple of items I designed in Sketchup.

The problems started when I installed my limit switches and tried to do a home cycle. The initial tutorial said that the software considers the front, left corner as the zero xyz point. When I enabled homing, it runs all motors in their positive direction which lands the router in the back right corner with the router up as high as it can go. When I tried to run those same files again, the alarm went off immediately as the machine hit its X limit immediately. Apparently the machine didn't get the memo that our new homing direction was the opposite corner. Any ideas on how to fix this?

Position Display is blank

I am working on a small 2 axis project and of all the programs I have tried I like Grbl-Panel the best.
Just having 1 problem, the position display is blank.
Any idea on what could be the problem?

Andre

Q: alarm when sending manual probe command

I'm sending a manual probe command "G38.2 Z-50 F10" and sometimes the system returns a
"ALARM: Hard/Soft limit"
but I am not on any limit. i can still move in both plus and minus Z. See attached image,
capture
Sometimes this manual probe command works with no problem and other times it does not. I can't figure out what causes the difference. How can I find out which limit it's alarming on?

Please advise.

grbl-panel does not connect to ramps1.4

I found I needed to add a sleep(1000) between the set dtr and clear dtr which is used to reset the arduino.

This cleared my hang on connect. The arduino needs time to completely reset before any commands are issued to it..

Nice program.. using it to control my Shapeoko 2

Thanks

"Load a file" locks files

After I load a file I can no longer regenerate it in my CAM. Grbl-panel keeps the file open instead of loading the file into RAM then closing it. I have to keep giving the file a different name each time I regenerate.

Grbl-Panel will not find any com ports win 10

I have been using grbl-Panel on my win 8.1 machine for a long time and very pleased but I purchased a new win 10 computer and now it cannot find any com ports?

Grbl controller and Shapeoko software both work without problems but I don't want to use that software.

I want Grbl-Panel to work again.

Any suggestions.

Joe L.

Exception if Status Report Mask <> 15

GrblPanel relies on having work, machine, parser queue size and receive buf info in the response to Status Poll.

Protect code in case this is not so.

Ignore async characters in gcode

Autodesk decided that GRBL needs a % at the top of the file (they probably were testing with UGS or another horribly buggy sender). This causes grbl-panel to stop; it won't resume. Could you detect and ignore async commands?

Sorry to flood you with reports suddenly. Even with these issues this is a really nice tool. I got tired of dealing with UGS lockups.

Grbl Setting empty

The Grbl Settings are empty and when trying to "Get Grbl Settings" i get the following error message.

Unhandled exception has occurred in your application. If you click Continiue ....
Column "ID' is constrained to be unique. Value '$0'is already present. ---- remark :The '$#'changes to different values.

The details Window reveals:
===============================================================================See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Data.ConstraintException: Column 'ID' is constrained to be unique. Value '$0' is already present.
at System.Data.UniqueConstraint.CheckConstraint(DataRow row, DataRowAction action)
at System.Data.DataTable.RaiseRowChanging(DataRowChangeEventArgs args, DataRow eRow, DataRowAction eAction, Boolean fireEvent)
at System.Data.DataTable.SetNewRecordWorker(DataRow row, Int32 proposedRecord, DataRowAction action, Boolean isInMerge, Int32 position, Boolean fireEvent, Exception& deferredException)
at System.Data.DataTable.InsertRow(DataRow row, Int64 proposedID, Int32 pos, Boolean fireEvent)
at System.Data.DataRowCollection.Add(Object[] values)
at GrblPanel.GrblGui.GrblSettings.FillSettings(String data) in C:\Users\gerrit\Documents\My Projects\GrblPanel-0.1.0.6\Grbl-Panel\GrblSettings.vb:line 69
at GrblPanel.GrblGui.showGrblStatus(String data) in C:\Users\gerrit\Documents\My Projects\GrblPanel-0.1.0.6\Grbl-Panel\GrblStatus.vb:line 206

************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8670 (QFE.050727-8600)

CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll

GrblPanel
Assembly Version: 1.0.3.0
Win32 Version: 1.0.3.0

CodeBase: file:///C:/Users/locke/Documents/C-Beam%20Machine/CBeam%20Machine%20Control%20Software/GRBL%20Panel/GrblPanel-Release-1.0.3.0/GrblPanel.exe

Microsoft.VisualBasic
Assembly Version: 8.0.0.0
Win32 Version: 8.0.50727.8670 (QFE.050727-8600)

CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll

System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8670 (QFE.050727-8600)

CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll

System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8670 (QFE.050727-8600)

CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8670 (QFE.050727-8600)

CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Runtime.Remoting
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8670 (QFE.050727-8600)

CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll

System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8670 (QFE.050727-8600)

CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8670 (QFE.050727-8600)

CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll

RepeatButton
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0

CodeBase: file:///C:/Users/locke/Documents/C-Beam%20Machine/CBeam%20Machine%20Control%20Software/GRBL%20Panel/GrblPanel-Release-1.0.3.0/RepeatButton.DLL

Accessibility
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8670 (QFE.050727-8600)

CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll

System.Core
Assembly Version: 3.5.0.0
Win32 Version: 3.5.30729.8693 built by: QFE

CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll

System.Data
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8677 (QFE.050727-8600)

CodeBase: file:///C:/WINDOWS/assembly/GAC_64/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer

rather than be handled by this dialog box.

I had value showing up when I started the program the first time.
Then I clicked something and then the settings disappeared and I got this error.

I have rebooted/-run ccleaner/ cleared cashe and deleted and copied the files back into place.
...so far no luck

Any Ideas what I should do to get it running?

Thanks for the nice program and helping.
Best regards
Jurgen

V1.0.9.0a send gcode have a time delay

Thank you! Read 1M line less than 3 seconds, very fast.
I sent Roy Rogers Metric.nc this gcode,
Use V1.0.7.0 send 100 line 2 seconds,
Use V1.0.9.0a send 100 line 8 seconds,

Sorry, my English is not good.

When using the keyboard to move the cutter head, as soon as i click on something else the keyboard movement stops working.

First, I think this is the best sender that I have used. It has great possibilities but the keyboard stops working for controlling the machine. I need to use a pendant because the computer is to far away to move then check then move then check. I can use the program Xpadder to set keyboard calls to buttons on a USB gaming pad. This allows me to stand in front of my machine and set Zero's, change rates. But the keyboard calls seem to lose focus when I move into another part of the program.

All of this can be done on UGS, but I prefer this program.

More Feedback

Thanks for writing this. It is by far the best Grbl controller I've tried - simple, but powerful.

Here is some feedback after first use:

  1. I downloaded what should be the latest version (https://github.com/gerritv/Grbl-Panel/releases/download/v1.0.1.0/GrblPanel-Release-1.0.1.0.zip), but Help, About and the properties for the exe still say 1.0.0.0.
  2. It would be great to have the option to configure how many decimal places the position display reads and have it round to that. I'm running a Shapeoko 2 with Nema 23 motors. The fourth decimal place when in inches just means I have to constantly translate in my mind what the position is (e.g., "0.9997" = "1.000"). I'll never be able to use that level of precision.
  3. I may have missed it, but keyboard shortcuts would be nice for elements that allow keyboard entry (e.g., Alt-M activates the cursor in Manual Command).
  4. A configurable file extension filter when opening g-code files would be helpful.
  5. After you load and run a g-code file, it's gone. I'd like to be able to rerun or reload it with a button.

As I said, great work. I'm not a developer, but I'd be happy to help test.

Thanks

Jogging Metric mode

Hi!
First off: What a great concept! I will be following this closly!

While jogging the machine manually and metric box checked, the distances traveled does corelate with chosen distance. Each step gives me 5 mm (.01=0.5mm, 1=5mm and so on.)

Error connecting to XCarve (Arduino Uno, Gshield, Grbl 0.9j)

I am eager to try Grbl-Panel but cannot get the arduino for my xcarve to connect. Tried disabling the polling and cranking up the startup delay, as suggested in previous issues. After rescan the com port usually comes back with some wonky character following the port number. Tried both the scanned string and just typing COM3 to no avail. Any ideas? No trouble connecting with UGCS, but would like better control over the machine.
image

Even more feedback

I've been using Grbl-Panel quite a bit over the last couple of weeks, and it's been great.

Here are a couple of suggestions that would be very helpful based on my experience.

  1. The ability to reload and resend a gcode file with a single click. This has already been mentioned, but I find myself doing this a lot. It's important to reread the file to capture any changes made between runs.
  2. Command history - I think you already are working on that, but it would be very useful.
  3. The ability to send a gcode file line-by-line like stepping through code. This has become less important since I discovered I can use M0 set break points.

I'm looking forward to the next version. Let me know if there's anything you need tested.

Thanks!

About test V1.0.9.2

<1> I tested V1.0.9.2 send gcode no problem, but sent gcode time becomes very long.
I sent Roy Rogers Metric.nc this gcode normally about 5 hours 52 minutes, V1.0.9.2 more than 10 hours.

<2> If I change the fram vertical size, send gcode speed will be very different.
see vedio >> https://youtu.be/teW8dO3vfsM

Machine Position feedback not working

Hi Gerrit. I'm not getting any feedback on machine position. The program homes perfectly and I can move the Lathes tool tip to precise coordinates. It doesn't show me position like with your screenshots? And thus I cant save G54 positions correctly

Homing cycle button missing.

Testing out version 1.0.6 it seems the homing button is missing at least on mine.

I can still call $H from the command line.

Thanks for the Great work @gerritv

Crash on ',' instead of '.'

Hello,
first of all : welcome to the creators of interfaces and congratulations for the work already done.

I use Vista (French) with ',' instead '.'
This always causes a crash !
I can not change my PC, because I have too many application running in French.
Are you considering internationalization?

Best regards

Joystick

how would be possible to implement a joystick to move the cnc machine using grbl?
is there any tutorial in how to achive that?

Ports scanning issue [solved]

I've the Arduino connected on COM4 and I can't connect on the first time when program start cause of wrong port name.
In fact the dropdown menu doesn't show COM4 but COM4 with another strange random character like COM4漢 so I can't connect cause it says that the port doesn't exist.
I've to rescan several times before i can get only COM4 showing and at least each rescan the random character change. I've tried to launch the program with amministrator right too but unsuccessful.
It's my issue or others in my situation?

Typing in values for work offset

I know one may issue an gcode command to set the work offset to a value (as opposed to just zero). I've been using probing to find the edges of my stock or vise depending on which I used in my CAM program. I am using a feeler gauge with a wire attached to it and an alligator clip attached to the tool in the spindle. I'd like to just be able to type in the value for an axis once the probe is done. ie. if I am using a 1mm feeler gauge for setting z I'd like to be able to set the z axis to 1. Right now I have to set it to 0 via the gui, move the x and y away from the part, move down 1mm and then reset to 0. As an example, I know mach3 does this.

Exe?

I downloaded the latest Zip file, but it's just the source code. How can I get the compiled exe?

Thanks

Create custom settings file provider

GrblPanel uses vb.net, which saves Settings in specific locations. User.config is the file used to save your modified settings. This is stored in a directory based on user name, and application signature. As such it is a) not easy to find, b) the application signature changes for each release. The end result is that your custom settings 'disappear'.

The solution is to write a custom SettingsPRovider class. I will do this but not sure about the timeline. In meantime you will have to copy the user.config file from the previous directory to new one. :-(

On Win10 this directory is c:/users//AppData/GrblPanel

first feedback

Yay, looking good - i'll give it a whirl tonight.

my 5ct from first looks:

  • love the offsets tab!
  • jogging and feed-radios don't keep their setting and i get an infinite "you have to select them" loop
  • is there a "home" button somewhere?
  • connect/port settings can be moved from front-panel to settings panel - "connect on load" does the job for me - bring a dialog to front only when there's no port/no grbl
  • what screen size is it designed for? scaling the app only works vertically.
  • does it remember window position (+size)
  • the jogging is very sensitive (with a mouse) - it's hard to move just 1 unit. will test repeat rates @ real hardware
  • what's the idea behind "special positions"? tool changing position etc

Q: control sub panel

What is the point of the control sub-panel. None of the buttons seem to perform any function. I can't find anything in the documentation about the sub-panel either.

Wierd layout issue

I built this using Visual Studio Community 2013 with .net 4.5.1. It looks like this:

image

additional feedback

My laptop has a 1440x900 screen and cannot properly display the app. I suspect this is due to the issues you list earlier with horizontal stretch, etc. Anyway, it makes using the app difficult as the control box overlays and obscures the gcode box; the mdi box overlays the grbl box, both overlay the position box. Also when not maximized, there is no scroll bar, but when maximized, there is. Very odd.

Overall, a very nice start. I particularly like the setting tab. Other minor nits are already covered by yours and others comments and feedback.

Looking forward to the next release.

Error reported on 1.0.9.1

Gerritv I am sorry to report I am getting the following error when I connect the comm port

************** Exception Text **************
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at GrblPanel.GrblGui.showGrblPositions(String data)
at GrblPanel.GrblIF.raiseAppSerialDataEvent(String data)
at GrblPanel.GrblIF.VB$StateMachine_40__client_ComReadData.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.b__6_0(Object state)

Port Scanning Problem

I've read a couple of the issues about the port scanning problem under Windows 10. The fix, for some, has been to run under Windows 7 compatibility mode but that doesn't seem to solve the problem for everyone.

In my case I just noticed that I always had extra characters after the comport name like in other examples of this issue, e.g. COM4漢. My solution doesn't address the problem directly but just finds a work around. I replaced the code of the rescan() function in GrblIIF from this,

Public Function rescan() As String()
    ' scan for com ports again
    Return IO.Ports.SerialPort.GetPortNames
End Function    

to this,

Public Function rescan() As String()
    ' scan for com ports again
    Dim aTemp() As String

    aTemp = IO.Ports.SerialPort.GetPortNames
    For iCounter As Integer = 0 To UBound(aTemp)
        aTemp(iCounter) = "COM" & Val(Right(aTemp(iCounter), Len(aTemp(iCounter)) - 3))
    Next
    Return aTemp
End Function

What it does is, instead of just reading the port names that are returned by the GetPortNames() function it takes the list and rebuilds it without the extraneous characters. I recreated the name of the comport by taking the portion after the word COM and converting it to a number. The VAL() function converts the numbers it finds to a number and throws the extra characters away. Then I concatenate the word COM back into the name. This fills the list and when I try to connect to my comport it calls the correct port's name.

I realize it doesn't address the problem of why the comport names are coming in wrong in the first place but it does work.

I hope that's helpful to anyone.

Enable horizontal stretch

Presently the display doesn't stretch horizontally. This was done when I added LH or RH view. Just setting the Anchor property on the group boxes doesn't work for both cases.

Default screen size is 1159x768 for now

Low priority.

Minor bug in UpdateGCodeStatus routine when datagrid is empty

Tested out the 1.0.9a code tonight and kept running into unhandled exception errors when the datagrid was empty.

For example. Open the program, connect to comport, press Unlock and then Home. After Home command finishes, change the cbxStateOffset from Metric to Inches. boom, unhandled exception. Quit/close program and restart. Connect, unlock, home, click G55 offset set button. boom unhandled exception.

Running code in the debugger while connected to cnc machine revealed error was thrown right before the _dgview.Refresh() at the end of the UpdateGCodeStatus routine. Specifically, it was thrown on the IF statement in the last ELSE.

If (_dgview.FirstDisplayedScrollingRowIndex + _dgview.DisplayedRowCount(True) <= index) Then
    _dgview.FirstDisplayedScrollingRowIndex = index - _dgview.DisplayedRowCount(True) + 1
End If

I've corrected this by changing it to this,

If (_dgview.FirstDisplayedScrollingRowIndex + _dgview.DisplayedRowCount(True) <= index) And index <> 1 Then
    _dgview.FirstDisplayedScrollingRowIndex = index - _dgview.DisplayedRowCount(True) + 1
End If

Can anyone else test this and respond?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.